From 3aa8de19705206b68281cf86448e26cd9381bd2e Mon Sep 17 00:00:00 2001 From: WardPearce Date: Fri, 20 Sep 2024 04:04:47 +1200 Subject: [PATCH] Android now generates valid poTokens --- .../src/lib/patches/poTokenAndroid.ts | 63 +- .../static/po-token-youtube/inject.js | 19020 ++++++++++++++++ materialious/vite.config.ts | 3 + 3 files changed, 19077 insertions(+), 9 deletions(-) create mode 100644 materialious/static/po-token-youtube/inject.js diff --git a/materialious/src/lib/patches/poTokenAndroid.ts b/materialious/src/lib/patches/poTokenAndroid.ts index 5b318a84..cf7eafb7 100644 --- a/materialious/src/lib/patches/poTokenAndroid.ts +++ b/materialious/src/lib/patches/poTokenAndroid.ts @@ -6,12 +6,50 @@ export interface PoTokens { po_token: string; } +const headers = { + 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', + 'accept-language': 'en-US;q=0.9', + 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko)', +}; + +// Inspired by https://github.com/YunzheZJU/youtube-po-token-generator & https://github.com/YunzheZJU/youtube-po-token-generator export async function getPoToken(): Promise { + let visitorData: string; + return new Promise((resolve, reject) => { const messageListener = async (data: any) => { - await InAppBrowser.removeAllListeners(); - await InAppBrowser.close(); - resolve(data); + + if (!data.po_token) { + visitorData = data.visitor_data; + const injectPlayer = await fetch('/po-token-youtube/inject.js'); + + await InAppBrowser.executeScript({ + code: (await minify(` +window.onPoToken = (poToken) => { + window.mobileApp.postMessage({po_token: poToken}); +} + +ytcfg.set({ + 'INNERTUBE_CONTEXT': { + ...ytcfg.get('INNERTUBE_CONTEXT'), + client: { + ...ytcfg.get('INNERTUBE_CONTEXT').client, + visitorData: "${visitorData}", + }, + }, + 'VISITOR_DATA': "${visitorData}", + 'IDENTITY_MEMENTO': { + 'visitor_data': "${visitorData}", + }, +}) + +${await injectPlayer.text()}`)).code as string + }); + } else if (visitorData && data.po_token) { + await InAppBrowser.removeAllListeners(); + await InAppBrowser.close(); + resolve({ visitor_data: visitorData, po_token: data.po_token }); + } }; const closeListener = async () => { @@ -19,10 +57,12 @@ export async function getPoToken(): Promise { }; const urlChangeListener = async () => { - // Code must be minified to ensure runs correctly. await InAppBrowser.executeScript({ - code: (await minify(`const originalOpen = XMLHttpRequest.prototype.open; + code: (await minify(`const headers = {"accept": "${headers.accept}", "accept-language": "${headers['accept-language']}", "user-agent": "${headers['user-agent']}"}; +Object.defineProperty(window.navigator, 'userAgent', { value: headers["user-agent"], writable: false }); + +const originalOpen = XMLHttpRequest.prototype.open; const originalSend = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.open = function (method, url) { @@ -33,10 +73,14 @@ XMLHttpRequest.prototype.open = function (method, url) { XMLHttpRequest.prototype.send = function (body) { const xhr = this; if (this._url.includes("/youtubei/v1/player")) { + for (const [key, value] of Object.entries(headers)) { + this.setRequestHeader(key, value); + } + this.addEventListener("load", function () { try { const postJson = JSON.parse(body); - window.mobileApp.postMessage({visitor_data: postJson.context.client.visitorData, po_token: postJson.serviceIntegrityDimensions.poToken}); + window.mobileApp.postMessage({visitor_data: postJson.context.client.visitorData}); } catch (error) { console.error("Error parsing request body:", error); } @@ -67,11 +111,12 @@ attemptClickPlayButton(); setTimeout(() => { reject(new Error('Timeout trying to pull Po tokens')); InAppBrowser.removeAllListeners(); - }, 10000); + }, 20000); InAppBrowser.openWebView({ - url: 'https://www.youtube.com/embed/4UdEFmxRmNE', - title: 'Pulling po tokens' + url: 'https://www.youtube.com/embed/jNQXAC9IVRw', + title: 'Pulling po tokens', + headers: headers }); }); } diff --git a/materialious/static/po-token-youtube/inject.js b/materialious/static/po-token-youtube/inject.js new file mode 100644 index 00000000..34bb7955 --- /dev/null +++ b/materialious/static/po-token-youtube/inject.js @@ -0,0 +1,19020 @@ +var _yt_player = {}; (function (g) { + var window = this; + 'use strict'; var aa, baa, caa, ka, daa, ma, eaa, na, ra, sa, ta, gaa, haa, Aa, Ba, iaa, jaa, Da, kaa, Ea, Fa, Ha, laa, Ia, Ma, Na, naa, oaa, Za, paa, $a, bb, eb, ib, jb, qaa, nb, raa, qb, sb, ub, Bb, Cb, Db, Eb, zaa, Aaa, Fb, Hb, Gb, Baa, Caa, Daa, Eaa, Faa, Jb, Haa, Iaa, Vb, Jaa, Zb, Kaa, Laa, Xb, Maa, Naa, Oaa, ec, Paa, fc, gc, ic, Qaa, jc, Raa, Taa, Vaa, mc, oc, Yaa, pc, sc, Zaa, $aa, Ac, aba, Ic, Kc, dba, eba, Mc, jba, Sc, gba, iba, Pc, Oc, Wc, Xc, kba, Yc, lba, $c, ad, mba, bd, dd, ed, gd, jd, od, pd, sd, ud, yba, wba, xba, Aba, Bba, xd, yd, zd, Eba, Ad, Fba, Gba, Hba, Jba, Iba, Fd, Hd, Kba, Ld, Nd, Od, Lba, Nba, Mba, Oba, Pba, + Sd, Td, Vd, Wd, Qba, Rba, Sba, Tba, Zd, $d, ee, Wba, Yba, Xba, fe, he, Zba, ge, oe, Yd, aca, $ba, te, se, Xd, ve, bca, we, xe, Ae, cca, eca, gca, Ge, He, Ie, kca, mca, Ke, nca, Je, rca, Ee, ica, tca, qca, oca, pca, uca, sca, Le, lca, Oe, wca, xca, yca, zca, Aca, Bca, Cca, Dca, Eca, Fca, Gca, Hca, Ica, Jca, Kca, Lca, Re, Mca, Qca, Rca, Sca, Xca, Ve, Wca, Tca, Zca, ada, cda, Xe, eda, Ze, $e, bf, af, cf, df, ef, ff, gf, gda, jf, kf, lf, mf, of, pf, ida, tf, xf, jda, yf, kda, lda, zf, wf, Af, Cf, pda, Df, qda, Ef, Ff, sda, Gf, Hf, If, vda, Lf, wda, xda, yda, uda, Kf, tda, Jf, Ada, Bda, Cda, Dda, Eda, Mf, Nf, Of, Fda, Ida, Gda, Qf, Jda, Hda, + Wf, Yf, Zf, Mda, Lda, Nda, Oda, $f, Pda, Qda, bg, dg, Sda, fg, Tda, eg, ig, hg, jg, ng, Zda, Xda, Yda, pg, $da, aea, rg, cea, sg, tg, dea, xg, yg, zg, ug, wg, vg, Cg, Wda, Dg, eea, gea, Eg, Fg, Gg, og, qg, Hg, hea, Ig, Jg, Kg, Lg, Mg, Ng, Rg, Sg, Tg, Ug, iea, Vg, jea, Wg, Xg, Zg, Yg, $g, ah, bh, ch, dh, kea, mea, fh, nea, oea, gh, hh, kh, qea, rea, lh, vea, yea, sea, xea, wea, uea, tea, zea, mh, Aea, ph, Cea, Eea, Fea, Hea, qh, Iea, rh, Jea, sh, Kea, th, wh, Lea, xh, yh, Nea, zh, Dh, Qea, Eh, Sea, Tea, Pea, Uea, Gh, Yea, Zea, $ea, Hh, bfa, cfa, Ah, afa, dfa, Xea, Kh, Lh, Mh, Nh, Oh, Ph, ffa, gfa, Qh, hfa, Rh, ifa, Sh, Th, Uh, Wh, jfa, lfa, + mfa, ofa, nfa, pfa, Zh, $h, ai, rfa, sfa, tfa, ci, di, ei, fi, ii, ji, ki, ufa, li, wfa, oi, xfa, pi, qi, ri, yfa, zfa, ui, Bfa, ti, si, Afa, Cfa, Dfa, wi, Efa, vi, xi, yi, zi, Ai, Ffa, Gfa, Bi, Hfa, Di, Ifa, Lfa, Ei, Ii, Ji, Ki, Oi, Nfa, Pi, Qi, Ri, Ofa, Pfa, Ui, Qfa, Vi, Wi, Tfa, Vfa, Xfa, Wfa, Yfa, Yi, Zfa, aj, ej, gj, hj, ij, jj, kj, fj, lj, mj, nj, pj, qj, dga, rj, sj, tj, ega, fga, gga, hga, uj, vj, wj, xj, jga, zj, mga, pga, qga, Aj, rga, kga, Bj, nga, sga, oga, tga, Cj, vga, wga, xga, yga, zga, Ej, Aga, Bga, Cga, Dga, Gga, Ega, Fj, Gj, Hj, Ij, Jj, Kj, Lj, Mj, Iga, Oj, Hga, Pj, Jga, Kga, Lga, Mga, Qj, Rj, Nga, Sj, Tj, Oga, Uj, Vj, + Wj, Xj, Yj, Sga, Pga, bk, Rga, ck, Qga, ak, Zj, ek, Uga, gk, fk, lk, mk, ok, Xga, nk, rk, Yga, sk, Vga, aha, bha, cha, vk, wk, xk, dha, Dk, Ek, Fk, Gk, eha, Hk, Ik, Jk, fha, gha, Kk, hha, yj, kha, lha, mha, nha, iha, Lk, Mk, Nk, Ok, pha, Qk, Pk, qha, rha, sha, Uk, tha, Xk, Yk, uha, Zk, wha, $k, vha, xha, yha, al, bl, cl, dl, el, fl, gl, zha, hl, il, jl, Aha, Cha, Dha, ll, nl, ml, pl, ql, rl, Fha, Gha, sl, tl, ul, Iha, Jha, Mha, Kha, Nha, Rha, vl, Qha, Oha, wl, xl, Sha, yl, Tha, zl, Vha, Uha, Wha, Xha, Dl, El, Yha, Zha, $ha, Fl, Gl, aia, Hl, bia, cia, eia, iia, Il, jia, kia, lia, mia, nia, Ll, oia, pia, qia, Sl, Rl, Ql, ria, sia, tia, Tl, + Ul, Vl, via, $l, cm, dm, wia, em, yia, zia, Aia, fm, hm, im, nm, om, rm, Cia, Eia, Dia, Fia, Gia, Cm, Hia, Iia, Dm, Jia, Kia, Lia, Mia, Hm, Fm, Im, Jm, Km, Nia, Oia, Pia, Lm, Mm, Nm, Qia, Ria, Sia, Om, Tia, Pm, Qm, Uia, Via, Wia, Xia, Yia, Zia, Rm, Sm, Tm, Vm, bja, Wm, Xm, cja, aja, Um, dja, Ym, Zm, $m, bn, an, eja, fja, gja, cn, ija, dn, kja, lja, mja, nja, oja, pja, qja, rja, gn, hn, jn, tja, sja, uja, vja, ln, wja, mn, xja, yja, nn, on, pn, zja, qn, rn, Aja, sn, tn, un, vn, wn, xn, yn, zn, Bja, Cja, Dja, Eja, An, Fja, Hja, Gja, Cn, Dn, Jja, Ija, Mja, Pja, Oja, En, Qja, Rja, Sja, Uja, Tja, Vja, Fn, Wja, Xja, Hn, Yja, Zja, $ja, aka, + In, bka, Jn, cka, Kn, Ln, eka, Mn, fka, Nn, On, gka, hka, Xn, Zn, jka, $n, ika, kka, lka, mka, oka, ao, pka, eo, fo, rka, ska, vka, wka, go, ho, io, jo, ko, lo, mo, no, oo, po, qo, ro, so, Aka, zka, Bka, Dka, Cka, Fka, yka, Eka, xka, to, uo, Hka, Ika, Jka, yo, zo, Ao, vo, Lka, Bo, Gka, Nka, Oka, Mka, Co, Do, Eo, Fo, Pka, Kka, Qka, Go, Rka, Ska, Tka, Uka, Vka, Yka, Zka, $ka, ala, bla, fla, hla, jla, kla, mla, lla, ola, qla, rla, Yo, sla, Xo, $o, tla, ap, cp, dp, ula, vla, wla, kp, xla, yla, tp, zla, Bla, up, Cla, Dla, Jla, Fla, xp, yp, zp, Bp, Cp, Ola, Dp, Ep, Fp, Qla, Ip, Rla, Sla, Jp, Ula, Lp, Mp, Np, Op, Vla, Pp, Rp, Sp, Tp, Up, Wla, + Wp, Xp, Yp, Zp, $p, aq, Xla, Yla, Zla, $la, ama, bma, bq, cma, iq, dma, ema, fma, jq, lq, sq, tq, wq, xq, yq, hma, Bq, Cq, Dq, ima, jma, Eq, kma, lma, Gq, tma, uma, vma, Hq, wma, xma, Ama, Jq, Cma, Bma, Lq, Dma, Ema, Nq, Oq, Fma, Pq, Qq, Rq, Sq, Tq, Uq, Vq, Wq, Xq, Yq, Zq, $q, ar, br, cr, dr, er, fr, gr, hr, ir, jr, kr, Gma, Hma, Ima, or, qr, Jma, ur, vr, wr, xr, yr, Br, Nma, Cr, Dr, Er, Pma, Oma, Kma, Hr, Gr, Tma, Ir, Rr, Or, Sr, Tr, Vma, Yma, Vr, Zma, $ma, bna, gna, cna, ena, fna, Xr, Wr, hna, Zr, $r, as, ina, gs, jna, hs, kna, js, lna, ls, ms, ns, os, ps, nna, ts, vs, ws, xs, ys, zs, As, Bs, Cs, Ds, pna, Es, Hs, Gs, rna, vna, tna, una, wna, + xna, zna, Ana, yna, Cna, Ks, Ls, Os, Dna, Ena, Ns, Ps, Gna, Hna, Lna, Kna, Ts, Us, Vs, Ws, Xs, Zs, Nna, Ona, Pna, ft, gt, Qna, Rna, Sna, mt, nt, ot, Tna, Una, Wna, Yna, tt, Zna, wt, ut, At, Bt, Dt, $na, Kt, Lt, Mt, Nt, Pt, Qt, St, eoa, foa, Ut, goa, hoa, Wt, ioa, joa, Xt, Yt, koa, loa, noa, bu, poa, qoa, $t, roa, soa, uoa, toa, fu, ooa, woa, xoa, lu, ju, yoa, zoa, mu, nu, Aoa, Boa, qu, Coa, Doa, Eoa, Foa, wu, Goa, Hoa, Ioa, Joa, Koa, Loa, Moa, Noa, yu, Ooa, Au, Qoa, Roa, Soa, Toa, Uoa, Bu, Hu, Woa, Zoa, Iu, $oa, bpa, Voa, cpa, dpa, epa, Xoa, Yoa, Cu, Du, Gu, apa, Fu, Eu, fpa, gpa, hpa, ipa, jpa, kpa, ppa, lpa, Pu, Tu, Vu, spa, vpa, + upa, Uu, Yu, wpa, av, xpa, zpa, fv, ypa, Ipa, Apa, Hpa, jv, Jpa, Mpa, kv, iv, Kpa, Lpa, Npa, mv, Ppa, Qpa, Rpa, Spa, Tpa, Upa, Vpa, Opa, Xpa, Ypa, Zpa, $pa, aqa, cqa, qv, dqa, rv, tv, uv, eqa, fqa, xv, yv, hqa, gqa, zv, iqa, kqa, mqa, lqa, nqa, qqa, oqa, Mv, Lv, rqa, Kv, Nv, Ov, Pv, sqa, tqa, Rv, vqa, Uv, Tv, Wv, Xv, Yv, wqa, Zv, aw, xqa, cw, ew, fw, yqa, zqa, Aqa, gw, iw, Bqa, jw, kw, lw, Dqa, mw, Eqa, ow, rw, qw, pw, tw, uw, Hqa, Nqa, Pqa, Mqa, Lqa, Oqa, xw, Aw, Rqa, Qqa, Fw, Gw, Gqa, $qa, Mw, Zqa, cra, Yqa, ww, Nw, Ew, Kw, ara, Cw, Jqa, Iqa, Kqa, zw, Xqa, Rw, kra, jra, Sw, mra, nra, ora, Uw, pra, qra, rra, tra, ura, Xw, wra, Yw, xra, + yra, Ara, Bra, $w, Cra, Era, ax, Fra, bx, cx, dx, Gt, Ora, Lra, Sra, kx, Ura, Xra, mx, Zra, $ra, asa, csa, bsa, dsa, vx, tpa, tx, wx, ux, nx, Ex, Dx, Hx, Ix, Kx, fsa, Lx, Ox, Px, gsa, hsa, Sx, jsa, ksa, lsa, msa, nsa, osa, psa, qsa, rsa, ssa, Wx, tsa, Xx, Zx, usa, vsa, wsa, $x, xsa, ysa, ey, fy, gy, zsa, hy, Asa, jy, Csa, Bsa, ly, my, ny, oy, Dsa, py, qy, Esa, Fsa, ry, sy, Jsa, Gsa, Isa, Hsa, ty, uy, vy, Ksa, Lsa, Msa, wy, Osa, Rsa, Qsa, yy, zy, Ay, By, Cy, Ey, Fy, Gy, Hy, Iy, Jy, Ssa, Tsa, Usa, Vsa, Ky, Ly, My, Ny, Py, Ry, Xsa, Wsa, Ty, Ysa, Uy, Vy, Wy, Xy, Yy, az, bz, cz, dz, $sa, ez, fz, gz, ata, iz, kz, bta, lz, dta, eta, fta, hta, jta, + rz, kta, tz, sz, mta, nta, ota, wz, xz, qta, zz, Qz, Rz, Sz, sta, Tz, Uz, Vz, tta, Wz, rta, Xz, Yz, vta, uta, Zz, $z, aA, bA, dA, xta, yta, fA, gA, iA, jA, zta, hA, Cta, Dta, Eta, Fta, Gta, Hta, Ita, lA, kA, Bta, Lta, mA, Nta, Ota, rA, Pta, oA, pA, Qta, sA, Sta, Uta, tA, uA, Vta, vA, Xta, wA, cua, aua, Yta, $ta, Zta, yA, zA, AA, BA, CA, DA, EA, GA, eua, hua, iua, kua, KA, MA, LA, NA, lua, nua, mua, oua, sua, uua, tua, vua, wua, xua, OA, zua, yua, PA, QA, RA, Aua, SA, TA, UA, Cua, Dua, VA, Bua, WA, Gua, XA, YA, ZA, $A, aB, bB, cB, dB, eB, fB, gB, hB, iB, jB, kB, lB, mB, nB, oB, pB, qB, rB, sB, tB, uB, vB, wB, xB, yB, zB, AB, BB, CB, DB, EB, FB, + GB, HB, IB, JB, KB, LB, MB, NB, OB, PB, QB, RB, SB, TB, UB, VB, WB, XB, YB, ZB, $B, aC, bC, cC, dC, eC, fC, gC, hC, iC, jC, kC, lC, mC, oC, pC, Iua, qC, rC, sC, nC, tC, uC, vC, Kua, xC, Mua, wC, Nua, zC, Oua, BC, yC, CC, DC, EC, GC, Qua, Rua, Sua, Tua, PC, QC, LC, RC, Vua, Wua, Xua, Yua, Pua, Zua, FC, $ua, ava, TC, YC, UC, IC, bva, HC, SC, VC, ZC, dva, JC, KC, XC, WC, eva, $C, aD, bD, cD, fva, dD, eD, fD, gD, hD, hva, iva, kva, lva, jD, kD, lD, mD, qva, sva, uva, vva, oD, xva, yva, uD, zva, vD, wD, xD, yD, zD, AD, Ava, Cva, Bva, Dva, Eva, ED, FD, HD, ID, JD, KD, LD, Fva, MD, ND, GD, QD, RD, SD, TD, Gva, PD, Iva, UD, Jva, Kva, VD, Lva, WD, XD, Mva, + Nva, YD, Ova, Pva, ZD, Qva, Rva, Sva, Tva, Uva, $D, Vva, Wva, aE, bE, cE, Xva, dE, eE, Yva, fE, gE, Zva, hE, $va, iE, awa, bwa, jE, kE, cwa, dwa, ewa, fwa, lE, gwa, hwa, iwa, mE, jwa, nE, kwa, oE, lwa, pE, mwa, tE, nwa, uE, vE, owa, wE, pwa, xE, yE, qwa, rwa, BE, CE, twa, DE, uwa, vwa, swa, wwa, xwa, EE, FE, GE, HE, Awa, IE, JE, LE, Bwa, ME, NE, PE, SE, QE, WE, XE, Cwa, YE, ZE, $E, aF, Dwa, cF, dF, eF, Ewa, fF, gF, hF, UE, iF, jF, kF, Fwa, lF, mF, nF, Gwa, oF, pF, qF, rF, sF, uF, vF, wF, xF, Hwa, Iwa, Jwa, Kwa, CF, yF, DF, EF, Lwa, Mwa, Nwa, FF, GF, HF, Owa, Pwa, AF, Qwa, Rwa, IF, Swa, JF, KF, MF, NF, OF, PF, QF, SF, TF, VF, WF, XF, YF, UF, + Vwa, Wwa, $F, aG, bG, Xwa, dG, Zwa, eG, fG, gG, hG, jG, $wa, iG, kG, lG, mG, axa, pG, cxa, dxa, qG, rG, exa, fxa, gxa, sG, ixa, cG, hxa, jxa, uG, tG, kxa, vG, lxa, wG, mxa, nxa, oxa, pxa, qxa, xG, sxa, rxa, yG, BG, CG, DG, txa, uxa, vxa, wxa, xxa, EG, yxa, FG, Axa, HG, IG, Cxa, Bxa, Dxa, Exa, Fxa, KG, LG, MG, Gxa, Hxa, Ixa, Jxa, Kxa, Lxa, Mxa, Nxa, Oxa, Pxa, bH, eH, Qxa, Rxa, fH, gH, Sxa, hH, iH, kH, Txa, lH, mH, nH, Uxa, oH, Vxa, pH, Wxa, qH, Xxa, Yxa, rH, Zxa, $xa, aya, sH, tH, uH, vH, wH, bya, xH, yH, zH, cya, AH, BH, dya, eya, fya, CH, gya, DH, EH, FH, GH, jva, hya, iya, jya, kya, lya, HH, IH, JH, KH, LH, MH, NH, OH, PH, QH, RH, mya, + nya, YH, ZH, oya, $H, eI, qya, uya, zya, vya, Bya, Cya, Aya, Dya, Eya, Fya, pI, Iya, Kya, Mya, Nya, Oya, sI, Qya, Rya, Vya, tI, Wya, Sya, uI, vI, Xya, $ya, Zya, dza, aza, wI, xI, iza, AI, mza, lza, kza, qza, pza, rza, sza, vza, tza, uza, jza, wza, xza, BI, oza, yza, CI, nza, FI, GI, Aza, Dza, Bza, Gza, Oza, Nza, Hza, Pza, Jza, Kza, Iza, Tza, Vza, Xza, Zza, bAa, cAa, eAa, fAa, hAa, gAa, mAa, jAa, iAa, nAa, qAa, rAa, sAa, tAa, SI, Jya, wAa, uAa, VI, xAa, zAa, YI, CAa, DAa, BAa, ZI, EAa, $I, aJ, BD, bJ, Hya, dJ, eJ, fJ, FAa, GAa, gJ, HAa, IAa, JAa, hJ, iJ, jJ, kJ, lJ, mJ, nJ, oJ, pJ, KAa, LAa, qJ, MAa, rJ, AG, sJ, tJ, NAa, uJ, OAa, + PAa, Lya, AAa, QAa, vJ, CD, iD, EI, RAa, SAa, xJ, hza, yI, TAa, TI, UI, JI, II, HI, LI, $za, dAa, KI, eza, oAa, UAa, Qza, Lza, yJ, yAa, rI, WAa, VAa, zza, aAa, XAa, pAa, PI, fza, gza, Yya, Yza, Wza, Fza, Cza, Uya, Tya, Pya, Sza, Mza, kAa, bza, cza, NI, OI, MI, lAa, Uza, ZAa, YAa, zJ, AJ, BJ, CJ, DJ, EJ, KJ, LJ, aBa, OJ, RJ, bBa, dBa, cBa, eBa, fBa, gBa, hBa, iBa, jBa, TJ, VJ, lBa, WJ, XJ, YJ, ZJ, mBa, nBa, $J, aK, bK, oBa, pBa, cK, eK, iK, jK, kK, lK, mK, nK, oK, pK, qK, rK, sK, tK, uK, qBa, rBa, vK, wK, xK, yK, zK, AK, sBa, tBa, BK, FK, wBa, xBa, GK, IK, yBa, zBa, ABa, JK, KK, LK, MK, NK, OK, PK, EBa, RK, QK, FBa, CBa, DBa, GBa, SK, TK, + HBa, IBa, UK, JBa, Ft, LBa, KBa, NBa, OBa, QBa, RBa, PBa, SBa, VBa, aL, bL, WBa, XBa, YBa, ZBa, cL, dL, $Ba, aCa, bCa, cCa, fCa, hCa, iCa, gCa, hL, jL, iL, jCa, fL, kCa, lCa, mCa, gL, qCa, rCa, sCa, pCa, oCa, nCa, tCa, uCa, dCa, vCa, wCa, eCa, xCa, BCa, yCa, zCa, ACa, ECa, CCa, DCa, FCa, lL, HCa, GCa, KCa, ICa, LCa, JCa, MCa, NCa, OCa, PCa, QCa, RCa, SCa, TCa, UCa, VCa, WCa, XCa, mL, ZCa, $Ca, aDa, YCa, bDa, cDa, fDa, oL, qL, sL, uL, gDa, vL, wL, xL, kDa, mDa, lDa, oDa, wDa, FL, zL, nDa, jDa, iDa, hDa, EL, AL, DL, KL, LL, zDa, ML, NL, JL, DDa, ADa, BDa, EDa, OL, PL, GDa, RL, SL, TL, UL, VL, WL, XL, HDa, IDa, YL, ZL, aM, KDa, LDa, + $L, bM, ODa, PDa, cM, QDa, fM, RDa, gM, iM, SDa, hM, jM, TDa, lM, VDa, WDa, nM, oM, tM, YDa, qM, uM, wM, ZDa, yM, sM, vM, $Da, zM, aEa, AM, bEa, pM, rM, XDa, xM, BM, cEa, dEa, CM, eEa, DM, fEa, EM, FM, HM, GM, IM, JM, gEa, hEa, KM, LM, MM, NM, iEa, OM, PM, jEa, kEa, QM, RM, SM, lEa, TM, mEa, nEa, oEa, UM, pEa, qEa, rEa, sEa, tEa, VM, WM, XM, YM, uEa, vEa, $M, wEa, aN, bN, xEa, yEa, cN, zEa, AEa, kHa, IHa, OFa, fHa, gHa, eN, fN, gN, hN, JHa, KHa, iN, jN, LHa, kN, lN, NHa, MHa, nN, mN, OHa, PHa, QHa, RHa, oN, SHa, qN, rN, THa, VHa, WHa, tN, xN, $Ha, uDa, BL, aIa, bIa, cIa, dIa, eIa, fIa, yL, uN, gIa, hIa, AN, BN, kIa, lIa, mIa, CN, qIa, nIa, + oIa, sIa, tIa, DN, uIa, rIa, vIa, EN, FN, GN, wIa, xIa, yIa, HN, zIa, IN, AIa, JN, yN, CIa, DIa, BIa, GIa, ON, IIa, vDa, pDa, PN, QN, SN, TN, UN, VN, WN, RN, ZN, KIa, bO, LIa, MIa, NIa, OIa, PIa, cO, QIa, dO, SIa, eO, UIa, VIa, TIa, RIa, WIa, XIa, YIa, jO, ZIa, $Ia, bJa, kO, yDa, mO, cJa, eJa, GL, fJa, gJa, hJa, CL, qDa, sDa, tDa, oO, pO, qO, iJa, jJa, rO, kJa, sO, tO, lJa, uO, vO, mJa, nJa, wO, xO, yO, zO, AO, BO, CO, pJa, oJa, DO, qJa, rJa, tJa, EO, uJa, sJa, WO, UO, XO, ZO, $O, vJa, CJa, NC, VO, cP, GJa, gP, IJa, KO, hP, JO, iP, TO, lP, NJa, mP, nP, OJa, PJa, oP, QJa, RJa, SJa, TJa, pP, UJa, ZJa, YJa, VJa, XJa, WJa, qP, $Ja, rP, aKa, + bKa, dKa, eKa, fKa, kKa, wP, xP, nKa, yP, zP, oKa, rKa, sKa, tKa, uKa, AP, vKa, xKa, yKa, MP, HKa, CKa, DKa, JKa, NP, KKa, MKa, LKa, NKa, PP, SP, OKa, OP, TP, UP, PKa, SKa, QKa, VKa, ZP, lQ, qQ, uQ, tQ, rLa, gLa, cQ, vQ, iQ, wQ, eLa, tLa, sLa, xQ, YP, hQ, vLa, wLa, xLa, zLa, uLa, zQ, yLa, ALa, BLa, CQ, DQ, DLa, XP, eQ, AQ, jLa, RKa, nLa, JQ, fQ, QQ, rQ, SQ, TQ, UQ, PLa, sQ, QLa, WQ, RLa, SLa, gQ, XQ, fLa, ZQ, ILa, dQ, ZKa, TLa, XKa, WKa, TKa, $Q, VLa, dMa, cMa, fMa, gMa, eR, gR, hR, fR, jR, kR, hMa, lR, jMa, mR, lMa, pR, kMa, rR, sR, pMa, tR, sMa, tMa, wR, uMa, wMa, IR, fS, gS, xMa, iS, jS, mS, nS, oS, pS, yMa, qS, rS, CMa, sS, tS, DMa, + EMa, uS, FMa, GMa, HMa, IMa, vS, wS, JMa, LMa, zS, AS, DS, ES, MMa, FS, GS, HS, NMa, OMa, IS, PMa, JS, RMa, QMa, SMa, KS, UMa, TMa, LS, VMa, MS, NS, WMa, YMa, ZMa, $Ma, aNa, OS, PS, QS, RS, SS, TS, cNa, dNa, eNa, bNa, US, iNa, gNa, hNa, VS, WS, jNa, kNa, lNa, XS, mNa, nNa, YS, ZS, oNa, pNa, bT, $S, aT, qNa, cT, rNa, sNa, gT, uNa, tNa, jT, wNa, xNa, vNa, yNa, kT, lT, mT, zNa, nT, ANa, BNa, qT, CNa, DNa, rT, uT, sT, ENa, vT, wT, xT, zT, AT, GNa, yT, CT, DT, FT, HNa, GT, HT, IT, INa, LNa, KNa, KT, LT, MT, ONa, MNa, NNa, NT, PNa, TNa, RNa, QNa, SNa, OT, VNa, WNa, PT, $Na, YNa, ZNa, QT, bOa, XNa, cOa, RT, ST, dOa, eOa, fOa, TT, gOa, hOa, iOa, + jOa, kOa, lOa, mOa, pOa, nOa, qOa, rOa, sOa, tOa, vOa, wOa, dU, eU, xOa, cU, iU, jU, kU, lU, nU, gU, hU, mU, AOa, BOa, oU, HOa, DOa, EOa, IOa, JOa, GOa, COa, pU, LOa, KOa, MOa, SOa, sU, VOa, YOa, XOa, WOa, QOa, ROa, NOa, OOa, TOa, tU, uU, $Oa, BR, mMa, aPa, wU, bPa, dPa, cPa, UOa, fPa, gPa, hPa, yU, iPa, FU, kPa, lPa, mPa, oPa, nPa, pPa, GU, HU, qPa, tPa, uPa, JU, sPa, vPa, wPa, rPa, KU, NU, xPa, yPa, MU, zPa, APa, BPa, CPa, EPa, DPa, HPa, IPa, FPa, KPa, LPa, GPa, QU, RU, MPa, OPa, SU, NPa, PPa, RPa, QPa, SPa, TU, TPa, UPa, VPa, UU, VU, XPa, WPa, YPa, ZPa, aQa, $Pa, bQa, cQa, dQa, eQa, fQa, hQa, XU, WU, YU, iQa, jQa, gQa, oQa, + pQa, qQa, tQa, sQa, rQa, uQa, vQa, ZU, $U, wQa, xQa, yQa, zQa, BQa, CQa, aV, cV, AQa, DQa, EQa, FQa, GQa, HQa, eV, IQa, JQa, MQa, fV, NQa, LQa, gV, hV, OQa, PQa, RQa, TQa, QQa, SQa, jV, UQa, WQa, XQa, ZQa, $Qa, kV, lV, aRa, VQa, dRa, cRa, bRa, mV, nV, fRa, eRa, oV, pV, gRa, hRa, qV, iRa, jRa, kRa, rV, lRa, sV, mRa, tV, nRa, qRa, rRa, sRa, uRa, vRa, wRa, tRa, yRa, xRa, zRa, CRa, wV, ERa, DRa, ARa, BRa, FRa, GRa, xV, yV, HRa, IRa, JRa, KRa, LRa, MRa, ORa, PRa, XRa, SRa, TRa, QRa, ZRa, EV, $Ra, dSa, HV, eSa, aSa, DV, KV, JV, FV, LV, hSa, jSa, iSa, MV, GV, CV, gSa, IV, bSa, fSa, lSa, zV, NV, mSa, nSa, cSa, OV, PV, oSa, QV, RV, SV, pSa, + qSa, sSa, tSa, rSa, TV, uSa, UV, VV, WV, vSa, wSa, xSa, ySa, zSa, BSa, DSa, CSa, ASa, XV, ESa, GSa, FSa, YV, ZV, HSa, JSa, KSa, $V, ISa, LSa, MSa, aW, NSa, bW, eW, dW, PSa, OSa, QSa, fW, gW, RSa, SSa, USa, TSa, VSa, WSa, XSa, iW, YSa, ZSa, $Sa, aTa, bTa, cTa, eTa, fTa, gTa, dTa, hTa, iTa, jTa, kTa, lTa, mW, mTa, nW, pTa, oW, rTa, pW, qTa, tTa, uTa, sTa, qW, vTa, wTa, xTa, yTa, sW, zTa, ATa, BTa, HTa, MTa, KTa, DTa, vW, JTa, CTa, LTa, OTa, PTa, NTa, xW, RTa, STa, TTa, VTa, WTa, UTa, XTa, BT, CW, DW, EW, YTa, GW, $Ta, aUa, bUa, HW, cUa, dUa, eUa, fUa, gUa, hUa, ZTa, iUa, IW, jUa, oUa, pUa, qUa, KW, rUa, MW, NW, sUa, OW, tUa, LW, + uUa, vUa, CUa, SW, UW, EUa, GUa, FUa, wUa, VW, IUa, JUa, LUa, WW, XW, MUa, DUa, YW, OUa, NUa, ZW, AUa, QW, PUa, QUa, RUa, SUa, TUa, xUa, zUa, RW, WUa, XUa, ZUa, YUa, aX, cX, dX, bVa, cVa, $W, dVa, $Ua, aVa, UUa, eVa, fVa, gVa, nVa, oVa, iVa, eX, bX, VUa, hVa, qVa, uVa, iX, vVa, wVa, sVa, kX, xVa, yVa, pVa, zVa, tVa, AVa, lX, jX, BVa, DVa, CVa, hX, FVa, oX, GVa, mX, pX, nX, qX, HVa, IVa, LVa, KVa, NVa, OVa, MVa, tX, sX, QVa, RVa, SVa, TVa, UVa, WVa, VVa, XVa, vX, wX, YVa, ZVa, cWa, $Va, dWa, eWa, aWa, bWa, fWa, gWa, hWa, xX, iWa, kWa, mWa, pWa, nWa, oWa, DX, HX, rWa, IX, sWa, tWa, uWa, JX, wWa, xWa, yWa, vWa, BWa, CWa, DWa, KX, + LX, EWa, FWa, GWa, BKa, GKa, HWa, JWa, IWa, KWa, NX, OX, LWa, MWa, QX, RX, PX, NWa, OWa, PWa, RWa, VWa, aXa, eXa, VX, fXa, zX, hXa, iXa, jXa, kXa, lXa, mXa, nXa, XX, oXa, YX, pXa, ZX, rXa, sXa, $X, tXa, uXa, vXa, wXa, xXa, yXa, zXa, AXa, BXa, CXa, DXa, FXa, aY, HXa, GXa, LXa, cY, EXa, bY, dY, eY, fY, gY, hY, iY, MXa, jY, NXa, OXa, TXa, WXa, XXa, YXa, ZXa, nY, oY, VXa, SXa, $Xa, lY, PXa, bYa, kY, mY, QXa, RXa, pY, cYa, dYa, UXa, aYa, eYa, gYa, fYa, qY, lYa, jYa, kYa, hYa, mYa, rY, iYa, sY, tY, nYa, oYa, pYa, uY, rYa, sYa, vY, tYa, wY, uYa, vYa, wYa, xYa, zYa, AYa, JXa, HYa, DYa, yYa, JYa, KYa, EYa, FYa, CYa, GYa, yY, BYa, IYa, QYa, + OYa, NYa, MYa, LYa, zY, RYa, yX, AY, BY, CY, SYa, TYa, UYa, DY, VYa, FX, WYa, EY, BX, CX, jWa, GY, IY, $Ya, aZa, KY, HY, FY, LY, YYa, XYa, ZYa, MY, bZa, cZa, KXa, AX, NY, dZa, JY, eZa, fZa, gZa, hZa, OY, iZa, jZa, kZa, lZa, zWa, AWa, PY, mZa, nZa, oZa, pZa, QY, sZa, qZa, tZa, vZa, rZa, wZa, yZa, xZa, AZa, TY, WY, BZa, EZa, DZa, IZa, GZa, JZa, KZa, FZa, HZa, CZa, LZa, MZa, NZa, XY, OZa, qXa, PZa, QZa, RZa, YY, SZa, ZY, TZa, $Y, aZ, UZa, XZa, VZa, WZa, YZa, ZZa, $Za, a_a, b_a, c_a, cZ, j_a, i_a, hZ, k_a, h_a, n_a, iZ, o_a, p_a, q_a, t_a, r_a, v_a, w_a, x_a, y_a, z_a, B_a, C_a, D_a, A_a, kZ, bZ, F_a, u_a, G_a, s_a, lZ, I_a, E_a, jZ, + J_a, K_a, N_a, Q_a, O_a, P_a, R_a, L_a, M_a, V_a, T_a, W_a, U_a, X_a, Y_a, S_a, Z_a, $_a, mZ, a0a, b0a, c0a, d0a, g0a, f0a, e0a, nZ, h0a, j0a, k0a, l0a, m0a, rZ, sZ, IXa, n0a, o0a, r0a, q0a, p0a, s0a, u0a, v0a, t0a, tZ, x0a, y0a, z0a, F0a, C0a, D0a, E0a, G0a, I0a, PYa, oZ, B0a, A0a, H0a, EX, xY, SY, L0a, K0a, M0a, N0a, O0a, P0a, i0a, VY, UY, Q0a, S0a, R0a, T0a, uZa, U0a, J0a, zZa, vZ, wZ, W0a, xZ, X0a, Y0a, Z0a, $0a, a1a, b1a, d1a, c1a, f1a, g1a, k1a, h1a, j1a, l1a, zZ, p1a, n1a, o1a, s1a, t1a, u1a, v1a, w1a, yZ, x1a, r1a, m1a, AZ, y1a, i1a, z1a, BZ, B1a, C1a, D1a, A1a, CZ, G1a, F1a, J1a, I1a, H1a, K1a, L1a, DZ, M1a, N1a, T1a, + Q1a, R1a, S1a, U1a, V1a, W1a, Y1a, X1a, Z1a, $1a, a2a, c2a, e2a, d2a, f2a, b2a, g2a, i2a, k2a, h2a, l2a, m2a, o2a, n2a, p2a, j2a, HZ, q2a, r2a, s2a, u2a, w2a, x2a, z2a, B2a, LZ, D2a, E2a, F2a, G2a, H2a, J2a, I2a, M2a, jVa, MZ, fX, K2a, L2a, N2a, PZ, P2a, O2a, Q2a, R2a, S2a, V2a, T2a, Y2a, QZ, U2a, Z2a, RZ, c3a, TZ, UZ, d3a, SZ, e3a, VZ, h3a, g3a, a3a, b3a, i3a, j3a, k3a, $2a, l3a, WZ, m3a, f3a, C2a, OZ, o3a, gX, p3a, lVa, kVa, q3a, r3a, s3a, t3a, u3a, v3a, YZ, mVa, w3a, y3a, z3a, A3a, x3a, B3a, C3a, ZZ, D3a, E3a, F3a, G3a, $Z, Uwa, H3a, I3a, J3a, b_, M3a, N3a, c_, P3a, Q3a, O3a, L3a, d_, a_, K3a, g_, f_, R3a, h_, e_, V3a, Y3a, + $3a, a4a, c4a, T3a, Z3a, d4a, U3a, e4a, f4a, m_, i_, h4a, g4a, k_, j4a, k4a, X3a, W3a, i4a, l4a, b4a, S3a, n_, r4a, o4a, s4a, p4a, n4a, t4a, m4a, w4a, o_, x4a, z4a, BF, B4a, D4a, E4a, F4a, s_, G4a, yUa, J4a, t_, FZ, K4a, M4a, H4a, zW, l_, N4a, O4a, y_, H_a, C4a, x_, p_, R4a, S4a, U4a, T4a, V4a, L4a, v_, W4a, BW, X4a, ITa, Z4a, Y4a, w0a, EZ, A_, QTa, $4a, HUa, a5a, JNa, u_, b5a, FTa, c5a, GTa, d5a, f5a, Q4a, A4a, h5a, g5a, w_, q_, i5a, B_, wW, k5a, l5a, TW, O1a, m5a, n5a, o5a, ETa, z_, qZ, P1a, I4a, p5a, V0a, j_, y5a, u5a, A5a, s5a, B5a, r5a, D_, AW, G5a, C5a, E5a, D5a, I5a, G_, H_, L5a, K5a, J5a, J_, x5a, N_, N5a, M_, I_, P5a, + S5a, T5a, v5a, Q5a, Q_, U5a, w5a, M5a, K_, V5a, F_, W5a, X5a, Y5a, T_, U_, O5a, V_, W_, Z5a, L_, H5a, $5a, a6a, b6a, R5a, c6a, O_, d6a, P_, e6a, g6a, E_, X_, F5a, h6a, i6a, S_, R_, j6a, JVa, k6a, l6a, m6a, Y_, Z_, p6a, s6a, u6a, o6a, C6a, D6a, E6a, F6a, G6a, H6a, I6a, K6a, J6a, $_, a0, b0, L6a, M6a, c0, zG, N6a, d0, O6a, e0, f0, P6a, cJ, g0, QI, Q6a, WI, vAa, R6a, zI, S6a, nG, oG, h0, wJ, T6a, U6a, V6a, i0, X6a, Y6a, j0, l0, m0, a7a, b7a, n0, c7a, Z6a, $6a, d7a, e7a, f7a, g7a, h7a, o0, j7a, Hva, GG, k7a, l7a, JG, i7a, OD, m7a, n7a, o7a, p0, ZF, q7a, zE, r7a, q0, r0, s7a, s0, t7a, k0, u7a, v7a, bxa, t0, u0, w7a, v0, w0, x7a, x0, y7a, + y0, z0, z7a, A7a, zxa, A0, B7a, D7a, C7a, B0, E7a, C0, D0, F7a, G7a, H7a, I7a, J7a, K7a, M7a, F0, L7a, N7a, O7a, P7a, Q7a, U7a, R7a, S7a, T7a, W7a, Y7a, Z7a, $7a, X7a, G0, a8a, b8a, c8a, d8a, e8a, I0, f8a, J0, K0, L0, g8a, h8a, j8a, k8a, l8a, m8a, o8a, n8a, p8a, M0, N0, s8a, q8a, r8a, O0, u8a, v8a, P0, Q0, R0, S0, T0, x8a, U0, y8a, z8a, A8a, V0, W0, X0, B8a, C8a, D8a, G8a, F8a, Y0, H8a, I8a, J8a, Gya, E8a, L8a, M8a, O8a, aaa, ea; aa = function (a) { return function () { return aaa[a].apply(this, arguments) } }; + g.ba = function (a, b) { return aaa[a] = b }; + baa = function (a) { var b = 0; return function () { return b < a.length ? { done: !1, value: a[b++] } : { done: !0 } } }; + caa = function (a) { a = ["object" == typeof globalThis && globalThis, a, "object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global]; for (var b = 0; b < a.length; ++b) { var c = a[b]; if (c && c.Math == Math) return c } throw Error("Cannot find global object"); }; + ka = function (a, b) { if (b) a: { var c = g.da; a = a.split("."); for (var d = 0; d < a.length - 1; d++) { var e = a[d]; if (!(e in c)) break a; c = c[e] } a = a[a.length - 1]; d = c[a]; b = b(d); b != d && b != null && ea(c, a, { configurable: !0, writable: !0, value: b }) } }; + daa = function (a) { + a = { next: a }; a[Symbol.iterator] = function () { return this }; + return a + }; + ma = function (a) { return a.raw = a }; + g.w = function (a) { var b = typeof Symbol != "undefined" && Symbol.iterator && a[Symbol.iterator]; if (b) return b.call(a); if (typeof a.length == "number") return { next: baa(a) }; throw Error(String(a) + " is not an iterable or ArrayLike"); }; + eaa = function (a) { for (var b, c = []; !(b = a.next()).done;)c.push(b.value); return c }; + g.x = function (a) { return a instanceof Array ? a : eaa(g.w(a)) }; + na = function (a, b) { return Object.prototype.hasOwnProperty.call(a, b) }; + g.z = function (a, b) { a.prototype = faa(b.prototype); a.prototype.constructor = a; if (oa) oa(a, b); else for (var c in b) if (c != "prototype") if (Object.defineProperties) { var d = Object.getOwnPropertyDescriptor(b, c); d && Object.defineProperty(a, c, d) } else a[c] = b[c]; a.Of = b.prototype }; + ra = function () { this.N = !1; this.D = null; this.B = void 0; this.j = 1; this.G = this.K = 0; this.Y = this.C = null }; + sa = function (a) { if (a.N) throw new TypeError("Generator is already running"); a.N = !0 }; + ta = function (a, b) { a.C = { YX: b, KZ: !0 }; a.j = a.K || a.G }; + g.G = function (a, b, c) { a.j = c; return { value: b } }; + g.ua = function (a) { a.j = 0 }; + g.va = function (a, b, c) { a.K = b; c != void 0 && (a.G = c) }; + g.wa = function (a, b, c) { a.j = b; a.K = c || 0 }; + g.xa = function (a, b) { a.K = b || 0; b = a.C.YX; a.C = null; return b }; + g.ya = function (a) { a.Y = [a.C]; a.K = 0; a.G = 0 }; + g.za = function (a, b) { var c = a.Y.splice(0)[0]; (c = a.C = a.C || c) ? c.KZ ? a.j = a.K || a.G : c.Ha != void 0 && a.G < c.Ha ? (a.j = c.Ha, a.C = null) : a.j = a.G : a.j = b }; + gaa = function (a) { this.j = new ra; this.B = a }; + haa = function (a, b) { + sa(a.j); var c = a.j.D; if (c) return Aa(a, "return" in c ? c["return"] : function (d) { return { value: d, done: !0 } }, b, a.j.return); + a.j.return(b); return Ba(a) + }; + Aa = function (a, b, c, d) { try { var e = b.call(a.j.D, c); if (!(e instanceof Object)) throw new TypeError("Iterator result " + e + " is not an object"); if (!e.done) return a.j.N = !1, e; var f = e.value } catch (h) { return a.j.D = null, ta(a.j, h), Ba(a) } a.j.D = null; d.call(a.j, f); return Ba(a) }; + Ba = function (a) { for (; a.j.j;)try { var b = a.B(a.j); if (b) return a.j.N = !1, { value: b.value, done: !1 } } catch (c) { a.j.B = void 0, ta(a.j, c) } a.j.N = !1; if (a.j.C) { b = a.j.C; a.j.C = null; if (b.KZ) throw b.YX; return { value: b.return, done: !0 } } return { value: void 0, done: !0 } }; + iaa = function (a) { + this.next = function (b) { sa(a.j); a.j.D ? b = Aa(a, a.j.D.next, b, a.j.Z) : (a.j.Z(b), b = Ba(a)); return b }; + this.throw = function (b) { sa(a.j); a.j.D ? b = Aa(a, a.j.D["throw"], b, a.j.Z) : (ta(a.j, b), b = Ba(a)); return b }; + this.return = function (b) { return haa(a, b) }; + this[Symbol.iterator] = function () { return this } + }; + jaa = function (a) { + function b(d) { return a.next(d) } + function c(d) { return a.throw(d) } + return new Promise(function (d, e) { + function f(h) { h.done ? d(h.value) : Promise.resolve(h.value).then(b, c).then(f, e) } + f(a.next()) + }) + }; + g.J = function (a) { return jaa(new iaa(new gaa(a))) }; + g.Ca = function () { for (var a = Number(this), b = [], c = a; c < arguments.length; c++)b[c - a] = arguments[c]; return b }; + Da = function (a, b) { + a instanceof String && (a += ""); var c = 0, d = !1, e = { next: function () { if (!d && c < a.length) { var f = c++; return { value: b(f, a[f]), done: !1 } } d = !0; return { done: !0, value: void 0 } } }; + e[Symbol.iterator] = function () { return e }; + return e + }; + kaa = function (a, b, c) { a instanceof String && (a = String(a)); for (var d = a.length, e = 0; e < d; e++) { var f = a[e]; if (b.call(c, f, e, a)) return { i: e, fN: f } } return { i: -1, fN: void 0 } }; + Ea = function (a, b, c) { if (a == null) throw new TypeError("The 'this' value for String.prototype." + c + " must not be null or undefined"); if (b instanceof RegExp) throw new TypeError("First argument to String.prototype." + c + " must not be a regular expression"); return a + "" }; + Fa = function (a) { return a ? a : Array.prototype.fill }; + Ha = function (a) { return a ? a : Array.prototype.copyWithin }; + laa = function (a, b, c) { a instanceof String && (a = String(a)); for (var d = a.length - 1; d >= 0; d--) { var e = a[d]; if (b.call(c, e, d, a)) return { i: d, fN: e } } return { i: -1, fN: void 0 } }; + Ia = function (a) { return a ? a : function (b, c) { return laa(this, b, c).i } }; + g.Ka = function (a, b, c) { a = a.split("."); c = c || g.Ja; a[0] in c || typeof c.execScript == "undefined" || c.execScript("var " + a[0]); for (var d; a.length && (d = a.shift());)a.length || b === void 0 ? c[d] && c[d] !== Object.prototype[d] ? c = c[d] : c = c[d] = {} : c[d] = b }; + Ma = function (a, b) { var c = g.La("CLOSURE_FLAGS"); a = c && c[a]; return a != null ? a : b }; + g.La = function (a, b) { a = a.split("."); b = b || g.Ja; for (var c = 0; c < a.length; c++)if (b = b[a[c]], b == null) return null; return b }; + Na = function (a) { var b = typeof a; return b != "object" ? b : a ? Array.isArray(a) ? "array" : b : "null" }; + g.Pa = function (a) { var b = Na(a); return b == "array" || b == "object" && typeof a.length == "number" }; + g.Qa = function (a) { var b = typeof a; return b == "object" && a != null || b == "function" }; + g.Ta = function (a) { return Object.prototype.hasOwnProperty.call(a, Sa) && a[Sa] || (a[Sa] = ++maa) }; + naa = function (a, b, c) { return a.call.apply(a.bind, arguments) }; + oaa = function (a, b, c) { if (!a) throw Error(); if (arguments.length > 2) { var d = Array.prototype.slice.call(arguments, 2); return function () { var e = Array.prototype.slice.call(arguments); Array.prototype.unshift.apply(e, d); return a.apply(b, e) } } return function () { return a.apply(b, arguments) } }; + g.Ua = function (a, b, c) { g.Ua = Function.prototype.bind && Function.prototype.bind.toString().indexOf("native code") != -1 ? naa : oaa; return g.Ua.apply(null, arguments) }; + g.Va = function (a, b) { var c = Array.prototype.slice.call(arguments, 1); return function () { var d = c.slice(); d.push.apply(d, arguments); return a.apply(this, d) } }; + g.Xa = function () { return Date.now() }; + g.Ya = function (a, b) { + function c() { } + c.prototype = b.prototype; a.Of = b.prototype; a.prototype = new c; a.prototype.constructor = a; a.base = function (d, e, f) { for (var h = Array(arguments.length - 2), l = 2; l < arguments.length; l++)h[l - 2] = arguments[l]; return b.prototype[e].apply(d, h) } + }; + Za = function (a) { return a }; + paa = function (a) { this.j = a }; + $a = function (a, b, c) { this.D = a; this.C = b; this.fields = c || []; this.j = new Map }; + bb = function (a, b) { $a.call(this, a, 3, b) }; + eb = function (a, b) { $a.call(this, a, 2, b) }; + g.fb = function (a) { a && typeof a.dispose == "function" && a.dispose() }; + g.gb = function (a) { for (var b = 0, c = arguments.length; b < c; ++b) { var d = arguments[b]; g.Pa(d) ? g.gb.apply(null, d) : g.fb(d) } }; + g.O = function () { this.Jq = this.Jq; this.qo = this.qo }; + g.P = function (a, b) { a.addOnDisposeCallback(g.Va(g.fb, b)) }; + ib = function (a, b) { if (Error.captureStackTrace) Error.captureStackTrace(this, ib); else { var c = Error().stack; c && (this.stack = c) } a && (this.message = String(a)); b !== void 0 && (this.cause = b) }; + jb = function (a, b) { var c = ib.call; a = a.split("%s"); for (var d = "", e = a.length - 1, f = 0; f < e; f++)d += a[f] + (f < b.length ? b[f] : "%s"); c.call(ib, this, d + a[e]) }; + qaa = function () { }; + g.lb = function (a, b) { this.type = a; this.currentTarget = this.target = b; this.defaultPrevented = this.B = !1 }; + nb = function (a, b) { return a.lastIndexOf(b, 0) == 0 }; + raa = function (a, b) { var c = a.length - b.length; return c >= 0 && a.indexOf(b, c) == c }; + g.pb = function (a) { return /^[\s\xa0]*$/.test(a) }; + qb = function (a) { if (!saa.test(a)) return a; a.indexOf("&") != -1 && (a = a.replace(taa, "&")); a.indexOf("<") != -1 && (a = a.replace(uaa, "<")); a.indexOf(">") != -1 && (a = a.replace(vaa, ">")); a.indexOf('"') != -1 && (a = a.replace(waa, """)); a.indexOf("'") != -1 && (a = a.replace(xaa, "'")); a.indexOf("\x00") != -1 && (a = a.replace(yaa, "�")); return a }; + g.rb = function (a, b) { return a.indexOf(b) != -1 }; + sb = function (a, b) { return g.rb(a.toLowerCase(), b.toLowerCase()) }; + g.vb = function (a, b) { var c = 0; a = tb(String(a)).split("."); b = tb(String(b)).split("."); for (var d = Math.max(a.length, b.length), e = 0; c == 0 && e < d; e++) { var f = a[e] || "", h = b[e] || ""; do { f = /(\d*)(\D*)(.*)/.exec(f) || ["", "", "", ""]; h = /(\d*)(\D*)(.*)/.exec(h) || ["", "", "", ""]; if (f[0].length == 0 && h[0].length == 0) break; c = ub(f[1].length == 0 ? 0 : parseInt(f[1], 10), h[1].length == 0 ? 0 : parseInt(h[1], 10)) || ub(f[2].length == 0, h[2].length == 0) || ub(f[2], h[2]); f = f[3]; h = h[3] } while (c == 0) } return c }; + ub = function (a, b) { return a < b ? -1 : a > b ? 1 : 0 }; + g.wb = function () { var a = g.Ja.navigator; return a && (a = a.userAgent) ? a : "" }; + Bb = function (a) { return xb || yb ? Ab ? Ab.brands.some(function (b) { return (b = b.brand) && g.rb(b, a) }) : !1 : !1 }; + Cb = function (a) { return g.rb(g.wb(), a) }; + Db = function () { return xb || yb ? !!Ab && Ab.brands.length > 0 : !1 }; + Eb = function () { return Db() ? !1 : Cb("Opera") }; + zaa = function () { return Db() ? !1 : Cb("Trident") || Cb("MSIE") }; + Aaa = function () { return Db() ? Bb("Microsoft Edge") : Cb("Edg/") }; + Fb = function () { return Cb("Firefox") || Cb("FxiOS") }; + Hb = function () { return Cb("Safari") && !(Gb() || (Db() ? 0 : Cb("Coast")) || Eb() || (Db() ? 0 : Cb("Edge")) || Aaa() || (Db() ? Bb("Opera") : Cb("OPR")) || Fb() || Cb("Silk") || Cb("Android")) }; + Gb = function () { return Db() ? Bb("Chromium") : (Cb("Chrome") || Cb("CriOS")) && !(Db() ? 0 : Cb("Edge")) || Cb("Silk") }; + Baa = function () { return Cb("Android") && !(Gb() || Fb() || Eb() || Cb("Silk")) }; + Caa = function (a) { + var b = {}; a.forEach(function (c) { b[c[0]] = c[1] }); + return function (c) { return b[c.find(function (d) { return d in b })] || "" } + }; + Daa = function (a) { + var b = g.wb(); if (a === "Internet Explorer") { if (zaa()) if ((a = /rv: *([\d\.]*)/.exec(b)) && a[1]) b = a[1]; else { a = ""; var c = /MSIE +([\d\.]+)/.exec(b); if (c && c[1]) if (b = /Trident\/(\d.\d)/.exec(b), c[1] == "7.0") if (b && b[1]) switch (b[1]) { case "4.0": a = "8.0"; break; case "5.0": a = "9.0"; break; case "6.0": a = "10.0"; break; case "7.0": a = "11.0" } else a = "7.0"; else a = c[1]; b = a } else b = ""; return b } var d = RegExp("([A-Z][\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?", "g"); c = []; for (var e; e = d.exec(b);)c.push([e[1], e[2], e[3] || void 0]); + b = Caa(c); switch (a) { case "Opera": if (Eb()) return b(["Version", "Opera"]); if (Db() ? Bb("Opera") : Cb("OPR")) return b(["OPR"]); break; case "Microsoft Edge": if (Db() ? 0 : Cb("Edge")) return b(["Edge"]); if (Aaa()) return b(["Edg"]); break; case "Chromium": if (Gb()) return b(["Chrome", "CriOS", "HeadlessChrome"]) }return a === "Firefox" && Fb() || a === "Safari" && Hb() || a === "Android Browser" && Baa() || a === "Silk" && Cb("Silk") ? (b = c[2]) && b[1] || "" : "" + }; + Eaa = function (a) { + if (Db() && a !== "Silk") { + var b = Ab.brands.find(function (c) { return c.brand === a }); + if (!b || !b.version) return NaN; b = b.version.split(".") + } else { b = Daa(a); if (b === "") return NaN; b = b.split(".") } return b.length === 0 ? NaN : Number(b[0]) + }; + g.Ib = function (a) { return a[a.length - 1] }; + Faa = function (a, b) { var c = a.length, d = typeof a === "string" ? a.split("") : a; for (--c; c >= 0; --c)c in d && b.call(void 0, d[c], c, a) }; + g.Kb = function (a, b, c) { b = Jb(a, b, c); return b < 0 ? null : typeof a === "string" ? a.charAt(b) : a[b] }; + Jb = function (a, b, c) { for (var d = a.length, e = typeof a === "string" ? a.split("") : a, f = 0; f < d; f++)if (f in e && b.call(c, e[f], f, a)) return f; return -1 }; + g.Lb = function (a, b, c) { var d = a.length, e = typeof a === "string" ? a.split("") : a; for (--d; d >= 0; d--)if (d in e && b.call(c, e[d], d, a)) return d; return -1 }; + g.Mb = function (a, b) { return Gaa(a, b) >= 0 }; + Haa = function (a) { if (!Array.isArray(a)) for (var b = a.length - 1; b >= 0; b--)delete a[b]; a.length = 0 }; + g.Pb = function (a, b) { b = Gaa(a, b); var c; (c = b >= 0) && g.Nb(a, b); return c }; + g.Nb = function (a, b) { return Array.prototype.splice.call(a, b, 1).length == 1 }; + g.Qb = function (a, b) { b = Jb(a, b); b >= 0 && g.Nb(a, b) }; + Iaa = function (a, b) { var c = 0; Faa(a, function (d, e) { b.call(void 0, d, e, a) && g.Nb(a, e) && c++ }) }; + g.Sb = function (a) { return Array.prototype.concat.apply([], arguments) }; + g.Tb = function (a) { var b = a.length; if (b > 0) { for (var c = Array(b), d = 0; d < b; d++)c[d] = a[d]; return c } return [] }; + g.Ub = function (a, b) { for (var c = 1; c < arguments.length; c++) { var d = arguments[c]; if (g.Pa(d)) { var e = a.length || 0, f = d.length || 0; a.length = e + f; for (var h = 0; h < f; h++)a[e + h] = d[h] } else a.push(d) } }; + g.Wb = function (a, b, c, d) { Array.prototype.splice.apply(a, Vb(arguments, 1)) }; + Vb = function (a, b, c) { return arguments.length <= 2 ? Array.prototype.slice.call(a, b) : Array.prototype.slice.call(a, b, c) }; + Jaa = function (a) { for (var b = 0, c = 0, d = {}; c < a.length;) { var e = a[c++], f = g.Qa(e) ? "o" + g.Ta(e) : (typeof e).charAt(0) + e; Object.prototype.hasOwnProperty.call(d, f) || (d[f] = !0, a[b++] = e) } a.length = b }; + g.Yb = function (a, b, c) { return Kaa(a, c || Xb, !1, b) }; + Zb = function (a, b) { return Kaa(a, b, !0) }; + Kaa = function (a, b, c, d) { for (var e = 0, f = a.length, h; e < f;) { var l = e + (f - e >>> 1), m = void 0; c ? m = b.call(void 0, a[l], l, a) : m = b(d, a[l]); m > 0 ? e = l + 1 : (f = l, h = !m) } return h ? e : -e - 1 }; + g.$b = function (a, b) { a.sort(b || Xb) }; + Laa = function (a, b) { var c = Xb; g.$b(a, function (d, e) { return c(b(d), b(e)) }) }; + g.ac = function (a, b) { if (!g.Pa(a) || !g.Pa(b) || a.length != b.length) return !1; for (var c = a.length, d = Maa, e = 0; e < c; e++)if (!d(a[e], b[e])) return !1; return !0 }; + Xb = function (a, b) { return a > b ? 1 : a < b ? -1 : 0 }; + Maa = function (a, b) { return a === b }; + g.bc = function (a, b, c) { c = g.Yb(a, b, c); c < 0 && g.Wb(a, -(c + 1), 0, b) }; + g.dc = function (a, b, c) { + var d = {}; (0, g.cc)(a, function (e, f) { d[b.call(c, e, f, a)] = e }); + return d + }; + Naa = function (a) { for (var b = [], c = 0; c < a; c++)b[c] = ""; return b }; + Oaa = function (a, b) { b = Array.prototype.splice.call(a, b, 1); Array.prototype.splice.call(a, 0, 0, b[0]) }; + ec = function () { return xb || yb ? !!Ab && !!Ab.platform : !1 }; + Paa = function () { return ec() ? Ab.platform === "Android" : Cb("Android") }; + fc = function () { return Cb("iPhone") && !Cb("iPod") && !Cb("iPad") }; + gc = function () { return fc() || Cb("iPad") || Cb("iPod") }; + ic = function () { return ec() ? Ab.platform === "macOS" : Cb("Macintosh") }; + Qaa = function () { return ec() ? Ab.platform === "Windows" : Cb("Windows") }; + jc = function (a) { jc[" "](a); return a }; + Raa = function (a, b) { try { return jc(a[b]), !0 } catch (c) { } return !1 }; + Taa = function (a, b) { var c = Saa; return Object.prototype.hasOwnProperty.call(c, a) ? c[a] : c[a] = b(a) }; + g.kc = function (a) { return Taa(a, function () { return g.vb(Uaa, a) >= 0 }) }; + Vaa = function (a) { return g.lc ? "webkit" + a : a.toLowerCase() }; + mc = function (a, b) { g.lb.call(this, a ? a.type : ""); this.relatedTarget = this.currentTarget = this.target = null; this.button = this.screenY = this.screenX = this.clientY = this.clientX = 0; this.key = ""; this.charCode = this.keyCode = 0; this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = !1; this.state = null; this.pointerId = 0; this.pointerType = ""; this.timeStamp = 0; this.j = null; a && this.init(a, b) }; + oc = function (a) { return !(!a || !a[Waa]) }; + Yaa = function (a, b, c, d, e) { this.listener = a; this.proxy = null; this.src = b; this.type = c; this.capture = !!d; this.Hd = e; this.key = ++Xaa; this.removed = this.eJ = !1 }; + pc = function (a) { a.removed = !0; a.listener = null; a.proxy = null; a.src = null; a.Hd = null }; + g.qc = function (a, b, c) { for (var d in a) b.call(c, a[d], d, a) }; + g.rc = function (a, b, c) { var d = {}, e; for (e in a) b.call(c, a[e], e, a) && (d[e] = a[e]); return d }; + sc = function (a, b) { var c = {}, d; for (d in a) c[d] = b.call(void 0, a[d], d, a); return c }; + g.tc = function (a, b, c) { for (var d in a) if (b.call(c, a[d], d, a)) return !0; return !1 }; + Zaa = function (a, b) { for (var c in a) if (!b.call(void 0, a[c], c, a)) return !1; return !0 }; + g.vc = function (a) { for (var b in a) return b }; + $aa = function (a) { for (var b in a) return a[b] }; + g.wc = function (a) { var b = [], c = 0, d; for (d in a) b[c++] = a[d]; return b }; + g.xc = function (a) { var b = [], c = 0, d; for (d in a) b[c++] = d; return b }; + g.yc = function (a, b) { return a !== null && b in a }; + g.zc = function (a, b) { for (var c in a) if (a[c] == b) return !0; return !1 }; + Ac = function (a, b) { for (var c in a) if (b.call(void 0, a[c], c, a)) return c }; + aba = function (a, b) { return (b = Ac(a, b)) && a[b] }; + g.Bc = function (a) { for (var b in a) return !1; return !0 }; + g.bba = function (a) { for (var b in a) delete a[b] }; + g.Cc = function (a, b, c) { return a !== null && b in a ? a[b] : c }; + g.Ec = function (a, b) { for (var c in a) if (!(c in b) || a[c] !== b[c]) return !1; for (var d in b) if (!(d in a)) return !1; return !0 }; + g.Fc = function (a) { var b = {}, c; for (c in a) b[c] = a[c]; return b }; + g.Gc = function (a) { if (!a || typeof a !== "object") return a; if (typeof a.clone === "function") return a.clone(); if (typeof Map !== "undefined" && a instanceof Map) return new Map(a); if (typeof Set !== "undefined" && a instanceof Set) return new Set(a); if (a instanceof Date) return new Date(a.getTime()); var b = Array.isArray(a) ? [] : typeof ArrayBuffer !== "function" || typeof ArrayBuffer.isView !== "function" || !ArrayBuffer.isView(a) || a instanceof DataView ? {} : new a.constructor(a.length), c; for (c in a) b[c] = g.Gc(a[c]); return b }; + g.Hc = function (a, b) { for (var c, d, e = 1; e < arguments.length; e++) { d = arguments[e]; for (c in d) a[c] = d[c]; for (var f = 0; f < cba.length; f++)c = cba[f], Object.prototype.hasOwnProperty.call(d, c) && (a[c] = d[c]) } }; + Ic = function (a) { this.src = a; this.listeners = {}; this.j = 0 }; + g.Jc = function (a, b) { var c = b.type; c in a.listeners && g.Pb(a.listeners[c], b) && (pc(b), a.listeners[c].length == 0 && (delete a.listeners[c], a.j--)) }; + Kc = function (a, b, c, d) { for (var e = 0; e < a.length; ++e) { var f = a[e]; if (!f.removed && f.listener == b && f.capture == !!c && f.Hd == d) return e } return -1 }; + g.Nc = function (a, b, c, d, e) { if (d && d.once) return Mc(a, b, c, d, e); if (Array.isArray(b)) { for (var f = 0; f < b.length; f++)g.Nc(a, b[f], c, d, e); return null } c = Oc(c); return oc(a) ? a.listen(b, c, g.Qa(d) ? !!d.capture : !!d, e) : dba(a, b, c, !1, d, e) }; + dba = function (a, b, c, d, e, f) { if (!b) throw Error("Invalid event type"); var h = g.Qa(e) ? !!e.capture : !!e, l = Pc(a); l || (a[Rc] = l = new Ic(a)); c = l.add(b, c, d, h, f); if (c.proxy) return c; d = eba(); c.proxy = d; d.src = a; d.listener = c; if (a.addEventListener) fba || (e = h), e === void 0 && (e = !1), a.addEventListener(b.toString(), d, e); else if (a.attachEvent) a.attachEvent(gba(b.toString()), d); else if (a.addListener && a.removeListener) a.addListener(d); else throw Error("addEventListener and attachEvent are unavailable."); hba++; return c }; + eba = function () { + function a(c) { return b.call(a.src, a.listener, c) } + var b = iba; return a + }; + Mc = function (a, b, c, d, e) { if (Array.isArray(b)) { for (var f = 0; f < b.length; f++)Mc(a, b[f], c, d, e); return null } c = Oc(c); return oc(a) ? a.cG(b, c, g.Qa(d) ? !!d.capture : !!d, e) : dba(a, b, c, !0, d, e) }; + jba = function (a, b, c, d, e) { if (Array.isArray(b)) for (var f = 0; f < b.length; f++)jba(a, b[f], c, d, e); else d = g.Qa(d) ? !!d.capture : !!d, c = Oc(c), oc(a) ? a.Oc(b, c, d, e) : a && (a = Pc(a)) && (b = a.kF(b, c, d, e)) && Sc(b) }; + Sc = function (a) { if (typeof a !== "number" && a && !a.removed) { var b = a.src; if (oc(b)) g.Jc(b.Em, a); else { var c = a.type, d = a.proxy; b.removeEventListener ? b.removeEventListener(c, d, a.capture) : b.detachEvent ? b.detachEvent(gba(c), d) : b.addListener && b.removeListener && b.removeListener(d); hba--; (c = Pc(b)) ? (g.Jc(c, a), c.j == 0 && (c.src = null, b[Rc] = null)) : pc(a) } } }; + gba = function (a) { return a in Tc ? Tc[a] : Tc[a] = "on" + a }; + iba = function (a, b) { if (a.removed) a = !0; else { b = new mc(b, this); var c = a.listener, d = a.Hd || a.src; a.eJ && Sc(a); a = c.call(d, b) } return a }; + Pc = function (a) { a = a[Rc]; return a instanceof Ic ? a : null }; + Oc = function (a) { + if (typeof a === "function") return a; a[Uc] || (a[Uc] = function (b) { return a.handleEvent(b) }); + return a[Uc] + }; + g.Vc = function () { g.O.call(this); this.Em = new Ic(this); this.c7 = this; this.CS = null }; + Wc = function (a, b, c, d) { b = a.Em.listeners[String(b)]; if (!b) return !0; b = b.concat(); for (var e = !0, f = 0; f < b.length; ++f) { var h = b[f]; if (h && !h.removed && h.capture == c) { var l = h.listener, m = h.Hd || h.src; h.eJ && g.Jc(a.Em, h); e = l.call(m, d) !== !1 && e } } return e && !d.defaultPrevented }; + Xc = function (a, b) { this.C = a; this.D = b; this.B = 0; this.j = null }; + kba = function (a, b) { a.D(b); a.B < 100 && (a.B++, b.next = a.j, a.j = b) }; + Yc = function (a) { return function () { return a } }; + g.Zc = function () { }; + lba = function (a) { var b = b || 0; return function () { return a.apply(this, Array.prototype.slice.call(arguments, 0, b)) } }; + $c = function (a) { var b = !1, c; return function () { b || (c = a(), b = !0); return c } }; + ad = function (a) { var b = a; return function () { if (b) { var c = b; b = null; c() } } }; + mba = function (a, b) { var c = 0; return function (d) { g.Ja.clearTimeout(c); var e = arguments; c = g.Ja.setTimeout(function () { a.apply(b, e) }, 50) } }; + bd = function (a, b) { this.j = a === nba && b || ""; this.B = oba }; + dd = function (a) { return a instanceof bd && a.constructor === bd && a.B === oba ? a.j : "type_error:Const" }; + ed = function (a) { return new bd(nba, a) }; + gd = function () { if (fd === void 0) { var a = null, b = g.Ja.trustedTypes; if (b && b.createPolicy) { try { a = b.createPolicy("goog#html", { createHTML: Za, createScript: Za, createScriptURL: Za }) } catch (c) { g.Ja.console && g.Ja.console.error(c.message) } fd = a } else fd = a } return fd }; + g.hd = function (a) { this.o1 = a }; + g.id = function (a) { return a instanceof g.hd && a.constructor === g.hd ? a.o1 : "type_error:TrustedResourceUrl" }; + jd = function (a) { var b = gd(); a = b ? b.createScriptURL(a) : a; return new g.hd(a, pba) }; + g.kd = function (a) { this.s1 = a }; + g.ld = function (a) { if (a instanceof g.kd) return a.s1; throw Error(""); }; + od = function (a) { this.qe = a }; + pd = function (a) { return new od(function (b) { return b.substr(0, a.length + 1).toLowerCase() === a + ":" }) }; + g.rd = function (a, b) { b = b === void 0 ? qba : b; a: if (b = b === void 0 ? qba : b, !(a instanceof g.kd)) { for (var c = 0; c < b.length; ++c) { var d = b[c]; if (d instanceof od && d.qe(a)) { a = new g.kd(a); break a } } a = void 0 } return a || g.qd }; + sd = function (a) { a instanceof g.kd ? a = g.ld(a) : a = rba.test(a) ? a : void 0; return a }; + g.td = function (a) { this.n1 = a }; + ud = function (a) { return a instanceof g.td && a.constructor === g.td ? a.n1 : "type_error:SafeStyle" }; + yba = function (a) { if (a instanceof g.kd) return 'url("' + a.toString().replace(/]/.test(c)) throw Error("Forbidden characters in style string: " + c); return new g.td(c, Cd) }; + Jba = function (a, b, c, d) { a = Iba(a); b = b || g.Ja; c = c instanceof bd ? dd(c) : c || ""; return d !== void 0 ? b.open(a, c, d) : b.open(a, c) }; + Iba = function (a) { a = sd(a); return a !== void 0 ? a : g.qd.toString() }; + g.Dd = function (a, b, c) { return Math.min(Math.max(a, b), c) }; + g.Ed = function (a, b) { a %= b; return a * b < 0 ? a + b : a }; + Fd = function (a, b, c) { return a + c * (b - a) }; + g.Gd = function (a, b) { this.x = a !== void 0 ? a : 0; this.y = b !== void 0 ? b : 0 }; + Hd = function (a, b) { return a == b ? !0 : a && b ? a.x == b.x && a.y == b.y : !1 }; + g.Id = function (a, b) { this.width = a; this.height = b }; + g.Jd = function (a, b) { return a == b ? !0 : a && b ? a.width == b.width && a.height == b.height : !1 }; + g.Kd = function (a, b) { b = sd(b); b !== void 0 && (a.href = b) }; + Kba = function (a) { + var b = "true".toString(), c = [new yd]; if (c.length === 0) throw Error(""); if (c.map(function (d) { if (d instanceof yd) d = d.j; else throw Error(""); return d }).every(function (d) { return "data-loaded".indexOf(d) !== 0 })) throw Error('Attribute "data-loaded" does not match any of the allowed prefixes.'); + a.setAttribute("data-loaded", b) + }; + Ld = function (a, b) { throw Error(b === void 0 ? "unexpected value " + a + "!" : b); }; + g.Md = function (a, b, c) { var d = window; a = sd(a); return a !== void 0 ? d.open(a, b, c) : null }; + Nd = function (a) { var b, c; return (a = (c = (b = a.document).querySelector) == null ? void 0 : c.call(b, "script[nonce]")) ? a.nonce || a.getAttribute("nonce") || "" : "" }; + Od = function (a) { var b = Nd(a.ownerDocument && a.ownerDocument.defaultView || window); b && a.setAttribute("nonce", b) }; + g.Pd = function (a, b) { a.src = g.id(b); Od(a) }; + Lba = function (a, b) { a.__closure__error__context__984382 || (a.__closure__error__context__984382 = {}); a.__closure__error__context__984382.severity = b }; + Nba = function (a) { + var b = g.La("window.location.href"); a == null && (a = 'Unknown Error of type "null/undefined"'); if (typeof a === "string") return { message: a, name: "Unknown error", lineNumber: "Not available", fileName: b, stack: "Not available" }; var c = !1; try { var d = a.lineNumber || a.line || "Not available" } catch (h) { d = "Not available", c = !0 } try { var e = a.fileName || a.filename || a.sourceURL || g.Ja.$googDebugFname || b } catch (h) { e = "Not available", c = !0 } b = Mba(a); if (!(!c && a.lineNumber && a.fileName && a.stack && a.message && a.name)) { + c = a.message; + if (c == null) { if (a.constructor && a.constructor instanceof Function) { if (a.constructor.name) c = a.constructor.name; else if (c = a.constructor, Qd[c]) c = Qd[c]; else { c = String(c); if (!Qd[c]) { var f = /function\s+([^\(]+)/m.exec(c); Qd[c] = f ? f[1] : "[Anonymous]" } c = Qd[c] } c = 'Unknown Error of type "' + c + '"' } else c = "Unknown Error of unknown type"; typeof a.toString === "function" && Object.prototype.toString !== a.toString && (c += ": " + a.toString()) } return { message: c, name: a.name || "UnknownError", lineNumber: d, fileName: e, stack: b || "Not available" } + } return { + message: a.message, + name: a.name, lineNumber: a.lineNumber, fileName: a.fileName, stack: b + } + }; + Mba = function (a, b) { b || (b = {}); b[Oba(a)] = !0; var c = a.stack || ""; (a = a.cause) && !b[Oba(a)] && (c += "\nCaused by: ", a.stack && a.stack.indexOf(a.toString()) == 0 || (c += typeof a === "string" ? a : a.message + "\n"), c += Mba(a, b)); return c }; + Oba = function (a) { var b = ""; typeof a.toString === "function" && (b = "" + a); return b + a.stack }; + Pba = function (a, b) { return a.parseFromString(g.wd(b), "text/xml") }; + g.Rd = function (a) { return encodeURIComponent(String(a)) }; + Sd = function (a) { return decodeURIComponent(a.replace(/\+/g, " ")) }; + Td = function (a) { return a = qb(a) }; + g.Ud = function (a) { return a == null ? "" : String(a) }; + Vd = function (a) { for (var b = 0, c = 0; c < a.length; ++c)b = 31 * b + a.charCodeAt(c) >>> 0; return b }; + Wd = function (a) { var b = Number(a); return b == 0 && g.pb(a) ? NaN : b }; + Qba = function (a) { return String(a).replace(/\-([a-z])/g, function (b, c) { return c.toUpperCase() }) }; + Rba = function () { return "googleAvInapp".replace(/([A-Z])/g, "-$1").toLowerCase() }; + Sba = function (a) { return a.replace(RegExp("(^|[\\s]+)([a-z])", "g"), function (b, c, d) { return c + d.toUpperCase() }) }; + Tba = function (a) { var b = 1; a = a.split(":"); for (var c = []; b > 0 && a.length;)c.push(a.shift()), b--; a.length && c.push(a.join(":")); return c }; + Zd = function (a) { return a ? new Xd(Yd(a)) : Uba || (Uba = new Xd) }; + $d = function (a, b) { return typeof b === "string" ? a.getElementById(b) : b }; + g.ae = function (a, b) { return (b || document).getElementsByTagName(String(a)) }; + g.ce = function (a, b) { var c = b || document; return c.querySelectorAll && c.querySelector ? c.querySelectorAll("." + a) : g.be(document, "*", a, b) }; + g.de = function (a, b) { var c = b || document; if (c.getElementsByClassName) a = c.getElementsByClassName(a)[0]; else { c = document; var d = b || c; a = d.querySelectorAll && d.querySelector && a ? d.querySelector(a ? "." + a : "") : g.be(c, "*", a, b)[0] || null } return a || null }; + g.be = function (a, b, c, d) { a = d || a; b = b && b != "*" ? String(b).toUpperCase() : ""; if (a.querySelectorAll && a.querySelector && (b || c)) return a.querySelectorAll(b + (c ? "." + c : "")); if (c && a.getElementsByClassName) { a = a.getElementsByClassName(c); if (b) { d = {}; for (var e = 0, f = 0, h; h = a[f]; f++)b == h.nodeName && (d[e++] = h); d.length = e; return d } return a } a = a.getElementsByTagName(b || "*"); if (c) { d = {}; for (f = e = 0; h = a[f]; f++)b = h.className, typeof b.split == "function" && g.Mb(b.split(/\s+/), c) && (d[e++] = h); d.length = e; return d } return a }; + ee = function (a, b) { g.qc(b, function (c, d) { d == "style" ? a.style.cssText = c : d == "class" ? a.className = c : d == "for" ? a.htmlFor = c : Vba.hasOwnProperty(d) ? a.setAttribute(Vba[d], c) : nb(d, "aria-") || nb(d, "data-") ? a.setAttribute(d, c) : a[d] = c }) }; + Wba = function (a) { a = a.document; a = a.compatMode == "CSS1Compat" ? a.documentElement : a.body; return new g.Id(a.clientWidth, a.clientHeight) }; + Yba = function (a) { var b = Xba(a); a = a.parentWindow || a.defaultView; return new g.Gd(a.pageXOffset || b.scrollLeft, a.pageYOffset || b.scrollTop) }; + Xba = function (a) { return a.scrollingElement ? a.scrollingElement : g.lc || a.compatMode != "CSS1Compat" ? a.body || a.documentElement : a.documentElement }; + fe = function (a) { return a ? a.parentWindow || a.defaultView : window }; + he = function (a, b, c) { var d = arguments, e = document, f = d[1], h = ge(e, String(d[0])); f && (typeof f === "string" ? h.className = f : Array.isArray(f) ? h.className = f.join(" ") : ee(h, f)); d.length > 2 && Zba(e, h, d, 2); return h }; + Zba = function (a, b, c, d) { + function e(l) { l && b.appendChild(typeof l === "string" ? a.createTextNode(l) : l) } + for (; d < c.length; d++) { var f = c[d]; if (!g.Pa(f) || g.Qa(f) && f.nodeType > 0) e(f); else { a: { if (f && typeof f.length == "number") { if (g.Qa(f)) { var h = typeof f.item == "function" || typeof f.item == "string"; break a } if (typeof f === "function") { h = typeof f.item == "function"; break a } } h = !1 } g.cc(h ? g.Tb(f) : f, e) } } + }; + g.je = function (a) { return ge(document, a) }; + ge = function (a, b) { b = String(b); a.contentType === "application/xhtml+xml" && (b = b.toLowerCase()); return a.createElement(b) }; + g.ke = function (a) { return document.createTextNode(String(a)) }; + g.le = function (a, b) { a.appendChild(b) }; + g.me = function (a) { for (var b; b = a.firstChild;)a.removeChild(b) }; + oe = function (a, b, c) { a.insertBefore(b, a.childNodes[c] || null) }; + g.pe = function (a) { return a && a.parentNode ? a.parentNode.removeChild(a) : null }; + g.qe = function (a, b) { if (!a || !b) return !1; if (a.contains && b.nodeType == 1) return a == b || a.contains(b); if (typeof a.compareDocumentPosition != "undefined") return a == b || !!(a.compareDocumentPosition(b) & 16); for (; b && a != b;)b = b.parentNode; return b == a }; + Yd = function (a) { return a.nodeType == 9 ? a : a.ownerDocument || a.document }; + g.re = function (a, b) { if ("textContent" in a) a.textContent = b; else if (a.nodeType == 3) a.data = String(b); else if (a.firstChild && a.firstChild.nodeType == 3) { for (; a.lastChild != a.firstChild;)a.removeChild(a.lastChild); a.firstChild.data = String(b) } else g.me(a), a.appendChild(Yd(a).createTextNode(String(b))) }; + aca = function (a) { return a.tagName == "A" && a.hasAttribute("href") || a.tagName == "INPUT" || a.tagName == "TEXTAREA" || a.tagName == "SELECT" || a.tagName == "BUTTON" ? !a.disabled && (!a.hasAttribute("tabindex") || $ba(a)) : a.hasAttribute("tabindex") && $ba(a) }; + $ba = function (a) { a = a.tabIndex; return typeof a === "number" && a >= 0 && a < 32768 }; + te = function (a, b, c) { if (!b && !c) return null; var d = b ? String(b).toUpperCase() : null; return se(a, function (e) { return (!d || e.nodeName == d) && (!c || typeof e.className === "string" && g.Mb(e.className.split(/\s+/), c)) }, !0) }; + se = function (a, b, c) { a && !c && (a = a.parentNode); for (c = 0; a;) { if (b(a)) return a; a = a.parentNode; c++ } return null }; + Xd = function (a) { this.j = a || g.Ja.document || document }; + ve = function (a) { typeof g.Ja.setImmediate !== "function" || g.Ja.Window && g.Ja.Window.prototype && g.Ja.Window.prototype.setImmediate == g.Ja.setImmediate ? (ue || (ue = bca()), ue(a)) : g.Ja.setImmediate(a) }; + bca = function () { + var a = g.Ja.MessageChannel; typeof a === "undefined" && typeof window !== "undefined" && window.postMessage && window.addEventListener && !Cb("Presto") && (a = function () { + var e = g.je("IFRAME"); e.style.display = "none"; document.documentElement.appendChild(e); var f = e.contentWindow; e = f.document; e.open(); e.close(); var h = "callImmediate" + Math.random(), l = f.location.protocol == "file:" ? "*" : f.location.protocol + "//" + f.location.host; e = (0, g.Ua)(function (m) { if ((l == "*" || m.origin == l) && m.data == h) this.port1.onmessage() }, + this); + f.addEventListener("message", e, !1); this.port1 = {}; this.port2 = { postMessage: function () { f.postMessage(h, l) } } + }); + if (typeof a !== "undefined") { + var b = new a, c = {}, d = c; b.port1.onmessage = function () { if (c.next !== void 0) { c = c.next; var e = c.mX; c.mX = null; e() } }; + return function (e) { d.next = { mX: e }; d = d.next; b.port2.postMessage(0) } + } return function (e) { g.Ja.setTimeout(e, 0) } + }; + we = function (a) { g.Ja.setTimeout(function () { throw a; }, 0) }; + xe = function () { this.B = this.j = null }; + Ae = function () { this.next = this.scope = this.Gm = null }; + g.De = function (a, b) { Be || cca(); Ce || (Be(), Ce = !0); dca.add(a, b) }; + cca = function () { if (g.Ja.Promise && g.Ja.Promise.resolve) { var a = g.Ja.Promise.resolve(void 0); Be = function () { a.then(eca) } } else Be = function () { ve(eca) } }; + eca = function () { for (var a; a = dca.remove();) { try { a.Gm.call(a.scope) } catch (b) { we(b) } kba(fca, a) } Ce = !1 }; + g.Fe = function (a) { this.j = 0; this.N = void 0; this.D = this.B = this.C = null; this.G = this.K = !1; if (a != g.Zc) try { var b = this; a.call(void 0, function (c) { Ee(b, 2, c) }, function (c) { Ee(b, 3, c) }) } catch (c) { Ee(this, 3, c) } }; + gca = function () { this.next = this.context = this.B = this.C = this.j = null; this.D = !1 }; + Ge = function (a, b, c) { var d = hca.get(); d.C = a; d.B = b; d.context = c; return d }; + He = function (a) { if (a instanceof g.Fe) return a; var b = new g.Fe(g.Zc); Ee(b, 2, a); return b }; + Ie = function (a) { return new g.Fe(function (b, c) { c(a) }) }; + g.jca = function (a, b, c) { ica(a, b, c, null) || g.De(g.Va(b, a)) }; + kca = function (a) { return new g.Fe(function (b, c) { a.length || b(void 0); for (var d = 0, e; d < a.length; d++)e = a[d], g.jca(e, b, c) }) }; + mca = function () { + var a, b, c = new g.Fe(function (d, e) { a = d; b = e }); + return new lca(c, a, b) + }; + Ke = function (a, b) { b = Ge(b, b); b.D = !0; Je(a, b); return a }; + nca = function (a, b) { if (a.j == 0) if (a.C) { var c = a.C; if (c.B) { for (var d = 0, e = null, f = null, h = c.B; h && (h.D || (d++, h.j == a && (e = h), !(e && d > 1))); h = h.next)e || (f = h); e && (c.j == 0 && d == 1 ? nca(c, b) : (f ? (d = f, d.next == c.D && (c.D = d), d.next = d.next.next) : oca(c), pca(c, e, 3, b))) } a.C = null } else Ee(a, 3, b) }; + Je = function (a, b) { a.B || a.j != 2 && a.j != 3 || qca(a); a.D ? a.D.next = b : a.B = b; a.D = b }; + rca = function (a, b, c, d) { + var e = Ge(null, null, null); e.j = new g.Fe(function (f, h) { + e.C = b ? function (l) { try { var m = b.call(d, l); f(m) } catch (n) { h(n) } } : f; + e.B = c ? function (l) { try { var m = c.call(d, l); m === void 0 && l instanceof Le ? h(l) : f(m) } catch (n) { h(n) } } : h + }); + e.j.C = a; Je(a, e); return e.j + }; + Ee = function (a, b, c) { a.j == 0 && (a === c && (b = 3, c = new TypeError("Promise cannot resolve to itself")), a.j = 1, ica(c, a.Yea, a.Zea, a) || (a.N = c, a.j = b, a.C = null, qca(a), b != 3 || c instanceof Le || sca(a, c))) }; + ica = function (a, b, c, d) { if (a instanceof g.Fe) return Je(a, Ge(b || g.Zc, c || null, d)), !0; if (a) try { var e = !!a.$goog_Thenable } catch (h) { e = !1 } else e = !1; if (e) return a.then(b, c, d), !0; if (g.Qa(a)) try { var f = a.then; if (typeof f === "function") return tca(a, f, b, c, d), !0 } catch (h) { return c.call(d, h), !0 } return !1 }; + tca = function (a, b, c, d, e) { + function f(m) { l || (l = !0, d.call(e, m)) } + function h(m) { l || (l = !0, c.call(e, m)) } + var l = !1; try { b.call(a, h, f) } catch (m) { f(m) } + }; + qca = function (a) { a.K || (a.K = !0, g.De(a.v8, a)) }; + oca = function (a) { var b = null; a.B && (b = a.B, a.B = b.next, b.next = null); a.B || (a.D = null); return b }; + pca = function (a, b, c, d) { if (c == 3 && b.B && !b.D) for (; a && a.G; a = a.C)a.G = !1; if (b.j) b.j.C = null, uca(b, c, d); else try { b.D ? b.C.call(b.context) : uca(b, c, d) } catch (e) { vca.call(null, e) } kba(hca, b) }; + uca = function (a, b, c) { b == 2 ? a.C.call(a.context, c) : a.B && a.B.call(a.context, c) }; + sca = function (a, b) { a.G = !0; g.De(function () { a.G && vca.call(null, b) }) }; + Le = function (a) { ib.call(this, a) }; + lca = function (a, b, c) { this.promise = a; this.resolve = b; this.reject = c }; + g.Me = function (a, b) { g.Vc.call(this); this.cj = a || 1; this.ZH = b || g.Ja; this.hX = (0, g.Ua)(this.Kea, this); this.a_ = g.Xa() }; + g.Ne = function (a, b, c) { if (typeof a === "function") c && (a = (0, g.Ua)(a, c)); else if (a && typeof a.handleEvent == "function") a = (0, g.Ua)(a.handleEvent, a); else throw Error("Invalid listener argument"); return Number(b) > 2147483647 ? -1 : g.Ja.setTimeout(a, b || 0) }; + Oe = function (a, b) { + var c = null; return (new g.Fe(function (d, e) { + c = g.Ne(function () { d(b) }, a); + c == -1 && e(Error("Failed to schedule timer.")) + })).Wk(function (d) { + g.Ja.clearTimeout(c); + throw d; + }) + }; + g.Pe = function (a) { g.O.call(this); this.N = a; this.D = 0; this.C = 100; this.G = !1; this.B = new Map; this.K = new Set; this.flushInterval = 3E4; this.j = new g.Me(this.flushInterval); this.j.listen("tick", this.BN, !1, this); g.P(this, this.j) }; + wca = function (a) { a.j.enabled || a.j.start(); a.D++; a.D >= a.C && a.BN() }; + xca = function (a, b) { return a.K.has(b) ? void 0 : a.B.get(b) }; + yca = function (a) { for (var b = 0; b < a.length; b++)a[b].clear() }; + zca = function (a) { this.j = a; this.j.gk("/client_streamz/bg/fic", { yd: 3, xd: "ke" }) }; + Aca = function (a) { this.j = a; this.j.gk("/client_streamz/bg/fiec", { yd: 3, xd: "rk" }, { yd: 3, xd: "ke" }, { yd: 2, xd: "ec" }) }; + Bca = function (a) { this.j = a; this.j.fE("/client_streamz/bg/fil", { yd: 3, xd: "rk" }, { yd: 3, xd: "ke" }) }; + Cca = function (a) { this.j = a; this.j.gk("/client_streamz/bg/fcc", { yd: 2, xd: "ph" }, { yd: 3, xd: "ke" }) }; + Dca = function (a) { this.j = a; this.j.fE("/client_streamz/bg/fcd", { yd: 2, xd: "ph" }, { yd: 3, xd: "ke" }) }; + Eca = function (a) { this.j = a; this.j.gk("/client_streamz/bg/fsc", { yd: 3, xd: "rk" }, { yd: 3, xd: "ke" }) }; + Fca = function (a) { this.j = a; this.j.fE("/client_streamz/bg/fsl", { yd: 3, xd: "rk" }, { yd: 3, xd: "ke" }) }; + Gca = function (a) { this.j = a; this.j.fE("/client_streamz/bg/wrl", { yd: 3, xd: "mn" }, { yd: 2, xd: "ac" }, { yd: 2, xd: "sc" }, { yd: 3, xd: "rk" }, { yd: 3, xd: "mk" }) }; + Hca = function (a) { this.j = a; this.j.fE("/client_streamz/bg/el", { yd: 3, xd: "en" }, { yd: 3, xd: "bk" }, { yd: 3, xd: "rk" }, { yd: 3, xd: "mk" }) }; + Ica = function (a) { this.j = a; this.j.gk("/client_streamz/bg/cec", { yd: 2, xd: "ec" }, { yd: 3, xd: "bk" }, { yd: 3, xd: "rk" }, { yd: 3, xd: "mk" }) }; + Jca = function (a) { this.j = a; this.j.gk("/client_streamz/bg/po/csc", { yd: 2, xd: "cs" }, { yd: 3, xd: "rk" }, { yd: 3, xd: "mk" }) }; + Kca = function (a) { this.j = a; this.j.gk("/client_streamz/bg/po/ctav", { yd: 3, xd: "av" }, { yd: 3, xd: "rk" }, { yd: 3, xd: "mk" }) }; + Lca = function (a) { this.j = a; this.j.gk("/client_streamz/bg/po/cwsc", { yd: 3, xd: "su" }, { yd: 3, xd: "rk" }, { yd: 3, xd: "mk" }) }; + Re = function () { throw Error("Invalid UTF8"); }; + Mca = function (a, b) { b = String.fromCharCode.apply(null, b); return a == null ? b : a + b }; + Qca = function (a) { + var b = !1; b = b === void 0 ? !1 : b; if (Nca) { if (b && (Oca ? !a.isWellFormed() : /(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(a))) throw Error("Found an unpaired surrogate"); a = (Pca || (Pca = new TextEncoder)).encode(a) } else { + for (var c = 0, d = new Uint8Array(3 * a.length), e = 0; e < a.length; e++) { + var f = a.charCodeAt(e); if (f < 128) d[c++] = f; else { + if (f < 2048) d[c++] = f >> 6 | 192; else { + if (f >= 55296 && f <= 57343) { + if (f <= 56319 && e < a.length) { + var h = a.charCodeAt(++e); if (h >= 56320 && h <= 57343) { + f = (f - 55296) * 1024 + + h - 56320 + 65536; d[c++] = f >> 18 | 240; d[c++] = f >> 12 & 63 | 128; d[c++] = f >> 6 & 63 | 128; d[c++] = f & 63 | 128; continue + } else e-- + } if (b) throw Error("Found an unpaired surrogate"); f = 65533 + } d[c++] = f >> 12 | 224; d[c++] = f >> 6 & 63 | 128 + } d[c++] = f & 63 | 128 + } + } a = c === d.length ? d : d.subarray(0, c) + } return a + }; + Rca = function (a) { return Array.prototype.map.call(a, function (b) { b = b.toString(16); return b.length > 1 ? b : "0" + b }).join("") }; + Sca = function (a) { for (var b = [], c = 0; c < a.length; c += 2)b.push(parseInt(a.substring(c, c + 2), 16)); return b }; + g.Se = function (a) { for (var b = [], c = 0, d = 0; d < a.length; d++) { var e = a.charCodeAt(d); e < 128 ? b[c++] = e : (e < 2048 ? b[c++] = e >> 6 | 192 : ((e & 64512) == 55296 && d + 1 < a.length && (a.charCodeAt(d + 1) & 64512) == 56320 ? (e = 65536 + ((e & 1023) << 10) + (a.charCodeAt(++d) & 1023), b[c++] = e >> 18 | 240, b[c++] = e >> 12 & 63 | 128) : b[c++] = e >> 12 | 224, b[c++] = e >> 6 & 63 | 128), b[c++] = e & 63 | 128) } return b }; + g.Te = function (a, b) { b === void 0 && (b = 0); Tca(); b = Uca[b]; for (var c = Array(Math.floor(a.length / 3)), d = b[64] || "", e = 0, f = 0; e < a.length - 2; e += 3) { var h = a[e], l = a[e + 1], m = a[e + 2], n = b[h >> 2]; h = b[(h & 3) << 4 | l >> 4]; l = b[(l & 15) << 2 | m >> 6]; m = b[m & 63]; c[f++] = "" + n + h + l + m } n = 0; m = d; switch (a.length - e) { case 2: n = a[e + 1], m = b[(n & 15) << 2] || d; case 1: a = a[e], c[f] = "" + b[a >> 2] + b[(a & 3) << 4 | n >> 4] + m + d }return c.join("") }; + g.Ue = function (a, b) { if (Vca && !b) a = g.Ja.btoa(a); else { for (var c = [], d = 0, e = 0; e < a.length; e++) { var f = a.charCodeAt(e); f > 255 && (c[d++] = f & 255, f >>= 8); c[d++] = f } a = g.Te(c, b) } return a }; + Xca = function (a) { + var b = []; Wca(a, function (c) { b.push(c) }); + return b + }; + Ve = function (a) { + var b = a.length, c = b * 3 / 4; c % 3 ? c = Math.floor(c) : g.rb("=.", a[b - 1]) && (c = g.rb("=.", a[b - 2]) ? c - 2 : c - 1); var d = new Uint8Array(c), e = 0; Wca(a, function (f) { d[e++] = f }); + return e !== c ? d.subarray(0, e) : d + }; + Wca = function (a, b) { + function c(m) { for (; d < a.length;) { var n = a.charAt(d++), p = We[n]; if (p != null) return p; if (!g.pb(n)) throw Error("Unknown base64 encoding at char: " + n); } return m } + Tca(); for (var d = 0; ;) { var e = c(-1), f = c(0), h = c(64), l = c(64); if (l === 64 && e === -1) break; b(e << 2 | f >> 4); h != 64 && (b(f << 4 & 240 | h >> 2), l != 64 && b(h << 6 & 192 | l)) } + }; + Tca = function () { if (!We) { We = {}; for (var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""), b = ["+/=", "+/", "-_=", "-_.", "-_"], c = 0; c < 5; c++) { var d = a.concat(b[c].split("")); Uca[c] = d; for (var e = 0; e < d.length; e++) { var f = d[e]; We[f] === void 0 && (We[f] = e) } } } }; + Zca = function (a) { if (!Yca) return g.Te(a); for (var b = "", c = 0, d = a.length - 10240; c < d;)b += String.fromCharCode.apply(null, a.subarray(c, c += 10240)); b += String.fromCharCode.apply(null, c ? a.subarray(c) : a); return btoa(b) }; + ada = function (a) { return $ca[a] || "" }; + cda = function (a) { if (!Yca) return Ve(a); bda.test(a) && (a = a.replace(bda, ada)); a = atob(a); for (var b = new Uint8Array(a.length), c = 0; c < a.length; c++)b[c] = a.charCodeAt(c); return b }; + Xe = function (a) { return dda && a != null && a instanceof Uint8Array }; + eda = function (a) { if (a !== Ye) throw Error("illegal external caller"); }; + Ze = function (a, b) { eda(b); this.j = a; if (a != null && a.length === 0) throw Error("ByteString should be constructed with non-empty values"); }; + $e = function () { return fda || (fda = new Ze(null, Ye)) }; + bf = function (a) { return new Uint8Array(af(a) || 0) }; + af = function (a) { eda(Ye); var b = a.j; b = b == null || Xe(b) ? b : typeof b === "string" ? cda(b) : null; return b == null ? b : a.j = b }; + cf = function () { var a = Error(); Lba(a, "incident"); we(a) }; + df = function (a) { a = Error(a); Lba(a, "warning"); return a }; + ef = function () { return typeof BigInt === "function" }; + ff = function (a) { return Array.prototype.slice.call(a) }; + gf = function (a) { return typeof Symbol === "function" && typeof Symbol() === "symbol" ? Symbol() : a }; + gda = function (a, b) { hf(b, (a | 0) & -14591) }; + jf = function (a, b) { hf(b, (a | 34) & -14557) }; + kf = function (a) { return !(!a || typeof a !== "object" || a.j !== hda) }; + lf = function (a) { return a !== null && typeof a === "object" && !Array.isArray(a) && a.constructor === Object }; + mf = function (a, b, c) { if (a != null) if (typeof a === "string") a = a ? new Ze(a, Ye) : $e(); else if (a.constructor !== Ze) if (Xe(a)) a = a.length ? new Ze(c ? a : new Uint8Array(a), Ye) : $e(); else { if (!b) throw Error(); a = void 0 } return a }; + of = function (a, b, c) { if (!Array.isArray(a) || a.length) return !1; var d = nf(a); if (d & 1) return !0; if (!(b && (Array.isArray(b) ? b.includes(c) : b.has(c)))) return !1; hf(a, d | 1); return !0 }; + pf = function (a) { if (a & 2) throw Error(); }; + ida = function (a, b) { (b = qf ? b[qf] : void 0) && (a[qf] = ff(b)) }; + tf = function (a) { var b = a >>> 0; rf = b; sf = (a - b) / 4294967296 >>> 0 }; + xf = function (a) { if (a < 0) { tf(0 - a); var b = g.w(wf(rf, sf)); a = b.next().value; b = b.next().value; rf = a >>> 0; sf = b >>> 0 } else tf(a) }; + jda = function (a, b) { var c = b & 2147483648; c && (a = ~a + 1 >>> 0, b = ~b >>> 0, a == 0 && (b = b + 1 >>> 0)); a = b * 4294967296 + (a >>> 0); return c ? -a : a }; + yf = function (a, b) { b >>>= 0; a >>>= 0; if (b <= 2097151) var c = "" + (4294967296 * b + a); else ef() ? c = "" + (BigInt(b) << BigInt(32) | BigInt(a)) : (c = (a >>> 24 | b << 8) & 16777215, b = b >> 16 & 65535, a = (a & 16777215) + c * 6777216 + b * 6710656, c += b * 8147497, b *= 2, a >= 1E7 && (c += a / 1E7 >>> 0, a %= 1E7), c >= 1E7 && (b += c / 1E7 >>> 0, c %= 1E7), c = b + kda(c) + kda(a)); return c }; + kda = function (a) { a = String(a); return "0000000".slice(a.length) + a }; + lda = function () { var a = rf, b = sf; b & 2147483648 ? ef() ? a = "" + (BigInt(b | 0) << BigInt(32) | BigInt(a >>> 0)) : (b = g.w(wf(a, b)), a = b.next().value, b = b.next().value, a = "-" + yf(a, b)) : a = yf(a, b); return a }; + zf = function (a) { if (a.length < 16) xf(Number(a)); else if (ef()) a = BigInt(a), rf = Number(a & BigInt(4294967295)) >>> 0, sf = Number(a >> BigInt(32) & BigInt(4294967295)); else { var b = +(a[0] === "-"); sf = rf = 0; for (var c = a.length, d = 0 + b, e = (c - b) % 6 + b; e <= c; d = e, e += 6)d = Number(a.slice(d, e)), sf *= 1E6, rf = rf * 1E6 + d, rf >= 4294967296 && (sf += Math.trunc(rf / 4294967296), sf >>>= 0, rf >>>= 0); b && (b = g.w(wf(rf, sf)), a = b.next().value, b = b.next().value, rf = a, sf = b) } }; + wf = function (a, b) { b = ~b; a ? a = ~a + 1 : b += 1; return [a, b] }; + Af = function (a) { a.voa = !0; return a }; + Cf = function (a) { var b = a; if (mda(b)) { if (!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(b)) throw Error(String(b)); } else if (nda(b) && !Number.isSafeInteger(b)) throw Error(String(b)); return Bf ? BigInt(a) : a = oda(a) ? a ? "1" : "0" : mda(a) ? a.trim() || "0" : String(a) }; + pda = function (a, b) { if (a.length > b.length) return !1; if (a.length < b.length || a === b) return !0; for (var c = 0; c < a.length; c++) { var d = a[c], e = b[c]; if (d > e) return !1; if (d < e) return !0 } }; + Df = function (a) { if (a != null && typeof a !== "number") throw Error("Value of float/double field must be a number, found " + typeof a + ": " + a); return a }; + qda = function (a) { return a.displayName || a.name || "unknown type name" }; + Ef = function (a) { if (a != null && typeof a !== "boolean") throw Error("Expected boolean but got " + Na(a) + ": " + a); return a }; + Ff = function (a) { var b = typeof a; switch (b) { case "bigint": return !0; case "number": return Number.isFinite(a) }return b !== "string" ? !1 : rda.test(a) }; + sda = function (a) { if (typeof a !== "number") throw df("int32"); if (!Number.isFinite(a)) throw df("int32"); return a | 0 }; + Gf = function (a) { return a == null ? a : sda(a) }; + Hf = function (a) { if (a == null) return a; if (typeof a === "string") { if (!a) return; a = +a } if (typeof a === "number") return Number.isFinite(a) ? a | 0 : void 0 }; + If = function (a) { if (a == null) return a; if (typeof a === "string") { if (!a) return; a = +a } if (typeof a === "number") return Number.isFinite(a) ? a >>> 0 : void 0 }; + vda = function (a, b) { + b = b === void 0 ? 0 : b; if (!Ff(a)) throw df("int64"); var c = typeof a; switch (b) { + case 4096: switch (c) { case "string": return Jf(a); case "bigint": return String(BigInt.asIntN(64, a)); default: return tda(a) }case 8192: switch (c) { case "string": return Ff(a), b = Math.trunc(Number(a)), Number.isSafeInteger(b) ? a = Cf(b) : (b = a.indexOf("."), b !== -1 && (a = a.substring(0, b)), a = ef() ? Cf(BigInt.asIntN(64, BigInt(a))) : Cf(uda(a))), a; case "bigint": return Cf(BigInt.asIntN(64, a)); default: return Cf(Kf(a)) }case 0: switch (c) { + case "string": return Jf(a); + case "bigint": return Cf(BigInt.asIntN(64, a)); default: return Kf(a) + }default: return Ld(b, "Unknown format requested type for int64") + } + }; + Lf = function (a) { return a == null ? a : vda(a) }; + wda = function (a) { return a[0] === "-" ? !1 : a.length < 20 ? !0 : a.length === 20 && Number(a.substring(0, 6)) < 184467 }; + xda = function (a) { return a[0] === "-" ? a.length < 20 ? !0 : a.length === 20 && Number(a.substring(0, 7)) > -922337 : a.length < 19 ? !0 : a.length === 19 && Number(a.substring(0, 6)) < 922337 }; + yda = function (a) { if (a < 0) { xf(a); var b = yf(rf, sf); a = Number(b); return Number.isSafeInteger(a) ? a : b } if (wda(String(a))) return a; xf(a); return sf * 4294967296 + (rf >>> 0) }; + uda = function (a) { if (xda(a)) return a; zf(a); return lda() }; + Kf = function (a) { Ff(a); a = Math.trunc(a); Number.isSafeInteger(a) || (xf(a), a = jda(rf, sf)); return a }; + tda = function (a) { Ff(a); a = Math.trunc(a); if (Number.isSafeInteger(a)) a = String(a); else { var b = String(a); xda(b) ? a = b : (xf(a), a = lda()) } return a }; + Jf = function (a) { Ff(a); var b = Math.trunc(Number(a)); if (Number.isSafeInteger(b)) return String(b); b = a.indexOf("."); b !== -1 && (a = a.substring(0, b)); return uda(a) }; + Ada = function (a) { if (a == null) return a; if (typeof a === "bigint") return zda(Cf(a)) ? a = Number(BigInt.asIntN(54, a)) : (a = BigInt.asIntN(64, a), a = zda(Cf(a)) ? Number(a) : String(a)), a; if (Ff(a)) return typeof a === "number" ? Kf(a) : Jf(a) }; + Bda = function (a) { if (a == null) return a; var b = typeof a; if (b === "bigint") return String(BigInt.asIntN(64, a)); if (Ff(a)) { if (b === "string") return Jf(a); if (b === "number") return Kf(a) } }; + Cda = function (a) { if (a == null) return a; if (Ff(a)) { if (typeof a === "string") { Ff(a); var b = Math.trunc(Number(a)); Number.isSafeInteger(b) && b >= 0 ? a = String(b) : (b = a.indexOf("."), b !== -1 && (a = a.substring(0, b)), wda(a) || (zf(a), a = yf(rf, sf))); return a } if (typeof a === "number") return Ff(a), a = Math.trunc(a), a >= 0 && Number.isSafeInteger(a) ? a : yda(a) } }; + Dda = function (a) { if (a == null || typeof a == "string" || Xe(a) || a instanceof Ze) return a }; + Eda = function (a) { if (typeof a !== "string") throw Error(); return a }; + Mf = function (a) { if (a != null && typeof a !== "string") throw Error(); return a }; + Nf = function (a) { return a == null || typeof a === "string" ? a : void 0 }; + Of = function (a, b) { if (!(a instanceof b)) throw Error("Expected instanceof " + qda(b) + " but got " + (a && qda(a.constructor))); return a }; + Fda = function (a, b, c) { if (a != null && typeof a === "object" && a.eL === Pf) return a; if (Array.isArray(a)) { var d = nf(a), e = d; e === 0 && (e |= c & 32); e |= c & 2; e !== d && hf(a, e); return new b(a) } }; + Ida = function (a) { + var b = Qf(a); if (b) return b; if (Math.random() > .01 || typeof Proxy !== "function") return a; b = new Proxy(a, { set: function (c, d, e) { Gda(); c[d] = e; return !0 } }); + Hda(a, b); return b + }; + Gda = function () { cf() }; + Qf = function (a) { var b; return (b = Tf) == null ? void 0 : b.get(a) }; + Jda = function (a) { var b; return ((b = Uf) == null ? void 0 : b.get(a)) || a }; + Hda = function (a, b) { (Tf || (Tf = new WeakMap)).set(a, b); (Uf || (Uf = new WeakMap)).set(b, a) }; + Wf = function (a, b) { Vf = b; a = new a(b); Vf = void 0; return a }; + Yf = function (a) { switch (typeof a) { case "boolean": return Xf || (Xf = [0, void 0, !0]); case "number": return a > 0 ? void 0 : a === 0 ? Kda || (Kda = [0, void 0]) : [-a, void 0]; case "string": return [0, a]; case "object": return a } }; + Zf = function (a, b, c) { + a == null && (a = Vf); Vf = void 0; if (a == null) { var d = 96; c ? (a = [c], d |= 512) : a = []; b && (d = d & -16760833 | (b & 1023) << 14) } else { + if (!Array.isArray(a)) throw Error("narr"); d = nf(a); if (d & 2048) throw Error("farr"); if (d & 64) return a; d |= 64; if (c && (d |= 512, c !== a[0])) throw Error("mid"); a: { + c = a; var e = c.length; if (e) { var f = e - 1; if (lf(c[f])) { d |= 256; b = f - (+!!(d & 512) - 1); if (b >= 1024) throw Error("pvtlmt"); d = d & -16760833 | (b & 1023) << 14; break a } } if (b) { + b = Math.max(b, e - (+!!(d & 512) - 1)); if (b > 1024) throw Error("spvt"); d = d & -16760833 | (b & 1023) << + 14 + } + } + } hf(a, d); return a + }; + Mda = function (a, b) { return Lda(b) }; + Lda = function (a) { switch (typeof a) { case "number": return isFinite(a) ? a : String(a); case "boolean": return a ? 1 : 0; case "object": if (a) if (Array.isArray(a)) { if (of(a, void 0, 0)) return } else { if (Xe(a)) return Zca(a); if (a instanceof Ze) { var b = a.j; return b == null ? "" : typeof b === "string" ? b : a.j = Zca(b) } } }return a }; + Nda = function (a, b, c) { var d = ff(a), e = d.length, f = b & 256 ? d[e - 1] : void 0; e += f ? -1 : 0; for (b = b & 512 ? 1 : 0; b < e; b++)d[b] = c(d[b]); if (f) { b = d[b] = {}; for (var h in f) b[h] = c(f[h]) } ida(d, a); return d }; + Oda = function (a, b, c, d, e) { if (a != null) { if (Array.isArray(a)) a = of(a, void 0, 0) ? void 0 : e && nf(a) & 2 ? a : $f(a, b, c, d !== void 0, e); else if (lf(a)) { var f = {}, h; for (h in a) f[h] = Oda(a[h], b, c, d, e); a = f } else a = b(a, d); return a } }; + $f = function (a, b, c, d, e) { var f = d || c ? nf(a) : 0; d = d ? !!(f & 32) : void 0; for (var h = ff(a), l = 0; l < h.length; l++)h[l] = Oda(h[l], b, c, d, e); c && (ida(h, a), c(f, h)); return h }; + Pda = function (a) { return a.eL === Pf ? a.toJSON() : Lda(a) }; + Qda = function (a, b, c) { c = c === void 0 ? jf : c; if (a != null) { if (dda && a instanceof Uint8Array) return b ? a : new Uint8Array(a); if (Array.isArray(a)) { var d = nf(a); if (d & 2) return a; b && (b = d === 0 || !!(d & 32) && !(d & 64 || !(d & 16))); return b ? (hf(a, (d | 34) & -12293), a) : $f(a, Qda, d & 4 ? jf : c, !0, !0) } a.eL === Pf && (c = a.sb, d = ag(c), a = d & 2 ? a : Wf(a.constructor, bg(c, d, !0))); return a } }; + bg = function (a, b, c) { + var d = c || b & 2 ? jf : gda, e = !!(b & 32); a = Nda(a, b, function (f) { return Qda(f, e, d) }); + cg(a, 32 | (c ? 2 : 0)); return a + }; + dg = function (a) { var b = a.sb, c = ag(b); return c & 2 ? Wf(a.constructor, bg(b, c, !1)) : a }; + Sda = function (a, b, c, d) { if (!(4 & b)) return !0; if (c == null) return !1; !d && c === 0 && (4096 & b || 8192 & b) && (a.constructor[Rda] = (a.constructor[Rda] | 0) + 1) < 5 && cf(); return c === 0 ? !1 : !(c & b) }; + fg = function (a, b) { a = a.sb; return eg(a, ag(a), b) }; + Tda = function (a, b, c, d) { b = d + (+!!(b & 512) - 1); if (!(b < 0 || b >= a.length || b >= c)) return a[b] }; + eg = function (a, b, c, d) { if (c === -1) return null; var e = b >> 14 & 1023 || 536870912; if (c >= e) { if (b & 256) return a[a.length - 1][c] } else { var f = a.length; if (d && b & 256 && (d = a[f - 1][c], d != null)) { if (Tda(a, b, e, c) && gg != null) { var h; a = (h = Uda) != null ? h : Uda = {}; h = a[gg] || 0; h >= 4 || (a[gg] = h + 1, cf()) } return d } return Tda(a, b, e, c) } }; + ig = function (a, b, c) { var d = a.sb, e = ag(d); pf(e); hg(d, e, b, c); return a }; + hg = function (a, b, c, d, e) { var f = b >> 14 & 1023 || 536870912; if (c >= f || e && !Vda) { var h = b; if (b & 256) e = a[a.length - 1]; else { if (d == null) return h; e = a[f + (+!!(b & 512) - 1)] = {}; h |= 256 } e[c] = d; c < f && (a[c + (+!!(b & 512) - 1)] = void 0); h !== b && hf(a, h); return h } a[c + (+!!(b & 512) - 1)] = d; b & 256 && (a = a[a.length - 1], c in a && delete a[c]); return b }; + jg = function (a, b, c) { return Wda(a, b, c, !1) !== void 0 }; + ng = function (a, b, c, d, e) { var f = b & 2, h = eg(a, b, c, e); Array.isArray(h) || (h = lg); var l = !(d & 2); d = !(d & 1); var m = !!(b & 32), n = nf(h); n !== 0 || !m || f || l ? n & 1 || (n |= 1, hf(h, n)) : (n |= 33, hf(h, n)); f ? (a = !1, n & 2 || (cg(h, 34), a = !!(4 & n)), (d || a) && Object.freeze(h)) : (f = !!(2 & n) || !!(2048 & n), d && f ? (h = ff(h), d = 1, m && !l && (d |= 32), hf(h, d), hg(a, b, c, h, e)) : l && n & 32 && !f && mg(h, 32)); return h }; + Zda = function (a, b, c, d, e, f) { + var h = a.sb, l = ag(h), m = 2 & l ? 1 : d; f = !!f; d = Xda(h, l, b, e); var n = nf(d); if (Sda(a, n, void 0, f)) { if (4 & n || Object.isFrozen(d)) d = ff(d), n = og(n, l), l = hg(h, l, b, d, e); for (var p = a = 0; a < d.length; a++) { var q = c(d[a]); q != null && (d[p++] = q) } p < a && (d.length = p); n = Yda(n, l); n = (n | 20) & -4097; n &= -8193; hf(d, n); 2 & n && Object.freeze(d) } var r; m === 1 || m === 4 && 32 & n ? pg(n) || (f = n, n |= 2, n !== f && hf(d, n), Object.freeze(d)) : (c = m !== 5 ? !1 : !!(32 & n) || pg(n) || !!Qf(d), (m === 2 || c) && pg(n) && (d = ff(d), n = og(n, l), n = qg(n, l, f), hf(d, n), l = hg(h, l, b, d, + e)), pg(n) || (b = n, n = qg(n, l, f), n !== b && hf(d, n)), c && (r = Ida(d))); return r || d + }; + Xda = function (a, b, c, d) { a = eg(a, b, c, d); return Array.isArray(a) ? a : lg }; + Yda = function (a, b) { a === 0 && (a = og(a, b)); return a | 1 }; + pg = function (a) { return !!(2 & a) && !!(4 & a) || !!(2048 & a) }; + $da = function (a) { return mf(a, !0, !0) }; + aea = function (a) { return mf(a, !0, !1) }; + rg = function (a, b) { a = a.sb; var c = ag(a), d = eg(a, c, b), e = mf(d, !0, !!(c & 34)); e != null && e !== d && hg(a, c, b, e); return e == null ? $e() : e }; + cea = function (a, b, c) { var d = a.sb, e = ag(d); pf(e); if (b == null) return hg(d, e, 3), a; b = Jda(b); if (!Array.isArray(b)) throw df(); var f = nf(b), h = f, l = !!(2 & f) || Object.isFrozen(b), m = !l && (void 0 === bea || !1); if (Sda(a, f)) for (f = 21, l && (b = ff(b), h = 0, f = og(f, e), f = qg(f, e, !0)), l = 0; l < b.length; l++)b[l] = c(b[l]); m && (b = ff(b), h = 0, f = og(f, e), f = qg(f, e, !0)); f !== h && hf(b, f); hg(d, e, 3, b); return a }; + sg = function (a, b, c, d) { var e = a.sb, f = ag(e); pf(f); hg(e, f, b, (d === "0" ? Number(c) === 0 : c === d) ? void 0 : c); return a }; + tg = function (a, b, c, d) { var e = ag(a); pf(e); a = ng(a, e, b, 2); b = nf(a); b = 4 & b ? 4096 & b ? 4096 : 8192 & b ? 8192 : 0 : void 0; d = c(d, b != null ? b : 0); a.push(d) }; + dea = function (a) { return a }; + xg = function (a, b, c, d) { var e = a.sb, f = ag(e); pf(f); if (d == null) { var h = ug(e); if (vg(h, e, f, c) === b) h.set(c, 0); else return a } else f = wg(e, f, c, b); hg(e, f, b, d); return a }; + yg = function (a, b, c, d) { var e = ag(a); e = wg(a, e, c, b); hg(a, e, b, d) }; + zg = function (a, b) { a = a.sb; return vg(ug(a), a, ag(a), b) }; + ug = function (a) { if (Ag) { var b; return (b = a[Bg]) != null ? b : a[Bg] = new Map } if (Bg in a) return a[Bg]; b = new Map; Object.defineProperty(a, Bg, { value: b }); return b }; + wg = function (a, b, c, d) { c.includes(d); var e = ug(a), f = vg(e, a, b, c); f !== d && (f && (b = hg(a, b, f)), e.set(c, d)); return b }; + vg = function (a, b, c, d) { var e = a.get(d); if (e != null) return e; for (var f = e = 0; f < d.length; f++) { var h = d[f]; eg(b, c, h) != null && (e !== 0 && (c = hg(b, c, e)), e = h) } a.set(d, e); return e }; + Cg = function (a, b, c, d) { var e = ag(a), f = eg(a, e, c, d), h; if (f != null && f.eL === Pf) return b = dg(f), b !== f && hg(a, e, c, b, d), b.sb; if (Array.isArray(f)) { var l = nf(f); l & 2 ? h = bg(f, l, !1) : h = f; h = Zf(h, b[0], b[1]) } else h = Zf(void 0, b[0], b[1]); h !== f && hg(a, e, c, h, d); return h }; + Wda = function (a, b, c, d) { a = a.sb; var e = ag(a), f = eg(a, e, c, d); b = Fda(f, b, e); b !== f && b != null && hg(a, e, c, b, d); return b }; + Dg = function (a, b, c, d) { d = d === void 0 ? !1 : d; b = Wda(a, b, c, d); if (b == null) return b; a = a.sb; var e = ag(a); if (!(e & 2)) { var f = dg(b); f !== b && (b = f, hg(a, e, c, b, d)) } return b }; + eea = function (a, b, c, d, e, f, h) { + var l = !!(2 & b); e = l ? 1 : e; f = !!f; h && (h = !l); l = Xda(a, b, d); var m = nf(l), n = !!(4 & m); if (!n) { m = Yda(m, b); var p = l, q = b, r = !!(2 & m); r && (q |= 2); for (var t = !r, u = !0, y = 0, A = 0; y < p.length; y++) { var D = Fda(p[y], c, q); if (D instanceof c) { if (!r) { var F = !!(nf(D.sb) & 2); t && (t = !F); u && (u = F) } p[A++] = D } } A < y && (p.length = A); m |= 4; m = u ? m | 16 : m & -17; m = t ? m | 8 : m & -9; hf(p, m); r && Object.freeze(p) } if (h && !(8 & m || !l.length && (e === 1 || e === 4 && 32 & m))) { + pg(m) && (l = ff(l), m = og(m, b), b = hg(a, b, d, l)); c = l; h = m; for (p = 0; p < c.length; p++)m = c[p], q = dg(m), + m !== q && (c[p] = q); h |= 8; h = c.length ? h & -17 : h | 16; hf(c, h); m = h + } var H; e === 1 || e === 4 && 32 & m ? pg(m) || (b = m, m |= !l.length || 16 & m && (!n || 32 & m) ? 2 : 2048, m !== b && hf(l, m), Object.freeze(l)) : (n = e !== 5 ? !1 : !!(32 & m) || pg(m) || !!Qf(l), (e === 2 || n) && pg(m) && (l = ff(l), m = og(m, b), m = qg(m, b, f), hf(l, m), b = hg(a, b, d, l)), pg(m) || (a = m, m = qg(m, b, f), m !== a && hf(l, m)), n && (H = Ida(l))); return H || l + }; + gea = function (a, b) { a = a.sb; var c = ag(a); return eea(a, c, b, 3, void 0 === fea ? 2 : 5, !1, !(2 & c)) }; + Eg = function (a, b, c, d) { d != null ? Of(d, b) : d = void 0; return ig(a, c, d) }; + Fg = function (a, b, c, d, e) { e != null ? Of(e, b) : e = void 0; xg(a, c, d, e) }; + Gg = function (a, b, c, d) { var e = a.sb, f = ag(e); pf(f); if (d == null) return hg(e, f, c), a; d = Jda(d); if (!Array.isArray(d)) throw df(); for (var h = nf(d), l = h, m = !!(2 & h) || !!(2048 & h), n = m || Object.isFrozen(d), p = !n && (void 0 === bea || !1), q = !0, r = !0, t = 0; t < d.length; t++) { var u = d[t]; Of(u, b); m || (u = !!(nf(u.sb) & 2), q && (q = !u), r && (r = u)) } m || (h |= 5, h = q ? h | 8 : h & -9, h = r ? h | 16 : h & -17); if (p || n && h !== l) d = ff(d), l = 0, h = og(h, f), h = qg(h, f, !0); h !== l && hf(d, h); hg(e, f, c, d); return a }; + og = function (a, b) { a = (2 & b ? a | 2 : a & -3) | 32; return a &= -2049 }; + qg = function (a, b, c) { 32 & b && c || (a &= -33); return a }; + Hg = function (a, b, c, d) { a = a.sb; var e = ag(a); pf(e); b = eea(a, e, c, b, 2, !0); c = d != null ? Of(d, c) : new c; b.push(c); nf(c.sb) & 2 ? mg(b, 8) : mg(b, 16) }; + hea = function (a) { a = fg(a, 1); var b = b === void 0 ? !1 : b; var c = typeof a; b = a == null ? a : c === "bigint" ? String(BigInt.asIntN(64, a)) : Ff(a) ? c === "string" ? Jf(a) : b ? tda(a) : Kf(a) : void 0; return b }; + Ig = function (a, b) { return a != null ? a : b }; + Jg = function (a, b) { return Nf(fg(a, b)) }; + Kg = function (a, b, c) { c = c === void 0 ? 0 : c; return Ig(Hf(fg(a, b)), c) }; + Lg = function (a, b) { var c = c === void 0 ? 0 : c; return Ig(If(fg(a, b)), c) }; + Mg = function (a, b) { var c = c === void 0 ? "" : c; return Ig(Jg(a, b), c) }; + Ng = function (a, b) { var c = 0; c = c === void 0 ? 0 : c; a = fg(a, b); a = a == null ? a : Number.isFinite(a) ? a | 0 : void 0; return Ig(a, c) }; + Rg = function (a, b, c) { return ig(a, b, Lf(c)) }; + Sg = function (a, b, c) { return ig(a, b, Mf(c)) }; + Tg = function (a, b, c) { return sg(a, b, Mf(c), "") }; + Ug = function (a, b, c) { if (c != null) { if (!Number.isFinite(c)) throw df("enum"); c |= 0 } return ig(a, b, c) }; + iea = function (a, b) { return Error("Invalid wire type: " + a + " (at position " + b + ")") }; + Vg = function () { return Error("Failed to read varint, encoding is invalid.") }; + jea = function (a, b) { return Error("Tried to read past the end of the data " + b + " > " + a) }; + Wg = function (a) { + if (typeof a === "string") return { buffer: cda(a), Cx: !1 }; if (Array.isArray(a)) return { buffer: new Uint8Array(a), Cx: !1 }; if (a.constructor === Uint8Array) return { buffer: a, Cx: !1 }; if (a.constructor === ArrayBuffer) return { buffer: new Uint8Array(a), Cx: !1 }; if (a.constructor === Ze) return { buffer: af(a) || new Uint8Array(0), Cx: !0 }; if (a instanceof Uint8Array) return { buffer: new Uint8Array(a.buffer, a.byteOffset, a.byteLength), Cx: !1 }; throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers"); + }; + Xg = function (a, b) { this.B = null; this.G = !1; this.j = this.C = this.D = 0; this.init(a, void 0, void 0, b) }; + Zg = function (a) { var b = 0, c = 0, d = 0, e = a.B, f = a.j; do { var h = e[f++]; b |= (h & 127) << d; d += 7 } while (d < 32 && h & 128); d > 32 && (c |= (h & 127) >> 4); for (d = 3; d < 32 && h & 128; d += 7)h = e[f++], c |= (h & 127) << d; Yg(a, f); if (h < 128) return jda(b >>> 0, c >>> 0); throw Vg(); }; + Yg = function (a, b) { a.j = b; if (b > a.C) throw jea(a.C, b); }; + $g = function (a) { var b = a.B, c = a.j, d = b[c++], e = d & 127; if (d & 128 && (d = b[c++], e |= (d & 127) << 7, d & 128 && (d = b[c++], e |= (d & 127) << 14, d & 128 && (d = b[c++], e |= (d & 127) << 21, d & 128 && (d = b[c++], e |= d << 28, d & 128 && b[c++] & 128 && b[c++] & 128 && b[c++] & 128 && b[c++] & 128 && b[c++] & 128))))) throw Vg(); Yg(a, c); return e }; + ah = function (a) { var b = a.B, c = a.j, d = b[c + 0], e = b[c + 1], f = b[c + 2]; b = b[c + 3]; Yg(a, a.j + 4); return (d << 0 | e << 8 | f << 16 | b << 24) >>> 0 }; + bh = function (a) { var b = ah(a); return ah(a) * 4294967296 + (b >>> 0) }; + ch = function (a) { var b = ah(a), c = ah(a); a = (c >> 31) * 2 + 1; var d = c >>> 20 & 2047; b = 4294967296 * (c & 1048575) + b; return d == 2047 ? b ? NaN : a * Infinity : d == 0 ? a * Math.pow(2, -1074) * b : a * Math.pow(2, d - 1075) * (b + 4503599627370496) }; + dh = function (a) { for (var b = 0, c = a.j, d = c + 10, e = a.B; c < d;) { var f = e[c++]; b |= f; if ((f & 128) === 0) return Yg(a, c), !!(b & 127) } throw Vg(); }; + kea = function (a, b) { if (b < 0) throw Error("Tried to read a negative byte length: " + b); var c = a.j, d = c + b; if (d > a.C) throw jea(b, a.C - c); a.j = d; return c }; + mea = function (a, b) { if (b == 0) return $e(); var c = kea(a, b); a.QI && a.G ? c = a.B.subarray(c, c + b) : (a = a.B, b = c + b, c = c === b ? new Uint8Array(0) : lea ? a.slice(c, b) : new Uint8Array(a.subarray(c, b))); return c.length == 0 ? $e() : new Ze(c, Ye) }; + fh = function (a, b) { if (eh.length) { var c = eh.pop(); c.init(a, void 0, void 0, b); a = c } else a = new Xg(a, b); this.j = a; this.C = this.j.j; this.B = this.D = -1; nea(this, b) }; + nea = function (a, b) { b = b === void 0 ? {} : b; a.pP = b.pP === void 0 ? !1 : b.pP }; + oea = function (a) { var b = a.j; if (b.j == b.C) return !1; a.C = a.j.j; var c = $g(a.j) >>> 0; b = c >>> 3; c &= 7; if (!(c >= 0 && c <= 5)) throw iea(c, a.C); if (b < 1) throw Error("Invalid field number: " + b + " (at position " + a.C + ")"); a.D = b; a.B = c; return !0 }; + gh = function (a) { switch (a.B) { case 0: a.B != 0 ? gh(a) : dh(a.j); break; case 1: a = a.j; Yg(a, a.j + 8); break; case 2: if (a.B != 2) gh(a); else { var b = $g(a.j) >>> 0; a = a.j; Yg(a, a.j + b) } break; case 5: a = a.j; Yg(a, a.j + 4); break; case 3: b = a.D; do { if (!oea(a)) throw Error("Unmatched start-group tag: stream EOF"); if (a.B == 4) { if (a.D != b) throw Error("Unmatched end-group tag"); break } gh(a) } while (1); break; default: throw iea(a.B, a.C); } }; + hh = function (a, b, c) { var d = a.j.C, e = $g(a.j) >>> 0, f = a.j.j + e, h = f - d; h <= 0 && (a.j.C = f, c(b, a, void 0, void 0, void 0), h = f - a.j.j); if (h) throw Error("Message parsing ended unexpectedly. Expected to read " + (e + " bytes, instead read " + (e - h) + " bytes, either the data ended unexpectedly or the message misreported its own length")); a.j.j = f; a.j.C = d }; + kh = function (a) { + var b = $g(a.j) >>> 0; a = a.j; var c = kea(a, b); a = a.B; if (pea) { var d = a, e; (e = ih) || (e = ih = new TextDecoder("utf-8", { fatal: !0 })); b = c + b; d = c === 0 && b === d.length ? d : d.subarray(c, b); try { var f = e.decode(d) } catch (n) { if (jh === void 0) { try { e.decode(new Uint8Array([128])) } catch (p) { } try { e.decode(new Uint8Array([97])), jh = !0 } catch (p) { jh = !1 } } !jh && (ih = void 0); throw n; } } else { + f = c; b = f + b; c = []; for (var h = null, l, m; f < b;)l = a[f++], l < 128 ? c.push(l) : l < 224 ? f >= b ? Re() : (m = a[f++], l < 194 || (m & 192) !== 128 ? (f--, Re()) : c.push((l & 31) << 6 | m & 63)) : + l < 240 ? f >= b - 1 ? Re() : (m = a[f++], (m & 192) !== 128 || l === 224 && m < 160 || l === 237 && m >= 160 || ((e = a[f++]) & 192) !== 128 ? (f--, Re()) : c.push((l & 15) << 12 | (m & 63) << 6 | e & 63)) : l <= 244 ? f >= b - 2 ? Re() : (m = a[f++], (m & 192) !== 128 || (l << 28) + (m - 144) >> 30 !== 0 || ((e = a[f++]) & 192) !== 128 || ((d = a[f++]) & 192) !== 128 ? (f--, Re()) : (l = (l & 7) << 18 | (m & 63) << 12 | (e & 63) << 6 | d & 63, l -= 65536, c.push((l >> 10 & 1023) + 55296, (l & 1023) + 56320))) : Re(), c.length >= 8192 && (h = Mca(h, c), c.length = 0); f = Mca(h, c) + } return f + }; + qea = function (a) { var b = $g(a.j) >>> 0; return mea(a.j, b) }; + rea = function (a) { return a }; + lh = function (a) { return a }; + vea = function (a, b, c, d) { return sea(a, b, c, d, tea, uea) }; + yea = function (a, b, c, d) { return sea(a, b, c, d, wea, xea) }; + sea = function (a, b, c, d, e, f) { + if (!c.length && !d) return 0; for (var h = 0, l = 0, m = 0, n = 0, p = 0, q = c.length - 1; q >= 0; q--) { var r = c[q]; d && q === c.length - 1 && r === d || (n++, r != null && m++) } if (d) for (var t in d) q = +t, isNaN(q) || (p += zea(q), l++, q > h && (h = q)); n = e(n, m) + f(l, h, p); t = m; q = l; r = h; for (var u = p, y = c.length - 1; y >= 0; y--) { var A = c[y]; if (!(A == null || d && y === c.length - 1 && A === d)) { A = y - b; var D = e(A, t) + f(q, r, u); D < n && (a = 1 + A, n = D); q++; t--; u += zea(A); r = Math.max(r, A) } } b = e(0, 0) + f(q, r, u); b < n && (a = 0, n = b); if (d) { + q = l; r = h; u = p; t = m; for (var F in d) d = +F, isNaN(d) || + d >= 1024 || (q--, t++, u -= F.length, h = e(d, t) + f(q, r, u), h < n && (a = 1 + d, n = h)) + } return a + }; + xea = function (a, b, c) { return c + a * 3 + (a > 1 ? a - 1 : 0) }; + wea = function (a, b) { return (a > 1 ? a - 1 : 0) + (a - b) * 4 }; + uea = function (a, b) { return a == 0 ? 0 : 9 * Math.max(1 << 32 - Math.clz32(a + a / 2 - 1), 4) <= b ? a == 0 ? 0 : a < 4 ? 100 + (a - 1) * 16 : a < 6 ? 148 + (a - 4) * 16 : a < 12 ? 244 + (a - 6) * 16 : a < 22 ? 436 + (a - 12) * 19 : a < 44 ? 820 + (a - 22) * 17 : 52 + 32 * a : 40 + 4 * b }; + tea = function (a) { return 40 + 4 * a }; + zea = function (a) { return a >= 100 ? a >= 1E4 ? Math.ceil(Math.log10(1 + a)) : a < 1E3 ? 3 : 4 : a < 10 ? 1 : 2 }; + mh = function (a, b, c) { this.sb = Zf(a, b, c) }; + Aea = function (a, b) { if (b == null || b == "") return new a; b = JSON.parse(b); if (!Array.isArray(b)) throw Error("dnarr"); cg(b, 32); return Wf(a, b) }; + ph = function (a) { + var b = nh ? a.sb : $f(a.sb, Pda, void 0, void 0, !1); var c = !nh; var d = Bea ? void 0 : a.constructor.kpa; var e = ag(c ? a.sb : b); if (a = b.length) { + var f = b[a - 1], h = lf(f); h ? a-- : f = void 0; var l = +!!(e & 512) - 1, m = a - l, n = !!oh && Vda && !(e & 512), p; e = (p = oh) != null ? p : lh; e = n ? e(m, l, b, f) : m; p = (m = n && m !== e) ? Array.prototype.slice.call(b, 0, a) : b; if (h || m) { + b: { + var q = p; var r = f; h = {}; n = !1; if (m) for (var t = Math.max(0, e + l); t < q.length; t++) { var u = q[t], y = t - l; u == null || of(u, d, y) || kf(u) && u.size === 0 || (q[t] = void 0, h[y] = u, n = !0) } if (r) for (var A in r) if (t = + +A, isNaN(t)) h[A] = r[A]; else if (u = r[A], Array.isArray(u) && (of(u, d, +A) || kf(u) && u.size === 0) && (u = null), u == null && (n = !0), m && t < e) { n = !0; u = t + l; for (y = q.length; y <= u; y++)q.push(void 0); q[u] = r[t] } else u != null && (h[A] = u); if (n) { for (var D in h) { r = h; break b } r = null } + } q = r == null ? f != null : r !== f + } m && (a = p.length); for (var F; a > 0; a--) { D = a - 1; A = p[D]; D -= l; if (!(A == null || of(A, d, D) || kf(A) && A.size === 0)) break; F = !0 } if (p !== b || q || F) { if (!m && !c) p = Array.prototype.slice.call(p, 0, a); else if (F || q || r) p.length = a; r && p.push(r) } b = p + } return b + }; + Cea = function (a, b) { this.B = a >>> 0; this.j = b >>> 0 }; + Eea = function (a) { if (!a) return Dea || (Dea = new Cea(0, 0)); if (!/^\d+$/.test(a)) return null; zf(a); return new Cea(rf, sf) }; + Fea = function (a, b) { this.B = a >>> 0; this.j = b >>> 0 }; + Hea = function (a) { if (!a) return Gea || (Gea = new Fea(0, 0)); if (!/^-?\d+$/.test(a)) return null; zf(a); return new Fea(rf, sf) }; + qh = function () { this.j = [] }; + Iea = function (a, b, c) { for (; c > 0 || b > 127;)a.j.push(b & 127 | 128), b = (b >>> 7 | c << 25) >>> 0, c >>>= 7; a.j.push(b) }; + rh = function (a, b) { for (; b > 127;)a.j.push(b & 127 | 128), b >>>= 7; a.j.push(b) }; + Jea = function (a, b) { if (b >= 0) rh(a, b); else { for (var c = 0; c < 9; c++)a.j.push(b & 127 | 128), b >>= 7; a.j.push(1) } }; + sh = function (a, b) { a.j.push(b >>> 0 & 255); a.j.push(b >>> 8 & 255); a.j.push(b >>> 16 & 255); a.j.push(b >>> 24 & 255) }; + Kea = function () { this.C = []; this.B = 0; this.j = new qh }; + th = function (a, b) { b.length !== 0 && (a.C.push(b), a.B += b.length) }; + wh = function (a, b, c) { rh(a.j, b * 8 + c) }; + Lea = function (a, b, c) { c != null && (typeof c === "string" && Eea(c), wh(a, b, 1), typeof c === "number" ? (a = a.j, tf(c), sh(a, rf), sh(a, sf)) : (c = Eea(c), a = a.j, b = c.j, sh(a, c.B), sh(a, b))) }; + xh = function (a, b, c) { wh(a, b, 2); rh(a.j, c.length); th(a, a.j.end()); th(a, c) }; + yh = function (a, b, c, d) { this.kN = a; this.lN = b; this.j = c; this.X3 = d }; + Nea = function (a) { return Array.isArray(a) ? a[0] instanceof yh ? a : [Mea, a] : [a, void 0] }; + zh = function (a, b, c) { if (Array.isArray(b)) { var d = nf(b); if (d & 4) return b; for (var e = 0, f = 0; e < b.length; e++) { var h = a(b[e]); h != null && (b[f++] = h) } f < e && (b.length = f); c && (hf(b, (d | 5) & -12289), d & 2 && Object.freeze(b)); return b } }; + Dh = function (a) { + var b = a[Oea]; if (!b) { + var c = Pea(a), d = Ah(a), e = d.C; b = e ? function (f, h) { return e(f, h, d) } : function (f, h) { + for (; oea(h) && h.B != 4;) { + var l = h.D, m = d[l]; + if (!m) { var n = d.extensions; n && (n = n[l]) && (m = d[l] = Qea(n)) } m && m(h, f, l) || (m = h, l = m.C, gh(m), m.pP ? m = void 0 : (n = m.j.j - l, m.j.j = l, m = mea(m.j, n)), l = f, m && (qf || (qf = Symbol()), (n = l[qf]) ? n.push(m) : l[qf] = [m])) + } c === Bh || c === Ch || c.G || (f[Rea || (Rea = Symbol())] = c) + }; + a[Oea] = b + } return b + }; + Qea = function (a) { a = Nea(a); var b = a[0].kN; if (a = a[1]) { var c = Dh(a), d = Ah(a).pB; return function (e, f, h) { return b(e, f, h, d, c) } } return b }; + Eh = function () { }; + Sea = function (a, b, c) { var d = c[1]; if (d) { var e = d[Fh]; var f = e ? e.pB : Yf(d[0]); a[b] = e != null ? e : d } f && f === Xf ? (a.j || (a.j = new Set)).add(b) : c[0] && (a.B || (a.B = new Set)).add(b) }; + Tea = function (a, b) { return [a.j, !b || b[0] > 0 ? void 0 : b] }; + Pea = function (a) { var b = a[Fh]; if (b) return b; b = Gh(a, a[Fh] = new Eh, Tea, Tea, Sea); if (!b.extensions && !b.B && !b.j) { var c = !0, d; for (d in b) isNaN(d) || (c = !1); c ? (Yf(a[0]) === Xf ? Ch ? b = Ch : (b = new Eh, b.pB = Yf(!0), b = Ch = b) : b = Bh || (Bh = new Eh), b = a[Fh] = b) : b.G = !0 } return b }; + Uea = function (a, b, c) { a[b] = c }; + Gh = function (a, b, c, d, e) { + e = e === void 0 ? Uea : e; b.pB = Yf(a[0]); var f = 0, h = a[++f]; h && h.constructor === Object && (b.extensions = h, h = a[++f], typeof h === "function" && (b.C = h, b.D = a[++f], h = a[++f])); for (var l = {}; Array.isArray(h) && typeof h[0] === "number" && h[0] > 0;) { for (var m = 0; m < h.length; m++)l[h[m]] = h; h = a[++f] } for (m = 1; h !== void 0;) { + typeof h === "number" && (m += h, h = a[++f]); var n = void 0; if (h instanceof yh) var p = h; else p = Vea, f--; if (p.X3) { h = a[++f]; n = a; var q = f; typeof h == "function" && (h = h(), n[q] = h); n = h } h = a[++f]; q = m + 1; typeof h === "number" && + h < 0 && (q -= h, h = a[++f]); for (; m < q; m++) { var r = l[m]; e(b, m, n ? d(p, n, r) : c(p, r)) } + } return b + }; + Yea = function (a) { + var b = a[Wea]; if (!b) { + var c = Hh(a); b = function (d, e) { return Xea(d, e, c) }; + a[Wea] = b + } return b + }; + Zea = function (a) { return a.lN }; + $ea = function (a, b) { var c, d, e = a.lN; return function (f, h, l) { return e(f, h, l, d || (d = Hh(b).pB), c || (c = Yea(b))) } }; + Hh = function (a) { var b = a[Ih]; if (b) return b; b = Gh(a, a[Ih] = {}, Zea, $ea); afa(a); return b }; + bfa = function (a, b) { var c = a.kN; return b ? function (d, e, f) { return c(d, e, f, b) } : c }; + cfa = function (a, b, c) { var d = a.kN, e, f; return function (h, l, m) { return d(h, l, m, f || (f = Ah(b).pB), e || (e = Dh(b)), c) } }; + Ah = function (a) { var b = a[Jh]; if (b) return b; Pea(a); b = Gh(a, a[Jh] = {}, bfa, cfa); afa(a); return b }; + afa = function (a) { Jh in a && Fh in a && Ih in a && (a.length = 0) }; + dfa = function (a, b) { + var c = a[b]; if (c) return c; if (c = a.extensions) if (c = c[b]) { + c = Nea(c); var d = c[0].lN; if (c = c[1]) { var e = Yea(c), f = Hh(c).pB; c = (c = a.D) ? c(f, e) : function (h, l, m) { return d(h, l, m, f, e) } } else c = d; + return a[b] = c + } + }; + Xea = function (a, b, c) { for (var d = ag(a), e = +!!(d & 512) - 1, f = a.length, h = f + (d & 256 ? -1 : 0), l = d & 512 ? 1 : 0; l < h; l++) { var m = a[l]; if (m != null) { var n = l - e, p = dfa(c, n); p && p(b, m, n) } } if (d & 256) { d = a[f - 1]; for (var q in d) e = +q, Number.isNaN(e) || (f = d[q], f != null && (h = dfa(c, e)) && h(b, f, e)) } if (a = qf ? a[qf] : void 0) for (th(b, b.j.end()), c = 0; c < a.length; c++)th(b, af(a[c]) || new Uint8Array(0)) }; + Kh = function (a, b) { return new yh(a, b, !1, !1) }; + Lh = function (a, b) { return new yh(a, b, !0, !1) }; + Mh = function (a, b, c) { hg(a, ag(a), b, c) }; + Nh = function (a, b, c) { b = b == null || typeof b === "number" ? b : b === "NaN" || b === "Infinity" || b === "-Infinity" ? Number(b) : void 0; b != null && (wh(a, c, 1), a = a.j, c = efa || (efa = new DataView(new ArrayBuffer(8))), c.setFloat64(0, +b, !0), rf = c.getUint32(0, !0), sf = c.getUint32(4, !0), sh(a, rf), sh(a, sf)) }; + Oh = function (a, b, c) { b = Bda(b); b != null && (typeof b === "string" && Hea(b), b != null && (wh(a, c, 0), typeof b === "number" ? (a = a.j, xf(b), Iea(a, rf, sf)) : (c = Hea(b), Iea(a.j, c.B, c.j)))) }; + Ph = function (a, b, c) { b = Hf(b); b != null && b != null && (wh(a, c, 0), Jea(a.j, b)) }; + ffa = function (a, b, c) { b = b == null || typeof b === "boolean" ? b : typeof b === "number" ? !!b : void 0; b != null && (wh(a, c, 0), a.j.j.push(b ? 1 : 0)) }; + gfa = function (a, b, c) { b = Nf(b); b != null && xh(a, c, Qca(b)) }; + Qh = function (a, b, c, d, e) { b = b instanceof mh ? b.sb : Array.isArray(b) ? Zf(b, d[0], d[1]) : void 0; if (b != null) { wh(a, c, 2); c = a.j.end(); th(a, c); c.push(a.B); e(b, a); e = c.pop(); for (e = a.B + a.j.length() - e; e > 127;)c.push(e & 127 | 128), e >>>= 7, a.B++; c.push(e); a.B++ } }; + hfa = function (a) { return function () { var b = new Kea; Xea(this.sb, b, Hh(a)); th(b, b.j.end()); for (var c = new Uint8Array(b.B), d = b.C, e = d.length, f = 0, h = 0; h < e; h++) { var l = d[h]; c.set(l, f); f += l.length } b.C = [c]; return c } }; + Rh = function (a) { return function (b) { return Aea(a, b) } }; + ifa = function (a) { this.sb = Zf(a) }; + Sh = function (a) { this.sb = Zf(a) }; + Th = function (a) { this.sb = Zf(a) }; + Uh = function (a) { this.sb = Zf(a) }; + Wh = function (a) { this.sb = Zf(a) }; + jfa = function (a) { this.sb = Zf(a) }; + g.kfa = function (a) { + var b = new Wh; b = Sg(b, 1, a.D); for (var c = [], d = 0; d < a.fields.length; d++)c.push(a.fields[d].xd); b = cea(b, c, Eda); c = []; d = []; for (var e = g.w(a.j.keys()), f = e.next(); !f.done; f = e.next())d.push(f.value.split(",")); for (e = 0; e < d.length; e++) { + f = d[e]; for (var h = a.C, l = a.KP(f) || [], m = [], n = 0; n < l.length; n++) { var p = l[n], q = p && p.j; p = new Th; switch (h) { case 3: q = Number(q); Number.isFinite(q) && xg(p, 1, Xh, Lf(q)); break; case 2: xg(p, 2, Xh, Df(Number(q))) }m.push(p) } h = m; for (l = 0; l < h.length; l++) { + m = h[l]; n = new Uh; m = Eg(n, Th, 2, m); + n = []; p = a; q = []; for (var r = 0; r < p.fields.length; r++)q.push(p.fields[r].yd); p = q; for (q = 0; q < p.length; q++) { var t = p[q], u = f[q]; r = new Sh; switch (t) { case 3: xg(r, 1, Yh, Mf(String(u))); break; case 2: t = Number(u); Number.isFinite(t) && xg(r, 2, Yh, Gf(t)); break; case 1: xg(r, 3, Yh, Ef(u === "true")) }n.push(r) } Gg(m, Sh, 1, n); c.push(m) + } + } Gg(b, Uh, 4, c); return b + }; + lfa = function (a) { + if (!a) return ""; if (/^about:(?:blank|srcdoc)$/.test(a)) return window.origin || ""; a.indexOf("blob:") === 0 && (a = a.substring(5)); a = a.split("#")[0].split("?")[0]; a = a.toLowerCase(); a.indexOf("//") == 0 && (a = window.location.protocol + a); /^[\w\-]*:\/\//.test(a) || (a = window.location.href); var b = a.substring(a.indexOf("://") + 3), c = b.indexOf("/"); c != -1 && (b = b.substring(0, c)); c = a.substring(0, a.indexOf("://")); if (!c) throw Error("URI is missing protocol: " + a); if (c !== "http" && c !== "https" && c !== "chrome-extension" && + c !== "moz-extension" && c !== "file" && c !== "android-app" && c !== "chrome-search" && c !== "chrome-untrusted" && c !== "chrome" && c !== "app" && c !== "devtools") throw Error("Invalid URI scheme in origin: " + c); a = ""; var d = b.indexOf(":"); if (d != -1) { var e = b.substring(d + 1); b = b.substring(0, d); if (c === "http" && e !== "80" || c === "https" && e !== "443") a = ":" + e } return c + "://" + b + a + }; + mfa = function () { + function a() { e[0] = 1732584193; e[1] = 4023233417; e[2] = 2562383102; e[3] = 271733878; e[4] = 3285377520; p = n = 0 } + function b(q) { + for (var r = h, t = 0; t < 64; t += 4)r[t / 4] = q[t] << 24 | q[t + 1] << 16 | q[t + 2] << 8 | q[t + 3]; for (t = 16; t < 80; t++)q = r[t - 3] ^ r[t - 8] ^ r[t - 14] ^ r[t - 16], r[t] = (q << 1 | q >>> 31) & 4294967295; q = e[0]; var u = e[1], y = e[2], A = e[3], D = e[4]; for (t = 0; t < 80; t++) { if (t < 40) if (t < 20) { var F = A ^ u & (y ^ A); var H = 1518500249 } else F = u ^ y ^ A, H = 1859775393; else t < 60 ? (F = u & y | A & (u | y), H = 2400959708) : (F = u ^ y ^ A, H = 3395469782); F = ((q << 5 | q >>> 27) & 4294967295) + F + D + H + r[t] & 4294967295; D = A; A = y; y = (u << 30 | u >>> 2) & 4294967295; u = q; q = F } e[0] = e[0] + q & 4294967295; e[1] = e[1] + u & 4294967295; e[2] = + e[2] + y & 4294967295; e[3] = e[3] + A & 4294967295; e[4] = e[4] + D & 4294967295 + } + function c(q, r) { if (typeof q === "string") { q = unescape(encodeURIComponent(q)); for (var t = [], u = 0, y = q.length; u < y; ++u)t.push(q.charCodeAt(u)); q = t } r || (r = q.length); t = 0; if (n == 0) for (; t + 64 < r;)b(q.slice(t, t + 64)), t += 64, p += 64; for (; t < r;)if (f[n++] = q[t++], p++, n == 64) for (n = 0, b(f); t + 64 < r;)b(q.slice(t, t + 64)), t += 64, p += 64 } + function d() { var q = [], r = p * 8; n < 56 ? c(l, 56 - n) : c(l, 64 - (n - 56)); for (var t = 63; t >= 56; t--)f[t] = r & 255, r >>>= 8; b(f); for (t = r = 0; t < 5; t++)for (var u = 24; u >= 0; u -= 8)q[r++] = e[t] >> u & 255; return q } + for (var e = [], f = [], h = [], l = [128], m = 1; m < 64; ++m)l[m] = 0; var n, p; a(); return { reset: a, update: c, digest: d, X7: function () { for (var q = d(), r = "", t = 0; t < q.length; t++)r += "0123456789ABCDEF".charAt(Math.floor(q[t] / 16)) + "0123456789ABCDEF".charAt(q[t] % 16); return r } } + }; + ofa = function (a, b, c) { var d = String(g.Ja.location.href); return d && a && b ? [b, nfa(lfa(d), a, c || null)].join(" ") : null }; + nfa = function (a, b, c) { + var d = [], e = []; if ((Array.isArray(c) ? 2 : 1) == 1) return e = [b, a], g.cc(d, function (l) { e.push(l) }), pfa(e.join(" ")); + var f = [], h = []; g.cc(c, function (l) { h.push(l.key); f.push(l.value) }); + c = Math.floor((new Date).getTime() / 1E3); e = f.length == 0 ? [c, b, a] : [f.join(":"), c, b, a]; g.cc(d, function (l) { e.push(l) }); + a = pfa(e.join(" ")); a = [c, a]; h.length == 0 || a.push(h.join("")); return a.join("_") + }; + pfa = function (a) { var b = mfa(); b.update(a); return b.X7().toLowerCase() }; + Zh = function (a) { this.j = a || { cookie: "" } }; + $h = function (a) { a = (a.j.cookie || "").split(";"); for (var b = [], c = [], d, e, f = 0; f < a.length; f++)e = tb(a[f]), d = e.indexOf("="), d == -1 ? (b.push(""), c.push(e)) : (b.push(e.substring(0, d)), c.push(e.substring(d + 1))); return { keys: b, values: c } }; + ai = function (a) { return !!qfa.FPA_SAMESITE_PHASE2_MOD || !(a === void 0 || !a) }; + rfa = function (a) { a = a === void 0 ? !1 : a; var b = g.Ja.__SAPISID || g.Ja.__APISID || g.Ja.__3PSAPISID || g.Ja.__OVERRIDE_SID; ai(a) && (b = b || g.Ja.__1PSAPISID); if (b) return !0; if (typeof document !== "undefined") { var c = new Zh(document); b = c.get("SAPISID") || c.get("APISID") || c.get("__Secure-3PAPISID"); ai(a) && (b = b || c.get("__Secure-1PAPISID")) } return !!b }; + sfa = function (a, b, c, d) { (a = g.Ja[a]) || typeof document === "undefined" || (a = (new Zh(document)).get(b)); return a ? ofa(a, c, d) : null }; + tfa = function (a, b) { + b = b === void 0 ? !1 : b; var c = lfa(String(g.Ja.location.href)), d = []; if (rfa(b)) { + c = c.indexOf("https:") == 0 || c.indexOf("chrome-extension:") == 0 || c.indexOf("chrome-untrusted://new-tab-page") == 0 || c.indexOf("moz-extension:") == 0; var e = c ? g.Ja.__SAPISID : g.Ja.__APISID; e || typeof document === "undefined" || (e = new Zh(document), e = e.get(c ? "SAPISID" : "APISID") || e.get("__Secure-3PAPISID")); (e = e ? ofa(e, c ? "SAPISIDHASH" : "APISIDHASH", a) : null) && d.push(e); c && ai(b) && ((b = sfa("__1PSAPISID", "__Secure-1PAPISID", "SAPISID1PHASH", + a)) && d.push(b), (a = sfa("__3PSAPISID", "__Secure-3PAPISID", "SAPISID3PHASH", a)) && d.push(a)) + } return d.length == 0 ? null : d.join(" ") + }; + ci = function (a) { this.sb = Zf(a) }; + di = function (a, b) { + this.intervalMs = a; this.callback = b; this.enabled = !1; this.j = function () { return g.Xa() }; + this.B = this.j() + }; + ei = function (a) { this.sb = Zf(a) }; + fi = function (a) { this.sb = Zf(a) }; + g.gi = function (a, b, c, d) { this.D = a; this.G = b; this.j = this.C = a; this.K = c || 0; this.N = d || 2 }; + g.hi = function (a) { a.j = Math.min(a.G, a.j * a.N); a.C = Math.min(a.G, a.j + (a.K ? Math.round(a.K * (Math.random() - .5) * 2 * a.j) : 0)); a.B++ }; + ii = function (a) { this.sb = Zf(a) }; + ji = function (a) { this.sb = Zf(a) }; + ki = function (a) { this.sb = Zf(a) }; + ufa = function (a, b) { Gg(a, ji, 1, b) }; + li = function (a) { this.sb = Zf(a) }; + wfa = function (a, b) { + b = b === void 0 ? vfa : b; if (!mi) { + var c; a = (c = a.navigator) == null ? void 0 : c.userAgentData; if (!a || typeof a.getHighEntropyValues !== "function" || a.brands && typeof a.brands.map !== "function") return Promise.reject(Error("UACH unavailable")); c = (a.brands || []).map(function (e) { var f = new ji; f = Sg(f, 1, e.brand); return Sg(f, 2, e.version) }); + ufa(ig(ni, 2, Ef(a.mobile)), c); mi = a.getHighEntropyValues(b) + } var d = new Set(b); return mi.then(function (e) { var f = ni.clone(); d.has("platform") && Sg(f, 3, e.platform); d.has("platformVersion") && Sg(f, 4, e.platformVersion); d.has("architecture") && Sg(f, 5, e.architecture); d.has("model") && Sg(f, 6, e.model); d.has("uaFullVersion") && Sg(f, 7, e.uaFullVersion); return f }).catch(function () { return ni.clone() }) + }; + oi = function (a) { this.sb = Zf(a) }; + xfa = function (a) { this.sb = Zf(a) }; + pi = function (a) { this.sb = Zf(a, 4) }; + qi = function (a) { this.sb = Zf(a, 35) }; + ri = function (a) { this.sb = Zf(a, 19) }; + yfa = function (a) { this.sb = Zf(a, 8) }; + zfa = function (a) { this.sb = Zf(a) }; + ui = function (a) { + g.O.call(this); var b = this; this.componentId = ""; this.C = []; this.ra = ""; this.pageId = null; this.Ba = this.Y = -1; this.experimentIds = null; this.Z = this.G = 0; this.Fa = 1; this.timeoutMillis = 0; this.logSource = a.logSource; this.ZE = a.ZE || function () { }; + this.B = new si(a.logSource, a.Ix); this.network = a.network; this.VB = a.VB || null; this.K = a.kfa || null; this.sessionIndex = a.sessionIndex || null; this.EE = a.EE || !1; this.logger = null; this.withCredentials = !a.OX; this.Ix = a.Ix || !1; this.N = typeof URLSearchParams !== "undefined" && !!(new URL(ti())).searchParams && !!(new URL(ti())).searchParams.set; var c = Ug(new oi, 1, 1); Afa(this.B, c); this.D = new g.gi(1E4, 3E5, .1); a = Bfa(this, a.dX); this.j = new di(this.D.getValue(), a); this.qa = new di(6E5, a); this.EE || this.qa.start(); this.Ix || (document.addEventListener("visibilitychange", + function () { document.visibilityState === "hidden" && b.AP() }), document.addEventListener("pagehide", this.AP.bind(this))) + }; + Bfa = function (a, b) { return a.N ? b ? function () { b().then(function () { a.flush() }) } : function () { a.flush() } : function () { } }; + ti = function () { return "https://play.google.com/log?format=json&hasfast=true" }; + si = function (a, b) { this.Ix = b = b === void 0 ? !1 : b; this.B = this.locale = null; this.j = new ri; Number.isInteger(a) && this.j.DH(a); b || (this.locale = document.documentElement.getAttribute("lang")); Afa(this, new oi) }; + Afa = function (a, b) { Eg(a.j, oi, 1, b); Ng(b, 1) || Ug(b, 1, 1); a.Ix || (b = vi(a), Mg(b, 5) || Sg(b, 5, a.locale)); a.B && (b = vi(a), Dg(b, ki, 9) || Eg(b, ki, 9, a.B)) }; + Cfa = function (a, b) { jg(wi(a), li, 11) && (a = xi(a), Ug(a, 1, b)) }; + Dfa = function (a, b) { jg(wi(a), li, 11) && (a = xi(a), ig(a, 2, Ef(b))) }; + wi = function (a) { return Dg(a.j, oi, 1) }; + Efa = function (a) { var b = b === void 0 ? vfa : b; var c = a.Ix ? void 0 : fe(); c ? wfa(c, b).then(function (d) { a.B = d; d = vi(a); Eg(d, ki, 9, a.B); return !0 }).catch(function () { return !1 }) : Promise.resolve(!1) }; + vi = function (a) { a = wi(a); var b = Dg(a, li, 11); b || (b = new li, Eg(a, li, 11, b)); return b }; + xi = function (a) { a = vi(a); var b = Dg(a, ii, 10); b || (b = new ii, ig(b, 2, Ef(!1)), Eg(a, ii, 10, b)); return b }; + yi = function () { this.Z6 = typeof AbortController !== "undefined" }; + zi = function (a, b) { g.O.call(this); this.logSource = a; this.sessionIndex = b; this.B = "https://play.google.com/log?format=json&hasfast=true"; this.j = null; this.C = !1; this.network = null; this.componentId = ""; this.pageId = this.Lz = this.VB = null }; + Ai = function (a, b, c, d, e, f, h) { a = a === void 0 ? -1 : a; b = b === void 0 ? "" : b; c = c === void 0 ? "" : c; d = d === void 0 ? !1 : d; e = e === void 0 ? "" : e; g.O.call(this); this.logSource = a; this.componentId = b; f ? b = f : (a = new zi(a, "0"), a.componentId = b, g.P(this, a), c !== "" && (a.B = c), d && (a.C = !0), e && (a.j = e), h && (a.network = h), b = a.build()); this.j = b }; + Ffa = function (a) { switch (a) { case 200: return 0; case 400: return 3; case 401: return 16; case 403: return 7; case 404: return 5; case 409: return 10; case 412: return 9; case 429: return 8; case 499: return 1; case 500: return 2; case 501: return 12; case 503: return 14; case 504: return 4; default: return 2 } }; + Gfa = function (a) { + switch (a) { + case 0: return "OK"; case 1: return "CANCELLED"; case 2: return "UNKNOWN"; case 3: return "INVALID_ARGUMENT"; case 4: return "DEADLINE_EXCEEDED"; case 5: return "NOT_FOUND"; case 6: return "ALREADY_EXISTS"; case 7: return "PERMISSION_DENIED"; case 16: return "UNAUTHENTICATED"; case 8: return "RESOURCE_EXHAUSTED"; case 9: return "FAILED_PRECONDITION"; case 10: return "ABORTED"; case 11: return "OUT_OF_RANGE"; case 12: return "UNIMPLEMENTED"; case 13: return "INTERNAL"; case 14: return "UNAVAILABLE"; case 15: return "DATA_LOSS"; + default: return "" + } + }; + Bi = function (a, b, c) { c = c === void 0 ? {} : c; b = Error.call(this, b); this.message = b.message; "stack" in b && (this.stack = b.stack); this.code = a; this.metadata = c; this.name = "RpcError"; Object.setPrototypeOf(this, this.constructor.prototype) }; + g.Ci = function (a) { return (new Hfa).cn(a) }; + Hfa = function () { }; + Di = function (a, b, c) { + if (b == null) c.push("null"); else { + if (typeof b == "object") { if (Array.isArray(b)) { var d = b; b = d.length; c.push("["); for (var e = "", f = 0; f < b; f++)c.push(e), Di(a, d[f], c), e = ","; c.push("]"); return } if (b instanceof String || b instanceof Number || b instanceof Boolean) b = b.valueOf(); else { c.push("{"); e = ""; for (d in b) Object.prototype.hasOwnProperty.call(b, d) && (f = b[d], typeof f != "function" && (c.push(e), Ifa(d, c), c.push(":"), Di(a, f, c), e = ",")); c.push("}"); return } } switch (typeof b) { + case "string": Ifa(b, c); break; case "number": c.push(isFinite(b) && + !isNaN(b) ? String(b) : "null"); break; case "boolean": c.push(String(b)); break; case "function": c.push("null"); break; default: throw Error("Unknown type: " + typeof b); + } + } + }; + Ifa = function (a, b) { b.push('"', a.replace(Jfa, function (c) { var d = Kfa[c]; d || (d = "\\u" + (c.charCodeAt(0) | 65536).toString(16).slice(1), Kfa[c] = d); return d }), '"') }; + Lfa = function (a) { switch (a) { case 0: return "No Error"; case 1: return "Access denied to content document"; case 2: return "File not found"; case 3: return "Firefox silently errored"; case 4: return "Application custom error"; case 5: return "An exception occurred"; case 6: return "Http response at 400 or 500 level"; case 7: return "Request was aborted"; case 8: return "Request timed out"; case 9: return "The resource is not available offline"; default: return "Unrecognized error code" } }; + Ei = function () { }; + Ii = function () { }; + Ji = function (a, b, c, d, e, f, h) { var l = ""; a && (l += a + ":"); c && (l += "//", b && (l += b + "@"), l += c, d && (l += ":" + d)); e && (l += e); f && (l += "?" + f); h && (l += "#" + h); return l }; + Ki = function (a) { return a ? decodeURI(a) : a }; + g.Mi = function (a, b) { return b.match(Li)[a] || null }; + g.Ni = function (a) { return Ki(g.Mi(3, a)) }; + g.Mfa = function (a) { a = a.match(Li); return Ji(a[1], a[2], a[3], a[4]) }; + Oi = function (a) { a = a.match(Li); return Ji(null, null, null, null, a[5], a[6], a[7]) }; + Nfa = function (a) { var b = a.indexOf("#"); return b < 0 ? a : a.slice(0, b) }; + Pi = function (a, b) { if (a) { a = a.split("&"); for (var c = 0; c < a.length; c++) { var d = a[c].indexOf("="), e = null; if (d >= 0) { var f = a[c].substring(0, d); e = a[c].substring(d + 1) } else f = a[c]; b(f, e ? Sd(e) : "") } } }; + Qi = function (a, b) { if (!b) return a; var c = a.indexOf("#"); c < 0 && (c = a.length); var d = a.indexOf("?"); if (d < 0 || d > c) { d = c; var e = "" } else e = a.substring(d + 1, c); a = [a.slice(0, d), e, a.slice(c)]; c = a[1]; a[1] = b ? c ? c + "&" + b : b : c; return a[0] + (a[1] ? "?" + a[1] : "") + a[2] }; + Ri = function (a, b, c) { if (Array.isArray(b)) for (var d = 0; d < b.length; d++)Ri(a, String(b[d]), c); else b != null && c.push(a + (b === "" ? "" : "=" + g.Rd(b))) }; + Ofa = function (a, b) { var c = []; for (b = b || 0; b < a.length; b += 2)Ri(a[b], a[b + 1], c); return c.join("&") }; + g.Si = function (a) { var b = [], c; for (c in a) Ri(c, a[c], b); return b.join("&") }; + Pfa = function (a, b) { var c = arguments.length == 2 ? Ofa(arguments[1], 0) : Ofa(arguments, 1); return Qi(a, c) }; + g.Ti = function (a, b) { b = g.Si(b); return Qi(a, b) }; + Ui = function (a, b, c) { c = c != null ? "=" + g.Rd(c) : ""; return Qi(a, b + c) }; + Qfa = function (a, b, c, d) { for (var e = c.length; (b = a.indexOf(c, b)) >= 0 && b < d;) { var f = a.charCodeAt(b - 1); if (f == 38 || f == 63) if (f = a.charCodeAt(b + e), !f || f == 61 || f == 38 || f == 35) return b; b += e + 1 } return -1 }; + Vi = function (a, b) { var c = a.search(Rfa), d = Qfa(a, 0, b, c); if (d < 0) return null; var e = a.indexOf("&", d); if (e < 0 || e > c) e = c; d += b.length + 1; return Sd(a.slice(d, e !== -1 ? e : 0)) }; + Wi = function (a, b) { for (var c = a.search(Rfa), d = 0, e, f = []; (e = Qfa(a, d, b, c)) >= 0;)f.push(a.substring(d, e)), d = Math.min(a.indexOf("&", e) + 1 || c, c); f.push(a.slice(d)); return f.join("").replace(Sfa, "$1") }; + Tfa = function (a, b, c) { return Ui(Wi(a, b), b, c) }; + g.Xi = function (a) { g.Vc.call(this); this.headers = new Map; this.N = a || null; this.C = !1; this.Ba = this.j = null; this.Y = ""; this.B = 0; this.D = ""; this.G = this.Ga = this.Z = this.Fa = !1; this.ra = 0; this.qa = null; this.Ma = ""; this.K = !1 }; + Vfa = function (a, b, c, d, e, f, h) { var l = new g.Xi; Ufa.push(l); b && l.listen("complete", b); l.cG("ready", l.x7); f && (l.ra = Math.max(0, f)); h && (l.K = h); l.send(a, c, d, e) }; + Xfa = function (a, b) { a.C = !1; a.j && (a.G = !0, a.j.abort(), a.G = !1); a.D = b; a.B = 5; Wfa(a); Yi(a) }; + Wfa = function (a) { a.Fa || (a.Fa = !0, a.dispatchEvent("complete"), a.dispatchEvent("error")) }; + Yfa = function (a) { if (a.C && typeof Zi != "undefined") if (a.Ba[1] && g.$i(a) == 4 && a.getStatus() == 2) a.getStatus(); else if (a.Z && g.$i(a) == 4) g.Ne(a.x0, 0, a); else if (a.dispatchEvent("readystatechange"), a.isComplete()) { a.getStatus(); a.C = !1; try { if (aj(a)) a.dispatchEvent("complete"), a.dispatchEvent("success"); else { a.B = 6; try { var b = g.$i(a) > 2 ? a.j.statusText : "" } catch (c) { b = "" } a.D = b + " [" + a.getStatus() + "]"; Wfa(a) } } finally { Yi(a) } } }; + Yi = function (a, b) { + if (a.j) { + Zfa(a); var c = a.j, d = a.Ba[0] ? function () { } : null; + a.j = null; a.Ba = null; b || a.dispatchEvent("ready"); try { c.onreadystatechange = d } catch (e) { } + } + }; + Zfa = function (a) { a.qa && (g.Ja.clearTimeout(a.qa), a.qa = null) }; + aj = function (a) { var b = a.getStatus(); a: switch (b) { case 200: case 201: case 202: case 204: case 206: case 304: case 1223: var c = !0; break a; default: c = !1 }if (!c) { if (b = b === 0) a = g.Mi(1, String(a.Y)), !a && g.Ja.self && g.Ja.self.location && (a = g.Ja.self.location.protocol.slice(0, -1)), b = !$fa.test(a ? a.toLowerCase() : ""); c = b } return c }; + g.$i = function (a) { return a.j ? a.j.readyState : 0 }; + g.bj = function (a) { try { return a.j ? a.j.responseText : "" } catch (b) { return "" } }; + g.cj = function (a) { try { if (!a.j) return null; if ("response" in a.j) return a.j.response; switch (a.Ma) { case "": case "text": return a.j.responseText; case "arraybuffer": if ("mozResponseArrayBuffer" in a.j) return a.j.mozResponseArrayBuffer }return null } catch (b) { return null } }; + g.aga = function (a) { var b = {}; a = (a.j && g.$i(a) >= 2 ? a.j.getAllResponseHeaders() || "" : "").split("\r\n"); for (var c = 0; c < a.length; c++)if (!g.pb(a[c])) { var d = Tba(a[c]), e = d[0]; d = d[1]; if (typeof d === "string") { d = d.trim(); var f = b[e] || []; b[e] = f; f.push(d) } } return sc(b, function (h) { return h.join(", ") }) }; + g.dj = function (a, b) { return a.j ? a.j.getResponseHeader(b) : null }; + ej = function () { }; + gj = function (a, b, c) { this.logger = a; this.event = b; if (c === void 0 || c) this.startMillis = fj() }; + hj = function () { g.O.apply(this, arguments) }; + ij = function (a, b, c) { var d = fj(); b = b(); a.eG(c, fj() - d); return b }; + jj = function () { hj.apply(this, arguments) }; + kj = function (a, b, c) { + b = b === void 0 ? "" : b; hj.call(this); this.kh = a; this.B = b; this.D = new Map; this.C = new Map; a = new zi(1828, "0"); a.j = "22"; a.network = new ej; c && (b = new ifa, c = cea(b, c, sda), a.Lz = c); this.G = new Ai(1828, "", "", !1, "", a.build()); this.j = new g.Pe(this.G); this.j.C = 1E5; c = this.j; c.flushInterval = 3E4; c.j.setInterval(3E4); this.Ba = new Bca(this.j); this.Fa = new Eca(this.j); this.Ga = new Fca(this.j); this.ra = new Aca(this.j); this.N = new Cca(this.j); this.Z = new Dca(this.j); this.errorCount = new Ica(this.j); this.Y = new Hca(this.j); + this.Ma = new Gca(this.j); this.Ra = new Jca(this.j); this.K = new Kca(this.j); this.Ka = new Lca(this.j); this.qa = new zca(this.j); this.D.set("h", 1); this.D.set("u", 2); this.D.set("k", 3); this.C.set(25, 1); this.C.set(26, 2); this.C.set(27, 3); this.C.set(28, 4); g.P(this, this.G); g.P(this, this.j) + }; + fj = function () { var a, b, c; return (c = (a = globalThis.performance) == null ? void 0 : (b = a.now) == null ? void 0 : b.call(a)) != null ? c : Date.now() }; + lj = function (a) { this.sb = Zf(a) }; + mj = function (a) { this.sb = Zf(a) }; + nj = function (a) { this.sb = Zf(a, 0, nj.messageId) }; + g.oj = function () { var a = this; this.promise = new Promise(function (b, c) { a.resolve = b; a.reject = c }) }; + pj = function (a) { + function b(p, q, r, t) { Promise.resolve().then(function () { n.done(); d.Vf.qt(); m.resolve({ o7: p, mea: q, bpa: r, Mma: t }) }) } + function c(p, q, r, t) { var u = "k"; q ? u = "h" : r && (u = "u"); u !== "k" ? t !== 0 && d.Vf.eG(u, p) : d.j <= 0 ? (d.Vf.eG(u, p), d.j = Math.floor(Math.random() * 200)) : d.j-- } + g.O.call(this); var d = this; this.j = Math.floor(Math.random() * 200); if ("challenge" in a && cga(a.challenge)) { var e = Mg(a.challenge, 4); var f = Mg(a.challenge, 5) } else e = a.program, f = a.globalName; var h = new g.O; this.addOnDisposeCallback(function () { d.B.then(function (p) { p = p.mea; d.Vf.qt(); p == null || p(); h.dispose() }) }); + if (a.gH !== !1) if (a.Vf) this.Vf = a.Vf; else { var l; g.P(h, this.Vf = new kj((l = a.kh) != null ? l : "_")) } else g.P(h, this.Vf = new jj); var m = new g.oj; this.B = m.promise; var n = new gj(this.Vf, "t", !0); this.Vf.o_(); if (!g.Ja[f]) throw this.Vf.Kl(25), this.Vf.qt(), Error("EGOU"); if (!g.Ja[f].a) throw this.Vf.Kl(26), this.Vf.qt(), Error("ELIU"); try { this.C = g.w((0, g.Ja[f].a)(e, b, !0, a.I3, c)).next().value, this.HH = m.promise.then(function () { }) } catch (p) { + throw this.Vf.Kl(28), this.Vf.qt(), p; + } + }; + qj = function (a, b, c) { var d = Error.call(this); this.message = d.message; "stack" in d && (this.stack = d.stack); this.code = a; b += ":"; c != null || (c = Error()); if (c instanceof Error) { this.message = b + c.message; var e; this.stack = (e = c.stack) != null ? e : "" } else this.message = b + String(c), this.stack = ""; Object.setPrototypeOf(this, this.constructor.prototype) }; + dga = function (a) { if (!a) return null; a = Jg(a, 4); return a === null || a === void 0 ? null : jd(a) }; + rj = function () { this.B = {}; this.j = null }; + sj = function () { rj.instance || (rj.instance = new rj); return rj.instance }; + tj = function (a, b) { return ega(a, Dg(b, lj, 1), Dg(b, mj, 2), Mg(b, 3)) }; + ega = function (a, b, c, d) { + if (!b && !c) return Promise.resolve(); if (!d) return fga(b, c); var e; (e = a.B)[d] || (e[d] = new Promise(function (f, h) { + fga(b, c).then(function () { a.j = d; f() }, function (l) { + delete a.B[d]; + h(l) + }) + })); + return a.B[d] + }; + fga = function (a, b) { return b ? gga(b) : a ? hga(a) : Promise.resolve() }; + gga = function (a) { + return new Promise(function (b, c) { + var d = g.je("SCRIPT"), e = dga(a); g.Pd(d, e); d.onload = function () { g.pe(d); b() }; + d.onerror = function () { g.pe(d); c(Error("EWLS")) }; + (g.ae("HEAD")[0] || document.documentElement).appendChild(d) + }) + }; + hga = function (a) { return new Promise(function (b) { var c = g.je("SCRIPT"); if (a) { var d = Jg(a, 6); d = d === null || d === void 0 ? null : Eba(d) } else d = null; c.textContent = Ad(d); Od(c); (g.ae("HEAD")[0] || document.documentElement).appendChild(c); g.pe(c); b() }) }; + uj = function (a) { this.sb = Zf(a) }; + vj = function (a) { this.sb = Zf(a) }; + wj = function (a) { this.sb = Zf(a) }; + xj = function (a, b, c) { this.client = a; this.cC = b; this.j = c }; + jga = function (a, b) { var c, d; return g.J(function (e) { c = a.j(); var f = new vj; f = Tg(f, 1, a.cC); d = Tg(f, 2, b); f = e.return; var h = a.client; h = yj(h.j, h.B + "/$rpc/google.internal.waa.v1.Waa/GenerateIT", d, c || {}, iga); return f.call(e, h) }) }; + zj = function (a) { g.O.call(this); var b = this; this.options = a; this.N = new g.oj; this.HH = this.N.promise; this.D = new g.oj; this.G = new g.oj; this.K = []; var c; this.B = a.gH !== !1 ? new kj((c = this.options.kh) != null ? c : "_") : new jj; kga(this, a.Yw, a.DF, a.mpa, a.Epa, Object.assign({}, lga, a.Ppa || {})); this.addOnDisposeCallback(function () { return void mga(b) }) }; + mga = function (a) { + a.Z = Error("Cancelled by dispose"); a.D.resolve(); nga(a.N.promise); a.N.reject(Error("Cancelled by dispose")); Promise.all(a.K).then(function () { var b; (b = a.C) == null || b.dispose(); a.C = void 0; var c; (c = a.B) == null || c.dispose(); a.B = void 0 }); + a.K = []; a.j && oga(a.j); nga(a.G.promise); a.G.reject(Error("Cancelled by dispose")) + }; + pga = function (a, b) { a.La() || (a.C = b, a.B = void 0, a.D.resolve(), a.N.resolve(void 0)) }; + qga = function (a, b, c) { b && (Promise.all(a.K).then(function () { c == null || c.dispose(); b.dispose() }), a.K = []) }; + Aj = function (a, b) { var c, d; (d = (c = a.options).Voa) == null || d.call(c, b) }; + rga = function (a) { a.La() || (a.G.resolve(), a.G = new g.oj) }; + kga = function (a, b, c, d, e, f) { + d = d === void 0 ? sj() : d; e = e === void 0 ? Promise.resolve(void 0) : e; var h, l, m, n, p, q, r, t, u, y, A, D; g.J(function (F) { + switch (F.j) { + case 1: return g.G(F, 0, 3); case 3: m = null; if (!h) { F.Ha(6); break } Aj(a, 7); return g.G(F, Bj(h.snapshot({}), f.G7, function () { return Promise.resolve("E:CTO") }), 7); + case 7: m = F.B; case 6: n = void 0, p = h ? f.q8 : f.r8, q = new g.gi(p, f.s8, f.t8, f.p8), r = 0; case 8: if (!(r < f.maxAttempts)) { F.Ha(10); break } if (r === 0) { F.Ha(11); break } Aj(a, 0); a.j = new sga(q.getValue(), f.Q2); return g.G(F, a.j.promise, 12); case 12: a.j = void 0, g.hi(q); case 11: g.va(F, 13); t = void 0; if (c) { t = c; F.Ha(15); break } Aj(a, 5); u = d.j; return g.G(F, Bj(b.SE(u, m), f.A8, function () { return Promise.reject(Error("RGF:Fetch timed out")) }), 16); + case 16: t = F.B; case 15: return Aj(a, 3), g.G(F, Bj(tj(d, t), f.s$, function () { return Promise.reject(Error("DTZ:Script timed out")) }), 17); + case 17: return Aj(a, 8), g.G(F, e, 18); case 18: return y = new pj({ challenge: t, Vf: a.B, kh: a.options.kh, gH: a.options.gH, I3: a.options.I3 }), g.G(F, Bj(y.HH, f.lea, function () { return Promise.reject(Error("QEG:Setup timed out")) }), 19); + case 19: n = y; F.Ha(10); break; case 13: A = g.xa(F), a.handleError(A), rga(a); case 9: r++; F.Ha(8); break; case 10: if (a.La()) { F.Ha(5); break } n && (c = void 0, qga(a, h, l), l = a.B, h = n, pga(a, n), rga(a)); Aj(a, 2); a.j = new sga(f.pda, f.Q2); return g.G(F, a.j.promise, 20); case 20: a.j = void 0; if (a.La()) { F.Ha(5); break } F.Ha(3); break; case 5: (D = h) == null || D.dispose(), g.ua(F) + } + }) + }; + Bj = function (a, b, c) { + var d, e = new Promise(function (f) { d = setTimeout(f, b) }); + return Promise.race([a.finally(function () { return void clearTimeout(d) }), + e.then(c)]) + }; + nga = function (a) { a.then(function () { }, function () { }) }; + sga = function (a, b) { + function c() { var e = d.endTimeMs - Date.now(); e <= 10 ? d.gC() : setTimeout(c, Math.min(e, b)) } + var d = this; this.endTimeMs = Date.now() + a; this.promise = new Promise(function (e) { d.gC = e }); + c() + }; + oga = function (a) { a.endTimeMs = 0; a.gC() }; + tga = function (a, b) { try { return globalThis.sessionStorage.setItem(a, b), !0 } catch (c) { return !1 } }; + Cj = function (a, b, c, d) { b = b === void 0 ? 0 : b; c = c === void 0 ? a.length : c; var e = 0; for (d && (e = Cj(d)); b < c; b++)d = typeof a === "string" ? a.charCodeAt(b) : a[b], e = uga(31, e) + d | 0; return e }; + vga = function (a, b) { return [Cj(a, 0, a.length >> 1, b), Cj(a, a.length >> 1)] }; + wga = function (a) { var b = g.w(vga(a, Dj)); a = b.next().value; b = b.next().value; return a.toString(16) + b.toString(16) }; + xga = function (a, b) { var c = vga(b); a = new Uint32Array(a.buffer); b = a[0]; var d = g.w(c); c = d.next().value; d = d.next().value; for (var e = 1; e < a.length; e += 2) { for (var f = b, h = e, l = c, m = d, n = 0; n < 22; n++)h = h >>> 8 | h << 24, h += f | 0, h ^= l + 38293, f = f << 3 | f >>> 29, f ^= h, m = m >>> 8 | m << 24, m += l | 0, m ^= n + 38293, l = l << 3 | l >>> 29, l ^= m; f = [f, h]; a[e] ^= f[0]; e + 1 < a.length && (a[e + 1] ^= f[1]) } }; + yga = function (a, b, c, d, e) { var f = (4 - (Dj.length + c.length) % 4) % 4, h = new Uint8Array(4 + f + Dj.length + 4 + c.length), l = new DataView(h.buffer), m = 0; l.setUint32(m, Math.random() * 4294967295); m = m + 4 + f; h.set(Dj, m); m += Dj.length; l.setUint32(m, e); h.set(c, m + 4); xga(h, d); return a.Fh(b, function (n) { return void globalThis.sessionStorage.removeItem(n) }) ? tga(b, g.Te(h)) ? "s" : "t" : "i" }; + zga = function (a, b) { var c = globalThis.sessionStorage.getItem(a); if (!c) return ["m"]; try { var d = Ve(c); xga(d, b) } catch (e) { return globalThis.sessionStorage.removeItem(a), ["c"] } for (b = 4; b < 7 && d[b] === 0;)b++; for (c = 0; c < Dj.length; c++)if (d[b++] !== Dj[c]) return globalThis.sessionStorage.removeItem(a), ["d"]; c = (new DataView(d.buffer)).getUint32(b); return Math.floor(Date.now() / 1E3) >= c ? (globalThis.sessionStorage.removeItem(a), ["e"]) : ["a", new Uint8Array(d.buffer, b + 4)] }; + Ej = function (a, b, c) { c = c === void 0 ? [] : c; this.maxItems = a; this.j = b === void 0 ? 0 : b; this.B = c }; + Aga = function (a) { var b = globalThis.sessionStorage.getItem("iU5q-!O9@$"); if (!b) return new Ej(a); var c = b.split(","); if (c.length < 2) return globalThis.sessionStorage.removeItem("iU5q-!O9@$"), new Ej(a); b = c.slice(1); b.length === 1 && b[0] === "" && (b = []); c = Number(c[0]); return isNaN(c) || c < 0 || c > b.length ? (globalThis.sessionStorage.removeItem("iU5q-!O9@$"), new Ej(a)) : new Ej(a, c, b) }; + Bga = function (a, b) { this.logger = b; try { var c = globalThis.sessionStorage && !!globalThis.sessionStorage.getItem && !!globalThis.sessionStorage.setItem && !!globalThis.sessionStorage.removeItem } catch (d) { c = !1 } c && (this.index = Aga(a)) }; + Cga = function (a, b, c, d, e) { + var f = a.index ? ij(a.logger, function () { return yga(a.index, wga(b), c, d, e) }, "W") : "u"; + a.logger.p_(f) + }; + Dga = function (a, b, c) { + var d = g.w(a.index ? ij(a.logger, function () { return zga(wga(b), c) }, "R") : ["u"]), e = d.next().value; + d = d.next().value; a.logger.n_(e); return d + }; + Gga = function (a) { + function b() { c -= d; c -= e; c ^= e >>> 13; d -= e; d -= c; d ^= c << 8; e -= c; e -= d; e ^= d >>> 13; c -= d; c -= e; c ^= e >>> 12; d -= e; d -= c; d ^= c << 16; e -= c; e -= d; e ^= d >>> 5; c -= d; c -= e; c ^= e >>> 3; d -= e; d -= c; d ^= c << 10; e -= c; e -= d; e ^= d >>> 15 } + a = Ega(a); for (var c = 2654435769, d = 2654435769, e = 314159265, f = a.length, h = f, l = 0; h >= 12; h -= 12, l += 12)c += Fj(a, l), d += Fj(a, l + 4), e += Fj(a, l + 8), b(); e += f; switch (h) { case 11: e += a[l + 10] << 24; case 10: e += a[l + 9] << 16; case 9: e += a[l + 8] << 8; case 8: d += a[l + 7] << 24; case 7: d += a[l + 6] << 16; case 6: d += a[l + 5] << 8; case 5: d += a[l + 4]; case 4: c += a[l + 3] << 24; case 3: c += a[l + 2] << 16; case 2: c += a[l + 1] << 8; case 1: c += a[l + 0] }b(); return Fga.toString(e) + }; + Ega = function (a) { for (var b = [], c = 0; c < a.length; c++)b.push(a.charCodeAt(c)); return b }; + Fj = function (a, b) { return a[b + 0] + (a[b + 1] << 8) + (a[b + 2] << 16) + (a[b + 3] << 24) }; + Gj = function (a) { g.O.call(this); var b = this; this.logger = a; this.D = new g.oj; this.addOnDisposeCallback(function () { return b.D.reject() }) }; + Hj = function (a, b) { + var c = setTimeout(function () { a.D.resolve() }, b); + a.addOnDisposeCallback(function () { return void clearTimeout(c) }) + }; + Ij = function (a, b, c) { return ij(a.logger, function () { return a.lG(b, c) }, a.C) }; + Jj = function (a, b, c, d) { Gj.call(this, a); this.G = b; this.N = c; this.C = "m"; this.B = "x"; this.K = 0; Hj(this, d) }; + Kj = function (a, b, c) { Gj.call(this, a); this.G = b; this.C = "f"; this.B = "z"; Hj(this, c) }; + Lj = function (a, b, c) { Gj.call(this, a); this.G = b; this.C = "w"; this.B = "z"; Hj(this, c) }; + Mj = function (a, b) { Gj.call(this, a); this.error = b; this.C = "e"; this.B = "y" }; + Iga = function (a, b) { var c = (b(a.error.message) + ":" + b(a.error.stack)).substring(0, 2048); b = c.length + 1; c = Hga(c); var d = new Uint8Array(4 + c.length); d.set([42, b & 127 | 128, b >> 7, a.error.code]); d.set(c, 4); return d }; + Oj = function (a, b, c) { Gj.call(this, a); this.G = b; this.clientState = c; this.C = "S"; this.B = "q" }; + Hga = function (a) { return globalThis.TextEncoder ? (new TextEncoder).encode(a) : g.Se(a) }; + Pj = function (a, b, c) { g.O.call(this); var d = this; this.logger = a; this.onError = b; this.state = c; this.B = 0; this.addOnDisposeCallback(function () { d.j && (d.j.dispose(), d.j = void 0) }) }; + Jga = function (a, b) { + var c; return (c = a.j) == null ? void 0 : Ij(c, function () { return Qj(a, b) }, function (d) { + var e; + if (a.j instanceof Jj && ((e = b.hk) == null ? 0 : e.JM)) try { var f; (f = a.cache) == null || Cga(f, Qj(a, b), d, b.hk.pE, a.D) } catch (h) { a.reportError(new qj(24, "ELX:write", h)) } + }) + }; + Kga = function (a, b) { var c; if ((c = b.hk) != null && c.UI) try { var d, e = (d = a.cache) == null ? void 0 : Dga(d, Qj(a, b), b.hk.pE); return e ? ij(a.logger, function () { return g.Te(e, 2) }, "a") : void 0 } catch (f) { a.reportError(new qj(23, "RXO:read", f)) } }; + Lga = function (a, b) { if (!b.P$) throw new qj(29, "SDF:notready"); return Ij(new Oj(a.logger, a.B, a.state), function () { return Qj(a, b) }) }; + Mga = function (a, b) { b = b instanceof qj ? b : new qj(5, "TVD:error", b); a.reportError(b); return Ij(new Mj(a.logger, b), function () { return [] }) }; + Qj = function (a, b) { return b.EJ ? b.EJ : b.Ar ? ij(a.logger, function () { return b.EJ = Hga(b.Ar) }, "c") : [] }; + Rj = function (a) { this.sb = Zf(a) }; + Nga = function (a, b, c) { this.B = a; this.j = b; this.C = c }; + Sj = function (a, b) { b = b === void 0 ? {} : b; this.Eda = a; this.j = b }; + Tj = function (a, b, c, d, e) { this.name = a; this.methodType = "unary"; this.requestType = b; this.responseType = c; this.j = d; this.B = e }; + Oga = function (a, b, c) { c = c === void 0 ? {} : c; return new Nga(b, a, c) }; + Uj = function (a) { this.sb = Zf(a) }; + Vj = function (a) { this.sb = Zf(a) }; + Wj = function (a) { this.sb = Zf(a) }; + Xj = function (a) { this.sb = Zf(a) }; + Yj = function (a, b) { this.N = a.Y$; this.Z = b; this.j = a.xhr; this.C = []; this.G = []; this.K = []; this.D = []; this.B = []; this.N && Pga(this) }; + Sga = function (a, b) { + g.Nc(a.j, "complete", function () { + if (aj(a.j)) { var c = g.bj(a.j); if (b && a.j.getResponseHeader("Content-Type") === "text/plain") { if (!atob) throw Error("Cannot decode Base64 response"); c = atob(c) } try { var d = a.Z(c) } catch (h) { Zj(a, new Bi(13, "Error when deserializing response data; error: " + h + (", response: " + c))); return } c = Ffa(a.j.getStatus()); ak(a, bk(a)); c == 0 ? Qga(a, d) : Zj(a, new Bi(c, "Xhr succeeded but the status code is not 200")) } else { + c = g.bj(a.j); d = bk(a); if (c) { + var e = Rga(a, c); c = e.code; var f = e.details; + e = e.metadata + } else c = 2, f = "Rpc failed due to xhr error. error code: " + a.j.B + ", error: " + a.j.getLastError(), e = d; ak(a, d); Zj(a, new Bi(c, f, e)) + } + }) + }; + Pga = function (a) { + a.N.on("data", function (b) { if ("1" in b) { var c = b["1"]; try { var d = a.Z(c) } catch (e) { Zj(a, new Bi(13, "Error when deserializing response data; error: " + e + (", response: " + c))) } d && Qga(a, d) } if ("2" in b) for (b = Rga(a, b["2"]), c = 0; c < a.K.length; c++)a.K[c](b) }); + a.N.on("end", function () { ak(a, bk(a)); for (var b = 0; b < a.D.length; b++)a.D[b]() }); + a.N.on("error", function () { if (a.B.length != 0) { var b = a.j.B; b !== 0 || aj(a.j) || (b = 6); var c = -1; switch (b) { case 0: var d = 2; break; case 7: d = 10; break; case 8: d = 4; break; case 6: c = a.j.getStatus(); d = Ffa(c); break; default: d = 14 }ak(a, bk(a)); b = Lfa(b) + ", error: " + a.j.getLastError(); c != -1 && (b += ", http status code: " + c); Zj(a, new Bi(d, b)) } }) + }; + bk = function (a) { + var b = {}, c = g.aga(a.j); Object.keys(c).forEach(function (d) { b[d] = c[d] }); + return b + }; + Rga = function (a, b) { var c = 2, d = {}; try { var e = Tga(b); c = Kg(e, 1); var f = e.getMessage(); gea(e, Wj).length && (d["grpc-web-status-details-bin"] = b) } catch (h) { a.j && a.j.getStatus() === 404 ? (c = 5, f = "Not Found: " + String(a.j.Y)) : (c = 14, f = "Unable to parse RpcStatus: " + h) } return { code: c, details: f, metadata: d } }; + ck = function (a, b) { b = a.indexOf(b); b > -1 && a.splice(b, 1) }; + Qga = function (a, b) { for (var c = 0; c < a.C.length; c++)a.C[c](b) }; + ak = function (a, b) { for (var c = 0; c < a.G.length; c++)a.G[c](b) }; + Zj = function (a, b) { for (var c = 0; c < a.B.length; c++)a.B[c](b) }; + g.dk = function (a) { this.K = a.ufa || null; this.G = a.I2 || !1; this.B = void 0 }; + ek = function (a, b) { g.Vc.call(this); this.ra = a; this.K = b; this.G = void 0; this.status = this.readyState = 0; this.responseType = this.responseText = this.response = this.statusText = ""; this.onreadystatechange = this.responseXML = null; this.Z = new Headers; this.B = null; this.qa = "GET"; this.Y = ""; this.j = !1; this.N = this.C = this.D = null }; + Uga = function (a) { a.C.read().then(a.w9.bind(a)).catch(a.uK.bind(a)) }; + gk = function (a) { a.readyState = 4; a.D = null; a.C = null; a.N = null; fk(a) }; + fk = function (a) { a.onreadystatechange && a.onreadystatechange.call(a) }; + g.hk = function (a) { this.j = this.Z = this.G = ""; this.C = null; this.K = this.B = ""; this.N = !1; var b; a instanceof g.hk ? (this.N = a.N, g.ik(this, a.G), this.Z = a.Z, g.jk(this, a.j), g.kk(this, a.C), this.B = a.B, lk(this, a.D.clone()), this.K = a.K) : a && (b = String(a).match(Li)) ? (this.N = !1, g.ik(this, b[1] || "", !0), this.Z = mk(b[2] || ""), g.jk(this, b[3] || "", !0), g.kk(this, b[4]), this.B = mk(b[5] || "", !0), lk(this, b[6] || "", !0), this.K = mk(b[7] || "")) : (this.N = !1, this.D = new nk(null, this.N)) }; + g.ik = function (a, b, c) { a.G = c ? mk(b, !0) : b; a.G && (a.G = a.G.replace(/:$/, "")) }; + g.jk = function (a, b, c) { a.j = c ? mk(b, !0) : b }; + g.kk = function (a, b) { if (b) { b = Number(b); if (isNaN(b) || b < 0) throw Error("Bad port number " + b); a.C = b } else a.C = null }; + lk = function (a, b, c) { b instanceof nk ? (a.D = b, Vga(a.D, a.N)) : (c || (b = ok(b, Wga)), a.D = new nk(b, a.N)) }; + g.pk = function (a, b, c) { a.D.set(b, c) }; + g.qk = function (a) { return a instanceof g.hk ? a.clone() : new g.hk(a) }; + mk = function (a, b) { return a ? b ? decodeURI(a.replace(/%25/g, "%2525")) : decodeURIComponent(a) : "" }; + ok = function (a, b, c) { return typeof a === "string" ? (a = encodeURI(a).replace(b, Xga), c && (a = a.replace(/%25([0-9a-fA-F]{2})/g, "%$1")), a) : null }; + Xga = function (a) { a = a.charCodeAt(0); return "%" + (a >> 4 & 15).toString(16) + (a & 15).toString(16) }; + nk = function (a, b) { this.B = this.j = null; this.C = a || null; this.D = !!b }; + rk = function (a) { a.j || (a.j = new Map, a.B = 0, a.C && Pi(a.C, function (b, c) { a.add(Sd(b), c) })) }; + Yga = function (a, b) { rk(a); b = sk(a, b); return a.j.has(b) }; + g.Zga = function (a, b, c) { a.remove(b); c.length > 0 && (a.C = null, a.j.set(sk(a, b), g.Tb(c)), a.B = a.B + c.length) }; + sk = function (a, b) { b = String(b); a.D && (b = b.toLowerCase()); return b }; + Vga = function (a, b) { + b && !a.D && (rk(a), a.C = null, a.j.forEach(function (c, d) { var e = d.toLowerCase(); d != e && (this.remove(d), g.Zga(this, e, c)) }, a)); + a.D = b + }; + g.$ga = function (a) { + var b = ""; g.qc(a, function (c, d) { b += d; b += ":"; b += c; b += "\r\n" }); + return b + }; + g.tk = function (a, b, c) { if (g.Bc(c)) return a; c = g.$ga(c); if (typeof a === "string") return Ui(a, g.Rd(b), c); g.pk(a, b, c); return a }; + g.uk = function (a) { g.O.call(this); this.B = a; this.j = {} }; + aha = function (a, b, c, d, e, f) { if (Array.isArray(c)) for (var h = 0; h < c.length; h++)aha(a, b, c[h], d, e, f); else { b = Mc(b, c, d || a.handleEvent, e, f || a.B || a); if (!b) return a; a.j[b.key] = b } return a }; + bha = function () { this.C = !0; this.B = 0; this.j = "" }; + cha = function (a, b, c) { a.C = !1; throw Error("The stream is broken @" + a.B + ". Error: " + c + ". With input:\n" + b); }; + vk = function () { this.K = null; this.N = []; this.D = this.B = this.C = this.j = this.Y = 0; this.G = null; this.Z = 0 }; + wk = function (a, b, c, d) { a.j = 3; a.K = "The stream is broken @" + a.Y + "/" + c + ". Error: " + d + ". With input:\n" + b; throw Error(a.K); }; + xk = function () { this.j = null; this.B = 0; this.C = new bha; this.D = new vk }; + dha = function (a, b, c) { a.j = "The stream is broken @" + a.B + ". Error: " + c + ". With input:\n" + b; throw Error(a.j); }; + Dk = function (a) { return a == "\r" || a == "\n" || a == " " || a == "\t" }; + Ek = function (a) { this.Y = null; this.K = []; this.D = ""; this.ra = []; this.C = this.B = 0; this.N = !1; this.Z = 0; this.Ba = /[\\"]/g; this.j = this.G = 0; this.qa = !(!a || !a.U7) }; + Fk = function (a, b, c) { a.G = 3; a.Y = "The stream is broken @" + a.C + "/" + c + ". With input:\n" + b; throw Error(a.Y); }; + Gk = function () { this.G = this.C = null; this.B = this.j = 0; this.D = []; this.K = !1 }; + eha = function (a) { var b = g.dj(a, "Content-Type"); if (!b) return null; b = b.toLowerCase(); return b.startsWith("application/json") ? b.startsWith("application/json+protobuf") ? new Gk : new Ek : b.startsWith("application/x-protobuf") ? (a = g.dj(a, "Content-Transfer-Encoding")) ? a.toLowerCase() == "base64" ? new xk : null : new vk : null }; + Hk = function (a) { this.j = a; this.B = null; this.D = this.C = 0; this.Y = !1; this.G = this.N = this.K = null; this.Z = new g.uk(this); this.Z.listen(this.j, "readystatechange", this.qa) }; + Ik = function (a, b) { a.D != b && (a.D = b, a.N && a.N()) }; + Jk = function (a) { a.Z.removeAll(); if (a.j) { var b = a.j; a.j = null; b.abort(); b.dispose() } }; + fha = function (a) { a = this.C = a; var b = (0, g.Ua)(this.Eaa, this); a.G = b; a = this.C; b = (0, g.Ua)(this.tca, this); a.N = b; this.B = {}; this.j = {} }; + gha = function (a, b) { for (var c = {}, d = 0; d < a.length; c = { D_: void 0 }, d++)c.D_ = a[d], b.forEach(function (e) { return function (f) { try { f(e.D_) } catch (h) { } } }(c)) }; + Kk = function (a, b) { + var c = a.B[b]; c && c.forEach(function (d) { try { d() } catch (e) { } }); + (c = a.j[b]) && c.forEach(function (d) { d() }); + a.j[b] = [] + }; + hha = function () { var a = { format: "jspb" }; a = a === void 0 ? {} : a; this.G = a.Npa || g.La("suppressCorsPreflight", a) || !1; this.B = a.withCredentials || g.La("withCredentials", a) || !1; this.D = a.Mpa || []; this.K = a.Tpa || []; this.j = a.Xpa; this.C = a.Vpa || !1 }; + yj = function (a, b, c, d, e) { + var f = b.substr(0, b.length - e.name.length); return iha(function (h) { + return new jha(function (l, m) { + var n = {}, p = kha(a, h, f); p.on("error", function (q) { return m(q) }); + p.on("metadata", function (q) { n = q }); + p.on("data", function (q) { var r = n; r = r === void 0 ? {} : r; l(new Sj(q, r)) }) + }) + }, a.K).call(a, Oga(e, c, d)).then(function (h) { return h.Eda }) + }; + kha = function (a, b, c) { var d = b.j, e = b.getMetadata(), f = lha(a, !0); a = mha(a, e, f, c + d.getName()); c = nha(f, d.B, !1); Sga(c, e["X-Goog-Encode-Response-If-Executable"] == "base64"); b = d.j(b.B); f.send(a, "POST", b); return c }; + lha = function (a, b) { b = a.C && !b; return a.j || b ? new g.Xi(new g.dk({ ufa: a.j, I2: b })) : new g.Xi }; + mha = function (a, b, c, d) { b["Content-Type"] = "application/json+protobuf"; b["X-User-Agent"] = "grpc-web-javascript/0.1"; var e = b.Authorization; if (e && oha.has(e.split(" ")[0]) || a.B) c.K = !0; if (a.G) d = g.tk(d, "$httpHeaders", b); else for (var f in b) c.headers.set(f, b[f]); return d }; + nha = function (a, b, c) { if (c) { a.isActive(); c = new Hk(a); var d = new fha(c) } return new Yj({ xhr: a, Y$: d }, b) }; + iha = function (a, b) { + var c = a; b.forEach(function (d) { var e = c; c = function (f) { return d.intercept(f, e) } }); + return c + }; + Lk = function () { this.j = new hha; this.B = "https://jnn-pa.googleapis.com".replace(/\/+$/, "") }; + Mk = function (a) { g.O.call(this); this.owner = a; this.signals = new Set; a && g.P(a, this) }; + Nk = function (a, b) { a.signals.has(b); return b }; + Ok = function (a) { g.O.call(this); this.iX = a; this.slots = new Map; this.hC = new Set; this.dZ = !1 }; + pha = function (a, b) { a.La() || a.slots.set(b, { slotId: b, slot: void 0, KX: function () { return a.slots.delete(b) } }) }; + Qk = function (a, b) { new Promise(function (c) { Pk(function () { a.iX && (a.YZ = b, a.dZ = !0); for (var d = g.w(a.slots.values()), e = d.next(); !e.done; e = d.next()) { var f = e.value; e = f.slotId; f = f.slot; try { f(b, { signal: a, slotId: e }) } catch (h) { we(h) } } d = g.w(a.hC); for (e = d.next(); !e.done; e = d.next())e.value.resolve(b); a.hC.clear(); c() }) }) }; + Pk = function (a) { Rk.push(a); qha() }; + qha = function () { var a, b; g.J(function (c) { switch (c.j) { case 1: if (Sk) return c.return(); g.va(c, 2, 3); Sk = !0; a = rha(0); case 5: if (!(a < Rk.length)) { c.Ha(3); break } return g.G(c, Promise.resolve(), 8); case 8: a = rha(a); c.Ha(5); break; case 3: g.ya(c); Rk.length = 0; Sk = !1; g.za(c, 0); break; case 2: b = g.xa(c), we(b), c.Ha(3) } }) }; + rha = function (a) { for (var b = a + 100; a < b && a < Rk.length;)try { Rk[a++]() } catch (c) { we(c) } return a }; + sha = function (a, b) { if (a.La()) b(); else { var c = Tk.get(a); if (c) c.push(b); else { var d = [b]; Tk.set(a, d); a.addOnDisposeCallback(function () { for (var e = g.w([].concat(g.x(d))), f = e.next(); !f.done; f = e.next())f = f.value, f(); Tk.delete(a) }) } } }; + Uk = function (a, b, c) { g.O.call(this); this.N = a; this.milliseconds = b; this.Cb = c; this.state = this.D = 0 }; + tha = function (a) { + return new Uk(!1, a, { + rS: function () { }, + Z_: void 0 + }) + }; + Xk = function (a) { ib.call(this, a); this.name = "TimerCancelledError" }; + Yk = function (a) { ib.call(this, a); this.name = "TimerDisposedError" }; + uha = function (a) { var b = new Lk, c = { "X-Goog-Api-Key": "AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw" }; return new xj(b, a, function () { return c }) }; + Zk = function (a) { + var b, c; Pj.call(this, a.sda ? new jj : new kj((b = a.kh) != null ? b : "_", a.cC, a.Lz), (c = a.onError) != null ? c : function () { }, 1); + this.C = new g.oj; this.DF = void 0; this.Yw = a.Yw; this.ZR = a.ZR; var d; this.onEvent = (d = a.onEvent) != null ? d : function () { } + }; + wha = function (a) { + var b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A; return g.J(function (D) { + switch (D.j) { + case 1: b = void 0, c = a.isReady() ? 6E4 : 1E3, d = new g.gi(c, 6E5, .25, 2), e = {}, f = 1; case 2: if (!(f <= 2)) { D.Ha(4); break } g.va(D, 5); a.state = 3; a.B = f - 1; return g.G(D, a.DF && f === 1 ? a.DF : a.SE(f), 7); case 7: return h = D.B, a.DF = void 0, a.state = 4, l = new gj(a.logger, "b"), g.G(D, tj(sj(), h), 8); case 8: return a.state = 5, a.onEvent(1), e.AO = 3, e.WI = new pj({ challenge: h, Vf: a.logger }), m = $k(a, 12E4).then(function (H) { + return function () { + a.onEvent(H.AO); return Promise.reject(new qj(15, + "MDA:Timeout")) + } + }(e)), g.G(D, Promise.race([e.WI.HH, + m]), 9); case 9: return a.onEvent(2), n = [], a.onEvent(4), e.AO = 6, g.G(D, Promise.race([e.WI.snapshot({ O3: n }), m]), 10); case 10: return p = D.B, a.onEvent(5), q = g.w(n), r = q.next().value, e.f2 = r, l.done(), a.state = 6, g.G(D, vha(a, a.logger.nR("g", f, jga(a.Yw, p)), new qj(10, "BWB:Timeout")), 11); case 11: return e.OQ = D.B, a.state = 7, t = ij(a.logger, function (H) { + return function () { + var M = H.OQ; var N = H.WI; var Q = H.f2; if (Mg(M, 4)) N.dispose(), N = new Lj(a.logger, Mg(M, 4), Lg(M, 2) * 1E3); else if (Lg(M, 3)) { + if (!Q) throw new qj(4, "PMD:Undefined"); var Z = + Q(bf(rg(M, 1))); if (!(Z instanceof Function)) throw new qj(16, "APF:Failed"); Q = Lg(M, 2) * 1E3; M = new Jj(a.logger, Z, Lg(M, 3), Q); a.D = Math.floor((Date.now() + Q) / 1E3); g.P(M, N); N = M + } else N.dispose(), N = new Kj(a.logger, bf(rg(M, 1)), Lg(M, 2) * 1E3); return N + } + }(e), "i"), y = u = void 0, (y = (u = a).ZR) == null || y.call(u, bf(rg(e.OQ, 1))), a.state = 8, D.return(t); + case 5: A = g.xa(D); b = A instanceof qj ? A : A instanceof Yk ? new qj(20, "WTO:Disposed", A) : A instanceof Bi ? new qj(11, "EBH:Error", A) : new qj(12, "BSO:Unknown", A); a.reportError(b); a: { if (A instanceof Bi) switch (A.code) { case 2: case 13: case 14: case 4: var F = !0; break a; default: F = !1; break a }F = A instanceof qj ? A.code !== 20 : !0 } if (!F) throw b; return g.G(D, $k(a, d.getValue()), 12); case 12: g.hi(d); case 3: e = { AO: void 0, OQ: void 0, WI: void 0, f2: void 0 }; f++; D.Ha(2); break; case 4: throw b; + } + }) + }; + $k = function (a, b) { b = tha(b); g.P(a, b); b.start(); return b.Z }; + vha = function (a, b, c) { return Promise.race([b, $k(a, 12E4).then(function () { return Promise.reject(c) })]) }; + xha = function (a) { var b, c, d; g.J(function (e) { switch (e.j) { case 1: return b = void 0, g.va(e, 5), g.G(e, wha(a), 7); case 7: b = e.B; g.wa(e, 6); break; case 5: c = g.xa(e); if (a.j) { a.logger.Kl(13); e.Ha(0); break } a.logger.Kl(14); b = new Mj(a.logger, c instanceof qj ? c : new qj(14, "SOM:Init", c instanceof Error ? c : Error(String(c)))); case 6: return d = void 0, (d = a.j) == null || d.dispose(), a.j = b, a.C.resolve(), g.va(e, 8), g.G(e, a.j.D.promise, 10); case 10: g.wa(e, 1); break; case 8: g.xa(e), e.Ha(0) } }) }; + yha = function (a) { + var b = {}; g.cc(a, function (c) { var d = c.event, e = b[d]; b.hasOwnProperty(d) ? e !== null && (c.j(e) || (b[d] = null)) : b[d] = c }); + Iaa(a, function (c) { return b[c.event] === null }) + }; + al = function () { this.Be = 0; this.j = !1; this.B = -1; this.Dx = !1; this.Tk = 0 }; + bl = function () { this.B = null; this.j = !1 }; + cl = function (a) { bl.call(this); this.D = a }; + dl = function () { bl.call(this) }; + el = function () { bl.call(this) }; + fl = function () { this.j = {}; this.B = !0; this.C = {} }; + gl = function (a, b, c) { a.j[b] || (a.j[b] = new cl(c)); return a.j[b] }; + zha = function (a) { a.j.queryid || (a.j.queryid = new el) }; + hl = function (a, b, c) { (a = a.j[b]) && a.C(c) }; + il = function (a, b) { if (g.yc(a.C, b)) return a.C[b]; if (a = a.j[b]) return a.getValue() }; + jl = function (a) { + var b = {}, c = g.rc(a.j, function (d) { return d.j }); + g.qc(c, function (d, e) { d = a.C[e] !== void 0 ? String(a.C[e]) : d.j && d.B !== null ? String(d.B) : ""; d.length > 0 && (b[e] = d) }, a); + return b + }; + Aha = function (a) { + a = jl(a); var b = []; g.qc(a, function (c, d) { d in Object.prototype || typeof c != "undefined" && b.push([d, ":", c].join("")) }); + return b + }; + Cha = function (a) { gl(a, "od", Bha); gl(a, "opac", kl).j = !0; gl(a, "sbeos", kl).j = !0; gl(a, "prf", kl).j = !0; gl(a, "mwt", kl).j = !0; gl(a, "iogeo", kl) }; + Dha = function () { this.j = this.Ju = null }; + ll = function () { }; + nl = function () { if (!ml()) throw Error(); }; + ml = function () { return !(!ol || !ol.performance) }; + pl = function (a) { return a ? a.passive && Eha() ? a : a.capture || !1 : !1 }; + ql = function (a, b, c, d) { return a.addEventListener ? (a.addEventListener(b, c, pl(d)), !0) : !1 }; + rl = function (a) { return a.prerendering ? 3 : { visible: 1, hidden: 2, prerender: 3, preview: 4, unloaded: 5 }[a.visibilityState || a.webkitVisibilityState || a.mozVisibilityState || ""] || 0 }; + Fha = function () { }; + Gha = function () { return (xb || yb) && Ab ? Ab.mobile : !sl() && (Cb("iPod") || Cb("iPhone") || Cb("Android") || Cb("IEMobile")) }; + sl = function () { return (xb || yb) && Ab ? !Ab.mobile && (Cb("iPad") || Cb("Android") || Cb("Silk")) : Cb("iPad") || Cb("Android") && !Cb("Mobile") || Cb("Silk") }; + tl = function (a) { try { return !!a && a.location.href != null && Raa(a, "foo") } catch (b) { return !1 } }; + ul = function (a, b) { if (a) for (var c in a) Object.prototype.hasOwnProperty.call(a, c) && b(a[c], c, a) }; + Iha = function () { + var a = []; ul(Hha, function (b) { a.push(b) }); + return a + }; + Jha = function (a) { var b, c; return (c = (b = /https?:\/\/[^\/]+/.exec(a)) == null ? void 0 : b[0]) != null ? c : "" }; + Mha = function () { + var a = Kha("IFRAME"), b = {}; g.cc(Lha(), function (c) { a.sandbox && a.sandbox.supports && a.sandbox.supports(c) && (b[c] = !0) }); + return b + }; + Kha = function (a, b) { b = b === void 0 ? document : b; return b.createElement(String(a).toLowerCase()) }; + Nha = function (a) { for (var b = a; a && a != a.parent;)a = a.parent, tl(a) && (b = a); return b }; + Rha = function (a) { a = a || vl(); for (var b = new Oha(g.Ja.location.href, !1), c = null, d = a.length - 1, e = d; e >= 0; --e) { var f = a[e]; !c && Pha.test(f.url) && (c = f); if (f.url && !f.VQ) { b = f; break } } e = null; f = a.length && a[d].url; b.depth != 0 && f && (e = a[d]); return new Qha(b, e, c) }; + vl = function () { var a = g.Ja, b = [], c = null; do { var d = a; if (tl(d)) { var e = d.location.href; c = d.document && d.document.referrer || null } else e = c, c = null; b.push(new Oha(e || "")); try { a = d.parent } catch (f) { a = null } } while (a && d != a); d = 0; for (a = b.length - 1; d <= a; ++d)b[d].depth = a - d; d = g.Ja; if (d.location && d.location.ancestorOrigins && d.location.ancestorOrigins.length == b.length - 1) for (a = 1; a < b.length; ++a)e = b[a], e.url || (e.url = d.location.ancestorOrigins[a - 1] || "", e.VQ = !0); return b }; + Qha = function (a, b, c) { this.j = a; this.B = b; this.C = c }; + Oha = function (a, b) { this.url = a; this.VQ = !!b; this.depth = null }; + wl = function () { this.C = "&"; this.B = {}; this.D = 0; this.j = [] }; + xl = function (a, b) { var c = {}; c[a] = b; return [c] }; + Sha = function (a, b, c, d, e) { + var f = []; ul(a, function (h, l) { (h = yl(h, b, c, d, e)) && f.push(l + "=" + h) }); + return f.join(b) + }; + yl = function (a, b, c, d, e) { if (a == null) return ""; b = b || "&"; c = c || ",$"; typeof c == "string" && (c = c.split("")); if (a instanceof Array) { if (d = d || 0, d < c.length) { for (var f = [], h = 0; h < a.length; h++)f.push(yl(a[h], b, c, d + 1, e)); return f.join(c[d]) } } else if (typeof a == "object") return e = e || 0, e < 2 ? encodeURIComponent(Sha(a, b, c, d, e + 1)) : "..."; return encodeURIComponent(String(a)) }; + Tha = function (a) { var b = 1, c; for (c in a.B) b = c.length > b ? c.length : b; return 3997 - b - a.C.length - 1 }; + zl = function (a, b) { this.j = a; this.depth = b }; + Vha = function () { + function a(l, m) { return l == null ? m : l } + var b = vl(), c = Math.max(b.length - 1, 0), d = Rha(b); b = d.j; var e = d.B, f = d.C, h = []; f && h.push(new zl([f.url, f.VQ ? 2 : 0], a(f.depth, 1))); e && e != f && h.push(new zl([e.url, 2], 0)); b.url && b != f && h.push(new zl([b.url, 0], a(b.depth, c))); d = g.Al(h, function (l, m) { return h.slice(0, h.length - m) }); + !b.url || (f || e) && b != f || (e = Jha(b.url)) && d.push([new zl([e, 1], a(b.depth, c))]); d.push([]); return g.Al(d, function (l) { return Uha(c, l) }) + }; + Uha = function (a, b) { + g.Bl(b, function (e) { return e.depth >= 0 }); + var c = Cl(b, function (e, f) { return Math.max(e, f.depth) }, -1), d = Naa(c + 2); + d[0] = a; g.cc(b, function (e) { return d[e.depth + 1] = e.j }); + return d + }; + Wha = function () { var a = a === void 0 ? Vha() : a; return a.map(function (b) { return yl(b) }) }; + Xha = function (a) { var b = !1; b = b === void 0 ? !1 : b; ol.google_image_requests || (ol.google_image_requests = []); var c = Kha("IMG", ol.document); b && (c.attributionSrc = ""); c.src = a; ol.google_image_requests.push(c) }; + Dl = function (a) { var b = "ih"; if (a.ih && a.hasOwnProperty(b)) return a.ih; var c = new a; a.ih = c; a.hasOwnProperty(b); return c }; + El = function () { this.B = new Fha; this.j = ml() ? new nl : new ll }; + Yha = function () { Fl(); var a = ol.document; return !!(a && a.body && a.body.getBoundingClientRect && typeof ol.setInterval === "function" && typeof ol.clearInterval === "function" && typeof ol.setTimeout === "function" && typeof ol.clearTimeout === "function") }; + Zha = function () { Fl(); return Wha() }; + $ha = function () { }; + Fl = function () { var a = Dl($ha); if (!a.j) { if (!ol) throw Error("Context has not been set and window is undefined."); a.j = Dl(El) } return a.j }; + Gl = function (a) { this.sb = Zf(a) }; + aia = function (a) { this.C = a; this.j = -1; this.B = this.D = 0 }; + Hl = function (a, b) { return function () { var c = g.Ca.apply(0, arguments); if (a.j > -1) return b.apply(null, g.x(c)); try { return a.j = a.C.j.now(), b.apply(null, g.x(c)) } finally { a.D += a.C.j.now() - a.j, a.j = -1, a.B += 1 } } }; + bia = function (a, b) { this.B = a; this.C = b; this.j = new aia(a) }; + cia = function () { this.j = {} }; + eia = function () { var a = Il().flags, b = dia; a = a.j[b.key]; if (b.valueType === "proto") { try { var c = JSON.parse(a); if (Array.isArray(c)) return c } catch (d) { } return b.defaultValue } return typeof a === typeof b.defaultValue ? a : b.defaultValue }; + iia = function () { + this.C = void 0; this.B = this.K = 0; this.G = -1; this.Lc = new fl; gl(this.Lc, "mv", fia).j = !0; gl(this.Lc, "omid", kl); gl(this.Lc, "epoh", kl).j = !0; gl(this.Lc, "epph", kl).j = !0; gl(this.Lc, "umt", kl).j = !0; gl(this.Lc, "phel", kl).j = !0; gl(this.Lc, "phell", kl).j = !0; gl(this.Lc, "oseid", gia).j = !0; var a = this.Lc; a.j.sloi || (a.j.sloi = new dl); a.j.sloi.j = !0; gl(this.Lc, "mm", Jl); gl(this.Lc, "ovms", hia).j = !0; gl(this.Lc, "xdi", kl).j = !0; gl(this.Lc, "amp", kl).j = !0; gl(this.Lc, "prf", kl).j = !0; gl(this.Lc, "gtx", kl).j = !0; gl(this.Lc, + "mvp_lv", kl).j = !0; gl(this.Lc, "ssmol", kl).j = !0; gl(this.Lc, "fmd", kl).j = !0; gl(this.Lc, "gen204simple", kl); this.j = new bia(Fl(), this.Lc); this.D = !1; this.flags = new cia + }; + Il = function () { return Dl(iia) }; + jia = function (a, b, c, d) { + if (Math.random() < (d || a.j)) try { + if (c instanceof wl) var e = c; else e = new wl, ul(c, function (h, l) { var m = e, n = m.D++; h = xl(l, h); m.j.push(n); m.B[n] = h }); + var f = e.Ce(a.B, "pagead2.googlesyndication.com", "/pagead/gen_204?id=" + b + "&"); f && (Fl(), Xha(f)) + } catch (h) { } + }; + kia = function (a, b, c) { c = c === void 0 ? {} : c; this.error = a; this.context = b.context; this.msg = b.message || ""; this.id = b.id || "jserror"; this.meta = c }; + lia = function () { var a = a === void 0 ? g.Ja : a; return (a = a.performance) && a.now && a.timing ? Math.floor(a.now() + a.timing.navigationStart) : g.Xa() }; + mia = function () { var a = a === void 0 ? g.Ja : a; return (a = a.performance) && a.now ? a.now() : null }; + nia = function (a, b, c) { this.label = a; this.type = b; this.value = c; this.duration = 0; this.taskId = this.slotId = void 0; this.uniqueId = Math.random() }; + Ll = function () { var a = window; this.events = []; this.B = a || g.Ja; var b = null; a && (a.google_js_reporting_queue = a.google_js_reporting_queue || [], this.events = a.google_js_reporting_queue, b = a.google_measure_js_timing); this.j = Kl() || (b != null ? b : Math.random() < 1) }; + oia = function (a) { a && Ml && Kl() && (Ml.clearMarks("goog_" + a.label + "_" + a.uniqueId + "_start"), Ml.clearMarks("goog_" + a.label + "_" + a.uniqueId + "_end")) }; + pia = function () { var a = Nl; this.j = Ol; this.XX = "jserror"; this.QT = !0; this.oO = null; this.B = this.qR; this.ud = a === void 0 ? null : a }; + qia = function (a, b, c) { var d = Pl; return Hl(Il().j.j, function () { try { if (d.ud && d.ud.j) { var e = d.ud.start(a.toString(), 3); var f = b(); d.ud.end(e) } else f = b() } catch (l) { var h = d.QT; try { oia(e), h = d.B(a, new Ql(Rl(l)), void 0, c) } catch (m) { d.qR(217, m) } if (!h) throw l; } return f })() }; + Sl = function (a, b, c, d) { return Hl(Il().j.j, function () { var e = g.Ca.apply(0, arguments); return qia(a, function () { return b.apply(c, e) }, d) }) }; + Rl = function (a) { var b = a.toString(); a.name && b.indexOf(a.name) == -1 && (b += ": " + a.name); a.message && b.indexOf(a.message) == -1 && (b += ": " + a.message); if (a.stack) a: { a = a.stack; var c = b; try { a.indexOf(c) == -1 && (a = c + "\n" + a); for (var d; a != d;)d = a, a = a.replace(/((https?:\/..*\/)[^\/:]*:\d+(?:.|\n)*)\2/, "$1"); b = a.replace(/\n */g, "\n"); break a } catch (e) { b = c; break a } b = void 0 } return b }; + Ql = function (a) { kia.call(this, Error(a), { message: a }) }; + ria = function () { ol && typeof ol.google_measure_js_timing != "undefined" && (ol.google_measure_js_timing || Nl.disable()) }; + sia = function (a) { Pl.oO = function (b) { g.cc(a, function (c) { c(b) }) } }; + tia = function (a, b) { return qia(a, b) }; + Tl = function (a, b) { return Sl(a, b) }; + Ul = function (a, b, c, d) { Pl.qR(a, b, c, d) }; + Vl = function () { return Date.now() - uia }; + via = function () { var a = Il().C, b = Wl >= 0 ? Vl() - Wl : -1, c = Xl ? Vl() - Yl : -1, d = Zl >= 0 ? Vl() - Zl : -1; if (a == 947190542) return 100; if (a == 79463069) return 200; a = [2E3, 4E3]; var e = [250, 500, 1E3]; Ul(637, Error(), .001); var f = b; c != -1 && c < b && (f = c); for (b = 0; b < a.length; ++b)if (f < a[b]) { var h = e[b]; break } h === void 0 && (h = e[a.length]); return d != -1 && d > 1500 && d < 4E3 ? 500 : h }; + $l = function (a, b, c, d) { this.top = a; this.right = b; this.bottom = c; this.left = d }; + cm = function (a) { return a.right - a.left }; + dm = function (a, b, c) { b instanceof g.Gd ? (a.left += b.x, a.right += b.x, a.top += b.y, a.bottom += b.y) : (a.left += b, a.right += b, typeof c === "number" && (a.top += c, a.bottom += c)); return a }; + wia = function (a, b, c) { var d = new $l(0, 0, 0, 0); this.time = a; this.volume = null; this.C = b; this.j = d; this.B = c }; + em = function (a, b, c, d, e, f, h, l) { this.D = a; this.N = b; this.C = c; this.K = d; this.j = e; this.G = f; this.B = h; this.Z = l }; + yia = function (a) { + var b = a !== a.top, c = a.top === Nha(a), d = -1, e = 0; if (b && c && a.top.mraid) { d = 3; var f = a.top.mraid } else d = (f = a.mraid) ? b ? c ? 2 : 1 : 0 : -1; f && (f.IS_GMA_SDK || (e = 2), Zaa(xia, function (h) { return typeof f[h] === "function" }) || (e = 1)); + return { Jo: f, compatibility: e, qea: d } + }; + zia = function () { var a = window.document; return a && typeof a.elementFromPoint === "function" }; + Aia = function (a, b, c) { a && b !== null && b != b.top && (b = b.top); try { return (c === void 0 ? 0 : c) ? (new g.Id(b.innerWidth, b.innerHeight)).round() : Wba(b || window).round() } catch (d) { return new g.Id(-12245933, -12245933) } }; + fm = function (a, b, c) { try { a && (b = b.top); var d = Aia(a, b, c), e = d.height, f = d.width; if (f === -12245933) return new $l(f, f, f, f); var h = Yba(Zd(b.document).j), l = h.x, m = h.y; return new $l(m, l + f, m + e, l) } catch (n) { return new $l(-12245933, -12245933, -12245933, -12245933) } }; + g.gm = function (a, b, c, d) { this.left = a; this.top = b; this.width = c; this.height = d }; + hm = function (a, b) { return a == b ? !0 : a && b ? a.left == b.left && a.width == b.width && a.top == b.top && a.height == b.height : !1 }; + g.jm = function (a, b, c) { if (typeof b === "string") (b = im(a, b)) && (a.style[b] = c); else for (var d in b) { c = a; var e = b[d], f = im(c, d); f && (c.style[f] = e) } }; + im = function (a, b) { var c = Bia[b]; if (!c) { var d = Qba(b); c = d; a.style[d] === void 0 && (d = (g.lc ? "Webkit" : km ? "Moz" : g.lm ? "ms" : null) + Sba(d), a.style[d] !== void 0 && (c = d)); Bia[b] = c } return c }; + g.mm = function (a, b) { var c = a.style[Qba(b)]; return typeof c !== "undefined" ? c : a.style[im(a, b)] || "" }; + nm = function (a, b) { var c = Yd(a); return c.defaultView && c.defaultView.getComputedStyle && (a = c.defaultView.getComputedStyle(a, null)) ? a[b] || a.getPropertyValue(b) || "" : "" }; + om = function (a, b) { return nm(a, b) || (a.currentStyle ? a.currentStyle[b] : null) || a.style && a.style[b] }; + g.qm = function (a, b, c) { if (b instanceof g.Gd) { var d = b.x; b = b.y } else d = b, b = c; a.style.left = g.pm(d, !1); a.style.top = g.pm(b, !1) }; + rm = function (a) { try { return a.getBoundingClientRect() } catch (b) { return { left: 0, top: 0, right: 0, bottom: 0 } } }; + Cia = function (a) { var b = Yd(a), c = om(a, "position"), d = c == "fixed" || c == "absolute"; for (a = a.parentNode; a && a != b; a = a.parentNode)if (a.nodeType == 11 && a.host && (a = a.host), c = om(a, "position"), d = d && c == "static" && a != b.documentElement && a != b.body, !d && (a.scrollWidth > a.clientWidth || a.scrollHeight > a.clientHeight || c == "fixed" || c == "absolute" || c == "relative")) return a; return null }; + g.sm = function (a) { var b = Yd(a), c = new g.Gd(0, 0); if (a == (b ? Yd(b) : document).documentElement) return c; a = rm(a); b = Yba(Zd(b).j); c.x = a.left + b.x; c.y = a.top + b.y; return c }; + Eia = function (a, b) { var c = new g.Gd(0, 0), d = fe(Yd(a)); if (!Raa(d, "parent")) return c; do { var e = d == b ? g.sm(a) : Dia(a); c.x += e.x; c.y += e.y } while (d && d != b && d != d.parent && (a = d.frameElement) && (d = d.parent)); return c }; + g.tm = function (a, b) { a = Fia(a); b = Fia(b); return new g.Gd(a.x - b.x, a.y - b.y) }; + Dia = function (a) { a = rm(a); return new g.Gd(a.left, a.top) }; + Fia = function (a) { if (a.nodeType == 1) return Dia(a); a = a.changedTouches ? a.changedTouches[0] : a; return new g.Gd(a.clientX, a.clientY) }; + g.um = function (a, b, c) { if (b instanceof g.Id) c = b.height, b = b.width; else if (c == void 0) throw Error("missing height argument"); a.style.width = g.pm(b, !0); a.style.height = g.pm(c, !0) }; + g.pm = function (a, b) { typeof a == "number" && (a = (b ? Math.round(a) : a) + "px"); return a }; + g.Am = function (a) { var b = Gia; if (om(a, "display") != "none") return b(a); var c = a.style, d = c.display, e = c.visibility, f = c.position; c.visibility = "hidden"; c.position = "absolute"; c.display = "inline"; a = b(a); c.display = d; c.position = f; c.visibility = e; return a }; + Gia = function (a) { var b = a.offsetWidth, c = a.offsetHeight, d = g.lc && !b && !c; return (b === void 0 || d) && a.getBoundingClientRect ? (a = rm(a), new g.Id(a.right - a.left, a.bottom - a.top)) : new g.Id(b, c) }; + g.Bm = function (a, b) { a.style.display = b ? "" : "none" }; + Cm = function (a, b) { b = Math.pow(10, b); return Math.floor(a * b) / b }; + Hia = function (a) { return new $l(a.top, a.right, a.bottom, a.left) }; + Iia = function (a) { var b = a.top || 0, c = a.left || 0; return new $l(b, c + (a.width || 0), b + (a.height || 0), c) }; + Dm = function (a) { return a != null && a >= 0 && a <= 1 }; + Jia = function () { var a = g.wb(); return a ? Em("AmazonWebAppPlatform;Android TV;Apple TV;AppleTV;BRAVIA;BeyondTV;Freebox;GoogleTV;HbbTV;LongTV;MiBOX;MiTV;NetCast.TV;Netcast;Opera TV;PANASONIC;POV_TV;SMART-TV;SMART_TV;SWTV;Smart TV;SmartTV;TV Store;UnionTV;WebOS".split(";"), function (b) { return sb(a, b) }) || sb(a, "OMI/") && !sb(a, "XiaoMi/") ? !0 : sb(a, "Presto") && sb(a, "Linux") && !sb(a, "X11") && !sb(a, "Android") && !sb(a, "Mobi") : !1 }; + Kia = function () { this.C = !tl(ol.top); this.isMobileDevice = sl() || Gha(); var a = vl(); this.domain = a.length > 0 && a[a.length - 1] != null && a[a.length - 1].url != null ? g.Ni(a[a.length - 1].url) || "" : ""; this.j = new $l(0, 0, 0, 0); this.D = new g.Id(0, 0); this.G = new g.Id(0, 0); this.N = new $l(0, 0, 0, 0); this.frameOffset = new g.Gd(0, 0); this.K = 0; this.Z = !1; this.B = !(!ol || !yia(ol).Jo); this.update(ol) }; + Lia = function (a, b) { b && b.screen && (a.D = new g.Id(b.screen.width, b.screen.height)) }; + Mia = function (a, b) { + a: { + var c = a.j ? new g.Id(cm(a.j), a.j.getHeight()) : new g.Id(0, 0); b = b === void 0 ? ol : b; b !== null && b != b.top && (b = b.top); var d = 0, e = 0; try { + var f = b.document, h = f.body, l = f.documentElement; if (f.compatMode == "CSS1Compat" && l.scrollHeight) d = l.scrollHeight != c.height ? l.scrollHeight : l.offsetHeight, e = l.scrollWidth != c.width ? l.scrollWidth : l.offsetWidth; else { + var m = l.scrollHeight, n = l.scrollWidth, p = l.offsetHeight, q = l.offsetWidth; l.clientHeight != p && (m = h.scrollHeight, n = h.scrollWidth, p = h.offsetHeight, q = h.offsetWidth); + m > c.height ? m > p ? (d = m, e = n) : (d = p, e = q) : m < p ? (d = m, e = n) : (d = p, e = q) + } var r = new g.Id(e, d); break a + } catch (t) { r = new g.Id(-12245933, -12245933); break a } r = void 0 + } a.G = r + }; + Hm = function () { var a = Fm(); if (a.K > 0 || a.Z) return !0; a = Fl().B.isVisible(); var b = rl(Gm) === 0; return a || b }; + Fm = function () { return Dl(Kia) }; + Im = function (a) { this.C = a; this.B = 0; this.j = null }; + Jm = function (a, b, c) { this.C = a; this.Ra = c === void 0 ? "na" : c; this.G = []; this.isInitialized = !1; this.D = new wia(-1, !0, this); this.j = this; this.Z = b; this.qa = this.Y = !1; this.Ga = "uk"; this.Fa = !1; this.K = !0 }; + Km = function (a, b) { g.Mb(a.G, b) || (a.G.push(b), b.wA(a.j), b.mu(a.D), b.Hq() && (a.Y = !0)) }; + Nia = function (a) { a = a.j; a.BV(); a.AV(); var b = Fm(); b.N = fm(!1, a.C, b.isMobileDevice); Mia(Fm(), a.C); a.D.j = a.JY() }; + Oia = function (a) { a.Y = a.G.length ? Em(a.G, function (b) { return b.Hq() }) : !1 }; + Pia = function (a) { var b = g.Tb(a.G); g.cc(b, function (c) { c.mu(a.D) }) }; + Lm = function (a) { + var b = g.Tb(a.G); g.cc(b, function (c) { c.wA(a.j) }); + a.j != a || Pia(a) + }; + Mm = function (a, b, c, d) { this.element = a; this.j = new $l(0, 0, 0, 0); this.D = new $l(0, 0, 0, 0); this.B = b; this.Lc = c; this.ra = d; this.qa = !1; this.timestamp = -1; this.N = new em(b.D, this.element, this.j, new $l(0, 0, 0, 0), 0, 0, Vl(), 0) }; + Nm = function (a) { this.G = !1; this.j = a; this.D = function () { } }; + Qia = function (a, b, c) { this.C = c === void 0 ? 0 : c; this.B = a; this.j = b == null ? "" : b }; + Ria = function (a) { switch (Math.trunc(a.C)) { case -16: return -16; case -8: return -8; case 0: return 0; case 8: return 8; case 16: return 16; default: return 16 } }; + Sia = function (a, b) { return a.C < b.C ? !0 : a.C > b.C ? !1 : a.B < b.B ? !0 : a.B > b.B ? !1 : typeof a.j < typeof b.j ? !0 : typeof a.j > typeof b.j ? !1 : a.j < b.j }; + Om = function () { this.C = 0; this.j = []; this.B = !1 }; + Tia = function (a, b) { (0, g.cc)(b.j, function (c) { a.add(c.B, c.j, Ria(c)) }) }; + Pm = function (a, b) { + var c = c === void 0 ? 0 : c; var d = d === void 0 ? !0 : d; ul(b, function (e, f) { d && e === void 0 || a.add(f, e, c) }); + return a + }; + Qm = function (a) { + var b = Uia; a.B && (g.$b(a.j, function (c, d) { return Sia(d, c) ? 1 : Sia(c, d) ? -1 : 0 }), a.B = !1); + return Cl(a.j, function (c, d) { d = b(d); return "" + c + (c != "" && d != "" ? "&" : "") + d }, "") + }; + Uia = function (a) { var b = a.B; a = a.j; return a === "" ? b : typeof a === "boolean" ? a ? b : "" : Array.isArray(a) ? a.length === 0 ? b : b + "=" + a.join() : b + "=" + (g.Mb(["mtos", "tos", "p"], b) ? a : encodeURIComponent(a)) }; + Via = function (a) { var b = b === void 0 ? !0 : b; this.j = new Om; a !== void 0 && Tia(this.j, a); b && this.j.add("v", "unreleased", -16) }; + Wia = function (a) { + var b = [], c = []; g.qc(a, function (d, e) { if (!(e in Object.prototype) && typeof d != "undefined") switch (Array.isArray(d) && (d = d.join(",")), d = [e, "=", d].join(""), e) { case "adk": case "r": case "tt": case "error": case "mtos": case "tos": case "p": case "bs": b.unshift(d); break; case "req": case "url": case "referrer": case "iframe_loc": c.push(d); break; default: b.push(d) } }); + return b.concat(c) + }; + Xia = function (a) { a = a.toString(); Fl(); Xha(a) }; + Yia = function () { this.j = 0 }; + Zia = function (a, b, c) { (0, g.cc)(a.C, function (d) { var e = a.j; if (!d.j && (d.C(b, c), d.D())) { d.j = !0; var f = d.B(), h = new Om; h.add("id", "av-js"); h.add("type", "verif"); h.add("vtype", d.G); d = Dl(Yia); h.add("i", d.j++); h.add("adk", e); Pm(h, f); e = new Via(h); Xia(e) } }) }; + Rm = function () { this.B = this.C = this.D = this.j = 0 }; + Sm = function (a) { this.B = a = a === void 0 ? $ia : a; this.j = g.Al(this.B, function () { return new Rm }) }; + Tm = function (a, b) { return aja(a, function (c) { return c.j }, b === void 0 ? !0 : b) }; + Vm = function (a, b) { return Um(a, b, function (c) { return c.j }) }; + bja = function (a, b) { return aja(a, function (c) { return c.C }, b === void 0 ? !0 : b) }; + Wm = function (a, b) { return Um(a, b, function (c) { return c.C }) }; + Xm = function (a, b) { return Um(a, b, function (c) { return c.B }) }; + cja = function (a) { g.cc(a.j, function (b) { b.B = 0 }) }; + aja = function (a, b, c) { + a = g.Al(a.j, function (d) { return b(d) }); + return c ? a : dja(a) + }; + Um = function (a, b, c) { + var d = g.Lb(a.B, function (e) { return b <= e }); + return d == -1 ? 0 : c(a.j[d]) + }; + dja = function (a) { return g.Al(a, function (b, c, d) { return c > 0 ? d[c] - d[c - 1] : d[c] }) }; + Ym = function () { this.B = new Sm; this.Ra = new Rm; this.ra = this.N = -1; this.Ya = 1E3; this.Xa = new Sm([1, .9, .8, .7, .6, .5, .4, .3, .2, .1, 0]); this.Ga = this.Ba = -1 }; + Zm = function (a, b) { return bja(a.B, b === void 0 ? !0 : b) }; + $m = function (a, b, c, d) { var e = e === void 0 ? !1 : e; c = Sl(d, c); ql(a, b, c, { capture: e }) }; + bn = function (a, b) { b = an(b); return b === 0 ? 0 : an(a) / b }; + an = function (a) { return Math.max(a.bottom - a.top, 0) * Math.max(a.right - a.left, 0) }; + eja = function (a, b) { if (!a || !b) return !1; for (var c = 0; a !== null && c++ < 100;) { if (a === b) return !0; try { if (a = a.parentElement || a) { var d = Yd(a), e = d && fe(d), f = e && e.frameElement; f && (a = f) } } catch (h) { break } } return !1 }; + fja = function (a, b, c) { + if (!a || !b) return !1; b = dm(a.clone(), -b.left, -b.top); a = (b.left + b.right) / 2; b = (b.top + b.bottom) / 2; tl(window.top) && window.top && window.top.document && (window = window.top); if (!zia()) return !1; a = window.document.elementFromPoint(a, b); if (!a) return !1; b = (b = (b = Yd(c)) && b.defaultView && b.defaultView.frameElement) && eja(b, a); var d = a === c; a = !d && a && se(a, function (e) { return e === c }); + return !(b || d || a) + }; + gja = function (a, b, c, d) { return Fm().C ? !1 : cm(a) <= 0 || a.getHeight() <= 0 ? !0 : c && d ? tia(208, function () { return fja(a, b, c) }) : !1 }; + cn = function (a, b, c) { + g.O.call(this); this.position = hja.clone(); this.bL = this.cK(); this.lR = -2; this.timeCreated = Date.now(); this.W2 = -1; this.kq = b; this.SK = null; this.KE = !1; this.sL = null; this.opacity = -1; this.requestSource = c; this.Rea = !1; this.rR = function () { }; + this.u3 = function () { }; + this.qk = new Dha; this.qk.Ju = a; this.qk.j = a; this.vu = !1; this.Rw = { BR: null, AR: null }; this.v2 = !0; this.RH = null; this.IA = this.j$ = !1; Il().K++; this.wi = this.aQ(); this.R2 = -1; this.Zf = null; this.hasCompleted = this.g$ = !1; this.Lc = new fl; Cha(this.Lc); ija(this); this.requestSource == 1 ? hl(this.Lc, "od", 1) : hl(this.Lc, "od", 0) + }; + ija = function (a) { a = a.qk.Ju; var b; if (b = a && a.getAttribute) b = /-[a-z]/.test("googleAvInapp") ? !1 : jja && a.dataset ? "googleAvInapp" in a.dataset : a.hasAttribute ? a.hasAttribute("data-" + Rba()) : !!a.getAttribute("data-" + Rba()); b && (Fm().B = !0) }; + dn = function (a, b) { b != a.IA && (a.IA = b, a = Fm(), b ? a.K++ : a.K > 0 && a.K--) }; + kja = function (a, b) { if (a.Zf) { if (b.getName() === a.Zf.getName()) return; a.Zf.dispose(); a.Zf = null } b = b.create(a.qk.j, a.Lc, a.Hq()); if (b = b != null && b.CN() ? b : null) a.Zf = b }; + lja = function (a, b, c) { if (!a.SK || a.kq == -1 || b.B === -1 || a.SK.B === -1) return 0; a = b.B - a.SK.B; return a > c ? 0 : a }; + mja = function (a, b, c) { if (a.Zf) { a.Zf.Et(); var d = a.Zf.N, e = d.D, f = e.j; if (d.K != null) { var h = d.C; a.sL = new g.Gd(h.left - f.left, h.top - f.top) } f = a.EM() ? Math.max(d.j, d.G) : d.j; h = {}; e.volume !== null && (h.volume = e.volume); e = a.yY(d); a.SK = d; a.Ta(f, b, c, !1, h, e, d.Z) } }; + nja = function (a) { if (a.KE && a.RH) { var b = il(a.Lc, "od") == 1, c = Fm().j, d = a.RH, e = a.Zf ? a.Zf.getName() : "ns", f = a.sL, h = new g.Id(cm(c), c.getHeight()); c = a.EM(); a = { zea: e, sL: f, rfa: h, EM: c, Be: a.wi.Be, mfa: b }; if (b = d.B) { b.Et(); e = b.N; f = e.D.j; var l = h = null; e.K != null && f && (h = e.C, h = new g.Gd(h.left - f.left, h.top - f.top), l = new g.Id(f.right - f.left, f.bottom - f.top)); e = c ? Math.max(e.j, e.G) : e.j; c = { zea: b.getName(), sL: h, rfa: l, EM: c, mfa: !1, Be: e } } else c = null; c && Zia(d, a, c) } }; + oja = function (a, b, c) { b && (a.rR = b); c && (a.u3 = c) }; + g.en = function () { }; + g.fn = function (a) { return { value: a, done: !1 } }; + pja = function () { this.D = this.j = this.C = this.B = this.G = 0 }; + qja = function (a) { var b = {}; var c = g.Xa() - a.G; b = (b.ptlt = c, b); (c = a.B) && (b.pnk = c); (c = a.C) && (b.pnc = c); (c = a.D) && (b.pnmm = c); (a = a.j) && (b.pns = a); return b }; + rja = function () { al.call(this); this.fullscreen = !1; this.volume = void 0; this.paused = !1; this.mediaTime = -1 }; + gn = function (a) { return Dm(a.volume) && a.volume > 0 }; + hn = function (a, b, c, d) { + c = c === void 0 ? !0 : c; d = d === void 0 ? function () { return !0 } : d; + return function (e) { var f = e[a]; if (Array.isArray(f) && d(e)) return sja(f, b, c) } + }; + jn = function (a, b) { return function (c) { return b(c) ? c[a] : void 0 } }; + tja = function (a) { return function (b) { for (var c = 0; c < a.length; c++)if (a[c] === b.e || a[c] === void 0 && !b.hasOwnProperty("e")) return !0; return !1 } }; + sja = function (a, b, c) { return c === void 0 || c ? g.kn(a, function (d, e) { return g.Mb(b, e) }) : g.Al(b, function (d, e, f) { return a.slice(e > 0 ? f[e - 1] + 1 : 0, d + 1).reduce(function (h, l) { return h + l }, 0) }) }; + uja = function () { this.B = this.j = "" }; + vja = function () { }; + ln = function (a, b) { var c = {}; if (a !== void 0) if (b != null) for (var d in b) { var e = b[d]; d in Object.prototype || e != null && (c[d] = typeof e === "function" ? e(a) : a[e]) } else g.Hc(c, a); return Qm(Pm(new Om, c)) }; + wja = function () { var a = {}; this.B = (a.vs = [1, 0], a.vw = [0, 1], a.am = [2, 2], a.a = [4, 4], a.f = [8, 8], a.bm = [16, 16], a.b = [32, 32], a.avw = [0, 64], a.avs = [64, 0], a.pv = [256, 256], a.gdr = [0, 512], a.p = [0, 1024], a.r = [0, 2048], a.m = [0, 4096], a.um = [0, 8192], a.ef = [0, 16384], a.s = [0, 32768], a.pmx = [0, 16777216], a.mut = [33554432, 33554432], a.umutb = [67108864, 67108864], a.tvoff = [134217728, 134217728], a); this.j = {}; for (var b in this.B) this.B[b][1] > 0 && (this.j[b] = 0); this.C = 0 }; + mn = function (a, b) { var c = a.B[b], d = c[1]; a.C += c[0]; d > 0 && a.j[b] == 0 && (a.j[b] = 1) }; + xja = function (a) { var b = g.xc(a.B), c = 0, d; for (d in a.j) g.Mb(b, d) && a.j[d] == 1 && (c += a.B[d][1], a.j[d] = 2); return c }; + yja = function (a) { var b = 0, c; for (c in a.j) { var d = a.j[c]; if (d == 1 || d == 2) b += a.B[c][1] } return b }; + nn = function () { this.j = this.B = 0 }; + on = function () { Ym.call(this); this.C = new Rm; this.Ka = this.Y = this.Fa = 0; this.Z = -1; this.fb = new Rm; this.G = new Rm; this.j = new Sm; this.K = this.D = -1; this.qa = new Rm; this.Ya = 2E3; this.Ma = new nn; this.Wa = new nn; this.Va = new nn }; + pn = function (a, b, c) { var d = a.Ka; Xl || c || a.Z == -1 || (d += b - a.Z); return d }; + zja = function () { this.C = !1 }; + qn = function (a, b) { this.C = !1; this.D = a; this.Y = b; this.G = 0 }; + rn = function (a, b) { qn.call(this, a, b); this.N = [] }; + Aja = function () { }; + sn = function () { }; + tn = function (a, b, c, d) { Mm.call(this, a, b, c, d) }; + un = function (a, b, c) { Mm.call(this, null, a, b, c); this.K = a.isActive(); this.G = 0 }; + vn = function (a) { return [a.top, a.left, a.bottom, a.right] }; + wn = function (a, b, c, d, e, f) { + f = f === void 0 ? new sn : f; cn.call(this, b, c, d); this.GS = e; this.mP = 0; this.Bi = {}; this.Kg = new wja; this.M3 = {}; this.ij = ""; this.Ya = null; this.Ab = !1; this.j = []; this.us = f.B(); this.K = f.C(); this.D = null; this.C = -1; this.Ra = this.Y = void 0; this.ra = this.qa = 0; this.Ga = -1; this.fb = this.Xa = !1; this.Fa = this.Z = this.B = this.JC = this.Jb = 0; new Sm; this.Ma = this.Va = 0; this.Wa = -1; this.Hk = 0; this.N = g.Zc; this.Ba = [this.cK()]; this.Ob = 2; this.ez = {}; this.ez.pause = "p"; this.ez.resume = "r"; this.ez.skip = "s"; this.ez.mute = "m"; this.ez.unmute = + "um"; this.ez.exitfullscreen = "ef"; this.G = null; this.ob = this.yb = !1; this.Kb = Math.floor(Date.now() / 1E3 - 1704067200); this.Ka = 0 + }; + xn = function (a) { a.hasCompleted = !0; a.Hk != 0 && (a.Hk = 3) }; + yn = function (a) { return a === void 0 ? a : Number(a) ? Cm(a, 3) : 0 }; + zn = function (a, b) { return a.Ba[b != null && b < a.Ba.length ? b : a.Ba.length - 1] }; + Bja = function (a) { var b = !!il(Il().Lc, "umt"); return a.Y || !b && !a.Ra ? 0 : 1 }; + Cja = function (a, b) { a.Fo() ? b = 0 : a.kq == -1 ? b = 0 : (b -= a.kq, b = b > Math.max(1E4, a.C / 3) ? 0 : b); var c = a.N(a) || {}; c = c.currentTime !== void 0 ? c.currentTime : a.qa; var d = c - a.qa, e = 0; d >= 0 ? (a.ra += b, a.Ma += Math.max(b - d, 0), e = Math.min(d, a.ra)) : a.Va += Math.abs(d); d != 0 && (a.ra = 0); a.Wa == -1 && d > 0 && (a.Wa = Zl >= 0 ? Vl() - Zl : -1); a.qa = c; return e }; + Dja = function (a, b) { Em(a.K, function (c) { return c.D == b.D }) || a.K.push(b) }; + Eja = function (a) { var b = Vm(a.Cj().j, 1); return An(a, b) }; + An = function (a, b, c) { return b >= 15E3 ? !0 : a.Xa ? (c === void 0 ? 0 : c) ? !0 : a.C > 0 ? b >= a.C / 2 : a.Ga > 0 ? b >= a.Ga : !1 : !1 }; + Fja = function (a) { var b = Cm(a.wi.Be, 2), c = a.Kg.C, d = a.wi, e = zn(a), f = yn(e.D), h = yn(e.K), l = yn(d.volume), m = Cm(e.N, 2), n = Cm(e.ra, 2), p = Cm(d.Be, 2), q = Cm(e.Ba, 2), r = Cm(e.Ga, 2); d = Cm(d.Tk, 2); a = a.Zt().clone(); a.round(); e = Zm(e, !1); return { qfa: b, FF: c, fL: f, WK: h, iE: l, gL: m, YK: n, Be: p, iL: q, ZK: r, Tk: d, position: a, kL: e } }; + Hja = function (a, b) { + Gja(a.j, b, function () { return { qfa: 0, FF: void 0, fL: -1, WK: -1, iE: -1, gL: -1, YK: -1, Be: -1, iL: -1, ZK: -1, Tk: -1, position: void 0, kL: [] } }); + a.j[b] = Fja(a) + }; + Gja = function (a, b, c) { for (var d = a.length; d < b + 1;)a.push(c()), d++ }; + Cn = function (a, b, c) { + var d = a.M3[b]; if (d != null) return d; d = Ija(a, b); var e = Ac(Bn, function (f) { return f == b }); + a = Jja(a, d, d, c, Kja[Bn[e]]); b == "fully_viewable_audible_half_duration_impression" && (a.std = "csm"); return a + }; + Dn = function (a, b, c) { var d = [b]; if (a != b || c != b) d.unshift(a), d.push(c); return d }; + Jja = function (a, b, c, d, e) { + if (a.vu) return { "if": 0, vs: 0 }; var f = a.Zt().clone(); f.round(); var h = Fm(), l = Il(), m = a.Cj(), n = a.Zf ? a.Zf.getName() : "ns", p = {}; p["if"] = h.C ? 1 : void 0; p.sdk = a.D ? a.D : void 0; p.t = a.timeCreated; p.p = [f.top, f.left, f.bottom, f.right]; p.tos = Tm(m.B, !1); p.mtos = Zm(m); p.mcvt = m.Ra.C; p.ps = void 0; f = pn(m, Vl(), a.Fo()); p.vht = f; p.mut = m.fb.C; p.a = yn(a.wi.volume); p.mv = yn(m.K); p.fs = a.IA ? 1 : 0; p.ft = m.qa.j; p.at = m.G.j; p.as = m.D > 0 ? 1 : 0; p.atos = Tm(m.j); p.ssb = Tm(m.Xa, !1); p.amtos = bja(m.j, !1); p.uac = a.Jb; p.vpt = m.C.j; n == "nio" && + (p.nio = 1, p.avms = "nio"); p.gmm = "4"; p.gdr = An(a, m.C.j, !0) ? 1 : 0; p.efpf = a.Ob; if (n == "gsv" || n == "nis") n = a.Zf, n.G > 0 && (p.nnut = n.G); p.tcm = Bja(a); p.nmt = a.Va; p.bt = a.Ma; p.pst = a.Wa; p.vpaid = a.Y; p.dur = a.C; p.vmtime = a.qa; p.is = a.Kg.C; a.j.length >= 1 && (p.i0 = a.j[0].FF, p.a0 = [a.j[0].iE], p.c0 = [a.j[0].Be], p.ss0 = [a.j[0].Tk], n = a.j[0].position, p.p0 = n ? vn(n) : void 0); a.j.length >= 2 && (p.i1 = a.j[1].FF, p.a1 = Dn(a.j[1].fL, a.j[1].iE, a.j[1].WK), p.c1 = Dn(a.j[1].gL, a.j[1].Be, a.j[1].YK), p.ss1 = Dn(a.j[1].iL, a.j[1].Tk, a.j[1].ZK), n = a.j[1].position, + p.p1 = n ? vn(n) : void 0, p.mtos1 = a.j[1].kL); a.j.length >= 3 && (p.i2 = a.j[2].FF, p.a2 = Dn(a.j[2].fL, a.j[2].iE, a.j[2].WK), p.c2 = Dn(a.j[2].gL, a.j[2].Be, a.j[2].YK), p.ss2 = Dn(a.j[2].iL, a.j[2].Tk, a.j[2].ZK), n = a.j[2].position, p.p2 = n ? vn(n) : void 0, p.mtos2 = a.j[2].kL); a.j.length >= 4 && (p.i3 = a.j[3].FF, p.a3 = Dn(a.j[3].fL, a.j[3].iE, a.j[3].WK), p.c3 = Dn(a.j[3].gL, a.j[3].Be, a.j[3].YK), p.ss3 = Dn(a.j[3].iL, a.j[3].Tk, a.j[3].ZK), n = a.j[3].position, p.p3 = n ? vn(n) : void 0, p.mtos3 = a.j[3].kL); p.cs = yja(a.Kg); b && (p.ic = xja(a.Kg), p.dvpt = m.C.B, p.dvs = + Xm(m.B, .5), p.dfvs = Xm(m.B, 1), p.davs = Xm(m.j, .5), p.dafvs = Xm(m.j, 1), c && (m.C.B = 0, cja(m.B), cja(m.j)), a.hs() && (p.dtos = m.Fa, p.dav = m.Y, p.dtoss = a.mP + 1, c && (m.Fa = 0, m.Y = 0, a.mP++)), p.dat = m.G.B, p.dft = m.qa.B, c && (m.G.B = 0, m.qa.B = 0)); p.ps = [h.G.width, h.G.height]; p.bs = [cm(h.j), h.j.getHeight()]; p.scs = [h.D.width, h.D.height]; p.dom = h.domain; a.JC && (p.vds = a.JC); if (a.K.length > 0 || a.us) b = g.Tb(a.K), a.us && b.push(a.us), p.pings = g.Al(b, function (q) { return q.toString() }); + b = g.Al(g.kn(a.K, function (q) { return q.K() }), function (q) { return q.getId() }); + Jaa(b); p.ces = b; a.B && (p.vmer = a.B); a.Z && (p.vmmk = a.Z); a.Fa && (p.vmiec = a.Fa); p.avms = a.Zf ? a.Zf.getName() : "ns"; a.Zf && g.Hc(p, a.Zf.Vt()); d ? (p.c = Cm(a.wi.Be, 2), p.ss = Cm(a.wi.Tk, 2)) : p.tth = Vl() - Lja; p.mc = Cm(m.ra, 2); p.nc = Cm(m.N, 2); p.mv = yn(m.K); p.nv = yn(m.D); p.lte = Cm(a.lR, 2); d = zn(a, e); Zm(m); p.qmtos = Zm(d); p.qnc = Cm(d.N, 2); p.qmv = yn(d.K); p.qnv = yn(d.D); p.qas = d.D > 0 ? 1 : 0; p.qi = a.ij; p.avms || (p.avms = "geo"); p.psm = m.Ma.j; p.psv = m.Ma.getValue(); p.psfv = m.Wa.getValue(); p.psa = m.Va.getValue(); l = Aha(l.Lc); l.length && (p.veid = l); a.G && g.Hc(p, + qja(a.G)); p.avas = a.QJ(); p.vs = a.MY(); p.co = Mja(a); return p + }; + Ija = function (a, b) { if (g.Mb(Nja, b)) return !0; var c = a.Bi[b]; return c !== void 0 ? (a.Bi[b] = !0, !c) : !1 }; + Mja = function (a) { var b = a.Ka.toString(10).padStart(2, "0"); b = "" + a.Kb + b; a.Ka < 99 && a.Ka++; return b }; + Pja = function () { this.j = {}; var a = fe(); En(this, a, document); var b = Oja(); try { if ("1" == b) { for (var c = a.parent; c != a.top; c = c.parent)En(this, c, c.document); En(this, a.top, a.top.document) } } catch (d) { } }; + Oja = function () { var a = document.documentElement; try { if (!tl(fe().top)) return "2"; var b = [], c = fe(a.ownerDocument); for (a = c; a != c.top; a = a.parent)if (a.frameElement) b.push(a.frameElement); else break; return b && b.length != 0 ? "1" : "0" } catch (d) { return "2" } }; + En = function (a, b, c) { + $m(c, "mousedown", function () { return Qja(a) }, 301); + $m(b, "scroll", function () { return Rja(a) }, 302); + $m(c, "touchmove", function () { return Sja(a) }, 303); + $m(c, "mousemove", function () { return Tja(a) }, 304); + $m(c, "keydown", function () { return Uja(a) }, 305) + }; + Qja = function (a) { g.qc(a.j, function (b) { b.C > 1E5 || ++b.C }) }; + Rja = function (a) { g.qc(a.j, function (b) { b.j > 1E5 || ++b.j }) }; + Sja = function (a) { g.qc(a.j, function (b) { b.j > 1E5 || ++b.j }) }; + Uja = function (a) { g.qc(a.j, function (b) { b.B > 1E5 || ++b.B }) }; + Tja = function (a) { g.qc(a.j, function (b) { b.D > 1E5 || ++b.D }) }; + Vja = function () { this.j = []; this.B = [] }; + Fn = function (a, b) { return g.Kb(a.j, function (c) { return c.ij == b }) }; + Wja = function (a, b) { return b ? g.Kb(a.j, function (c) { return c.qk.Ju == b }) : null }; + Xja = function (a, b) { return g.Kb(a.B, function (c) { return c.Wp() == 2 && c.ij == b }) }; + Hn = function () { var a = Gn; return a.j.length == 0 ? a.B : a.B.length == 0 ? a.j : g.Sb(a.B, a.j) }; + Yja = function (a, b) { + a = b.Wp() == 1 ? a.j : a.B; var c = Jb(a, function (d) { return d == b }); + return c != -1 ? (a.splice(c, 1), b.Zf && b.Zf.DI(), b.dispose(), !0) : !1 + }; + Zja = function (a) { + var b = Gn; if (Yja(b, a)) { + switch (a.Wp()) { + case 0: var c = function () { return null }; + case 2: c = function () { return Xja(b, a.ij) }; + break; case 1: c = function () { return Fn(b, a.ij) } + }for (var d = c(); d; d = c())Yja(b, d) + } + }; + $ja = function (a) { + var b = Gn; a = g.kn(a, function (c) { return !Wja(b, c.qk.Ju) }); + b.j.push.apply(b.j, g.x(a)) + }; + aka = function (a) { var b = []; g.cc(a, function (c) { Em(Gn.j, function (d) { return d.qk.Ju === c.qk.Ju && d.ij === c.ij }) || (Gn.j.push(c), b.push(c)) }) }; + In = function () { this.j = this.B = null }; + bka = function (a, b) { + function c(d, e) { b(d, e) } + if (a.B == null) return !1; a.j = g.Kb(a.B, function (d) { return d != null && d.CV() }); + a.j && (a.j.init(c) ? Nia(a.j.j) : b(a.j.j.kA(), a.j)); return a.j != null + }; + Jn = function (a) { a = cka(a); Nm.call(this, a.length ? a[a.length - 1] : new Jm(ol, 0)); this.C = a; this.B = null }; + cka = function (a) { + if (!a.length) return []; a = (0, g.kn)(a, function (c) { return c != null && c.sD() }); + for (var b = 1; b < a.length; b++)Km(a[b - 1], a[b]); return a + }; + Kn = function (a, b, c, d) { Mm.call(this, a, b, c, d); this.Y = this.Z = this.G = this.K = this.C = null }; + Ln = function (a) { return a.C && a.C.takeRecords ? a.C.takeRecords() : [] }; + eka = function (a) { + if (!a.element) return !1; var b = a.element, c = a.B.j.C, d = Il().j.j; a.C = new c.IntersectionObserver(Hl(d, function (e) { return Mn(a, e) }), dka); + d = Hl(d, function () { a.C.unobserve(b); a.C.observe(b); Mn(a, Ln(a)) }); + c.ResizeObserver ? (a.K = new c.ResizeObserver(d), a.K.observe(b)) : c.MutationObserver && (a.G = new g.Ja.MutationObserver(d), a.G.observe(b, { attributes: !0, childList: !0, characterData: !0, subtree: !0 })); a.C.observe(b); Mn(a, Ln(a)); return !0 + }; + Mn = function (a, b) { try { if (b.length) { a.Z || (a.Z = Vl()); var c = fka(b), d = Eia(a.element, a.B.j.C), e = d.x, f = d.y; a.j = new $l(Math.round(f), Math.round(e) + c.boundingClientRect.width, Math.round(f) + c.boundingClientRect.height, Math.round(e)); var h = Hia(c.intersectionRect); a.D = dm(h, a.j.left - h.left, a.j.top - h.top) } } catch (l) { a.DI(), Ul(299, l) } }; + fka = function (a) { return Cl(a, function (b, c) { return b.time > c.time ? b : c }, a[0]) }; + Nn = function (a) { a = a === void 0 ? ol : a; Nm.call(this, new Jm(a, 2)) }; + On = function () { var a = gka(); Jm.call(this, ol.top, a, "geo") }; + gka = function () { Il(); var a = Fm(); return a.C || a.B ? 0 : 2 }; + hka = function () { }; + Xn = function () { this.done = !1; this.j = { d7: 0, MW: 0, npa: 0, RX: 0, HQ: -1, I7: 0, H7: 0, J7: 0, xea: 0 }; this.G = null; this.K = !1; this.C = null; this.N = 0; this.B = new Im(this) }; + Zn = function () { var a = Yn; a.K || (a.K = !0, ika(a, function () { return a.D.apply(a, g.x(g.Ca.apply(0, arguments))) }), a.D()) }; + jka = function () { Dl(hka); var a = Dl(In); a.j != null && a.j.j ? Nia(a.j.j) : Fm().update(ol) }; + $n = function (a, b, c) { if (!a.done && (a.B.cancel(), b.length != 0)) { a.C = null; try { jka(); var d = Vl(); Il().G = d; if (Dl(In).j != null) for (var e = 0; e < b.length; e++)mja(b[e], d, c); for (d = 0; d < b.length; d++)nja(b[d]); ++a.j.RX } finally { c ? g.cc(b, function (f) { f.wi.Be = 0 }) : a.B.schedule() } } }; + ika = function (a, b) { if (!a.G) { b = Sl(142, b); Fl(); var c; Gm.visibilityState ? c = "visibilitychange" : Gm.mozVisibilityState ? c = "mozvisibilitychange" : Gm.webkitVisibilityState && (c = "webkitvisibilitychange"); c && ql(Gm, c, b, { capture: !1 }) && (a.G = b) } }; + kka = function () { var a = Dl(In); if (a.j != null) { var b = a.j; g.cc(Hn(), function (c) { return kja(c, b) }) } }; + lka = function (a, b) { a = a.N; Xl && (a += b - Yl); return a }; + mka = function (a) { + a = a === void 0 ? function () { return {} } : a; + Pl.XX = "av-js"; Ol.j = .01; sia([function (b) { + var c = Il(), d = {}; d = (d.bin = c.B, d.type = "error", d); c = jl(c.Lc); if (!Yn.C) { + var e = Yn, f = ol.document, h = Wl >= 0 ? Vl() - Wl : -1, l = Vl(); e.j.HQ == -1 && (h = l); var m = Fm(), n = Il(), p = jl(n.Lc), q = Hn(); try { + if (q.length > 0) { var r = m.j; r && (p.bs = [cm(r), r.getHeight()]); var t = m.G; t && (p.ps = [t.width, t.height]); ol.screen && (p.scs = [ol.screen.width, ol.screen.height]) } else p.url = encodeURIComponent(ol.location.href.substring(0, 512)), f.referrer && (p.referrer = encodeURIComponent(f.referrer.substring(0, 512))); + p.tt = h; p.pt = Wl; p.bin = n.B; ol.google_osd_load_pub_page_exp !== void 0 && (p.olpp = ol.google_osd_load_pub_page_exp); p.deb = [1, e.j.d7, e.j.MW, e.j.RX, e.j.HQ, 0, e.B.B, e.j.I7, e.j.H7, e.j.J7, e.j.xea, -1].join(";"); p.tvt = lka(e, l); m.B && (p.inapp = 1); if (ol !== null && ol != ol.top) { q.length > 0 && (p.iframe_loc = encodeURIComponent(ol.location.href.substring(0, 512))); var u = m.N; p.is = [cm(u), u.getHeight()] } + } catch (y) { p.error = 1 } Yn.C = p + } r = g.Fc(Yn.C); t = Il().j; il(t.C, "prf") == 1 ? (u = new Gl, e = t.j, f = 0, e.j > -1 && (f = e.C.j.now() - e.j), u = sg(u, 1, Df(e.D + + f), 0), e = t.j, u = sg(u, 5, Gf(e.j > -1 ? e.B + 1 : e.B), 0), u = sg(u, 2, Lf(t.B.j.C()), "0"), u = sg(u, 3, Lf(t.B.j.B()), "0"), t = sg(u, 4, Lf(t.B.j.j()), "0"), u = {}, t = (u.pf = g.Te(t.j()), u)) : t = {}; g.Hc(r, t); g.Hc(b, d, c, r, a()) + }]) + }; + oka = function () { var a = nka || ol; if (!a) return ""; var b = []; if (!a.location || !a.location.href) return ""; b.push("url=" + encodeURIComponent(a.location.href.substring(0, 512))); a.document && a.document.referrer && b.push("referrer=" + encodeURIComponent(a.document.referrer.substring(0, 512))); return b.join("&") }; + ao = function () { var a = "youtube.player.web_20240730_01_RC00".match(/_(\d{8})_RC\d+$/) || "youtube.player.web_20240730_01_RC00".match(/_(\d{8})_\d+_\d+$/) || "youtube.player.web_20240730_01_RC00".match(/_(\d{8})_\d+\.\d+$/) || "youtube.player.web_20240730_01_RC00".match(/_(\d{8})_\d+_RC\d+$/), b; if (((b = a) == null ? void 0 : b.length) == 2) return a[1]; a = "youtube.player.web_20240730_01_RC00".match(/.*_(\d{2})\.(\d{4})\.\d+_RC\d+$/); var c; return ((c = a) == null ? void 0 : c.length) == 3 ? "20" + a[1] + a[2] : null }; + pka = function () { + return "av.default_js".includes("ima_html5_sdk") ? { Kp: "ima", Op: null } : "av.default_js".includes("ima_native_sdk") ? { Kp: "nima", Op: null } : "av.default_js".includes("admob-native-video-javascript") ? { Kp: "an", Op: null } : "youtube.player.web_20240730_01_RC00".includes("cast_js_sdk") ? { Kp: "cast", Op: ao() } : "youtube.player.web_20240730_01_RC00".includes("youtube.player.web") ? { Kp: "yw", Op: ao() } : "youtube.player.web_20240730_01_RC00".includes("outstream_web_client") ? { Kp: "out", Op: ao() } : "youtube.player.web_20240730_01_RC00".includes("drx_rewarded_web") ? + { Kp: "r", Op: ao() } : "youtube.player.web_20240730_01_RC00".includes("gam_native_web_video") ? { Kp: "n", Op: ao() } : "youtube.player.web_20240730_01_RC00".includes("admob_interstitial_video") ? { Kp: "int", Op: ao() } : { Kp: "j", Op: null } + }; + eo = function (a, b) { var c = { sv: "963" }; bo !== null && (c.v = bo); c.cb = qka; c.nas = Gn.j.length; c.msg = a; b !== void 0 && (a = rka(b)) && (c.e = co[a]); return c }; + fo = function (a) { return nb(a, "custom_metric_viewable") }; + rka = function (a) { var b = fo(a) ? "custom_metric_viewable" : a.toLowerCase(); return Ac(Bn, function (c) { return c == b }) }; + ska = function () { this.j = void 0; this.B = !1; this.C = 0; this.D = -1; this.G = "tos" }; + vka = function (a) { try { var b = a.split(","); return b.length > g.xc(tka).length ? null : Cl(b, function (c, d) { d = d.toLowerCase().split("="); if (d.length != 2 || uka[d[0]] === void 0 || !uka[d[0]](d[1])) throw Error("Entry (" + d[0] + ", " + d[1] + ") is invalid."); c[d[0]] = d[1]; return c }, {}) } catch (c) { return null } }; + wka = function (a, b) { if (a.j == void 0) return 0; switch (a.G) { case "mtos": return a.B ? Wm(b.j, a.j) : Wm(b.B, a.j); case "tos": return a.B ? Vm(b.j, a.j) : Vm(b.B, a.j) }return 0 }; + go = function (a, b, c, d) { qn.call(this, b, d); this.N = a; this.Z = c }; + ho = function () { }; + io = function (a) { qn.call(this, "fully_viewable_audible_half_duration_impression", a) }; + jo = function (a) { this.j = a }; + ko = function (a, b) { qn.call(this, a, b) }; + lo = function (a) { rn.call(this, "measurable_impression", a) }; + mo = function () { jo.apply(this, arguments) }; + no = function (a, b, c) { un.call(this, a, b, c) }; + oo = function (a) { a = a === void 0 ? ol : a; Nm.call(this, new Jm(a, 2)) }; + po = function (a, b, c) { un.call(this, a, b, c) }; + qo = function (a) { a = a === void 0 ? ol : a; Nm.call(this, new Jm(a, 2)) }; + ro = function () { Jm.call(this, ol, 2, "mraid"); this.Ma = 0; this.ra = this.Ba = !1; this.N = null; this.B = yia(this.C); this.D.j = new $l(0, 0, 0, 0); this.Ka = !1 }; + so = function (a, b, c) { a.tv("addEventListener", b, c) }; + Aka = function (a) { Il().D = !!a.tv("isViewable"); so(a, "viewableChange", xka); a.tv("getState") === "loading" ? so(a, "ready", yka) : zka(a) }; + zka = function (a) { typeof a.B.Jo.AFMA_LIDAR === "string" ? (a.Ba = !0, Bka(a)) : (a.B.compatibility = 3, a.N = "nc", a.Zi("w")) }; + Bka = function (a) { + a.ra = !1; var b = il(Il().Lc, "rmmt") == 1, c = !!a.tv("isViewable"); (b ? !c : 1) && Fl().setTimeout(Tl(524, function () { a.ra || (Cka(a), Ul(540, Error()), a.N = "mt", a.Zi("w")) }), 500); + Dka(a); so(a, a.B.Jo.AFMA_LIDAR, Eka) + }; + Dka = function (a) { var b = il(Il().Lc, "sneio") == 1, c = a.B.Jo.AFMA_LIDAR_EXP_1 !== void 0, d = a.B.Jo.AFMA_LIDAR_EXP_2 !== void 0; (b = b && d) && (a.B.Jo.AFMA_LIDAR_EXP_2 = !0); c && (a.B.Jo.AFMA_LIDAR_EXP_1 = !b) }; + Cka = function (a) { a.tv("removeEventListener", a.B.Jo.AFMA_LIDAR, Eka); a.Ba = !1 }; + Fka = function (a, b) { if (a.tv("getState") === "loading") return new g.Id(-1, -1); b = a.tv(b); if (!b) return new g.Id(-1, -1); a = parseInt(b.width, 10); b = parseInt(b.height, 10); return isNaN(a) || isNaN(b) ? new g.Id(-1, -1) : new g.Id(a, b) }; + yka = function () { try { var a = Dl(ro); a.tv("removeEventListener", "ready", yka); zka(a) } catch (b) { Ul(541, b) } }; + Eka = function (a, b) { try { var c = Dl(ro); c.ra = !0; var d = a ? new $l(a.y, a.x + a.width, a.y + a.height, a.x) : new $l(0, 0, 0, 0); var e = Vl(), f = Hm(); var h = new wia(e, f, c); h.j = d; h.volume = b; c.mu(h) } catch (l) { Ul(542, l) } }; + xka = function (a) { var b = Il(), c = Dl(ro); a && !b.D && (b.D = !0, c.Ka = !0, c.N && c.Zi("w", !0)) }; + to = function () { + this.isInitialized = !1; this.j = this.B = null; var a = {}; this.K = (a.start = this.S9, a.firstquartile = this.N9, a.midpoint = this.P9, a.thirdquartile = this.T9, a.complete = this.K9, a.error = this.L9, a.pause = this.FS, a.resume = this.M1, a.skip = this.R9, a.viewable_impression = this.Xp, a.mute = this.GC, a.unmute = this.GC, a.fullscreen = this.O9, a.exitfullscreen = this.M9, a.fully_viewable_audible_half_duration_impression = this.Xp, a.measurable_impression = this.Xp, a.abandon = this.FS, a.engagedview = this.Xp, a.impression = this.Xp, a.creativeview = + this.Xp, a.progress = this.GC, a.custom_metric_viewable = this.Xp, a.bufferstart = this.FS, a.bufferfinish = this.M1, a.audio_measurable = this.Xp, a.audio_audible = this.Xp, a); a = {}; this.N = (a.overlay_resize = this.Q9, a.abandon = this.wQ, a.close = this.wQ, a.collapse = this.wQ, a.overlay_unmeasurable_impression = function (b) { return Cn(b, "overlay_unmeasurable_impression", Hm()) }, a.overlay_viewable_immediate_impression = function (b) { return Cn(b, "overlay_viewable_immediate_impression", Hm()) }, a.overlay_unviewable_impression = function (b) { + return Cn(b, + "overlay_unviewable_impression", Hm()) + }, a.overlay_viewable_end_of_session_impression = function (b) { return Cn(b, "overlay_viewable_end_of_session_impression", Hm()) }, a); + Il().B = 3; Gka(this) + }; + uo = function (a, b, c, d) { a = a.iH(null, d, !0, b); a.D = c; $ja([a]); return a }; + Hka = function (a, b, c) { + yha(b); var d = a.j; g.cc(b, function (e) { + var f = g.Al(e.criteria, function (h) { var l = vka(h); if (l == null) h = null; else if (h = new ska, l.visible != null && (h.j = l.visible / 100), l.audible != null && (h.B = l.audible == 1), l.time != null) { var m = l.timetype == "mtos" ? "mtos" : "tos", n = raa(l.time, "%") ? "%" : "ms"; l = parseInt(l.time, 10); n == "%" && (l /= 100); h.setTime(l, n, m) } return h }); + Em(f, function (h) { return h == null }) || Dja(c, new go(e.id, e.event, f, d)) + }) + }; + Ika = function () { var a = [], b = Il(); a.push(Dl(On)); il(b.Lc, "mvp_lv") && a.push(Dl(ro)); b = [new oo, new qo]; b.push(new Jn(a)); b.push(new Nn(ol)); return b }; + Jka = function (a) { + if (!a.isInitialized) { + a.isInitialized = !0; try { var b = Vl(), c = Il(), d = Fm(); Wl = b; c.C = 79463069; a.B !== "o" && (nka = Nha(ol)); if (Yha()) { Yn.j.MW = 0; Yn.j.HQ = Vl() - b; var e = Ika(), f = Dl(In); f.B = e; bka(f, function () { vo() }) ? Yn.done || (kka(), Km(f.j.j, a), Zn()) : d.C ? vo() : Zn() } else wo = !0 } catch (h) { + throw Gn.reset(), h; + } + } + }; + yo = function (a) { Yn.B.cancel(); xo = a; Yn.done = !0 }; + zo = function (a) { if (a.B) return a.B; var b = Dl(In).j; if (b) switch (b.getName()) { case "nis": a.B = "n"; break; case "gsv": a.B = "m" }a.B || (a.B = "h"); return a.B }; + Ao = function (a, b, c) { if (a.j == null) return b.JC |= 4, !1; a = Kka(a.j, c, b); b.JC |= a; return a == 0 }; + vo = function () { var a = [new Nn(ol)], b = Dl(In); b.B = a; bka(b, function () { yo("i") }) ? Yn.done || (kka(), Zn()) : yo("i") }; + Lka = function (a, b) { + if (!a.Ab) { + var c = Cn(a, "start", Hm()); c = a.GS.j(c).j; var d = { id: "lidarv" }; d.r = b; d.sv = "963"; bo !== null && (d.v = bo); Pi(c, function (e, f) { return d[e] = e == "mtos" || e == "tos" ? f : encodeURIComponent(f) }); + b = oka(); Pi(b, function (e, f) { return d[e] = encodeURIComponent(f) }); + b = "//pagead2.googlesyndication.com/pagead/gen_204?" + Qm(Pm(new Om, d)); Xia(b); a.Ab = !0 + } + }; + Bo = function (a, b, c) { $n(Yn, [a], !Hm()); Hja(a, c); c != 4 && Gja(a.Ba, c, a.cK); return Cn(a, b, Hm()) }; + Gka = function (a) { mka(function () { var b = Mka(); a.B != null && (b.sdk = a.B); var c = Dl(In); c.j != null && (b.avms = c.j.getName()); return b }) }; + Nka = function (a, b, c, d) { var e = Wja(Gn, c); e !== null && e.ij !== b && (a.xJ(e), e = null); e || (b = a.iH(c, Vl(), !1, b), Gn.B.length == 0 && (Il().C = 79463069), aka([b]), e = b, e.D = zo(a), d && (e.Ya = d)); return e }; + Oka = function (a, b) { var c = a[b]; c !== void 0 && c > 0 && (a[b] = Math.floor(c * 1E3)) }; + Mka = function () { var a = Fm(), b = {}, c = {}, d = {}; return Object.assign({}, (b.sv = "963", b), bo !== null && (c.v = bo, c), (d["if"] = a.C ? "1" : "0", d.nas = String(Gn.j.length), d)) }; + Co = function (a) { qn.call(this, "audio_audible", a) }; + Do = function (a) { rn.call(this, "audio_measurable", a) }; + Eo = function () { jo.apply(this, arguments) }; + Fo = function () { }; + Pka = function (a) { this.j = a }; + Kka = function (a, b, c) { a = a.B(); if (typeof a === "function") { var d = {}; var e = {}; d = Object.assign({}, bo !== null && (d.v = bo, d), (e.sv = "963", e.cb = qka, e.e = Qka(b), e)); e = Cn(c, b, Hm()); g.Hc(d, e); c.M3[b] = e; d = c.Wp() == 2 ? Wia(d).join("&") : c.GS.j(d).j; try { return a(c.ij, d, b), 0 } catch (f) { return 2 } } else return 1 }; + Qka = function (a) { + var b = fo(a) ? "custom_metric_viewable" : a; a = Ac(Bn, function (c) { return c == b }); + return co[a] + }; + Go = function () { to.call(this); this.G = null; this.D = !1; this.C = "ACTIVE_VIEW_TRAFFIC_TYPE_UNSPECIFIED" }; + Rka = function (a, b, c) { c = c.opt_configurable_tracking_events; a.j != null && Array.isArray(c) && Hka(a, c, b) }; + Ska = function (a, b, c) { var d = Fn(Gn, b); d || (d = c.opt_nativeTime || -1, d = uo(a, b, zo(a), d), c.opt_osdId && (d.Ya = c.opt_osdId)); return d }; + Tka = function (a, b, c) { var d = Fn(Gn, b); d || (d = uo(a, b, "n", c.opt_nativeTime || -1)); return d }; + Uka = function (a, b) { var c = Fn(Gn, b); c || (c = uo(a, b, "h", -1)); return c }; + Vka = function (a) { Il(); switch (zo(a)) { case "b": return "ytads.bulleit.triggerExternalActivityEvent"; case "n": return "ima.bridge.triggerExternalActivityEvent"; case "h": case "m": case "ml": return "ima.common.triggerExternalActivityEvent" }return null }; + Yka = function (a, b, c, d) { + c = c === void 0 ? {} : c; var e = {}; g.Hc(e, { opt_adElement: void 0, opt_fullscreen: void 0 }, c); var f = a.mK(b, c); c = f ? f.GS : a.gP(); if (e.opt_bounds) return c.j(eo("ol", d)); if (d !== void 0) if (rka(d) !== void 0) if (wo) a = eo("ue", d); else if (Jka(a), xo == "i") a = eo("i", d), a["if"] = 0; else if (b = a.mK(b, e)) { + b: { + xo == "i" && (b.vu = !0); f = e.opt_fullscreen; f !== void 0 && dn(b, !!f); var h; if (f = !Fm().B) (f = sb(g.wb(), "CrKey") && !(sb(g.wb(), "CrKey") && sb(g.wb(), "SmartSpeaker")) || sb(g.wb(), "PlayStation") || sb(g.wb(), "Roku") || Jia() || sb(g.wb(), + "Xbox")) || (f = g.wb(), f = sb(f, "AppleTV") || sb(f, "Apple TV") || sb(f, "CFNetwork") || sb(f, "tvOS")), f || (f = g.wb(), f = sb(f, "sdk_google_atv_x86") || sb(f, "Android TV")), f = !f; f && (Fl(), f = rl(Gm) === 0); if (h = f) { switch (b.Wp()) { case 1: Lka(b, "pv"); break; case 2: a.cT(b) }yo("pv") } f = d.toLowerCase(); if (h = !h) h = il(Il().Lc, "ssmol") && f === "loaded" ? !1 : g.Mb(Wka, f); if (h && b.Hk == 0) { + xo != "i" && (Yn.done = !1); h = e !== void 0 ? e.opt_nativeTime : void 0; Zl = h = typeof h === "number" ? h : Vl(); b.KE = !0; var l = Hm(); b.Hk = 1; b.Bi = {}; b.Bi.start = !1; b.Bi.firstquartile = + !1; b.Bi.midpoint = !1; b.Bi.thirdquartile = !1; b.Bi.complete = !1; b.Bi.resume = !1; b.Bi.pause = !1; b.Bi.skip = !1; b.Bi.mute = !1; b.Bi.unmute = !1; b.Bi.viewable_impression = !1; b.Bi.measurable_impression = !1; b.Bi.fully_viewable_audible_half_duration_impression = !1; b.Bi.fullscreen = !1; b.Bi.exitfullscreen = !1; b.mP = 0; l || (b.Cj().Z = h); $n(Yn, [b], !l) + } (h = b.ez[f]) && mn(b.Kg, h); il(Il().Lc, "fmd") || g.Mb(Xka, f) && b.us && b.us.B(b, null); switch (b.Wp()) { case 1: var m = fo(f) ? a.K.custom_metric_viewable : a.K[f]; break; case 2: m = a.N[f] }if (m && (d = m.call(a, + b, e, d), il(Il().Lc, "fmd") && g.Mb(Xka, f) && b.us && b.us.B(b, null), d !== void 0)) { e = eo(void 0, f); g.Hc(e, d); d = e; break b } d = void 0 + } b.Hk == 3 && a.xJ(b); a = d + } else a = eo("nf", d); else a = void 0; else wo ? a = eo("ue") : f ? (a = eo(), g.Hc(a, Jja(f, !0, !1, !1))) : a = eo("nf"); return typeof a === "string" ? c.j() : c.j(a) + }; + Zka = function (a, b) { b && (a.C = b) }; + $ka = function (a) { var b = {}; return b.viewability = a.j, b.googleViewability = a.B, b }; + ala = function (a, b, c) { c = c === void 0 ? {} : c; a = Yka(Dl(Go), b, c, a); return $ka(a) }; + bla = function (a) { a = a.url; var b = /[?&]dsh=1(&|$)/.test(a); this.C = !b && /[?&]ae=1(&|$)/.test(a); this.D = !b && /[?&]ae=2(&|$)/.test(a); if ((this.j = /[?&]adurl=([^&]*)/.exec(a)) && this.j[1]) { try { var c = decodeURIComponent(this.j[1]) } catch (d) { c = null } this.B = c } }; + fla = function (a) { if (g.pb(g.Ud(a))) return !1; if (a.indexOf("://pagead2.googlesyndication.com/pagead/gen_204?id=yt3p&sr=1&") >= 0) return !0; try { var b = new g.hk(a) } catch (c) { return g.Kb(dla, function (d) { return a.search(d) > 0 }) != null } return b.K.match(ela) ? !0 : g.Kb(dla, function (c) { return a.match(c) != null }) != null }; + g.Ho = function (a, b) { return a.replace(gla, function (c, d) { try { var e = g.Cc(b, d); if (e == null || e.toString() == null) return c; e = e.toString(); if (e == "" || !g.pb(g.Ud(e))) return encodeURIComponent(e).replace(/%2C/g, ",") } catch (f) { } return c }) }; + hla = function (a, b) { return Object.is(a, b) }; + g.Jo = function (a) { var b = Io; Io = a; return b }; + jla = function (a) { if (a.ej !== void 0) { var b = g.Ko; g.Ko = !0; try { for (var c = g.w(a.ej), d = c.next(); !d.done; d = c.next()) { var e = d.value; e.xl || g.ila(e) } } finally { g.Ko = b } } }; + kla = function () { var a; return ((a = Io) == null ? void 0 : a.Kt) !== !1 }; + g.ila = function (a) { a.xl = !0; jla(a); var b; (b = a.vE) == null || b.call(a, a) }; + g.Lo = function (a) { a && (a.mL = 0); return g.Jo(a) }; + g.Oo = function (a, b) { g.Jo(b); if (a && a.dg !== void 0 && a.Ym !== void 0 && a.By !== void 0) { if (g.Mo(a)) for (b = a.mL; b < a.dg.length; b++)g.No(a.dg[b], a.Ym[b]); for (; a.dg.length > a.mL;)a.dg.pop(), a.By.pop(), a.Ym.pop() } }; + mla = function (a, b, c) { lla(a); if (a.ej.length === 0 && a.dg !== void 0) for (var d = 0; d < a.dg.length; d++)a.Ym[d] = mla(a.dg[d], a, d); a.Gu.push(c); return a.ej.push(b) - 1 }; + g.No = function (a, b) { lla(a); if (a.ej.length === 1 && a.dg !== void 0) for (var c = 0; c < a.dg.length; c++)g.No(a.dg[c], a.Ym[c]); c = a.ej.length - 1; a.ej[b] = a.ej[c]; a.Gu[b] = a.Gu[c]; a.ej.length--; a.Gu.length--; b < a.ej.length && (c = a.Gu[b], a = a.ej[b], g.Po(a), a.Ym[c] = b) }; + g.Mo = function (a) { var b, c; return a.ZO || ((c = a == null ? void 0 : (b = a.ej) == null ? void 0 : b.length) != null ? c : 0) > 0 }; + g.Po = function (a) { a.dg != null || (a.dg = []); a.Ym != null || (a.Ym = []); a.By != null || (a.By = []) }; + lla = function (a) { a.ej != null || (a.ej = []); a.Gu != null || (a.Gu = []) }; + ola = function (a) { + function b() { if (g.Ko) throw Error(""); if (Io !== null) { var d = Io.mL++; g.Po(Io); d < Io.dg.length && Io.dg[d] !== c && g.Mo(Io) && g.No(Io.dg[d], Io.Ym[d]); Io.dg[d] !== c && (Io.dg[d] = c, Io.Ym[d] = g.Mo(Io) ? mla(c, Io, d) : 0); Io.By[d] = c.version } return c.value } + var c = Object.create(nla); c.value = a; b[g.To] = c; return b + }; + qla = function (a, b) { if (!kla()) throw Error(); if (!a.vP(a.value, b)) { a.value = b; a.version++; g.Uo++; jla(a); var c; (c = g.pla) == null || c() } }; + g.Vo = function () { }; + rla = function (a) { return Object.create(Object.assign({}, g.Wo, { Kt: a })) }; + Yo = function (a) { + g.Vc.call(this); var b = this; this.G = this.B = 0; this.Go = a != null ? a : { + Vi: function (e, f) { return setTimeout(e, f) }, + jk: function (e) { clearTimeout(e) } + }; + var c, d; this.j = (d = (c = window.navigator) == null ? void 0 : c.onLine) != null ? d : !0; this.C = function () { return g.J(function (e) { return g.G(e, Xo(b), 0) }) }; + window.addEventListener("offline", this.C); window.addEventListener("online", this.C); this.G || this.Ue() + }; + sla = function () { var a = g.Zo; Yo.instance || (Yo.instance = new Yo(a)); return Yo.instance }; + Xo = function (a, b) { + return a.D ? a.D : a.D = new Promise(function (c) { + var d, e, f, h; return g.J(function (l) { + switch (l.j) { + case 1: return d = window.AbortController ? new window.AbortController : void 0, f = (e = d) == null ? void 0 : e.signal, h = !1, g.va(l, 2, 3), d && (a.B = a.Go.Vi(function () { d.abort() }, b || 2E4)), g.G(l, fetch("/generate_204", { + method: "HEAD", + signal: f + }), 5); case 5: h = !0; case 3: g.ya(l); a.D = void 0; a.B && (a.Go.jk(a.B), a.B = 0); h !== a.j && (a.j = h, a.j ? a.dispatchEvent("networkstatus-online") : a.dispatchEvent("networkstatus-offline")); c(h); g.za(l, 0); break; case 2: g.xa(l), h = !1, l.Ha(3) + } + }) + }) + }; + $o = function () { this.data = []; this.j = -1 }; + tla = function (a) { + a.j === -1 && (a.j = a.data.reduce(function (b, c, d) { return b + (c ? Math.pow(2, d) : 0) }, 0)); + return a.j + }; + ap = function (a) { a.setAttribute("role", "link") }; + cp = function (a, b) { Array.isArray(b) && (b = b.join(" ")); b === "" || b == void 0 ? (bp || (b = {}, bp = (b.atomic = !1, b.autocomplete = "none", b.dropeffect = "none", b.haspopup = !1, b.live = "off", b.multiline = !1, b.multiselectable = !1, b.orientation = "vertical", b.readonly = !1, b.relevant = "additions text", b.required = !1, b.sort = "none", b.busy = !1, b.disabled = !1, b.hidden = !1, b.invalid = "false", b)), b = bp, "label" in b ? a.setAttribute("aria-label", b.label) : a.removeAttribute("aria-label")) : a.setAttribute("aria-label", b) }; + dp = function (a) { a = a.getAttribute("aria-label"); return a == null || a == void 0 ? "" : String(a) }; + g.ep = function (a, b, c) { g.O.call(this); this.j = null; this.D = !1; this.K = a; this.G = c; this.B = b || window; this.C = (0, g.Ua)(this.A5, this) }; + ula = function (a) { a = a.B; return a.requestAnimationFrame || a.webkitRequestAnimationFrame || a.mozRequestAnimationFrame || a.oRequestAnimationFrame || a.msRequestAnimationFrame || null }; + vla = function (a) { a = a.B; return a.cancelAnimationFrame || a.cancelRequestAnimationFrame || a.webkitCancelRequestAnimationFrame || a.mozCancelRequestAnimationFrame || a.oCancelRequestAnimationFrame || a.msCancelRequestAnimationFrame || null }; + g.fp = function (a, b, c) { g.O.call(this); this.j = a; this.cj = b || 0; this.B = c; this.C = (0, g.Ua)(this.FV, this) }; + g.gp = function (a, b) { a.isActive() || a.start(b) }; + g.hp = function (a) { a.stop(); a.FV() }; + g.ip = function (a) { a.isActive() && g.hp(a) }; + g.jp = function (a, b) { this.j = a[g.Ja.Symbol.iterator](); this.B = b }; + wla = function (a) { return typeof a.className == "string" ? a.className : a.getAttribute && a.getAttribute("class") || "" }; + kp = function (a) { return a.classList ? a.classList : wla(a).match(/\S+/g) || [] }; + g.lp = function (a, b) { typeof a.className == "string" ? a.className = b : a.setAttribute && a.setAttribute("class", b) }; + g.mp = function (a, b) { return a.classList ? a.classList.contains(b) : g.Mb(kp(a), b) }; + g.np = function (a, b) { if (a.classList) a.classList.add(b); else if (!g.mp(a, b)) { var c = wla(a); g.lp(a, c + (c.length > 0 ? " " + b : b)) } }; + g.op = function (a, b) { + if (a.classList) Array.prototype.forEach.call(b, function (e) { g.np(a, e) }); + else { + var c = {}; Array.prototype.forEach.call(kp(a), function (e) { c[e] = !0 }); + Array.prototype.forEach.call(b, function (e) { c[e] = !0 }); + b = ""; for (var d in c) b += b.length > 0 ? " " + d : d; g.lp(a, b) + } + }; + g.pp = function (a, b) { a.classList ? a.classList.remove(b) : g.mp(a, b) && g.lp(a, Array.prototype.filter.call(kp(a), function (c) { return c != b }).join(" ")) }; + g.qp = function (a, b) { a.classList ? Array.prototype.forEach.call(b, function (c) { g.pp(a, c) }) : g.lp(a, Array.prototype.filter.call(kp(a), function (c) { return !g.Mb(b, c) }).join(" ")) }; + g.rp = function (a, b, c) { c ? g.np(a, b) : g.pp(a, b) }; + xla = function (a, b) { var c = !g.mp(a, b); g.rp(a, b, c) }; + g.sp = function () { g.Vc.call(this); this.j = 0; this.endTime = this.startTime = null }; + yla = function (a, b) { + Array.isArray(b) || (b = [b]); b = b.map(function (c) { return typeof c === "string" ? c : c.property + " " + c.duration + "s " + c.timing + " " + c.delay + "s" }); + g.jm(a, "transition", b.join(",")) + }; + tp = function (a, b, c, d, e) { g.sp.call(this); this.B = a; this.G = b; this.K = c; this.D = d; this.N = Array.isArray(e) ? e : [e] }; + zla = function (a, b, c, d) { return new tp(a, b, { opacity: c }, { opacity: d }, { property: "opacity", duration: b, timing: "ease-in", delay: 0 }) }; + Bla = function (a) { a = tb(a); if (a == "") return null; var b = String(a.slice(0, 4)).toLowerCase(); if (("url(" < b ? -1 : "url(" == b ? 0 : 1) == 0) return !a.endsWith(")") || (a ? a.split("(").length - 1 : 0) > 1 || a && a.split(")"), null; if (a.indexOf("(") > 0) { if (/"|'/.test(a)) return null; b = /([\-\w]+)\(/g; for (var c; c = b.exec(a);)if (!(c[1].toLowerCase() in Ala)) return null } return a }; + up = function (a, b) { a = g.Ja[a]; return a && a.prototype ? (b = Object.getOwnPropertyDescriptor(a.prototype, b)) && b.get || null : null }; + Cla = function (a) { var b = g.Ja.CSSStyleDeclaration; return b && b.prototype && b.prototype[a] || null }; + Dla = function (a, b, c, d) { if (a) return a.apply(b, d); if (g.lm && document.documentMode < 10) { if (!b[c].call) throw Error("IE Clobbering detected"); } else if (typeof b[c] != "function") throw Error("Clobbering detected"); return b[c].apply(b, d) }; + Jla = function (a) { + if (!a) return Ela; var b = document.createElement("div").style; Fla(a).forEach(function (c) { var d = g.lc && c in Gla ? c : c.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/i, ""); nb(d, "--") || nb(d, "var") || (c = Dla(Hla, a, a.getPropertyValue ? "getPropertyValue" : "getAttribute", [c]) || "", c = Bla(c), c != null && Dla(Ila, b, b.setProperty ? "setProperty" : "setAttribute", [d, c])) }); + return new g.td(b.cssText || "", Cd) + }; + Fla = function (a) { g.Pa(a) ? a = g.Tb(a) : (a = g.xc(a), g.Pb(a, "cssText")); return a }; + g.wp = function (a) { var b, c = b = 0, d = !1; a = a.split(Kla); for (var e = 0; e < a.length; e++) { var f = a[e]; g.vp.test(f) ? (b++, c++) : Lla.test(f) ? d = !0 : Mla.test(f) ? c++ : Nla.test(f) && (d = !0) } b = c == 0 ? d ? 1 : 0 : b / c > .4 ? -1 : 1; return (b == 0 ? null : b) == -1 ? "rtl" : "ltr" }; + g.Ap = function (a) { + if (a instanceof xp || a instanceof yp || a instanceof zp) return a; if (typeof a.next == "function") return new xp(function () { return a }); + if (typeof a[Symbol.iterator] == "function") return new xp(function () { return a[Symbol.iterator]() }); + if (typeof a.wm == "function") return new xp(function () { return a.wm() }); + throw Error("Not an iterator or iterable."); + }; + xp = function (a) { this.B = a }; + yp = function (a) { this.B = a }; + zp = function (a) { + xp.call(this, function () { return a }); + this.C = a + }; + Bp = function (a, b, c, d, e, f, h, l) { this.j = a; this.C = b; this.x1 = c; this.y1 = d; this.x2 = e; this.y2 = f; this.B = h; this.D = l }; + Cp = function (a, b) { if (b == 0) return a.j; if (b == 1) return a.B; var c = Fd(a.j, a.x1, b), d = Fd(a.x1, a.x2, b); a = Fd(a.x2, a.B, b); c = Fd(c, d, b); d = Fd(d, a, b); return Fd(c, d, b) }; + Ola = function (a, b) { var c = (b - a.j) / (a.B - a.j); if (c <= 0) return 0; if (c >= 1) return 1; for (var d = 0, e = 1, f = 0, h = 0; h < 8; h++) { f = Cp(a, c); var l = (Cp(a, c + 1E-6) - f) / 1E-6; if (Math.abs(f - b) < 1E-6) return c; if (Math.abs(l) < 1E-6) break; else f < b ? d = c : e = c, c -= (f - b) / l } for (h = 0; Math.abs(f - b) > 1E-6 && h < 8; h++)f < b ? (d = c, c = (c + e) / 2) : (e = c, c = (c + d) / 2), f = Cp(a, c); return c }; + Dp = function (a, b) { this.start = a < b ? a : b; this.end = a < b ? b : a }; + Ep = function (a) { return (a = a.exec(g.wb())) ? a[1] : "" }; + Fp = function (a) { return g.vb(Pla, a) >= 0 }; + g.Gp = function (a) { g.O.call(this); this.K = 1; this.C = []; this.D = 0; this.j = []; this.B = {}; this.N = !!a }; + Qla = function (a, b, c) { g.De(function () { a.apply(b, c) }) }; + g.Hp = function (a) { this.j = a }; + Ip = function (a) { this.j = a }; + Rla = function (a) { this.data = a }; + Sla = function (a) { return a === void 0 || a instanceof Rla ? a : new Rla(a) }; + Jp = function (a) { this.j = a }; + g.Tla = function (a) { var b = a.creation; a = a.expiration; return !!a && a < g.Xa() || !!b && b > g.Xa() }; + g.Kp = function (a) { this.j = a }; + Ula = function () { }; + Lp = function () { }; + Mp = function (a) { this.j = a; this.B = null }; + Np = function (a) { if (a.j == null) throw Error("Storage mechanism: Storage unavailable"); var b; ((b = a.B) != null ? b : a.isAvailable()) || we(Error("Storage mechanism: Storage unavailable")) }; + Op = function () { var a = null; try { a = g.Ja.localStorage || null } catch (b) { } Mp.call(this, a) }; + Vla = function () { var a = null; try { a = g.Ja.sessionStorage || null } catch (b) { } Mp.call(this, a) }; + Pp = function (a, b) { this.B = a; this.j = b + "::" }; + g.Qp = function (a) { var b = new Op; return b.isAvailable() ? a ? new Pp(b, a) : b : null }; + Rp = function (a, b) { this.j = a; this.B = b }; + Sp = function (a) { this.j = []; if (a) a: { if (a instanceof Sp) { var b = a.Xn(); a = a.Mm(); if (this.j.length <= 0) { for (var c = this.j, d = 0; d < b.length; d++)c.push(new Rp(b[d], a[d])); break a } } else b = g.xc(a), a = g.wc(a); for (c = 0; c < b.length; c++)this.Fh(b[c], a[c]) } }; + Tp = function () { Sp.apply(this, arguments) }; + Up = function () { }; + Wla = function (a) { + var b, c, d = a.length, e = 0; for (b = 0; b < d; b++) { var f = a.charCodeAt(b); if ((f & 64512) === 55296 && b + 1 < d) { var h = a.charCodeAt(b + 1); (h & 64512) === 56320 && (f = 65536 + (f - 55296 << 10) + (h - 56320), b++) } e += f < 128 ? 1 : f < 2048 ? 2 : f < 65536 ? 3 : 4 } var l = new Vp.kz(e); for (b = c = 0; c < e; b++)f = a.charCodeAt(b), (f & 64512) === 55296 && b + 1 < d && (h = a.charCodeAt(b + 1), (h & 64512) === 56320 && (f = 65536 + (f - 55296 << 10) + (h - 56320), b++)), f < 128 ? l[c++] = f : (f < 2048 ? l[c++] = 192 | f >>> 6 : (f < 65536 ? l[c++] = 224 | f >>> 12 : (l[c++] = 240 | f >>> 18, l[c++] = 128 | f >>> 12 & 63), l[c++] = 128 | f >>> + 6 & 63), l[c++] = 128 | f & 63); return l + }; + Wp = function (a) { for (var b = a.length; --b >= 0;)a[b] = 0 }; + Xp = function (a, b, c, d, e) { this.H2 = a; this.x8 = b; this.w8 = c; this.e8 = d; this.H$ = e; this.jZ = a && a.length }; + Yp = function (a, b) { this.SX = a; this.lB = 0; this.Bv = b }; + Zp = function (a, b) { a.rg[a.pending++] = b & 255; a.rg[a.pending++] = b >>> 8 & 255 }; + $p = function (a, b, c) { a.Gi > 16 - c ? (a.yj |= b << a.Gi & 65535, Zp(a, a.yj), a.yj = b >> 16 - a.Gi, a.Gi += c - 16) : (a.yj |= b << a.Gi & 65535, a.Gi += c) }; + aq = function (a, b, c) { $p(a, c[b * 2], c[b * 2 + 1]) }; + Xla = function (a, b) { var c = 0; do c |= a & 1, a >>>= 1, c <<= 1; while (--b > 0); return c >>> 1 }; + Yla = function (a, b, c) { var d = Array(16), e = 0, f; for (f = 1; f <= 15; f++)d[f] = e = e + c[f - 1] << 1; for (c = 0; c <= b; c++)e = a[c * 2 + 1], e !== 0 && (a[c * 2] = Xla(d[e]++, e)) }; + Zla = function (a) { var b; for (b = 0; b < 286; b++)a.wk[b * 2] = 0; for (b = 0; b < 30; b++)a.Vw[b * 2] = 0; for (b = 0; b < 19; b++)a.Xi[b * 2] = 0; a.wk[512] = 1; a.Cs = a.AC = 0; a.Tm = a.matches = 0 }; + $la = function (a) { a.Gi > 8 ? Zp(a, a.yj) : a.Gi > 0 && (a.rg[a.pending++] = a.yj); a.yj = 0; a.Gi = 0 }; + ama = function (a, b, c) { $la(a); Zp(a, c); Zp(a, ~c); Vp.Dz(a.rg, a.window, b, c, a.pending); a.pending += c }; + bma = function (a, b, c, d) { var e = b * 2, f = c * 2; return a[e] < a[f] || a[e] === a[f] && d[b] <= d[c] }; + bq = function (a, b, c) { for (var d = a.yg[c], e = c << 1; e <= a.Tr;) { e < a.Tr && bma(b, a.yg[e + 1], a.yg[e], a.depth) && e++; if (bma(b, d, a.yg[e], a.depth)) break; a.yg[c] = a.yg[e]; c = e; e <<= 1 } a.yg[c] = d }; + cma = function (a, b, c) { var d = 0; if (a.Tm !== 0) { do { var e = a.rg[a.BE + d * 2] << 8 | a.rg[a.BE + d * 2 + 1]; var f = a.rg[a.dR + d]; d++; if (e === 0) aq(a, f, b); else { var h = cq[f]; aq(a, h + 256 + 1, b); var l = dq[h]; l !== 0 && (f -= eq[h], $p(a, f, l)); e--; h = e < 256 ? fq[e] : fq[256 + (e >>> 7)]; aq(a, h, c); l = gq[h]; l !== 0 && (e -= hq[h], $p(a, e, l)) } } while (d < a.Tm) } aq(a, 256, b) }; + iq = function (a, b) { + var c = b.SX, d = b.Bv.H2, e = b.Bv.jZ, f = b.Bv.e8, h, l = -1; a.Tr = 0; a.zA = 573; for (h = 0; h < f; h++)c[h * 2] !== 0 ? (a.yg[++a.Tr] = l = h, a.depth[h] = 0) : c[h * 2 + 1] = 0; for (; a.Tr < 2;) { var m = a.yg[++a.Tr] = l < 2 ? ++l : 0; c[m * 2] = 1; a.depth[m] = 0; a.Cs--; e && (a.AC -= d[m * 2 + 1]) } b.lB = l; for (h = a.Tr >> 1; h >= 1; h--)bq(a, c, h); m = f; do h = a.yg[1], a.yg[1] = a.yg[a.Tr--], bq(a, c, 1), d = a.yg[1], a.yg[--a.zA] = h, a.yg[--a.zA] = d, c[m * 2] = c[h * 2] + c[d * 2], a.depth[m] = (a.depth[h] >= a.depth[d] ? a.depth[h] : a.depth[d]) + 1, c[h * 2 + 1] = c[d * 2 + 1] = m, a.yg[1] = m++, bq(a, c, 1); while (a.Tr >= + 2); a.yg[--a.zA] = a.yg[1]; h = b.SX; m = b.lB; d = b.Bv.H2; e = b.Bv.jZ; f = b.Bv.x8; var n = b.Bv.w8, p = b.Bv.H$, q, r = 0; for (q = 0; q <= 15; q++)a.xr[q] = 0; h[a.yg[a.zA] * 2 + 1] = 0; for (b = a.zA + 1; b < 573; b++) { var t = a.yg[b]; q = h[h[t * 2 + 1] * 2 + 1] + 1; q > p && (q = p, r++); h[t * 2 + 1] = q; if (!(t > m)) { a.xr[q]++; var u = 0; t >= n && (u = f[t - n]); var y = h[t * 2]; a.Cs += y * (q + u); e && (a.AC += y * (d[t * 2 + 1] + u)) } } if (r !== 0) { + do { for (q = p - 1; a.xr[q] === 0;)q--; a.xr[q]--; a.xr[q + 1] += 2; a.xr[p]--; r -= 2 } while (r > 0); for (q = p; q !== 0; q--)for (t = a.xr[q]; t !== 0;)d = a.yg[--b], d > m || (h[d * 2 + 1] !== q && (a.Cs += (q - h[d * + 2 + 1]) * h[d * 2], h[d * 2 + 1] = q), t--) + } Yla(c, l, a.xr) + }; + dma = function (a, b, c) { var d, e = -1, f = b[1], h = 0, l = 7, m = 4; f === 0 && (l = 138, m = 3); b[(c + 1) * 2 + 1] = 65535; for (d = 0; d <= c; d++) { var n = f; f = b[(d + 1) * 2 + 1]; ++h < l && n === f || (h < m ? a.Xi[n * 2] += h : n !== 0 ? (n !== e && a.Xi[n * 2]++, a.Xi[32]++) : h <= 10 ? a.Xi[34]++ : a.Xi[36]++, h = 0, e = n, f === 0 ? (l = 138, m = 3) : n === f ? (l = 6, m = 3) : (l = 7, m = 4)) } }; + ema = function (a, b, c) { var d, e = -1, f = b[1], h = 0, l = 7, m = 4; f === 0 && (l = 138, m = 3); for (d = 0; d <= c; d++) { var n = f; f = b[(d + 1) * 2 + 1]; if (!(++h < l && n === f)) { if (h < m) { do aq(a, n, a.Xi); while (--h !== 0) } else n !== 0 ? (n !== e && (aq(a, n, a.Xi), h--), aq(a, 16, a.Xi), $p(a, h - 3, 2)) : h <= 10 ? (aq(a, 17, a.Xi), $p(a, h - 3, 3)) : (aq(a, 18, a.Xi), $p(a, h - 11, 7)); h = 0; e = n; f === 0 ? (l = 138, m = 3) : n === f ? (l = 6, m = 3) : (l = 7, m = 4) } } }; + fma = function (a) { var b = 4093624447, c; for (c = 0; c <= 31; c++, b >>>= 1)if (b & 1 && a.wk[c * 2] !== 0) return 0; if (a.wk[18] !== 0 || a.wk[20] !== 0 || a.wk[26] !== 0) return 1; for (c = 32; c < 256; c++)if (a.wk[c * 2] !== 0) return 1; return 0 }; + jq = function (a, b, c) { a.rg[a.BE + a.Tm * 2] = b >>> 8 & 255; a.rg[a.BE + a.Tm * 2 + 1] = b & 255; a.rg[a.dR + a.Tm] = c & 255; a.Tm++; b === 0 ? a.wk[c * 2]++ : (a.matches++, b--, a.wk[(cq[c] + 256 + 1) * 2]++, a.Vw[(b < 256 ? fq[b] : fq[256 + (b >>> 7)]) * 2]++); return a.Tm === a.dG - 1 }; + lq = function (a, b) { a.msg = kq[b]; return b }; + sq = function (a) { for (var b = a.length; --b >= 0;)a[b] = 0 }; + tq = function (a) { var b = a.state, c = b.pending; c > a.Je && (c = a.Je); c !== 0 && (Vp.Dz(a.output, b.rg, b.UG, c, a.uB), a.uB += c, b.UG += c, a.lU += c, a.Je -= c, b.pending -= c, b.pending === 0 && (b.UG = 0)) }; + wq = function (a, b) { + var c = a.vl >= 0 ? a.vl : -1, d = a.Gb - a.vl, e = 0; if (a.level > 0) { a.xe.kP === 2 && (a.xe.kP = fma(a)); iq(a, a.PK); iq(a, a.wJ); dma(a, a.wk, a.PK.lB); dma(a, a.Vw, a.wJ.lB); iq(a, a.gX); for (e = 18; e >= 3 && a.Xi[gma[e] * 2 + 1] === 0; e--); a.Cs += 3 * (e + 1) + 14; var f = a.Cs + 3 + 7 >>> 3; var h = a.AC + 3 + 7 >>> 3; h <= f && (f = h) } else f = h = d + 5; if (d + 4 <= f && c !== -1) $p(a, b ? 1 : 0, 3), ama(a, c, d); else if (a.strategy === 4 || h === f) $p(a, 2 + (b ? 1 : 0), 3), cma(a, uq, vq); else { + $p(a, 4 + (b ? 1 : 0), 3); c = a.PK.lB + 1; d = a.wJ.lB + 1; e += 1; $p(a, c - 257, 5); $p(a, d - 1, 5); $p(a, e - 4, 4); for (f = 0; f < e; f++)$p(a, + a.Xi[gma[f] * 2 + 1], 3); ema(a, a.wk, c - 1); ema(a, a.Vw, d - 1); cma(a, a.wk, a.Vw) + } Zla(a); b && $la(a); a.vl = a.Gb; tq(a.xe) + }; + xq = function (a, b) { a.rg[a.pending++] = b }; + yq = function (a, b) { a.rg[a.pending++] = b >>> 8 & 255; a.rg[a.pending++] = b & 255 }; + hma = function (a, b) { + var c = a.y_, d = a.Gb, e = a.Pl, f = a.T_, h = a.Gb > a.tj - 262 ? a.Gb - (a.tj - 262) : 0, l = a.window, m = a.Jv, n = a.Cq, p = a.Gb + 258, q = l[d + e - 1], r = l[d + e]; a.Pl >= a.QY && (c >>= 2); f > a.jc && (f = a.jc); do { var t = b; if (l[t + e] === r && l[t + e - 1] === q && l[t] === l[d] && l[++t] === l[d + 1]) { d += 2; for (t++; l[++d] === l[++t] && l[++d] === l[++t] && l[++d] === l[++t] && l[++d] === l[++t] && l[++d] === l[++t] && l[++d] === l[++t] && l[++d] === l[++t] && l[++d] === l[++t] && d < p;); t = 258 - (p - d); d = p - 258; if (t > e) { a.jB = b; e = t; if (t >= f) break; q = l[d + e - 1]; r = l[d + e] } } } while ((b = n[b & m]) > h && --c !== + 0); return e <= a.jc ? e : a.jc + }; + Bq = function (a) { + var b = a.tj, c; do { + var d = a.R3 - a.jc - a.Gb; if (a.Gb >= b + (b - 262)) { Vp.Dz(a.window, a.window, b, b, 0); a.jB -= b; a.Gb -= b; a.vl -= b; var e = c = a.wK; do { var f = a.head[--e]; a.head[e] = f >= b ? f - b : 0 } while (--c); e = c = b; do f = a.Cq[--e], a.Cq[e] = f >= b ? f - b : 0; while (--c); d += b } if (a.xe.xj === 0) break; e = a.xe; c = a.window; f = a.Gb + a.jc; var h = e.xj; h > d && (h = d); h === 0 ? c = 0 : (e.xj -= h, Vp.Dz(c, e.input, e.Xx, h, f), e.state.wrap === 1 ? e.Ud = zq(e.Ud, c, h, f) : e.state.wrap === 2 && (e.Ud = Aq(e.Ud, c, h, f)), e.Xx += h, e.Yy += h, c = h); a.jc += c; if (a.jc + a.Fh >= 3) for (d = a.Gb - a.Fh, + a.De = a.window[d], a.De = (a.De << a.Rr ^ a.window[d + 1]) & a.Qr; a.Fh && !(a.De = (a.De << a.Rr ^ a.window[d + 3 - 1]) & a.Qr, a.Cq[d & a.Jv] = a.head[a.De], a.head[a.De] = d, d++, a.Fh--, a.jc + a.Fh < 3);); + } while (a.jc < 262 && a.xe.xj !== 0) + }; + Cq = function (a, b) { + for (var c; ;) { + if (a.jc < 262) { Bq(a); if (a.jc < 262 && b === 0) return 1; if (a.jc === 0) break } c = 0; a.jc >= 3 && (a.De = (a.De << a.Rr ^ a.window[a.Gb + 3 - 1]) & a.Qr, c = a.Cq[a.Gb & a.Jv] = a.head[a.De], a.head[a.De] = a.Gb); c !== 0 && a.Gb - c <= a.tj - 262 && (a.Te = hma(a, c)); if (a.Te >= 3) if (c = jq(a, a.Gb - a.jB, a.Te - 3), a.jc -= a.Te, a.Te <= a.pR && a.jc >= 3) { a.Te--; do a.Gb++, a.De = (a.De << a.Rr ^ a.window[a.Gb + 3 - 1]) & a.Qr, a.Cq[a.Gb & a.Jv] = a.head[a.De], a.head[a.De] = a.Gb; while (--a.Te !== 0); a.Gb++ } else a.Gb += a.Te, a.Te = 0, a.De = a.window[a.Gb], a.De = (a.De << a.Rr ^ + a.window[a.Gb + 1]) & a.Qr; else c = jq(a, 0, a.window[a.Gb]), a.jc--, a.Gb++; if (c && (wq(a, !1), a.xe.Je === 0)) return 1 + } a.Fh = a.Gb < 2 ? a.Gb : 2; return b === 4 ? (wq(a, !0), a.xe.Je === 0 ? 3 : 4) : a.Tm && (wq(a, !1), a.xe.Je === 0) ? 1 : 2 + }; + Dq = function (a, b) { + for (var c, d; ;) { + if (a.jc < 262) { Bq(a); if (a.jc < 262 && b === 0) return 1; if (a.jc === 0) break } c = 0; a.jc >= 3 && (a.De = (a.De << a.Rr ^ a.window[a.Gb + 3 - 1]) & a.Qr, c = a.Cq[a.Gb & a.Jv] = a.head[a.De], a.head[a.De] = a.Gb); a.Pl = a.Te; a.l1 = a.jB; a.Te = 2; c !== 0 && a.Pl < a.pR && a.Gb - c <= a.tj - 262 && (a.Te = hma(a, c), a.Te <= 5 && (a.strategy === 1 || a.Te === 3 && a.Gb - a.jB > 4096) && (a.Te = 2)); if (a.Pl >= 3 && a.Te <= a.Pl) { + d = a.Gb + a.jc - 3; c = jq(a, a.Gb - 1 - a.l1, a.Pl - 3); a.jc -= a.Pl - 1; a.Pl -= 2; do ++a.Gb <= d && (a.De = (a.De << a.Rr ^ a.window[a.Gb + 3 - 1]) & a.Qr, a.Cq[a.Gb & a.Jv] = + a.head[a.De], a.head[a.De] = a.Gb); while (--a.Pl !== 0); a.Qx = 0; a.Te = 2; a.Gb++; if (c && (wq(a, !1), a.xe.Je === 0)) return 1 + } else if (a.Qx) { if ((c = jq(a, 0, a.window[a.Gb - 1])) && wq(a, !1), a.Gb++, a.jc--, a.xe.Je === 0) return 1 } else a.Qx = 1, a.Gb++, a.jc-- + } a.Qx && (jq(a, 0, a.window[a.Gb - 1]), a.Qx = 0); a.Fh = a.Gb < 2 ? a.Gb : 2; return b === 4 ? (wq(a, !0), a.xe.Je === 0 ? 3 : 4) : a.Tm && (wq(a, !1), a.xe.Je === 0) ? 1 : 2 + }; + ima = function (a, b) { + for (var c, d, e, f = a.window; ;) { if (a.jc <= 258) { Bq(a); if (a.jc <= 258 && b === 0) return 1; if (a.jc === 0) break } a.Te = 0; if (a.jc >= 3 && a.Gb > 0 && (d = a.Gb - 1, c = f[d], c === f[++d] && c === f[++d] && c === f[++d])) { for (e = a.Gb + 258; c === f[++d] && c === f[++d] && c === f[++d] && c === f[++d] && c === f[++d] && c === f[++d] && c === f[++d] && c === f[++d] && d < e;); a.Te = 258 - (e - d); a.Te > a.jc && (a.Te = a.jc) } a.Te >= 3 ? (c = jq(a, 1, a.Te - 3), a.jc -= a.Te, a.Gb += a.Te, a.Te = 0) : (c = jq(a, 0, a.window[a.Gb]), a.jc--, a.Gb++); if (c && (wq(a, !1), a.xe.Je === 0)) return 1 } a.Fh = 0; return b === + 4 ? (wq(a, !0), a.xe.Je === 0 ? 3 : 4) : a.Tm && (wq(a, !1), a.xe.Je === 0) ? 1 : 2 + }; + jma = function (a, b) { for (var c; ;) { if (a.jc === 0 && (Bq(a), a.jc === 0)) { if (b === 0) return 1; break } a.Te = 0; c = jq(a, 0, a.window[a.Gb]); a.jc--; a.Gb++; if (c && (wq(a, !1), a.xe.Je === 0)) return 1 } a.Fh = 0; return b === 4 ? (wq(a, !0), a.xe.Je === 0 ? 3 : 4) : a.Tm && (wq(a, !1), a.xe.Je === 0) ? 1 : 2 }; + Eq = function (a, b, c, d, e) { this.q9 = a; this.G$ = b; this.X$ = c; this.F$ = d; this.func = e }; + kma = function () { + this.xe = null; this.status = 0; this.rg = null; this.wrap = this.pending = this.UG = this.Xm = 0; this.Qd = null; this.jo = 0; this.method = 8; this.ZA = -1; this.Jv = this.DU = this.tj = 0; this.window = null; this.R3 = 0; this.head = this.Cq = null; this.T_ = this.QY = this.strategy = this.level = this.pR = this.y_ = this.Pl = this.jc = this.jB = this.Gb = this.Qx = this.l1 = this.Te = this.vl = this.Rr = this.Qr = this.AQ = this.wK = this.De = 0; this.wk = new Vp.er(1146); this.Vw = new Vp.er(122); this.Xi = new Vp.er(78); sq(this.wk); sq(this.Vw); sq(this.Xi); this.gX = this.wJ = + this.PK = null; this.xr = new Vp.er(16); this.yg = new Vp.er(573); sq(this.yg); this.zA = this.Tr = 0; this.depth = new Vp.er(573); sq(this.depth); this.Gi = this.yj = this.Fh = this.matches = this.AC = this.Cs = this.BE = this.Tm = this.dG = this.dR = 0 + }; + lma = function (a, b) { + if (!a || !a.state || b > 5 || b < 0) return a ? lq(a, -2) : -2; var c = a.state; if (!a.output || !a.input && a.xj !== 0 || c.status === 666 && b !== 4) return lq(a, a.Je === 0 ? -5 : -2); c.xe = a; var d = c.ZA; c.ZA = b; if (c.status === 42) if (c.wrap === 2) a.Ud = 0, xq(c, 31), xq(c, 139), xq(c, 8), c.Qd ? (xq(c, (c.Qd.text ? 1 : 0) + (c.Qd.ou ? 2 : 0) + (c.Qd.extra ? 4 : 0) + (c.Qd.name ? 8 : 0) + (c.Qd.comment ? 16 : 0)), xq(c, c.Qd.time & 255), xq(c, c.Qd.time >> 8 & 255), xq(c, c.Qd.time >> 16 & 255), xq(c, c.Qd.time >> 24 & 255), xq(c, c.level === 9 ? 2 : c.strategy >= 2 || c.level < 2 ? 4 : 0), xq(c, c.Qd.os & + 255), c.Qd.extra && c.Qd.extra.length && (xq(c, c.Qd.extra.length & 255), xq(c, c.Qd.extra.length >> 8 & 255)), c.Qd.ou && (a.Ud = Aq(a.Ud, c.rg, c.pending, 0)), c.jo = 0, c.status = 69) : (xq(c, 0), xq(c, 0), xq(c, 0), xq(c, 0), xq(c, 0), xq(c, c.level === 9 ? 2 : c.strategy >= 2 || c.level < 2 ? 4 : 0), xq(c, 3), c.status = 113); else { var e = 8 + (c.DU - 8 << 4) << 8; e |= (c.strategy >= 2 || c.level < 2 ? 0 : c.level < 6 ? 1 : c.level === 6 ? 2 : 3) << 6; c.Gb !== 0 && (e |= 32); c.status = 113; yq(c, e + (31 - e % 31)); c.Gb !== 0 && (yq(c, a.Ud >>> 16), yq(c, a.Ud & 65535)); a.Ud = 1 } if (c.status === 69) if (c.Qd.extra) { + for (e = + c.pending; c.jo < (c.Qd.extra.length & 65535) && (c.pending !== c.Xm || (c.Qd.ou && c.pending > e && (a.Ud = Aq(a.Ud, c.rg, c.pending - e, e)), tq(a), e = c.pending, c.pending !== c.Xm));)xq(c, c.Qd.extra[c.jo] & 255), c.jo++; c.Qd.ou && c.pending > e && (a.Ud = Aq(a.Ud, c.rg, c.pending - e, e)); c.jo === c.Qd.extra.length && (c.jo = 0, c.status = 73) + } else c.status = 73; if (c.status === 73) if (c.Qd.name) { + e = c.pending; do { + if (c.pending === c.Xm && (c.Qd.ou && c.pending > e && (a.Ud = Aq(a.Ud, c.rg, c.pending - e, e)), tq(a), e = c.pending, c.pending === c.Xm)) { var f = 1; break } f = c.jo < c.Qd.name.length ? + c.Qd.name.charCodeAt(c.jo++) & 255 : 0; xq(c, f) + } while (f !== 0); c.Qd.ou && c.pending > e && (a.Ud = Aq(a.Ud, c.rg, c.pending - e, e)); f === 0 && (c.jo = 0, c.status = 91) + } else c.status = 91; if (c.status === 91) if (c.Qd.comment) { e = c.pending; do { if (c.pending === c.Xm && (c.Qd.ou && c.pending > e && (a.Ud = Aq(a.Ud, c.rg, c.pending - e, e)), tq(a), e = c.pending, c.pending === c.Xm)) { f = 1; break } f = c.jo < c.Qd.comment.length ? c.Qd.comment.charCodeAt(c.jo++) & 255 : 0; xq(c, f) } while (f !== 0); c.Qd.ou && c.pending > e && (a.Ud = Aq(a.Ud, c.rg, c.pending - e, e)); f === 0 && (c.status = 103) } else c.status = + 103; c.status === 103 && (c.Qd.ou ? (c.pending + 2 > c.Xm && tq(a), c.pending + 2 <= c.Xm && (xq(c, a.Ud & 255), xq(c, a.Ud >> 8 & 255), a.Ud = 0, c.status = 113)) : c.status = 113); if (c.pending !== 0) { if (tq(a), a.Je === 0) return c.ZA = -1, 0 } else if (a.xj === 0 && (b << 1) - (b > 4 ? 9 : 0) <= (d << 1) - (d > 4 ? 9 : 0) && b !== 4) return lq(a, -5); if (c.status === 666 && a.xj !== 0) return lq(a, -5); if (a.xj !== 0 || c.jc !== 0 || b !== 0 && c.status !== 666) { + d = c.strategy === 2 ? jma(c, b) : c.strategy === 3 ? ima(c, b) : Fq[c.level].func(c, b); if (d === 3 || d === 4) c.status = 666; if (d === 1 || d === 3) return a.Je === 0 && (c.ZA = + -1), 0; if (d === 2 && (b === 1 ? ($p(c, 2, 3), aq(c, 256, uq), c.Gi === 16 ? (Zp(c, c.yj), c.yj = 0, c.Gi = 0) : c.Gi >= 8 && (c.rg[c.pending++] = c.yj & 255, c.yj >>= 8, c.Gi -= 8)) : b !== 5 && ($p(c, 0, 3), ama(c, 0, 0), b === 3 && (sq(c.head), c.jc === 0 && (c.Gb = 0, c.vl = 0, c.Fh = 0))), tq(a), a.Je === 0)) return c.ZA = -1, 0 + } if (b !== 4) return 0; if (c.wrap <= 0) return 1; c.wrap === 2 ? (xq(c, a.Ud & 255), xq(c, a.Ud >> 8 & 255), xq(c, a.Ud >> 16 & 255), xq(c, a.Ud >> 24 & 255), xq(c, a.Yy & 255), xq(c, a.Yy >> 8 & 255), xq(c, a.Yy >> 16 & 255), xq(c, a.Yy >> 24 & 255)) : (yq(c, a.Ud >>> 16), yq(c, a.Ud & 65535)); tq(a); c.wrap > 0 && + (c.wrap = -c.wrap); return c.pending !== 0 ? 0 : 1 + }; + Gq = function (a) { + if (!(this instanceof Gq)) return new Gq(a); a = this.options = Vp.assign({ level: -1, method: 8, chunkSize: 16384, Kv: 15, M$: 8, strategy: 0, to: "" }, a || {}); a.raw && a.Kv > 0 ? a.Kv = -a.Kv : a.r9 && a.Kv > 0 && a.Kv < 16 && (a.Kv += 16); this.err = 0; this.msg = ""; this.ended = !1; this.chunks = []; this.xe = new mma; this.xe.Je = 0; var b = this.xe; var c = a.level, d = a.method, e = a.Kv, f = a.M$, h = a.strategy; if (b) { + var l = 1; c === -1 && (c = 6); e < 0 ? (l = 0, e = -e) : e > 15 && (l = 2, e -= 16); if (f < 1 || f > 9 || d !== 8 || e < 8 || e > 15 || c < 0 || c > 9 || h < 0 || h > 4) b = lq(b, -2); else { + e === 8 && (e = 9); var m = + new kma; b.state = m; m.xe = b; m.wrap = l; m.Qd = null; m.DU = e; m.tj = 1 << m.DU; m.Jv = m.tj - 1; m.AQ = f + 7; m.wK = 1 << m.AQ; m.Qr = m.wK - 1; m.Rr = ~~((m.AQ + 3 - 1) / 3); m.window = new Vp.kz(m.tj * 2); m.head = new Vp.er(m.wK); m.Cq = new Vp.er(m.tj); m.dG = 1 << f + 6; m.Xm = m.dG * 4; m.rg = new Vp.kz(m.Xm); m.BE = 1 * m.dG; m.dR = 3 * m.dG; m.level = c; m.strategy = h; m.method = d; if (b && b.state) { + b.Yy = b.lU = 0; b.kP = 2; c = b.state; c.pending = 0; c.UG = 0; c.wrap < 0 && (c.wrap = -c.wrap); c.status = c.wrap ? 42 : 113; b.Ud = c.wrap === 2 ? 0 : 1; c.ZA = 0; if (!nma) { + d = Array(16); for (f = h = 0; f < 28; f++)for (eq[f] = h, e = 0; e < + 1 << dq[f]; e++)cq[h++] = f; cq[h - 1] = f; for (f = h = 0; f < 16; f++)for (hq[f] = h, e = 0; e < 1 << gq[f]; e++)fq[h++] = f; for (h >>= 7; f < 30; f++)for (hq[f] = h << 7, e = 0; e < 1 << gq[f] - 7; e++)fq[256 + h++] = f; for (e = 0; e <= 15; e++)d[e] = 0; for (e = 0; e <= 143;)uq[e * 2 + 1] = 8, e++, d[8]++; for (; e <= 255;)uq[e * 2 + 1] = 9, e++, d[9]++; for (; e <= 279;)uq[e * 2 + 1] = 7, e++, d[7]++; for (; e <= 287;)uq[e * 2 + 1] = 8, e++, d[8]++; Yla(uq, 287, d); for (e = 0; e < 30; e++)vq[e * 2 + 1] = 5, vq[e * 2] = Xla(e, 5); oma = new Xp(uq, dq, 257, 286, 15); pma = new Xp(vq, gq, 0, 30, 15); qma = new Xp([], rma, 0, 19, 7); nma = !0 + } c.PK = new Yp(c.wk, oma); + c.wJ = new Yp(c.Vw, pma); c.gX = new Yp(c.Xi, qma); c.yj = 0; c.Gi = 0; Zla(c); c = 0 + } else c = lq(b, -2); c === 0 && (b = b.state, b.R3 = 2 * b.tj, sq(b.head), b.pR = Fq[b.level].G$, b.QY = Fq[b.level].q9, b.T_ = Fq[b.level].X$, b.y_ = Fq[b.level].F$, b.Gb = 0, b.vl = 0, b.jc = 0, b.Fh = 0, b.Te = b.Pl = 2, b.Qx = 0, b.De = 0); b = c + } + } else b = -2; if (b !== 0) throw Error(kq[b]); a.header && (b = this.xe) && b.state && b.state.wrap === 2 && (b.state.Qd = a.header); if (a.CE) { + var n; typeof a.CE === "string" ? n = Wla(a.CE) : sma.call(a.CE) === "[object ArrayBuffer]" ? n = new Uint8Array(a.CE) : n = a.CE; a = this.xe; + f = n; h = f.length; if (a && a.state) if (n = a.state, b = n.wrap, b === 2 || b === 1 && n.status !== 42 || n.jc) b = -2; else { + b === 1 && (a.Ud = zq(a.Ud, f, h, 0)); n.wrap = 0; h >= n.tj && (b === 0 && (sq(n.head), n.Gb = 0, n.vl = 0, n.Fh = 0), c = new Vp.kz(n.tj), Vp.Dz(c, f, h - n.tj, n.tj, 0), f = c, h = n.tj); c = a.xj; d = a.Xx; e = a.input; a.xj = h; a.Xx = 0; a.input = f; for (Bq(n); n.jc >= 3;) { f = n.Gb; h = n.jc - 2; do n.De = (n.De << n.Rr ^ n.window[f + 3 - 1]) & n.Qr, n.Cq[f & n.Jv] = n.head[n.De], n.head[n.De] = f, f++; while (--h); n.Gb = f; n.jc = 2; Bq(n) } n.Gb += n.jc; n.vl = n.Gb; n.Fh = n.jc; n.jc = 0; n.Te = n.Pl = 2; n.Qx = 0; a.Xx = + d; a.input = e; a.xj = c; n.wrap = b; b = 0 + } else b = -2; if (b !== 0) throw Error(kq[b]); this.yma = !0 + } + }; + tma = function (a, b) { b = b || {}; b.r9 = !0; b = new Gq(b); b.push(a, !0); if (b.err) throw b.msg || kq[b.err]; return b.result }; + uma = function () { var a = g.Ca.apply(0, arguments); return a.length === 0 ? function (b) { return b } : a.length === 1 ? a[0] : a.reduce(function (b, c) { return function () { return b(c.apply(null, g.x(g.Ca.apply(0, arguments)))) } }) }; + vma = function () { + var a = g.Ca.apply(0, arguments); return function (b) { + return function (c, d) { + function e() { throw Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch."); } + c = b(c, d); var f = { getState: c.getState, dispatch: function (h) { return e.apply(null, [h].concat(g.x(g.Ca.apply(1, arguments)))) } }; + d = a.map(function (h) { return h(f) }); + e = uma.apply(null, g.x(d))(c.dispatch); return Object.assign({}, c, { dispatch: e }) + } + } + }; + Hq = function () { return Math.random().toString(36).substring(7).split("").join(".") }; + wma = function (a) { + Object.keys(a).forEach(function (b) { + var c = a[b]; if (typeof c(void 0, { type: Iq }) === "undefined") throw Error('The slice reducer for key "' + b + "\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined."); if (typeof c(void 0, { type: "@@redux/PROBE_UNKNOWN_ACTION" + Hq() }) === "undefined") throw Error('The slice reducer for key "' + + b + "\" returned undefined when probed with a random type. Don't try to handle '" + (Iq + '\' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')); + }) + }; + xma = function (a, b, c) { + function d() { if (p) throw Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store."); return l } + function e(t) { + if (typeof t !== "function") throw Error("Expected the listener to be a function. Instead, received: '" + typeof t + "'"); if (p) throw Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details."); var u = !0; n === m && (n = m.slice()); n.push(t); return function () { + if (u) { + if (p) throw Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details."); + u = !1; n === m && (n = m.slice()); n.splice(n.indexOf(t), 1); m = null + } + } + } + function f(t) { + if (typeof t !== "object" || t === null) var u = !1; else { for (u = t; Object.getPrototypeOf(u) !== null;)u = Object.getPrototypeOf(u); u = Object.getPrototypeOf(t) === u } if (!u) throw Error("Actions must be plain objects. Instead, the actual type was: '" + typeof t + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); + if (typeof t.type === "undefined") throw Error('Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); if (p) throw Error("Reducers may not dispatch actions."); try { p = !0, l = h(l, t) } finally { p = !1 } u = m = n; for (var y = 0; y < u.length; y++)(0, u[y])(); return t + } + if (typeof b === "function" && typeof c === "function" || typeof c === "function" && typeof arguments[3] === "function") throw Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example."); typeof b === "function" && typeof c === "undefined" && (c = b, b = void 0); if (typeof c !== "undefined") { + if (typeof c !== "function") throw Error("Expected the enhancer to be a function. Instead, received: '" + + typeof c + "'"); return c(xma)(a, b) + } if (typeof a !== "function") throw Error("Expected the root reducer to be a function. Instead, received: '" + typeof a + "'"); var h = a, l = b, m = [], n = m, p = !1; f({ type: Iq }); var q = {}, r = (q.dispatch = f, q.subscribe = e, q.getState = d, q.replaceReducer = function (t) { if (typeof t !== "function") throw Error("Expected the nextReducer to be a function. Instead, received: '" + typeof t); h = t; f({ type: yma }); return r }, q[zma] = function () { + var t = {}; + return t.subscribe = function (u) { + function y() { u.next && u.next(d()) } + if (typeof u !== "object" || u === null) throw new TypeError("Expected the observer to be an object. Instead, received: '" + typeof u + "'"); y(); return { unsubscribe: e(y) } + }, t[zma] = function () { return this }, t + }, q); + return r + }; + Ama = function (a) { return a ? (a = a.privateDoNotAccessOrElseSafeScriptWrappedValue) ? Eba(a) : null : null }; + Jq = function (a) { return a ? (a = a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue) ? jd(a) : null : null }; + Cma = function (a) { a = Bma(a); return xd(a) }; + g.Kq = function (a) { a = Bma(a); return jd(a) }; + Bma = function (a) { return a === null ? "null" : a === void 0 ? "undefined" : a }; + Lq = function (a) { this.sb = Zf(a) }; + Dma = function (a) { + var b = String.prototype.split.call(a, ("", "")), c = [-1495677280, -1520270422, 72166128, -772555934, function (d, e) { d.length != 0 && (e = (e % d.length + d.length) % d.length, d.splice(0, 1, d.splice(e, 1, d[0])[0])) }, + function (d, e) { d = (d % e.length + e.length) % e.length; e.splice(d, 1) }, + -1771698821, 985904198, function () { for (var d = 64, e = []; ++d - e.length - 32;) { switch (d) { case 58: d -= 14; case 91: case 92: case 93: continue; case 123: d = 47; case 94: case 95: case 96: continue; case 46: d = 95 }e.push(String.fromCharCode(d)) } return e }, + null, 1582623514, -284777091, 1847869180, 619017158, b, -1354947293, 2061885690, 902898937, -1648746587, 797421461, function (d) { for (var e = d.length; e;)d.push(d.splice(--e, 1)[0]) }, + null, 706645971, b, 1475181620, function (d, e, f, h, l, m) { return e(h, l, m) }, + -1040943805, -847643495, -2145812801, function () { for (var d = 64, e = []; ++d - e.length - 32;)switch (d) { case 58: d = 96; continue; case 91: d = 44; break; case 65: d = 47; continue; case 46: d = 153; case 123: d -= 58; default: e.push(String.fromCharCode(d)) }return e }, + -440620174, 43612610, 1089904135, 619017158, 355591197, "now", 1243352632, -1481370793, "[/''", function (d, e) { d.push(e) }, + -993991444, -1449334351, 1390143066, -1725408054, -814028965, function (d, e, f) { var h = d.length; e.forEach(function (l, m, n) { this.push(n[m] = d[(d.indexOf(l) - d.indexOf(this[m]) + m + h--) % d.length]) }, f.split("")) }, + -1469933956, -1700124178, function (d, e, f, h, l, m, n) { return d(l, m, n) }, + function () { for (var d = 64, e = []; ++d - e.length - 32;)switch (d) { case 46: d = 95; default: e.push(String.fromCharCode(d)); case 94: case 95: case 96: break; case 123: d -= 76; case 92: case 93: continue; case 58: d = 44; case 91: }return e }, + -494542464, -910223302, -1946485887, -1987384734, 1017133858, 480209934, function (d, e) { if (d.length != 0) { e = (e % d.length + d.length) % d.length; var f = d[0]; d[0] = d[e]; d[e] = f } }, + function (d, e, f, h, l) { return e(f, h, l) }, + -1821688942, -1236667547, function (d, e) { for (d = (d % e.length + e.length) % e.length; d--;)e.unshift(e.pop()) }, + -1374392791, 1658856574, 1372624749, -154550761, -1963081034, -2012078360, -1862698684, function (d, e) { d = (d % e.length + e.length) % e.length; e.splice(-d).reverse().forEach(function (f) { e.unshift(f) }) }, + 227959215, null, -1504969217, -1909248399, 260999742, function () { for (var d = 64, e = []; ++d - e.length - 32;)switch (d) { case 58: d = 96; continue; case 91: d = 44; break; case 65: d = 47; continue; case 46: d = 153; case 123: d -= 58; default: e.push(String.fromCharCode(d)) }return e }, + -1276699203, -313098115, b, function (d) { d.reverse() }]; + c[9] = c; c[21] = c; c[70] = c; try { + try { c[12] > -8 && (0, c[56])(c[14], c[37]), (0, c[78])(c[34]), (0, c[5])(c[72], c[77]), (0, c[5])(c[59], c[70]) } catch (d) { } try { + c[27] != -5 && (c[0] == 7 && ((0, c[5])(c[36], c[77]), 1) || (0, c[68])(c[27], c[23])), c[52] < new Date("1970-01-01T08:59:59.000+09:00") / 1E3 && (c[17] === Math.pow(8, 4) - -14238 - 18332 && ((0, c[57])((0, c[new Date("1969-12-31T15:00:57.000-09:00") / 1E3])((0, c[57])((0, c[45])((0, c[74])(), c[23], c[35]), c[20], c[77]), c[5], c[22], c[9]), c[5], c[24], c[23]) | (0, c[5])(c[47], c[14]), "NaN") || (0, c[25])((0, c[20])(c[9]), + c[22], (0, c[new Date("1970-01-01T09:45:21.000+09:45") / 1E3])((0, c[22])(c[64], c[72]) | (0, c[18])(c[63], c[57]), c[14], c[13]), c[65], c[44])), (c[62] < -7 || ((0, c[22])(((0, c[49])(c[51], c[42]), c[49])(c[34], c[42]), c[33], c[19], c[67]), 0)) && (0, c[22])((0, c[22])((0, c[4])(c[65], c[15]), c[-920 + Math.pow(4, 2) + 937], c[new Date("1970-01-01T02:45:32.000+02:45") / 1E3], c[65]), c[4], c[78], c[56]), (c[34] === -15357 - -240 * Math.pow(4, 3) || ((0, c[58])((0, c[40])(c[9], c[61]), c[69], c[59], c[78]), 0)) && (0, c[58])((0, c[46])((0, c[50])(), c[23], c[52]), + c[5], c[16], c[78]), (c[41] !== 7 || ((((0, c[49])(c[46], (0, c[5])(c[65], c[23]), (0, c[5])(c[35], c[14]), (0, c[5])(c[43], c[71]), (0, c[8])(), c[14], c[52]), c[5])(c[42], c[23]), c[61])(c[8855 + Math.pow(1, 3) - 8792], c[21]), void 0)) && ((((0, c[4])(c[21], c[12]), c[80])(c[63], c[21]), ((0, c[40])(c[4], c[49]), c[3])(c[6]), c[64])(c[36], c[54]), c[65])(c[7]) + } catch (d) { + (0, c[36])((0, c[37])(c[4], c[58]), c[48], (0, c[5])(), c[80], c[42]), (0, c[new Date("1970-01-01T03:00:48.000+03:00") / 1E3])((0, c[-3754 + Math.pow(7, 2) * 77])(), c[71], c[42]), (0, c[9])(c[71], + c[12]), (0, c[8])(c[18], c[4]) + } try { + c[84 - Math.pow(1, 5) - 21] >= -4 && (0, c[69])((0, c[14])(c[77], c[4]), c[25], (0, c[47])(c[2], c[78]), c[Math.pow(7, 2) - 129 - -82]), (c[10] != -2 || ((0, c[34])((((0, c[61])(c[54], c[4]), (0, c[22])((0, c[5])(), c[6], c[28]), c[22])((0, c[51])(), c[6], c[28]), (0, c[22])((0, c[5])(), c[71], c[28]), c[22])((0, c[26])(), c[54], c[28]) ^ (0, c[55])(c[78]), c[55], c[6]), NaN)) && (((0, c[1])((0, c[62])(c[38], c[54]), c[16], (0, c[34])((0, c[new Date("1970-01-01T02:30:33.000+02:30") / 1E3])(c[new Date("1970-01-01T06:00:47.000+06:00") / + 1E3], c[76]), c[56], c[59], c[66]), c[54], c[71]), c[65])(c[35]), c[59])((0, c[60])(c[39], c[76]), c[60], c[39], c[new Date("1970-01-01T02:46:13.000+02:45") / 1E3]) + } catch (d) { (0, c[71])((0, c[28])(), c[6], c[65]), (0, c[60])(c[22], c[33]) } finally { c[54] !== -9 && ((0, c[32])(c[22], c[70]), c[68])(c[60], (0, c[38])(c[27]), (0, c[49])(c[75], c[56]), (0, c[21])(c[42], c[77]), c[75], c[55]) } try { + c[34] != new Date("1969-12-31T21:29:50.000-02:30") / 1E3 && (c[19] > 2 && ((0, c[-42 * Math.pow(6, 4) - -54453])(c[54], c[79]), (0, c[21])(c[42], c[63]), 1) || ((0, c[49])(c[Math.pow(3, + 2) + 116 - 50], c[68]), c[50])(c[9], c[35])) + } catch (d) { (0, c[50])(c[76], c[75]) } try { c[58] !== new Date("1970-01-01T09:44:57.000+09:45") / 1E3 && ((0, c[50])(c[78], c[42]), []) || (0, c[10])((0, c[53])(), c[75], c[16]), (c[81] != -8 || ((0, c[22])((0, c[22])((0, c[50])(c[36], c[59]), c[50], c[41], c[36504 + Math.pow(3, 4) - 36510]), c[10], (0, c[53])(), c[42], c[16]) & (0, c[43])(c[66]), "")) && ((((0, c[10])((0, c[53])(), c[75], c[16]), c[49])(c[75], c[38]), c[49])(c[75], c[18]), c[21])(c[59], c[31]) } catch (d) { + ((0, c[10])((0, c[53])(), c[59], c[16]), c[10])((0, c[14])(), + c[75], c[16]) + } + } catch (d) { return "enhanced_except_35sBoOT-_w8_" + a } return Array.prototype.join.call(b, ("", "")) + }; + g.Mq = function (a) { this.name = a }; + Ema = function (a) { this.sb = Zf(a) }; + Nq = function (a) { this.sb = Zf(a) }; + Oq = function (a) { this.sb = Zf(a) }; + Fma = function (a) { this.sb = Zf(a) }; + Pq = function (a) { this.sb = Zf(a) }; + Qq = function (a) { this.sb = Zf(a) }; + Rq = function (a) { this.sb = Zf(a) }; + Sq = function (a) { this.sb = Zf(a) }; + Tq = function (a) { this.sb = Zf(a) }; + Uq = function (a) { this.sb = Zf(a) }; + Vq = function (a) { this.sb = Zf(a) }; + Wq = function (a) { this.sb = Zf(a) }; + Xq = function (a) { this.sb = Zf(a) }; + Yq = function (a) { this.sb = Zf(a) }; + Zq = function (a) { this.sb = Zf(a) }; + $q = function (a) { this.sb = Zf(a) }; + ar = function (a) { this.sb = Zf(a) }; + br = function (a) { this.sb = Zf(a) }; + cr = function (a) { this.sb = Zf(a) }; + dr = function (a) { this.sb = Zf(a) }; + er = function (a) { this.sb = Zf(a) }; + fr = function (a) { this.sb = Zf(a) }; + gr = function (a) { this.sb = Zf(a) }; + hr = function (a) { this.sb = Zf(a) }; + ir = function (a) { this.sb = Zf(a, 497) }; + jr = function (a) { this.sb = Zf(a) }; + kr = function (a) { this.sb = Zf(a) }; + Gma = function (a) { this.sb = Zf(a) }; + Hma = function () { return g.La("yt.ads.biscotti.lastId_") || "" }; + Ima = function (a) { g.Ka("yt.ads.biscotti.lastId_", a) }; + or = function () { var a = arguments; a.length > 1 ? nr[a[0]] = a[1] : a.length === 1 && Object.assign(nr, a[0]) }; + g.pr = function (a, b) { return a in nr ? nr[a] : b }; + qr = function (a) { var b = nr.EXPERIMENT_FLAGS; return b ? b[a] : void 0 }; + Jma = function (a) { rr.forEach(function (b) { return b(a) }) }; + g.tr = function (a) { return a && window.yterr ? function () { try { return a.apply(this, arguments) } catch (b) { g.sr(b) } } : a }; + g.sr = function (a) { var b = g.La("yt.logging.errors.log"); b ? b(a, "ERROR", void 0, void 0, void 0, void 0, void 0) : (b = g.pr("ERRORS", []), b.push([a, "ERROR", void 0, void 0, void 0, void 0, void 0]), or("ERRORS", b)); Jma(a) }; + ur = function (a, b, c, d, e) { var f = g.La("yt.logging.errors.log"); f ? f(a, "WARNING", b, c, d, void 0, e) : (f = g.pr("ERRORS", []), f.push([a, "WARNING", b, c, d, void 0, e]), or("ERRORS", f)) }; + vr = function (a, b) { b = a.split(b); for (var c = {}, d = 0, e = b.length; d < e; d++) { var f = b[d].split("="); if (f.length === 1 && f[0] || f.length === 2) try { var h = Kma(f[0] || ""), l = Kma(f[1] || ""); if (h in c) { var m = c[h]; Array.isArray(m) ? g.Ub(m, l) : c[h] = [m, l] } else c[h] = l } catch (r) { var n = r, p = f[0], q = String(vr); n.args = [{ key: p, value: f[1], query: a, method: Lma === q ? "unchanged" : q }]; Mma.hasOwnProperty(p) || ur(n) } } return c }; + wr = function (a) { + var b = []; g.qc(a, function (c, d) { var e = g.Rd(d); g.cc(Array.isArray(c) ? c : [c], function (f) { f == "" ? b.push(e) : b.push(e + "=" + g.Rd(f)) }) }); + return b.join("&") + }; + xr = function (a) { a.charAt(0) === "?" && (a = a.substring(1)); return vr(a, "&") }; + yr = function (a) { return a.split(",").map(function (b) { return xr(b) }) }; + g.zr = function (a) { return a.indexOf("?") !== -1 ? (a = (a || "").split("#")[0], a = a.split("?", 2), xr(a.length > 1 ? a[1] : a[0])) : {} }; + g.Ar = function (a, b) { return Nma(a, b || {}, !0) }; + Br = function (a, b) { return Nma(a, b || {}, !1) }; + Nma = function (a, b, c) { var d = a.split("#", 2); a = d[0]; d = d.length > 1 ? "#" + d[1] : ""; var e = a.split("?", 2); a = e[0]; e = xr(e[1] || ""); for (var f in b) if (c || !g.yc(e, f)) e[f] = b[f]; return g.Ti(a, e) + d }; + Cr = function (a) { if (!b) var b = window.location.href; var c = g.Mi(1, a), d = g.Ni(a); c && d ? (a = a.match(Li), b = b.match(Li), a = a[3] == b[3] && a[1] == b[1] && a[4] == b[4]) : a = d ? g.Ni(b) === d && (Number(g.Mi(4, b)) || null) === (Number(g.Mi(4, a)) || null) : !0; return a }; + Dr = function (a) { a || (a = document.location.href); a = g.Mi(1, a); return a !== null && a === "https" }; + Er = function (a) { a = Oma(a); return a === null ? !1 : a[0] === "com" && a[1].match(/^youtube(?:kids|-nocookie)?$/) ? !0 : !1 }; + Pma = function (a) { a = Oma(a); return a === null ? !1 : a[1] === "google" ? !0 : a[2] === "google" ? a[0] === "au" && a[1] === "com" ? !0 : a[0] === "uk" && a[1] === "co" ? !0 : !1 : !1 }; + Oma = function (a) { a = g.Ni(a); return a !== null ? a.split(".").reverse() : null }; + Kma = function (a) { return a && a.match(Qma) ? a : Sd(a) }; + Hr = function (a) { + var b = Fr; a = a === void 0 ? Hma() : a; var c = Object, d = c.assign, e = Gr(b); var f = b.j; try { var h = f.screenX; var l = f.screenY } catch (D) { } try { var m = f.outerWidth; var n = f.outerHeight } catch (D) { } try { var p = f.innerWidth; var q = f.innerHeight } catch (D) { } try { var r = f.screenLeft; var t = f.screenTop } catch (D) { } try { p = f.innerWidth, q = f.innerHeight } catch (D) { } try { var u = f.screen.availWidth; var y = f.screen.availTop } catch (D) { } f = [r, t, h, l, u, y, m, n, p, q]; h = Aia(!1, b.j.top); l = {}; var A = A === void 0 ? g.Ja : A; m = new $o; "SVGElement" in A && "createElementNS" in + A.document && m.set(0); n = Mha(); n["allow-top-navigation-by-user-activation"] && m.set(1); n["allow-popups-to-escape-sandbox"] && m.set(2); A.crypto && A.crypto.subtle && m.set(3); "TextDecoder" in A && "TextEncoder" in A && m.set(4); A = tla(m); b = (l.bc = A, l.bih = h.height, l.biw = h.width, l.brdim = f.join(), l.vis = rl(b.B), l.wgl = !!ol.WebGLRenderingContext, l); c = d.call(c, e, b); c.ca_type = "image"; a && (c.bid = a); return c + }; + Gr = function (a) { + var b = {}; b.dt = Rma; b.flash = "0"; a: { try { var c = a.j.top.location.href } catch (p) { a = 2; break a } a = c ? c === a.B.location.href ? 0 : 1 : 2 } b = (b.frm = a, b); try { + b.u_tz = -(new Date).getTimezoneOffset(); var d = d === void 0 ? ol : d; try { var e = d.history.length } catch (p) { e = 0 } b.u_his = e; var f; b.u_h = (f = ol.screen) == null ? void 0 : f.height; var h; b.u_w = (h = ol.screen) == null ? void 0 : h.width; var l; b.u_ah = (l = ol.screen) == null ? void 0 : l.availHeight; var m; b.u_aw = (m = ol.screen) == null ? void 0 : m.availWidth; var n; b.u_cd = (n = ol.screen) == null ? void 0 : + n.colorDepth + } catch (p) { } return b + }; + Tma = function () { if (!Sma) return null; var a = Sma(); return "open" in a ? a : null }; + g.Jr = function (a) { switch (Ir(a)) { case 200: case 201: case 202: case 203: case 204: case 205: case 206: case 304: return !0; default: return !1 } }; + Ir = function (a) { return a && "status" in a ? a.status : -1 }; + g.Kr = function (a, b) { typeof a === "function" && (a = g.tr(a)); return window.setTimeout(a, b) }; + g.Lr = function (a, b) { typeof a === "function" && (a = g.tr(a)); return window.setInterval(a, b) }; + g.Mr = function (a) { window.clearTimeout(a) }; + g.Nr = function (a) { window.clearInterval(a) }; + g.Pr = function (a) { a = Or(a); return typeof a === "string" && a === "false" ? !1 : !!a }; + g.Qr = function (a, b) { a = Or(a); return a === void 0 && b !== void 0 ? b : Number(a || 0) }; + Rr = function () { return g.pr("EXPERIMENTS_TOKEN", "") }; + Or = function (a) { return g.pr("EXPERIMENT_FLAGS", {})[a] }; + Sr = function () { for (var a = [], b = g.pr("EXPERIMENTS_FORCED_FLAGS", {}), c = g.w(Object.keys(b)), d = c.next(); !d.done; d = c.next())d = d.value, a.push({ key: d, value: String(b[d]) }); c = g.pr("EXPERIMENT_FLAGS", {}); d = g.w(Object.keys(c)); for (var e = d.next(); !e.done; e = d.next())e = e.value, e.startsWith("force_") && b[e] === void 0 && a.push({ key: e, value: String(c[e]) }); return a }; + Tr = function (a, b, c, d, e, f, h, l) { + function m() { (n && "readyState" in n ? n.readyState : 0) === 4 && b && g.tr(b)(n) } + c = c === void 0 ? "GET" : c; d = d === void 0 ? "" : d; l = l === void 0 ? !1 : l; var n = Tma(); if (!n) return null; "onloadend" in n ? n.addEventListener("loadend", m, !1) : n.onreadystatechange = m; g.Pr("debug_forward_web_query_parameters") && (a = Uma(a, window.location.search)); n.open(c, a, !0); f && (n.responseType = f); h && (n.withCredentials = !0); c = c === "POST" && (window.FormData === void 0 || !(d instanceof FormData)); if (e = Vma(a, e)) for (var p in e) n.setRequestHeader(p, e[p]), "content-type" === p.toLowerCase() && (c = !1); c && n.setRequestHeader("Content-Type", + "application/x-www-form-urlencoded"); if (l && "setAttributionReporting" in XMLHttpRequest.prototype) { a = { eventSourceEligible: !0, triggerEligible: !1 }; try { n.setAttributionReporting(a) } catch (q) { ur(q) } } n.send(d); return n + }; + Vma = function (a, b) { + b = b === void 0 ? {} : b; var c = Cr(a), d = g.pr("INNERTUBE_CLIENT_NAME"), e = g.Pr("web_ajax_ignore_global_headers_if_set"), f; for (f in Wma) { + var h = g.pr(Wma[f]), l = f === "X-Goog-AuthUser" || f === "X-Goog-PageId"; f !== "X-Goog-Visitor-Id" || h || (h = g.pr("VISITOR_DATA")); var m; if (!(m = !h)) { + if (!(m = c || (g.Ni(a) ? !1 : !0))) { + m = a; var n; if (n = g.Pr("add_auth_headers_to_remarketing_google_dot_com_ping") && f === "Authorization" && (d === "TVHTML5" || d === "TVHTML5_UNPLUGGED" || d === "TVHTML5_SIMPLY") && Pma(m)) m = Ki(g.Mi(5, m)) || "", m = m.split("/"), + m = "/" + (m.length > 1 ? m[1] : ""), n = m === "/pagead"; m = n ? !0 : !1 + } m = !m + } m || e && b[f] !== void 0 || d === "TVHTML5_UNPLUGGED" && l || (b[f] = h) + } "X-Goog-EOM-Visitor-Id" in b && "X-Goog-Visitor-Id" in b && delete b["X-Goog-Visitor-Id"]; if (c || !g.Ni(a)) b["X-YouTube-Utc-Offset"] = String(-(new Date).getTimezoneOffset()); if (c || !g.Ni(a)) { try { var p = (new Intl.DateTimeFormat).resolvedOptions().timeZone } catch (q) { } p && (b["X-YouTube-Time-Zone"] = p) } document.location.hostname.endsWith("youtubeeducation.com") || !c && g.Ni(a) || (b["X-YouTube-Ad-Signals"] = + wr(Hr())); return b + }; + Yma = function (a, b) { + var c = g.Ni(a); g.Pr("debug_handle_relative_url_for_query_forward_killswitch") || !c && Cr(a) && (c = document.location.hostname); var d = Ki(g.Mi(5, a)); d = (c = c && (c.endsWith("youtube.com") || c.endsWith("youtube-nocookie.com"))) && d && d.startsWith("/api/"); if (!c || d) return a; var e = xr(b), f = {}; g.cc(Xma, function (h) { e[h] && (f[h] = e[h]) }); + return Br(a, f) + }; + Vr = function (a, b) { b.method = "POST"; b.postParams || (b.postParams = {}); return g.Ur(a, b) }; + g.Ur = function (a, b) { + var c = b.format || "JSON"; a = Zma(a, b); var d = $ma(a, b), e = !1, f = ana(a, function (m) { if (!e) { e = !0; l && g.Mr(l); var n = g.Jr(m), p = null, q = 400 <= m.status && m.status < 500, r = 500 <= m.status && m.status < 600; if (n || q || r) p = bna(a, c, m, b.convertToSafeHtml); n && (n = cna(c, m, p)); p = p || {}; q = b.context || g.Ja; n ? b.onSuccess && b.onSuccess.call(q, m, p) : b.onError && b.onError.call(q, m, p); b.onFinish && b.onFinish.call(q, m, p) } }, b.method, d, b.headers, b.responseType, b.withCredentials); + d = b.timeout || 0; if (b.onTimeout && d > 0) { var h = b.onTimeout; var l = g.Kr(function () { e || (e = !0, f.abort(), g.Mr(l), h.call(b.context || g.Ja, f)) }, d) } return f + }; + Zma = function (a, b) { b.includeDomain && (a = document.location.protocol + "//" + document.location.hostname + (document.location.port ? ":" + document.location.port : "") + a); var c = g.pr("XSRF_FIELD_NAME"); if (b = b.urlParams) b[c] && delete b[c], a = g.Ar(a, b); return a }; + $ma = function (a, b) { + var c = g.pr("XSRF_FIELD_NAME"), d = g.pr("XSRF_TOKEN"), e = b.postBody || "", f = b.postParams, h = g.pr("XSRF_FIELD_NAME"), l; b.headers && (l = b.headers["Content-Type"]); b.excludeXsrf || g.Ni(a) && !b.withCredentials && g.Ni(a) !== document.location.hostname || b.method !== "POST" || l && l !== "application/x-www-form-urlencoded" || b.postParams && b.postParams[h] || (f || (f = {}), f[c] = d); (g.Pr("ajax_parse_query_data_only_when_filled") && f && Object.keys(f).length > 0 || f) && typeof e === "string" && (e = xr(e), g.Hc(e, f), e = b.postBodyFormat && + b.postBodyFormat === "JSON" ? JSON.stringify(e) : g.Si(e)); f = e || f && !g.Bc(f); !dna && f && b.method !== "POST" && (dna = !0, g.sr(Error("AJAX request with postData should use POST"))); return e + }; + bna = function (a, b, c, d) { + var e = null; switch (b) { case "JSON": try { var f = c.responseText } catch (h) { throw d = Error("Error reading responseText"), d.params = a, ur(d), h; } a = c.getResponseHeader("Content-Type") || ""; f && a.indexOf("json") >= 0 && (f.substring(0, 5) === ")]}'\n" && (f = f.substring(5)), e = JSON.parse(f)); break; case "XML": if (a = (a = c.responseXML) ? ena(a) : null) e = {}, g.cc(a.getElementsByTagName("*"), function (h) { e[h.tagName] = fna(h) }) }d && gna(e); + return e + }; + gna = function (a) { if (g.Qa(a)) for (var b in a) b === "html_content" || raa(b, "_html") ? a[b] = xd(a[b]) : gna(a[b]) }; + cna = function (a, b, c) { if (b && b.status === 204) return !0; switch (a) { case "JSON": return !!c; case "XML": return Number(c && c.return_code) === 0; case "RAW": return !0; default: return !!c } }; + ena = function (a) { return a ? (a = ("responseXML" in a ? a.responseXML : a).getElementsByTagName("root")) && a.length > 0 ? a[0] : null : null }; + fna = function (a) { + var b = ""; g.cc(a.childNodes, function (c) { b += c.nodeValue }); + return b + }; + Xr = function (a, b) { + var c = g.Fc(b), d; return (new g.Fe(function (e, f) { + c.onSuccess = function (h) { g.Jr(h) ? e(new hna(h)) : f(new Wr("Request failed, status=" + Ir(h), "net.badstatus", h)) }; + c.onError = function (h) { f(new Wr("Unknown request error", "net.unknown", h)) }; + c.onTimeout = function (h) { f(new Wr("Request timed out", "net.timeout", h)) }; + d = g.Ur(a, c) + })).Wk(function (e) { + if (e instanceof Le) { + var f; + (f = d) == null || f.abort() + } return Ie(e) + }) + }; + g.Yr = function (a, b, c, d) { + function e(l, m, n) { return l.Wk(function (p) { if (m <= 0 || Ir(p.xhr) === 403) return Ie(new Wr("Request retried too many times", "net.retryexhausted", p.xhr, p)); p = Math.pow(2, c - m + 1) * n; var q = h > 0 ? Math.min(h, p) : p; return f(n).then(function () { return e(Xr(a, b), m - 1, q) }) }) } + function f(l) { return new g.Fe(function (m) { setTimeout(m, l) }) } + var h = h === void 0 ? -1 : h; return e(Xr(a, b), c - 1, d) + }; + Wr = function (a, b, c) { ib.call(this, a + ", errorCode=" + b); this.errorCode = b; this.xhr = c; this.name = "PromiseAjaxError" }; + hna = function (a) { this.xhr = a }; + Zr = function (a) { this.j = a === void 0 ? null : a; this.C = 0; this.B = null }; + $r = function (a) { var b = new Zr; a = a === void 0 ? null : a; b.C = 2; b.B = a === void 0 ? null : a; return b }; + as = function (a) { var b = new Zr; a = a === void 0 ? null : a; b.C = 1; b.B = a === void 0 ? null : a; return b }; + g.ds = function (a, b, c, d, e) { bs || cs.set("" + a, b, { iG: c, path: "/", domain: d === void 0 ? "youtube.com" : d, secure: e === void 0 ? !1 : e }) }; + g.es = function (a, b) { if (!bs) return cs.get("" + a, b) }; + g.fs = function (a, b, c) { bs || cs.remove("" + a, b === void 0 ? "/" : b, c === void 0 ? "youtube.com" : c) }; + ina = function () { if (g.Pr("embeds_web_enable_cookie_detection_fix")) { if (!g.Ja.navigator.cookieEnabled) return !1 } else if (!cs.isEnabled()) return !1; if (!cs.isEmpty()) return !0; g.Pr("embeds_web_enable_cookie_detection_fix") ? cs.set("TESTCOOKIESENABLED", "1", { iG: 60, Oda: "none", secure: !0 }) : cs.set("TESTCOOKIESENABLED", "1", { iG: 60 }); if (cs.get("TESTCOOKIESENABLED") !== "1") return !1; cs.remove("TESTCOOKIESENABLED"); return !0 }; + g.R = function (a, b) { if (a) return a[b.name] }; + gs = function (a) { var b = g.pr("INNERTUBE_HOST_OVERRIDE"); b && (a = String(b) + String(Oi(a))); return a }; + jna = function (a, b) { var c = {}; g.Pr("web_api_key_killswitch") && (g.pr("INNERTUBE_OMIT_API_KEY_WHEN_AUTH_HEADER_IS_PRESENT") && (b == null ? 0 : b.Authorization) || (c.key = g.pr("INNERTUBE_API_KEY"))); g.Pr("json_condensed_response") && (c.prettyPrint = "false"); return a = Br(a, c) }; + hs = function (a, b) { var c = c === void 0 ? {} : c; a = { method: b === void 0 ? "POST" : b, mode: Cr(a) ? "same-origin" : "cors", credentials: Cr(a) ? "same-origin" : "include" }; b = {}; for (var d = g.w(Object.keys(c)), e = d.next(); !e.done; e = d.next())e = e.value, c[e] && (b[e] = c[e]); Object.keys(b).length > 0 && (a.headers = b); return a }; + kna = function () { var a = /Chrome\/(\d+)/.exec(g.wb()); return a ? parseFloat(a[1]) : NaN }; + js = function () { return g.is("android") && g.is("chrome") && !(g.is("trident/") || g.is("edge/")) && !g.is("cobalt") }; + lna = function () { return g.is("armv7") || g.is("aarch64") || g.is("android") }; + g.ks = function () { return g.is("cobalt") }; + ls = function () { return g.is("cobalt") && g.is("appletv") }; + ms = function () { return g.is("(ps3; leanback shell)") || g.is("ps3") && g.ks() }; + ns = function () { return g.is("(ps4; leanback shell)") || g.is("ps4") && g.ks() }; + g.mna = function () { return g.ks() && (g.is("ps4 vr") || g.is("ps4 pro vr")) }; + os = function () { var a = /WebKit\/([0-9]+)/.exec(g.wb()); return !!(a && parseInt(a[1], 10) >= 600) }; + ps = function () { var a = /WebKit\/([0-9]+)/.exec(g.wb()); return !!(a && parseInt(a[1], 10) >= 602) }; + nna = function () { return g.is("iemobile") || g.is("windows phone") && g.is("edge") }; + ts = function () { return (qs || rs) && g.is("applewebkit") && !g.is("version") && (!g.is("safari") || g.is("gsa/")) }; + vs = function () { return g.us && g.is("version/") }; + ws = function () { return g.is("smart-tv") && g.is("samsung") }; + g.is = function (a) { var b = g.wb(); return b ? b.toLowerCase().indexOf(a) >= 0 : !1 }; + xs = function () { return rfa() || ts() || vs() ? !0 : g.pr("EOM_VISITOR_DATA") ? !1 : !0 }; + ys = function (a, b) { return b === void 0 || b === null ? a : b === "1" || b === !0 || b === 1 || b === "True" ? !0 : !1 }; + zs = function (a, b, c) { for (var d in c) if (c[d] == b) return c[d]; return a }; + As = function (a, b) { return b === void 0 || b === null ? a : Number(b) }; + Bs = function (a, b) { return b === void 0 || b === null ? a : b.toString() }; + Cs = function (a, b) { if (b) { if (a === "fullwidth") return Infinity; if (a === "fullheight") return 0 } return a && (b = a.match(ona)) && (a = Number(b[2]), b = Number(b[1]), !isNaN(a) && !isNaN(b) && a > 0) ? b / a : NaN }; + Ds = function (a) { var b = a.docid || a.video_id || a.videoId || a.id; if (b) return b; b = a.raw_player_response; b || (a = a.player_response) && (b = JSON.parse(a)); return b && b.videoDetails && b.videoDetails.videoId || null }; + pna = function (a) { return Es(a, !1) === "EMBEDDED_PLAYER_MODE_PFL" }; + g.Fs = function (a) { return a === "EMBEDDED_PLAYER_LITE_MODE_FIXED_PLAYBACK_LIMIT" || a === "EMBEDDED_PLAYER_LITE_MODE_DYNAMIC_PLAYBACK_LIMIT" ? !0 : !1 }; + Es = function (a, b) { b = (b === void 0 ? 0 : b) ? "EMBEDDED_PLAYER_MODE_DEFAULT" : "EMBEDDED_PLAYER_MODE_UNKNOWN"; window.location.hostname.includes("youtubeeducation.com") && (b = "EMBEDDED_PLAYER_MODE_PFL"); var c = a.raw_embedded_player_response; if (!c && (a = a.embedded_player_response)) try { c = JSON.parse(a) } catch (d) { return b } return c ? zs(b, c.embeddedPlayerMode, qna) : b }; + Hs = function (a) { ib.call(this, a.message || a.description || a.name); this.isMissing = a instanceof Gs; this.isTimeout = a instanceof Wr && a.errorCode == "net.timeout"; this.isCanceled = a instanceof Le }; + Gs = function () { ib.call(this, "Biscotti ID is missing from server") }; + rna = function () { if (g.Pr("disable_biscotti_fetch_entirely_for_all_web_clients")) return Error("Biscotti id fetching has been disabled entirely."); if (!xs()) return Error("User has not consented - not fetching biscotti id."); var a = g.pr("PLAYER_VARS", {}); if (g.Cc(a, "privembed", !1) == "1") return Error("Biscotti ID is not available in private embed mode"); if (pna(a)) return Error("Biscotti id fetching has been disabled for pfl.") }; + vna = function () { + var a = rna(); if (a !== void 0) return Ie(a); Is || (Is = Xr("//googleads.g.doubleclick.net/pagead/id", sna).then(tna).Wk(function (b) { return una(2, b) })); + return Is + }; + tna = function (a) { a = a.xhr.responseText; if (!nb(a, ")]}'")) throw new Gs; a = JSON.parse(a.substr(4)); if ((a.type || 1) > 1) throw new Gs; a = a.id; Ima(a); Is = as(a); wna(18E5, 2); return a }; + una = function (a, b) { b = new Hs(b); Ima(""); Is = $r(b); a > 0 && wna(12E4, a - 1); throw b; }; + wna = function (a, b) { g.Kr(function () { Xr("//googleads.g.doubleclick.net/pagead/id", sna).then(tna, function (c) { return una(b, c) }).Wk(g.Zc) }, a) }; + xna = function () { try { var a = g.La("yt.ads.biscotti.getId_"); return a ? a() : vna() } catch (b) { return Ie(b) } }; + zna = function (a) { a && (a.dataset ? a.dataset[yna()] = "true" : Kba(a)) }; + Ana = function (a) { return a ? a.dataset ? a.dataset[yna()] : a.getAttribute("data-loaded") : null }; + yna = function () { return Bna.loaded || (Bna.loaded = "loaded".replace(/\-([a-z])/g, function (a, b) { return b.toUpperCase() })) }; + Cna = function () { var a = document; if ("visibilityState" in a) return a.visibilityState; var b = Js + "VisibilityState"; if (b in a) return a[b] }; + Ks = function (a, b) { + var c; Em(a, function (d) { c = b[d]; return !!c }); + return c + }; + Ls = function (a) { if (a.requestFullscreen) a = a.requestFullscreen(void 0); else if (a.webkitRequestFullscreen) a = a.webkitRequestFullscreen(); else if (a.mozRequestFullScreen) a = a.mozRequestFullScreen(); else if (a.msRequestFullscreen) a = a.msRequestFullscreen(); else if (a.webkitEnterFullscreen) a = a.webkitEnterFullscreen(); else return Promise.reject(Error("Fullscreen API unavailable")); return a instanceof Promise ? a : Promise.resolve() }; + Os = function (a) { var b; g.Ms() ? Ns() == a && (b = document) : b = a; return b && (a = Ks(["exitFullscreen", "webkitExitFullscreen", "mozCancelFullScreen", "msExitFullscreen"], b)) ? (b = a.call(b), b instanceof Promise ? b : Promise.resolve()) : Promise.resolve() }; + Dna = function (a) { return g.Kb(["fullscreenchange", "webkitfullscreenchange", "mozfullscreenchange", "MSFullscreenChange"], function (b) { return "on" + b.toLowerCase() in a }) }; + Ena = function () { var a = document; return g.Kb(["fullscreenerror", "webkitfullscreenerror", "mozfullscreenerror", "MSFullscreenError"], function (b) { return "on" + b.toLowerCase() in a }) }; + g.Ms = function () { return !!Ks(["fullscreenEnabled", "webkitFullscreenEnabled", "mozFullScreenEnabled", "msFullscreenEnabled"], document) }; + Ns = function (a) { a = a === void 0 ? !1 : a; var b = Ks(["fullscreenElement", "webkitFullscreenElement", "mozFullScreenElement", "msFullscreenElement"], document); if (a) for (; b && b.shadowRoot;)b = b.shadowRoot.fullscreenElement; return b ? b : null }; + Ps = function (a) { + this.type = ""; this.state = this.source = this.data = this.currentTarget = this.relatedTarget = this.target = null; this.charCode = this.keyCode = 0; this.metaKey = this.shiftKey = this.ctrlKey = this.altKey = !1; this.rotation = this.clientY = this.clientX = 0; this.scale = 1; this.changedTouches = this.touches = null; try { + if (a = a || window.event) { + this.event = a; for (var b in a) b in Fna || (this[b] = a[b]); this.scale = a.scale; this.rotation = a.rotation; var c = a.target || a.srcElement; c && c.nodeType == 3 && (c = c.parentNode); this.target = c; var d = a.relatedTarget; + if (d) try { d = d.nodeName ? d : null } catch (e) { d = null } else this.type == "mouseover" ? d = a.fromElement : this.type == "mouseout" && (d = a.toElement); this.relatedTarget = d; this.clientX = a.clientX != void 0 ? a.clientX : a.pageX; this.clientY = a.clientY != void 0 ? a.clientY : a.pageY; this.keyCode = a.keyCode ? a.keyCode : a.which; this.charCode = a.charCode || (this.type == "keypress" ? this.keyCode : 0); this.altKey = a.altKey; this.ctrlKey = a.ctrlKey; this.shiftKey = a.shiftKey; this.metaKey = a.metaKey; this.j = a.pageX; this.B = a.pageY + } + } catch (e) { } + }; + Gna = function (a) { if (document.body && document.documentElement) { var b = document.body.scrollTop + document.documentElement.scrollTop; a.j = a.clientX + (document.body.scrollLeft + document.documentElement.scrollLeft); a.B = a.clientY + b } }; + Hna = function (a, b, c, d) { d = d === void 0 ? {} : d; a.addEventListener && (b != "mouseenter" || "onmouseenter" in document ? b != "mouseleave" || "onmouseenter" in document ? b == "mousewheel" && "MozBoxSizing" in document.documentElement.style && (b = "MozMousePixelScroll") : b = "mouseout" : b = "mouseover"); return Ac(Qs, function (e) { var f = typeof e[4] === "boolean" && e[4] == !!d, h = g.Qa(e[4]) && g.Qa(d) && g.Ec(e[4], d); return !!e.length && e[0] == a && e[1] == b && e[2] == c && (f || h) }) }; + g.Rs = function (a, b, c, d) { + d = d === void 0 ? {} : d; if (!a || !a.addEventListener && !a.attachEvent) return ""; var e = Hna(a, b, c, d); if (e) return e; e = ++Ina.count + ""; var f = !(b != "mouseenter" && b != "mouseleave" || !a.addEventListener || "onmouseenter" in document); var h = f ? function (l) { l = new Ps(l); if (!se(l.relatedTarget, function (m) { return m == a }, !0)) return l.currentTarget = a, l.type = b, c.call(a, l) } : function (l) { + l = new Ps(l); + l.currentTarget = a; return c.call(a, l) + }; + h = g.tr(h); a.addEventListener ? (b == "mouseenter" && f ? b = "mouseover" : b == "mouseleave" && f ? b = "mouseout" : b == "mousewheel" && "MozBoxSizing" in document.documentElement.style && (b = "MozMousePixelScroll"), Jna() || typeof d === "boolean" ? a.addEventListener(b, h, d) : a.addEventListener(b, h, !!d.capture)) : a.attachEvent("on" + b, h); Qs[e] = [a, b, c, h, d]; return e + }; + Lna = function (a) { return Kna(a, function (b) { return g.mp(b, "ytp-ad-has-logging-urls") }) }; + Kna = function (a, b) { + var c = document.body || document; return g.Rs(c, "click", function (d) { + var e = se(d.target, function (f) { return f === c || b(f) }, !0); + e && e !== c && !e.disabled && (d.currentTarget = e, a.call(e, d)) + }) + }; + g.Ss = function (a) { a && (typeof a == "string" && (a = [a]), g.cc(a, function (b) { if (b in Qs) { var c = Qs[b], d = c[0], e = c[1], f = c[3]; c = c[4]; d.removeEventListener ? Jna() || typeof c === "boolean" ? d.removeEventListener(e, f, c) : d.removeEventListener(e, f, !!c.capture) : d.detachEvent && d.detachEvent("on" + e, f); delete Qs[b] } })) }; + Ts = function (a) { for (var b in Qs) Qs[b][0] == a && g.Ss(b) }; + Us = function (a) { a = a || window.event; var b; a.composedPath && typeof a.composedPath === "function" ? b = a.composedPath() : b = a.path; b && b.length ? a = b[0] : (a = a || window.event, a = a.target || a.srcElement, a.nodeType == 3 && (a = a.parentNode)); return a }; + Vs = function (a) { this.N = a; this.j = null; this.D = 0; this.K = null; this.G = 0; this.B = []; for (a = 0; a < 4; a++)this.B.push(0); this.C = 0; this.ra = g.Rs(window, "mousemove", (0, g.Ua)(this.Y, this)); this.Z = g.Lr((0, g.Ua)(this.qa, this), 25) }; + Ws = function (a) { g.O.call(this); this.N = []; this.ob = a || this }; + Xs = function (a, b, c, d) { for (var e = 0; e < c.length; e++)a.T(b, c[e], d) }; + g.Ys = function (a, b) { for (; a.N.length;) { var c = a.N.pop(), d = void 0; b && Mna() && (d = { passive: !0 }); c.target.removeEventListener(c.name, c.callback, d) } }; + Zs = function (a) { a = a || {}; var b = {}, c = {}; this.url = a.url || ""; this.args = a.args || g.Fc(b); this.assets = a.assets || {}; this.attrs = a.attrs || g.Fc(c); this.fallback = a.fallback || null; this.fallbackMessage = a.fallbackMessage || null; this.html5 = !!a.html5; this.disable = a.disable || {}; this.loaded = !!a.loaded; this.messages = a.messages || {} }; + Nna = function (a) { a instanceof Zs || (a = new Zs(a)); return a }; + g.bt = function (a, b, c) { var d = c && c > 0 ? c : 0; c = d ? Date.now() + d * 1E3 : 0; if ((d = d ? (0, g.$s)() : at()) && window.JSON) { typeof b !== "string" && (b = JSON.stringify(b, void 0)); try { d.set(a, b, c) } catch (e) { d.remove(a) } } }; + g.ct = function (a) { var b = at(), c = (0, g.$s)(); if (!b && !c || !window.JSON) return null; try { var d = b.get(a) } catch (e) { } if (typeof d !== "string") try { d = c.get(a) } catch (e) { } if (typeof d !== "string") return null; try { d = JSON.parse(d, void 0) } catch (e) { } return d }; + Ona = function () { var a = (0, g.$s)(); if (a && (a = a.B("yt-player-quality"))) return a.creation }; + g.dt = function (a) { try { var b = at(), c = (0, g.$s)(); b && b.remove(a); c && c.remove(a) } catch (d) { } }; + g.et = function () { return g.ct("yt-remote-session-screen-id") }; + Pna = function (a) { + var b = this; this.B = void 0; this.j = !1; a.addEventListener("beforeinstallprompt", function (c) { c.preventDefault(); b.B = c }); + a.addEventListener("appinstalled", function () { b.j = !0 }, { once: !0 }) + }; + ft = function () { if (!g.Ja.matchMedia) return "WEB_DISPLAY_MODE_UNKNOWN"; try { return g.Ja.matchMedia("(display-mode: standalone)").matches ? "WEB_DISPLAY_MODE_STANDALONE" : g.Ja.matchMedia("(display-mode: minimal-ui)").matches ? "WEB_DISPLAY_MODE_MINIMAL_UI" : g.Ja.matchMedia("(display-mode: fullscreen)").matches ? "WEB_DISPLAY_MODE_FULLSCREEN" : g.Ja.matchMedia("(display-mode: browser)").matches ? "WEB_DISPLAY_MODE_BROWSER" : "WEB_DISPLAY_MODE_UNKNOWN" } catch (a) { return "WEB_DISPLAY_MODE_UNKNOWN" } }; + gt = function () { this.L2 = !0 }; + Qna = function () { gt.instance || (gt.instance = new gt); return gt.instance }; + Rna = function (a) { switch (a) { case "DESKTOP": return 1; case "UNKNOWN_PLATFORM": return 0; case "TV": return 2; case "GAME_CONSOLE": return 3; case "MOBILE": return 4; case "TABLET": return 5 } }; + Sna = function () { this.j = g.pr("ALT_PREF_COOKIE_NAME", "PREF"); this.B = g.pr("ALT_PREF_COOKIE_DOMAIN", "youtube.com"); var a = g.es(this.j); a && this.parse(a) }; + g.it = function () { ht || (ht = new Sna); return ht }; + g.kt = function (a, b) { return !!((Tna("f" + (Math.floor(b / 31) + 1)) || 0) & 1 << b % 31) }; + mt = function (a, b) { var c = "f" + (Math.floor(a / 31) + 1); a = 1 << a % 31; var d = Tna(c) || 0; d = b ? d | a : d & ~a; d === 0 ? delete lt[c] : (b = d.toString(16), lt[c] = b.toString()) }; + nt = function (a) { if (/^f([1-9][0-9]*)$/.test(a)) throw Error("ExpectedRegexMatch: " + a); }; + ot = function (a) { if (!/^\w+$/.test(a)) throw Error("ExpectedRegexMismatch: " + a); }; + Tna = function (a) { a = lt[a] !== void 0 ? lt[a].toString() : null; return a != null && /^[A-Fa-f0-9]+$/.test(a) ? parseInt(a, 16) : null }; + Una = function () { var a = g.Ja.navigator; return a ? a.connection : void 0 }; + Wna = function () { var a = Una(); if (a) { var b = Vna[a.type || "unknown"] || "CONN_UNKNOWN"; a = Vna[a.effectiveType || "unknown"] || "CONN_UNKNOWN"; b === "CONN_CELLULAR_UNKNOWN" && a !== "CONN_UNKNOWN" && (b = a); if (b !== "CONN_UNKNOWN") return b; if (a !== "CONN_UNKNOWN") return a } }; + Yna = function () { var a = Una(); if (a != null && a.effectiveType) return Xna.hasOwnProperty(a.effectiveType) ? Xna[a.effectiveType] : "EFFECTIVE_CONNECTION_TYPE_UNKNOWN" }; + g.pt = function (a) { var b = g.Ca.apply(1, arguments); var c = Error.call(this, a); this.message = c.message; "stack" in c && (this.stack = c.stack); this.args = [].concat(g.x(b)) }; + g.rt = function () { try { return g.qt(), !0 } catch (a) { return !1 } }; + g.qt = function (a) { if (g.pr("DATASYNC_ID") !== void 0) return g.pr("DATASYNC_ID"); throw new g.pt("Datasync ID not set", a === void 0 ? "unknown" : a); }; + tt = function () { this.j = new WeakMap }; + g.vt = function (a, b, c) { return ut(b, 0, c) }; + Zna = function (a) { var b = g.La("yt.scheduler.instance.addImmediateJob"); b ? b(a) : a() }; + wt = function () { tt.apply(this, arguments) }; + g.xt = function () { wt.instance || (wt.instance = new wt); return wt.instance }; + g.zt = function () { return !!g.La("yt.scheduler.instance") }; + ut = function (a, b, c) { c !== void 0 && Number.isNaN(Number(c)) && (c = void 0); var d = g.La("yt.scheduler.instance.addJob"); return d ? d(a, b, c) : c === void 0 ? (a(), NaN) : g.Kr(a, c || 0) }; + At = function (a, b) { (a = g.La("yt.scheduler.instance.setPriorityThreshold")) && a(b) }; + Bt = function (a) { this.j = (a = g.Qp(a)) ? new Jp(a) : null; this.B = document.domain || window.location.hostname }; + Dt = function () { var a; return (a = Ct()) == null ? void 0 : a.get("LAST_RESULT_ENTRY_KEY", !0) }; + $na = function () { var a = {}; for (Et = new Ft(a.handleError === void 0 ? Gt : a.handleError, a.logEvent === void 0 ? g.Ht : a.logEvent); It.length > 0;)switch (a = It.shift(), a.type) { case "ERROR": Et.Kl(a.payload); break; case "EVENT": Et.logEvent(a.eventType, a.payload) } }; + Kt = function (a) { Jt || (Et ? Et.Kl(a) : (It.push({ type: "ERROR", payload: a }), It.length > 10 && It.shift())) }; + Lt = function (a, b) { Jt || (Et ? Et.logEvent(a, b) : (It.push({ type: "EVENT", eventType: a, payload: b }), It.length > 10 && It.shift())) }; + Mt = function (a) { if (a.indexOf(":") >= 0) throw Error("Database name cannot contain ':'"); }; + Nt = function (a) { return a.substr(0, a.indexOf(":")) || a }; + g.Ot = function (a, b, c, d, e) { b = b === void 0 ? {} : b; c = c === void 0 ? aoa[a] : c; d = d === void 0 ? boa[a] : d; e = e === void 0 ? coa[a] : e; g.pt.call(this, c, Object.assign({}, { name: "YtIdbKnownError", isSw: self.document === void 0, isIframe: self !== self.top, type: a }, b)); this.type = a; this.message = c; this.level = d; this.j = e; Object.setPrototypeOf(this, g.Ot.prototype) }; + Pt = function (a, b) { g.Ot.call(this, "MISSING_OBJECT_STORES", { expectedObjectStores: b, foundObjectStores: a }, aoa.MISSING_OBJECT_STORES); Object.setPrototypeOf(this, Pt.prototype) }; + Qt = function (a, b) { var c = Error.call(this); this.message = c.message; "stack" in c && (this.stack = c.stack); this.index = a; this.objectStore = b; Object.setPrototypeOf(this, Qt.prototype) }; + St = function (a, b, c, d) { + b = Nt(b); var e = a instanceof Error ? a : Error("Unexpected error: " + a); if (e instanceof g.Ot) return e; a = { objectStoreNames: c, dbName: b, dbVersion: d }; if (e.name === "QuotaExceededError") return new g.Ot("QUOTA_EXCEEDED", a); if (g.Rt && e.name === "UnknownError") return new g.Ot("QUOTA_MAYBE_EXCEEDED", a); if (e instanceof Qt) return new g.Ot("MISSING_INDEX", Object.assign({}, a, { objectStore: e.objectStore, index: e.index })); if (e.name === "InvalidStateError" && doa.some(function (f) { return e.message.includes(f) })) return new g.Ot("EXECUTE_TRANSACTION_ON_CLOSED_DB", + a); + if (e.name === "AbortError") return new g.Ot("UNKNOWN_ABORT", a, e.message); e.args = [Object.assign({}, a, { name: "IdbError", ML: e.name })]; e.level = "WARNING"; return e + }; + g.Tt = function (a, b, c) { var d = Dt(); return new g.Ot("IDB_NOT_SUPPORTED", { context: { caller: a, publicName: b, version: c, hasSucceededOnce: d == null ? void 0 : d.hasSucceededOnce } }) }; + eoa = function (a) { if (!a) throw Error(); throw a; }; + foa = function (a) { return a }; + Ut = function (a) { this.j = a }; + g.Vt = function (a) { + function b(e) { if (d.state.status === "PENDING") { d.state = { status: "REJECTED", reason: e }; e = g.w(d.B); for (var f = e.next(); !f.done; f = e.next())f = f.value, f() } } + function c(e) { if (d.state.status === "PENDING") { d.state = { status: "FULFILLED", value: e }; e = g.w(d.j); for (var f = e.next(); !f.done; f = e.next())f = f.value, f() } } + var d = this; this.state = { status: "PENDING" }; this.j = []; this.B = []; a = a.j; try { a(c, b) } catch (e) { b(e) } + }; + goa = function (a, b, c, d, e) { try { if (a.state.status !== "FULFILLED") throw Error("calling handleResolve before the promise is fulfilled."); var f = c(a.state.value); f instanceof g.Vt ? Wt(a, b, f, d, e) : d(f) } catch (h) { e(h) } }; + hoa = function (a, b, c, d, e) { try { if (a.state.status !== "REJECTED") throw Error("calling handleReject before the promise is rejected."); var f = c(a.state.reason); f instanceof g.Vt ? Wt(a, b, f, d, e) : d(f) } catch (h) { e(h) } }; + Wt = function (a, b, c, d, e) { b === c ? e(new TypeError("Circular promise chain detected.")) : c.then(function (f) { f instanceof g.Vt ? Wt(a, b, f, d, e) : d(f) }, function (f) { e(f) }) }; + ioa = function (a, b, c) { + function d() { c(a.error); f() } + function e() { b(a.result); f() } + function f() { try { a.removeEventListener("success", e), a.removeEventListener("error", d) } catch (h) { } } + a.addEventListener("success", e); a.addEventListener("error", d) + }; + joa = function (a) { return new Promise(function (b, c) { ioa(a, b, c) }) }; + Xt = function (a) { return new g.Vt(new Ut(function (b, c) { ioa(a, b, c) })) }; + Yt = function (a, b) { + return new g.Vt(new Ut(function (c, d) { + function e() { var f = a ? b(a) : null; f ? f.then(function (h) { a = h; e() }, d) : c() } + e() + })) + }; + koa = function (a, b) { this.request = a; this.cursor = b }; + loa = function (a) { return Xt(a).then(function (b) { return b ? new koa(a, b) : null }) }; + g.moa = function (a) { a.cursor.continue(void 0); return loa(a.request) }; + noa = function (a, b) { this.j = a; this.options = b; this.transactionCount = 0; this.C = Math.round((0, g.Zt)()); this.B = !1 }; + g.au = function (a, b, c) { a = a.j.createObjectStore(b, c); return new $t(a) }; + bu = function (a, b) { a.j.objectStoreNames.contains(b) && a.j.deleteObjectStore(b) }; + g.eu = function (a, b, c) { return g.cu(a, [b], { mode: "readwrite", Pb: !0 }, function (d) { return g.du(d.objectStore(b), c) }) }; + g.cu = function (a, b, c, d) { + var e, f, h, l, m, n, p, q, r, t, u, y; return g.J(function (A) { + switch (A.j) { + case 1: var D = { mode: "readonly", Pb: !1, tag: "IDB_TRANSACTION_TAG_UNKNOWN" }; typeof c === "string" ? D.mode = c : Object.assign(D, c); e = D; a.transactionCount++; f = e.Pb ? 3 : 1; h = 0; case 2: if (l) { A.Ha(4); break } h++; m = Math.round((0, g.Zt)()); g.va(A, 5); n = a.j.transaction(b, e.mode); D = new fu(n); D = ooa(D, d); return g.G(A, D, 7); case 7: return p = A.B, q = Math.round((0, g.Zt)()), poa(a, m, q, h, void 0, b.join(), e), A.return(p); case 5: r = g.xa(A); t = Math.round((0, g.Zt)()); + u = St(r, a.j.name, b.join(), a.j.version); if ((y = u instanceof g.Ot && !u.j) || h >= f) poa(a, m, t, h, u, b.join(), e), l = u; A.Ha(2); break; case 4: return A.return(Promise.reject(l)) + } + }) + }; + poa = function (a, b, c, d, e, f, h) { + b = c - b; e ? (e instanceof g.Ot && (e.type === "QUOTA_EXCEEDED" || e.type === "QUOTA_MAYBE_EXCEEDED") && Lt("QUOTA_EXCEEDED", { dbName: Nt(a.j.name), objectStoreNames: f, transactionCount: a.transactionCount, transactionMode: h.mode }), e instanceof g.Ot && e.type === "UNKNOWN_ABORT" && (c -= a.C, c < 0 && c >= Math.pow(2, 31) && (c = 0), Lt("TRANSACTION_UNEXPECTEDLY_ABORTED", { objectStoreNames: f, transactionDuration: b, transactionCount: a.transactionCount, dbDuration: c }), a.B = !0), qoa(a, !1, d, f, b, h.tag), Kt(e)) : qoa(a, !0, d, + f, b, h.tag) + }; + qoa = function (a, b, c, d, e, f) { Lt("TRANSACTION_ENDED", { objectStoreNames: d, connectionHasUnknownAbortedTransaction: a.B, duration: e, isSuccessful: b, tryCount: c, tag: f === void 0 ? "IDB_TRANSACTION_TAG_UNKNOWN" : f }) }; + $t = function (a) { this.j = a }; + g.gu = function (a, b, c) { a.j.createIndex(b, c, { unique: !1 }) }; + roa = function (a, b) { return g.hu(a, { query: b }, function (c) { return c.delete().then(function () { return g.iu(c) }) }).then(function () { }) }; + soa = function (a, b, c) { var d = []; return g.hu(a, { query: b }, function (e) { if (!(c !== void 0 && d.length >= c)) return d.push(e.getValue()), g.iu(e) }).then(function () { return d }) }; + uoa = function (a) { return "getAllKeys" in IDBObjectStore.prototype ? Xt(a.j.getAllKeys(void 0, void 0)) : toa(a) }; + toa = function (a) { var b = []; return g.voa(a, { query: void 0 }, function (c) { b.push(c.cursor.primaryKey); return g.moa(c) }).then(function () { return b }) }; + g.du = function (a, b, c) { return Xt(a.j.put(b, c)) }; + g.hu = function (a, b, c) { a = a.j.openCursor(b.query, b.direction); return ju(a).then(function (d) { return Yt(d, c) }) }; + g.voa = function (a, b, c) { var d = b.query; b = b.direction; a = "openKeyCursor" in IDBObjectStore.prototype ? a.j.openKeyCursor(d, b) : a.j.openCursor(d, b); return loa(a).then(function (e) { return Yt(e, c) }) }; + fu = function (a) { + var b = this; this.j = a; this.C = new Map; this.B = !1; this.done = new Promise(function (c, d) { + b.j.addEventListener("complete", function () { c() }); + b.j.addEventListener("error", function (e) { e.currentTarget === e.target && d(b.j.error) }); + b.j.addEventListener("abort", function () { var e = b.j.error; if (e) d(e); else if (!b.B) { e = g.Ot; for (var f = b.j.objectStoreNames, h = [], l = 0; l < f.length; l++) { var m = f.item(l); if (m === null) throw Error("Invariant: item in DOMStringList is null"); h.push(m) } e = new e("UNKNOWN_ABORT", { objectStoreNames: h.join(), dbName: b.j.db.name, mode: b.j.mode }); d(e) } }) + }) + }; + ooa = function (a, b) { + var c = new Promise(function (d, e) { try { b(a).then(function (f) { d(f) }).catch(e) } catch (f) { e(f), a.abort() } }); + return Promise.all([c, a.done]).then(function (d) { return g.w(d).next().value }) + }; + woa = function (a) { this.j = a }; + xoa = function (a, b, c) { var d = []; return g.ku(a, { query: b }, function (e) { if (!(c !== void 0 && d.length >= c)) return d.push(e.getValue()), g.iu(e) }).then(function () { return d }) }; + g.ku = function (a, b, c) { a = a.j.openCursor(b.query === void 0 ? null : b.query, b.direction === void 0 ? "next" : b.direction); return ju(a).then(function (d) { return Yt(d, c) }) }; + lu = function (a, b) { this.request = a; this.cursor = b }; + ju = function (a) { return Xt(a).then(function (b) { return b ? new lu(a, b) : null }) }; + g.iu = function (a) { a.cursor.continue(void 0); return ju(a.request) }; + yoa = function (a, b, c) { + return new Promise(function (d, e) { + function f() { r || (r = new noa(h.result, { closed: q })); return r } + var h = b !== void 0 ? self.indexedDB.open(a, b) : self.indexedDB.open(a); var l = c.blocked, m = c.blocking, n = c.Hea, p = c.upgrade, q = c.closed, r; h.addEventListener("upgradeneeded", function (t) { + try { + if (t.newVersion === null) throw Error("Invariant: newVersion on IDbVersionChangeEvent is null"); if (h.transaction === null) throw Error("Invariant: transaction on IDbOpenDbRequest is null"); t.dataLoss && t.dataLoss !== "none" && Lt("IDB_DATA_CORRUPTED", { reason: t.dataLossMessage || "unknown reason", dbName: Nt(a) }); var u = f(), y = new fu(h.transaction); + p && p(u, function (A) { return t.oldVersion < A && t.newVersion >= A }, y); + y.done.catch(function (A) { e(A) }) + } catch (A) { e(A) } + }); + h.addEventListener("success", function () { + var t = h.result; m && t.addEventListener("versionchange", function () { m(f()) }); + t.addEventListener("close", function () { Lt("IDB_UNEXPECTEDLY_CLOSED", { dbName: Nt(a), dbVersion: t.version }); n && n() }); + d(f()) + }); + h.addEventListener("error", function () { e(h.error) }); + l && h.addEventListener("blocked", function () { l() }) + }) + }; + zoa = function (a, b, c) { c = c === void 0 ? {} : c; return yoa(a, b, c) }; + mu = function (a, b) { + b = b === void 0 ? {} : b; var c, d, e, f; return g.J(function (h) { + if (h.j == 1) return g.va(h, 2), c = self.indexedDB.deleteDatabase(a), d = b, (e = d.blocked) && c.addEventListener("blocked", function () { e() }), g.G(h, joa(c), 4); + if (h.j != 2) return g.wa(h, 0); f = g.xa(h); throw St(f, a, "", -1); + }) + }; + nu = function (a, b) { this.name = a; this.options = b; this.C = !0; this.G = this.D = 0 }; + Aoa = function (a, b) { return new g.Ot("INCOMPATIBLE_DB_VERSION", { dbName: a.name, oldVersion: a.options.version, newVersion: b }) }; + g.ou = function (a, b) { if (!b) throw g.Tt("openWithToken", Nt(a.name)); return a.open() }; + Boa = function (a, b) { var c; return g.J(function (d) { if (d.j == 1) return g.G(d, g.ou(pu, b), 2); c = d.B; return d.return(g.cu(c, ["databases"], { Pb: !0, mode: "readwrite" }, function (e) { var f = e.objectStore("databases"); return f.get(a.actualName).then(function (h) { if (h ? a.actualName !== h.actualName || a.publicName !== h.publicName || a.userIdentifier !== h.userIdentifier : 1) return g.du(f, a).then(function () { }) }) })) }) }; + qu = function (a, b) { var c; return g.J(function (d) { if (d.j == 1) return a ? g.G(d, g.ou(pu, b), 2) : d.return(); c = d.B; return d.return(c.delete("databases", a)) }) }; + Coa = function (a, b) { var c, d; return g.J(function (e) { return e.j == 1 ? (c = [], g.G(e, g.ou(pu, b), 2)) : e.j != 3 ? (d = e.B, g.G(e, g.cu(d, ["databases"], { Pb: !0, mode: "readonly" }, function (f) { c.length = 0; return g.hu(f.objectStore("databases"), {}, function (h) { a(h.getValue()) && c.push(h.getValue()); return g.iu(h) }) }), 3)) : e.return(c) }) }; + Doa = function (a, b) { return Coa(function (c) { return c.publicName === a && c.userIdentifier !== void 0 }, b) }; + Eoa = function () { + var a, b, c, d; return g.J(function (e) { + switch (e.j) { + case 1: a = Dt(); if ((b = a) == null ? 0 : b.hasSucceededOnce) return e.return(!0); if (ru && os() && !ps() || g.tu) return e.return(!1); try { if (c = self, !(c.indexedDB && c.IDBIndex && c.IDBKeyRange && c.IDBObjectStore)) return e.return(!1) } catch (f) { return e.return(!1) } if (!("IDBTransaction" in self && "objectStoreNames" in IDBTransaction.prototype)) return e.return(!1); g.va(e, 2); d = { actualName: "yt-idb-test-do-not-use", publicName: "yt-idb-test-do-not-use", userIdentifier: void 0 }; + return g.G(e, Boa(d, uu), 4); case 4: return g.G(e, qu("yt-idb-test-do-not-use", uu), 5); case 5: return e.return(!0); case 2: return g.xa(e), e.return(!1) + } + }) + }; + Foa = function () { if (vu !== void 0) return vu; Jt = !0; return vu = Eoa().then(function (a) { Jt = !1; var b; if ((b = Ct()) != null && b.j) { var c; b = { hasSucceededOnce: ((c = Dt()) == null ? void 0 : c.hasSucceededOnce) || a }; var d; (d = Ct()) == null || d.set("LAST_RESULT_ENTRY_KEY", b, 2592E3, !0) } return a }) }; + wu = function () { return g.La("ytglobal.idbToken_") || void 0 }; + g.xu = function () { var a = wu(); return a ? Promise.resolve(a) : Foa().then(function (b) { (b = b ? uu : void 0) && g.Ka("ytglobal.idbToken_", b); return b }) }; + Goa = function (a) { if (!g.rt()) throw a = new g.Ot("AUTH_INVALID", { dbName: a }), Kt(a), a; var b = g.qt(); return { actualName: a + ":" + b, publicName: a, userIdentifier: b } }; + Hoa = function (a, b, c, d) { + var e, f, h, l, m, n; return g.J(function (p) { + switch (p.j) { + case 1: return f = (e = Error().stack) != null ? e : "", g.G(p, g.xu(), 2); case 2: h = p.B; if (!h) throw l = g.Tt("openDbImpl", a, b), g.Pr("ytidb_async_stack_killswitch") || (l.stack = l.stack + "\n" + f.substring(f.indexOf("\n") + 1)), Kt(l), l; Mt(a); m = c ? { actualName: a, publicName: a, userIdentifier: void 0 } : Goa(a); g.va(p, 3); return g.G(p, Boa(m, h), 5); case 5: return g.G(p, zoa(m.actualName, b, d), 6); case 6: return p.return(p.B); case 3: return n = g.xa(p), g.va(p, 7), g.G(p, qu(m.actualName, + h), 9); case 9: g.wa(p, 8); break; case 7: g.xa(p); case 8: throw n; + } + }) + }; + Ioa = function (a, b, c) { c = c === void 0 ? {} : c; return Hoa(a, b, !1, c) }; + Joa = function (a, b, c) { c = c === void 0 ? {} : c; return Hoa(a, b, !0, c) }; + Koa = function (a, b) { b = b === void 0 ? {} : b; var c, d; return g.J(function (e) { if (e.j == 1) return g.G(e, g.xu(), 2); if (e.j != 3) { c = e.B; if (!c) return e.return(); Mt(a); d = Goa(a); return g.G(e, mu(d.actualName, b), 3) } return g.G(e, qu(d.actualName, c), 0) }) }; + Loa = function (a, b, c) { + a = a.map(function (d) { return g.J(function (e) { return e.j == 1 ? g.G(e, mu(d.actualName, b), 2) : g.G(e, qu(d.actualName, c), 0) }) }); + return Promise.all(a).then(function () { }) + }; + Moa = function (a) { var b = b === void 0 ? {} : b; var c, d; return g.J(function (e) { if (e.j == 1) return g.G(e, g.xu(), 2); if (e.j != 3) { c = e.B; if (!c) return e.return(); Mt(a); return g.G(e, Doa(a, c), 3) } d = e.B; return g.G(e, Loa(d, b, c), 0) }) }; + Noa = function (a, b) { b = b === void 0 ? {} : b; var c; return g.J(function (d) { if (d.j == 1) return g.G(d, g.xu(), 2); if (d.j != 3) { c = d.B; if (!c) return d.return(); Mt(a); return g.G(d, mu(a, b), 3) } return g.G(d, qu(a, c), 0) }) }; + yu = function (a, b) { nu.call(this, a, b); this.options = b; Mt(a) }; + Ooa = function (a, b) { var c; return function () { c || (c = new yu(a, b)); return c } }; + g.zu = function (a, b) { return Ooa(a, b) }; + Au = function (a) { return g.ou(Poa(), a) }; + Qoa = function (a, b, c, d) { var e, f, h; return g.J(function (l) { switch (l.j) { case 1: return e = { config: a, hashData: b, timestamp: d !== void 0 ? d : (0, g.Zt)() }, g.G(l, Au(c), 2); case 2: return f = l.B, g.G(l, f.clear("hotConfigStore"), 3); case 3: return g.G(l, g.eu(f, "hotConfigStore", e), 4); case 4: return h = l.B, l.return(h) } }) }; + Roa = function (a, b, c, d, e) { var f, h, l; return g.J(function (m) { switch (m.j) { case 1: return f = { config: a, hashData: b, configData: c, timestamp: e !== void 0 ? e : (0, g.Zt)() }, g.G(m, Au(d), 2); case 2: return h = m.B, g.G(m, h.clear("coldConfigStore"), 3); case 3: return g.G(m, g.eu(h, "coldConfigStore", f), 4); case 4: return l = m.B, m.return(l) } }) }; + Soa = function (a) { var b, c; return g.J(function (d) { return d.j == 1 ? g.G(d, Au(a), 2) : d.j != 3 ? (b = d.B, c = void 0, g.G(d, g.cu(b, ["coldConfigStore"], { mode: "readwrite", Pb: !0 }, function (e) { return g.ku(e.objectStore("coldConfigStore").index("coldTimestampIndex"), { direction: "prev" }, function (f) { c = f.getValue() }) }), 3)) : d.return(c) }) }; + Toa = function (a) { var b, c; return g.J(function (d) { return d.j == 1 ? g.G(d, Au(a), 2) : d.j != 3 ? (b = d.B, c = void 0, g.G(d, g.cu(b, ["hotConfigStore"], { mode: "readwrite", Pb: !0 }, function (e) { return g.ku(e.objectStore("hotConfigStore").index("hotTimestampIndex"), { direction: "prev" }, function (f) { c = f.getValue() }) }), 3)) : d.return(c) }) }; + Uoa = function () { return g.J(function (a) { return g.G(a, Moa("ytGcfConfig"), 0) }) }; + Bu = function () { g.O.call(this); this.B = []; this.j = []; var a = g.La("yt.gcf.config.hotUpdateCallbacks"); a ? (this.B = [].concat(g.x(a)), this.j = a) : (this.j = [], g.Ka("yt.gcf.config.hotUpdateCallbacks", this.j)) }; + Hu = function () { + var a = this; this.G = !1; this.C = this.D = 0; this.K = new Bu; this.hd = { + roa: function () { a.G = !0 }, + wna: function () { return a.j }, + zpa: function (b) { Cu(a, b) }, + Js: function (b) { a.Js(b) }, + spa: function (b) { Du(a, b) }, + N8: function () { return a.coldHashData }, + W8: function () { return a.hotHashData }, + Nna: function () { return a.B }, + Fna: function () { return Eu() }, + Hna: function () { return Fu() }, + Gna: function () { return g.La("yt.gcf.config.coldHashData") }, + Ina: function () { return g.La("yt.gcf.config.hotHashData") }, + Rpa: function () { Voa(a) }, + lpa: function () { a.Js(void 0); Gu(a); delete Hu.instance }, + wpa: function (b) { a.C = b }, + Bna: function () { return a.C } + } + }; + Woa = function () { if (!Hu.instance) { var a = new Hu; Hu.instance = a } return Hu.instance }; + Zoa = function (a) { var b; g.J(function (c) { if (c.j == 1) return g.Pr("start_client_gcf") || g.Pr("delete_gcf_config_db") ? g.Pr("start_client_gcf") ? g.G(c, g.xu(), 3) : c.Ha(2) : c.return(); c.j != 2 && ((b = c.B) && g.rt() && !g.Pr("delete_gcf_config_db") ? (a.G = !0, Voa(a)) : (Xoa(a), Yoa(a))); return g.Pr("delete_gcf_config_db") ? g.G(c, Uoa(), 0) : c.Ha(0) }) }; + Iu = function () { var a; return (a = Fu()) != null ? a : g.pr("RAW_HOT_CONFIG_GROUP") }; + $oa = function (a) { + var b, c, d, e, f, h; return g.J(function (l) { + switch (l.j) { + case 1: if (a.B) return l.return(Fu()); if (!a.G) return b = g.Tt("getHotConfig IDB not initialized"), ur(b), l.return(Promise.reject(b)); c = wu(); d = g.pr("TIME_CREATED_MS"); if (!c) { e = g.Tt("getHotConfig token error"); ur(e); l.Ha(2); break } return g.G(l, Toa(c), 3); case 3: if ((f = l.B) && f.timestamp > d) return Cu(a, f.config), a.Js(f.hashData), l.return(Fu()); case 2: Yoa(a); if (!(c && a.B && a.hotHashData)) { l.Ha(4); break } return g.G(l, Qoa(a.B, a.hotHashData, c, d), 4); case 4: return a.B ? + l.return(Fu()) : (h = new g.pt("Config not available in ytConfig"), ur(h), l.return(Promise.reject(h))) + } + }) + }; + bpa = function (a) { + var b, c, d, e, f, h; return g.J(function (l) { + switch (l.j) { + case 1: if (a.j) return l.return(Eu()); if (!a.G) return b = g.Tt("getColdConfig IDB not initialized"), ur(b), l.return(Promise.reject(b)); c = wu(); d = g.pr("TIME_CREATED_MS"); if (!c) { e = g.Tt("getColdConfig"); ur(e); l.Ha(2); break } return g.G(l, Soa(c), 3); case 3: if ((f = l.B) && f.timestamp > d) return Du(a, f.config), apa(a, f.configData), Gu(a, f.hashData), l.return(Eu()); case 2: Xoa(a); if (!(c && a.j && a.coldHashData && a.configData)) { l.Ha(4); break } return g.G(l, Roa(a.j, + a.coldHashData, a.configData, c, d), 4); case 4: return a.j ? l.return(Eu()) : (h = new g.pt("Config not available in ytConfig"), ur(h), l.return(Promise.reject(h))) + } + }) + }; + Voa = function (a) { if (!a.B || !a.j) { if (!wu()) { var b = g.Tt("scheduleGetConfigs"); ur(b) } a.D || (a.D = g.Zo.Vi(function () { return g.J(function (c) { switch (c.j) { case 1: return g.va(c, 2), g.G(c, $oa(a), 4); case 4: g.wa(c, 3); break; case 2: g.xa(c); case 3: return g.va(c, 5), g.G(c, bpa(a), 7); case 7: g.wa(c, 6); break; case 5: g.xa(c); case 6: a.D && (a.D = 0), g.ua(c) } }) }, 100)) } }; + cpa = function (a, b, c) { var d, e, f; return g.J(function (h) { switch (h.j) { case 1: if (!g.Pr("start_client_gcf")) { h.Ha(0); break } c && Cu(a, c); a.Js(b); d = wu(); if (!d) { h.Ha(3); break } if (c) { h.Ha(4); break } return g.G(h, Toa(d), 5); case 5: e = h.B, c = (f = e) == null ? void 0 : f.config; case 4: return g.G(h, Qoa(c, b, d), 3); case 3: if (c) for (var l = c, m = g.w(a.K.j), n = m.next(); !n.done; n = m.next())n = n.value, n(l); g.ua(h) } }) }; + dpa = function (a, b, c) { var d, e, f, h; return g.J(function (l) { if (l.j == 1) { if (!g.Pr("start_client_gcf")) return l.Ha(0); Gu(a, b); return (d = wu()) ? c ? l.Ha(4) : g.G(l, Soa(d), 5) : l.Ha(0) } l.j != 4 && (e = l.B, c = (f = e) == null ? void 0 : f.config); if (!c) return l.Ha(0); h = c.configData; return g.G(l, Roa(c, b, h, d), 0) }) }; + epa = function () { var a = Woa(), b = (0, g.Zt)() - a.C; if (!(a.C !== 0 && b < g.Qr("send_config_hash_timer"))) { b = g.La("yt.gcf.config.coldConfigData"); var c = g.La("yt.gcf.config.hotHashData"), d = g.La("yt.gcf.config.coldHashData"); b && c && d && (a.C = (0, g.Zt)()); return { coldConfigData: b, hotHashData: c, coldHashData: d } } }; + Xoa = function (a) { Du(a, g.pr("RAW_COLD_CONFIG_GROUP")); Gu(a, g.pr("SERIALIZED_COLD_HASH_DATA")); var b; apa(a, (b = a.j) == null ? void 0 : b.configData) }; + Yoa = function (a) { Cu(a, g.pr("RAW_HOT_CONFIG_GROUP")); a.Js(g.pr("SERIALIZED_HOT_HASH_DATA")) }; + Cu = function (a, b) { a.B = b; g.Ka("yt.gcf.config.hotConfigGroup", a.B || null) }; + Du = function (a, b) { a.j = b; g.Ka("yt.gcf.config.coldConfigGroup", a.j || null) }; + Gu = function (a, b) { a.coldHashData = b; g.Ka("yt.gcf.config.coldHashData", a.coldHashData || null) }; + apa = function (a, b) { a.configData = b; g.Ka("yt.gcf.config.coldConfigData", a.configData || null) }; + Fu = function () { return g.La("yt.gcf.config.hotConfigGroup") }; + Eu = function () { return g.La("yt.gcf.config.coldConfigGroup") }; + fpa = function () { return "INNERTUBE_API_KEY" in nr && "INNERTUBE_API_VERSION" in nr }; + g.Ju = function () { + return { + innertubeApiKey: g.pr("INNERTUBE_API_KEY"), innertubeApiVersion: g.pr("INNERTUBE_API_VERSION"), GK: g.pr("INNERTUBE_CONTEXT_CLIENT_CONFIG_INFO"), IQ: g.pr("INNERTUBE_CONTEXT_CLIENT_NAME", "WEB"), AZ: g.pr("INNERTUBE_CONTEXT_CLIENT_NAME", 1), innertubeContextClientVersion: g.pr("INNERTUBE_CONTEXT_CLIENT_VERSION"), KQ: g.pr("INNERTUBE_CONTEXT_HL"), JQ: g.pr("INNERTUBE_CONTEXT_GL"), BZ: g.pr("INNERTUBE_HOST_OVERRIDE") || "", CZ: !!g.pr("INNERTUBE_USE_THIRD_PARTY_AUTH", !1), LQ: !!g.pr("INNERTUBE_OMIT_API_KEY_WHEN_AUTH_HEADER_IS_PRESENT", + !1), appInstallData: g.pr("SERIALIZED_CLIENT_CONFIG_DATA") + } + }; + g.Ku = function (a) { + var b = { client: { hl: a.KQ, gl: a.JQ, clientName: a.IQ, clientVersion: a.innertubeContextClientVersion, configInfo: a.GK } }; navigator.userAgent && (b.client.userAgent = String(navigator.userAgent)); var c = g.Ja.devicePixelRatio; c && c != 1 && (b.client.screenDensityFloat = String(c)); c = Rr(); c !== "" && (b.client.experimentsToken = c); c = Sr(); c.length > 0 && (b.request = { internalExperimentFlags: c }); gpa(a, void 0, b); hpa(void 0, b); ipa(void 0, b); jpa(a, void 0, b); kpa(void 0, b); g.Pr("start_client_gcf") && lpa(void 0, b); g.pr("DELEGATED_SESSION_ID") && + !g.Pr("pageid_as_header_web") && (b.user = { onBehalfOfUser: g.pr("DELEGATED_SESSION_ID") }); !g.Pr("fill_delegate_context_in_gel_killswitch") && (a = g.pr("INNERTUBE_CONTEXT_SERIALIZED_DELEGATION_CONTEXT")) && (b.user = Object.assign({}, b.user, { serializedDelegationContext: a })); a = Object; c = a.assign; for (var d = b.client, e = {}, f = g.w(Object.entries(xr(g.pr("DEVICE", "")))), h = f.next(); !h.done; h = f.next()) { + var l = g.w(h.value); h = l.next().value; l = l.next().value; h === "cbrand" ? e.deviceMake = l : h === "cmodel" ? e.deviceModel = l : h === "cbr" ? + e.browserName = l : h === "cbrver" ? e.browserVersion = l : h === "cos" ? e.osName = l : h === "cosver" ? e.osVersion = l : h === "cplatform" && (e.platform = l) + } b.client = c.call(a, d, e); return b + }; + gpa = function (a, b, c) { a = a.IQ; if (a === "WEB" || a === "MWEB" || a === 1 || a === 2) if (b) { c = Dg(b, Oq, 96) || new Oq; var d = ft(); d = Object.keys(mpa).indexOf(d); d = d === -1 ? null : d; d !== null && Ug(c, 3, d); Eg(b, Oq, 96, c) } else c && (c.client.mainAppWebInfo = (d = c.client.mainAppWebInfo) != null ? d : {}, c.client.mainAppWebInfo.webDisplayMode = ft()) }; + hpa = function (a, b) { var c = g.La("yt.embedded_player.embed_url"); c && (a ? (b = Dg(a, Sq, 7) || new Sq, Sg(b, 4, c), Eg(a, Sq, 7, b)) : b && (b.thirdParty = { embedUrl: c })) }; + ipa = function (a, b) { var c; if (g.Pr("web_log_memory_total_kbytes") && ((c = g.Ja.navigator) == null ? 0 : c.deviceMemory)) { var d; c = (d = g.Ja.navigator) == null ? void 0 : d.deviceMemory; a ? ig(a, 95, Lf(c * 1E6)) : b && (b.client.memoryTotalKbytes = "" + c * 1E6) } }; + jpa = function (a, b, c) { if (a.appInstallData) if (b) { var d; c = (d = Dg(b, Nq, 62)) != null ? d : new Nq; Sg(c, 6, a.appInstallData); Eg(b, Nq, 62, c) } else c && (c.client.configInfo = c.client.configInfo || {}, c.client.configInfo.appInstallData = a.appInstallData) }; + kpa = function (a, b) { var c = Wna(); c && (a ? Ug(a, 61, npa[c]) : b && (b.client.connectionType = c)); g.Pr("web_log_effective_connection_type") && (c = Yna()) && (a ? Ug(a, 94, opa[c]) : b && (b.client.effectiveConnectionType = c)) }; + ppa = function (a, b, c) { c = c === void 0 ? {} : c; var d = {}; g.pr("EOM_VISITOR_DATA") ? d = { "X-Goog-EOM-Visitor-Id": g.pr("EOM_VISITOR_DATA") } : d = { "X-Goog-Visitor-Id": c.visitorData || g.pr("VISITOR_DATA", "") }; if (b && b.includes("www.youtube-nocookie.com")) return d; b = c.XW || g.pr("AUTHORIZATION"); b || (a ? b = "Bearer " + g.La("gapi.auth.getToken")().access_token : (a = Qna().aF(Lu), g.Pr("pageid_as_header_web") || delete a["X-Goog-PageId"], d = Object.assign({}, d, a))); b && (d.Authorization = b); return d }; + lpa = function (a, b) { var c = epa(); if (c) { var d = c.coldConfigData, e = c.coldHashData; c = c.hotHashData; if (a) { var f; b = (f = Dg(a, Nq, 62)) != null ? f : new Nq; d = Sg(b, 1, d); Sg(d, 3, e).Js(c); Eg(a, Nq, 62, b) } else b && (b.client.configInfo = b.client.configInfo || {}, d && (b.client.configInfo.coldConfigData = d), e && (b.client.configInfo.coldHashData = e), c && (b.client.configInfo.hotHashData = c)) } }; + Pu = function (a, b) { this.version = a; this.args = b }; + Tu = function (a, b) { this.topic = a; this.j = b }; + Vu = function (a, b) { var c = Uu(); c && c.publish.call(c, a.toString(), a, b) }; + spa = function (a) { + var b = qpa, c = Uu(); if (!c) return 0; var d = c.subscribe(b.toString(), function (e, f) { + var h = g.La("ytPubsub2Pubsub2SkipSubKey"); h && h == d || (h = function () { + if (Wu[d]) try { + if (f && b instanceof Tu && b != e) try { + var l = b.j, m = f; if (!m.args || !m.version) throw Error("yt.pubsub2.Data.deserialize(): serializedData is incomplete."); try { if (!l.Iv) { var n = new l; l.Iv = n.version } var p = l.Iv } catch (q) { } if (!p || m.version != p) throw Error("yt.pubsub2.Data.deserialize(): serializedData version is incompatible."); try { + f = Reflect.construct(l, + g.Tb(m.args)) + } catch (q) { throw q.message = "yt.pubsub2.Data.deserialize(): " + q.message, q; } + } catch (q) { throw q.message = "yt.pubsub2.pubsub2 cross-binary conversion error for " + b.toString() + ": " + q.message, q; } a.call(window, f) + } catch (q) { g.sr(q) } + }, rpa[b.toString()] ? g.zt() ? g.Zo.Vi(h) : g.Kr(h, 0) : h()) + }); + Wu[d] = !0; Xu[b.toString()] || (Xu[b.toString()] = []); Xu[b.toString()].push(d); return d + }; + vpa = function () { + var a = tpa, b = spa(function (c) { a.apply(void 0, arguments); upa(b) }); + return b + }; + upa = function (a) { var b = Uu(); b && (typeof a === "number" && (a = [a]), g.cc(a, function (c) { b.unsubscribeByKey(c); delete Wu[c] })) }; + Uu = function () { return g.La("ytPubsub2Pubsub2Instance") }; + Yu = function (a, b, c) { c = c === void 0 ? { sampleRate: .1 } : c; Math.random() < Math.min(.02, c.sampleRate / 100) && Vu("meta_logging_csi_event", { timerName: a, Opa: b }) }; + wpa = function () { Zu || (Zu = Jq(g.pr("WORKER_SERIALIZATION_URL"))); return Zu || void 0 }; + av = function () { var a = wpa(); $u || a === void 0 || ($u = new Worker(g.id(a), void 0)); return $u }; + xpa = function () { return typeof Worker === "function" && wpa() ? !0 : !1 }; + zpa = function () { + if (xpa() && !bv) { + var a = function (c) { c = c.data; if (c.op === "gzippedGelBatch") { var d = cv.get(c.key); d && (ypa(c.gzippedBatch, d.latencyPayload, d.url, d.options, d.sendFn), cv.delete(c.key)) } }, b = av(); + b && (b.addEventListener("message", a), b.onerror = function () { cv.clear() }, bv = !0) + } + }; + fv = function (a, b, c, d, e) { e = e === void 0 ? !1 : e; var f = { startTime: (0, g.Zt)(), ticks: {}, infos: {} }; if (dv) try { var h = Apa(b); if (h != null && (h > Bpa || h < Cpa)) d(a, c); else { if (g.Pr("gzip_gel_with_worker") && (g.Pr("initial_gzip_use_main_thread") && !Dpa || !g.Pr("initial_gzip_use_main_thread"))) { bv || zpa(); var l = av(); if (l && !e) { cv.set(ev, { latencyPayload: f, url: a, options: c, sendFn: d }); l.postMessage({ op: "gelBatchToGzip", serializedBatch: b, key: ev }); ev++; return } } var m = tma(Epa(b)); ypa(m, f, a, c, d) } } catch (n) { ur(n), d(a, c) } else d(a, c) }; + ypa = function (a, b, c, d, e) { Dpa = !1; var f = (0, g.Zt)(); b.ticks.gelc = f; gv++; g.Pr("disable_compression_due_to_performance_degredation") && f - b.startTime >= Fpa && (hv++, g.Pr("abandon_compression_after_N_slow_zips") ? gv === g.Qr("compression_disable_point") && hv > Gpa && (dv = !1) : dv = !1); Hpa(b); d.headers || (d.headers = {}); d.headers["Content-Encoding"] = "gzip"; d.postBody = a; d.postParams = void 0; e(c, d) }; + Ipa = function (a) { + var b = b === void 0 ? !1 : b; var c = c === void 0 ? !1 : c; var d = (0, g.Zt)(), e = { startTime: d, ticks: {}, infos: {} }, f = b ? g.La("yt.logging.gzipForFetch", !1) : !0; if (dv && f) { + if (!a.body) return a; try { + var h = c ? a.body : typeof a.body === "string" ? a.body : JSON.stringify(a.body); f = h; if (!c && typeof h === "string") { + var l = Apa(h); if (l != null && (l > Bpa || l < Cpa)) return a; c = b ? { level: 1 } : void 0; f = tma(Epa(h), c); var m = (0, g.Zt)(); e.ticks.gelc = m; if (b) { + gv++; if ((g.Pr("disable_compression_due_to_performance_degredation") || g.Pr("disable_compression_due_to_performance_degradation_lr")) && + m - d >= Fpa) if (hv++, g.Pr("abandon_compression_after_N_slow_zips") || g.Pr("abandon_compression_after_N_slow_zips_lr")) { b = hv / gv; var n = Gpa / g.Qr("compression_disable_point"); gv > 0 && gv % g.Qr("compression_disable_point") === 0 && b >= n && (dv = !1) } else dv = !1; Hpa(e) + } + } a.headers = Object.assign({}, { "Content-Encoding": "gzip" }, a.headers || {}); a.body = f; return a + } catch (p) { return ur(p), a } + } else return a + }; + Apa = function (a) { try { return (new Blob(a.split(""))).size } catch (b) { return ur(b), null } }; + Hpa = function (a) { g.Pr("gel_compression_csi_killswitch") || !g.Pr("log_gel_compression_latency") && !g.Pr("log_gel_compression_latency_lr") || Yu("gel_compression", a, { sampleRate: .1 }) }; + jv = function (a) { + var b = this; this.aJ = this.j = !1; this.potentialEsfErrorCounter = this.B = 0; this.handleError = function () { }; + this.xA = function () { }; + this.now = Date.now; this.GE = !1; this.hd = { + upa: function (p) { b.zf = p }, + Spa: function () { b.EC() }, + s7: function () { b.JO() }, + CF: function (p) { return g.J(function (q) { return g.G(q, b.CF(p), 0) }) }, + pM: function (p, q) { return b.pM(p, q) }, + sM: function () { b.sM() } + }; + var c; this.P2 = (c = a.P2) != null ? c : 100; var d; this.P1 = (d = a.P1) != null ? d : 1; var e; this.H1 = (e = a.H1) != null ? e : 2592E6; var f; this.B1 = (f = a.B1) != null ? f : 12E4; var h; this.O1 = (h = a.O1) != null ? h : 5E3; var l; this.zf = (l = a.zf) != null ? l : void 0; this.CJ = !!a.CJ; var m; this.jJ = (m = a.jJ) != null ? m : .1; var n; this.aM = (n = a.aM) != null ? n : 10; a.handleError && (this.handleError = a.handleError); a.xA && (this.xA = a.xA); a.GE && (this.GE = a.GE); a.aJ && (this.aJ = a.aJ); this.kb = a.kb; this.Go = a.Go; this.Kh = a.Kh; this.lh = a.lh; this.sendFn = a.sendFn; this.xS = a.xS; this.IR = + a.IR; iv(this) && (!this.kb || this.kb("networkless_logging")) && Jpa(this) + }; + Jpa = function (a) { iv(a) && !a.GE && (a.j = !0, a.CJ && Math.random() <= a.jJ && a.Kh.w7(a.zf), a.sM(), a.lh.Ih() && a.EC(), a.lh.listen(a.xS, a.EC.bind(a)), a.lh.listen(a.IR, a.JO.bind(a))) }; + Mpa = function (a, b) { + if (!iv(a)) throw Error("IndexedDB is not supported: updateRequestHandlers"); var c = b.options.onError ? b.options.onError : function () { }; + b.options.onError = function (e, f) { + var h, l, m, n; return g.J(function (p) { + switch (p.j) { + case 1: h = Kpa(f); (l = Lpa(f)) && a.kb && a.kb("web_enable_error_204") && a.handleError(Error("Request failed due to compression"), b.url, f); if (!(a.kb && a.kb("nwl_consider_error_code") && h || a.kb && !a.kb("nwl_consider_error_code") && a.potentialEsfErrorCounter <= a.aM)) { p.Ha(2); break } if (!a.lh.wM) { p.Ha(3); break } return g.G(p, a.lh.wM(), 3); case 3: if (a.lh.Ih()) { p.Ha(2); break } c(e, f); if (!a.kb || !a.kb("nwl_consider_error_code") || ((m = b) == null ? void 0 : + m.id) === void 0) { p.Ha(6); break } return g.G(p, a.Kh.jT(b.id, a.zf, !1), 6); case 6: return p.return(); case 2: if (a.kb && a.kb("nwl_consider_error_code") && !h && a.potentialEsfErrorCounter > a.aM) return p.return(); a.potentialEsfErrorCounter++; if (((n = b) == null ? void 0 : n.id) === void 0) { p.Ha(8); break } return b.sendCount < a.P1 ? g.G(p, a.Kh.jT(b.id, a.zf, !0, l ? !1 : void 0), 12) : g.G(p, a.Kh.Yz(b.id, a.zf), 8); case 12: a.Go.Vi(function () { a.lh.Ih() && a.EC() }, a.O1); + case 8: c(e, f), g.ua(p) + } + }) + }; + var d = b.options.onSuccess ? b.options.onSuccess : function () { }; + b.options.onSuccess = function (e, f) { var h; return g.J(function (l) { if (l.j == 1) return ((h = b) == null ? void 0 : h.id) === void 0 ? l.Ha(2) : g.G(l, a.Kh.Yz(b.id, a.zf), 2); a.lh.Vx && a.kb && a.kb("vss_network_hint") && a.lh.Vx(!0); d(e, f); g.ua(l) }) }; + return b + }; + kv = function (a, b) { a.S3 && !a.lh.Ih() ? a.S3(b) : a.handleError(b) }; + iv = function (a) { return !!a.zf || a.aJ }; + Kpa = function (a) { var b; return (a = a == null ? void 0 : (b = a.error) == null ? void 0 : b.code) && a >= 400 && a <= 599 ? !1 : !0 }; + Lpa = function (a) { var b; a = a == null ? void 0 : (b = a.error) == null ? void 0 : b.code; return !(a !== 400 && a !== 415) }; + Npa = function () { + if (lv) return lv(); var a = {}; lv = g.zu("LogsDatabaseV2", { + ys: (a.LogsRequestsStore = { Hn: 2 }, a), shared: !1, upgrade: function (b, c, d) { c(2) && g.au(b, "LogsRequestsStore", { keyPath: "id", autoIncrement: !0 }); c(3); c(5) && (d = d.objectStore("LogsRequestsStore"), d.j.indexNames.contains("newRequest") && d.j.deleteIndex("newRequest"), g.gu(d, "newRequestV2", ["status", "interface", "timestamp"])); c(7) && bu(b, "sapisid"); c(9) && bu(b, "SWHealthLog") }, + version: 9 + }); return lv() + }; + mv = function (a) { return g.ou(Npa(), a) }; + Ppa = function (a, b) { var c, d, e, f; return g.J(function (h) { if (h.j == 1) return c = { startTime: (0, g.Zt)(), infos: { transactionType: "YT_IDB_TRANSACTION_TYPE_WRITE" }, ticks: {} }, g.G(h, mv(b), 2); if (h.j != 3) return d = h.B, e = Object.assign({}, a, { options: JSON.parse(JSON.stringify(a.options)), interface: g.pr("INNERTUBE_CONTEXT_CLIENT_NAME", 0) }), g.G(h, g.eu(d, "LogsRequestsStore", e), 3); f = h.B; c.ticks.tc = (0, g.Zt)(); Opa(c); return h.return(f) }) }; + Qpa = function (a, b) { + var c, d, e, f, h, l, m, n; return g.J(function (p) { + if (p.j == 1) return c = { startTime: (0, g.Zt)(), infos: { transactionType: "YT_IDB_TRANSACTION_TYPE_READ" }, ticks: {} }, g.G(p, mv(b), 2); if (p.j != 3) return d = p.B, e = g.pr("INNERTUBE_CONTEXT_CLIENT_NAME", 0), f = [a, e, 0], h = [a, e, (0, g.Zt)()], l = IDBKeyRange.bound(f, h), m = "prev", g.Pr("use_fifo_for_networkless") && (m = "next"), n = void 0, g.G(p, g.cu(d, ["LogsRequestsStore"], { mode: "readwrite", Pb: !0 }, function (q) { + return g.ku(q.objectStore("LogsRequestsStore").index("newRequestV2"), + { query: l, direction: m }, function (r) { r.getValue() && (n = r.getValue(), a === "NEW" && (n.status = "QUEUED", r.update(n))) }) + }), 3); + c.ticks.tc = (0, g.Zt)(); Opa(c); return p.return(n) + }) + }; + Rpa = function (a, b) { var c; return g.J(function (d) { if (d.j == 1) return g.G(d, mv(b), 2); c = d.B; return d.return(g.cu(c, ["LogsRequestsStore"], { mode: "readwrite", Pb: !0 }, function (e) { var f = e.objectStore("LogsRequestsStore"); return f.get(a).then(function (h) { if (h) return h.status = "QUEUED", g.du(f, h).then(function () { return h }) }) })) }) }; + Spa = function (a, b, c, d) { c = c === void 0 ? !0 : c; var e; return g.J(function (f) { if (f.j == 1) return g.G(f, mv(b), 2); e = f.B; return f.return(g.cu(e, ["LogsRequestsStore"], { mode: "readwrite", Pb: !0 }, function (h) { var l = h.objectStore("LogsRequestsStore"); return l.get(a).then(function (m) { return m ? (m.status = "NEW", c && (m.sendCount += 1), d !== void 0 && (m.options.compress = d), g.du(l, m).then(function () { return m })) : g.Vt.resolve(void 0) }) })) }) }; + Tpa = function (a, b) { var c; return g.J(function (d) { if (d.j == 1) return g.G(d, mv(b), 2); c = d.B; return d.return(c.delete("LogsRequestsStore", a)) }) }; + Upa = function (a) { var b, c; return g.J(function (d) { if (d.j == 1) return g.G(d, mv(a), 2); b = d.B; c = (0, g.Zt)() - 2592E6; return g.G(d, g.cu(b, ["LogsRequestsStore"], { mode: "readwrite", Pb: !0 }, function (e) { return g.hu(e.objectStore("LogsRequestsStore"), {}, function (f) { if (f.getValue().timestamp <= c) return f.delete().then(function () { return g.iu(f) }) }) }), 0) }) }; + Vpa = function () { g.J(function (a) { return g.G(a, Moa("LogsDatabaseV2"), 0) }) }; + Opa = function (a) { g.Pr("nwl_csi_killswitch") || Yu("networkless_performance", a, { sampleRate: 1 }) }; + Xpa = function (a) { return g.ou(Wpa(), a) }; + Ypa = function (a) { var b, c; g.J(function (d) { if (d.j == 1) return g.G(d, Xpa(a), 2); b = d.B; c = (0, g.Zt)() - 2592E6; return g.G(d, g.cu(b, ["SWHealthLog"], { mode: "readwrite", Pb: !0 }, function (e) { return g.hu(e.objectStore("SWHealthLog"), {}, function (f) { if (f.getValue().timestamp <= c) return f.delete().then(function () { return g.iu(f) }) }) }), 0) }) }; + Zpa = function (a) { var b; return g.J(function (c) { if (c.j == 1) return g.G(c, Xpa(a), 2); b = c.B; return g.G(c, b.clear("SWHealthLog"), 0) }) }; + g.nv = function (a, b, c, d, e, f, h) { + e = e === void 0 ? "" : e; f = f === void 0 ? !1 : f; h = h === void 0 ? !1 : h; if (a) if (c && !g.ks()) { + if (a) { + a = g.ld(g.rd(a)); if (a === g.qd.toString() || a.startsWith("data")) a = ""; else { + var l = l === void 0 ? {} : l; a instanceof g.vd ? l = a : (a = String(a).replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"), l.hpa && (a = a.replace(/(^|[\r\n\t ]) /g, "$1 ")), l.gpa && (a = a.replace(/(\r\n|\n|\r)/g, "
")), l.ipa && (a = a.replace(/(\t+)/g, '$1')), + l = xd(a)); a = g.Rd(g.Ci(g.wd(l).toString())) + } g.pb(a) || (l = he("IFRAME", { src: 'javascript:""', style: "display:none" }), Yd(l).body.appendChild(l)) + } + } else if (e) Tr(a, b, "POST", e, d); else if (g.pr("USE_NET_AJAX_FOR_PING_TRANSPORT", !1) || d || h) Tr(a, b, "GET", "", d, void 0, f, h); else { b: { try { var m = new bla({ url: a }); if (m.C && m.B || m.D) { var n = Ki(g.Mi(5, a)); var p = !(!n || !n.endsWith("/aclk") || Vi(a, "ri") !== "1"); break b } } catch (q) { } p = !1 } p ? $pa(a) ? (b && b(), l = !0) : l = !1 : l = !1; l || aqa(a, b) } + }; + $pa = function (a, b) { try { if (window.navigator && window.navigator.sendBeacon && window.navigator.sendBeacon(a, b === void 0 ? "" : b)) return !0 } catch (c) { } return !1 }; + aqa = function (a, b) { + var c = new Image, d = "" + bqa++; ov[d] = c; c.onload = c.onerror = function () { b && ov[d] && b(); delete ov[d] }; + c.src = a + }; + cqa = function (a) { var b; return ((b = document.featurePolicy) == null ? 0 : b.allowedFeatures().includes("attribution-reporting")) ? a + "&nis=6" : a + "&nis=5" }; + qv = function () { pv || (pv = new Bt("yt.offline")); return pv }; + dqa = function (a) { if (g.Pr("offline_error_handling")) { var b = qv().get("errors", !0) || {}; b[a.message] = { name: a.name, stack: a.stack }; a.level && (b[a.message].level = a.level); qv().set("errors", b, 2592E3, !0) } }; + rv = function () { this.j = new Map; this.B = !1 }; + tv = function () { if (!rv.instance) { var a = g.La("yt.networkRequestMonitor.instance") || new rv; g.Ka("yt.networkRequestMonitor.instance", a); rv.instance = a } return rv.instance }; + uv = function () { g.Vc.call(this); var a = this; this.B = !1; this.j = sla(); this.j.listen("networkstatus-online", function () { if (a.B && g.Pr("offline_error_handling")) { var b = qv().get("errors", !0); if (b) { for (var c in b) if (b[c]) { var d = new g.pt(c, "sent via offline_errors"); d.name = b[c].name; d.stack = b[c].stack; d.level = b[c].level; g.sr(d) } qv().set("errors", {}, 2592E3, !0) } } }) }; + eqa = function () { if (!uv.instance) { var a = g.La("yt.networkStatusManager.instance") || new uv; g.Ka("yt.networkStatusManager.instance", a); uv.instance = a } return uv.instance }; + g.vv = function (a) { a = a === void 0 ? {} : a; g.Vc.call(this); var b = this; this.j = this.D = 0; this.B = eqa(); var c = g.La("yt.networkStatusManager.instance.listen").bind(this.B); c && (a.rateLimit ? (this.rateLimit = a.rateLimit, c("networkstatus-online", function () { fqa(b, "publicytnetworkstatus-online") }), c("networkstatus-offline", function () { fqa(b, "publicytnetworkstatus-offline") })) : (c("networkstatus-online", function () { b.dispatchEvent("publicytnetworkstatus-online") }), c("networkstatus-offline", function () { b.dispatchEvent("publicytnetworkstatus-offline") }))) }; + fqa = function (a, b) { a.rateLimit ? a.j ? (g.Zo.jk(a.D), a.D = g.Zo.Vi(function () { a.C !== b && (a.dispatchEvent(b), a.C = b, a.j = (0, g.Zt)()) }, a.rateLimit - ((0, g.Zt)() - a.j))) : (a.dispatchEvent(b), a.C = b, a.j = (0, g.Zt)()) : a.dispatchEvent(b) }; + xv = function () { + var a = jv.call; wv || (wv = new g.vv({ Eoa: !0, Xma: !0 })); a.call(jv, this, { + Kh: { w7: Upa, Yz: Tpa, zY: Qpa, C$: Rpa, jT: Spa, set: Ppa }, lh: wv, handleError: function (b, c, d) { var e, f = d == null ? void 0 : (e = d.error) == null ? void 0 : e.code; if (f === 400 || f === 415) { var h; ur(new g.pt(b.message, c, d == null ? void 0 : (h = d.error) == null ? void 0 : h.code), void 0, void 0, void 0, !0) } else g.sr(b) }, + xA: ur, sendFn: gqa, now: g.Zt, S3: dqa, Go: g.xt(), xS: "publicytnetworkstatus-online", IR: "publicytnetworkstatus-offline", CJ: !0, jJ: .1, aM: g.Qr("potential_esf_error_limit", 10), kb: g.Pr, GE: !(g.rt() && g.Ni(document.location.toString()) !== "www.youtube-nocookie.com") + }); this.C = new g.oj; g.Pr("networkless_immediately_drop_all_requests") && Vpa(); Noa("LogsDatabaseV2") + }; + yv = function () { + var a = g.La("yt.networklessRequestController.instance"); a || (a = new xv, g.Ka("yt.networklessRequestController.instance", a), g.Pr("networkless_logging") && g.xu().then(function (b) { a.zf = b; Jpa(a); a.C.resolve(); a.CJ && Math.random() <= a.jJ && a.zf && Ypa(a.zf); g.Pr("networkless_immediately_drop_sw_health_store") && hqa(a) })); + return a + }; + hqa = function (a) { var b; g.J(function (c) { if (!a.zf) throw b = g.Tt("clearSWHealthLogsDb"), b; return c.return(Zpa(a.zf).catch(function (d) { a.handleError(d) })) }) }; + gqa = function (a, b, c, d) { + d = d === void 0 ? !1 : d; b = g.Pr("web_fp_via_jspb") ? Object.assign({}, b) : b; g.Pr("use_cfr_monitor") && iqa(a, b); if (g.Pr("use_request_time_ms_header")) b.headers && Cr(a) && (b.headers["X-Goog-Request-Time"] = JSON.stringify(Math.round((0, g.Zt)()))); else { var e; if ((e = b.postParams) == null ? 0 : e.requestTimeMs) b.postParams.requestTimeMs = Math.round((0, g.Zt)()) } c && Object.keys(b).length === 0 ? g.nv(a) : b.compress ? b.postBody ? (typeof b.postBody !== "string" && (b.postBody = JSON.stringify(b.postBody)), fv(a, b.postBody, + b, g.Ur, d)) : fv(a, JSON.stringify(b.postParams), b, Vr, d) : g.Ur(a, b) + }; + zv = function (a, b) { g.Pr("use_event_time_ms_header") && Cr(a) && (b.headers || (b.headers = {}), b.headers["X-Goog-Event-Time"] = JSON.stringify(Math.round((0, g.Zt)()))); return b }; + iqa = function (a, b) { + var c = b.onError ? b.onError : function () { }; + b.onError = function (e, f) { tv().requestComplete(a, !1); c(e, f) }; + var d = b.onSuccess ? b.onSuccess : function () { }; + b.onSuccess = function (e, f) { tv().requestComplete(a, !0); d(e, f) } + }; + g.Av = function (a) { this.config_ = null; a ? this.config_ = a : fpa() && (this.config_ = g.Ju()) }; + g.Bv = function (a, b, c, d) { + function e(p) { + try { if ((p === void 0 ? 0 : p) && d.retry && !d.networklessOptions.bypassNetworkless) f.method = "POST", d.networklessOptions.writeThenSend ? yv().writeThenSend(n, f) : yv().sendAndWrite(n, f); else if (d.compress) { var q = !d.networklessOptions.writeThenSend; if (f.postBody) { var r = f.postBody; typeof r !== "string" && (r = JSON.stringify(f.postBody)); fv(n, r, f, g.Ur, q) } else fv(n, JSON.stringify(f.postParams), f, Vr, q) } else g.Pr("web_all_payloads_via_jspb") ? g.Ur(n, f) : Vr(n, f) } catch (t) { + if (t.name === "InvalidAccessError") ur(Error("An extension is blocking network request.")); + else throw t; + } + } + !g.pr("VISITOR_DATA") && b !== "visitor_id" && Math.random() < .01 && ur(new g.pt("Missing VISITOR_DATA when sending innertube request.", b, c, d)); if (!a.isReady()) throw a = new g.pt("innertube xhrclient not ready", b, c, d), g.sr(a), a; var f = { + headers: d.headers || {}, method: "POST", postParams: c, postBody: d.postBody, postBodyFormat: d.postBodyFormat || "JSON", onTimeout: function () { d.onTimeout() }, + onFetchTimeout: d.onTimeout, onSuccess: function (p, q) { if (d.onSuccess) d.onSuccess(q) }, + onFetchSuccess: function (p) { if (d.onSuccess) d.onSuccess(p) }, + onError: function (p, q) { if (d.onError) d.onError(q) }, + onFetchError: function (p) { if (d.onError) d.onError(p) }, + timeout: d.timeout, withCredentials: !0, compress: d.compress + }; f.headers["Content-Type"] || (f.headers["Content-Type"] = "application/json"); c = ""; var h = a.config_.BZ; h && (c = h); var l = a.config_.CZ || !1; h = ppa(l, c, d); Object.assign(f.headers, h); (h = f.headers.Authorization) && !c && l && (f.headers["x-origin"] = window.location.origin); b = "/youtubei/" + a.config_.innertubeApiVersion + "/" + b; l = { alt: "json" }; var m = a.config_.LQ && h; m = m && h.startsWith("Bearer"); m || (l.key = a.config_.innertubeApiKey); var n = g.Ar("" + c + b, l); g.La("ytNetworklessLoggingInitializationOptions") && + jqa.isNwlInitialized ? Foa().then(function (p) { e(p) }) : e(!1) + }; + g.Gv = function (a, b, c) { + var d = g.Cv(); if (d && b) { + var e = d.subscribe(a, function () { + function f() { Dv[e] && b.apply && typeof b.apply == "function" && b.apply(c || window, h) } + var h = arguments; try { g.Ev[a] ? f() : g.Kr(f, 0) } catch (l) { g.sr(l) } + }, c); + Dv[e] = !0; Fv[a] || (Fv[a] = []); Fv[a].push(e); return e + } return 0 + }; + kqa = function (a) { var b = g.Gv("LOGGED_IN", function (c) { a.apply(void 0, arguments); g.Hv(b) }) }; + g.Hv = function (a) { var b = g.Cv(); b && (typeof a === "number" ? a = [a] : typeof a === "string" && (a = [parseInt(a, 10)]), g.cc(a, function (c) { b.unsubscribeByKey(c); delete Dv[c] })) }; + g.Iv = function (a, b) { var c = g.Cv(); return c ? c.publish.apply(c, arguments) : !1 }; + mqa = function (a) { var b = g.Cv(); if (b) if (b.clear(a), a) lqa(a); else for (var c in Fv) lqa(c) }; + g.Cv = function () { return g.Ja.ytPubsubPubsubInstance }; + lqa = function (a) { Fv[a] && (a = Fv[a], g.cc(a, function (b) { Dv[b] && delete Dv[b] }), a.length = 0) }; + g.Jv = function (a, b, c) { nqa(a, b, c === void 0 ? null : c) }; + nqa = function (a, b, c) { c = c === void 0 ? null : c; var d = oqa(a), e = document.getElementById(d), f = e && Ana(e), h = e && !f; f ? b && b() : (b && (f = g.Gv(d, b), b = "" + g.Ta(b), pqa[b] = f), h || (e = qqa(a, d, function () { Ana(e) || (zna(e), g.Iv(d), g.Kr(function () { mqa(d) }, 0)) }, c))) }; + qqa = function (a, b, c, d) { + d = d === void 0 ? null : d; var e = g.je("SCRIPT"); e.id = b; e.onload = function () { c && setTimeout(c, 0) }; + e.onreadystatechange = function () { switch (e.readyState) { case "loaded": case "complete": e.onload() } }; + d && e.setAttribute("nonce", d); g.Pd(e, g.Kq(a)); a = document.getElementsByTagName("head")[0] || document.body; a.insertBefore(e, a.firstChild); return e + }; + oqa = function (a) { var b = document.createElement("a"); g.Kd(b, a); a = b.href.replace(/^[a-zA-Z]+:\/\//, "//"); return "js-" + Vd(a) }; + Mv = function (a) { + var b = g.Ca.apply(1, arguments); if (!Kv(a) || b.some(function (d) { return !Kv(d) })) throw Error("Only objects may be merged."); + b = g.w(b); for (var c = b.next(); !c.done; c = b.next())Lv(a, c.value) + }; + Lv = function (a, b) { for (var c in b) if (Kv(b[c])) { if (c in a && !Kv(a[c])) throw Error("Cannot merge an object into a non-object."); c in a || (a[c] = {}); Lv(a[c], b[c]) } else if (Nv(b[c])) { if (c in a && !Nv(a[c])) throw Error("Cannot merge an array into a non-array."); c in a || (a[c] = []); rqa(a[c], b[c]) } else a[c] = b[c]; return a }; + rqa = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next())c = c.value, Kv(c) ? a.push(Lv({}, c)) : Nv(c) ? a.push(rqa([], c)) : a.push(c); return a }; + Kv = function (a) { return typeof a === "object" && !Array.isArray(a) }; + Nv = function (a) { return typeof a === "object" && Array.isArray(a) }; + Ov = function (a) { g.O.call(this); this.B = a }; + Pv = function (a) { Ov.call(this, !0); this.j = a }; + sqa = function (a, b) { + g.O.call(this); var c = this; this.C = []; this.N = !1; this.B = 0; this.G = this.K = this.D = !1; this.qa = null; var d = (0, g.Ua)(a, b); this.j = new g.fp(function () { return d(c.qa) }, 300); + g.P(this, this.j); this.Y = this.Z = Infinity + }; + tqa = function (a, b) { if (!b) return !1; for (var c = 0; c < b.length; c++) { var d = b.item(c); if (d && a.C.includes(d.identifier)) return !0 } return !1 }; + Rv = function (a) { if (window.crypto && window.crypto.getRandomValues) try { var b = Array(a), c = new Uint8Array(a); window.crypto.getRandomValues(c); for (var d = 0; d < b.length; d++)b[d] = c[d]; return b } catch (f) { } b = Array(a); for (c = 0; c < a; c++) { d = Date.now(); for (var e = 0; e < d % 23; e++)b[c] = Math.random(); b[c] = Math.floor(Math.random() * 256) } if (Qv) for (c = 1, d = 0; d < Qv.length; d++)b[c % a] = b[c % a] ^ b[(c - 1) % a] / 4 ^ Qv.charCodeAt(d), c++; return b }; + g.Sv = function (a) { a = Rv(a); for (var b = [], c = 0; c < a.length; c++)b.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(a[c] & 63)); return b.join("") }; + g.uqa = function () { return g.Al(Rv(16), function (a) { return (a & 15).toString(16) }).join("") }; + vqa = function () { + var a = {}; var b = a.bda === void 0 ? !1 : a.bda; a = a.j8 === void 0 ? !0 : a.j8; if (g.La("_lact", window) == null) { + var c = parseInt(g.pr("LACT"), 10); c = isFinite(c) ? Date.now() - Math.max(c, 0) : -1; g.Ka("_lact", c, window); g.Ka("_fact", c, window); c == -1 && Tv(); g.Rs(document, "keydown", Tv); g.Rs(document, "keyup", Tv); g.Rs(document, "mousedown", Tv); g.Rs(document, "mouseup", Tv); b ? g.Rs(window, "touchmove", function () { Uv("touchmove", 200) }, { passive: !0 }) : (g.Rs(window, "resize", function () { Uv("resize", 200) }), a && g.Rs(window, "scroll", + function () { Uv("scroll", 200) })); + new Vs(function () { Uv("mouse", 100) }); + g.Rs(document, "touchstart", Tv, { passive: !0 }); g.Rs(document, "touchend", Tv, { passive: !0 }) + } + }; + Uv = function (a, b) { Vv[a] || (Vv[a] = !0, g.Zo.Vi(function () { Tv(); Vv[a] = !1 }, b)) }; + Tv = function () { g.La("_lact", window) == null && (vqa(), g.La("_lact", window)); var a = Date.now(); g.Ka("_lact", a, window); g.La("_fact", window) == -1 && g.Ka("_fact", a, window); (a = g.La("ytglobal.ytUtilActivityCallback_")) && a() }; + Wv = function () { var a = g.La("_lact", window); return a == null ? -1 : Math.max(Date.now() - a, 0) }; + Xv = function (a) { this.name = a }; + Yv = function (a) { this.key = a }; + wqa = function () { var a = this; this.j = new Map; this.C = new Map; this.B = new Map; this.hd = { Pna: function () { return new Map(a.j) } } }; + Zv = function (a, b) { a.j.set(b.aH, b); var c = a.C.get(b.aH); if (c) try { c.gC(a.resolve(b.aH)) } catch (d) { c.ZS(d) } }; + aw = function (a, b, c, d) { + d = d === void 0 ? !1 : d; if (c.indexOf(b) > -1) throw Error("Deps cycle for: " + b); if (a.B.has(b)) return a.B.get(b); if (!a.j.has(b)) { if (d) return; throw Error("No provider for: " + b); } d = a.j.get(b); c.push(b); if (d.AU !== void 0) var e = d.AU; else if (d.lfa) e = d[$v] ? xqa(a, d[$v], c) : [], e = d.lfa.apply(d, g.x(e)); else if (d.F3) { e = d.F3; var f = e[$v] ? xqa(a, e[$v], c) : []; e = new (Function.prototype.bind.apply(e, [null].concat(g.x(f)))) } else throw Error("Could not resolve providers for: " + b); c.pop(); d.Kpa || a.B.set(b, e); + return e + }; + xqa = function (a, b, c) { return b ? b.map(function (d) { return d instanceof Yv ? aw(a, d.key, c, !0) : aw(a, d, c) }) : [] }; + cw = function () { bw || (bw = new wqa); return bw }; + ew = function () { var a, b; return "h5vcc" in dw && ((a = dw.h5vcc.traceEvent) == null ? 0 : a.traceBegin) && ((b = dw.h5vcc.traceEvent) == null ? 0 : b.traceEnd) ? 1 : "performance" in dw && dw.performance.mark && dw.performance.measure ? 2 : 0 }; + fw = function (a) { var b = ew(); switch (b) { case 1: dw.h5vcc.traceEvent.traceBegin("YTLR", a); break; case 2: dw.performance.mark(a + "-start"); break; case 0: break; default: Ld(b, "unknown trace type") } }; + yqa = function (a) { var b = ew(); switch (b) { case 1: dw.h5vcc.traceEvent.traceEnd("YTLR", a); break; case 2: b = a + "-start"; var c = a + "-end"; dw.performance.mark(c); dw.performance.measure(a, b, c); break; case 0: break; default: Ld(b, "unknown trace type") } }; + zqa = function (a) { + var b = this; var c = c === void 0 ? 0 : c; var d = d === void 0 ? g.xt() : d; this.C = c; this.scheduler = d; this.B = new g.oj; this.j = a; for (a = { tx: 0 }; a.tx < this.j.length; a = { SL: void 0, tx: a.tx }, a.tx++)a.SL = this.j[a.tx], c = function (e) { return function () { e.SL.cR(); b.j[e.tx].dM = !0; b.j.every(function (f) { return f.dM === !0 }) && b.B.resolve() } }(a), d = ut(c, gw(this, a.SL)), this.j[a.tx] = Object.assign({}, a.SL, { + cR: c, + jobId: d + }) + }; + Aqa = function (a) { + var b = Array.from(a.j.keys()).sort(function (d, e) { return gw(a, a.j[e]) - gw(a, a.j[d]) }); + b = g.w(b); for (var c = b.next(); !c.done; c = b.next())c = a.j[c.value], c.jobId === void 0 || c.dM || (a.scheduler.jk(c.jobId), ut(c.cR, 10)) + }; + gw = function (a, b) { var c; return (c = b.priority) != null ? c : a.C }; + iw = function (a) { this.state = a; this.plugins = []; this.C = void 0; this.D = {}; hw && fw(this.state) }; + Bqa = function (a, b) { + var c = b.filter(function (e) { return jw(a, e) === 10 }), d = b.filter(function (e) { return jw(a, e) !== 10 }); + return a.D.Gpa ? function () { var e = g.Ca.apply(0, arguments); return g.J(function (f) { if (f.j == 1) return g.G(f, a.Hda.apply(a, [c].concat(g.x(e))), 2); a.j2.apply(a, [d].concat(g.x(e))); g.ua(f) }) } : function () { + var e = g.Ca.apply(0, arguments); + a.Ida.apply(a, [c].concat(g.x(e))); a.j2.apply(a, [d].concat(g.x(e))) + } + }; + jw = function (a, b) { var c, d; return (d = (c = a.C) != null ? c : b.priority) != null ? d : 0 }; + kw = function (a) { hw && a && fw(a) }; + lw = function (a) { hw && a && yqa(a) }; + Dqa = function (a, b, c) { Cqa && console.groupCollapsed && console.groupEnd && (console.groupCollapsed("[" + a.constructor.name + "] '" + a.state + "' to '" + b + "'"), console.log("with message: ", c), console.groupEnd()) }; + mw = function (a) { + iw.call(this, a === void 0 ? "none" : a); this.j = null; this.C = 10; this.transitions = [{ from: "none", to: "application_navigating", action: this.G }, { from: "application_navigating", to: "none", action: this.K }, { from: "application_navigating", to: "application_navigating", action: function () { } }, + { from: "none", to: "none", action: function () { } }] + }; + Eqa = function () { nw || (nw = new mw); return nw }; + ow = function () { var a = this; this.store = {}; this.j = 0; this.B = {}; this.hd = { Dna: function () { return a.j } } }; + rw = function (a, b) { var c = pw(b); if (a.B[c]) return a.B[c]; var d = Object.keys(a.store) || []; if (d.length <= 1 && pw(b) === d[0]) return d; for (var e = [], f = 0; f < d.length; f++) { var h = d[f].split("/"); if (qw(b.auth, h[0])) { var l = b.isJspb; qw(l === void 0 ? "undefined" : l ? "true" : "false", h[1]) && qw(b.cttAuthInfo, h[2]) && (l = b.tier, l = l === void 0 ? "undefined" : JSON.stringify(l), qw(l, h[3]) && e.push(d[f])) } } return a.B[c] = e }; + qw = function (a, b) { return a === void 0 || a === "undefined" ? !0 : a === b }; + pw = function (a) { return [a.auth === void 0 ? "undefined" : a.auth, a.isJspb === void 0 ? "undefined" : a.isJspb, a.cttAuthInfo === void 0 ? "undefined" : a.cttAuthInfo, a.tier === void 0 ? "undefined" : a.tier].join("/") }; + tw = function () { this.D = this.j = this.B = 0; this.C = !1 }; + uw = function () { var a = g.La("yt.logging.ims"); a || (a = new ow, g.Ka("yt.logging.ims", a)); return a }; + Hqa = function () { + if (xpa() && !Fqa) { + var a = function (c) { c = c.data; if (c.op === "serializedGelBatch") { var d = vw.get(c.key); d && (Gqa(c.serializedBatch, d.client, d.resolve, d.networklessOptions, d.isIsolated, d.useVSSEndpoint, d.dangerousLogToVisitorSession, d.requestsOutstanding), vw.delete(c.key)) } }, b = av(); + b && (b.addEventListener("message", a), b.onerror = function () { vw.clear() }); + Fqa = !0 + } + }; + Nqa = function (a, b) { if (a.endpoint === "log_event") { ww(a); var c = xw(a), d = Iqa(a.payload) || "", e = Jqa(d), f = 200; if (e) { if (e.enabled === !1 && !g.Pr("web_payload_policy_disabled_killswitch")) return; f = Kqa(e.tier); if (f === 400) { Lqa(a, b); return } } yw[c] = !0; e = { cttAuthInfo: c, isJspb: !1, tier: f }; uw().storePayload(e, a.payload); Mqa(b, c, !1, e, zw(d)) } }; + Pqa = function (a, b, c) { if (b.endpoint === "log_event") { ww(void 0, b); var d = xw(b, !0), e = Jqa(a), f = 200; if (e) { if (e.enabled === !1 && !g.Pr("web_payload_policy_disabled_killswitch")) return; f = Kqa(e.tier); if (f === 400) { Oqa(a, b, c); return } } yw[d] = !0; e = { cttAuthInfo: d, isJspb: !0, tier: f }; uw().storePayload(e, ph(b.payload)); Mqa(c, d, !0, e, zw(a)) } }; + Mqa = function (a, b, c, d, e) { + function f() { Aw({ writeThenSend: !0 }, g.Pr("flush_only_full_queue") ? b : void 0, c, d.tier) } + c = c === void 0 ? !1 : c; e = e === void 0 ? !1 : e; a && (Bw = new a); a = g.Qr("tvhtml5_logging_max_batch_ads_fork") || g.Qr("tvhtml5_logging_max_batch") || g.Qr("web_logging_max_batch") || 100; var h = (0, g.Zt)(), l = Cw(c, d.tier), m = l.D; e && (l.C = !0); e = 0; d && (e = uw().getSequenceCount(d)); e >= 1E3 ? f() : e >= a ? Dw || (Dw = Ew(function () { f(); Dw = void 0 }, 0)) : h - m >= 10 && (Qqa(c, d.tier), l.D = h) + }; + Lqa = function (a, b) { if (a.endpoint === "log_event") { ww(a); var c = xw(a), d = new Map; d.set(c, [a.payload]); var e = Iqa(a.payload) || ""; b && (Bw = new b); return new g.Fe(function (f, h) { Bw && Bw.isReady() ? Fw(d, Bw, f, h, { bypassNetworkless: !0 }, !0, zw(e)) : f() }) } }; + Oqa = function (a, b, c) { if (b.endpoint === "log_event") { ww(void 0, b); var d = xw(b, !0), e = new Map; e.set(d, [ph(b.payload)]); c && (Bw = new c); return new g.Fe(function (f) { Bw && Bw.isReady() ? Gw(e, Bw, f, { bypassNetworkless: !0 }, !0, zw(a)) : f() }) } }; + xw = function (a, b) { var c = ""; if (a.dangerousLogToVisitorSession) c = "visitorOnlyApprovedKey"; else if (a.cttAuthInfo) { if (b === void 0 ? 0 : b) { b = a.cttAuthInfo.token; c = a.cttAuthInfo; var d = new kr; c.videoId ? d.setVideoId(c.videoId) : c.playlistId && xg(d, 2, Hw, Mf(c.playlistId)); Iw[b] = d } else b = a.cttAuthInfo, c = {}, b.videoId ? c.videoId = b.videoId : b.playlistId && (c.playlistId = b.playlistId), Jw[a.cttAuthInfo.token] = c; c = a.cttAuthInfo.token } return c }; + Aw = function (a, b, c, d) { a = a === void 0 ? {} : a; c = c === void 0 ? !1 : c; new g.Fe(function (e, f) { var h = Cw(c, d), l = h.C; h.C = !1; Kw(h.B); Kw(h.j); h.j = 0; Bw && Bw.isReady() ? d === void 0 && g.Pr("enable_web_tiered_gel") ? Rqa(e, f, a, b, c, 300, l) : Rqa(e, f, a, b, c, d, l) : (Qqa(c, d), e()) }) }; + Rqa = function (a, b, c, d, e, f, h) { + var l = Bw; c = c === void 0 ? {} : c; e = e === void 0 ? !1 : e; f = f === void 0 ? 200 : f; h = h === void 0 ? !1 : h; var m = new Map, n = new Map, p = { isJspb: e, cttAuthInfo: d, tier: f }, q = { isJspb: e, cttAuthInfo: d }; if (d !== void 0) e ? (b = g.Pr("enable_web_tiered_gel") ? uw().smartExtractMatchingEntries({ keys: [p, q], sizeLimit: 1E3 }) : uw().extractMatchingEntries(q), m.set(d, b), Gw(m, l, a, c, !1, h)) : (m = g.Pr("enable_web_tiered_gel") ? uw().smartExtractMatchingEntries({ keys: [p, q], sizeLimit: 1E3 }) : uw().extractMatchingEntries(q), n.set(d, m), + Fw(n, l, a, b, c, !1, h)); else if (e) { b = g.w(Object.keys(yw)); for (n = b.next(); !n.done; n = b.next())n = n.value, f = g.Pr("enable_web_tiered_gel") ? uw().smartExtractMatchingEntries({ keys: [p, q], sizeLimit: 1E3 }) : uw().extractMatchingEntries({ isJspb: !0, cttAuthInfo: n }), f.length > 0 && m.set(n, f), (g.Pr("web_fp_via_jspb_and_json") && c.writeThenSend || !g.Pr("web_fp_via_jspb_and_json")) && delete yw[n]; Gw(m, l, a, c, !1, h) } else { + m = g.w(Object.keys(yw)); for (p = m.next(); !p.done; p = m.next())p = p.value, q = g.Pr("enable_web_tiered_gel") ? uw().smartExtractMatchingEntries({ + keys: [{ + isJspb: !1, + cttAuthInfo: p, tier: f + }, { isJspb: !1, cttAuthInfo: p }], sizeLimit: 1E3 + }) : uw().extractMatchingEntries({ isJspb: !1, cttAuthInfo: p }), q.length > 0 && n.set(p, q), (g.Pr("web_fp_via_jspb_and_json") && c.writeThenSend || !g.Pr("web_fp_via_jspb_and_json")) && delete yw[p]; Fw(n, l, a, b, c, !1, h) + } + }; + Qqa = function (a, b) { + function c() { Aw({ writeThenSend: !0 }, void 0, a, b) } + a = a === void 0 ? !1 : a; b = b === void 0 ? 200 : b; var d = Cw(a, b), e = d === Sqa || d === Tqa ? 5E3 : Uqa; g.Pr("web_gel_timeout_cap") && !d.j && (e = Ew(function () { c() }, e), d.j = e); + Kw(d.B); e = g.pr("LOGGING_BATCH_TIMEOUT", g.Qr("web_gel_debounce_ms", 1E4)); g.Pr("shorten_initial_gel_batch_timeout") && Lw && (e = Vqa); e = Ew(function () { g.Qr("gel_min_batch_size") > 0 ? uw().getSequenceCount({ cttAuthInfo: void 0, isJspb: a, tier: b }) >= Wqa && c() : c() }, e); + d.B = e + }; + Fw = function (a, b, c, d, e, f, h) { + e = e === void 0 ? {} : e; var l = Math.round((0, g.Zt)()), m = a.size, n = Xqa(h); a = g.w(a); var p = a.next(); for (h = {}; !p.done; h = { ER: void 0, batchRequest: void 0, dangerousLogToVisitorSession: void 0, qS: void 0, SR: void 0 }, p = a.next()) { + var q = g.w(p.value); p = q.next().value; q = q.next().value; h.batchRequest = g.Gc({ context: g.Ku(b.config_ || g.Ju()) }); if (!g.Pa(q) && !g.Pr("throw_err_when_logevent_malformed_killswitch")) { d(); break } h.batchRequest.events = q; (q = Jw[p]) && Yqa(h.batchRequest, p, q); delete Jw[p]; h.dangerousLogToVisitorSession = + p === "visitorOnlyApprovedKey"; Zqa(h.batchRequest, l, h.dangerousLogToVisitorSession); $qa(e); h.qS = function (r) { + g.Pr("start_client_gcf") && g.Zo.Vi(function () { return g.J(function (t) { return g.G(t, ara(r), 0) }) }); + m--; m || c() + }; + h.ER = 0; h.SR = function (r) { return function () { r.ER++; if (e.bypassNetworkless && r.ER === 1) try { g.Bv(b, n, r.batchRequest, Mw({ writeThenSend: !0 }, r.dangerousLogToVisitorSession, r.qS, r.SR, f)), Lw = !1 } catch (t) { g.sr(t), d() } m--; m || c() } }(h); + try { g.Bv(b, n, h.batchRequest, Mw(e, h.dangerousLogToVisitorSession, h.qS, h.SR, f)), Lw = !1 } catch (r) { g.sr(r), d() } + } + }; + Gw = function (a, b, c, d, e, f) { + d = d === void 0 ? {} : d; var h = Math.round((0, g.Zt)()), l = { value: a.size }, m = new Map([].concat(g.x(a))); m = g.w(m); for (var n = m.next(); !n.done; n = m.next()) { + var p = g.w(n.value).next().value, q = a.get(p); n = new Gma; var r = b.config_ || g.Ju(), t = new Vq, u = new Pq; Sg(u, 1, r.KQ); Sg(u, 2, r.JQ); Ug(u, 16, r.AZ); Sg(u, 17, r.innertubeContextClientVersion); if (r.GK) { + var y = r.GK, A = new Nq; y.coldConfigData && Sg(A, 1, y.coldConfigData); y.appInstallData && Sg(A, 6, y.appInstallData); y.coldHashData && Sg(A, 3, y.coldHashData); y.hotHashData && + A.Js(y.hotHashData); Eg(u, Nq, 62, A) + } (y = g.Ja.devicePixelRatio) && y != 1 && ig(u, 65, Df(y)); y = Rr(); y !== "" && Sg(u, 54, y); y = Sr(); if (y.length > 0) { A = new Rq; for (var D = 0; D < y.length; D++) { var F = new Qq; Sg(F, 1, y[D].key); xg(F, 2, bra, Mf(y[D].value)); Hg(A, 15, Qq, F) } Eg(t, Rq, 5, A) } gpa(r, u); hpa(t); ipa(u); jpa(r, u); kpa(u); g.Pr("start_client_gcf") && lpa(u); g.pr("DELEGATED_SESSION_ID") && !g.Pr("pageid_as_header_web") && (r = new Uq, Sg(r, 3, g.pr("DELEGATED_SESSION_ID"))); !g.Pr("fill_delegate_context_in_gel_killswitch") && (y = g.pr("INNERTUBE_CONTEXT_SERIALIZED_DELEGATION_CONTEXT")) && + (A = Dg(t, Uq, 3) || new Uq, r = t, y = Sg(A, 18, y), Eg(r, Uq, 3, y)); r = u; y = g.w(Object.entries(xr(g.pr("DEVICE", "")))); for (A = y.next(); !A.done; A = y.next())D = g.w(A.value), A = D.next().value, D = D.next().value, A === "cbrand" ? Sg(r, 12, D) : A === "cmodel" ? Sg(r, 13, D) : A === "cbr" ? Sg(r, 87, D) : A === "cbrver" ? Sg(r, 88, D) : A === "cos" ? Sg(r, 18, D) : A === "cosver" ? Sg(r, 19, D) : A === "cplatform" && Ug(r, 42, Rna(D)); t.BH(u); Eg(n, Vq, 1, t); if (u = Iw[p]) a: { + if (u.nf()) t = 1; else if (u.getPlaylistId()) t = 2; else break a; Eg(n, kr, 4, u); u = Dg(n, Vq, 1) || new Vq; r = Dg(u, Uq, 3) || new Uq; + y = new Tq; y.setToken(p); Ug(y, 1, t); Hg(r, 12, Tq, y); Eg(u, Uq, 3, r) + } delete Iw[p]; p = p === "visitorOnlyApprovedKey"; Nw() || Rg(n, 2, h); !p && (t = g.pr("EVENT_ID")) && (u = cra(), r = new jr, Sg(r, 1, t), Rg(r, 2, u), Eg(n, jr, 5, r)); $qa(d); if (g.Pr("jspb_serialize_with_worker") && (t = av()) && d.writeThenSend) { vw.set(Ow, { client: b, resolve: c, networklessOptions: d, isIsolated: e, useVSSEndpoint: f, dangerousLogToVisitorSession: p, requestsOutstanding: l }); t.postMessage({ op: "gelBatchToSerialize", batchRequest: ph(n), clientEvents: q, key: Ow }); Ow++; break } if (q) { + t = + []; for (u = 0; u < q.length; u++)try { t.push(new ir(q[u])) } catch (H) { g.sr(new g.pt("Transport failed to deserialize " + String(q[u]))) } q = t + } else q = []; q = g.w(q); for (t = q.next(); !t.done; t = q.next())Hg(n, 3, ir, t.value); q = { startTime: (0, g.Zt)(), ticks: {}, infos: {} }; n = n.cn(); q.ticks.geljspc = (0, g.Zt)(); g.Pr("log_jspb_serialize_latency") && Yu("gel_jspb_serialize", q, { sampleRate: .1 }); Gqa(n, b, c, d, e, f, p, l) + } + }; + Gqa = function (a, b, c, d, e, f, h, l) { + d = d === void 0 ? {} : d; l = l === void 0 ? { value: 0 } : l; f = Xqa(f); d = Mw(d, h, function (m) { + g.Pr("start_client_gcf") && g.Zo.Vi(function () { return g.J(function (n) { return g.G(n, ara(m), 0) }) }); + l.value--; l.value || c() + }, function () { + l.value--; + l.value || c() + }, e); + d.headers["Content-Type"] = "application/json+protobuf"; d.postBodyFormat = "JSPB"; d.postBody = a; g.Bv(b, f, "", d); Lw = !1 + }; + $qa = function (a) { g.Pr("always_send_and_write") && (a.writeThenSend = !1) }; + Mw = function (a, b, c, d, e) { a = { retry: !0, onSuccess: c, onError: d, networklessOptions: a, dangerousLogToVisitorSession: b, Kma: !!e, headers: {}, postBodyFormat: "", postBody: "", compress: g.Pr("compress_gel") || g.Pr("compress_gel_lr") }; Nw() && (a.headers["X-Goog-Request-Time"] = JSON.stringify(Math.round((0, g.Zt)()))); return a }; + Zqa = function (a, b, c) { Nw() || (a.requestTimeMs = String(b)); g.Pr("unsplit_gel_payloads_in_logs") && (a.unsplitGelPayloadsInLogs = !0); !c && (b = g.pr("EVENT_ID")) && (c = cra(), a.serializedClientEventId = { serializedEventId: b, clientCounter: String(c) }) }; + cra = function () { var a = g.pr("BATCH_CLIENT_COUNTER") || 0; a || (a = Math.floor(Math.random() * dra / 2)); a++; a > dra && (a = 1); or("BATCH_CLIENT_COUNTER", a); return a }; + Yqa = function (a, b, c) { if (c.videoId) var d = "VIDEO"; else if (c.playlistId) d = "PLAYLIST"; else return; a.credentialTransferTokenTargetId = c; a.context = a.context || {}; a.context.user = a.context.user || {}; a.context.user.credentialTransferTokens = [{ token: b, scope: d }] }; + ww = function (a, b) { + if (!g.La("yt.logging.transport.enableScrapingForTest")) { + var c = Or("il_payload_scraping"); if ((c !== void 0 ? String(c) : "") === "enable_il_payload_scraping") Pw = [], g.Ka("yt.logging.transport.enableScrapingForTest", !0), g.Ka("yt.logging.transport.scrapedPayloadsForTesting", Pw), g.Ka("yt.logging.transport.payloadToScrape", "visualElementShown visualElementHidden visualElementAttached screenCreated visualElementGestured visualElementStateChanged".split(" ")), g.Ka("yt.logging.transport.getScrapedPayloadFromClientEventsFunction"), + g.Ka("yt.logging.transport.scrapeClientEvent", !0); else return + } c = g.La("yt.logging.transport.scrapedPayloadsForTesting"); var d = g.La("yt.logging.transport.payloadToScrape"); b && (b = b.payload, (b = g.La("yt.logging.transport.getScrapedPayloadFromClientEventsFunction").bind(b)()) && c.push(b)); b = g.La("yt.logging.transport.scrapeClientEvent"); if (d && d.length >= 1) for (var e = 0; e < d.length; e++)if (a && a.payload[d[e]]) if (b) c.push(a.payload); else { var f = void 0; c.push(((f = a) == null ? void 0 : f.payload)[d[e]]) } g.Ka("yt.logging.transport.scrapedPayloadsForTesting", + c) + }; + Nw = function () { return g.Pr("use_request_time_ms_header") || g.Pr("lr_use_request_time_ms_header") }; + Ew = function (a, b) { return g.Pr("transport_use_scheduler") === !1 ? g.Kr(a, b) : g.Pr("logging_avoid_blocking_during_navigation") || g.Pr("lr_logging_avoid_blocking_during_navigation") ? g.vt(0, function () { if (Eqa().currentState === "none") a(); else { var c = {}; Eqa().install((c.none = { callback: a }, c)) } }, b) : ut(a, 0, b) }; + Kw = function (a) { g.Pr("transport_use_scheduler") ? g.Zo.jk(a) : g.Mr(a) }; + ara = function (a) { var b, c, d, e, f, h, l, m, n, p; return g.J(function (q) { return q.j == 1 ? (d = (b = a) == null ? void 0 : (c = b.responseContext) == null ? void 0 : c.globalConfigGroup, e = g.R(d, era), h = (f = d) == null ? void 0 : f.hotHashData, l = g.R(d, fra), n = (m = d) == null ? void 0 : m.coldHashData, (p = cw().resolve(new Yv(Hu))) ? h ? e ? g.G(q, cpa(p, h, e), 2) : g.G(q, cpa(p, h), 2) : q.Ha(2) : q.return()) : n ? l ? g.G(q, dpa(p, n, l), 0) : g.G(q, dpa(p, n), 0) : q.Ha(0) }) }; + Cw = function (a, b) { b = b === void 0 ? 200 : b; return a ? b === 300 ? Sqa : gra : b === 300 ? Tqa : hra }; + Jqa = function (a) { if (g.Pr("enable_web_tiered_gel")) { a = ira[a || ""]; var b, c, d, e = cw().resolve(new Yv(Hu)) == null ? void 0 : (b = Iu()) == null ? void 0 : (c = b.loggingHotConfig) == null ? void 0 : (d = c.eventLoggingConfig) == null ? void 0 : d.payloadPolicies; if (e) for (b = 0; b < e.length; b++)if (e[b].payloadNumber === a) return e[b] } }; + Iqa = function (a) { a = Object.keys(a); a = g.w(a); for (var b = a.next(); !b.done; b = a.next())if (b = b.value, ira[b]) return b }; + Kqa = function (a) { switch (a) { case "DELAYED_EVENT_TIER_UNSPECIFIED": return 0; case "DELAYED_EVENT_TIER_DEFAULT": return 100; case "DELAYED_EVENT_TIER_DISPATCH_TO_EMPTY": return 200; case "DELAYED_EVENT_TIER_FAST": return 300; case "DELAYED_EVENT_TIER_IMMEDIATE": return 400; default: return 200 } }; + zw = function (a) { return a === "gelDebuggingEvent" }; + Xqa = function (a) { return (a === void 0 ? 0 : a) && g.Pr("vss_through_gel_video_stats") ? "video_stats" : "log_event" }; + Rw = function (a, b, c, d) { + d = d === void 0 ? {} : d; var e = {}, f = Math.round(d.timestamp || (0, g.Zt)()); e.eventTimeMs = f < Number.MAX_SAFE_INTEGER ? f : 0; e[a] = b; a = Wv(); e.context = { lastActivityMs: String(d.timestamp || !isFinite(a) ? -1 : a) }; d.sequenceGroup && !g.Pr("web_gel_sequence_info_killswitch") && (a = e.context, b = d.sequenceGroup, b = { index: jra(b), groupKey: b }, a.sequence = b, d.endOfSequence && delete Qw[d.sequenceGroup]); (d.sendIsolatedPayload ? Lqa : Nqa)({ endpoint: "log_event", payload: e, cttAuthInfo: d.cttAuthInfo, dangerousLogToVisitorSession: d.dangerousLogToVisitorSession }, + c) + }; + kra = function (a) { Aw(void 0, void 0, a === void 0 ? !1 : a) }; + jra = function (a) { Qw[a] = a in Qw ? Qw[a] + 1 : 0; return Qw[a] }; + g.Ht = function (a, b, c) { c = c === void 0 ? {} : c; var d = g.Av; g.pr("ytLoggingEventsDefaultDisabled", !1) && g.Av === g.Av && (d = null); Rw(a, b, d, c) }; + Sw = function (a) { this.j = a }; + g.Tw = function (a) { return new Sw({ trackingParams: a }) }; + mra = function (a) { var b = lra++; return new Sw({ veType: a, veCounter: b, elementIndex: void 0, dataElement: void 0, youtubeData: void 0, jspbYoutubeData: void 0, loggingDirectives: void 0 }) }; + nra = function (a) { return g.pr("client-screen-nonce-store", {})[a === void 0 ? 0 : a] }; + ora = function (a, b) { b = b === void 0 ? 0 : b; var c = g.pr("client-screen-nonce-store"); c || (c = {}, or("client-screen-nonce-store", c)); c[b] = a }; + Uw = function (a) { a = a === void 0 ? 0 : a; return a === 0 ? "ROOT_VE_TYPE" : "ROOT_VE_TYPE." + a }; + pra = function (a) { return g.pr(Uw(a === void 0 ? 0 : a)) }; + g.Vw = function (a) { return (a = pra(a === void 0 ? 0 : a)) ? new Sw({ veType: a, youtubeData: void 0, jspbYoutubeData: void 0 }) : null }; + qra = function () { var a = g.pr("csn-to-ctt-auth-info"); a || (a = {}, or("csn-to-ctt-auth-info", a)); return a }; + rra = function () { return Object.values(g.pr("client-screen-nonce-store", {})).filter(function (a) { return a !== void 0 }) }; + g.Ww = function (a) { a = nra(a === void 0 ? 0 : a); if (!a && !g.pr("USE_CSN_FALLBACK", !0)) return null; a || (a = "UNDEFINED_CSN"); return a ? a : null }; + tra = function (a) { for (var b = g.w(Object.values(sra)), c = b.next(); !c.done; c = b.next())if (g.Ww(c.value) === a) return !0; return !1 }; + ura = function (a, b, c) { var d = qra(); (c = g.Ww(c)) && delete d[c]; b && (d[a] = b) }; + Xw = function (a) { return qra()[a] }; + wra = function (a, b, c, d) { c = c === void 0 ? 0 : c; if (a !== nra(c) || b !== g.pr(Uw(c))) if (ura(a, d, c), ora(a, c), or(Uw(c), b), b = function () { setTimeout(function () { a && g.Ht("foregroundHeartbeatScreenAssociated", { clientDocumentNonce: vra, clientScreenNonce: a }) }, 0) }, "requestAnimationFrame" in window) try { window.requestAnimationFrame(b) } catch (e) { b() } else b() }; + Yw = function (a, b) { var c = c === void 0 ? !0 : c; var d = g.pr("VALID_SESSION_TEMPDATA_DOMAINS", []), e = g.Ni(window.location.href); e && d.push(e); e = g.Ni(a); if (g.Mb(d, e) || !e && nb(a, "/")) if (d = document.createElement("a"), g.Kd(d, a), a = d.href) if (a = Oi(a), a = Nfa(a)) if (c && !b.csn && (b.itct || b.ved) && (b = Object.assign({ csn: g.Ww() }, b)), f) { var f = parseInt(f, 10); isFinite(f) && f > 0 && xra(a, b, f) } else xra(a, b) }; + xra = function (a, b, c) { a = yra(a); b = b ? g.Si(b) : ""; c = c || 5; xs() && g.ds(a, b, c) }; + yra = function (a) { for (var b = g.w(zra), c = b.next(); !c.done; c = b.next())a = Wi(a, c.value); return "ST-" + Vd(a).toString(36) }; + Ara = function (a) { if (a.name === "JavaException") return !0; a = a.stack; return a.includes("chrome://") || a.includes("chrome-extension://") || a.includes("moz-extension://") }; + Bra = function () { this.Ft = []; this.ws = [] }; + $w = function () { if (!Zw) { var a = Zw = new Bra; a.ws.length = 0; a.Ft.length = 0; Cra(a, Dra) } return Zw }; + Cra = function (a, b) { b.ws && a.ws.push.apply(a.ws, b.ws); b.Ft && a.Ft.push.apply(a.Ft, b.Ft) }; + Era = function (a) { + function b() { return a.charCodeAt(d++) } + var c = a.length, d = 0; do { var e = ax(b); if (e === Infinity) break; var f = e >> 3; switch (e & 7) { case 0: e = ax(b); if (f === 2) return e; break; case 1: if (f === 2) return; d += 8; break; case 2: e = ax(b); if (f === 2) return a.substr(d, e); d += e; break; case 5: if (f === 2) return; d += 4; break; default: return } } while (d < c) + }; + ax = function (a) { var b = a(), c = b & 127; if (b < 128) return c; b = a(); c |= (b & 127) << 7; if (b < 128) return c; b = a(); c |= (b & 127) << 14; if (b < 128) return c; b = a(); return b < 128 ? c | (b & 127) << 21 : Infinity }; + Fra = function (a, b, c, d) { if (a) if (Array.isArray(a)) { var e = d; for (d = 0; d < a.length && !(a[d] && (e += bx(d, a[d], b, c), e > 500)); d++); d = e } else if (typeof a === "object") for (e in a) { if (a[e]) { var f = e; var h = a[e], l = b, m = c; f = typeof h !== "string" || f !== "clickTrackingParams" && f !== "trackingParams" ? 0 : (h = Era(atob(h.replace(/-/g, "+").replace(/_/g, "/")))) ? bx(f + ".ve", h, l, m) : 0; d += f; d += bx(e, a[e], b, c); if (d > 500) break } } else c[b] = cx(a), d += c[b].length; else c[b] = cx(a), d += c[b].length; return d }; + bx = function (a, b, c, d) { c += "." + a; a = cx(b); d[c] = a; return c.length + a.length }; + cx = function (a) { try { return (typeof a === "string" ? a : String(JSON.stringify(a))).substr(0, 500) } catch (b) { return "unable to serialize " + typeof a + " (" + b.message + ")" } }; + dx = function (a, b, c) { + c = c === void 0 ? {} : c; var d = !1; g.pr("ytLoggingEventsDefaultDisabled", !1) && (d = !0); d = d ? null : g.Av; c = c === void 0 ? {} : c; var e = Math.round(c.timestamp || (0, g.Zt)()); Rg(b, 1, e < Number.MAX_SAFE_INTEGER ? e : 0); e = new hr; if (c.lact) Rg(e, 1, isFinite(c.lact) ? c.lact : -1); else if (c.timestamp) Rg(e, 1, -1); else { var f = Wv(); Rg(e, 1, isFinite(f) ? f : -1) } if (c.sequenceGroup && !g.Pr("web_gel_sequence_info_killswitch")) { f = c.sequenceGroup; var h = jra(f), l = new gr; Rg(l, 2, h); Sg(l, 1, f); Eg(e, gr, 3, l); c.endOfSequence && delete Gra[c.sequenceGroup] } Eg(b, + hr, 33, e); (c.sendIsolatedPayload ? Oqa : Pqa)(a, { endpoint: "log_event", payload: b, cttAuthInfo: c.cttAuthInfo, dangerousLogToVisitorSession: c.dangerousLogToVisitorSession }, d) + }; + Gt = function (a) { g.ex(a) }; + g.fx = function (a) { g.ex(a, "WARNING") }; + g.ex = function (a, b) { + var c = c === void 0 ? {} : c; c.name = g.pr("INNERTUBE_CONTEXT_CLIENT_NAME", 1); c.version = g.pr("INNERTUBE_CONTEXT_CLIENT_VERSION"); var d = b === void 0 ? "ERROR" : b, e = !1; d = d === void 0 ? "ERROR" : d; e = e === void 0 ? !1 : e; if (a) { + a.hasOwnProperty("level") && a.level && (d = a.level); if (g.Pr("console_log_js_exceptions")) { + var f = []; f.push("Name: " + a.name); f.push("Message: " + a.message); a.hasOwnProperty("params") && f.push("Error Params: " + JSON.stringify(a.params)); a.hasOwnProperty("args") && f.push("Error args: " + JSON.stringify(a.args)); + f.push("File name: " + a.fileName); f.push("Stacktrace: " + a.stack); window.console.log(f.join("\n"), a) + } if (!(Hra >= 5)) { + var h = Ira, l = Nba(a), m = l.message || "Unknown Error", n = l.name || "UnknownError", p = l.stack || a.B || "Not available"; if (p.startsWith(n + ": " + m)) { var q = p.split("\n"); q.shift(); p = q.join("\n") } var r = l.lineNumber || "Not available", t = l.fileName || "Not available", u = p, y = 0; if (a.hasOwnProperty("args") && a.args && a.args.length) for (var A = 0; A < a.args.length && !(y = Fra(a.args[A], "params." + A, c, y), y >= 500); A++); else if (a.hasOwnProperty("params") && + a.params) { var D = a.params; if (typeof a.params === "object") for (var F in D) { if (D[F]) { var H = "params." + F, M = cx(D[F]); c[H] = M; y += H.length + M.length; if (y > 500) break } } else c.params = cx(D) } if (h.length) for (var N = 0; N < h.length && !(y = Fra(h[N], "params.context." + N, c, y), y >= 500); N++); navigator.vendor && !c.hasOwnProperty("vendor") && (c["device.vendor"] = navigator.vendor); var Q = { message: m, name: n, lineNumber: r, fileName: t, stack: u, params: c, sampleWeight: 1 }, Z = Number(a.columnNumber); isNaN(Z) || (Q.lineNumber = Q.lineNumber + ":" + Z); if (a.level === + "IGNORED") var fa = 0; else a: { for (var pa = $w(), Y = g.w(pa.ws), S = Y.next(); !S.done; S = Y.next()) { var W = S.value; if (Q.message && Q.message.match(W.qB)) { fa = W.weight; break a } } for (var v = g.w(pa.Ft), V = v.next(); !V.done; V = v.next()) { var cb = V.value; if (cb.callback(Q)) { fa = cb.weight; break a } } fa = 1 } Q.sampleWeight = fa; for (var zb = g.w(Jra), Ra = zb.next(); !Ra.done; Ra = zb.next()) { + var db = Ra.value; if (db.RL[Q.name]) for (var ab = g.w(db.RL[Q.name]), ob = ab.next(); !ob.done; ob = ab.next()) { + var Wa = ob.value, B = Q.message.match(Wa.Pj); if (B) { + Q.params["params.error.original"] = + B[0]; for (var C = Wa.groups, E = {}, I = 0; I < C.length; I++)E[C[I]] = B[I + 1], Q.params["params.error." + C[I]] = B[I + 1]; Q.message = db.uR(E); break + } + } + } Q.params || (Q.params = {}); var L = $w(); Q.params["params.errorServiceSignature"] = "msg=" + L.ws.length + "&cb=" + L.Ft.length; Q.params["params.serviceWorker"] = "false"; g.Ja.document && g.Ja.document.querySelectorAll && (Q.params["params.fscripts"] = String(document.querySelectorAll("script:not([nonce])").length)); ed("sample").constructor !== bd && (Q.params["params.fconst"] = "true"); window.yterr && + typeof window.yterr === "function" && window.yterr(Q); if (Q.sampleWeight !== 0 && !Kra.has(Q.message)) { + if (e && g.Pr("web_enable_error_204")) Lra(d === void 0 ? "ERROR" : d, Q); else { + var X = d; X = X === void 0 ? "ERROR" : X; if (X === "ERROR") { + gx.publish("handleError", Q); if (g.Pr("record_app_crashed_web") && Mra === 0 && Q.sampleWeight === 1) if (Mra++, g.Pr("errors_via_jspb")) { + var ha = new dr; var ca = Ug(ha, 1, 1); if (!g.Pr("report_client_error_with_app_crash_ks")) { + var K = new cr, la = new br, qa = new ar, ia = new $q; var Ga = Sg(ia, 1, Q.message); var kb = Eg(qa, $q, + 3, Ga); var Ob = Eg(la, ar, 5, kb); var nc = Eg(K, br, 9, Ob); Eg(ca, cr, 4, nc) + } var Oa = g.Pr("jspb_sparse_encoded_pivot") ? new ir([{}]) : new ir; Fg(Oa, dr, 20, hx, ca); dx("appCrashed", Oa) + } else { var Dc = { appCrashType: "APP_CRASH_TYPE_BREAKPAD" }; g.Pr("report_client_error_with_app_crash_ks") || (Dc.systemHealth = { crashData: { clientError: { logMessage: { message: Q.message } } } }); g.Ht("appCrashed", Dc) } Nra++ + } else X === "WARNING" && gx.publish("handleWarning", Q); if (g.Pr("kevlar_gel_error_routing")) a: { + var md = X; if (g.Pr("errors_via_jspb")) { + if (Ora()) var nd = + void 0; else { + var ie = new Yq; Sg(ie, 1, Q.stack); Q.fileName && Sg(ie, 4, Q.fileName); var Bd = Q.lineNumber && Q.lineNumber.split ? Q.lineNumber.split(":") : []; Bd.length !== 0 && (Bd.length !== 1 || isNaN(Number(Bd[0])) ? Bd.length !== 2 || isNaN(Number(Bd[0])) || isNaN(Number(Bd[1])) || (ig(ie, 2, Gf(Number(Bd[0]))), ig(ie, 3, Gf(Number(Bd[1])))) : ig(ie, 2, Gf(Number(Bd[0])))); var ye = new $q; Sg(ye, 1, Q.message); Sg(ye, 3, Q.name); ig(ye, 6, Gf(Q.sampleWeight)); md === "ERROR" ? Ug(ye, 2, 2) : md === "WARNING" ? Ug(ye, 2, 1) : Ug(ye, 2, 0); var uc = new Zq; ig(uc, 1, Ef(!0)); + Fg(uc, Yq, 3, Pra, ie); var ze = new Xq; Sg(ze, 3, window.location.href); for (var Rf = g.pr("FEXP_EXPERIMENTS", []), Qe = 0; Qe < Rf.length; Qe++)tg(ze.sb, 5, vda, Rf[Qe]); var uf = g.pr("LATEST_ECATCHER_SERVICE_TRACKING_PARAMS"); if (!qr("web_disable_gel_stp_ecatcher_killswitch") && uf) for (var Qc = g.w(Object.keys(uf)), Og = Qc.next(); !Og.done; Og = Qc.next()) { var Vh = Og.value, uh = new Wq; Sg(uh, 1, Vh); Sg(uh, 2, String(uf[Vh])); Hg(ze, 4, Wq, uh) } var Pg = Q.params; if (Pg) for (var Lc = g.w(Object.keys(Pg)), Sf = Lc.next(); !Sf.done; Sf = Lc.next()) { + var Rb = Sf.value, + Fi = new Wq; Sg(Fi, 1, "client." + Rb); Sg(Fi, 2, String(Pg[Rb])); Hg(ze, 4, Wq, Fi) + } var yk = g.pr("SERVER_NAME"), hc = g.pr("SERVER_VERSION"); if (yk && hc) { var Pn = new Wq; Sg(Pn, 1, "server.name"); Sg(Pn, 2, yk); Hg(ze, 4, Wq, Pn); var Qn = new Wq; Sg(Qn, 1, "server.version"); Sg(Qn, 2, hc); Hg(ze, 4, Wq, Qn) } var am = new ar; Eg(am, Xq, 1, ze); Eg(am, Zq, 2, uc); Eg(am, $q, 3, ye); nd = am + } var Rn = nd; if (!Rn) break a; var Gi = g.Pr("jspb_sparse_encoded_pivot") ? new ir([{}]) : new ir; Fg(Gi, ar, 163, hx, Rn); dx("clientError", Gi) + } else { + var kg = void 0; kg = kg === void 0 ? {} : kg; if (Ora()) var bm = + void 0; else { + var zk = { stackTrace: Q.stack }; Q.fileName && (zk.filename = Q.fileName); var vh = Q.lineNumber && Q.lineNumber.split ? Q.lineNumber.split(":") : []; vh.length !== 0 && (vh.length !== 1 || isNaN(Number(vh[0])) ? vh.length !== 2 || isNaN(Number(vh[0])) || isNaN(Number(vh[1])) || (zk.lineNumber = Number(vh[0]), zk.columnNumber = Number(vh[1])) : zk.lineNumber = Number(vh[0])); var Sn = { level: "ERROR_LEVEL_UNKNOWN", message: Q.message, errorClassName: Q.name, sampleWeight: Q.sampleWeight }; md === "ERROR" ? Sn.level = "ERROR_LEVEL_ERROR" : md === "WARNING" && + (Sn.level = "ERROR_LEVEL_WARNNING"); var Tn = { isObfuscated: !0, browserStackInfo: zk }; kg.pageUrl = window.location.href; kg.kvPairs = []; g.pr("FEXP_EXPERIMENTS") && (kg.experimentIds = g.pr("FEXP_EXPERIMENTS")); var Un = g.pr("LATEST_ECATCHER_SERVICE_TRACKING_PARAMS"); if (!qr("web_disable_gel_stp_ecatcher_killswitch") && Un) for (var Qg = g.w(Object.keys(Un)), Ak = Qg.next(); !Ak.done; Ak = Qg.next()) { var Bk = Ak.value; kg.kvPairs.push({ key: Bk, value: String(Un[Bk]) }) } var mq = Q.params; if (mq) for (var nq = g.w(Object.keys(mq)), oq = nq.next(); !oq.done; oq = + nq.next()) { var Vn = oq.value; kg.kvPairs.push({ key: "client." + Vn, value: String(mq[Vn]) }) } var pq = g.pr("SERVER_NAME"), jt = g.pr("SERVER_VERSION"); pq && jt && (kg.kvPairs.push({ key: "server.name", value: pq }), kg.kvPairs.push({ key: "server.version", value: jt })); bm = { errorMetadata: kg, stackTrace: Tn, logMessage: Sn } + } var vf = bm; if (!vf) break a; g.Ht("clientError", vf) + } if (md === "ERROR" || g.Pr("errors_flush_gel_always_killswitch")) b: { + if (g.Pr("web_fp_via_jspb")) { + var Ck = !0; Ck = Ck === void 0 ? !1 : Ck; var qq = Qra; Qra = []; if (qq) for (var rq = g.w(qq), + Wn = rq.next(); !Wn.done; Wn = rq.next()) { var Hi = Wn.value; Ck ? Rw(Hi.payloadName, Hi.payload, g.Av, Hi.options) : g.Ht(Hi.payloadName, Hi.payload, Hi.options) } kra(!0); if (!g.Pr("web_fp_via_jspb_and_json")) break b + } kra() + } + } g.Pr("suppress_error_204_logging") || Lra(X, Q) + } try { Kra.add(Q.message) } catch (by) { } Hra++ + } + } + } + }; + Ora = function () { for (var a = g.w(Rra), b = a.next(); !b.done; b = a.next())if (g.is(b.value.toLowerCase())) return !0; return !1 }; + Lra = function (a, b) { + var c = b.params || {}; a = { urlParams: { a: "logerror", t: "jserror", type: b.name, msg: b.message.substr(0, 250), line: b.lineNumber, level: a, "client.name": c.name }, postParams: { url: g.pr("PAGE_NAME", window.location.href), file: b.fileName }, method: "POST" }; c.version && (a["client.version"] = c.version); if (a.postParams) { + b.stack && (a.postParams.stack = b.stack); b = g.w(Object.keys(c)); for (var d = b.next(); !d.done; d = b.next())d = d.value, a.postParams["client." + d] = c[d]; if (c = g.pr("LATEST_ECATCHER_SERVICE_TRACKING_PARAMS")) for (b = + g.w(Object.keys(c)), d = b.next(); !d.done; d = b.next())d = d.value, a.postParams[d] = c[d]; c = g.pr("SERVER_NAME"); b = g.pr("SERVER_VERSION"); c && b && (a.postParams["server.name"] = c, a.postParams["server.version"] = b) + } g.Ur(g.pr("ECATCHER_REPORT_HOST", "") + "/error_204", a) + }; + Sra = function (a) { var b = g.Ca.apply(1, arguments); a.args || (a.args = []); a.args.push.apply(a.args, g.x(b)) }; + kx = function (a) { var b = g.R(a, ix); if (b) return b; if ((b = g.R(a, Tra)) && b.commands) return Ura(b.commands); if ((b = g.R(a, Vra)) && b.commands) return Ura(b.commands); if ((a = g.R(a, Wra)) && a.identifier && a.command && (jx || (jx = []), !jx.includes(a.identifier))) return jx.push(a.identifier), g.R(a.command, ix) }; + Ura = function (a) { if (a.length !== 0) { var b = []; a = g.w(a); for (var c = a.next(); !c.done; c = a.next())(c = kx(c.value)) && b.push(c); return { commandExecutorCommand: { commands: b } } } }; + g.lx = function (a, b, c) { c === void 0 ? delete a[b.name] : a[b.name] = c }; + Xra = function (a) { for (var b = 0, c = 0; c < a.length; c++)b = b * 31 + a.charCodeAt(c), c < a.length - 1 && (b %= Math.pow(2, 47)); return b % 1E5 }; + mx = function (a) { Pu.call(this, 1, arguments); this.csn = a }; + Zra = function (a, b, c, d, e, f, h, l) { + var m = Yra(), n = new Sw({ veType: b, youtubeData: f, jspbYoutubeData: void 0 }); f = nx({}, m); e && (f.cttAuthInfo = e); e = { csn: m, pageVe: n.getAsJson() }; g.Pr("expectation_logging") && l && l.screenCreatedLoggingExpectations && (e.screenCreatedLoggingExpectations = l.screenCreatedLoggingExpectations); c && c.visualElement ? (e.implicitGesture = { parentCsn: c.clientScreenNonce, gesturedVe: c.visualElement.getAsJson() }, h && (e.implicitGesture.gestureType = h)) : c && g.fx(new g.pt("newScreen() parent element does not have a VE - rootVe", + b)); d && (e.cloneCsn = d); a ? Rw("screenCreated", e, a, f) : g.Ht("screenCreated", e, f); Vu(qpa, new mx(m)); ox.clear(); px.clear(); qx.clear(); return m + }; + g.sx = function (a, b, c, d, e) { g.rx(a, b, c, [d], e === void 0 ? !1 : e) }; + g.rx = function (a, b, c, d, e) { + e = e === void 0 ? !1 : e; for (var f = nx({ cttAuthInfo: Xw(b) || void 0 }, b), h = g.w(d), l = h.next(); !l.done; l = h.next()) { + l = l.value; var m = l.getAsJson(); (g.Bc(m) || !m.trackingParams && !m.veType) && g.fx(Error("Child VE logged with no data")); if (g.Pr("no_client_ve_attach_unless_shown")) { + var n = tx(l, b); if (m.veType && !px.has(n) && !qx.has(n) && !e) { if (!g.Pr("il_attach_cache_limit") || ox.size < 1E3) { ox.set(n, [a, b, c, l]); return } g.Pr("il_attach_cache_limit") && ox.size > 1E3 && g.fx(new g.pt("IL Attach cache exceeded limit")) } l = + tx(c, b); ox.has(l) ? ux(c, b) : qx.set(l, !0) + } + } d = d.filter(function (p) { p.csn !== b ? (p.csn = b, p = !0) : p = !1; return p }); + c = { csn: b, parentVe: c.getAsJson(), childVes: g.Al(d, function (p) { return p.getAsJson() }) }; + b === "UNDEFINED_CSN" ? vx("visualElementAttached", f, c) : a ? Rw("visualElementAttached", c, a, f) : g.Ht("visualElementAttached", c, f) + }; + $ra = function (a, b, c, d, e) { wx(c, b); d = nx({ cttAuthInfo: Xw(b) || void 0 }, b); c = { csn: b, ve: c.getAsJson(), eventType: 1 }; e && (c.clientData = e); b === "UNDEFINED_CSN" ? vx("visualElementShown", d, c) : a ? Rw("visualElementShown", c, a, d) : g.Ht("visualElementShown", c, d) }; + asa = function (a, b, c, d) { var e = (d = d === void 0 ? !1 : d) ? 16 : 8; d = nx({ cttAuthInfo: Xw(b) || void 0, endOfSequence: d }, b); c = { csn: b, ve: c.getAsJson(), eventType: e }; b === "UNDEFINED_CSN" ? vx("visualElementHidden", d, c) : a ? Rw("visualElementHidden", c, a, d) : g.Ht("visualElementHidden", c, d) }; + csa = function (a, b, c, d) { bsa(a, b, c, d) }; + bsa = function (a, b, c, d) { var e = void 0; wx(c, b); e = e || "INTERACTION_LOGGING_GESTURE_TYPE_GENERIC_CLICK"; var f = nx({ cttAuthInfo: Xw(b) || void 0 }, b); c = { csn: b, ve: c.getAsJson(), gestureType: e }; d && (c.clientData = d); b === "UNDEFINED_CSN" ? vx("visualElementGestured", f, c) : a ? Rw("visualElementGestured", c, a, f) : g.Ht("visualElementGestured", c, f) }; + dsa = function () { var a = Rv(16); for (var b = [], c = 0; c < a.length; c++)b.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(a[c] & 63)); return b.join("") }; + vx = function (a, b, c) { xx.push({ payloadName: a, payload: c, Aoa: void 0, options: b }); yx || (yx = vpa()) }; + tpa = function (a) { if (xx) { for (var b = g.w(xx), c = b.next(); !c.done; c = b.next())c = c.value, c.payload && (c.payload.csn = a.csn, g.Ht(c.payloadName, c.payload, c.options)); xx.length = 0 } yx = 0 }; + tx = function (a, b) { return "" + a.getAsJson().veType + a.getAsJson().veCounter + b }; + wx = function (a, b) { if (g.Pr("no_client_ve_attach_unless_shown")) { var c = tx(a, b); px.set(c, !0); ux(a, b) } }; + ux = function (a, b) { a = tx(a, b); ox.has(a) && (b = ox.get(a) || [], g.sx(b[0], b[1], b[2], b[3], !0), ox.delete(a)) }; + nx = function (a, b) { g.Pr("log_sequence_info_on_gel_web") && (a.sequenceGroup = b); return a }; + g.zx = function (a, b, c, d) { g.tr($ra)(void 0, a, b, c, d, void 0) }; + g.Ax = function (a, b) { g.tr(function () { g.cc(b, function (c) { wx(c, a); var d = nx({ cttAuthInfo: Xw(a) || void 0 }, a); c = { csn: a, ve: c.getAsJson(), eventType: 4 }; a === "UNDEFINED_CSN" ? vx("visualElementShown", d, c) : g.Ht("visualElementShown", c, d) }) })() }; + g.Bx = function (a, b) { g.tr(function () { g.cc(b, function (c) { asa(void 0, a, c) }) })() }; + g.Cx = function (a, b, c) { g.tr(csa)(void 0, a, b, c, void 0) }; + Ex = function (a, b, c, d, e, f) { c = c === void 0 ? {} : c; this.componentType = a; this.renderer = b === void 0 ? null : b; this.macros = c; this.layoutId = d; this.interactionLoggingClientData = e; this.j = f; this.id = Dx(a) }; + Dx = function (a) { var b = ":" + (Up.getInstance().j++).toString(36); return a + b }; + g.Fx = function (a) { a = a === void 0 ? !1 : a; g.O.call(this); this.Fj = new g.Gp(a); g.P(this, this.Fj) }; + g.Gx = function (a, b, c) { for (var d in b) a.subscribe(d, b[d], c) }; + Hx = function (a, b, c) { for (var d in b) a.unsubscribe(d, b[d], c) }; + Ix = function () { var a = "ytp-id-" + esa.toString(); esa++; return a }; + g.Jx = function (a) { g.O.call(this); this.Jb = {}; this.ge = {}; this.element = this.createElement(a) }; + Kx = function (a, b, c, d) { if (d.substr(0, 2) === "{{") a.ge[d] = [b, c]; else return d }; + fsa = function (a, b) { var c = []; if (!b) return c; b = g.w(b); for (var d = b.next(); !d.done; d = b.next())if (d = d.value, d != null) { var e = d.nodeType; e === 1 || e === 3 ? c.push(d) : d && typeof d.I === "string" ? c.push(a.createElement(d)) : d.element ? c.push(d.element) : typeof d === "string" && d.indexOf("\n") !== -1 ? d.split("\n").forEach(function (f, h) { h > 0 && c.push(g.je("BR")); c.push(g.ke(f)) }) : c.push(g.ke(d)) } return c }; + Lx = function (a, b, c, d) { if (c === "child") { g.me(b); var e; d === void 0 ? e = void 0 : e = !Array.isArray(d) || d && typeof d.I === "string" ? [d] : d; c = fsa(a, e); c = g.w(c); for (a = c.next(); !a.done; a = c.next())b.appendChild(a.value) } else c === "style" ? g.jm(b, "cssText", d ? d : "") : d === null || d === void 0 ? b.removeAttribute(c) : (a = d.toString(), c === "href" && (a = g.ld(g.rd(a))), b.setAttribute(c, a)) }; + g.T = function (a) { g.Jx.call(this, a); this.Hb = !0; this.Z = !1; this.listeners = [] }; + g.Mx = function (a, b) { b ? a.show() : a.hide() }; + g.Nx = function (a) { g.T.call(this, a); this.Ra = new g.Fx; g.P(this, this.Ra) }; + Ox = function (a, b, c, d, e, f, h) { h = h === void 0 ? null : h; g.Nx.call(this, b); this.api = a; this.macros = {}; this.componentType = c; this.K = this.N = null; this.yb = h; this.layoutId = d; this.interactionLoggingClientData = e; this.jb = f; this.Ya = null; this.nT = new Pv(this.element); g.P(this, this.nT); this.ob = this.T(this.element, "click", this.onClick); this.Fa = []; this.Ba = new sqa(this.onClick, this); g.P(this, this.Ba); this.Ab = !1; this.Ma = this.qa = null }; + Px = function (a, b) { a = a === void 0 ? null : a; b = b === void 0 ? null : b; if (a == null) return g.fx(Error("Got null or undefined adText object")), ""; var c = g.Ud(a.text); if (!a.isTemplated) return c; if (b == null) return g.fx(Error("Missing required parameters for a templated message")), c; a = g.w(Object.entries(b)); for (b = a.next(); !b.done; b = a.next()) { var d = g.w(b.value); b = d.next().value; d = d.next().value; c = c.replace("{" + b + "}", d) } return c }; + gsa = function (a) { a = a === void 0 ? null : a; return a != null && (a = a.thumbnail, a != null && a.thumbnails != null && a.thumbnails.length != 0 && a.thumbnails[0].url != null) ? g.Ud(a.thumbnails[0].url) : "" }; + hsa = function (a) { a = a === void 0 ? null : a; return a != null && (a = a.thumbnail, a != null && a.thumbnails != null && a.thumbnails.length != 0 && a.thumbnails[0].width != null && a.thumbnails[0].height != null) ? new g.Id(a.thumbnails[0].width || 0, a.thumbnails[0].height || 0) : new g.Id(0, 0) }; + g.Qx = function (a) { if (a.simpleText) return a.simpleText; if (a.runs) { var b = []; a = g.w(a.runs); for (var c = a.next(); !c.done; c = a.next())c = c.value, c.text && b.push(c.text); return b.join("") } return "" }; + g.Rx = function (a) { + if (a.simpleText) return a = document.createTextNode(a.simpleText), a; var b = []; if (a.runs) for (var c = 0; c < a.runs.length; c++) { + var d = a.runs[c]; if (d.text) { + var e = b, f = e.push, h = null; var l = d.text; d.bold && (h = he("B", null, h || l)); d.italics && (h = he("I", null, h || l)); d.strikethrough && (h = he("STRIKE", null, h || l)); d.navigationEndpoint && d.navigationEndpoint.urlEndpoint && (d = d.navigationEndpoint.urlEndpoint, h = he("A", null, h || l), g.Kd(h, d.url), d.target == "TARGET_NEW_WINDOW" && (h.target = "_blank")); l = h || he("SPAN", null, + l); f.call(e, l) + } + } return b.length == 1 ? b[0] : he("SPAN", null, b) + }; + g.isa = function () { + return { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", Fc: !0, X: { + d: "M7,24 L7,27 L10,27 C10,25.34 8.66,24 7,24 L7,24 Z M7,20 L7,22 C9.76,22 12,24.24 12,27 L14,27 C14,23.13 10.87,20 7,20 L7,20 Z M25,13 L11,13 L11,14.63 C14.96,15.91 18.09,19.04 19.37,23 L25,23 L25,13 L25,13 Z M7,16 L7,18 C11.97,18 16,22.03 16,27 L18,27 C18,20.92 13.07,16 7,16 L7,16 Z M27,9 L9,9 C7.9,9 7,9.9 7,11 L7,14 L9,14 L9,11 L27,11 L27,25 L20,25 L20,27 L27,27 C28.1,27 29,26.1 29,25 L29,11 C29,9.9 28.1,9 27,9 L27,9 Z", + fill: "#fff" + } + }] + } + }; + Sx = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", X: { d: "m 14.8,21.9 -4.2,-4.2 -1.4,1.4 5.6,5.6 12,-12 -1.4,-1.4 -10.6,10.6 z", fill: "#fff" } }] } }; + g.Tx = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 32 32", width: "100%" }, V: [{ I: "path", X: { d: "M 19.41,20.09 14.83,15.5 19.41,10.91 18,9.5 l -6,6 6,6 z", fill: "#fff" } }] } }; + g.Ux = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 32 32", width: "100%" }, V: [{ I: "path", X: { d: "m 12.59,20.34 4.58,-4.59 -4.58,-4.59 1.41,-1.41 6,6 -6,6 z", fill: "#fff" } }] } }; + jsa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 14 14", width: "100%" }, V: [{ I: "path", X: { d: "M14,14 L14,0 L0,0 L0,14 L14,14 Z" } }, { I: "path", X: { d: "M7.15,8.35 L9.25,10.45 L10.65,9.05 L8.55,6.95 L10.7,4.8 L9.3,3.4 L7.15,5.55 L5,3.4 L3.6,4.8 L5.75,6.95 L3.65,9.05 L5.05,10.45 L7.15,8.35 Z", fill: "#fff" } }] } }; + ksa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 14 14", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "M2,14 L5,11 L5,3 L2,0 L9,0 L9,14 L2,14 L2,14 Z", fill: "#eaeaea" } }] } }; + lsa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 14 14", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "M12,14 L9,11 L9,3 L12,0 L5,0 L5,14 L12,14 Z", fill: "#eaeaea" } }] } }; + g.Vx = function () { return { I: "svg", X: { height: "100%", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", X: { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z", fill: "#fff" } }] } }; + msa = function () { return { I: "svg", X: { height: "100%", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", X: { d: "M14.1 24.9L7.2 18.0l6.9-6.9L12.0 9.0l-9.0 9.0 9.0 9.0 2.1-2.1zm7.8 .0l6.9-6.9-6.9-6.9L24.0 9.0l9.0 9.0-9.0 9.0-2.1-2.1z", fill: "#fff" } }] } }; + nsa = function () { return { I: "svg", X: { viewBox: "0 0 24 24" }, V: [{ I: "path", X: { d: "M0 0h24v24H0z", fill: "none" } }, { I: "path", X: { d: "M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z", fill: "#fff" } }] } }; + osa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 10,24 18.5,18 10,12 V 24 z M 19,12 V 24 L 27.5,18 19,12 z" } }] } }; + psa = function () { + return { + I: "svg", X: { fill: "none", height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + "clip-rule": "evenodd", d: "M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM13 16V18H11V16H13ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM8 10C8 7.79 9.79 6 12 6C14.21 6 16 7.79 16 10C16 11.28 15.21 11.97 14.44 12.64C13.71 13.28 13 13.90 13 15H11C11 13.17 11.94 12.45 12.77 11.82C13.42 11.32 14 10.87 14 10C14 8.9 13.1 8 12 8C10.9 8 10 8.9 10 10H8Z", + fill: "white", "fill-rule": "evenodd" + } + }] + } + }; + qsa = function () { return { I: "svg", X: { fill: "#fff", height: "100%", version: "1.1", viewBox: "0 0 48 48", width: "100%" }, V: [{ I: "path", X: { d: "M0 0h48v48H0z", fill: "none" } }, { I: "path", X: { d: "M22 34h4V22h-4v12zm2-30C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16zm-2-22h4v-4h-4v4z" } }] } }; + rsa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 17,23 h 2 V 17 H 17 Z M 18,8 C 12.47,8 8,12.47 8,18 8,23.52 12.47,28 18,28 23.52,28 28,23.52 28,18 28,12.47 23.52,8 18,8 Z m 0,18 c -4.41,0 -8,-3.59 -8,-8 0,-4.41 3.59,-8 8,-8 4.41,0 8,3.59 8,8 0,4.41 -3.59,8 -8,8 z M 17,15 h 2 v -2 h -2 z" } }] } }; + ssa = function () { return { I: "svg", X: { viewBox: "0 0 24 24" }, V: [{ I: "path", X: { d: "M0 0h24v24H0z", fill: "none" } }, { I: "path", X: { d: "M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z", fill: "#fff" } }] } }; + Wx = function () { return { I: "svg", X: { height: "100%", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", X: { d: "M5.85 18.0c0.0-2.56 2.08-4.65 4.65-4.65h6.0V10.5H10.5c-4.14 .0-7.5 3.36-7.5 7.5s3.36 7.5 7.5 7.5h6.0v-2.85H10.5c-2.56 .0-4.65-2.08-4.65-4.65zM12.0 19.5h12.0v-3.0H12.0v3.0zm13.5-9.0h-6.0v2.85h6.0c2.56 .0 4.65 2.08 4.65 4.65s-2.08 4.65-4.65 4.65h-6.0V25.5h6.0c4.14 .0 7.5-3.36 7.5-7.5s-3.36-7.5-7.5-7.5z", fill: "#fff" } }] } }; + tsa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 14 14", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "M5,0 L9,0 L9,14 L5,14 L5,0 Z", fill: "#eaeaea" } }] } }; + Xx = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 12,24 20.5,18 12,12 V 24 z M 22,12 v 12 h 2 V 12 h -2 z" } }] } }; + g.Yx = function () { return { I: "svg", X: { fill: "#fff", height: "24px", viewBox: "0 0 24 24", width: "24px" }, V: [{ I: "path", X: { d: "M7.58 4.08L6.15 2.65C3.75 4.48 2.17 7.3 2.03 10.5h2c.15-2.65 1.51-4.97 3.55-6.42zm12.39 6.42h2c-.15-3.2-1.73-6.02-4.12-7.85l-1.42 1.43c2.02 1.45 3.39 3.77 3.54 6.42zM18 11c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2v-5zm-6 11c.14 0 .27-.01.4-.04.65-.14 1.18-.58 1.44-1.18.1-.24.15-.5.15-.78h-4c.01 1.1.9 2 2.01 2z" } }] } }; + Zx = function () { return { I: "svg", X: { fill: "#fff", height: "100%", version: "1.1", viewBox: "0 0 48 48", width: "100%" }, V: [{ I: "path", X: { d: "M0 0h48v48H0z", fill: "none" } }, { I: "path", X: { d: "M38 38H10V10h14V6H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4V24h-4v14zM28 6v4h7.17L15.51 29.66l2.83 2.83L38 12.83V20h4V6H28z" } }] } }; + usa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 12,26 16,26 16,10 12,10 z M 21,26 25,26 25,10 21,10 z" } }] } }; + vsa = function () { return { I: "svg", X: { fill: "none", height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ I: "path", S: "ytp-svg-fill", X: { "clip-rule": "evenodd", d: "M12 4C9.79 4 8 5.79 8 8C8 10.21 9.79 12 12 12C14.21 12 16 10.21 16 8C16 5.79 14.21 4 12 4ZM14 8C14 6.9 13.1 6 12 6C10.9 6 10 6.9 10 8C10 9.1 10.9 10 12 10C13.1 10 14 9.1 14 8ZM18 17C17.8 16.29 14.7 15 12 15C9.3 15 6.2 16.29 6 17.01V18H18V17ZM4 17C4 14.34 9.33 13 12 13C14.67 13 20 14.34 20 17V20H4V17Z", "fill-rule": "evenodd" } }] } }; + wsa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "M25,17 L17,17 L17,23 L25,23 L25,17 L25,17 Z M29,25 L29,10.98 C29,9.88 28.1,9 27,9 L9,9 C7.9,9 7,9.88 7,10.98 L7,25 C7,26.1 7.9,27 9,27 L27,27 C28.1,27 29,26.1 29,25 L29,25 Z M27,25.02 L9,25.02 L9,10.97 L27,10.97 L27,25.02 L27,25.02 Z", fill: "#fff" } }] } }; + $x = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 12,26 18.5,22 18.5,14 12,10 z M 18.5,22 25,18 25,18 18.5,14 z" } }] } }; + xsa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 12,12 h 2 v 12 h -2 z m 3.5,6 8.5,6 V 12 z" } }] } }; + g.ay = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 18,11 V 7 l -5,5 5,5 v -4 c 3.3,0 6,2.7 6,6 0,3.3 -2.7,6 -6,6 -3.3,0 -6,-2.7 -6,-6 h -2 c 0,4.4 3.6,8 8,8 4.4,0 8,-3.6 8,-8 0,-4.4 -3.6,-8 -8,-8 z" } }] } }; + g.cy = function () { + return { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", Fc: !0, X: { + d: "m 23.94,18.78 c .03,-0.25 .05,-0.51 .05,-0.78 0,-0.27 -0.02,-0.52 -0.05,-0.78 l 1.68,-1.32 c .15,-0.12 .19,-0.33 .09,-0.51 l -1.6,-2.76 c -0.09,-0.17 -0.31,-0.24 -0.48,-0.17 l -1.99,.8 c -0.41,-0.32 -0.86,-0.58 -1.35,-0.78 l -0.30,-2.12 c -0.02,-0.19 -0.19,-0.33 -0.39,-0.33 l -3.2,0 c -0.2,0 -0.36,.14 -0.39,.33 l -0.30,2.12 c -0.48,.2 -0.93,.47 -1.35,.78 l -1.99,-0.8 c -0.18,-0.07 -0.39,0 -0.48,.17 l -1.6,2.76 c -0.10,.17 -0.05,.39 .09,.51 l 1.68,1.32 c -0.03,.25 -0.05,.52 -0.05,.78 0,.26 .02,.52 .05,.78 l -1.68,1.32 c -0.15,.12 -0.19,.33 -0.09,.51 l 1.6,2.76 c .09,.17 .31,.24 .48,.17 l 1.99,-0.8 c .41,.32 .86,.58 1.35,.78 l .30,2.12 c .02,.19 .19,.33 .39,.33 l 3.2,0 c .2,0 .36,-0.14 .39,-0.33 l .30,-2.12 c .48,-0.2 .93,-0.47 1.35,-0.78 l 1.99,.8 c .18,.07 .39,0 .48,-0.17 l 1.6,-2.76 c .09,-0.17 .05,-0.39 -0.09,-0.51 l -1.68,-1.32 0,0 z m -5.94,2.01 c -1.54,0 -2.8,-1.25 -2.8,-2.8 0,-1.54 1.25,-2.8 2.8,-2.8 1.54,0 2.8,1.25 2.8,2.8 0,1.54 -1.25,2.8 -2.8,2.8 l 0,0 z", + fill: "#fff" + } + }] + } + }; + g.dy = function () { return { I: "svg", X: { height: "100%", viewBox: "0 0 16 16", width: "100%" }, V: [{ I: "path", X: { d: "M13 4L12 3 8 7 4 3 3 4 7 8 3 12 4 13 8 9 12 13 13 12 9 8z", fill: "#fff" } }] } }; + ysa = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 12,25 19,25 19,11 12,11 z M 19,25 26,25 26,11 19,11 z" } }] } }; + ey = function () { return { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 21.48,17.98 c 0,-1.77 -1.02,-3.29 -2.5,-4.03 v 2.21 l 2.45,2.45 c .03,-0.2 .05,-0.41 .05,-0.63 z m 2.5,0 c 0,.94 -0.2,1.82 -0.54,2.64 l 1.51,1.51 c .66,-1.24 1.03,-2.65 1.03,-4.15 0,-4.28 -2.99,-7.86 -7,-8.76 v 2.05 c 2.89,.86 5,3.54 5,6.71 z M 9.25,8.98 l -1.27,1.26 4.72,4.73 H 7.98 v 6 H 11.98 l 5,5 v -6.73 l 4.25,4.25 c -0.67,.52 -1.42,.93 -2.25,1.18 v 2.06 c 1.38,-0.31 2.63,-0.95 3.69,-1.81 l 2.04,2.05 1.27,-1.27 -9,-9 -7.72,-7.72 z m 7.72,.99 -2.09,2.08 2.09,2.09 V 9.98 z" } }] } }; + fy = function (a) { + if (!a) return null; switch (a.iconType) { + case "OPEN_IN_NEW": case "EXTERNAL_LINK": return Zx(); case "CHECK_BOX": return { I: "svg", X: { height: "100%", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", X: { d: "M0 0h24v24H0z", fill: "none" } }, { I: "path", X: { d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z", fill: "#d4d4d4" } }] }; case "CHECK_BOX_OUTLINE_BLANK": return { + I: "svg", X: { height: "100%", viewBox: "0 0 24 24", width: "100%" }, V: [{ + I: "path", + X: { d: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z", fill: "#d4d4d4" } + }, { I: "path", X: { d: "M0 0h24v24H0z", fill: "none" } }] + }; case "CLOSE": return g.Vx(); case "INFO_OUTLINE": return qsa(); case "REMOVE_CIRCLE": return { I: "svg", X: { fill: "#fff", height: "100%", version: "1.1", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", X: { d: "M0 0h24v24H0z", fill: "none" } }, { I: "path", X: { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z", fill: "#757575" } }] }; + case "SKIP_NEXT": return Xx(); case "SKIP_NEXT_NEW": return { I: "svg", X: { height: "100%", viewBox: "-6 -6 36 36", width: "100%" }, V: [{ I: "path", X: { d: "M5,18l10-6L5,6V18L5,18z M19,6h-2v12h2V6z", fill: "#fff" } }] }; case "LIKE": return ssa(); case "DISLIKE": return nsa(); default: return g.fx(new g.pt("Unexpected icon:", a)), null + } + }; + gy = function (a, b, c, d, e, f, h, l) { e = e === void 0 ? [] : e; h = h === void 0 ? !1 : h; e = { I: "button", Na: ["ytp-ad-button"].concat(e) }; l != null && (e.X = { tabindex: l }); Ox.call(this, a, e, f === void 0 ? "button" : f, b, c, d); this.j = this.B = this.C = null; this.D = h; this.hide() }; + zsa = function (a) { + var b = null; a.j != null && (b = [a.j.serviceEndpoint, a.j.navigationEndpoint].filter(function (c) { return c != null }), a.j.command && (b = b.concat(a.j.command))); + return b || [] + }; + hy = function () { g.O.call(this); var a = this; this.j = new Map; this.B = Lna(function (b) { if (b.target && (b = a.j.get(b.target)) && b) for (var c = 0; c < b.length; c++)g.nv(b[c]) }) }; + Asa = function () { iy == null && (iy = new hy); return iy }; + jy = function (a, b) { if (a.simpleText) { a: { a = a.simpleText; if (b && (b = Bsa(a))) { b = he("SPAN", null, b); break a } b = g.ke(a) } return b } var c = []; if (a.runs) for (var d = 0; d < a.runs.length; d++) { var e = a.runs[d]; e.text && c.push(Csa(e, b)) } return c.length == 1 ? c[0] : he("SPAN", null, c) }; + Csa = function (a, b) { + var c = null, d = a.text; b && (d = Bsa(d) || d); a.bold && (c = he("B", null, c || d)); a.italics && (c = he("I", null, c || d)); a.strikethrough && (c = he("STRIKE", null, c || d)); a.navigationEndpoint && g.R(a.navigationEndpoint, g.ky) && (b = g.R(a.navigationEndpoint, g.ky), c = he("A", null, c || d), g.Kd(c, b.url), b.target == "TARGET_NEW_WINDOW" && (c.target = "_blank"), a = a.navigationEndpoint.loggingUrls) && (a = a.map(function (e) { return e.baseUrl }), Asa().register(c, a), g.np(c, "ytp-ad-has-logging-urls")); + return c || he("SPAN", null, d) + }; + Bsa = function (a) { a = a.split(/(?:\r\n|\r|\n)/g); if (a.length > 1) { for (var b = [a[0]], c = 1; c < a.length; c++)b.push(he("BR")), b.push(a[c]); return b } return null }; + ly = function (a, b, c, d, e, f, h, l) { f = f === void 0 ? !1 : f; h = h === void 0 ? [] : h; Ox.call(this, a, { I: "span", Na: ["ytp-ad-hover-text-button"].concat(h) }, l === void 0 ? "ad-hover-text-button" : l, b, c, d); this.button = this.B = null; this.G = f; this.D = e; this.hide() }; + my = function (a) { return a && a.thumbnails && (a.thumbnails || null).length != 0 && a.thumbnails[0].url ? g.Ud(a.thumbnails[0].url) : "" }; + ny = function (a, b, c, d, e, f) { f = f === void 0 ? !1 : f; Ox.call(this, a, { I: "img", S: "ytp-ad-image" }, "ad-image", b, c, d, e === void 0 ? null : e); this.j = f; this.hide() }; + oy = function (a, b, c, d, e, f) { + e = e === void 0 ? [] : e; Ox.call(this, a, { + I: "div", Na: ["ytp-ad-confirm-dialog-background"], V: [{ + I: "div", S: "ytp-ad-confirm-dialog-container", V: [{ + I: "div", Na: ["ytp-ad-confirm-dialog"].concat(e), X: { role: "dialog", tabindex: "-1" }, V: [{ I: "div", S: "ytp-ad-confirm-dialog-title", va: "{{title}}" }, { I: "div", S: "ytp-ad-confirm-dialog-messages" }, { + I: "div", S: "ytp-ad-confirm-dialog-confirm-container", V: [{ I: "button", S: "ytp-ad-confirm-dialog-cancel-button", va: "{{cancelLabel}}" }, { + I: "button", S: "ytp-ad-confirm-dialog-confirm-button", + va: "{{confirmLabel}}" + }] + }] + }] + }, { I: "button", Na: ["ytp-ad-confirm-dialog-close-overlay-button", "ytp-ad-button", "ytp-ad-button-link"], V: [{ I: "span", S: "ytp-ad-button-icon", V: [g.Vx()] }] }] + }, f === void 0 ? "confirm-dialog" : f, b, c, d); this.Y = this.Ea("ytp-ad-confirm-dialog-close-overlay-button"); this.D = this.Ea("ytp-ad-confirm-dialog-cancel-button"); this.G = this.Ea("ytp-ad-confirm-dialog-confirm-button"); this.ra = this.Ea("ytp-ad-confirm-dialog-messages"); this.C = null; this.j = new Ws; g.P(this, this.j); this.B = null; this.hide() + }; + Dsa = function (a, b) { + if (b.title) { var c = g.Qx(b.title); a.updateValue("title", c) } if (b.dialogMessages) { c = g.w(b.dialogMessages); for (var d = c.next(); !d.done; d = c.next())d = jy(d.value), a.ra.appendChild(d) } b.cancelLabel && (c = g.Qx(b.cancelLabel), a.updateValue("cancelLabel", c), a.j.T(a.D, "click", function (e) { return a.EN(e) })); + b.confirmLabel && (b = g.Qx(b.confirmLabel), a.updateValue("confirmLabel", b), a.j.T(a.G, "click", function (e) { return a.OR(e) })); + a.j.T(a.Y, "click", function (e) { return a.NR(e) }) + }; + py = function (a, b, c, d, e, f) { + e = e === void 0 ? [] : e; f = f === void 0 ? "toggle-button" : f; var h = Dx("ytp-ad-toggle-button-input"), l = { role: "button", "aria-label": "{{tooltipText}}" }; a.U().experiments.kb("fix_h5_toggle_button_a11y") && (l.tabindex = "0"); a.U().experiments.kb("fix_toggle_button_role_for_ad_components") && (l.role = "checkbox"); Ox.call(this, a, { + I: "div", Na: ["ytp-ad-toggle-button"].concat(e), V: [{ + I: "label", S: "ytp-ad-toggle-button-label", X: { "for": h }, V: [{ + I: "span", S: "ytp-ad-toggle-button-icon", X: l, V: [{ + I: "span", S: "ytp-ad-toggle-button-untoggled-icon", + va: "{{untoggledIconTemplateSpec}}" + }, { I: "span", S: "ytp-ad-toggle-button-toggled-icon", va: "{{toggledIconTemplateSpec}}" }] + }, { I: "input", S: "ytp-ad-toggle-button-input", X: { id: h, type: "checkbox" } }, { I: "span", S: "ytp-ad-toggle-button-text", va: "{{buttonText}}" }, { I: "span", S: "ytp-ad-toggle-button-tooltip", va: "{{tooltipText}}" }] + }] + }, f, b, c, d); this.D = this.Ea("ytp-ad-toggle-button"); this.j = this.Ea("ytp-ad-toggle-button-input"); this.Ea("ytp-ad-toggle-button-label"); this.B = this.Ea("ytp-ad-toggle-button-icon"); this.Y = this.Ea("ytp-ad-toggle-button-untoggled-icon"); + this.G = this.Ea("ytp-ad-toggle-button-toggled-icon"); this.Ga = this.Ea("ytp-ad-toggle-button-text"); this.C = null; this.ra = !1; this.hide() + }; + qy = function (a) { a.ra && (a.isToggled() ? (g.Bm(a.Y, !1), g.Bm(a.G, !0), a.api.U().experiments.kb("fix_toggle_button_role_for_ad_components") && a.B.setAttribute("aria-checked", !0)) : (g.Bm(a.Y, !0), g.Bm(a.G, !1), a.api.U().experiments.kb("fix_toggle_button_role_for_ad_components") && a.B.setAttribute("aria-checked", !1))) }; + Esa = function (a, b) { + var c = null; a.C && (c = (b ? [a.C.defaultServiceEndpoint, a.C.defaultNavigationEndpoint] : [a.C.toggledServiceEndpoint]).filter(function (d) { return d != null })); + return c || [] + }; + Fsa = function (a, b, c) { this.actionType = b; this.id = c; this.content = a }; + ry = function (a) { Ws.call(this); this.j = a; this.T(this.j, "onAdUxUpdate", this.K) }; + sy = function (a, b, c, d) { + Ox.call(this, a, { + I: "div", S: "ytp-ad-feedback-dialog-background", V: [{ + I: "div", S: "ytp-ad-feedback-dialog-container", V: [{ + I: "div", S: "ytp-ad-feedback-dialog-form", X: { role: "dialog", tabindex: "-1" }, V: [{ I: "div", S: "ytp-ad-feedback-dialog-title", V: [{ I: "span", va: "{{title}}" }] }, { I: "span", S: "ytp-ad-info-dialog-feedback-options-title", va: "{{reasonsTitle}}" }, { I: "div", S: "ytp-ad-info-dialog-feedback-options" }, { + I: "div", S: "ytp-ad-feedback-dialog-confirm-container", V: [{ + I: "button", S: "ytp-ad-feedback-dialog-cancel-button", + va: "{{cancelLabel}}" + }, { I: "button", S: "ytp-ad-feedback-dialog-confirm-button", va: "{{confirmLabel}}" }] + }] + }] + }] + }, "ad-info-dialog", b, c, d); this.D = []; this.j = null; this.G = this.Ea("ytp-ad-feedback-dialog-cancel-button"); this.Y = this.Ea("ytp-ad-feedback-dialog-confirm-button"); this.ra = this.Ea("ytp-ad-info-dialog-feedback-options"); this.Ga = this.Ea("ytp-ad-feedback-dialog-title"); this.C = this.B = null; this.hide() + }; + Jsa = function (a, b) { + var c = b.cancelRenderer && b.cancelRenderer.buttonRenderer || null; c && (a.j = new gy(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, ["ytp-ad-feedback-dialog-close-button"], "button"), g.P(a, a.j), a.j.init(Dx("button"), c, a.macros), a.j.listen("click", a.e0, a), a.j.Ja(a.element)); b.title && (c = g.Qx(b.title), a.updateValue("title", c)); b.reasonsTitle && (c = g.Qx(b.reasonsTitle), a.updateValue("reasonsTitle", c)); b.reasons && Gsa(a, b.reasons); b.cancelLabel && (c = g.Qx(b.cancelLabel), a.updateValue("cancelLabel", + c), g.Rs(a.G, "click", function () { return a.e0() })); + b.confirmLabel && (c = g.Qx(b.confirmLabel), a.updateValue("confirmLabel", c), g.Rs(a.Y, "click", function () { return Hsa(a) })); + b.undoRenderer && Isa(a, b.undoRenderer) + }; + Gsa = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { var d = c.value; c = d.reason; if (c == null) g.fx(Error("AdFeedbackReason.reason was not set.")); else if (d = d.endpoint, d == null) g.fx(Error("AdFeedbackReason.endpoint was not set.")); else { c = new ty(c, d); g.P(a, c); d = a.ra; var e = c.Ib(); d.appendChild(e); a.D.push(c) } } }; + Isa = function (a, b) { if (b = b && b.buttonRenderer || null) b.serviceEndpoint ? (a.B = new gy(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, ["ytp-ad-feedback-dialog-undo-mute-button"], "ad-feedback-undo-mute-button"), g.P(a, a.B), a.B.init(Dx("ad-feedback-undo-mute-button"), b, a.macros), a.B.listen("click", a.Dca, a), a.B.Ja(a.Ga)) : g.fx(Error("AdFeedbackRenderer.undoRenderer.undoButtonRenderer was specified but did not contain a service endpoint.")) }; + Hsa = function (a) { + var b = a.D.filter(function (c) { return c.isChecked() }); + b.length !== 0 && (b = b[0].getCommand(), a.layoutId ? a.jb.executeCommand(b, a.layoutId) : g.ex(Error("Missing layoutId for ad feedback dialog.")), a.api.onAdUxClicked("ad-feedback-dialog-confirm-button", a.layoutId), a.publish("a"), a.hide()) + }; + ty = function (a, b) { this.B = b; this.j = new g.Nx({ I: "label", S: "ytp-ad-feedback-dialog-reason-label", V: [{ I: "input", S: "ytp-ad-feedback-dialog-reason-input", X: { type: "radio", name: "feedback-reason-group" } }, { I: "span", S: "ytp-ad-feedback-dialog-reason-text", va: g.Qx(a) }] }); this.C = this.j.Ea("ytp-ad-feedback-dialog-reason-input") }; + uy = function (a, b, c, d) { oy.call(this, a, b, c, d, [], "ad-mute-confirm-dialog") }; + vy = function (a, b, c, d, e) { + Ox.call(this, a, { I: "div", S: "ytp-ad-info-dialog-background", V: [{ I: "div", S: "ytp-ad-info-dialog-container", V: [{ I: "div", S: "ytp-ad-info-dialog-form", X: { role: "dialog", tabindex: "-1" }, V: [{ I: "div", S: "ytp-ad-info-dialog-title", va: "{{title}}" }, { I: "ul", S: "ytp-ad-info-dialog-ad-reasons" }, { I: "div", S: "ytp-ad-info-dialog-message" }, { I: "div", S: "ytp-ad-info-dialog-mute-container" }, { I: "div", S: "ytp-ad-info-dialog-confirm-container", V: [{ I: "button", S: "ytp-ad-info-dialog-confirm-button", va: "{{confirmLabel}}" }] }] }] }] }, + "ad-info-dialog", b, c, d); this.j = this.B = null; this.Y = this.Ea("ytp-ad-info-dialog-confirm-button"); this.Xa = this.Ea("ytp-ad-info-dialog-mute-container"); this.Wa = this.Ea("ytp-ad-info-dialog-message"); this.Ka = this.Ea("ytp-ad-info-dialog-ad-reasons"); this.D = this.C = null; this.Ga = e; this.G = null; this.Va = !1; this.ra = null; this.hide() + }; + Ksa = function (a, b) { if (b = b.content && b.content.adFeedbackRenderer || null) a.B = new sy(a.api, a.layoutId, a.interactionLoggingClientData, a.jb), g.P(a, a.B), a.B.init(Dx("ad-feedback-dialog"), b, a.macros), a.B.Ja(a.Ga), a.B.subscribe("a", function () { return a.publish("c") }) }; + Lsa = function (a, b) { if (b = b.content && b.content.confirmDialogRenderer || null) a.D = new uy(a.api, a.layoutId, a.interactionLoggingClientData, a.jb), g.P(a, a.D), a.D.init(Dx("ad-mute-confirm-dialog"), b, a.macros), a.D.Ja(a.Ga), a.D.subscribe("b", function () { return a.publish("c") }) }; + Msa = function (a) { a.j && a.j.listen("click", a.HV, a); g.Rs(a.Y, "click", function () { return a.HV() }) }; + wy = function (a, b, c, d, e, f) { ly.call(this, a, b, c, d, f === void 0 ? !0 : f, !0, ["ytp-ad-info-hover-text-button"], "ad-info-hover-text-button"); this.j = null; this.C = e; this.hide() }; + Osa = function (a, b, c) { b = b.dialog && g.R(b.dialog, Nsa) || null; b == null ? g.ex(Error("AdInfoDialogEndpoint did not contain an AdInfoDialogRenderer.")) : (a.j = new vy(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, a.C), g.P(a, a.j), a.j.init(Dx("ad-info-dialog"), b, c), a.j.Ja(a.C), a.j.subscribe("d", function () { return a.publish("f") }), a.j.subscribe("c", function () { return a.publish("e") })) }; + Rsa = function (a, b, c) { a.button == null ? g.ex(Error("AdInfoHoverTextButton.button was expected but it was not created.")) : (a.B && g.np(a.B.element, "ytp-ad-info-hover-text-short"), (b = b && b.serviceEndpoint && g.R(b.serviceEndpoint, Psa) || null) ? (Osa(a, b, c), a.button.listen("click", function () { a.j && !a.j.Hb && (a.j.show(), Qsa(a)) })) : a.button.listen("click", function () { return Qsa(a) })) }; + Qsa = function (a) { a.api.onAdUxClicked("ad-info-icon-button", a.layoutId) }; + yy = function (a, b, c, d, e, f) { Ox.call(this, a, { I: "div", S: "ytp-ad-text" }, f === void 0 ? "ad-text" : f, b, c, d, e === void 0 ? null : e); this.j = null; this.hide() }; + zy = function (a, b) { b && g.re(a.element, Px(a.j, b)) }; + Ay = function (a, b, c, d, e, f, h) { Ox.call(this, a, b, c, d, e, f); this.j = h; g.P(this, this.j); this.Va = this.Y = -1 }; + By = function (a) { a.j && a.Y === -1 && (a.Y = a.j.subscribe("h", a.To, a), a.Va = a.j.subscribe("g", a.Dq, a), a.To()) }; + Cy = function (a) { a.j != null && a.Y !== -1 && (a.j.uh(a.Y), a.j.uh(a.Va), a.Va = -1, a.Y = -1) }; + g.Dy = function (a, b, c, d, e, f) { g.O.call(this); this.element = a; this.state = null; c || a.hide(); this.B = b; this.C = d === void 0 ? b : d; this.j = f; this.onHidden = e; this.delay = new g.fp(this.GI, 0, this); g.P(this, this.delay) }; + Ey = function (a, b) { a = a.element.element; b ? a.setAttribute("aria-hidden", "true") : a.removeAttribute("aria-hidden") }; + Fy = function (a, b, c, d, e, f) { + Ay.call(this, a, { I: "div", S: "ytp-ad-preview-slot" }, "ad-preview", b, c, d, e); var h = this; this.Xa = -1; this.D = this.api.U().experiments.kb("enable_modern_skip_button_on_web"); this.B = new g.Nx({ I: "span", S: "ytp-ad-preview-container" }); this.D && this.B.element.classList.add("ytp-ad-preview-container-detached"); g.P(this, this.B); this.C = this.D ? new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-ad-preview-text-modern") : new yy(this.api, this.layoutId, this.interactionLoggingClientData, + this.jb, "ytp-ad-preview-text"); g.P(this, this.C); this.C.Ja(this.B.element); this.ra = this.D ? new g.Nx({ I: "span", S: "ytp-ad-preview-image-modern" }) : new g.Nx({ I: "span", S: "ytp-ad-preview-image" }); g.P(this, this.ra); this.G = new ny(this.api, this.layoutId, this.interactionLoggingClientData, this.jb); g.P(this, this.G); this.G.Ja(this.ra.element); this.ra.Ja(this.B.element); this.B.Ja(this.element); this.Ga = new g.Dy(this.B, 400, !1, 100, function () { return h.hide() }); + g.P(this, this.Ga); this.Ka = 0; this.Wa = !1; this.fb = f; this.hide() + }; + Gy = function (a) { a.Ga.show(100); a.show() }; + Hy = function (a, b, c, d, e, f) { + Ay.call(this, a, { I: "div", Na: ["ytp-flyout-cta", "ytp-flyout-cta-inactive"], V: [{ I: "div", S: "ytp-flyout-cta-icon-container" }, { I: "div", S: "ytp-flyout-cta-body", V: [{ I: "div", S: "ytp-flyout-cta-text-container", V: [{ I: "div", S: "ytp-flyout-cta-headline-container" }, { I: "div", S: "ytp-flyout-cta-description-container" }] }, { I: "div", S: "ytp-flyout-cta-action-button-container" }] }] }, "flyout-cta", b, c, d, e); this.C = new ny(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-flyout-cta-icon"); + g.P(this, this.C); this.C.Ja(this.Ea("ytp-flyout-cta-icon-container")); this.api.U().L("web_rounded_thumbnails") && this.C.element.classList.add("ytp-flyout-cta-icon-rounded"); this.G = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-flyout-cta-headline"); g.P(this, this.G); this.G.Ja(this.Ea("ytp-flyout-cta-headline-container")); this.D = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-flyout-cta-description"); g.P(this, this.D); this.D.Ja(this.Ea("ytp-flyout-cta-description-container")); + a = ["ytp-flyout-cta-action-button"]; this.api.U().L("web_modern_buttons") && a.push("ytp-flyout-cta-action-button-rounded"); this.B = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, a); g.P(this, this.B); this.B.Ja(this.Ea("ytp-flyout-cta-action-button-container")); this.B.element.setAttribute("tabIndex", "-1"); ap(this.B.element); this.ra = null; this.Ga = 0; this.Ka = f; this.hide() + }; + Iy = function (a, b, c, d, e) { + Ox.call(this, a, { I: "div", S: "ytp-ad-instream-user-sentiment-container" }, "instream-user-sentiment", b, c, d, e === void 0 ? null : e); var f = this; this.j = null; this.C = new py(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, ["ytp-ad-instream-user-sentiment-like-button"]); g.P(this, this.C); this.C.Ja(this.element); this.B = new py(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, ["ytp-ad-instream-user-sentiment-dislike-button"]); g.P(this, this.B); this.B.Ja(this.element); + this.D = new g.Dy(this, 400, !1, 500, function () { return f.hide() }); + g.P(this, this.D); this.hide() + }; + Jy = function (a, b, c, d, e, f) { e = e === void 0 ? 0 : e; f = f === void 0 ? !1 : f; g.O.call(this); this.B = a; this.C = !1; this.Y = d; this.qa = f; this.K = !1; this.j = null; b > 0 && (this.j = new g.fp(this.YW, b, this), g.P(this, this.j)); this.G = new g.fp(this.YW, c, this); g.P(this, this.G); this.Z = zla(this.B, e, 1, d); g.P(this, this.Z); this.N = zla(this.B, 0, d, 1); g.P(this, this.N); this.D = new Ws; g.P(this, this.D) }; + Ssa = function (a) { switch (a) { case 2: return 0; case 1: return 2; case 0: return 3; case 4: case 3: return 1; default: Ld(a, "unknown result type") } }; + Tsa = function (a) { switch (a) { case "b.f_": return 0; case "j.s_": return 2; case "r.s_": return 4; case "e.h_": return 6; case "i.s_": return 8; case "p.h_": return 12; case "s.t_": return 10; case "s.i_": return 14; case "f.i_": return 16; case "a.b_": return 18; case "a.o_": return 20; case "g.o_": return 22; case "p.i_": return 24; case "p.m_": return 26; case "i.k_": return 28; case "i.f_": return 30; case "a.s_": return 32; default: Ld(a, "Unknown method type") } }; + Usa = function (a, b) { + var c = 1, d = []; try { var e = document.querySelector(".ytp-ad-skip-button-slot"); e ? getComputedStyle(e).display === "none" ? d.push("BISCOTTI_BASED_DETECTION_STATE_IS_BUTTON_INVISIBLE") : d.push("BISCOTTI_BASED_DETECTION_STATE_IS_BUTTON_VISIBLE") : d.push("BISCOTTI_BASED_DETECTION_STATE_IS_BUTTON_NOT_FOUND") } catch (f) { d.push("BISCOTTI_BASED_DETECTION_STATE_IS_FINDING_BUTTON_FAILURE") } a.isTrusted === !0 ? d.push("BISCOTTI_BASED_DETECTION_STATE_IS_CLICK_EVENT_TRUSTED") : a.isTrusted === !1 ? d.push("BISCOTTI_BASED_DETECTION_STATE_IS_CLICK_EVENT_NOT_TRUSTED") : + d.push("BISCOTTI_BASED_DETECTION_STATE_IS_CLICK_EVENT_TRUSTED_UNDEFINED"); d.includes("BISCOTTI_BASED_DETECTION_STATE_IS_CLICK_EVENT_NOT_TRUSTED") && (c = 0); or("ISDSTAT", c); Ky(c, "i.s_", { Sea: "sk", metadata: b, states: d }); return c + }; + Vsa = function (a, b) { var c = []; b ? b.isTrusted === !0 ? c.push("BISCOTTI_BASED_DETECTION_STATE_AS_SEEK_EVENT_TRUSTED") : b.isTrusted === !1 ? c.push("BISCOTTI_BASED_DETECTION_STATE_AS_SEEK_EVENT_NOT_TRUSTED") : c.push("BISCOTTI_BASED_DETECTION_STATE_AS_SEEK_EVENT_TRUSTED_PROPERTY_UNDEFINED") : c.push("BISCOTTI_BASED_DETECTION_STATE_AS_SEEK_EVENT_UNDEFINED"); Ky(0, "a.s_", { metadata: a, states: c }, !1); or("ASDSTAT", 0) }; + Ky = function (a, b, c, d) { d = d === void 0 ? !0 : d; var e, f, h = { detected: a === 0, source: "" + b + ((e = c.Sea) != null ? e : "") + ((f = c.g7) != null ? f : ""), detectionStates: c.states, durationMs: c.f7 }; c.metadata && (h.contentCpn = c.metadata.contentCpn, h.adCpn = c.metadata.adCpn); g.Ht("biscottiBasedDetection", h); d && (a = Ssa(a), b = Tsa(b), or("CATSTAT", Number(g.pr("CATSTAT", 0)) & ~(3 << b) | a << b)) }; + Ly = function (a) { return a ? "layout: " + a.layoutType : "" }; + My = function (a, b, c) { return a ? !0 : (g.fx(new g.pt("Assertion: " + b, c)), !1) }; + Ny = function (a, b, c, d, e) { d = d === void 0 ? {} : d; if (!e || Math.random() < 5E-4) { b = b || null; c = c || null; a = a instanceof Error ? a : new g.pt(a); if (a.args) for (var f = g.w(a.args), h = f.next(); !h.done; h = f.next())h = h.value, h instanceof Object && (d = Object.assign({}, h, d)); d.category = "H5 Ads Control Flow"; b && (d.slot = b ? "slot: " + b.slotType : ""); c && (d.layout = Ly(c)); e && (d.known_error_aggressively_sampled = !0); a.args = [d]; g.fx(a) } }; + g.Oy = function (a, b) { this.state = a; this.xB = b }; + Py = function (a, b) { return g.U(a.state, b) && !g.U(a.xB, b) ? 1 : !g.U(a.state, b) && g.U(a.xB, b) ? -1 : 0 }; + g.Qy = function (a, b) { return Py(a, b) > 0 }; + Ry = function (a, b, c, d, e, f) { + Ay.call(this, a, { I: "div", S: "ytp-ad-skip-button-slot" }, "skip-button", b, c, d, e); var h = this; this.ra = null; this.Ga = !1; this.Wa = f; this.G = this.api.U().experiments.kb("enable_modern_skip_button_on_web"); this.Xa = !1; this.D = new g.Nx({ I: "span", Na: ["ytp-ad-skip-button-container"] }); this.G && this.D.element.classList.add("ytp-ad-skip-button-container-detached"); g.P(this, this.D); this.D.Ja(this.element); this.B = this.C = null; this.fb = new g.Dy(this.D, 500, !1, 100, function () { return h.hide() }); + g.P(this, this.fb); this.Ka = new Jy(this.D.element, 15E3, 5E3, .5, .5, this.G); g.P(this, this.Ka); this.hide() + }; + Xsa = function (a) { a = a.ra && a.ra.adRendererCommands; return (a && a.clickCommand && g.R(a.clickCommand, g.Sy) && g.R(a.clickCommand, g.Sy).commands || []).some(function (b) { return b.adLifecycleCommand ? Wsa(b.adLifecycleCommand) : !1 }) }; + Wsa = function (a) { return a.action === "END_LINEAR_AD" || a.action === "END_LINEAR_AD_PLACEMENT" }; + Ty = function (a, b, c, d, e, f) { Ay.call(this, a, { I: "div", S: "ytp-ad-skip-ad-slot" }, "skip-ad", b, c, d, e); this.ra = f; this.D = !1; this.G = 0; this.C = this.B = null; this.hide() }; + Ysa = function (a, b) { a.D || (a.D = !0, a.B && (b ? a.B.Ga.hide() : a.B.hide()), b ? (a = a.C, a.fb.show(), a.show()) : a.C.show()) }; + Uy = function (a, b, c, d) { gy.call(this, a, b, c, d, ["ytp-ad-visit-advertiser-button"], "visit-advertiser") }; + Vy = function (a, b, c, d, e, f) { Ox.call(this, a, { I: "span", S: "ytp-ad-simple-ad-badge" }, "simple-ad-badge", b, c, d); this.B = e; this.C = f; this.j = this.Ea("ytp-ad-simple-ad-badge"); this.hide() }; + Wy = function (a, b, c, d, e) { e = e === void 0 ? !1 : e; Ex.call(this, "player-overlay", a, {}, b, d); this.videoAdDurationSeconds = c; this.interactionLoggingClientData = d; this.CM = e }; + Xy = function (a, b) { g.Fx.call(this); this.api = a; this.durationMs = b; this.j = null; this.Hd = new Ws(this); g.P(this, this.Hd); this.B = Zsa; this.Hd.T(this.api, "presentingplayerstatechange", this.E5); this.j = this.Hd.T(this.api, "onAdPlaybackProgress", this.Tc) }; + Yy = function (a) { g.Fx.call(this); this.j = !1; this.qj = 0; this.Hd = new Ws(this); g.P(this, this.Hd); this.durationMs = a; this.Xe = new g.Me(100); g.P(this, this.Xe); this.Hd.T(this.Xe, "tick", this.Tc); this.B = { seekableStart: 0, seekableEnd: a / 1E3, current: 0 }; this.start() }; + g.Zy = function (a, b) { var c = Math.abs(Math.floor(a)), d = Math.floor(c / 86400), e = Math.floor(c % 86400 / 3600), f = Math.floor(c % 3600 / 60); c = Math.floor(c % 60); if (b) { b = ""; d > 0 && (b += " " + d + " Days"); if (d > 0 || e > 0) b += " " + e + " Hours"; b += " " + f + " Minutes"; b += " " + c + " Seconds"; d = b.trim() } else { b = ""; d > 0 && (b += d + ":", e < 10 && (b += "0")); if (d > 0 || e > 0) b += e + ":", f < 10 && (b += "0"); b += f + ":"; c < 10 && (b += "0"); d = b + c } return a >= 0 ? d : "-" + d }; + g.$y = function (a) { return (!("button" in a) || typeof a.button !== "number" || a.button === 0) && !("shiftKey" in a && a.shiftKey) && !("altKey" in a && a.altKey) && !("metaKey" in a && a.metaKey) && !("ctrlKey" in a && a.ctrlKey) }; + az = function (a, b, c, d, e, f) { Ay.call(this, a, { I: "span", S: "ytp-ad-duration-remaining" }, "ad-duration-remaining", b, c, d, e); this.videoAdDurationSeconds = f; this.B = null; this.hide() }; + bz = function (a, b, c, d) { yy.call(this, a, b, c, d, "ytp-video-ad-top-bar-title", "ad-title") }; + cz = function (a, b, c, d) { Ox.call(this, a, { I: "div", S: "ytp-ad-disclosure-banner" }, "ad-disclosure-banner", b, c, d); this.hide() }; + dz = function (a, b) { this.B = a; this.j = b }; + $sa = function (a, b) { return a.B + b * (a.j - a.B) }; + ez = function (a, b, c) { return a.j - a.B ? g.Dd((b - a.B) / (a.j - a.B), 0, 1) : c != null ? c : Infinity }; + fz = function (a, b) { g.Nx.call(this, { I: "div", S: "ytp-ad-persistent-progress-bar-container", V: [{ I: "div", S: "ytp-ad-persistent-progress-bar" }] }); this.api = a; this.B = b; g.P(this, this.B); this.progressBar = this.Ea("ytp-ad-persistent-progress-bar"); this.j = -1; this.T(a, "presentingplayerstatechange", this.onStateChange); this.hide(); this.onStateChange() }; + gz = function (a, b, c, d, e, f) { + Ox.call(this, a, { I: "div", S: "ytp-ad-player-overlay", V: [{ I: "div", S: "ytp-ad-player-overlay-flyout-cta" }, { I: "div", S: "ytp-ad-player-overlay-instream-info" }, { I: "div", S: "ytp-ad-player-overlay-skip-or-preview" }, { I: "div", S: "ytp-ad-player-overlay-progress-bar" }, { I: "div", S: "ytp-ad-player-overlay-instream-user-sentiment" }, { I: "div", S: "ytp-ad-player-overlay-ad-disclosure-banner" }] }, "player-overlay", b, c, d); this.Y = f; this.C = this.Ea("ytp-ad-player-overlay-flyout-cta"); this.api.U().L("web_rounded_thumbnails") && + this.C.classList.add("ytp-ad-player-overlay-flyout-cta-rounded"); this.j = this.Ea("ytp-ad-player-overlay-instream-info"); this.D = null; ata(this) && (a = he("div"), g.np(a, "ytp-ad-player-overlay-top-bar-gradients"), b = this.j, b.parentNode && b.parentNode.insertBefore(a, b), (b = this.api.getVideoData(2)) && b.isListed && b.title && (c = new bz(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), c.Ja(a), c.init(Dx("ad-title"), { text: b.title }, this.macros), g.P(this, c)), this.D = a); this.G = this.Ea("ytp-ad-player-overlay-skip-or-preview"); + this.Ka = this.Ea("ytp-ad-player-overlay-progress-bar"); this.Ga = this.Ea("ytp-ad-player-overlay-instream-user-sentiment"); this.ra = this.Ea("ytp-ad-player-overlay-ad-disclosure-banner"); this.B = e; g.P(this, this.B); this.hide() + }; + ata = function (a) { a = a.api.U(); return g.hz(a) && a.B }; + iz = function (a, b, c) { var d = {}; b && (d.v = b); c && (d.list = c); a = { name: a, locale: void 0, feature: void 0 }; for (var e in d) a[e] = d[e]; d = g.Ti("/sharing_services", a); g.nv(d) }; + g.jz = function (a) { a &= 16777215; var b = [(a & 16711680) >> 16, (a & 65280) >> 8, a & 255]; a = b[0]; var c = b[1]; b = b[2]; a = Number(a); c = Number(c); b = Number(b); if (a != (a & 255) || c != (c & 255) || b != (b & 255)) throw Error('"(' + a + "," + c + "," + b + '") is not a valid RGB color'); c = a << 16 | c << 8 | b; return a < 16 ? "#" + (16777216 | c).toString(16).slice(1) : "#" + c.toString(16) }; + kz = function (a) { this.j = new Jp(a) }; + bta = function () { var a = !1; try { a = !!window.sessionStorage.getItem("session_logininfo") } catch (b) { a = !0 } return (g.pr("INNERTUBE_CLIENT_NAME") === "WEB" || g.pr("INNERTUBE_CLIENT_NAME") === "WEB_CREATOR") && a }; + lz = function (a) { if (g.pr("LOGGED_IN", !0) && bta()) { var b = g.pr("VALID_SESSION_TEMPDATA_DOMAINS", []); var c = g.Ni(window.location.href); c && b.push(c); c = g.Ni(a); g.Mb(b, c) || !c && nb(a, "/") ? (b = Oi(a), (b = Nfa(b)) ? (b = yra(b), b = (b = g.es(b) || null) ? xr(b) : {}) : b = null) : b = null; b == null && (b = {}); c = b; var d = void 0; bta() ? (d || (d = g.pr("LOGIN_INFO")), d ? (c.session_logininfo = d, c = !0) : c = !1) : c = !1; c && Yw(a, b) } }; + g.cta = function (a) { var b = b === void 0 ? {} : b; var c = c === void 0 ? "" : c; var d = d === void 0 ? window : d; a = g.Ti(a, b); lz(a); c = g.rd(a + c); d = d.location; c = sd(c); c !== void 0 && (d.href = c) }; + g.mz = function (a, b, c) { b = b === void 0 ? {} : b; c = c === void 0 ? !1 : c; var d = g.pr("EVENT_ID"); d && (b.ei || (b.ei = d)); b && Yw(a, b); c || (lz(a), g.cta(a)) }; + g.nz = function (a, b, c, d, e) { e = e === void 0 ? !1 : e; c && Yw(a, c); c = g.rd(a); var f = g.ld(c); a != f && ur(Error("Unsafe window.open URL: " + a)); a = f; b = b || Vd(a).toString(36); try { if (e) { e = a; e = cqa(e); lz(e); g.Md(e, b, "attributionsrc"); return } } catch (h) { g.sr(h) } lz(a); g.Md(c, b, d) }; + dta = function (a) { oz = a }; + eta = function (a) { pz = a }; + fta = function (a) { qz = a }; + hta = function () { gta = qz = pz = oz = null }; + jta = function () { var a = a === void 0 ? window.location.href : a; if (g.Pr("kevlar_disable_theme_param")) return null; Ki(g.Mi(5, a)); try { var b = g.zr(a).theme; return ita.get(b) || null } catch (c) { } return null }; + rz = function () { this.j = {}; if (this.B = ina()) { var a = g.es("CONSISTENCY"); a && kta(this, { encryptedTokenJarContents: a }) } }; + kta = function (a, b) { + if (b.encryptedTokenJarContents && (a.j[b.encryptedTokenJarContents] = b, typeof b.expirationSeconds === "string")) { + var c = Number(b.expirationSeconds); setTimeout(function () { delete a.j[b.encryptedTokenJarContents] }, c * 1E3); + a.B && g.ds("CONSISTENCY", b.encryptedTokenJarContents, c, void 0, !0) + } + }; + tz = function () { this.B = -1; var a = g.pr("LOCATION_PLAYABILITY_TOKEN"); g.pr("INNERTUBE_CLIENT_NAME") === "TVHTML5" && (this.localStorage = sz(this)) && (a = this.localStorage.get("yt-location-playability-token")); a && (this.locationPlayabilityToken = a, this.j = void 0) }; + sz = function (a) { return a.localStorage === void 0 ? new Bt("yt-client-location") : a.localStorage }; + g.uz = function (a, b, c) { + b = b === void 0 ? !1 : b; c = c === void 0 ? !1 : c; var d = g.pr("INNERTUBE_CONTEXT"); if (!d) return g.ex(Error("Error: No InnerTubeContext shell provided in ytconfig.")), {}; d = g.Gc(d); g.Pr("web_no_tracking_params_in_shell_killswitch") || delete d.clickTracking; d.client || (d.client = {}); var e = d.client; e.clientName === "MWEB" && e.clientFormFactor !== "AUTOMOTIVE_FORM_FACTOR" && (e.clientFormFactor = g.pr("IS_TABLET") ? "LARGE_FORM_FACTOR" : "SMALL_FORM_FACTOR"); e.screenWidthPoints = window.innerWidth; e.screenHeightPoints = + window.innerHeight; e.screenPixelDensity = Math.round(window.devicePixelRatio || 1); e.screenDensityFloat = window.devicePixelRatio || 1; e.utcOffsetMinutes = -Math.floor((new Date).getTimezoneOffset()); var f = f === void 0 ? !1 : f; g.it(); var h = "USER_INTERFACE_THEME_LIGHT"; g.kt(0, 165) ? h = "USER_INTERFACE_THEME_DARK" : g.kt(0, 174) ? h = "USER_INTERFACE_THEME_LIGHT" : !g.Pr("kevlar_legacy_browsers") && window.matchMedia && window.matchMedia("(prefers-color-scheme)").matches && window.matchMedia("(prefers-color-scheme: dark)").matches && + (h = "USER_INTERFACE_THEME_DARK"); f = f ? h : jta() || h; e.userInterfaceTheme = f; if (!b) { if (f = Wna()) e.connectionType = f; g.Pr("web_log_effective_connection_type") && (f = Yna()) && (d.client.effectiveConnectionType = f) } var l; if (g.Pr("web_log_memory_total_kbytes") && ((l = g.Ja.navigator) == null ? 0 : l.deviceMemory)) { var m; l = (m = g.Ja.navigator) == null ? void 0 : m.deviceMemory; d.client.memoryTotalKbytes = "" + l * 1E6 } g.Pr("web_gcf_hashes_innertube") && (f = epa()) && (m = f.coldConfigData, l = f.coldHashData, f = f.hotHashData, d.client.configInfo = d.client.configInfo || + {}, m && (d.client.configInfo.coldConfigData = m), l && (d.client.configInfo.coldHashData = l), f && (d.client.configInfo.hotHashData = f)); m = g.zr(g.Ja.location.href); !g.Pr("web_populate_internal_geo_killswitch") && m.internalcountrycode && (e.internalGeo = m.internalcountrycode); e.clientName === "MWEB" || e.clientName === "WEB" ? (e.mainAppWebInfo = { graftUrl: g.Ja.location.href }, g.Pr("kevlar_woffle") && Pna.instance && (m = Pna.instance, e.mainAppWebInfo.pwaInstallabilityStatus = !m.j && m.B ? "PWA_INSTALLABILITY_STATUS_CAN_BE_INSTALLED" : + "PWA_INSTALLABILITY_STATUS_UNKNOWN"), e.mainAppWebInfo.webDisplayMode = ft(), e.mainAppWebInfo.isWebNativeShareAvailable = navigator && navigator.share !== void 0) : e.clientName === "TVHTML5" && (!g.Pr("web_lr_app_quality_killswitch") && (m = g.pr("LIVING_ROOM_APP_QUALITY")) && (e.tvAppInfo = Object.assign(e.tvAppInfo || {}, { appQuality: m })), m = g.pr("LIVING_ROOM_CERTIFICATION_SCOPE")) && (e.tvAppInfo = Object.assign(e.tvAppInfo || {}, { certificationScope: m })); if (!g.Pr("web_populate_time_zone_itc_killswitch")) { + a: { + if (typeof Intl !== + "undefined") try { var n = (new Intl.DateTimeFormat).resolvedOptions().timeZone; break a } catch (H) { } n = void 0 + } n && (e.timeZone = n) + } (n = Rr()) ? e.experimentsToken = n : delete e.experimentsToken; n = Sr(); rz.instance || (rz.instance = new rz); d.request = Object.assign({}, d.request, { internalExperimentFlags: n, consistencyTokenJars: g.wc(rz.instance.j) }); !g.Pr("web_prequest_context_killswitch") && (n = g.pr("INNERTUBE_CONTEXT_PREQUEST_CONTEXT")) && (d.request.externalPrequestContext = n); e = g.it(); n = g.kt(0, 58); e = e.get("gsml", ""); d.user = Object.assign({}, + d.user); n && (d.user.enableSafetyMode = n); e && (d.user.lockedSafetyMode = !0); g.Pr("warm_op_csn_cleanup") ? c && (b = g.Ww()) && (d.clientScreenNonce = b) : !b && (b = g.Ww()) && (d.clientScreenNonce = b); a && (d.clickTracking = { clickTrackingParams: a }); if (a = g.La("yt.mdx.remote.remoteClient_")) d.remoteClient = a; tz.getInstance().setLocationOnInnerTubeContext(d); try { + var p = Hr(), q = p.bid; delete p.bid; d.adSignalsInfo = { params: [], bid: q }; for (var r = g.w(Object.entries(p)), t = r.next(); !t.done; t = r.next()) { + var u = g.w(t.value), y = u.next().value, + A = u.next().value; p = y; q = A; a = void 0; (a = d.adSignalsInfo.params) == null || a.push({ key: p, value: "" + q }) + } var D; if (((D = d.client) == null ? void 0 : D.clientName) === "TVHTML5") { var F = g.pr("INNERTUBE_CONTEXT"); F.adSignalsInfo && (d.adSignalsInfo.advertisingId = F.adSignalsInfo.advertisingId, d.adSignalsInfo.advertisingIdSignalType = "DEVICE_ID_TYPE_CONNECTED_TV_IFA", d.adSignalsInfo.limitAdTracking = F.adSignalsInfo.limitAdTracking) } + } catch (H) { g.ex(H) } return d + }; + mta = function (a, b) { if (!a) return !1; var c, d = (c = g.R(a, vz)) == null ? void 0 : c.signal; if (d && b.Ry) return !!b.Ry[d]; var e; if ((c = (e = g.R(a, lta)) == null ? void 0 : e.request) && b.bP) return !!b.bP[c]; for (var f in a) if (b.VO[f]) return !0; return !1 }; + nta = function (a) { + var b = { "Content-Type": "application/json" }; g.pr("EOM_VISITOR_DATA") ? b["X-Goog-EOM-Visitor-Id"] = g.pr("EOM_VISITOR_DATA") : g.pr("VISITOR_DATA") && (b["X-Goog-Visitor-Id"] = g.pr("VISITOR_DATA")); b["X-Youtube-Bootstrap-Logged-In"] = g.pr("LOGGED_IN", !1); g.pr("DEBUG_SETTINGS_METADATA") && (b["X-Debug-Settings-Metadata"] = g.pr("DEBUG_SETTINGS_METADATA")); a !== "cors" && ((a = g.pr("INNERTUBE_CONTEXT_CLIENT_NAME")) && (b["X-Youtube-Client-Name"] = a), (a = g.pr("INNERTUBE_CONTEXT_CLIENT_VERSION")) && (b["X-Youtube-Client-Version"] = + a), (a = g.pr("CHROME_CONNECTED_HEADER")) && (b["X-Youtube-Chrome-Connected"] = a), (a = g.pr("DOMAIN_ADMIN_STATE")) && (b["X-Youtube-Domain-Admin-State"] = a)); return b + }; + ota = function () { this.j = {} }; + wz = function () { this.mappings = new ota }; + xz = function (a) { return function () { return new a } }; + qta = function (a) { + var b = b === void 0 ? "UNKNOWN_INTERFACE" : b; if (a.length === 1) return a[0]; var c = pta[b]; if (c) { c = new RegExp(c); for (var d = g.w(a), e = d.next(); !e.done; e = d.next())if (e = e.value, c.exec(e)) return e } var f = []; Object.entries(pta).forEach(function (h) { var l = g.w(h); h = l.next().value; l = l.next().value; b !== h && f.push(l) }); + c = new RegExp(f.join("|")); a.sort(function (h, l) { return h.length - l.length }); + d = g.w(a); for (e = d.next(); !e.done; e = d.next())if (e = e.value, !c.exec(e)) return e; return a[0] + }; + g.yz = function (a) { return "/youtubei/v1/" + qta(a) }; + zz = function () { }; + Qz = function () { }; + Rz = function () { }; + Sz = function (a) { return g.La("ytcsi." + (a || "") + "data_") || rta(a) }; + sta = function () { var a = Sz(); a.info || (a.info = {}); return a.info }; + Tz = function (a) { a = Sz(a); a.metadata || (a.metadata = {}); return a.metadata }; + Uz = function (a) { a = Sz(a); a.tick || (a.tick = {}); return a.tick }; + Vz = function (a) { a = Sz(a); if (a.gel) { var b = a.gel; b.gelInfos || (b.gelInfos = {}); b.gelTicks || (b.gelTicks = {}) } else a.gel = { gelTicks: {}, gelInfos: {} }; return a.gel }; + tta = function (a) { a = Vz(a); a.gelInfos || (a.gelInfos = {}); return a.gelInfos }; + Wz = function (a) { var b = Sz(a).nonce; b || (b = g.Sv(16), Sz(a).nonce = b); return b }; + rta = function (a) { var b = { tick: {}, info: {} }; g.Ka("ytcsi." + (a || "") + "data_", b); return b }; + Xz = function () { var a = g.La("ytcsi.debug"); a || (a = [], g.Ka("ytcsi.debug", a), g.Ka("ytcsi.reference", {})); return a }; + Yz = function (a) { a = a || ""; var b = uta(); if (b[a]) return b[a]; var c = Xz(), d = { timerName: a, info: {}, tick: {}, span: {}, jspbInfo: [] }; c.push(d); return b[a] = d }; + vta = function (a) { a = a || ""; var b = uta(); b[a] && delete b[a]; var c = Xz(), d = { timerName: a, info: {}, tick: {}, span: {}, jspbInfo: [] }; c.push(d); b[a] = d }; + uta = function () { var a = g.La("ytcsi.reference"); if (a) return a; Xz(); return g.La("ytcsi.reference") }; + Zz = function (a) { return wta[a] || "LATENCY_ACTION_UNKNOWN" }; + $z = function (a, b) { Pu.call(this, 1, arguments); this.Xe = b }; + aA = function () { this.j = 0 }; + bA = function () { aA.instance || (aA.instance = new aA); return aA.instance }; + dA = function (a, b) { + cA[b] = cA[b] || { count: 0 }; var c = cA[b]; c.count++; c.time = (0, g.Zt)(); a.j || (a.j = g.vt(0, function () { var d = (0, g.Zt)(), e; for (e in cA) cA[e] && d - cA[e].time > 6E4 && delete cA[e]; a && (a.j = 0) }, 5E3)); + return c.count > 5 ? (c.count === 6 && Math.random() * 1E5 < 1 && (c = new g.pt("CSI data exceeded logging limit with key", b.split("_")), b.indexOf("plev") >= 0 || g.fx(c)), !0) : !1 + }; + xta = function () { + this.timing = {}; this.clearResourceTimings = function () { }; + this.webkitClearResourceTimings = function () { }; + this.mozClearResourceTimings = function () { }; + this.msClearResourceTimings = function () { }; + this.oClearResourceTimings = function () { } + }; + yta = function () { + var a; if (g.Pr("csi_use_performance_navigation_timing") || g.Pr("csi_use_performance_navigation_timing_tvhtml5")) { + var b, c, d, e = eA == null ? void 0 : (a = eA.getEntriesByType) == null ? void 0 : (b = a.call(eA, "navigation")) == null ? void 0 : (c = b[0]) == null ? void 0 : (d = c.toJSON) == null ? void 0 : d.call(c); e ? (e.requestStart = fA(e.requestStart), e.responseEnd = fA(e.responseEnd), e.redirectStart = fA(e.redirectStart), e.redirectEnd = fA(e.redirectEnd), e.domainLookupEnd = fA(e.domainLookupEnd), e.connectStart = fA(e.connectStart), + e.connectEnd = fA(e.connectEnd), e.responseStart = fA(e.responseStart), e.secureConnectionStart = fA(e.secureConnectionStart), e.domainLookupStart = fA(e.domainLookupStart), e.isPerformanceNavigationTiming = !0, a = e) : a = eA.timing + } else a = g.Pr("csi_performance_timing_to_object") ? JSON.parse(JSON.stringify(eA.timing)) : eA.timing; return a + }; + fA = function (a) { return Math.round(gA() + a) }; + gA = function () { return (g.Pr("csi_use_time_origin") || g.Pr("csi_use_time_origin_tvhtml5")) && eA.timeOrigin ? Math.floor(eA.timeOrigin) : eA.timing.navigationStart }; + iA = function (a, b) { hA("_start", a, b) }; + jA = function (a, b) { if (!g.Pr("web_csi_action_sampling_enabled") || !Sz(b).actionDisabled) { var c = Yz(b || ""); Mv(c.info, a); a.loadType && (c = a.loadType, Tz(b).loadType = c); Mv(tta(b), a); c = Wz(b); b = Sz(b).cttAuthInfo; bA().info(a, c, b) } }; + zta = function () { var a, b, c, d; return ((d = cw().resolve(new Yv(Hu)) == null ? void 0 : (a = Iu()) == null ? void 0 : (b = a.loggingHotConfig) == null ? void 0 : (c = b.csiConfig) == null ? void 0 : c.debugTicks) != null ? d : []).map(function (e) { return Object.values(e)[0] }) }; + hA = function (a, b, c) { + if (!g.Pr("web_csi_action_sampling_enabled") || !Sz(c).actionDisabled) { + var d = Wz(c), e; if (e = g.Pr("web_csi_debug_sample_enabled") && d) { + (cw().resolve(new Yv(Hu)) == null ? 0 : Iu()) && !Ata && (Ata = !0, hA("gcfl", (0, g.Zt)(), c)); var f, h, l; e = (cw().resolve(new Yv(Hu)) == null ? void 0 : (f = Iu()) == null ? void 0 : (h = f.loggingHotConfig) == null ? void 0 : (l = h.csiConfig) == null ? void 0 : l.debugSampleWeight) || 0; if (f = e !== 0) b: { f = zta(); if (f.length > 0) for (h = 0; h < f.length; h++)if (a === f[h]) { f = !0; break b } f = !1 } f ? (e = Xra(d) % e !== 0, Sz(c).debugTicksExcludedLogged || + (f = {}, f.debugTicksExcluded = e, jA(f, c)), Sz(c).debugTicksExcludedLogged = !0) : e = !1 + } if (!e) { + if (a[0] !== "_" && (e = a, f = b, eA.mark)) if (e.startsWith("mark_") || (e = "mark_" + e), c && (e += " (" + c + ")"), f === void 0 || g.Pr("web_csi_disable_alt_time_performance_mark")) eA.mark(e); else { f = g.Pr("csi_use_performance_navigation_timing") || g.Pr("csi_use_performance_navigation_timing_tvhtml5") ? f - eA.timeOrigin : f - (eA.timeOrigin || eA.timing.navigationStart); try { eA.mark(e, { startTime: f }) } catch (m) { } } e = Yz(c || ""); e.tick[a] = b || (0, g.Zt)(); if (e.callback && + e.callback[a]) for (e = g.w(e.callback[a]), f = e.next(); !f.done; f = e.next())f = f.value, f(); e = Vz(c); e.gelTicks && (e.gelTicks[a] = !0); f = Uz(c); e = b || (0, g.Zt)(); g.Pr("log_repeated_ytcsi_ticks") ? a in f || (f[a] = e) : f[a] = e; f = Sz(c).cttAuthInfo; a === "_start" ? (a = bA(), dA(a, "baseline_" + d) || g.Ht("latencyActionBaselined", { clientActionNonce: d }, { timestamp: b, cttAuthInfo: f })) : bA().tick(a, d, b, f); Bta(c); return e + } + } + }; + Cta = function () { var a, b = (a = eA.getEntriesByType) == null ? void 0 : a.call(eA, "mark"); b && b.forEach(function (c) { if (c.name.startsWith("mark_")) { var d; (d = eA.clearMarks) == null || d.call(eA, c.name) } }) }; + Dta = function () { switch (Cna()) { case "hidden": return 0; case "visible": return 1; case "prerender": return 2; case "unloaded": return 3; default: return -1 } }; + Eta = function (a) { + function b(f, h, l) { h = h.match("_rid") ? h.split("_rid")[0] : h; typeof l === "number" && (l = JSON.stringify(l)); f.requestIds ? f.requestIds.push({ endpoint: h, id: l }) : f.requestIds = [{ endpoint: h, id: l }] } + var c = {}; a = g.w(Object.entries(a)); for (var d = a.next(); !d.done; d = a.next()) { var e = g.w(d.value); d = e.next().value; e = e.next().value; switch (d) { case "GetBrowse_rid": b(c, d, e); break; case "GetGuide_rid": b(c, d, e); break; case "GetHome_rid": b(c, d, e); break; case "GetPlayer_rid": b(c, d, e); break; case "GetSearch_rid": b(c, d, e); break; case "GetSettings_rid": b(c, d, e); break; case "GetTrending_rid": b(c, d, e); break; case "GetWatchNext_rid": b(c, d, e); break; case "yt_red": c.isRedSubscriber = !!e; break; case "yt_ad": c.isMonetized = !!e } } return c + }; + Fta = function (a, b) { a = document.querySelector(a); if (!a) return !1; var c = "", d = a.nodeName; d === "SCRIPT" ? (c = a.src, c || (c = a.getAttribute("data-timing-href")) && (c = window.location.protocol + c)) : d === "LINK" && (c = a.href); Nd(window) && a.setAttribute("nonce", Nd(window)); return c ? (a = eA.getEntriesByName(c)) && a[0] && (a = a[0], c = gA(), hA("rsf_" + b, c + Math.round(a.fetchStart)), hA("rse_" + b, c + Math.round(a.responseEnd)), a.transferSize !== void 0 && a.transferSize === 0) ? !0 : !1 : !1 }; + Gta = function () { + var a = window.location.protocol, b = eA.getEntriesByType("resource"); b = g.kn(b, function (c) { return c.name.indexOf(a + "//fonts.gstatic.com/s/") === 0 }); + (b = Cl(b, function (c, d) { return d.duration > c.duration ? d : c }, { duration: 0 })) && b.startTime > 0 && b.responseEnd > 0 && (hA("wffs", fA(b.startTime)), hA("wffe", fA(b.responseEnd))) + }; + Hta = function (a, b, c) { eA && eA.measure && (a.startsWith("measure_") || (a = "measure_" + a), c ? eA.measure(a, b, c) : b ? eA.measure(a, b) : eA.measure(a)) }; + Ita = function (a) { var b = kA("aft", a); if (b) return b; b = g.pr((a || "") + "TIMING_AFT_KEYS", ["ol"]); for (var c = b.length, d = 0; d < c; d++) { var e = kA(b[d], a); if (e) return e } return NaN }; + lA = function (a, b) { g.Ka("ytglobal.timing" + (b || "") + "ready_", a) }; + kA = function (a, b) { if (a = Uz(b)[a]) return typeof a === "number" ? a : a[a.length - 1] }; + Bta = function (a) { var b = kA("_start", a), c = Ita(a), d = g.Pr("enable_cow_info_csi") || !Jta; b && c && d && (Vu(Kta, new $z(Math.round(c - b), a)), Jta = !0) }; + Lta = function () { + if (eA.getEntriesByType) { var a = eA.getEntriesByType("paint"); if (a = g.Kb(a, function (c) { return c.name === "first-paint" })) return fA(a.startTime) } var b; + g.Pr("csi_use_performance_navigation_timing") || g.Pr("csi_use_performance_navigation_timing_tvhtml5") ? b = eA.getEntriesByType("first-paint")[0].startTime : b = eA.timing.Moa; return b ? Math.max(0, b) : 0 + }; + mA = function (a) { rta(a); Mta(); Cta(); a || (g.pr("TIMING_ACTION") && or("PREVIOUS_ACTION", g.pr("TIMING_ACTION")), or("TIMING_ACTION", "")) }; + Nta = function () { + var a = ["pbs", "pbu"]; g.tr(function () { + Yz("").info.actionType = "watch"; a && or("TIMING_AFT_KEYS", a); or("TIMING_ACTION", "watch"); var b = Eta(g.pr("TIMING_INFO", {})); Object.keys(b).length > 0 && jA(b); b = { isNavigation: !0, actionType: Zz(g.pr("TIMING_ACTION")) }; var c = g.pr("PREVIOUS_ACTION"); c && (b.previousAction = Zz(c)); if (c = g.pr("CLIENT_PROTOCOL")) b.httpProtocol = c; if (c = g.pr("CLIENT_TRANSPORT")) b.transportProtocol = c; (c = g.Ww()) && c !== "UNDEFINED_CSN" && (b.clientScreenNonce = c); c = Dta(); if (c === 1 || c === -1) b.isVisible = + !0; c = Tz().loadType === "cold"; var d = sta(); c || (c = d.yt_lt === "cold"); if (c) { + b.loadType = "cold"; c = sta(); d = yta(); var e = gA(), f = g.pr("CSI_START_TIMESTAMP_MILLIS", 0); f > 0 && !g.Pr("embeds_web_enable_csi_start_override_killswitch") && (e = f); e && (hA("srt", d.responseStart), c.prerender !== 1 && iA(e)); c = Lta(); c > 0 && hA("fpt", c); c = yta(); c.isPerformanceNavigationTiming && jA({ performanceNavigationTiming: !0 }, void 0); hA("nreqs", c.requestStart, void 0); hA("nress", c.responseStart, void 0); hA("nrese", c.responseEnd, void 0); c.redirectEnd - + c.redirectStart > 0 && (hA("nrs", c.redirectStart, void 0), hA("nre", c.redirectEnd, void 0)); c.domainLookupEnd - c.domainLookupStart > 0 && (hA("ndnss", c.domainLookupStart, void 0), hA("ndnse", c.domainLookupEnd, void 0)); c.connectEnd - c.connectStart > 0 && (hA("ntcps", c.connectStart, void 0), hA("ntcpe", c.connectEnd, void 0)); c.secureConnectionStart >= gA() && c.connectEnd - c.secureConnectionStart > 0 && (hA("nstcps", c.secureConnectionStart, void 0), hA("ntcpe", c.connectEnd, void 0)); eA && "getEntriesByType" in eA && Gta(); c = []; if (document.querySelector && + eA && eA.getEntriesByName) for (var h in nA) nA.hasOwnProperty(h) && (d = nA[h], Fta(h, d) && c.push(d)); if (c.length > 0) for (b.resourceInfo = [], h = g.w(c), c = h.next(); !c.done; c = h.next())b.resourceInfo.push({ resourceCache: c.value }) + } jA(b); b = Vz(); b.preLoggedGelInfos || (b.preLoggedGelInfos = []); h = b.preLoggedGelInfos; b = tta(); c = void 0; for (d = 0; d < h.length; d++)if (e = h[d], e.loadType) { c = e.loadType; break } if (Tz().loadType === "cold" && (b.loadType === "cold" || c === "cold")) { + c = Uz(); d = Vz(); d = d.gelTicks ? d.gelTicks : d.gelTicks = {}; for (var l in c) if (!(l in + d)) if (typeof c[l] === "number") hA(l, kA(l)); else if (g.Pr("log_repeated_ytcsi_ticks")) for (e = g.w(c[l]), f = e.next(); !f.done; f = e.next())hA(l.slice(1), f.value); l = {}; c = !1; h = g.w(h); for (d = h.next(); !d.done; d = h.next())c = d.value, Mv(b, c), Mv(l, c), c = !0; c && jA(l) + } lA(!0); l = g.pr("TIMING_ACTION"); g.La("ytglobal.timingready_") && l && oA() && Ita() && Bta() + })() + }; + Ota = function () { var a = a === void 0 ? {} : a; g.tr(function () { oA() && pA("aa", void 0, void 0); vta(); mA(); lA(!1); a.cttAuthInfo && (Sz().cttAuthInfo = a.cttAuthInfo); or("TIMING_AFT_KEYS", []); a.woa ? g.qA({ loadType: "hot" }) : g.qA({ loadType: "warm" }); or("TIMING_ACTION", ""); delete g.pr("TIMING_INFO", {}).yt_lt; g.tr(iA)(a.startTime, void 0) })() }; + rA = function (a, b) { b = b === void 0 ? {} : b; g.tr(function () { Pta(a); var c = b.sampleRate; if (!g.Pr("web_csi_action_sampling_enabled") || c === void 0 || c <= 1) c = !1; else { var d = Wz(a); c = Xra(d) % c !== 0 } c && (Sz(a).actionDisabled = !0); Yz(a || "").info.actionType = a; b.cttAuthInfo && (Sz(a).cttAuthInfo = b.cttAuthInfo); or(a + "TIMING_ACTION", a); g.tr(iA)(b.startTime, a); c = { actionType: Zz(a) }; b.Foa && (c.previousAction = Zz(g.pr("TIMING_ACTION"))); (d = g.Ww()) && d !== "UNDEFINED_CSN" && (c.clientScreenNonce = d); g.qA(c, a); lA(!0, a) })() }; + Pta = function (a) { g.tr(function () { oA(a) && pA("aa", void 0, a); vta(a); mA(a) })() }; + oA = function (a) { return g.tr(function () { return sA("_start", a) })() }; + g.qA = function (a, b, c) { g.tr(jA)(a, b, c === void 0 ? !1 : c) }; + pA = function (a, b, c) { return g.tr(hA)(a, b, c) }; + Qta = function (a) { g.tr(Hta)("action_finished", a, void 0) }; + sA = function (a, b) { return g.tr(function () { var c = Uz(b); return a in c })() }; + Sta = function (a) { if (!g.Pr("universal_csi_network_ticks")) return ""; a = Ki(g.Mi(5, a)) || ""; for (var b = Object.keys(Rta), c = 0; c < b.length; c++) { var d = b[c]; if (a.includes(d)) return d } return "" }; + Uta = function (a) { + if (!g.Pr("universal_csi_network_ticks")) return function () { }; + var b = Rta[a]; return b ? (tA(b), function () { var c = g.Pr("universal_csi_network_ticks") ? (c = Tta[a]) ? tA(c) : !1 : !1; return c }) : function () { } + }; + tA = function (a, b) { return g.tr(function () { if (sA(a, b)) return !1; pA(a, void 0, b); return !0 })() }; + uA = function (a, b, c) { g.tr(function () { if (!oA(c) || sA(a, c)) return !1; pA(a, b, c); return !0 })() }; + Vta = function () { g.tr(function () { var a = Wz(); requestAnimationFrame(function () { setTimeout(function () { a === Wz() && pA("ftl", void 0, void 0) }, 0) }) })() }; + vA = function (a, b, c, d) { this.tP = a; this.lh = b; this.j = c; this.D = d; this.C = void 0; this.B = new Map; a.Ry || (a.Ry = {}); a.Ry = Object.assign({}, Wta, a.Ry) }; + Xta = function (a, b, c, d) { + if (vA.instance !== void 0) { + if (d = vA.instance, a = [a !== d.tP, b !== d.lh, c !== d.j, !1, !1, !1, void 0 !== d.C], a.some(function (e) { return e })) throw new g.pt("InnerTubeTransportService is already initialized", a); + } else vA.instance = new vA(a, b, c, d) + }; + wA = function (a, b, c) { + var d = d === void 0 ? Lu : d; var e = Yta(a, b); return e ? new g.Fe(function (f, h) { var l, m, n, p, q; return g.J(function (r) { switch (r.j) { case 1: return g.G(r, e, 2); case 2: l = r.B; m = l.G(b, c, d); if (!m) { h(new g.pt("Error: Failed to build request for command.", b)); r.Ha(0); break } lz(m.input); p = ((n = m.ov) == null ? void 0 : n.mode) === "cors" ? "cors" : void 0; if (a.j.L2) { q = Zta(a, m.config, p); r.Ha(4); break } return g.G(r, $ta(a, m.config, p), 5); case 5: q = r.B; case 4: f(aua(a, m, q)), g.ua(r) } }) }) : Ie(new g.pt("Error: No request builder found for command.", + b)) + }; + g.xA = function (a, b, c, d, e) { + function f() { } + e = e === void 0 ? { Gw: { identity: Lu } } : e; var h = h === void 0 ? !0 : h; f = Uta(Sta(c)); b.context || (b.context = g.uz(d, h)); return new g.Fe(function (l) { var m, n, p, q, r; return g.J(function (t) { if (t.j == 1) return m = gs(c), n = Cr(m) ? "same-origin" : "cors", a.j.L2 ? (p = Zta(a, e, n), t.Ha(2)) : g.G(t, $ta(a, e, n), 3); t.j != 2 && (p = t.B); var u = p; q = jna(gs(c), u); r = { input: q, ov: hs(q), cq: b, config: e }; l(aua(a, r, p, f)); g.ua(t) }) }) + }; + cua = function (a, b, c) { var d; if (b && !(b == null ? 0 : (d = b.sequenceMetaData) == null ? 0 : d.skipProcessing) && a.D) { d = g.w(bua); for (var e = d.next(); !e.done; e = d.next())e = e.value, a.D[e] && a.D[e].handleResponse(b, c) } }; + aua = function (a, b, c, d) { + d = d === void 0 ? function () { } : d; + var e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M, N, Q, Z, fa, pa, Y, S, W, v, V, cb, zb; return g.J(function (Ra) { + switch (Ra.j) { + case 1: Ra.Ha(2); break; case 3: if ((e = Ra.B) && !e.isExpired()) return Ra.return(Promise.resolve(e.j())); case 2: if (!((f = b) == null ? 0 : (h = f.cq) == null ? 0 : h.context)) { Ra.Ha(4); break } l = b.cq.context; Ra.Ha(5); break; case 5: m = g.w([]), n = m.next(); case 8: if (n.done) { Ra.Ha(4); break } p = n.value; return g.G(Ra, p.jpa(l), 9); case 9: n = m.next(); Ra.Ha(8); break; case 4: if ((q = a.C) == null || !q.Fpa(b.input, b.cq)) { Ra.Ha(12); break } return g.G(Ra, + a.C.Doa(b.input, b.cq), 13); case 13: return r = Ra.B, g.Pr("kevlar_process_local_innertube_responses_killswitch") || cua(a, r, b), Ra.return(r); case 12: return (y = (u = b.config) == null ? void 0 : u.cC) && a.B.has(y) ? t = a.B.get(y) : (A = JSON.stringify(b.cq), H = (F = (D = b.ov) == null ? void 0 : D.headers) != null ? F : {}, b.ov = Object.assign({}, b.ov, { headers: Object.assign({}, H, c) }), M = Object.assign({}, b.ov), b.ov.method === "POST" && (M = Object.assign({}, M, { body: A })), ((N = b.config) == null ? 0 : N.Bda) && pA(b.config.Bda), Q = function () { + return a.lh.fetch(b.input, + M, b.config) + }, t = Q(), y && a.B.set(y, t)), g.G(Ra, t, 14); + case 14: if ((Z = Ra.B) && "error" in Z && ((fa = Z) == null ? 0 : (pa = fa.error) == null ? 0 : pa.details)) for (Y = Z.error.details, S = g.w(Y), W = S.next(); !W.done; W = S.next())v = W.value, (V = v["@type"]) && dua.indexOf(V) > -1 && (delete v["@type"], Z = v); y && a.B.has(y) && a.B.delete(y); ((cb = b.config) == null ? 0 : cb.Fda) && pA(b.config.Fda); if (Z || (zb = a.C) == null || !zb.Lma(b.input, b.cq)) { Ra.Ha(15); break } return g.G(Ra, a.C.Coa(b.input, b.cq), 16); case 16: Z = Ra.B; case 15: return cua(a, Z, b), d(), Ra.return(Z || void 0) + } + }) + }; + Yta = function (a, b) { a: { a = a.tP; var c, d = (c = g.R(b, vz)) == null ? void 0 : c.signal; if (d && a.Ry && (c = a.Ry[d])) { var e = c(); break a } var f; if ((c = (f = g.R(b, lta)) == null ? void 0 : f.request) && a.bP && (f = a.bP[c])) { e = f(); break a } for (e in b) if (a.VO[e] && (b = a.VO[e])) { e = b(); break a } e = void 0 } if (e !== void 0) return Promise.resolve(e) }; + $ta = function (a, b, c) { var d, e, f, h, l, m, n, p, q, r; return g.J(function (t) { if (t.j == 1) { f = ((d = b) == null ? void 0 : (e = d.Gw) == null ? void 0 : e.identity) || Lu; m = (h = b) == null ? void 0 : (l = h.Gw) == null ? void 0 : l.sessionIndex; q = ((p = g.R((n = b) == null ? void 0 : n.command, vz)) == null ? void 0 : p.signal) === "GET_ACCOUNT_MENU" ? !0 : !1; var u = He(a.j.aF(f, { sessionIndex: m, sZ: q })); return g.G(t, u, 2) } r = t.B; return t.return(Promise.resolve(Object.assign({}, nta(c), r))) }) }; + Zta = function (a, b, c) { var d, e = (b == null ? void 0 : (d = b.Gw) == null ? void 0 : d.identity) || Lu, f; d = b == null ? void 0 : (f = b.Gw) == null ? void 0 : f.sessionIndex; var h; b = ((h = g.R(b == null ? void 0 : b.command, vz)) == null ? void 0 : h.signal) === "GET_ACCOUNT_MENU" ? !0 : !1; a = a.j.aF(e, { sessionIndex: d, sZ: b }); return Object.assign({}, nta(c), a) }; + yA = function () { }; + zA = function () { }; + AA = function (a) { this.K = a }; + BA = function () { }; + CA = function () { }; + DA = function () { }; + EA = function () { }; + g.FA = function (a, b) { var c = g.Ca.apply(2, arguments); a = a === void 0 ? 0 : a; g.pt.call(this, b, c); this.errorType = a; Object.setPrototypeOf(this, this.constructor.prototype) }; + GA = function (a) { this.j = a }; + eua = function (a, b, c) { if (a.j) { var d = Ki(g.Mi(5, Wi(b, "key"))) || "/UNKNOWN_PATH"; a.j.start(d) } a = c; g.Pr("wug_networking_gzip_request") && (a = Ipa(c)); return new window.Request(b, a) }; + g.IA = function (a, b) { if (!HA) { var c = cw(); Zv(c, { aH: fua, F3: GA }); var d = { VO: { feedbackEndpoint: xz(BA), modifyChannelNotificationPreferenceEndpoint: xz(CA), playlistEditEndpoint: xz(DA), shareEntityEndpoint: xz(AA), subscribeEndpoint: xz(yA), unsubscribeEndpoint: xz(zA), webPlayerShareEntityServiceEndpoint: xz(EA) } }, e = tz.getInstance(), f = {}; e && (f.client_location = e); a === void 0 && (a = Qna()); b === void 0 && (b = c.resolve(fua)); Xta(d, b, a, f); Zv(c, { aH: gua, AU: vA.instance }); HA = c.resolve(gua) } return HA }; + hua = function (a) { var b = new nj; if (a.interpreterJavascript) { var c = Ama(a.interpreterJavascript); c = Ad(c).toString(); var d = new lj; Sg(d, 6, c); Eg(b, lj, 1, d) } else a.interpreterUrl && (c = Jq(a.interpreterUrl), c = g.id(c).toString(), d = new mj, Sg(d, 4, c), Eg(b, mj, 2, d)); a.interpreterHash && Tg(b, 3, a.interpreterHash); a.program && Tg(b, 4, a.program); a.globalName && Tg(b, 5, a.globalName); return b }; + iua = function (a) { var b = {}; a = a.split("&"); a = g.w(a); for (var c = a.next(); !c.done; c = a.next())c = c.value.split("="), c.length === 2 && (b[c[0]] = c[1]); return b }; + kua = function () { + if (!g.Pr("disable_biscotti_fetch_for_ad_blocker_detection") && !g.Pr("disable_biscotti_fetch_entirely_for_all_web_clients") && xs()) { + var a = g.pr("PLAYER_VARS", {}); if (g.Cc(a, "privembed", !1) != "1" && !pna(a)) { + var b = function () { JA = !0; "google_ad_status" in window ? or("DCLKSTAT", 1) : or("DCLKSTAT", 2) }; + try { g.Jv("//static.doubleclick.net/instream/ad_status.js", b) } catch (c) { } jua.push(g.Zo.Vi(function () { if (!(JA || "google_ad_status" in window)) { try { if (b) { var c = "" + g.Ta(b), d = pqa[c]; d && g.Hv(d) } } catch (e) { } JA = !0; or("DCLKSTAT", 3) } }, 5E3)) + } + } + }; + KA = function () { var a = Number(g.pr("DCLKSTAT", 0)); return isNaN(a) ? 0 : a }; + MA = function (a, b, c) { var d = this; this.network = a; this.B = c; this.j = null; b && lua(this, new Promise(function (e) { g.vt(0, function () { e(LA(d)) }, 0) })) }; + LA = function (a, b) { + b = b === void 0 ? 0 : b; var c, d, e, f, h, l, m, n, p, q, r, t; return g.J(function (u) { + switch (u.j) { + case 1: c = { engagementType: "ENGAGEMENT_TYPE_UNBOUND" }; if (d = sj().j) c.interpreterHash = d; g.va(u, 2); return g.G(u, NA(a, c), 4); case 4: e = u.B; if (!e) throw Error("Fetching Attestation challenge returned falsy"); if (!e.challenge) throw Error("Missing Attestation challenge"); f = e.challenge; h = iua(f); if ("c1a" in h && (!e.bgChallenge || !e.bgChallenge.program)) throw Error("Expected bg challenge but missing."); g.wa(u, 3); break; case 2: l = + g.xa(u); g.fx(l); b++; if (b >= 5) return g.fx(Error("Failed to fetch attestation challenge after " + (b + " attempts; not retrying for 24h."))), mua(a, 864E5), u.return({ challenge: "", yr: {}, jp: void 0, bgChallenge: void 0 }); m = 1E3 * Math.pow(2, b - 1) + Math.random() * 1E3; return u.return(new Promise(function (y) { g.vt(0, function () { y(LA(a, b)) }, m) })); + case 3: n = Number(h.t) || 7200; mua(a, n * 1E3); p = void 0; if (!("c1a" in h && e.bgChallenge)) { u.Ha(5); break } q = hua(e.bgChallenge); g.va(u, 6); return g.G(u, tj(sj(), q), 8); case 8: g.wa(u, 7); break; case 6: return r = g.xa(u), g.fx(r), u.return({ challenge: f, yr: h, jp: p, bgChallenge: q }); case 7: return g.va(u, 9), p = new pj({ challenge: q, gH: !0, kh: "aGIf" }), g.G(u, p.HH, 11); case 11: g.wa(u, 5); break; case 9: t = g.xa(u), g.fx(t), p = void 0; case 5: return u.return({ challenge: f, yr: h, jp: p, bgChallenge: q }) + } + }) + }; + NA = function (a, b) { var c; return g.J(function (d) { c = a.B; return !c || c.Ih() ? d.return(NA(a.network, b)) : d.return(new Promise(function (e) { c.cG("publicytnetworkstatus-online", function () { NA(a.network, b).then(e) }) })) }) }; + lua = function (a, b) { a.j = b }; + nua = function (a) { var b, c, d; return g.J(function (e) { if (e.j == 1) return g.G(e, Promise.race([a.j, null]), 2); b = e.B; var f = LA(a); a.j = f; (c = b) == null || (d = c.jp) == null || d.dispose(); g.ua(e) }) }; + mua = function (a, b) { + function c() { var e; return g.J(function (f) { e = d - Date.now(); return e < 1E3 ? g.G(f, nua(a), 0) : (ut(c, 0, Math.min(e, 6E4)), f.Ha(0)) }) } + var d = Date.now() + b; c() + }; + oua = function (a, b) { return new Promise(function (c) { g.vt(0, function () { c(b()) }, a) }) }; + g.pua = function (a, b) { var c; return g.J(function (d) { var e = g.La("yt.aba.att"); return (c = e ? e : MA.instance !== void 0 ? MA.instance.C.bind(MA.instance) : null) ? d.return(c("ENGAGEMENT_TYPE_PLAYBACK", a, b)) : d.return(Promise.resolve({ error: "ATTESTATION_ERROR_API_NOT_READY" })) }) }; + g.qua = function () { var a; return (a = (a = g.La("yt.aba.att2")) ? a : MA.instance !== void 0 ? MA.instance.D.bind(MA.instance) : null) ? a() : Promise.resolve(!1) }; + sua = function (a, b) { var c = g.La("ytDebugData.callbacks"); c || (c = {}, g.Ka("ytDebugData.callbacks", c)); if (g.Pr("web_dd_iu") || rua.includes(a)) c[a] = b }; + uua = function (a) { for (var b = "", c = 0; c < a.length; c++) { var d = a[c]; if (c === 0) d = "M " + d.x.toFixed(1) + "," + d.y.toFixed(1); else { var e = tua(a[c - 1], a[c - 2], d), f = tua(d, a[c - 1], a[c + 1], !0); d = " C " + (e.x.toFixed(1) + "," + e.y.toFixed(1) + " " + f.x.toFixed(1) + "," + f.y.toFixed(1) + " " + d.x.toFixed(1) + "," + d.y.toFixed(1)) } b += d } return b }; + tua = function (a, b, c, d) { d = d === void 0 ? !1 : d; b = new vua(b || a, c || a); return { x: a.x + ((d === void 0 ? 0 : d) ? b.j * -1 : b.j) * .2, y: a.y + ((d === void 0 ? 0 : d) ? b.B * -1 : b.B) * .2 } }; + vua = function (a, b) { this.B = this.j = 0; this.j = b.x - a.x; this.B = b.y - a.y }; + wua = function (a, b, c) { if (!b) return a.length >= 1 ? a[a.length - 1] : null; for (var d = g.w(a), e = d.next(); !e.done; e = d.next())if (e = e.value, e.width && e.height && (c && e.width >= b || !c && e.height >= b)) return e; for (b = a.length - 1; b >= 0; b--)if (c && a[b].width || !c && a[b].height) return a[b]; return a[0] }; + xua = function (a) { + return { + isReady: a.isr.bind(a), lG: function (b) { var c = void 0; b.hk && (c = { ca: b.hk.pE, ma: b.hk.v_, at: b.hk.UI, st: b.hk.JM }); var d; return a.mawst((d = b.Ar) != null ? d : "", c) }, + ready: a.rea.bind(a), start: function () { } + } + }; + OA = function () { this.state = 1; this.jp = null }; + zua = function (a, b, c, d, e, f) { + var h = h === void 0 ? "trayride" : h; c ? (a.zd(2), g.Jv(c, function () { if (window[h]) yua(a, d, h, e); else { a.zd(3); var l = oqa(c), m = document.getElementById(l); m && (mqa(l), m.parentNode.removeChild(m)); g.fx(new g.pt("Unable to load Botguard", "from " + c)) } }, f)) : b ? (f = g.je("SCRIPT"), b instanceof zd ? (f.textContent = Ad(b), Od(f)) : f.textContent = b, f.nonce = Nd(window), document.head.appendChild(f), document.head.removeChild(f), window[h] ? yua(a, d, h, e) : (a.zd(4), g.fx(new g.pt("Unable to load Botguard from JS")))) : + g.fx(new g.pt("Unable to load VM; no url or JS provided")) + }; + yua = function (a, b, c, d) { + a.zd(5); try { + var e = new pj({ program: b, globalName: c, gH: g.Pr("att_web_record_metrics"), kh: "aGIf" }); e.HH.then(function () { a.zd(6); d && d(b) }); + a.ET(e) + } catch (f) { a.zd(7), f instanceof Error && g.fx(f) } + }; + PA = function () { var a = g.La("yt.abuse.playerAttLoader"); return a && ["bgvma", "bgvmb", "bgvmc"].every(function (b) { return b in a }) ? a : null }; + QA = function () { OA.apply(this, arguments) }; + RA = function () { }; + Aua = function (a, b, c) { for (var d = !1, e = g.w(a.nj.entries()), f = e.next(); !f.done; f = e.next())f = g.w(f.value).next().value, f.slotType === "SLOT_TYPE_PLAYER_BYTES" && f.bb === "core" && (d = !0); if (d) { a: if (!c) { a = g.w(a.nj.entries()); for (c = a.next(); !c.done; c = a.next())if (d = g.w(c.value), c = d.next().value, d = d.next().value, c.slotType === "SLOT_TYPE_IN_PLAYER" && c.bb === "core") { c = d.layoutId; break a } c = void 0 } c ? b.sQ(c) : Ny("No triggering layout ID available when attempting to mute.") } }; + SA = function (a, b) { this.Jl = a; this.Ko = b }; + TA = function () { }; + UA = function () { }; + Cua = function (a) { + g.O.call(this); var b = this; this.od = a; this.j = new Map; VA(this, "commandExecutorCommand", function (c, d, e) { Bua(b, c.commands, d, e) }); + VA(this, "clickTrackingParams", function () { }) + }; + Dua = function (a, b) { VA(a, b.Ir(), function (c, d, e) { b.fu(c, d, e) }) }; + VA = function (a, b, c) { a.La(); a.j.get(b) && g.ex(Error("Extension name " + b + " already registered")); a.j.set(b, c) }; + Bua = function (a, b, c, d) { b = b === void 0 ? [] : b; a.La(); var e = [], f = []; b = g.w(b); for (var h = b.next(); !h.done; h = b.next())h = h.value, g.R(h, Eua) || g.R(h, Fua) ? e.push(h) : f.push(h); e = g.w(e); for (b = e.next(); !b.done; b = e.next())WA(a, b.value, c, d); f = g.w(f); for (e = f.next(); !e.done; e = f.next())WA(a, e.value, c, d) }; + WA = function (a, b, c, d) { a.La(); b.loggingUrls && Gua(a, "loggingUrls", b.loggingUrls, c, d); b = g.w(Object.entries(b)); for (var e = b.next(); !e.done; e = b.next()) { var f = g.w(e.value); e = f.next().value; f = f.next().value; e === "openPopupAction" ? a.od.get().Yu("innertubeCommand", { openPopupAction: f }) : e === "confirmDialogEndpoint" ? a.od.get().Yu("innertubeCommand", { confirmDialogEndpoint: f }) : Hua.hasOwnProperty(e) || Gua(a, e, f, c, d) } }; + Gua = function (a, b, c, d, e) { if ((a = a.j.get(b)) && typeof a === "function") try { a(c, d, e) } catch (f) { g.ex(f) } else b = new g.pt("Unhandled field", b), g.fx(b) }; + XA = function (a, b, c) { this.Kf = a; this.j = b; this.Oa = c }; + YA = function (a) { this.value = a }; + ZA = function (a) { this.value = a }; + $A = function (a) { this.value = a }; + aB = function (a) { this.value = a }; + bB = function (a) { this.value = a }; + cB = function (a) { this.value = a }; + dB = function (a) { this.value = a }; + eB = function () { YA.apply(this, arguments) }; + fB = function (a) { this.value = a }; + gB = function (a) { this.value = a }; + hB = function (a) { this.value = a }; + iB = function (a) { this.value = a }; + jB = function (a) { this.value = a }; + kB = function (a) { this.value = a }; + lB = function (a) { this.value = a }; + mB = function (a) { this.value = a }; + nB = function (a) { this.value = a }; + oB = function (a) { this.value = a }; + pB = function () { YA.apply(this, arguments) }; + qB = function (a) { this.value = a }; + rB = function (a) { this.value = a }; + sB = function (a) { this.value = a }; + tB = function (a) { this.value = a }; + uB = function (a) { this.value = a }; + vB = function (a) { this.value = a }; + wB = function (a) { this.value = a }; + xB = function (a) { this.value = a }; + yB = function (a) { this.value = a }; + zB = function (a) { this.value = a }; + AB = function (a) { this.value = a }; + BB = function (a) { this.value = a }; + CB = function (a) { this.value = a }; + DB = function (a) { this.value = a }; + EB = function (a) { this.value = a }; + FB = function (a) { this.value = a }; + GB = function (a) { this.value = a }; + HB = function (a) { this.value = a }; + IB = function (a) { this.value = a }; + JB = function (a) { this.value = a }; + KB = function (a) { this.value = a }; + LB = function (a) { this.value = a }; + MB = function (a) { this.value = a }; + NB = function (a) { this.value = a }; + OB = function (a) { this.value = a }; + PB = function (a) { this.value = a }; + QB = function (a) { this.value = a }; + RB = function (a) { this.value = a }; + SB = function (a) { this.value = a }; + TB = function (a) { this.value = a }; + UB = function (a) { this.value = a }; + VB = function (a) { this.value = a }; + WB = function (a) { this.value = a }; + XB = function (a) { this.value = a }; + YB = function (a) { this.value = a }; + ZB = function (a) { this.value = a }; + $B = function (a) { this.value = a }; + aC = function (a) { this.value = a }; + bC = function () { YA.apply(this, arguments) }; + cC = function (a) { this.value = a }; + dC = function () { YA.apply(this, arguments) }; + eC = function () { YA.apply(this, arguments) }; + fC = function () { YA.apply(this, arguments) }; + gC = function () { YA.apply(this, arguments) }; + hC = function () { YA.apply(this, arguments) }; + iC = function (a) { this.value = a }; + jC = function (a) { this.value = a }; + kC = function (a) { this.value = a }; + lC = function (a) { this.value = a }; + mC = function (a) { this.value = a }; + oC = function (a, b, c) { if (c && !c.includes(a.layoutType)) return !1; b = g.w(b); for (c = b.next(); !c.done; c = b.next())if (!nC(a.Ca, c.value)) return !1; return !0 }; + pC = function () { return "" }; + Iua = function (a, b) { switch (a) { case "TRIGGER_CATEGORY_LAYOUT_EXIT_NORMAL": return 0; case "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_SKIPPED": return 1; case "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_MUTED": return 2; case "TRIGGER_CATEGORY_SLOT_EXPIRATION": return 3; case "TRIGGER_CATEGORY_SLOT_FULFILLMENT": return 4; case "TRIGGER_CATEGORY_SLOT_ENTRY": return 5; case "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_INPUT_SUBMITTED": return 6; case "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_CANCELLED": return 7; default: return b(a), 8 } }; + qC = function (a, b, c, d) { d = d === void 0 ? !1 : d; ib.call(this, a); this.ql = c; this.Fw = d; this.args = []; b && this.args.push(b) }; + rC = function (a, b, c, d) { d = d === void 0 ? !1 : d; ib.call(this, a); this.ql = c; this.Fw = d; this.args = []; b && this.args.push(b) }; + sC = function (a) { + var b = new Map; a.forEach(function (c) { b.set(c.getType(), c) }); + this.j = b + }; + nC = function (a, b) { return a.j.has(b) }; + tC = function (a, b) { a = a.j.get(b); if (a !== void 0) return a.get() }; + uC = function (a) { return Array.from(a.j.keys()) }; + vC = function (a, b, c) { if (c && c !== a.slotType) return !1; b = g.w(b); for (c = b.next(); !c.done; c = b.next())if (!nC(a.Ca, c.value)) return !1; return !0 }; + Kua = function (a) { var b; return ((b = Jua.get(a)) == null ? void 0 : b.Uy) || "ADS_CLIENT_EVENT_TYPE_UNSPECIFIED" }; + xC = function (a, b) { + var c = { type: b.slotType, controlFlowManagerLayer: Lua.get(b.bb) || "CONTROL_FLOW_MANAGER_LAYER_UNSPECIFIED" }; b.slotEntryTrigger && (c.entryTriggerType = b.slotEntryTrigger.triggerType); b.slotPhysicalPosition !== 1 && (c.slotPhysicalPosition = b.slotPhysicalPosition); if (a) { + c.debugData = { slotId: b.slotId }; if (a = b.slotEntryTrigger) c.debugData.slotEntryTriggerData = wC(a); a = b.slotFulfillmentTriggers; c.debugData.fulfillmentTriggerData = []; a = g.w(a); for (var d = a.next(); !d.done; d = a.next())c.debugData.fulfillmentTriggerData.push(wC(d.value)); + b = b.slotExpirationTriggers; c.debugData.expirationTriggerData = []; b = g.w(b); for (a = b.next(); !a.done; a = b.next())c.debugData.expirationTriggerData.push(wC(a.value)) + } return c + }; + Mua = function (a, b) { var c = { type: b.layoutType, controlFlowManagerLayer: Lua.get(b.bb) || "CONTROL_FLOW_MANAGER_LAYER_UNSPECIFIED" }; a && (c.debugData = { layoutId: b.layoutId }); return c }; + wC = function (a, b) { var c = { type: a.triggerType }; b != null && (c.category = b); a.triggeringSlotId != null && (c.triggerSourceData || (c.triggerSourceData = {}), c.triggerSourceData.associatedSlotId = a.triggeringSlotId); a.triggeringLayoutId != null && (c.triggerSourceData || (c.triggerSourceData = {}), c.triggerSourceData.associatedLayoutId = a.triggeringLayoutId); return c }; + Nua = function (a, b, c, d) { + b = { opportunityType: b }; a && (d || c) && (d = g.Al(d || [], function (e) { return xC(a, e) }), b.debugData = Object.assign({}, c && c.length > 0 ? { associatedSlotId: c } : {}, d.length > 0 ? { slots: d } : {})); + return b + }; + zC = function (a, b) { return function (c) { return Oua(yC(a), b.slotId, b.slotType, b.slotPhysicalPosition, b.bb, b.slotEntryTrigger, b.slotFulfillmentTriggers, b.slotExpirationTriggers, c.layoutId, c.layoutType, c.bb) } }; + Oua = function (a, b, c, d, e, f, h, l, m, n, p) { return { adClientDataEntry: { slotData: xC(a, { slotId: b, slotType: c, slotPhysicalPosition: d, bb: e, slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: l, Ca: new sC([]) }), layoutData: Mua(a, { layoutId: m, layoutType: n, bb: p, layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], Eb: new Map, Ca: new sC([]), ac: {} }) } } }; + BC = function (a) { this.Aa = a; a = Math.random(); var b = this.Aa.get(); b = g.AC(b.J.U().experiments, "html5_debug_data_log_probability"); b = Number.isFinite(b) && b >= 0 && b <= 1 ? b : 0; this.j = a < b }; + yC = function (a) { return a.j || a.Aa.get().J.U().L("html5_force_debug_data_for_client_tmp_logs") }; + CC = function (a, b, c, d) { g.O.call(this); this.B = b; this.Rb = c; this.Aa = d; this.j = a(this, this, this, this, this); g.P(this, this.j); a = g.w(b); for (b = a.next(); !b.done; b = a.next())g.P(this, b.value) }; + DC = function (a, b) { a.B.add(b) }; + EC = function (a, b) { a.B.delete(b) }; + GC = function (a, b, c, d) { Ny(c, b, void 0, void 0, c.Fw); c.ql ? a.Rb.mm(d, c.ql, b) : Ny("adsClientErrorMessage is missing.", b); FC(a, b, !0) }; + Qua = function (a, b, c) { + if (HC(a.j, b)) if (IC(a.j, b).D = c ? "filled" : "not_filled", c === null) { a.Rb.Th("ADS_CLIENT_EVENT_TYPE_SLOT_FULFILLED_EMPTY", b); c = g.w(a.B); for (var d = c.next(); !d.done; d = c.next())d.value.Mh(b); FC(a, b, !1) } else { + a.Rb.Th("ADS_CLIENT_EVENT_TYPE_SLOT_FULFILLED_NON_EMPTY", b, c); a.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_RECEIVED", b, c); var e, f = (e = c.Ty) != null ? e : tC(c.Ca, "metadata_type_sub_layouts"); if (f) for (e = g.w(f), f = e.next(); !f.done; f = e.next())a.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_RECEIVED", b, f.value); + e = g.w(a.B); for (f = e.next(); !f.done; f = e.next())f.value.Nh(b); if (HC(a.j, b)) if (IC(a.j, b).G) FC(a, b, !1); else { + a.Rb.Th("ADS_CLIENT_EVENT_TYPE_SCHEDULE_LAYOUT_REQUESTED", b, c); try { + d = a.j; if (!IC(d, b)) throw new qC("Unknown slotState for onLayout", void 0, "ADS_CLIENT_ERROR_MESSAGE_SLOT_STATE_IS_NULL"); if (!d.ph.Fu.get(b.slotType)) throw new qC("No LayoutRenderingAdapterFactory registered for slot of type: " + b.slotType, void 0, "ADS_CLIENT_ERROR_MESSAGE_CANNOT_FIND_MATCHING_LAYOUT_RENDERING_ADAPTER_FACTORY"); if (c.layoutExitNormalTriggers.length == + 0 && c.layoutExitSkipTriggers.length == 0 && c.layoutExitMuteTriggers.length == 0 && c.layoutExitUserInputSubmittedTriggers.length == 0 && c.Yc.length == 0) throw new qC("Layout has no exit triggers.", void 0, "ADS_CLIENT_ERROR_MESSAGE_EMPTY_LAYOUT_EXIT_TRIGGER"); JC(d, "TRIGGER_CATEGORY_LAYOUT_EXIT_NORMAL", c.layoutExitNormalTriggers); JC(d, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_SKIPPED", c.layoutExitSkipTriggers); JC(d, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_MUTED", c.layoutExitMuteTriggers); JC(d, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_INPUT_SUBMITTED", + c.layoutExitUserInputSubmittedTriggers); JC(d, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_CANCELLED", c.Yc) + } catch (n) { n instanceof qC ? a.Hf(b, c, n, "ADS_CLIENT_ERROR_TYPE_SCHEDULE_LAYOUT_FAILED") : a.Hf(b, c, new qC("Unexpected error: " + n, void 0, "ADS_CLIENT_ERROR_MESSAGE_UNEXPECTED_ERROR"), "ADS_CLIENT_ERROR_TYPE_SCHEDULE_LAYOUT_FAILED"); FC(a, b, !0); return } IC(a.j, b).K = !0; try { + var h = a.j, l = IC(h, b), m = h.ph.Fu.get(b.slotType).get().build(h.D, h.B, b, c); m.init(); l.layout = c; if (l.C) throw new qC("Already had LayoutRenderingAdapter registered for slot", + void 0, "ADS_CLIENT_ERROR_MESSAGE_BUILD_DUPLICATE_LAYOUT_RENDERING_ADAPTER"); l.C = m; KC(h, l, "TRIGGER_CATEGORY_LAYOUT_EXIT_NORMAL", c.layoutExitNormalTriggers); KC(h, l, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_SKIPPED", c.layoutExitSkipTriggers); KC(h, l, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_MUTED", c.layoutExitMuteTriggers); KC(h, l, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_INPUT_SUBMITTED", c.layoutExitUserInputSubmittedTriggers); KC(h, l, "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_CANCELLED", c.Yc) + } catch (n) { + LC(a, b); n instanceof qC ? a.Hf(b, + c, n, "ADS_CLIENT_ERROR_TYPE_SCHEDULE_LAYOUT_FAILED") : a.Hf(b, c, new qC("Unexpected error: " + n, void 0, "ADS_CLIENT_ERROR_MESSAGE_UNEXPECTED_ERROR"), "ADS_CLIENT_ERROR_TYPE_SCHEDULE_LAYOUT_FAILED"); FC(a, b, !0); return + } a.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_SCHEDULED", b, c); d = g.w(a.B); for (h = d.next(); !h.done; h = d.next())h.value.nh(b, c); LC(a, b); Pua(a, b) + } else a = a.Aa.get(), g.MC(a.J.U()) || NC(a.J.U()) || g.OC(a.J.U()) ? a = !0 : (Ny("Composite VOD on legacy path."), a = !1), a && Ny("slot is unscheduled after been fulfilled.", b, + c) + } + }; + Rua = function (a, b, c) { b.bb !== "core" && a.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_RECEIVED", b, c, void 0) }; + Sua = function (a, b, c) { a.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_SCHEDULED", b, c, void 0); a = g.w(a.B); for (var d = a.next(); !d.done; d = a.next())d.value.nh(b, c) }; + Tua = function (a, b, c) { a = g.w(a.B); for (var d = a.next(); !d.done; d = a.next())d.value.pg(b, c) }; + PC = function (a, b, c) { a.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_ENTERED", b, c, void 0); a = g.w(a.B); for (var d = a.next(); !d.done; d = a.next())d.value.vc(b, c) }; + QC = function (a, b, c, d) { a.Rb.Th(Kua(d), b, c, void 0); a = g.w(a.B); for (var e = a.next(); !e.done; e = a.next())e.value.Nc(b, c, d) }; + LC = function (a, b) { if (HC(a.j, b)) { IC(a.j, b).K = !1; var c = RC; b = IC(a.j, b); var d = [].concat(g.x(b.Z)); Haa(b.Z); c(a, d) } }; + RC = function (a, b) { + b.sort(function (f, h) { + function l(m) { Ny("TriggerCategoryOrder enum does not contain trigger category: " + m) } + return f.category === h.category ? f.trigger.triggerId.localeCompare(h.trigger.triggerId) : Iua(f.category, l) - Iua(h.category, l) + }); + var c = new Map; b = g.w(b); for (var d = b.next(); !d.done; d = b.next())if (d = d.value, HC(a.j, d.slot)) if (IC(a.j, d.slot).K) IC(a.j, d.slot).Z.push(d); else { a.Rb.GN("ADS_CLIENT_EVENT_TYPE_TRIGGER_ACTIVATED", d.slot, d, d.layout); var e = c.get(d.category); e || (e = []); e.push(d); c.set(d.category, e) } b = g.w(Uua); for (d = b.next(); !d.done; d = b.next())e = g.w(d.value), d = e.next().value, e = e.next().value, (d = c.get(d)) && Vua(a, d, e); (b = c.get("TRIGGER_CATEGORY_SLOT_EXPIRATION")) && Wua(a, b); (b = c.get("TRIGGER_CATEGORY_SLOT_FULFILLMENT")) && Xua(a, + b); (c = c.get("TRIGGER_CATEGORY_SLOT_ENTRY")) && Yua(a, c) + }; + Vua = function (a, b, c) { b = g.w(b); for (var d = b.next(); !d.done; d = b.next())d = d.value, d.layout && SC(a.j, d.slot) && Zua(a, d.slot, d.layout, c) }; + Wua = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next())FC(a, c.value.slot, !1) }; + Xua = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { c = c.value; a: switch (IC(a.j, c.slot).D) { case "not_filled": var d = !0; break a; default: d = !1 }d && (a.Rb.dk("ADS_CLIENT_EVENT_TYPE_FULFILL_SLOT_REQUESTED", c.slot), a.j.TE(c.slot)) } }; + Yua = function (a, b) { + b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { + c = c.value; a.Rb.dk("ADS_CLIENT_EVENT_TYPE_ENTER_SLOT_REQUESTED", c.slot); for (var d = g.w(a.B), e = d.next(); !e.done; e = d.next())e.value.Lh(c.slot); try { + var f = a.j, h = c.slot, l = IC(f, h); if (!l) throw new rC("Got enter request for unknown slot", void 0, "ADS_CLIENT_ERROR_MESSAGE_SLOT_STATE_IS_NULL"); if (!l.B) throw new rC("Tried to enter slot with no assigned slotAdapter", void 0, "ADS_CLIENT_ERROR_MESSAGE_NO_SLOT_ADAPTER_REGISTERED"); if (l.j !== "scheduled") throw new rC("Tried to enter a slot from stage: " + + l.j, void 0, "ADS_CLIENT_ERROR_MESSAGE_ILLEGAL_SLOT_STATE"); if (TC(l)) throw new rC("Got enter request for already active slot", void 0, "ADS_CLIENT_ERROR_MESSAGE_SLOT_COLLISION"); for (var m = g.w(UC(f, h.slotType + "_" + h.slotPhysicalPosition).values()), n = m.next(); !n.done; n = m.next()) { var p = n.value; if (l !== p && TC(p)) throw new rC("Trying to enter a slot when a slot of same type is already active.", { activeSlotStatus: p.j }, "ADS_CLIENT_ERROR_MESSAGE_DUPLICATE_SLOT"); } + } catch (q) { + q instanceof rC && q.ql ? (a.Rb.mm("ADS_CLIENT_ERROR_TYPE_ENTER_SLOT_FAILED", + q.ql, c.slot), Ny(q, c.slot, VC(a.j, c.slot), void 0, q.Fw)) : (a.Rb.mm("ADS_CLIENT_ERROR_TYPE_ENTER_SLOT_FAILED", "ADS_CLIENT_ERROR_MESSAGE_UNEXPECTED_ERROR", c.slot), Ny(q, c.slot)); FC(a, c.slot, !0); continue + } c = IC(a.j, c.slot); c.j !== "scheduled" && WC(c.slot, c.j, "enterSlot"); c.j = "enter_requested"; c.B.IJ() + } + }; + Pua = function (a, b) { if (HC(a.j, b) && TC(IC(a.j, b)) && VC(a.j, b) && !SC(a.j, b)) { var c; a.Rb.Th("ADS_CLIENT_EVENT_TYPE_ENTER_LAYOUT_REQUESTED", b, (c = VC(a.j, b)) != null ? c : void 0); a = IC(a.j, b); a.j !== "entered" && WC(a.slot, a.j, "enterLayoutForSlot"); a.j = "rendering"; a.C.startRendering(a.layout) } }; + Zua = function (a, b, c, d) { if (HC(a.j, b)) { var e = a.Rb, f = e.Th, h; var l = ((h = Jua.get(d)) == null ? void 0 : h.Ky) || "ADS_CLIENT_EVENT_TYPE_UNSPECIFIED"; f.call(e, l, b, c); a = IC(a.j, b); a.j !== "rendering" && WC(a.slot, a.j, "exitLayout"); a.j = "rendering_stop_requested"; a.C.Kd(c, d) } }; + FC = function (a, b, c) { + if (HC(a.j, b)) { + a: switch (IC(a.j, b).j) { case "exit_requested": var d = !0; break a; default: d = !1 }if (!d) a: switch (IC(a.j, b).j) { case "rendering_stop_requested": d = !0; break a; default: d = !1 }if (d && (IC(a.j, b).G = !0, !c)) return; if (TC(IC(a.j, b))) IC(a.j, b).G = !0, $ua(a, b, c); else { + a: switch (IC(a.j, b).D) { case "fill_requested": c = !0; break a; default: c = !1 }if (c) IC(a.j, b).G = !0, HC(a.j, b) && (a.Rb.dk("ADS_CLIENT_EVENT_TYPE_CANCEL_SLOT_FULFILLMENT_REQUESTED", b), b = IC(a.j, b), b.D = "fill_cancel_requested", b.N.HO()); else { + c = + VC(a.j, b); (d = a.Aa.get().J.U().experiments.kb("h5_enable_layout_unscheduling_events")) && (c ? a.pg(b, c) : Ny(Error("Layout is null for LayoutUnscheduled event."), b, c, void 0, !1)); a.Rb.dk("ADS_CLIENT_EVENT_TYPE_UNSCHEDULE_SLOT_REQUESTED", b); var e = IC(a.j, b), f = b.slotEntryTrigger, h = e.Ba.get(f.triggerId); h && (h.Ul(f), e.Ba.delete(f.triggerId)); f = g.w(b.slotFulfillmentTriggers); for (h = f.next(); !h.done; h = f.next()) { h = h.value; var l = e.qa.get(h.triggerId); l && (l.Ul(h), e.qa.delete(h.triggerId)) } f = g.w(b.slotExpirationTriggers); + for (h = f.next(); !h.done; h = f.next())if (h = h.value, l = e.Y.get(h.triggerId)) l.Ul(h), e.Y.delete(h.triggerId); e.layout != null && (f = e.layout, XC(e, f.layoutExitNormalTriggers), XC(e, f.layoutExitSkipTriggers), XC(e, f.layoutExitMuteTriggers), XC(e, f.layoutExitUserInputSubmittedTriggers), XC(e, f.Yc)); e.N = void 0; e.B != null && (e.B.release(), e.B = void 0); e.C != null && (e.C.release(), e.C = void 0); e = a.j; IC(e, b) && (e = UC(e, b.slotType + "_" + b.slotPhysicalPosition)) && e.delete(b.slotId); a.Rb.dk("ADS_CLIENT_EVENT_TYPE_SLOT_UNSCHEDULED", + b); a = g.w(a.B); for (e = a.next(); !e.done; e = a.next())e = e.value, e.Oh(b), c && !d && e.pg(b, c) + } + } + } + }; + $ua = function (a, b, c) { + if (HC(a.j, b) && TC(IC(a.j, b))) { + var d = VC(a.j, b); if (d && SC(a.j, b)) Zua(a, b, d, c ? "error" : "abandoned"); else { + a.Rb.dk("ADS_CLIENT_EVENT_TYPE_EXIT_SLOT_REQUESTED", b); try { + var e = IC(a.j, b); if (!e) throw new rC("Cannot exit slot it is unregistered", void 0, "ADS_CLIENT_ERROR_MESSAGE_SLOT_WAS_UNREGISTERED"); e.j !== "enter_requested" && e.j !== "entered" && e.j !== "rendering" && WC(e.slot, e.j, "exitSlot"); e.j = "exit_requested"; if (e.B === void 0) throw e.j = "scheduled", new rC("Cannot exit slot because adapter is not defined", + void 0, "ADS_CLIENT_ERROR_MESSAGE_NO_SLOT_ADAPTER_REGISTERED"); e.B.KJ() + } catch (f) { f instanceof rC && f.ql ? (a.Rb.mm("ADS_CLIENT_ERROR_TYPE_EXIT_SLOT_FAILED", f.ql, b), Ny(f, b, void 0, void 0, f.Fw)) : (a.Rb.mm("ADS_CLIENT_ERROR_TYPE_EXIT_SLOT_FAILED", "ADS_CLIENT_ERROR_MESSAGE_UNEXPECTED_ERROR", b), Ny(f, b)) } + } + } + }; + ava = function (a) { this.slot = a; this.Ba = new Map; this.qa = new Map; this.Y = new Map; this.ra = new Map; this.C = this.layout = this.B = this.N = void 0; this.K = this.G = !1; this.Z = []; this.j = "not_scheduled"; this.D = "not_filled" }; + TC = function (a) { return a.j === "enter_requested" || a.isActive() }; + YC = function (a, b, c, d, e, f) { g.O.call(this); this.ph = a; this.C = b; this.G = c; this.D = d; this.B = e; this.Aa = f; this.j = new Map }; + UC = function (a, b) { return (a = a.j.get(b)) ? a : new Map }; + IC = function (a, b) { return UC(a, b.slotType + "_" + b.slotPhysicalPosition).get(b.slotId) }; + bva = function (a) { + var b = []; a.j.forEach(function (c) { c = g.w(c.values()); for (var d = c.next(); !d.done; d = c.next())b.push(d.value.slot) }); + return b + }; + HC = function (a, b) { return IC(a, b) != null }; + SC = function (a, b) { a = IC(a, b); if (b = a.layout != null) a: switch (a.j) { case "rendering": case "rendering_stop_requested": b = !0; break a; default: b = !1 }return b }; + VC = function (a, b) { (a = IC(a, b)) ? a.layout != null && !a.layout && Ny("Unexpected empty layout", b) : Ny("Unexpected undefined slotState", b); return (a == null ? void 0 : a.layout) || null }; + ZC = function (a, b, c) { if (c.length == 0) throw new rC("No " + cva.get(b) + " triggers found for slot.", void 0, dva(b)); c = g.w(c); for (var d = c.next(); !d.done; d = c.next())if (d = d.value, !a.ph.vn.get(d.triggerType)) throw new rC("No trigger adapter registered for " + b + " trigger of type: " + d.triggerType, void 0, "ADS_CLIENT_ERROR_MESSAGE_NO_TRIGGER_ADAPTER_REGISTERED_FOR_TYPE"); }; + dva = function (a) { switch (a) { case "TRIGGER_CATEGORY_SLOT_ENTRY": return "ADS_CLIENT_ERROR_MESSAGE_EMPTY_SLOT_ENTRY_TRIGGER"; case "TRIGGER_CATEGORY_SLOT_EXPIRATION": return "ADS_CLIENT_ERROR_MESSAGE_EMPTY_SLOT_EXPIRATION_TRIGGER"; case "TRIGGER_CATEGORY_SLOT_FULFILLMENT": return "ADS_CLIENT_ERROR_MESSAGE_EMPTY_SLOT_FULFILLMENT_TRIGGER"; default: return "ADS_CLIENT_ERROR_MESSAGE_INVALID_TRIGGER" } }; + JC = function (a, b, c) { c = g.w(c); for (var d = c.next(); !d.done; d = c.next())if (d = d.value, !a.ph.vn.get(d.triggerType)) throw new qC("No trigger adapter registered for " + cva.get(b) + " trigger of type: " + d.triggerType, void 0, "ADS_CLIENT_ERROR_MESSAGE_NO_TRIGGER_ADAPTER_REGISTERED_FOR_TYPE"); }; + KC = function (a, b, c, d) { d = g.w(d); for (var e = d.next(); !e.done; e = d.next()) { e = e.value; var f = a.ph.vn.get(e.triggerType); f.Ql(c, e, b.slot, b.layout ? b.layout : null); b.ra.set(e.triggerId, f) } }; + XC = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { c = c.value; var d = a.ra.get(c.triggerId); d && (d.Ul(c), a.ra.delete(c.triggerId)) } }; + WC = function (a, b, c) { Ny("Slot stage was " + b + " when calling method " + c, a) }; + eva = function (a) { return $C(a.GB).concat($C(a.vn)).concat($C(a.St)).concat($C(a.zv)).concat($C(a.Fu)) }; + $C = function (a) { var b = []; a = g.w(a.values()); for (var c = a.next(); !c.done; c = a.next())c = c.value, c.jh && b.push(c); return b }; + aD = function (a) { g.O.call(this); var b = this; this.j = a; this.instance = null; this.addOnDisposeCallback(function () { g.fb(b.instance); b.instance = null }) }; + bD = function (a) { return new aD(a) }; + cD = function (a) { g.O.call(this); this.dh = a; this.j = fva(this) }; + fva = function (a) { + var b = new CC(function (c, d, e, f) { return new YC(a.dh.ph, c, d, e, f, a.dh.Aa) }, new Set(eva(a.dh.ph).concat(a.dh.listeners)), a.dh.Rb, a.dh.Aa); + g.P(a, b); return b + }; + dD = function (a) { this.j = a }; + eD = function (a, b, c) { Bua(a.j(), b, c) }; + fD = function (a, b, c, d) { (a = a.j()) || Ny("Could not initiate a command router instance."); WA(a, b, c, d) }; + gD = function () { this.listeners = new Set }; + hD = function () { }; + hva = function (a, b) { a = b.bgp && b.bgub; var c = b.upb; if (b.siub && b.scs && (a || c)) { a = b.siub; var d = b.scs, e = b.bgub, f = b.bgp; b = window; var h = e ? "//pagead2.googlesyndication.com/bg/" + Td(e) + ".js" : ""; e = b.document; var l = {}; d && (l._scs_ = d); l._bgu_ = h; l._bgp_ = f; l._li_ = "v_h.3.0.0.0"; c && (l._upb_ = c); (c = b.GoogleTyFxhY) && typeof c.push == "function" || (c = b.GoogleTyFxhY = []); c.push(l); c = Zd(e).createElement("SCRIPT"); c.type = "text/javascript"; c.async = !0; a = Gba(gva, Td(a) + ".js"); g.Pd(c, a); (a = (b.GoogleTyFxhYEET || {})[c.src]) ? a() : e.getElementsByTagName("head")[0].appendChild(c) } }; + iva = function (a, b, c, d, e) { this.callback = a; this.slot = b; this.B = c; this.Me = d; this.Aa = e; this.j = null }; + kva = function (a, b, c, d) { + a.j && Ny("Currently active request ongoing for slot. This should never happen", a.slot); a.j = b(); a.j.then(function (e) { + a.j = null; d && d(e); var f = e.DC ? "LAYOUT_TYPE_THROTTLED_AD_BREAK_RESPONSE" : "LAYOUT_TYPE_AD_BREAK_RESPONSE", h = a.B.get(), l = a.slot.slotId, m = zC(a.Me.get(), { slotId: a.slot.slotId, slotType: a.slot.slotType, slotPhysicalPosition: a.slot.slotPhysicalPosition, bb: a.slot.bb, slotEntryTrigger: a.slot.slotEntryTrigger, slotFulfillmentTriggers: a.slot.slotFulfillmentTriggers, slotExpirationTriggers: a.slot.slotExpirationTriggers }), + n = iD(h.B.get(), f, l), p = { layoutId: n, layoutType: f, bb: "core" }; e = { layoutId: n, layoutType: f, Eb: new Map, layoutExitNormalTriggers: [new jva(h.j, l)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new YB(e)]), ac: m(p) }; Qua(a.callback, a.slot, e) + }, function (e) { + a.j = null; + c && c(); e instanceof Le || GC(a.callback, a.slot, new rC(e, void 0, "ADS_CLIENT_ERROR_MESSAGE_AD_BREAK_REQUEST_ERROR", !0), "ADS_CLIENT_ERROR_TYPE_FULFILL_SLOT_FAILED") + }) + }; + lva = function (a) { if (a.j == null) a.callback.FL(a.slot); else try { a.j.cancel(), a.j = null, a.callback.FL(a.slot) } catch (b) { a.j = null, GC(a.callback, a.slot, new rC(b, void 0, "ADS_CLIENT_ERROR_MESSAGE_CANCEL_SLOT_FULFILLMENT_FAILURE"), "ADS_CLIENT_ERROR_TYPE_CANCEL_FULFILL_SLOT_FAILED") } }; + jD = function (a, b, c, d) { !a && (c === void 0 ? 0 : c) && g.fx(Error("Player URL validator detects invalid url. " + (d === void 0 ? "" : d) + ": " + b)); return a }; + kD = function (a, b) { return b && b.test(a) ? !0 : !1 }; + lD = function (a) { return (a = mva && mva.exec(a)) ? a[0] : "" }; + mD = function (a) { var b = b === void 0 ? !1 : b; return jD(kD(a, nva), a, b, "Trusted Stream URL") }; + g.nD = function (a) { var b = b === void 0 ? !1 : b; return jD(kD(a, ova), a, b, "Trusted Image URL") }; + qva = function (a) { var b = b === void 0 ? !1 : b; return jD(kD(a, pva), a, b, "Trusted Promoted Video Domain URL") }; + sva = function (a) { var b = b === void 0 ? !1 : b; return jD(kD(a, rva), a, b, "Drm Licensor URL") }; + uva = function (a, b) { b = b === void 0 ? !1 : b; return jD(kD(a, tva), a, b, "Captions URL") }; + vva = function (a) { a = new g.hk(a); g.ik(a, document.location.protocol); g.jk(a, document.location.hostname); document.location.port && g.kk(a, document.location.port); return a.toString() }; + oD = function (a) { a = new g.hk(a); g.ik(a, document.location.protocol); return a.toString() }; + g.qD = function (a, b, c) { + c = c === void 0 ? {} : c; this.start = a; this.end = b; this.active = !0; this.color = ""; this.Nl = 0; this.B = wva++; this.id = c.id || ""; this.priority = c.priority || 9; this.visible = c.visible || !1; this.style = c.style || pD.AD_MARKER; this.namespace = c.namespace || ""; if (a = c.color) a = a.toString(16), this.color = "#" + Array(7 - a.length).join("0") + a; this.tooltip = c.tooltip; this.icons = c.icons ? c.icons.filter(function (d) { return g.Bl(d.thumbnails, function (e) { return g.nD(e.url) }) }) : null; + this.visible = this.visible; this.style = this.style; this.start = this.start + }; + xva = function (a) { return a === -0x8000000000000 ? "BEFORE_MEDIA_START" : a === 0 ? "MEDIA_START" : a === 0x7ffffffffffff ? "MEDIA_END" : a === 0x8000000000000 ? "AFTER_MEDIA_END" : a.toString() }; + yva = function (a, b) { switch (a.style) { case pD.CHAPTER_MARKER: return b ? 8 : 5; case pD.AD_MARKER: return 6; case pD.TIME_MARKER: return Number.POSITIVE_INFINITY; default: return 0 } }; + g.rD = function (a, b) { return a.start - b.start || a.priority - b.priority || a.B - b.B }; + g.sD = function (a) { return "crn_" + a }; + g.tD = function (a) { return "crx_" + a }; + uD = function (a, b, c, d, e, f, h, l, m) { this.slot = b; this.B = c; this.Oa = h; this.Ia = l; this.Gc = m; this.j = new iva(a, b, d, e, f) }; + zva = function (a) { var b; (b = a.Gc) == null || b.get().Vu(tC(a.slot.Ca, "metadata_type_cue_point").identifier) }; + vD = function (a, b, c, d, e, f) { this.slot = b; this.B = c; this.j = new iva(a, b, d, e, f) }; + wD = function (a, b) { this.callback = a; this.slot = b }; + xD = function (a, b) { return vC(a, b.Nd, b.slotType) ? !0 : !1 }; + yD = function () { }; + zD = function (a, b, c, d, e, f, h) { this.j = a; this.B = b; this.Me = c; this.Aa = d; this.Oa = e; this.Ia = f; this.Gc = h }; + AD = function () { }; + Ava = function (a, b, c, d, e, f) { this.callback = a; this.slot = b; this.layout = c; this.B = d; this.C = e; this.j = f }; + Cva = function (a) { if (tC(a.slot.Ca, "metadata_type_allow_pause_ad_break_request_slot_reschedule")) { var b = Bva(a, a.slot); BD(a.C.get(), "OPPORTUNITY_TYPE_PAUSE_AD_BREAK_REQUEST_SLOT_RESCHEDULE", function () { return [b] }) } }; + Bva = function (a, b) { var c = CD(a.j.get(), a.slot.slotType), d = Object, e = d.assign; a = a.slot; if (b.slotEntryTrigger) { var f = b.slotId; var h = b.slotEntryTrigger; f = h.triggeringSlotId != null && h.triggeringSlotId === f ? h.clone(c) : h } else f = void 0; return e.call(d, {}, a, { slotId: c, slotEntryTrigger: f, slotFulfillmentTriggers: Dva(b.slotId, c, b.slotFulfillmentTriggers), slotExpirationTriggers: Dva(b.slotId, c, b.slotExpirationTriggers) }) }; + Dva = function (a, b, c) { var d = []; c = g.w(c); for (var e = c.next(); !e.done; e = c.next()) { var f = d, h = f.push; var l = a; var m = b; e = e.value; l = e.triggeringSlotId != null && e.triggeringSlotId === l ? e.clone(m) : e; h.call(f, l) } return d }; + g.DD = function (a, b) { + for (var c = g.w(Object.keys(b)), d = c.next(), e = {}; !d.done; e = { placeholder: void 0 }, d = c.next())d = d.value, e.placeholder = b[d], a = a.replace(new RegExp("\\$" + d, "gi"), function (f) { return function () { return f.placeholder } }(e)); + return a + }; + Eva = function (a, b, c) { this.j = a; this.slot = b; this.layout = c }; + ED = function (a, b, c) { b.layoutId !== a.layout.layoutId ? a.j.Hf(a.slot, b, new qC("Unknown layout received. Required LayoutId: " + a.layout.layoutId + ("and LayoutType: " + a.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") : c() }; + FD = function (a, b, c, d) { g.Fx.call(this); this.callback = a; this.C = d; this.j = []; this.B = new Eva(a, b, c) }; + HD = function (a, b, c, d, e, f, h, l) { + d = d || tC(c.Ca, f); a = GD(a); var m = ad(function () { e.vc(b, c) }); + l.push(h(d, a, c.layoutId, { adsClientData: c.ac }, function () { m() })) + }; + ID = function (a, b, c, d, e, f, h, l, m) { if (b === a) if (m) { if (m === l.layoutId) { a: { a = g.w(c.keys()); for (b = a.next(); !b.done; b = a.next())if (b = b.value, b.slotType === "SLOT_TYPE_PLAYER_BYTES" && f === c.get(b).layoutId) { c = !0; break a } c = !1 } c ? d.J.sendVideoStatsEngageEvent(1, void 0, 2) : e ? e() : Ny("Tried to call engagePingCallback but it is null", h, l) } } else Ny("Companion AdUxClick received without a layoutId", h, l) }; + JD = function (a) { var b, c, d, e, f; return !((b = a.get("active_view_viewable")) == null || !b.length) || !((c = a.get("active_view_measurable")) == null || !c.length) || !((d = a.get("active_view_fully_viewable_audible_half_duration")) == null || !d.length) || !((e = a.get("audio_audible")) == null || !e.length) || !((f = a.get("audio_measurable")) == null || !f.length) }; + KD = function (a) { var b, c; return (c = a == null ? void 0 : (b = a.activeViewTracking) == null ? void 0 : b.trafficType) != null ? c : "ACTIVE_VIEW_TRAFFIC_TYPE_UNSPECIFIED" }; + LD = function (a) { + var b, c; return new Map([["impression", a.impressionPings || []], ["error", a.errorPings || []], ["mute", a.mutePings || []], ["unmute", a.unmutePings || []], ["pause", a.pausePings || []], ["rewind", a.rewindPings || []], ["resume", a.resumePings || []], ["skip", a.skipPings || []], ["swipe", a.swipePings || []], ["close", a.closePings || []], ["progress", a.progressPings || []], ["clickthrough", a.clickthroughPings || []], ["fullscreen", a.fullscreenPings || []], ["active_view_viewable", a.activeViewViewablePings || []], ["active_view_measurable", + a.activeViewMeasurablePings || []], ["active_view_fully_viewable_audible_half_duration", a.activeViewFullyViewableAudibleHalfDurationPings || []], ["audio_audible", ((b = a.activeViewTracking) == null ? void 0 : b.activeViewAudioAudiblePings) || []], ["audio_measurable", ((c = a.activeViewTracking) == null ? void 0 : c.activeViewAudioMeasurablePings) || []], ["end_fullscreen", a.endFullscreenPings || []], ["channel_clickthrough", a.channelClickthroughPings || []], ["abandon", a.abandonPings || []], ["start", a.startPings || []], ["first_quartile", + a.firstQuartilePings || []], ["midpoint", a.secondQuartilePings || []], ["third_quartile", a.thirdQuartilePings || []], ["complete", a.completePings || []], ["unmuted_impression", a.unmutedImpressionPings || []], ["unmuted_error", a.unmutedErrorPings || []], ["unmuted_mute", a.unmutedMutePings || []], ["unmuted_unmute", a.unmutedUnmutePings || []], ["unmuted_pause", a.unmutedPausePings || []], ["unmuted_resume", a.unmutedResumePings || []], ["unmuted_close", a.unmutedClosePings || []], ["unmuted_progress", a.unmutedProgressPings || []], ["unmuted_clickthrough", + a.unmutedClickthroughPings || []], ["unmuted_fullscreen", a.unmutedFullscreenPings || []], ["unmuted_end_fullscreen", a.unmutedEndFullscreenPings || []], ["unmuted_abandon", a.unmutedAbandonPings || []], ["unmuted_start", a.unmutedStartPings || []], ["unmuted_first_quartile", a.unmutedFirstQuartilePings || []], ["unmuted_midpoint", a.unmutedSecondQuartilePings || []], ["unmuted_third_quartile", a.unmutedThirdQuartilePings || []], ["unmuted_complete", a.unmutedCompletePings || []], ["unmuted_skip", a.unmutedSkipPings || []]]) + }; + Fva = function (a) { + switch (a) { + case "abandon": return "unmuted_abandon"; case "active_view_fully_viewable_audible_half_duration": return null; case "active_view_measurable": return null; case "active_view_viewable": return null; case "audio_audible": return null; case "audio_measurable": return null; case "channel_clickthrough": return null; case "clickthrough": return "unmuted_clickthrough"; case "close": return "unmuted_close"; case "companion_engagement": return null; case "complete": return "unmuted_complete"; case "end_fullscreen": return "unmuted_end_fullscreen"; + case "error": return "unmuted_error"; case "first_quartile": return "unmuted_first_quartile"; case "fullscreen": return "unmuted_fullscreen"; case "impression": return "unmuted_impression"; case "midpoint": return "unmuted_midpoint"; case "mute": return "unmuted_mute"; case "pause": return "unmuted_pause"; case "progress": return "unmuted_progress"; case "resume": return "unmuted_resume"; case "rewind": return null; case "skip": return "unmuted_skip"; case "swipe": return null; case "start": return "unmuted_start"; case "third_quartile": return "unmuted_third_quartile"; + case "unmute": return "unmuted_unmute"; case "seek": return null; case "unmuted_abandon": case "unmuted_clickthrough": case "unmuted_complete": case "unmuted_end_fullscreen": case "unmuted_error": case "unmuted_first_quartile": case "unmuted_fullscreen": case "unmuted_impression": case "unmuted_midpoint": case "unmuted_mute": case "unmuted_pause": case "unmuted_close": case "unmuted_progress": case "unmuted_resume": case "unmuted_start": case "unmuted_third_quartile": case "unmuted_unmute": case "unmuted_skip": return null; + default: return null + } + }; + MD = function (a, b, c, d, e) { + e = e === void 0 ? null : e; this.C = a; this.Oa = b; this.layoutId = d; this.D = 0; this.K = null; this.G = void 0; this.j = new Set; this.B = Array.from(this.C.get("progress") || []); this.B.sort(function (f, h) { return (f.offsetMilliseconds || 0) - (h.offsetMilliseconds || 0) }); + this.N = { adPlacementConfig: c, C_: e } + }; + ND = function () { return ["metadata_type_ad_placement_config"] }; + GD = function (a) { var b = a.Oa.get(); return OD(b, a.N) }; + QD = function (a, b, c) { c = c === void 0 ? !1 : c; a.j.has(b) ? PD(a, b, []) : a.Xb(b, c) }; + RD = function (a, b, c) { for (c = c === void 0 ? !1 : c; a.D < a.B.length;) { var d = a.B[a.D]; if (d.offsetMilliseconds <= b || c) PD(a, "progress", [d]), a.D++; else break } }; + SD = function (a, b) { return a.j.has(b) }; + TD = function (a) { return a.B.every(function (b) { return b.hasOwnProperty("offsetMilliseconds") }) }; + Gva = function (a, b, c) { a.K = b; a.G = c }; + PD = function (a, b, c) { var d; Hva(a.Oa.get(), a.layoutId, b, c, (d = a.K) != null ? d : void 0, a.G) }; + Iva = function (a, b, c, d, e) { Ex.call(this, "ads-engagement-panel-layout", a, b, c, d, e) }; + UD = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.K = l; this.jh = !0; this.D = null; this.G = tC(c.Ca, "metadata_type_linked_player_bytes_layout_id"); DC(this.qc(), this); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + Jva = function () { + var a = ["metadata_type_ads_engagement_panel_layout_view_model", "metadata_type_linked_player_bytes_layout_id"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_PANEL"] } + }; + Kva = function (a, b, c, d, e) { Ex.call(this, "banner-image", a, b, c, d, e) }; + VD = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.K = l; this.jh = !0; this.D = null; this.G = tC(c.Ca, "metadata_type_linked_player_bytes_layout_id"); DC(this.qc(), this); this.adPlacementConfig = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, this.adPlacementConfig, c.layoutId) }; + Lva = function () { + var a = ["metadata_type_banner_image_layout_view_model", "metadata_type_linked_player_bytes_layout_id"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_COMPANION_WITH_IMAGE"] } + }; + WD = function (a, b, c, d, e) { Ex.call(this, "action-companion", a, b, c, d, e) }; + XD = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.K = l; this.jh = !0; this.D = null; this.G = tC(c.Ca, "metadata_type_linked_player_bytes_layout_id"); DC(this.qc(), this); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + Mva = function () { + var a = ["metadata_type_action_companion_ad_renderer", "metadata_type_linked_player_bytes_layout_id"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON"] } + }; + Nva = function (a, b, c, d, e) { Ex.call(this, "image-companion", a, b, c, d, e) }; + YD = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.K = l; this.jh = !0; this.D = null; this.G = tC(c.Ca, "metadata_type_linked_player_bytes_layout_id"); DC(this.qc(), this); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + Ova = function () { + var a = ["metadata_type_image_companion_ad_renderer", "metadata_type_linked_player_bytes_layout_id"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_COMPANION_WITH_IMAGE"] } + }; + Pva = function (a, b, c, d, e) { Ex.call(this, "shopping-companion", a, b, c, d, e) }; + ZD = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.K = l; this.jh = !0; this.D = null; this.G = tC(c.Ca, "metadata_type_linked_player_bytes_layout_id"); DC(this.qc(), this); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + Qva = function () { + var a = ["metadata_type_shopping_companion_carousel_renderer", "metadata_type_linked_player_bytes_layout_id"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_COMPANION_WITH_SHOPPING"] } + }; + Rva = function (a) { var b; if (((b = a.adVideoOffset) == null ? void 0 : b.kind) !== "AD_VIDEO_PROGRESS_KIND_PERCENT") return !1; var c; return ((c = a.adVideoOffset) == null ? void 0 : c.percent) != null }; + Sva = function (a) { var b; if (((b = a.adVideoOffset) == null ? void 0 : b.kind) !== "AD_VIDEO_PROGRESS_KIND_MILLISECONDS") return !1; var c; return ((c = a.adVideoOffset) == null ? void 0 : c.milliseconds) != null && !isNaN(Number(a.adVideoOffset.milliseconds)) }; + Tva = function (a, b, c, d) { + this.Mb = a; this.layoutId = c; this.G = d; this.B = []; this.j = []; this.C = this.D = 0; a = g.w(b); for (b = a.next(); !b.done; b = a.next())switch (b = b.value, c = void 0, (c = b.adVideoOffset) == null ? void 0 : c.kind) { case "AD_VIDEO_PROGRESS_KIND_PERCENT": Rva(b) ? this.B.push(b) : Ny("Invalid AdVideoProgressPercentCommand"); break; case "AD_VIDEO_PROGRESS_KIND_MILLISECONDS": Sva(b) ? this.j.push(b) : Ny("Invalid AdVideoProgressMillisecondsCommand"); break; default: Ny("Unknown or invalid AdVideoProgressOffSet kind") }this.B.sort(function (e, + f) { return e.adVideoOffset.percent - f.adVideoOffset.percent }); + this.j.sort(function (e, f) { return Number(e.adVideoOffset.milliseconds) - Number(f.adVideoOffset.milliseconds) }) + }; + Uva = function (a, b, c) { c = c === void 0 ? !1 : c; var d = a.G(); if (d) { for (; a.D < a.B.length;) { var e = a.B[a.D]; if (e.adVideoOffset.percent * d <= b) a.Mb.get().executeCommand(e.command, a.layoutId), a.D++; else break } for (; a.C < a.j.length;)if (d = a.j[a.C], Number(d.adVideoOffset.milliseconds) <= b || c) a.Mb.get().executeCommand(d.command, a.layoutId), a.C++; else break } }; + $D = function (a, b, c, d, e, f) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.jh = !0; DC(this.qc(), this); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + Vva = function () { + var a = ["metadata_type_action_companion_ad_renderer"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON"] } + }; + Wva = function (a, b, c, d, e, f, h) { this.callback = a; this.slot = b; this.layout = c; this.Ia = d; this.Oa = e; this.Aa = f; this.zb = h; this.j = !1; a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + aE = function (a, b, c, d, e, f) { FD.call(this, a, b, c, d); this.Ia = e; this.G = f; this.D = !1 }; + bE = function (a, b, c, d, e) { Ex.call(this, "top-banner-image-text-icon-buttoned", a, b, c, d, e) }; + cE = function (a, b, c, d, e, f) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.jh = !0; DC(this.qc(), this); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + Xva = function () { + var a = ["metadata_type_top_banner_image_text_icon_buttoned_layout_view_model"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON"] } + }; + dE = function (a, b, c, d, e, f) { e = e === void 0 ? !1 : e; f = f === void 0 ? !1 : f; Ex.call(this, "ad-action-interstitial", a, b, c, d); this.interactionLoggingClientData = d; this.OT = e; this.CM = f }; + eE = function (a, b, c, d, e) { FD.call(this, a, b, c, d); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, e, a, c.layoutId) }; + Yva = function () { + var a = ["metadata_type_ad_action_interstitial_renderer"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_ENDCAP"] } + }; + fE = function (a, b) { return oC(a, b.Nd, b.Fe) ? !0 : !1 }; + gE = function (a, b, c) { this.B = a; this.C = b; this.j = c }; + Zva = function (a, b, c, d, e) { Ex.call(this, "ads-engagement-panel", a, b, c, d, e) }; + hE = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.K = l; this.jh = !0; this.D = null; this.G = tC(c.Ca, "metadata_type_linked_player_bytes_layout_id"); DC(this.qc(), this); a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + $va = function () { + var a = ["metadata_type_ads_engagement_panel_renderer", "metadata_type_linked_player_bytes_layout_id"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_PANEL_TEXT_ICON_IMAGE_TILES_BUTTON"] } + }; + iE = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Oa = e; this.qc = f; this.K = l; this.jh = !0; this.D = null; this.G = tC(c.Ca, "metadata_type_linked_player_bytes_layout_id"); DC(this.qc(), this); this.adPlacementConfig = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, this.adPlacementConfig, c.layoutId) }; + awa = function () { + var a = ["metadata_type_top_banner_image_text_icon_buttoned_layout_view_model", "metadata_type_linked_player_bytes_layout_id"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON"] } + }; + bwa = function (a, b, c, d, e) { this.Bc = a; this.Oa = b; this.qc = c; this.j = d; this.zb = e }; + jE = function (a, b, c) { Ex.call(this, "player-underlay", a, {}, b, c); this.interactionLoggingClientData = c }; + kE = function (a, b, c, d) { FD.call(this, a, b, c, d) }; + cwa = function (a) { this.Bc = a }; + dwa = function (a, b, c, d, e) { this.callback = a; this.slot = b; this.layout = c; this.Oa = d; this.Oi = e; a = tC(this.layout.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + ewa = function () { + var a = ["metadata_type_client_forecasting_ad_renderer"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_FORECASTING"] } + }; + fwa = function (a, b, c, d, e) { this.callback = a; this.slot = b; this.layout = c; this.Oa = d; this.Oi = e; a = tC(this.layout.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + lE = function (a, b, c, d) { this.Aa = a; this.Oa = b; this.Oi = c; this.zb = d }; + gwa = function (a, b) { return nC(a.Ca, "metadata_type_ad_info_ad_metadata") ? tC(a.Ca, "metadata_type_ad_info_ad_metadata") : b ? { channelId: b.Wl, channelThumbnailUrl: b.profilePicture, channelTitle: b.author, videoTitle: b.title } : (Ny("No layout metadata nor AdPlayback specified for AdMetaData"), { channelId: "", channelThumbnailUrl: "", channelTitle: "", videoTitle: "" }) }; + hwa = function (a, b) { return nC(a.Ca, "metadata_ad_video_is_listed") ? tC(a.Ca, "metadata_ad_video_is_listed") : b ? b.isListed : (Ny("No layout metadata nor AdPlayback specified for ad video isListed"), !1) }; + iwa = function (a, b, c, d) { Ex.call(this, "player-overlay-layout", a, {}, c, d); this.videoAdDurationSeconds = b; this.interactionLoggingClientData = d }; + mE = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Ia = e; this.Oa = f; this.K = h; this.G = l; this.D = !1; this.N = tC(this.layout.Ca, "metadata_type_linked_player_bytes_layout_id") }; + jwa = function (a) { if (a.layout.renderingContent) { var b; return (b = tC(a.layout.Ca, "metadata_type_player_bytes_callback_ref")) == null ? void 0 : b.current } return tC(a.layout.Ca, "metadata_type_player_bytes_callback") }; + nE = function (a, b, c, d, e, f, h, l) { FD.call(this, a, b, c, d); this.Ia = e; this.Oa = f; this.K = h; this.G = l; this.D = !1; this.N = tC(this.layout.Ca, "metadata_type_linked_player_bytes_layout_id") }; + kwa = function () { return { Nd: ["metadata_type_instream_ad_player_overlay_renderer", "metadata_type_player_bytes_callback", "metadata_type_linked_player_bytes_layout_id", "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds"], Fe: ["LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY"] } }; + oE = function (a) { if (a.layout.renderingContent) { var b; return (b = tC(a.layout.Ca, "metadata_type_player_bytes_callback_ref")) == null ? void 0 : b.current } return tC(a.layout.Ca, "metadata_type_player_bytes_callback") }; + lwa = function (a, b, c) { Ex.call(this, "ad-message", a, void 0, b, c) }; + pE = function (a, b, c, d, e, f) { FD.call(this, c, a, b, d); this.Ia = e; this.Aa = f }; + mwa = function () { return { Nd: ["metadata_type_valid_ad_message_renderer"], Fe: ["LAYOUT_TYPE_TEXT_BANNER_OVERLAY"] } }; + tE = function (a, b, c, d, e, f, h, l, m) { + return fE(c, kwa()) || c.layoutType === "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY" && g.R(c.renderingContent, qE) !== void 0 ? new nE(a, b, c, d, e, f, h, l) : fE(c, { Nd: ["metadata_type_player_overlay_layout_renderer", "metadata_type_player_bytes_callback", "metadata_type_linked_player_bytes_layout_id", "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds"], Fe: ["LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY"] }) || c.layoutType === "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY" && g.R(c.renderingContent, rE) !== void 0 ? + new mE(a, b, c, d, e, f, h, l) : fE(c, Yva()) || c.layoutType === "LAYOUT_TYPE_ENDCAP" && g.R(c.renderingContent, sE) !== void 0 ? new eE(a, b, c, d, f) : fE(c, mwa()) ? new pE(b, c, a, d, e, m) : fE(c, { Nd: ["metadata_type_instream_ad_player_overlay_renderer"], Fe: ["LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY"] }) ? new aE(a, b, c, d, e, l) : null + }; + nwa = function (a, b, c, d, e, f) { this.Bc = a; this.Ia = b; this.Oa = c; this.B = d; this.j = e; this.Aa = f }; + uE = function (a) { return !a.xB.isPlaying() && a.state.isPlaying() }; + vE = function (a, b, c) { return a < b ? !1 : c != null ? c <= b : a <= b + 1 }; + owa = function (a, b, c, d, e, f, h) { this.callback = a; this.slot = b; this.layout = c; this.Ia = d; this.Oa = e; this.Aa = f; this.zb = h; this.j = !1; a = tC(c.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId) }; + wE = function (a, b) { a.j || (a.eb.Xb(b), a.j = !0) }; + pwa = function (a, b, c, d) { this.Ia = a; this.Oa = b; this.Aa = c; this.zb = d }; + xE = function () { this.currentState = 1; this.j = "unknown" }; + yE = function (a, b) { if (a.currentState > 1) { g.fx(new g.pt("Exit already started", { current: a.currentState })); var c = !1 } else c = !0; if (!c) return !1; a.currentState = 2; a.j = b; return !0 }; + qwa = function (a, b) { + var c = new Map; a = g.w(a); for (var d = a.next(); !d.done; d = a.next()) { d = d.value; if (d.layoutType === "LAYOUT_TYPE_MEDIA") var e = "v"; else d.layoutType === "LAYOUT_TYPE_MEDIA_BREAK" ? (e = tC(d.Ca, "metadata_type_linked_in_player_layout_type"), e = e === "LAYOUT_TYPE_ENDCAP" || e === "LAYOUT_TYPE_VIDEO_INTERSTITIAL" ? "e" : e === "LAYOUT_TYPE_SURVEY" ? "s" : e === "LAYOUT_TYPE_VIDEO_INTERSTITIAL_BUTTONED_LEFT" ? "si" : "u") : e = "u"; c.set(d.layoutId, e); e === "u" && (e = {}, zE(b, "uct", (e.c = d.layoutId, e))) } a = b.Hm(); AE = { contentCpn: a, Gt: c }; + d = {}; zE(b, "acc", (d.ct = c.size, d.c = a, d)) + }; + rwa = function () { AE = { contentCpn: "", Gt: new Map } }; + BE = function (a) { var b; return (b = AE.Gt.get(a)) != null ? b : "u" }; + CE = function (a, b, c) { zE(a, b, c); swa(a) }; + twa = function (a) { var b = a.layoutId, c = a.Zr; if (a.Eo) { var d = {}; CE(a.Kf, "slso", (d.ec = b, d.is = c, d.ctp = BE(b), d)) } }; + DE = function (a) { var b = a.layoutId, c = a.Zr; if (a.Eo) { var d = {}; CE(a.Kf, "slse", (d.ec = b, d.is = c, d.ctp = BE(b), d)) } }; + uwa = function (a) { var b = a.layoutId, c = a.Zr, d = a.Kf; a.Eo && (a = {}, CE(d, "sleo", (a.xc = b, a.is = c, a.ctp = BE(b), a)), swa(d)) }; + vwa = function (a) { var b = a.cpn, c = a.Kf; a = a.Zr; var d = c.Hm(), e = {}; CE(c, "ce", (e.ec = b, e.ia = b !== d, e.r = AE.Gt.has(b), e.is = a, e.ctp = BE(b), e)) }; + swa = function (a) { if (a.Hm() !== AE.contentCpn) { var b = {}; zE(a, "ccm", (b.c = AE.contentCpn, b)) } }; + wwa = function (a) { var b = a.cpn, c = a.Kf; a = a.Zr; var d = c.Hm(), e = {}; CE(c, "cx", (e.xc = b, e.ia = b !== d, e.r = AE.Gt.has(b), e.is = a, e.ctp = BE(b), e)) }; + xwa = function (a, b) { this.Kf = a; this.Aa = b }; + EE = function (a) { var b = []; if (a) { a = g.w(Object.entries(a)); for (var c = a.next(); !c.done; c = a.next()) { var d = g.w(c.value); c = d.next().value; d = d.next().value; d !== void 0 && (d = typeof d === "boolean" ? "" + +d : ("" + d).replace(/[:,=]/g, "_"), b.push(c + "." + d)) } } return b.join(";") }; + FE = function (a, b, c) { b = b === void 0 ? {} : b; this.errorCode = a; this.details = b; this.severity = c === void 0 ? 0 : c }; + GE = function (a) { return a === 1 || a === 2 }; + HE = function (a, b) { b = b === void 0 ? 0 : b; if (a instanceof FE) return a; a = a && a instanceof Error ? a : Error("" + a); GE(b) ? g.ex(a) : g.fx(a); return new FE(b === 1 ? "player.fatalexception" : "player.exception", { name: "" + a.name, message: "" + a.message }, b) }; + g.zwa = function (a) { return (a = ywa[a.toString()]) ? a : "LICENSE" }; + Awa = function (a, b) { + function c() { var d = g.Ca.apply(0, arguments); a.removeEventListener("playing", c); b.apply(null, g.x(d)) } + a.addEventListener("playing", c) + }; + IE = function () { var a = g.La("yt.player.utils.videoElement_"); a || (a = g.je("VIDEO"), g.Ka("yt.player.utils.videoElement_", a)); return a }; + JE = function (a) { var b = IE(); return !!(b && b.canPlayType && b.canPlayType(a)) }; + LE = function (a) { if (/opus/.test(a) && g.KE && !Fp("38") && !g.ks()) return !1; if (window.MediaSource && window.MediaSource.isTypeSupported) return window.MediaSource.isTypeSupported(a); if (window.ManagedMediaSource && window.ManagedMediaSource.isTypeSupported) return window.ManagedMediaSource.isTypeSupported(a); if (/webm/.test(a) && !ns()) return !1; a === 'audio/mp4; codecs="mp4a.40.2"' && (a = 'video/mp4; codecs="avc1.4d401f"'); return !!JE(a) }; + Bwa = function (a) { try { var b = LE('video/mp4; codecs="avc1.42001E"') || LE('video/webm; codecs="vp9"'); return (LE('audio/mp4; codecs="mp4a.40.2"') || LE('audio/webm; codecs="opus"')) && (b || !a) || JE('video/mp4; codecs="avc1.42001E, mp4a.40.2"') ? null : "fmt.noneavailable" } catch (c) { return "html5.missingapi" } }; + ME = function () { var a = IE(); return !(!a.webkitSupportsPresentationMode || typeof a.webkitSetPresentationMode !== "function") }; + NE = function () { var a = IE(); try { var b = a.muted; a.muted = !b; return a.muted !== b } catch (c) { } return !1 }; + g.OE = function () { Ws.apply(this, arguments) }; + PE = function (a, b, c, d, e, f) { this.sampleRate = a === void 0 ? 0 : a; this.numChannels = b === void 0 ? 0 : b; this.spatialAudioType = c === void 0 ? "SPATIAL_AUDIO_TYPE_NONE" : c; this.j = d === void 0 ? !1 : d; this.C = e === void 0 ? 0 : e; this.B = f === void 0 ? 0 : f }; + SE = function (a, b, c, d, e, f, h, l, m) { + this.width = a; this.height = b; this.quality = f || QE(a, b); this.j = g.RE[this.quality]; this.fps = c || 0; this.stereoLayout = !e || d != null && d !== "UNKNOWN" && d !== "RECTANGULAR" ? 0 : e; this.projectionType = d ? d === "EQUIRECTANGULAR" && e === 2 ? "EQUIRECTANGULAR_THREED_TOP_BOTTOM" : d : "UNKNOWN"; (a = h) || (a = g.RE[this.quality], a === 0 ? a = "Auto" : (b = this.fps, c = this.projectionType, a = a.toString() + (c === "EQUIRECTANGULAR" || c === "EQUIRECTANGULAR_THREED_TOP_BOTTOM" || c === "MESH" ? "s" : "p") + (b > 55 ? "60" : b > 49 ? "50" : b > 39 ? "48" : ""))); + this.qualityLabel = a; this.B = l || ""; this.primaries = m || "" + }; + QE = function (a, b) { var c = Math.max(a, b); a = Math.min(a, b); b = TE[0]; for (var d = 0; d < TE.length; d++) { var e = TE[d], f = g.RE[e]; if (c >= Math.floor(f * 16 / 9) * 1.3 || a >= f * 1.3) return b; b = e } return "tiny" }; + WE = function (a, b, c) { c = c === void 0 ? {} : c; this.id = a; this.mimeType = b; c.ub > 0 || (c.ub = 16E3); Object.assign(this, c); a = g.w(this.id.split(";")); this.itag = a.next().value; this.j = a.next().value; this.containerType = UE(b); this.rb = VE[this.itag] || "" }; + XE = function (a) { return a.rb === "9" || a.rb === "(" || a.rb === "9h" || a.rb === "(h" }; + Cwa = function (a) { return a.rb === "H" || a.rb === "h" }; + YE = function (a) { return a.rb === "9h" || a.rb === "(h" }; + ZE = function (a) { return a.rb === "1" || a.rb === "1h" }; + $E = function (a) { return a.rb === "mac3" || a.rb === "meac3" || a.rb === "m" }; + aF = function (a) { return a.rb === "MAC3" || a.rb === "MEAC3" || a.rb === "M" }; + g.bF = function (a) { return a.containerType === 1 }; + Dwa = function (a) { return a.rb === "(" || a.rb === "(h" || a.rb === "H" }; + cF = function (a) { return a.mimeType === "application/x-mpegURL" }; + dF = function (a, b) { return { itag: +a.itag, lmt: b ? 0 : a.lastModified, xtags: a.j || "" } }; + eF = function (a, b) { a = dF(a, b); return a.itag + ";" + (a.lmt || 0) + ";" + a.xtags }; + Ewa = function (a) { var b = navigator.mediaCapabilities; if (b == null || !b.decodingInfo || a.rb === "f") return Promise.resolve(); var c = { type: a.audio && a.video ? "file" : "media-source" }; a.video && (c.video = { contentType: a.mimeType, width: a.video.width || 640, height: a.video.height || 360, bitrate: a.ub * 8 || 1E6, framerate: a.video.fps || 30 }); a.audio && (c.audio = { contentType: a.mimeType, channels: "" + (a.audio.numChannels || 2), bitrate: a.ub * 8 || 128E3, samplerate: a.audio.sampleRate || 44100 }); return b.decodingInfo(c).then(function (d) { a.B = d }) }; + fF = function (a) { return /(opus|mp4a|dtse|ac-3|ec-3|iamf)/.test(a) }; + gF = function (a) { return /(vp9|vp09|vp8|avc1|av01)/.test(a) }; + hF = function (a) { return a.includes("vtt") || a.includes("text/mp4") }; + UE = function (a) { return a.indexOf("/mp4") >= 0 ? 1 : a.indexOf("/webm") >= 0 ? 2 : a.indexOf("/x-flv") >= 0 ? 3 : a.indexOf("/vtt") >= 0 ? 4 : 0 }; + iF = function (a, b, c, d, e, f) { var h = new PE; b in g.RE || (b = "small"); b === "light" && (b = "tiny"); d && e ? (e = Number(e), d = Number(d)) : (e = g.RE[b], d = Math.round(e * 16 / 9)); f = new SE(d, e, 0, null, void 0, b, f); a = unescape(a.replace(/"/g, '"')); return new WE(c, a, { audio: h, video: f }) }; + jF = function (a) { var b = "id=" + a.id; a.video && (b += ", res=" + a.video.qualityLabel); var c, d; return b + ", byterate=(" + ((c = a.Hw) == null ? void 0 : c.toFixed(0)) + ", " + ((d = a.ub) == null ? void 0 : d.toFixed(0)) + ")" }; + kF = function (a, b) { + return { + start: function (c) { return a[c] }, + end: function (c) { return b[c] }, + length: a.length + } + }; + Fwa = function (a, b, c) { + for (var d = [], e = [], f = 0; f < a.length; f++)d.push(a.start(f)), e.push(a.end(f)); d.push(b); e.push(c); d.sort(function (h, l) { return h - l }); + e.sort(function (h, l) { return h - l }); + return kF(d, e) + }; + lF = function (a, b, c) { b = b === void 0 ? "," : b; c = c === void 0 ? a ? a.length : 0 : c; var d = []; if (a) for (c = Math.max(a.length - c, 0); c < a.length; c++)d.push(a.start(c).toFixed(3) + "-" + a.end(c).toFixed(3)); return d.join(b) }; + mF = function (a, b) { if (!a) return -1; try { for (var c = 0; c < a.length; c++)if (a.start(c) <= b && a.end(c) >= b) return c } catch (d) { } return -1 }; + nF = function (a, b) { return mF(a, b) >= 0 }; + Gwa = function (a, b) { if (!a) return NaN; b = mF(a, b); return b >= 0 ? a.start(b) : NaN }; + oF = function (a, b) { if (!a) return NaN; b = mF(a, b); return b >= 0 ? a.end(b) : NaN }; + pF = function (a) { return a && a.length ? a.end(a.length - 1) : NaN }; + qF = function (a, b) { a = oF(a, b); return a >= 0 ? a - b : 0 }; + rF = function (a, b, c) { for (var d = [], e = [], f = 0; f < a.length; f++)a.end(f) < b || a.start(f) > c || (d.push(Math.max(b, a.start(f)) - b), e.push(Math.min(c, a.end(f)) - b)); return kF(d, e) }; + sF = function (a, b, c, d) { + g.Fx.call(this); var e = this; this.Jd = a; this.start = b; this.end = c; this.isActive = d; this.appendWindowStart = 0; this.appendWindowEnd = Infinity; this.timestampOffset = 0; this.YY = { + error: function () { !e.La() && e.isActive && e.publish("error", e) }, + updateend: function () { !e.La() && e.isActive && e.publish("updateend", e) } + }; + g.Gx(this.Jd, this.YY); this.pI = this.isActive + }; + uF = function (a, b, c, d, e, f) { + g.Fx.call(this); var h = this; this.Qb = a; this.vg = b; this.id = c; this.containerType = d; this.rb = e; this.zg = f; this.gR = this.WF = this.Gf = null; this.lJ = !1; this.appendWindowStart = this.timestampOffset = 0; this.DO = kF([], []); this.qE = !1; this.VF = []; this.iC = tF ? [] : void 0; this.oI = !1; this.Hd = function (m) { return h.publish(m.type, h) }; + var l; if ((l = this.Qb) == null ? 0 : l.addEventListener) this.Qb.addEventListener("updateend", this.Hd), this.Qb.addEventListener("error", this.Hd) + }; + vF = function () { return window.SourceBuffer ? !!SourceBuffer.prototype.changeType : !1 }; + wF = function (a, b) { this.resource = a; this.j = b === void 0 ? !1 : b; this.B = !1 }; + xF = function (a, b, c) { c = c === void 0 ? !1 : c; g.O.call(this); this.mediaElement = a; this.Qa = b; this.isView = c; this.N = 0; this.G = !1; this.K = !0; this.ra = 0; this.callback = null; this.qa = !1; this.Qa || (this.vg = this.mediaElement.Ib()); this.events = new g.OE(this); g.P(this, this.events); this.C = new wF(this.Qa ? window.URL.createObjectURL(this.Qa) : this.vg.webkitMediaSourceURL, !0); a = this.Qa || this.vg; Xs(this.events, a, ["sourceopen", "webkitsourceopen"], this.rca); Xs(this.events, a, ["sourceclose", "webkitsourceclose"], this.qca); this.D = { updateend: this.F5 } }; + Hwa = function () { return !!(window.MediaSource || window.ManagedMediaSource || window.WebKitMediaSource || window.HTMLMediaElement && HTMLMediaElement.prototype.webkitSourceAddId) }; + Iwa = function (a, b) { yF(a) ? g.De(function () { b(a) }) : a.callback = b }; + Jwa = function (a, b, c) { if (zF) { var d; AF(a.mediaElement, { l: "mswssb", sr: (d = a.mediaElement.ea) == null ? void 0 : BF(d) }, !1); g.Gx(b, a.D, a); g.Gx(c, a.D, a) } a.j = b; a.B = c; g.P(a, b); g.P(a, c) }; + Kwa = function (a, b, c, d) { d = b.mimeType + (d === void 0 ? "" : d); var e = c.mimeType; b = b.rb; c = c.rb; var f; a.Z = (f = a.Qa) == null ? void 0 : f.addSourceBuffer(e); var h; a.Y = d.split(";")[0] === "fakesb" ? void 0 : (h = a.Qa) == null ? void 0 : h.addSourceBuffer(d); a.vg && (a.vg.webkitSourceAddId("0", e), a.vg.webkitSourceAddId("1", d)); f = new uF(a.Z, a.vg, "0", UE(e), c, !1); d = new uF(a.Y, a.vg, "1", UE(d), b, !0); Jwa(a, f, d) }; + CF = function (a) { return !!a.j || !!a.B }; + yF = function (a) { try { return DF(a) === "open" } catch (b) { return !1 } }; + DF = function (a) { if (a.Qa) return a.Qa.readyState; switch (a.vg.webkitSourceState) { case a.vg.SOURCE_OPEN: return "open"; case a.vg.SOURCE_ENDED: return "ended"; default: return "closed" } }; + EF = function () { return !(!window.MediaSource || !window.MediaSource.isTypeSupported) || window.ManagedMediaSource }; + Lwa = function (a) { yF(a) && (a.Qa ? a.Qa.endOfStream() : a.vg.webkitSourceEndOfStream(a.vg.EOS_NO_ERROR)) }; + Mwa = function (a, b, c, d) { if (!a.j || !a.B) return null; var e = a.j.isView() ? a.j.Jd : a.j, f = a.B.isView() ? a.B.Jd : a.B, h = new xF(a.mediaElement, a.Qa, !0); h.C = a.C; Jwa(h, new sF(e, b, c, d), new sF(f, b, c, d)); yF(a) || a.j.Nq(a.j.Dc()); return h }; + Nwa = function (a) { var b; (b = a.j) == null || b.Kz(); var c; (c = a.B) == null || c.Kz(); a.K = !1 }; + FF = function () { var a = this; this.ZS = this.gC = qaa; this.promise = new g.Fe(function (b, c) { a.gC = b; a.ZS = c }) }; + GF = function () { g.O.call(this); this.DK = !1; this.resource = null; this.N = this.K = !1; this.D = new g.Vc; this.ea = null; g.P(this, this.D) }; + HF = function (a) { a = a.uA(); return a.length < 1 ? NaN : a.end(a.length - 1) }; + Owa = function (a) { !a.B && Hwa() && (a.C ? a.C.then(function () { return Owa(a) }) : a.Zh() || (a.B = a.Lr())) }; + Pwa = function (a) { a.B && (a.B.dispose(), a.B = void 0) }; + AF = function (a, b, c) { var d; ((d = a.ea) == null ? 0 : d.Ac()) && a.ea.oa("rms", b, c === void 0 ? !1 : c) }; + Qwa = function (a, b, c) { a.isPaused() || a.getCurrentTime() > b || c > 10 || (a.play(), g.Kr(function () { Qwa(a, a.getCurrentTime(), c + 1) }, 500)) }; + Rwa = function (a, b) { a.resource && b !== null && b.resource === a.resource.resource || (a.resource && a.resource.dispose(), a.resource = b) }; + IF = function (a) { return qF(a.Eh(), a.getCurrentTime()) }; + Swa = function (a, b) { if (a.jl() === 0 || a.hasError()) return !1; var c = a.getCurrentTime() > 0; return b >= 0 && (a = a.uA(), a.length || !c) ? nF(a, b) : c }; + JF = function (a) { a.Zh() && (Twa && a.ea && a.ea.Dv("rs_s"), ru && a.getCurrentTime() > 0 && a.seekTo(0), a.lM(), a.load(), Rwa(a, null)); delete a.C }; + KF = function (a) { switch (a.Xh()) { case 2: return "progressive.net.retryexhausted"; case 3: var b; return ((b = a.Xf()) == null ? 0 : b.includes("MEDIA_ERR_CAPABILITY_CHANGED")) ? "capability.changed" : "fmt.decode"; case 4: return "fmt.unplayable"; case 5: return "drm.unavailable"; case 1E3: return "capability.changed"; default: return null } }; + g.LF = function (a, b, c) { this.eh = b === void 0 ? null : b; this.seekSource = c === void 0 ? null : c; this.state = a || 64 }; + MF = function (a, b) { return Uwa(a, b.getCurrentTime(), (0, g.Zt)(), IF(b)) }; + NF = function (a, b, c, d) { if (!(b === a.state && c === a.eh && d === a.seekSource || b !== void 0 && (b & 128 && !c || b & 2 && b & 16))) { var e; if (e = b) e = b || a.state, e = !!(e & 16 || e & 32); a = new g.LF(b, c, e ? d ? d : a.seekSource : null) } return a }; + OF = function (a, b, c) { return NF(a, a.state | b, null, c === void 0 ? null : c) }; + PF = function (a, b) { return NF(a, a.state & ~b, null, null) }; + QF = function (a, b, c, d) { return NF(a, (a.state | b) & ~c, null, d === void 0 ? null : d) }; + g.U = function (a, b) { return !!(a.state & b) }; + g.RF = function (a, b) { return b.state === a.state && b.eh === a.eh }; + SF = function (a) { return a.isPlaying() && !g.U(a, 16) && !g.U(a, 32) }; + TF = function (a) { return g.U(a, 128) ? -1 : g.U(a, 2) ? 0 : g.U(a, 2048) ? 3 : g.U(a, 64) ? -1 : g.U(a, 1) && !g.U(a, 32) ? 3 : g.U(a, 8) ? 1 : g.U(a, 4) ? 2 : -1 }; + VF = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A) { + g.O.call(this); var D = this; this.Zo = a; this.slot = b; this.layout = c; this.Oa = d; this.zb = e; this.Sa = f; this.Ia = h; this.zc = l; this.Mb = m; this.Eq = n; this.position = q; this.K = r; this.Aa = t; this.gs = u; this.Pg = y; this.context = A; this.jh = !0; this.G = !1; this.lc = "not_rendering"; this.j = !1; this.B = new xE; this.C = !1; a = tC(this.layout.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(c.Eb, this.Oa, a, c.layoutId); var F; a = ((F = UF(this)) == null ? void 0 : F.progressCommands) || []; this.D = new Tva(m, + a, c.layoutId, function () { return D.nA() }) + }; + WF = function (a) { return { layoutId: a.oA(), Zr: a.gs, Kf: a.Sa.get(), Eo: a.Ve() } }; + XF = function (a, b) { return b.layoutId !== a.layout.layoutId ? (a.Zo.Hf(a.slot, b, new qC("Tried to start rendering an unknown layout, this adapter requires LayoutId: " + a.layout.layoutId + ("and LayoutType: " + a.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED"), !1) : !0 }; + YF = function (a) { a.lc = "rendering_start_requested"; a.Eq(-1) }; + UF = function (a) { return tC(a.layout.Ca, "METADATA_TYPE_INTERACTIONS_AND_PROGRESS_LAYOUT_COMMANDS") }; + Vwa = function (a) { Ny("Received layout exit signal when not in layout exit flow.", a.slot, a.layout) }; + Wwa = function (a) { var b; return ((b = ZF(a.Sa.get(), 2)) == null ? void 0 : b.clientPlaybackNonce) || "" }; + $F = function (a, b) { switch (b) { case "normal": a.Xb("complete"); break; case "skipped": a.Xb("skip"); break; case "abandoned": SD(a.eb, "impression") && a.Xb("abandon") } }; + aG = function (a, b) { a.G || (b = new g.Oy(b.state, new g.LF), a.G = !0); return b }; + bG = function (a, b) { uE(b) ? a.Eq(1) : g.Qy(b, 4) && !g.Qy(b, 2) && a.f3(); Py(b, 4) < 0 && !(Py(b, 2) < 0) && a.g3() }; + Xwa = function (a) { a.position === 0 && (a.zc.get(), a = tC(a.layout.Ca, "metadata_type_ad_placement_config").kind, a = { adBreakType: cG(a) }, pA("ad_bl"), g.qA(a)) }; + dG = function (a, b) { QD(a.eb, b, !a.j) }; + Zwa = function (a) { var b; return (((b = UF(a)) == null ? void 0 : b.progressCommands) || []).findIndex(function (c) { return !!g.R(c == null ? void 0 : c.command, Ywa) }) !== -1 }; + eG = function (a, b) { var c = tC(a.Ca, "metadata_type_eligible_for_ssap"); return c === void 0 ? (Ny("Expected SSAP eligibility in PlayerBytes factory", a), !1) : b.Ve(c) }; + fG = function (a) { switch (a) { case 2: return "normal"; case 4: return "error"; case 5: case 3: case 1: case 6: case 7: return Ny("getExitReason: unexpected reason", void 0, void 0, { reason: a }), "error"; default: Ld(a, "unexpected transition reason") } }; + gG = function (a, b, c) { sA(a, c) || uA(a, b, c); sA(a, "video_to_ad") || uA(a, b, "video_to_ad"); sA(a, "ad_to_video") || uA(a, b, "ad_to_video"); sA(a, "ad_to_ad") || uA(a, b, "ad_to_ad") }; + hG = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D) { + VF.call(this, a, b, c, d, e, f, h, l, n, p, q, r, t, u, y, A, D); var F = this; this.od = m; this.uo = q; this.KK = !0; this.jR = this.qj = 0; this.pJ = ad(function () { twa(WF(F)); F.Zo.vc(F.slot, F.layout) }); + this.uE = ad(function () { uwa(WF(F)); F.lc !== "rendering_stop_requested" && F.uo(F); F.XO() }); + this.Xe = new g.Me(200); this.Xe.listen("tick", function () { F.Tc() }); + g.P(this, this.Xe) + }; + jG = function (a) { a.jR = Date.now(); iG(a, a.qj); a.Xe.start() }; + $wa = function (a) { a.qj = a.nA(); a.bz(a.qj / 1E3, !0); iG(a, a.qj) }; + iG = function (a, b) { b = { current: b / 1E3, duration: a.nA() / 1E3 }; a.od.get().Yu("onAdPlaybackProgress", b) }; + kG = function (a) { hG.call(this, a.Zo, a.slot, a.Nf, a.Oa, a.zb, a.Sa, a.Ia, a.zc, a.od, a.Mb, a.Eq, a.uo, a.Qq, a.Xy, a.Aa, a.gs, a.Pg, a.context) }; + lG = function (a) { hG.call(this, a.Zo, a.slot, a.Nf, a.Oa, a.zb, a.Sa, a.Ia, a.zc, a.od, a.Mb, a.Eq, a.uo, a.Qq, a.Xy, a.Aa, a.gs, a.Pg, a.context) }; + mG = function () { lG.apply(this, arguments) }; + axa = function (a) { return eG(a.slot, a.Aa.get()) ? new mG(a) : new kG(a) }; + pG = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M, N) { + VF.call(this, a, b, c, d, e, l, m, p, r, u, y, A, D, F, H, N, M); var Q = this; this.hf = f; this.md = h; this.Pc = n; this.od = q; this.Yf = t; this.uo = y; this.adCpn = ""; this.PW = 0; this.cZ = !1; this.pJ = ad(function () { twa(WF(Q)); Q.Zo.vc(Q.slot, Q.layout) }); + this.uE = ad(function () { uwa(WF(Q)); Q.lc !== "rendering_stop_requested" && Q.uo(Q); Q.XO() }); + this.Ve() || (this.dL = new g.fp(function () { Q.pL("load_timeout", new qC("Media layout load timeout.", {}, "ADS_CLIENT_ERROR_MESSAGE_MEDIA_LAYOUT_LOAD_TIMEOUT", !0), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") }, 1E4), a = nG(this.Aa.get()), F = oG(F.get()), a && F && (this.oB = new g.fp(function () { + var Z = tC(c.Ca, "metadata_type_preload_player_vars"); + Z && Q.md.get().J.preloadVideoByPlayerVars(Z, 2, 300) + }))) + }; + cxa = function (a, b) { var c = tC(b.Ca, "metadata_type_ad_video_id"), d = tC(b.Ca, "metadata_type_legacy_info_card_vast_extension"); c && d && a.Yf.get().J.U().Ka.add(c, { iJ: d }); (b = tC(b.Ca, "metadata_type_sodar_extension_data")) && hva(a.hf.get(), b); bxa(a.Ia.get(), !1) }; + dxa = function (a) { bxa(a.Ia.get(), !0); var b; ((b = a.shrunkenPlayerBytesConfig) == null ? 0 : b.shouldRequestShrunkenPlayerBytes) && a.Ia.get().sC(!1) }; + qG = function (a) { pG.call(this, a.callback, a.slot, a.Nf, a.Oa, a.zb, a.hf, a.md, a.Sa, a.Ia, a.Pc, a.zc, a.od, a.Mb, a.Yf, a.Eq, a.uo, a.Qq, a.Xy, a.Aa, a.gs, a.context, a.Pg) }; + rG = function () { qG.apply(this, arguments) }; + exa = function (a) { return axa(Object.assign({}, a, { Zo: a.callback, Eq: function () { } })) }; + fxa = function (a) { return new pG(a.callback, a.slot, a.Nf, a.Oa, a.zb, a.hf, a.md, a.Sa, a.Ia, a.Pc, a.zc, a.od, a.Mb, a.Yf, function (b) { a.od.get().Yu("onAdIntroStateChange", b) }, a.uo, a.Qq, a.Xy, a.Aa, a.gs, a.context, a.Pg) }; + gxa = function (a) { + function b(c) { a.od.get().bH(c) } + return eG(a.slot, a.Aa.get()) ? new rG(Object.assign({}, a, { Eq: b })) : new pG(a.callback, a.slot, a.Nf, a.Oa, a.zb, a.hf, a.md, a.Sa, a.Ia, a.Pc, a.zc, a.od, a.Mb, a.Yf, b, a.uo, a.Qq, a.Xy, a.Aa, a.gs, a.context, a.Pg) + }; + sG = function (a) { for (var b = a.Nf, c = ["METADATA_TYPE_MEDIA_BREAK_LAYOUT_DURATION_MILLISECONDS"], d = g.w(ND()), e = d.next(); !e.done; e = d.next())c.push(e.value); if (fE(b, { Nd: c, Fe: ["LAYOUT_TYPE_MEDIA_BREAK"] })) return exa(a); b = a.Nf; c = ["metadata_type_player_vars", "metadata_type_player_bytes_callback_ref"]; d = g.w(ND()); for (e = d.next(); !e.done; e = d.next())c.push(e.value); if (fE(b, { Nd: c, Fe: ["LAYOUT_TYPE_MEDIA"] })) return nC(a.Nf.Ca, "metadata_type_ad_intro") ? fxa(a) : gxa(a) }; + ixa = function (a) { var b = tC(a.Ca, "metadata_type_ad_placement_config").kind, c = tC(a.Ca, "metadata_type_linked_in_player_layout_type"); return { cpn: a.layoutId, adType: hxa(c), adBreakType: cG(b) } }; + cG = function (a) { switch (a) { case "AD_PLACEMENT_KIND_START": return "LATENCY_AD_BREAK_TYPE_PREROLL"; case "AD_PLACEMENT_KIND_MILLISECONDS": case "AD_PLACEMENT_KIND_COMMAND_TRIGGERED": case "AD_PLACEMENT_KIND_CUE_POINT_TRIGGERED": return "LATENCY_AD_BREAK_TYPE_MIDROLL"; case "AD_PLACEMENT_KIND_END": return "LATENCY_AD_BREAK_TYPE_POSTROLL"; default: return "LATENCY_AD_BREAK_TYPE_UNKNOWN" } }; + hxa = function (a) { switch (a) { case "LAYOUT_TYPE_ENDCAP": return "adVideoEnd"; case "LAYOUT_TYPE_SURVEY": return "surveyAd"; case "LAYOUT_TYPE_VIDEO_INTERSTITIAL_BUTTONED_LEFT": return "surveyInterstitialAd"; default: return "unknown" } }; + jxa = function (a) { try { return new tG(a) } catch (b) { } }; + uG = function (a, b, c, d, e, f, h, l, m, n, p) { g.O.call(this); this.Ev = a; this.slot = b; this.layout = c; this.Yd = d; this.gf = e; this.Sa = f; this.Gc = h; this.md = l; this.qc = m; this.Ia = n; this.jh = !0; a = sG(p); if (!a) throw Error("Invalid params for sublayout"); this.Ld = a }; + tG = function (a) { uG.call(this, a.Ev, a.slot, a.layout, a.Yd, a.gf, a.Sa, a.Gc, a.md, a.qc, a.Ia, a.Aea); this.params = a }; + kxa = function () { this.j = 1; this.B = new xE }; + vG = function (a, b, c, d, e, f, h, l, m, n, p, q, r) { g.O.call(this); this.callback = a; this.Sa = b; this.Gc = c; this.md = d; this.Ia = e; this.zc = f; this.Pq = h; this.slot = l; this.layout = m; this.Yd = n; this.Oi = p; this.qc = q; this.Aa = r; this.jh = !0; this.yx = !1; this.Qh = []; this.eE = -1; this.PQ = !1; this.Qw = new kxa }; + lxa = function (a) { var b; return (b = a.layout.Ty) != null ? b : tC(a.layout.Ca, "metadata_type_sub_layouts") }; + wG = function (a) { return { Kf: a.Sa.get(), Zr: !1, Eo: a.Ve() } }; + mxa = function (a, b, c) { if (a.Al() === a.Qh.length - 1) { var d, e; Ny("Unexpected skip requested during the last sublayout", (d = a.Af()) == null ? void 0 : d.Zb(), (e = a.Af()) == null ? void 0 : e.Za(), { requestingSlot: b, requestingLayout: c }) } }; + nxa = function (a, b, c) { return c.layoutId !== xG(a, b, c) ? (Ny("onSkipRequested for a PlayerBytes layout that is not currently active", a.Zb(), a.Za()), !1) : !0 }; + oxa = function (a) { a.Al() === a.Qh.length - 1 && Ny("Unexpected skip with target requested during the last sublayout") }; + pxa = function (a, b, c) { return c.renderingContent === void 0 && c.layoutId !== xG(a, b, c) ? (Ny("onSkipWithAdPodSkipTargetRequested for a PlayerBytes layout that is not currently active", a.Zb(), a.Za(), { requestingSlot: b, requestingLayout: c }), !1) : !0 }; + qxa = function (a, b, c, d) { var e = tC(b.Za().Ca, "metadata_type_ad_pod_skip_target"); if (e && e > 0 && e < a.Qh.length) { a: { for (var f = e; f < a.Qh.length;) { if (e === tC(a.Qh[f].Za().Ca, "metadata_type_ad_pod_skip_index")) { a = f; break a } f++ } a = void 0 } if (a === void 0) Ny("Skip-to-index was requested but target index was not found", b.Zb(), b.Za(), { requestingSlot: c, requestingLayout: d }); else return a } else Ny("Invalid ad pod skip target index", b.Zb(), b.Za(), { requestingSlot: c, requestingLayout: d }) }; + xG = function (a, b, c) { var d = tC(a.Za().Ca, "metadata_type_linked_in_player_layout_id"); return d ? d : (Ny("Tried to retrieve Linked InPlayer LayoutId but missing ClientMetadata", a.Zb(), a.Za(), { requestingSlot: b, requestingLayout: c }), null) }; + sxa = function (a, b, c, d) { rxa(a, b, c, "skipped", function () { yG(a, d) }) }; + rxa = function (a, b, c, d, e) { + if (!a.PQ) { + var f = a.Af(); if (f) { f.Za().layoutId !== c.layoutId && Ny("SubLayout mismatch in exitSubLayout", b, c, { exitingSubLayout: c.layoutId, activeSubLayout: f.Za().layoutId }); a.PQ = !0; f.Kd(f.Za(), d); f = Object.assign({}, wG(a), { layoutId: c.layoutId, layoutExitReason: d }); var h = f.layoutId, l = f.layoutExitReason; if (f.Eo) { var m = {}; CE(f.Kf, "wrsx", (m.xc = h, m.ler = l, m.ctp = BE(h), m)) } a.YO(b, c, d); a.PQ = !1; a.pZ ? (a.pZ(), a.Ve() || zG(a.zc.get())) : e() } else Ny("No active adapter when exitSubLayout in PlayerBytesVodCompositeLayoutRenderingAdapter. This should never happen.", + b, c) + } + }; + yG = function (a, b) { if (a.Al() === a.Qh.length - 1) a.eE++, AG(a.Oi, a.layout, "normal"), a.Ve() || zG(a.zc.get()); else a: { if (a.Al() === -1 && (a.callback.vc(a.slot, a.layout), b > 0)) { Ny("Invalid index for playLayoutAtIndexOrExit when no ad has played yet.", a.slot, a.layout, { indexToPlay: b, layoutId: a.layout.layoutId }); break a } a.eE = b; b = a.Af(); if (a.Al() > 0 && !a.Ve()) { var c = a.zc.get(); c.B = !1; var d = {}; c.j && c.videoId && (d.cttAuthInfo = { token: c.j, videoId: c.videoId }); rA("ad_to_ad", d) } a.ZT(b) } }; + BG = function (a) { vG.call(this, a.Ev, a.Sa, a.Gc, a.md, a.Ia, a.zc, a.Pq, a.slot, a.layout, a.Yd, a.Oi, a.qc, a.Aa) }; + CG = function (a) { vG.call(this, a.Ev, a.Sa, a.Gc, a.md, a.Ia, a.zc, a.Pq, a.slot, a.layout, a.Yd, a.Oi, a.qc, a.Aa) }; + DG = function () { CG.apply(this, arguments); this.Ch = void 0 }; + txa = function (a, b, c) { b.jA().currentState < 2 && (c = fG(c), b.Kd(b.Za(), c)); c = b.jA().j; a.YO(a.slot, b.Za(), c) }; + uxa = function (a, b) { a.Qw.j === 2 && b !== a.Hm() && Ny("onClipEntered: unknown cpn", a.slot, a.layout, { cpn: b }) }; + vxa = function (a, b) { var c = a.Af(); c ? (c.Kd(c.Za(), b), b = a.Al() + 1, b >= 0 && b < a.Qh.length ? (b = a.Qh[b].Za().layoutId, a.Gc.get().finishSegmentByCpn(c.Za().layoutId, b)) : b === a.Qh.length ? AG(a.Oi, a.layout, "normal") : Ny("unexpected index", a.slot, a.layout, { index: b })) : Ny("exitActiveLayoutAndPlayNext: no active adapter", a.slot, a.layout) }; + wxa = function (a, b) { Ny(b + ": undefined adapter", a.slot, a.layout) }; + xxa = function (a) { return eG(a.slot, a.Aa.get()) ? new DG(a) : new BG(a) }; + EG = function (a, b, c, d, e, f, h) { g.O.call(this); this.callback = a; this.md = b; this.Ia = c; this.zc = d; this.Ld = e; this.qc = f; this.Aa = h; this.jh = !0; this.yx = !1 }; + yxa = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M, N) { + function Q() { + var Y = sG(Object.assign({}, pa, { + callback: { + vc: a.vc.bind(a), Nc: a.Nc.bind(a), eC: function () { }, + Hf: a.Hf.bind(a) + }, slot: c, Nf: d, uo: function () { AG(h, d, "normal") }, + Qq: 0, Xy: 1, gs: !0 + })); return Y ? new EG(a, p, r, u, Y, e, F) : Y + } + function Z() { + var Y = Object.assign({}, pa, { + callback: { + vc: function () { }, + Nc: function () { }, + eC: function () { return void AG(h, d, "normal") }, + Hf: function () { } + }, + slot: c, Nf: d, uo: function () { }, + Qq: 0, Xy: 1, gs: !0 + }); return jxa({ Ev: a, slot: c, layout: d, Yd: f, gf: h, Sa: q, Gc: H, md: p, qc: e, Ia: r, Aea: Y, context: M }) + } + function fa() { + var Y, S = (Y = d.Ty) != null ? Y : tC(d.Ca, "metadata_type_sub_layouts"); Y = xxa({ Ev: a, Sa: q, Gc: H, md: p, Ia: r, zc: u, Pq: b, slot: c, layout: d, Yd: f, Oi: h, qc: e, Aa: F }); for (var W = [], v = { vx: 0 }; v.vx < S.length; v = { vx: v.vx }, v.vx++) { + var V = sG(Object.assign({}, pa, { + callback: { vc: Y.E0.bind(Y), Nc: Y.G0.bind(Y), eC: Y.eC.bind(Y), Hf: Y.F0.bind(Y) }, slot: c, Nf: S[v.vx], uo: function (cb) { return function (zb) { zb.Kd(S[cb.vx], "normal") } }(v), + Qq: v.vx, Xy: S.length, gs: !1 + })); if (!V) return; W.push(V) + } Y.Qh = W; return Y + } + var pa = { Oa: l, zb: m, hf: n, md: p, Sa: q, Ia: r, Pc: t, zc: u, od: y, Mb: A, Yf: D, Aa: F, context: M, Pg: N }; l = fE(d, { Nd: ["metadata_type_sub_layouts"], Fe: ["LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES"] }) || d.Ty !== void 0 && d.layoutType === "LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES"; m = eG(c, F.get()) && fE(d, { Nd: [], Fe: ["LAYOUT_TYPE_MEDIA", "LAYOUT_TYPE_MEDIA_BREAK"] }); n = fE(d, { Nd: [], Fe: ["LAYOUT_TYPE_MEDIA", "LAYOUT_TYPE_MEDIA_BREAK"] }); if (l) return fa(); if (m) return Z(); if (n) return Q() + }; + FG = function (a, b, c, d, e, f, h, l, m, n) { this.callback = a; this.slot = b; this.layout = c; this.Sa = d; this.Gc = e; this.xf = f; this.Ia = h; this.eb = l; this.Oa = m; this.D = n; this.driftRecoveryMs = tC(this.layout.Ca, "metadata_type_drift_recovery_ms") || null }; + Axa = function (a) { var b = tC(a.layout.Ca, "metadata_type_layout_enter_ms"), c = tC(a.layout.Ca, "metadata_type_layout_exit_ms"); a = a.xf.get(); b = zxa(a.C, b, c); return Math.min(c, b !== null ? b : Infinity) }; + HG = function (a, b) { var c; GG(a.Oa.get(), { driftRecoveryInfo: Object.assign({}, { contentCpn: (c = a.Sa.get().Tw) == null ? void 0 : c.clientPlaybackNonce, adClientData: a.layout.ac.adClientDataEntry }, b) }) }; + IG = function (a, b, c, d, e, f, h, l, m, n, p) { FG.call(this, a, b, c, d, e, f, h, l, m, n); this.C = p; this.B = this.j = null; a = g.w(this.C); for (b = a.next(); !b.done; b = a.next())b = b.value, nC(b.Za().Ca, "metadata_type_survey_overlay") && (this.B = b.Za().layoutId) }; + Cxa = function (a, b) { var c = Bxa(a, b); c || Ny("Expected subLRA found by layout ID", a.slot, a.layout, { layoutId: b }); a.j = { ym: c }; c ? c.startRendering(c.Za()) : b === a.B && Ny("Failed to find rendering adapter for survey media layout", a.slot, a.layout, { surveyMediaLayoutId: b }) }; + Bxa = function (a, b) { return b == null ? null : a.C.find(function (c) { return c.Za().layoutId === b }) || null }; + Dxa = function (a, b, c, d, e, f, h, l, m, n) { + var p = e - d, q = nC(b.Ca, "metadata_type_survey_overlay"), r, t = ((r = tC(a.Ca, "metadata_type_fulfilled_layout")) == null ? void 0 : tC(r.Ca, "metadata_type_ssdai_ads_config")) || ""; if (!p) return h.EF(c, t, 2, f, d, e, a.slotId), JG(n, "ads_iraot", "sid." + a.slotId + ";enterMs." + d + ";exitMs." + e + ";hso." + q + ";vid." + c.video_id), null; p = h.gE(c, t, 2, f, d, e, a.slotId); JG(n, "ads_atct", "sid." + a.slotId + ";enterMs." + d + ";exitMs." + e + ";hso." + q + ";vid." + c.video_id); if (!p) return Ny("Unexpected failure to add to playback timeline", + a, b, m()), null; a = a.slotId; b = b.layoutId; p ? (l.j.has(p) && Ny("Unexpected remap of timeline playback"), l.j.set(p, { slotId: a, layoutId: b })) : Ny("Invalid timeline playback ID"); d + f > e && h.hI(p, e - d); return p + }; + Exa = function (a, b) { var c = tC(b.Ca, "metadata_type_sodar_extension_data"); if (c) try { hva(0, c) } catch (d) { Ny("Unexpected error when loading Sodar", a, b, { error: d }) } }; + Fxa = function (a, b, c, d, e, f) { KG(a, b, new g.Oy(c, new g.LF), d, e, !1, f) }; + KG = function (a, b, c, d, e, f, h) { f = f === void 0 ? !0 : f; uE(c) && vE(e, 0, null) && (!SD(a, "impression") && h && h(), a.Xb("impression")); SD(a, "impression") && (g.Qy(c, 4) && !g.Qy(c, 2) && a.Rh("pause"), Py(c, 4) < 0 && !(Py(c, 2) < 0) && a.Rh("resume"), g.Qy(c, 16) && e >= .5 && a.Rh("seek"), f && g.Qy(c, 2) && LG(a, c.state, b, d, e)) }; + LG = function (a, b, c, d, e, f, h) { if (SD(a, "impression")) { var l = Math.abs(d - e) <= 1; MG(a, b, l ? d : e, c, d, f, h && l); l && a.Xb("complete") } }; + MG = function (a, b, c, d, e, f, h) { RD(a, c * 1E3, h); e <= 0 || c <= 0 || (b == null ? 0 : g.U(b, 16)) || (b == null ? 0 : g.U(b, 32)) || (vE(c, e * .25, d) && (f && !SD(a, "first_quartile") && f("first"), a.Xb("first_quartile")), vE(c, e * .5, d) && (f && !SD(a, "midpoint") && f("second"), a.Xb("midpoint")), vE(c, e * .75, d) && (f && !SD(a, "third_quartile") && f("third"), a.Xb("third_quartile"))) }; + Gxa = function (a, b) { SD(a, "impression") && a.Rh(b ? "fullscreen" : "end_fullscreen") }; + Hxa = function (a) { SD(a, "impression") && a.Rh("clickthrough") }; + Ixa = function (a) { a.Rh("active_view_measurable") }; + Jxa = function (a) { SD(a, "impression") && !SD(a, "seek") && a.Rh("active_view_fully_viewable_audible_half_duration") }; + Kxa = function (a) { SD(a, "impression") && !SD(a, "seek") && a.Rh("active_view_viewable") }; + Lxa = function (a) { SD(a, "impression") && !SD(a, "seek") && a.Rh("audio_audible") }; + Mxa = function (a) { SD(a, "impression") && !SD(a, "seek") && a.Rh("audio_measurable") }; + Nxa = function (a, b, c, d, e, f, h, l, m, n, p, q) { this.callback = a; this.slot = b; this.layout = c; this.Gc = d; this.eb = e; this.Ia = f; this.Ss = h; this.zb = l; this.hf = m; this.Aa = n; this.Oa = p; this.Sa = q; this.KK = !0; this.rd = this.lc = null; this.adCpn = void 0; this.j = !1 }; + Oxa = function (a, b, c) { var d; JG(a.Oa.get(), "ads_qua", "cpn." + tC(a.layout.Ca, "metadata_type_content_cpn") + ";acpn." + ((d = ZF(a.Sa.get(), 2)) == null ? void 0 : d.clientPlaybackNonce) + ";qt." + b + ";clr." + c) }; + Pxa = function (a, b) { var c, d; JG(a.Oa.get(), "ads_imp", "cpn." + tC(a.layout.Ca, "metadata_type_content_cpn") + ";acpn." + ((c = ZF(a.Sa.get(), 2)) == null ? void 0 : c.clientPlaybackNonce) + ";clr." + b + ";skp." + !!g.R((d = tC(a.layout.Ca, "metadata_type_instream_ad_player_overlay_renderer")) == null ? void 0 : d.skipOrPreviewRenderer, NG)) }; + bH = function (a) { return { enterMs: tC(a.Ca, "metadata_type_layout_enter_ms"), exitMs: tC(a.Ca, "metadata_type_layout_exit_ms") } }; + eH = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t) { FG.call(this, a, b, c, d, e, h, l, m, n, q); this.Ss = f; this.hf = p; this.zb = r; this.Aa = t; this.rd = this.lc = null }; + Qxa = function (a, b) { var c; JG(a.Oa.get(), "ads_imp", "acpn." + ((c = ZF(a.Sa.get(), 2)) == null ? void 0 : c.clientPlaybackNonce) + ";clr." + b) }; + Rxa = function (a, b, c) { var d; JG(a.Oa.get(), "ads_qua", "cpn." + tC(a.layout.Ca, "metadata_type_content_cpn") + ";acpn." + ((d = ZF(a.Sa.get(), 2)) == null ? void 0 : d.clientPlaybackNonce) + ";qt." + b + ";clr." + c) }; + fH = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M) { this.qc = a; this.Yd = b; this.Oi = c; this.Sa = d; this.Gc = e; this.Ia = f; this.Oa = h; this.Ss = l; this.xf = m; this.zb = n; this.hf = p; this.md = q; this.Pc = r; this.zc = t; this.od = u; this.Mb = y; this.Yf = A; this.Aa = D; this.j = F; this.context = H; this.Pg = M }; + gH = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D) { this.qc = a; this.Yd = b; this.Oi = c; this.Oa = d; this.zb = e; this.hf = f; this.md = h; this.Sa = l; this.Ia = m; this.Pc = n; this.zc = p; this.od = q; this.Mb = r; this.Yf = t; this.Aa = u; this.Gc = y; this.context = A; this.Pg = D }; + Sxa = function (a, b, c, d) { Ex.call(this, "survey-interstitial", a, b, c, d) }; + hH = function (a, b, c, d, e) { FD.call(this, c, a, b, d); this.Oa = e; a = tC(b.Ca, "metadata_type_ad_placement_config"); this.eb = new MD(b.Eb, e, a, b.layoutId) }; + iH = function (a) { return Math.round(a.width) + "x" + Math.round(a.height) }; + kH = function (a, b, c) { c = c === void 0 ? jH : c; c.width < jH.width && (c = jH); if (a.width < c.width || a.height < c.height) return { jN: 3, kI: 501, errorMessage: "ad(" + iH(c) + ") larger than container(" + iH(a) + ")." }; if (c.width * c.height > a.width * a.height * .2) return { jN: 3, kI: 501, errorMessage: "ad(" + iH(c) + ") to container(" + iH(a) + ") ratio exceeds limit." }; if (c.height > a.height / 3 - b) return { jN: 3, kI: 501, errorMessage: "ad(" + iH(c) + ") covers container(" + iH(a) + ") center." } }; + Txa = function (a, b) { var c = tC(a.Ca, "metadata_type_ad_placement_config"); return new MD(a.Eb, b, c, a.layoutId) }; + lH = function (a) { return tC(a.Ca, "metadata_type_invideo_overlay_ad_renderer") }; + mH = function (a, b, c, d) { Ex.call(this, "invideo-overlay", a, b, c, d); this.interactionLoggingClientData = d }; + nH = function (a, b, c, d, e, f, h, l, m, n, p, q) { FD.call(this, f, a, b, e); this.Oa = c; this.D = h; this.Ia = l; this.Mb = m; this.Aa = n; this.K = p; this.G = q; this.eb = Txa(b, c) }; + Uxa = function () { + var a = ["metadata_type_invideo_overlay_ad_renderer"]; ND().forEach(function (b) { a.push(b) }); + return { Nd: a, Fe: ["LAYOUT_TYPE_IN_VIDEO_TEXT_OVERLAY", "LAYOUT_TYPE_IN_VIDEO_ENHANCED_TEXT_OVERLAY"] } + }; + oH = function (a, b, c, d, e, f, h, l, m, n, p, q, r) { FD.call(this, f, a, b, e); this.Oa = c; this.D = h; this.Z = l; this.Ia = m; this.Mb = n; this.Aa = p; this.K = q; this.G = r; this.eb = Txa(b, c) }; + Vxa = function () { for (var a = ["metadata_type_invideo_overlay_ad_renderer"], b = g.w(ND()), c = b.next(); !c.done; c = b.next())a.push(c.value); return { Nd: a, Fe: ["LAYOUT_TYPE_IN_VIDEO_IMAGE_OVERLAY"] } }; + pH = function (a) { this.Ia = a; this.j = !1 }; + Wxa = function (a, b, c) { Ex.call(this, "survey", a, {}, b, c) }; + qH = function (a, b, c, d, e, f, h) { FD.call(this, c, a, b, d); this.D = e; this.Ia = f; this.Aa = h }; + Xxa = function (a, b, c, d, e, f, h, l, m, n) { this.Bc = a; this.Ia = b; this.Oa = c; this.D = d; this.zb = e; this.B = f; this.C = h; this.Mb = l; this.Aa = m; this.j = n }; + Yxa = function (a, b, c, d, e, f, h, l, m, n) { this.Bc = a; this.Ia = b; this.Oa = c; this.D = d; this.zb = e; this.B = f; this.C = h; this.Mb = l; this.Aa = m; this.j = n }; + rH = function (a, b, c, d, e, f, h, l, m, n) { nE.call(this, a, b, c, d, e, f, h, m); this.Fn = l; this.Sa = n }; + Zxa = function () { var a = kwa(); a.Nd.push("metadata_type_ad_info_ad_metadata"); return a }; + $xa = function (a, b, c, d, e, f, h) { this.Bc = a; this.Ia = b; this.Oa = c; this.B = d; this.Fn = e; this.j = f; this.Sa = h }; + aya = function (a, b, c, d, e, f, h, l) { this.Bc = a; this.Ia = b; this.Oa = c; this.B = d; this.Fn = e; this.j = f; this.Aa = h; this.Sa = l }; + sH = function (a, b) { this.slotId = b; this.triggerType = "TRIGGER_TYPE_AD_BREAK_STARTED"; this.triggerId = a(this.triggerType) }; + tH = function (a, b) { + this.adPodIndex = a; this.j = b.length; this.adBreakLengthSeconds = b.reduce(function (d, e) { return d + e }, 0); + var c = 0; for (a += 1; a < b.length; a++)c += b[a]; this.adBreakRemainingLengthSeconds = c + }; + uH = function (a, b, c) { this.Hv = b; this.triggerType = "TRIGGER_TYPE_BEFORE_CONTENT_VIDEO_ID_STARTED"; this.triggerId = c || a(this.triggerType) }; + vH = function (a, b, c) { this.j = b; this.triggerType = "TRIGGER_TYPE_CLOSE_REQUESTED"; this.triggerId = c || a(this.triggerType) }; + wH = function (a, b, c, d) { this.Hv = b; this.visible = c; this.triggerType = "TRIGGER_TYPE_CONTENT_VIDEO_ID_ENDED"; this.triggerId = d || a(this.triggerType) }; + bya = function (a) { this.triggerType = "TRIGGER_TYPE_DURATION_AFTER_MEDIA_PAUSED"; this.triggerId = a(this.triggerType) }; + xH = function (a, b, c) { this.triggeringLayoutId = b; this.slotId = c; this.triggerType = "TRIGGER_TYPE_LAYOUT_ID_ACTIVE_AND_SLOT_ID_HAS_EXITED"; this.triggerId = a(this.triggerType) }; + yH = function (a, b, c) { this.triggeringLayoutId = b; this.triggerType = "TRIGGER_TYPE_LAYOUT_ID_ENTERED"; this.triggerId = c || a(this.triggerType) }; + zH = function (a, b, c, d) { this.triggeringLayoutId = b; this.j = c; this.triggerType = "TRIGGER_TYPE_LAYOUT_EXITED_FOR_REASON"; this.triggerId = d || a(this.triggerType) }; + cya = function (a) { + switch (a) { + case "LAYOUT_EXIT_REASON_UNSPECIFIED": return "unknown"; case "LAYOUT_EXIT_REASON_NORMAL": return "normal"; case "LAYOUT_EXIT_REASON_ERROR": return "error"; case "LAYOUT_EXIT_REASON_USER_SKIPPED": return "skipped"; case "LAYOUT_EXIT_REASON_USER_MUTED": return "muted"; case "LAYOUT_EXIT_REASON_ABANDONED": return "abandoned"; case "LAYOUT_EXIT_REASON_USER_INPUT_SUBMITTED": return "user_input_submitted"; case "LAYOUT_EXIT_REASON_USER_CANCELLED": return "user_cancelled"; default: return new rC("Invalid layout exit reason: " + + a) + } + }; + AH = function (a, b, c) { this.triggeringLayoutId = b; this.triggerType = "TRIGGER_TYPE_LAYOUT_ID_EXITED"; this.triggerId = c || a(this.triggerType) }; + BH = function (a) { this.triggerType = "TRIGGER_TYPE_LIVE_STREAM_BREAK_ENDED"; this.triggerId = a(this.triggerType) }; + dya = function (a) { this.triggerType = "TRIGGER_TYPE_LIVE_STREAM_BREAK_STARTED"; this.triggerId = a(this.triggerType) }; + eya = function (a) { this.triggerId = a; this.triggerType = "TRIGGER_TYPE_MEDIA_RESUMED" }; + fya = function (a, b, c, d, e) { this.Hv = b; this.j = c; this.visible = d; this.layoutId = e; this.triggerType = "TRIGGER_TYPE_MEDIA_TIME_RANGE_ALLOW_REACTIVATION_ON_USER_CANCELLED"; this.triggerId = a(this.triggerType) }; + CH = function (a, b, c, d, e) { this.Hv = b; this.j = c; this.visible = d; this.triggerType = "TRIGGER_TYPE_MEDIA_TIME_RANGE"; this.triggerId = e || a(this.triggerType) }; + gya = function (a, b, c) { this.Hv = b; this.j = c; this.triggerType = "TRIGGER_TYPE_NOT_IN_MEDIA_TIME_RANGE"; this.triggerId = a(this.triggerType) }; + DH = function (a, b, c, d, e) { this.j = b; this.slotType = c; this.layoutType = d; this.triggerType = "TRIGGER_TYPE_ON_DIFFERENT_LAYOUT_ID_ENTERED"; this.triggerId = e || a(this.triggerType) }; + EH = function (a, b) { this.j = b; this.slotType = "SLOT_TYPE_IN_PLAYER"; this.triggerType = "TRIGGER_TYPE_ON_DIFFERENT_SLOT_ID_ENTER_REQUESTED"; this.triggerId = a(this.triggerType) }; + FH = function (a, b, c) { this.layoutId = b; this.triggerType = "TRIGGER_TYPE_ON_LAYOUT_SELF_EXIT_REQUESTED"; this.triggerId = c || a(this.triggerType) }; + GH = function (a, b, c) { this.j = b; this.triggerType = "TRIGGER_TYPE_ON_NEW_PLAYBACK_AFTER_CONTENT_VIDEO_ID"; this.triggerId = c || a(this.triggerType) }; + jva = function (a, b) { this.opportunityType = "OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED"; this.associatedSlotId = b; this.triggerType = "TRIGGER_TYPE_ON_OPPORTUNITY_TYPE_RECEIVED"; this.triggerId = a(this.triggerType) }; + hya = function (a, b) { this.ping = a; this.index = b }; + iya = function (a) { this.triggerType = "TRIGGER_TYPE_PLAYBACK_MINIMIZED"; this.triggerId = a(this.triggerType) }; + jya = function (a, b, c) { this.layoutId = b; this.offsetMs = c; this.triggerType = "TRIGGER_TYPE_PROGRESS_PAST_MEDIA_TIME_WITH_OFFSET_RELATIVE_TO_LAYOUT_ENTER"; this.triggerId = a(this.triggerType) }; + kya = function (a, b) { this.layoutId = b; this.triggerType = "TRIGGER_TYPE_SEEK_BACKWARD_BEFORE_LAYOUT_ENTER_TIME"; this.triggerId = a(this.triggerType) }; + lya = function (a, b, c) { this.layoutId = b; this.offsetMs = c; this.triggerType = "TRIGGER_TYPE_SEEK_FORWARD_PAST_MEDIA_TIME_WITH_OFFSET_RELATIVE_TO_LAYOUT_ENTER"; this.triggerId = a(this.triggerType) }; + HH = function (a, b, c) { this.triggeringLayoutId = b; this.triggerType = "TRIGGER_TYPE_SKIP_REQUESTED"; this.triggerId = c || a(this.triggerType) }; + IH = function (a, b, c) { this.triggeringSlotId = b; this.triggerType = "TRIGGER_TYPE_SLOT_ID_ENTERED"; this.triggerId = c || a(this.triggerType) }; + JH = function (a, b, c) { this.triggeringSlotId = b; this.triggerType = "TRIGGER_TYPE_SLOT_ID_EXITED"; this.triggerId = c || a(this.triggerType) }; + KH = function (a, b) { this.triggeringSlotId = b; this.triggerType = "TRIGGER_TYPE_SLOT_ID_FULFILLED_EMPTY"; this.triggerId = a(this.triggerType) }; + LH = function (a, b) { this.triggeringSlotId = b; this.triggerType = "TRIGGER_TYPE_SLOT_ID_FULFILLED_NON_EMPTY"; this.triggerId = a(this.triggerType) }; + MH = function (a, b, c) { this.triggeringSlotId = b; this.triggerType = "TRIGGER_TYPE_SLOT_ID_SCHEDULED"; this.triggerId = c || a(this.triggerType) }; + NH = function (a, b) { this.triggeringSlotId = b; this.triggerType = "TRIGGER_TYPE_SLOT_ID_UNSCHEDULED"; this.triggerId = a(this.triggerType) }; + OH = function (a, b, c) { this.triggeringLayoutId = b; this.triggerType = "TRIGGER_TYPE_SURVEY_SUBMITTED"; this.triggerId = c || a(this.triggerType) }; + PH = function (a, b, c, d) { this.durationMs = b; this.triggeringLayoutId = c; this.triggerType = "TRIGGER_TYPE_TIME_RELATIVE_TO_LAYOUT_ENTER"; this.triggerId = d || a(this.triggerType) }; + QH = function (a, b, c, d) { this.category = a; this.trigger = b; this.slot = c; this.layout = d }; + RH = function (a) { return (a == null ? void 0 : a.layoutId) != null && (a == null ? void 0 : a.layoutType) != null }; + mya = function (a) { if (!RH(a.adLayoutMetadata)) return !1; a = a.renderingContent; return g.R(a, SH) || g.R(a, TH) || g.R(a, UH) || g.R(a, VH) || g.R(a, WH) || g.R(a, XH) ? !0 : !1 }; + nya = function (a) { return (a == null ? void 0 : a.durationMs) != null && (a == null ? void 0 : a.durationMs) > 0 }; + YH = function (a) { return !!(a.d$ && a.slot && a.layout) }; + ZH = function (a) { var b, c = (b = a.config) == null ? void 0 : b.adPlacementConfig; a = a.renderer; return !(!c || c.kind == null || !a) }; + oya = function (a) { if (!RH(a.adLayoutMetadata)) return !1; a = a.renderingContent; return g.R(a, sE) || g.R(a, qE) || g.R(a, rE) ? !0 : !1 }; + $H = function (a) { return a.playerVars !== void 0 && a.pings !== void 0 && a.externalVideoId !== void 0 }; + eI = function (a) { if (!RH(a.adLayoutMetadata)) return !1; a = a.renderingContent; var b = g.R(a, pya); return b ? qya(b) : (b = g.R(a, aI)) ? $H(b) : (b = g.R(a, bI)) ? b.playerVars !== void 0 : (b = g.R(a, sE)) ? b.durationMilliseconds !== void 0 : g.R(a, cI) || g.R(a, dI) ? !0 : !1 }; + qya = function (a) { + a = (a.sequentialLayouts || []).map(function (b) { return g.R(b, fI) }); + return a.length > 0 && a.every(eI) + }; + uya = function (a) { if (!RH(a.adLayoutMetadata)) return !1; if (g.R(a.renderingContent, rya)) return !0; a = g.R(a.renderingContent, gI); return g.R(a == null ? void 0 : a.sidePanel, sya) || g.R(a == null ? void 0 : a.sidePanel, tya) ? !0 : !1 }; + zya = function (a) { var b = a.adSlotMetadata; if ((b == null ? void 0 : b.slotId) === void 0 || (b == null ? void 0 : b.slotType) === void 0 || !(vya(a) || a.slotEntryTrigger && a.slotFulfillmentTriggers && a.slotExpirationTriggers)) return !1; var c; a = (c = a.fulfillmentContent) == null ? void 0 : c.fulfilledLayout; return (c = g.R(a, fI)) ? eI(c) : (c = g.R(a, hI)) ? uya(c) : (c = g.R(a, wya)) ? oya(c) : (c = g.R(a, xya)) ? mya(c) : (a = g.R(a, yya)) ? RH(a.adLayoutMetadata) ? g.R(a.renderingContent, SH) ? !0 : !1 : !1 : !1 }; + vya = function (a) { var b; a = g.R((b = a.fulfillmentContent) == null ? void 0 : b.fulfilledLayout, hI); var c; return a && ((c = a.adLayoutMetadata) == null ? void 0 : c.layoutType) === "LAYOUT_TYPE_PANEL_QR_CODE" && a.layoutExitNormalTriggers === void 0 }; + Bya = function (a, b) { var c; if ((c = a.questions) == null || !c.length || !a.playbackCommands || (b === void 0 || !b) && a.questions.length !== 1) return !1; a = g.w(a.questions); for (b = a.next(); !b.done; b = a.next()) { b = b.value; var d = c = void 0, e = ((c = g.R(b, iI)) == null ? void 0 : c.surveyAdQuestionCommon) || ((d = g.R(b, jI)) == null ? void 0 : d.surveyAdQuestionCommon); if (!Aya(e)) return !1 } return !0 }; + Cya = function (a) { a = ((a == null ? void 0 : a.playerOverlay) || {}).instreamSurveyAdRenderer; var b; if (a) if (a.playbackCommands && a.questions && a.questions.length === 1) { var c, d = ((b = g.R(a.questions[0], iI)) == null ? void 0 : b.surveyAdQuestionCommon) || ((c = g.R(a.questions[0], jI)) == null ? void 0 : c.surveyAdQuestionCommon); b = Aya(d) } else b = !1; else b = !1; return b }; + Aya = function (a) { if (!a) return !1; a = g.R(a.instreamAdPlayerOverlay, kI); var b = g.R(a == null ? void 0 : a.skipOrPreviewRenderer, NG), c = g.R(a == null ? void 0 : a.adInfoRenderer, lI); return (g.R(a == null ? void 0 : a.skipOrPreviewRenderer, mI) || b) && c ? !0 : !1 }; + Dya = function (a) { return a.linearAds != null && RH(a.adLayoutMetadata) }; + Eya = function (a) { return a.linearAd != null && a.adVideoStart != null }; + Fya = function (a) { if (isNaN(Number(a.timeoutSeconds)) || !a.text || !a.ctaButton || !g.R(a.ctaButton, g.nI) || !a.brandImage) return !1; var b; return a.backgroundImage && g.R(a.backgroundImage, oI) && ((b = g.R(a.backgroundImage, oI)) == null ? 0 : b.landscape) ? !0 : !1 }; + pI = function (a, b, c, d, e, f, h) { g.O.call(this); this.Aa = a; this.j = b; this.C = d; this.Sa = e; this.D = f; this.B = h }; + Iya = function (a, b, c) { + var d, e = ((d = c.adSlots) != null ? d : []).map(function (f) { return g.R(f, qI) }); + c.DC ? tC(b.Ca, "metadata_type_allow_pause_ad_break_request_slot_reschedule") ? BD(a.j.get(), "OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", function () { return [] }, b.slotId) : (a.Aa.get().J.U().L("h5_check_forecasting_renderer_for_throttled_midroll") ? (d = c.Cw.filter(function (f) { + var h; + return ((h = f.renderer) == null ? void 0 : h.clientForecastingAdRenderer) != null + }), d.length !== 0 ? Gya(a.B, d, e, b.slotId, c.ssdaiAdsConfig) : BD(a.j.get(), "OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", function () { return [] }, b.slotId)) : BD(a.j.get(), "OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", function () { return [] }, b.slotId), Hya(a.D, b)) : Gya(a.B, c.Cw, e, b.slotId, c.ssdaiAdsConfig) + }; + Kya = function (a, b, c, d, e, f) { var h = ZF(a.Sa.get(), 1); BD(a.j.get(), "OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", function () { return Jya(a.C.get(), c, d, e, h.clientPlaybackNonce, h.Mp, h.daiEnabled, h, f) }, b) }; + Mya = function (a, b, c, d, e, f, h) { b = Lya(b, f, Number(d.prefetchMilliseconds) || 0, h); a = b instanceof rC ? b : rI(a, d, e, b, c); return a instanceof rC ? a : [a] }; + Nya = function (a, b, c, d, e) { + var f = CD(a.B.get(), "SLOT_TYPE_AD_BREAK_REQUEST"); d = [new XB({ getAdBreakUrl: d.getAdBreakUrl, WS: 0, VS: 0 }), new kC(!0)]; a = b.pauseDurationMs ? b.lactThresholdMs ? { slotId: f, slotType: "SLOT_TYPE_AD_BREAK_REQUEST", slotPhysicalPosition: 2, slotEntryTrigger: new MH(a.j, f), slotFulfillmentTriggers: [new bya(a.j)], slotExpirationTriggers: [new GH(a.j, e), new JH(a.j, f)], bb: "core", Ca: new sC(d), adSlotLoggingData: c } : new rC("AdPlacementConfig for Pause Ads is missing lact_threshold_ms") : new rC("AdPlacementConfig for Pause Ads is missing pause_duration_ms"); + return a instanceof rC ? a : [a] + }; + Oya = function (a) { var b, c; return ((b = a.renderer) == null ? void 0 : (c = b.adBreakServiceRenderer) == null ? void 0 : c.getAdBreakUrl) !== void 0 }; + sI = function (a, b, c) { + if (a.beforeContentVideoIdStartedTrigger) a = a.beforeContentVideoIdStartedTrigger ? new uH(pC, b, a.id) : new rC("Not able to create BeforeContentVideoIdStartedTrigger"); else { + if (a.layoutIdExitedTrigger) { var d; b = (d = a.layoutIdExitedTrigger) != null && d.triggeringLayoutId ? new AH(pC, a.layoutIdExitedTrigger.triggeringLayoutId, a.id) : new rC("Not able to create LayoutIdExitedTrigger") } else { + if (a.layoutExitedForReasonTrigger) { + var e, f; ((e = a.layoutExitedForReasonTrigger) == null ? 0 : e.triggeringLayoutId) && + ((f = a.layoutExitedForReasonTrigger) == null ? 0 : f.layoutExitReason) ? (b = cya(a.layoutExitedForReasonTrigger.layoutExitReason), a = b instanceof rC ? b : new zH(pC, a.layoutExitedForReasonTrigger.triggeringLayoutId, [b], a.id)) : a = new rC("Not able to create LayoutIdExitedForReasonTrigger") + } else { + if (a.onLayoutSelfExitRequestedTrigger) { var h; b = (h = a.onLayoutSelfExitRequestedTrigger) != null && h.triggeringLayoutId ? new FH(pC, a.onLayoutSelfExitRequestedTrigger.triggeringLayoutId, a.id) : new rC("Not able to create OnLayoutSelfExitRequestedTrigger") } else { + if (a.onNewPlaybackAfterContentVideoIdTrigger) a = + a.onNewPlaybackAfterContentVideoIdTrigger ? new GH(pC, b, a.id) : new rC("Not able to create OnNewPlaybackAfterContentVideoIdTrigger"); else { + if (a.skipRequestedTrigger) { var l; b = (l = a.skipRequestedTrigger) != null && l.triggeringLayoutId ? new HH(pC, a.skipRequestedTrigger.triggeringLayoutId, a.id) : new rC("Not able to create SkipRequestedTrigger") } else if (a.slotIdEnteredTrigger) { var m; b = (m = a.slotIdEnteredTrigger) != null && m.triggeringSlotId ? new IH(pC, a.slotIdEnteredTrigger.triggeringSlotId, a.id) : new rC("Not able to create SlotIdEnteredTrigger") } else if (a.slotIdExitedTrigger) { + var n; + b = (n = a.slotIdExitedTrigger) != null && n.triggeringSlotId ? new JH(pC, a.slotIdExitedTrigger.triggeringSlotId, a.id) : new rC("Not able to create SkipRequestedTrigger") + } else if (a.surveySubmittedTrigger) { var p; b = (p = a.surveySubmittedTrigger) != null && p.triggeringLayoutId ? new OH(pC, a.surveySubmittedTrigger.triggeringLayoutId, a.id) : new rC("Not able to create SurveySubmittedTrigger") } else { + if (a.mediaResumedTrigger) a = a.mediaResumedTrigger && a.id ? new eya(a.id) : new rC("Not able to create MediaResumedTrigger"); else { + if (a.closeRequestedTrigger) { + var q; + b = (q = a.closeRequestedTrigger) != null && q.triggeringLayoutId ? new vH(pC, a.closeRequestedTrigger.triggeringLayoutId, a.id) : new rC("Not able to create CloseRequestedTrigger") + } else if (a.slotIdScheduledTrigger) { var r; b = (r = a.slotIdScheduledTrigger) != null && r.triggeringSlotId ? new MH(pC, a.slotIdScheduledTrigger.triggeringSlotId, a.id) : new rC("Not able to create SlotIdScheduledTrigger") } else { + if (a.mediaTimeRangeTrigger) { + var t; d = Number((t = a.mediaTimeRangeTrigger) == null ? void 0 : t.offsetStartMilliseconds); var u; h = Number((u = + a.mediaTimeRangeTrigger) == null ? void 0 : u.offsetEndMilliseconds); isFinite(d) && isFinite(h) ? (u = h, u === -1 && (u = c), c = d > u ? new rC("AD_PLACEMENT_KIND_MILLISECONDS endMs needs to be >= startMs.", { offsetStartMs: d, offsetEndMs: u }, "ADS_CLIENT_ERROR_MESSAGE_AD_PLACEMENT_END_SHOULD_GREATER_THAN_START", u === c && d - 500 <= u) : new Dp(d, u), a = c instanceof rC ? c : new CH(pC, b, c, !1, a.id)) : a = new rC("Not able to create MediaTimeRangeTrigger") + } else if (a.contentVideoIdEndedTrigger) a = a.contentVideoIdEndedTrigger ? new wH(pC, b, !1, a.id) : new rC("Not able to create ContentVideoIdEndedTrigger"); + else { + if (a.layoutIdEnteredTrigger) { var y; b = (y = a.layoutIdEnteredTrigger) != null && y.triggeringLayoutId ? new yH(pC, a.layoutIdEnteredTrigger.triggeringLayoutId, a.id) : new rC("Not able to create LayoutIdEnteredTrigger") } else if (a.timeRelativeToLayoutEnterTrigger) { var A; b = (A = a.timeRelativeToLayoutEnterTrigger) != null && A.triggeringLayoutId ? new PH(pC, Number(a.timeRelativeToLayoutEnterTrigger.durationMs), a.timeRelativeToLayoutEnterTrigger.triggeringLayoutId, a.id) : new rC("Not able to create TimeRelativeToLayoutEnterTrigger") } else if (a.onDifferentLayoutIdEnteredTrigger) { + var D; + b = (D = a.onDifferentLayoutIdEnteredTrigger) != null && D.triggeringLayoutId && a.onDifferentLayoutIdEnteredTrigger.slotType && a.onDifferentLayoutIdEnteredTrigger.layoutType ? new DH(pC, a.onDifferentLayoutIdEnteredTrigger.triggeringLayoutId, a.onDifferentLayoutIdEnteredTrigger.slotType, a.onDifferentLayoutIdEnteredTrigger.layoutType, a.id) : new rC("Not able to create CloseRequestedTrigger") + } else b = new rC("Not able to convert an AdsControlflowTrigger."); a = b + } b = a + } a = b + } b = a + } a = b + } b = a + } a = b + } b = a + } a = b + } return a + }; + Qya = function (a, b, c, d, e, f, h, l) { + return b === null ? new rC("Invalid slot type when get discovery companion fromActionCompanionAdRenderer", { slotType: b, ActionCompanionAdRenderer: d }) : [Pya(a, b, h, f, function (m) { + var n = m.slotId; m = l(m); var p = d.adLayoutLoggingData, q = new sC([new ZA(d), new kB(e)]); n = iD(c.B.get(), "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", n); var r = { layoutId: n, layoutType: "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", bb: "core" }; return { + layoutId: n, layoutType: "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", Eb: new Map, + layoutExitNormalTriggers: [new GH(c.j, h)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: q, ac: m(r), adLayoutLoggingData: p + } + })] + }; + Rya = function (a, b, c, d, e, f, h, l) { + return b === null ? new rC("Invalid slot type when get discovery companion fromTopBannerImageTextIconButtonedLayoutViewModel", { slotType: b, TopBannerImageTextIconButtonedLayoutViewModel: d }) : [Pya(a, b, h, f, function (m) { + var n = m.slotId; m = l(m); var p = d.adLayoutLoggingData, q = new sC([new $A(d), new kB(e)]); n = iD(c.B.get(), "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", n); var r = { layoutId: n, layoutType: "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", bb: "core" }; return { + layoutId: n, layoutType: "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", + Eb: new Map, layoutExitNormalTriggers: [new GH(c.j, h)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: q, ac: m(r), adLayoutLoggingData: p + } + })] + }; + Vya = function (a, b, c, d, e, f) { + if (!f) for (b = g.w(b), f = b.next(); !f.done; f = b.next())f = f.value, tI(a, f.renderer, f.config.adPlacementConfig.kind); a = Array.from(a.values()).filter(function (p) { return Sya(p) }); + b = []; f = g.w(a); for (var h = f.next(), l = {}; !h.done; l = { Mw: void 0 }, h = f.next()) { + l.Mw = h.value; h = g.w(l.Mw.kO); for (var m = h.next(), n = {}; !m.done; n = { Gn: void 0 }, m = h.next())n.Gn = m.value, m = function (p, q) { return function (r) { return p.Gn.fP(r, q.Mw.instreamVideoAdRenderer.elementId, p.Gn.jO) } }(n, l), n.Gn.isContentVideoCompanion ? b.push(Tya(c, d, e, l.Mw.instreamVideoAdRenderer.elementId, n.Gn.associatedCompositePlayerBytesLayoutId, n.Gn.adSlotLoggingData, m)) : a.length > 1 ? b.push(Uya(c, d, e, l.Mw.instreamVideoAdRenderer.elementId, n.Gn.adSlotLoggingData, + function (p, q) { return function (r) { return p.Gn.fP(r, q.Mw.instreamVideoAdRenderer.elementId, p.Gn.jO, p.Gn.associatedCompositePlayerBytesLayoutId) } }(n, l))) : b.push(Uya(c, d, e, l.Mw.instreamVideoAdRenderer.elementId, n.Gn.adSlotLoggingData, m)) + } return b + }; + tI = function (a, b, c) { if (b = Wya(b)) { b = g.w(b); for (var d = b.next(); !d.done; d = b.next())if ((d = d.value) && d.externalVideoId) { var e = uI(a, d.externalVideoId); e.instreamVideoAdRenderer || (e.instreamVideoAdRenderer = d, e.GF = c) } else Ny("InstreamVideoAdRenderer without externalVideoId") } }; + Wya = function (a) { var b = [], c = a.sandwichedLinearAdRenderer && a.sandwichedLinearAdRenderer.linearAd && g.R(a.sandwichedLinearAdRenderer.linearAd, aI); if (c) return b.push(c), b; if (a.instreamVideoAdRenderer) return b.push(a.instreamVideoAdRenderer), b; if (a.linearAdSequenceRenderer && a.linearAdSequenceRenderer.linearAds) { a = g.w(a.linearAdSequenceRenderer.linearAds); for (c = a.next(); !c.done; c = a.next())c = c.value, g.R(c, aI) && b.push(g.R(c, aI)); return b } return null }; + Sya = function (a) { + if (a.instreamVideoAdRenderer === void 0) return Ny("AdPlacementSupportedRenderers without matching InstreamVideoAdRenderer"), !1; for (var b = g.w(a.kO), c = b.next(); !c.done; c = b.next()) { + c = c.value; if (c.fP === void 0) return !1; if (c.jO === void 0) return Ny("AdPlacementConfig for AdPlacementSupportedRenderers that matches an InstreamVideoAdRenderer is undefined"), !1; if (a.GF === void 0 || c.NI === void 0 || a.GF !== c.NI && c.NI !== "AD_PLACEMENT_KIND_SELF_START") return !1; if (a.instreamVideoAdRenderer.elementId === void 0) return Ny("InstreamVideoAdRenderer has no elementId", + void 0, void 0, { kind: a.GF, "matching APSR kind": c.NI }), !1 + } return !0 + }; + uI = function (a, b) { a.has(b) || a.set(b, { instreamVideoAdRenderer: void 0, GF: void 0, adVideoId: b, kO: [] }); return a.get(b) }; + vI = function (a, b, c, d, e, f, h, l, m) { e ? uI(a, e).kO.push({ zma: b, NI: c, isContentVideoCompanion: d, jO: h, associatedCompositePlayerBytesLayoutId: f, adSlotLoggingData: l, fP: m }) : Ny("Companion AdPlacementSupportedRenderer without adVideoId") }; + Xya = function (a) { + var b, c = (b = tC(a.Ca, "metadata_type_player_bytes_callback_ref")) == null ? void 0 : b.current; if (!c) return null; b = tC(a.Ca, "metadata_type_ad_pod_skip_target_callback_ref"); var d = a.layoutId, e = tC(a.Ca, "metadata_type_content_cpn"), f = tC(a.Ca, "metadata_type_instream_ad_player_overlay_renderer"), h = tC(a.Ca, "metadata_type_player_underlay_renderer"), l = tC(a.Ca, "metadata_type_ad_placement_config"), m = tC(a.Ca, "metadata_type_video_length_seconds"); var n = nC(a.Ca, "metadata_type_layout_enter_ms") && nC(a.Ca, + "metadata_type_layout_exit_ms") ? (tC(a.Ca, "metadata_type_layout_exit_ms") - tC(a.Ca, "metadata_type_layout_enter_ms")) / 1E3 : void 0; return { Sq: d, contentCpn: e, KS: c, lO: b, instreamAdPlayerOverlayRenderer: f, instreamAdPlayerUnderlayRenderer: h, adPlacementConfig: l, videoLengthSeconds: m, cL: n, inPlayerLayoutId: tC(a.Ca, "metadata_type_linked_in_player_layout_id"), inPlayerSlotId: tC(a.Ca, "metadata_type_linked_in_player_slot_id") } + }; + $ya = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u) { d = CD(d, "SLOT_TYPE_PLAYER_BYTES"); a = Yya(e, a, h, c, d, m, n); if (a instanceof rC) return a; var y; n = (y = tC(a.Ca, "metadata_type_fulfilled_layout")) == null ? void 0 : y.layoutId; if (!n) return new rC("Invalid adNotify layout"); b = Zya(n, e, f, c, l, b, m, p, q, r, t, u, h); return b instanceof rC ? b : [a].concat(g.x(b)) }; + Zya = function (a, b, c, d, e, f, h, l, m, n, p, q, r) { c = aza(b, c, d, f, h, l, m, n, p, q, r); if (c instanceof rC) return c; a = bza(b, a, h, e, c); return a instanceof rC ? a : [].concat(g.x(a.qg), [a.yy]) }; + dza = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t) { b = aza(a, b, c, e, f, l, m, n, p, q, r, t); if (b instanceof rC) return b; a = cza(a, c, f, h, d, l.Vb, b); return a instanceof rC ? a : a.qg.concat(a.yy) }; + aza = function (a, b, c, d, e, f, h, l, m, n, p, q) { + var r = wI(d, c, n); return r instanceof qC ? new rC(r) : n.J.U().experiments.kb("html5_refactor_in_player_slot_generation") ? function (t) { + var u = new tH(0, [r.Dp]); t = eza(b, r.layoutId, r.hp, c, xI(r.playerVars, r.YB, f, m, u), r.Dp, e, u, h(t), l.get(r.hp.externalVideoId), q); u = []; if (r.hp.playerOverlay.instreamAdPlayerOverlayRenderer) { + var y = Xya(t); if (!y) return Ny("Expected MediaLayout to carry valid data to create InPlayerSlot and PlayerOverlayForMediaLayout", void 0, t), { layout: t, qg: [] }; + u = [fza(a, y.contentCpn, y.Sq, function (D) { return yI(b, D.slotId, "core", y, zC(p, D)) }, y.inPlayerSlotId)].concat(g.x(u)); + if (y.instreamAdPlayerUnderlayRenderer && zI(n)) { var A = y.instreamAdPlayerUnderlayRenderer; u = [gza(a, y.contentCpn, y.Sq, function (D) { return hza(b, D.slotId, A, y.adPlacementConfig, y.Sq, zC(p, D)) })].concat(g.x(u)) } + } return { + layout: t, + qg: u + } + } : function (t) { + var u = new tH(0, [r.Dp]); + return { layout: eza(b, r.layoutId, r.hp, c, xI(r.playerVars, r.YB, f, m, u), r.Dp, e, u, h(t), l.get(r.hp.externalVideoId), q), qg: [] } + } + }; + wI = function (a, b, c) { + if (!a.playerVars) return new qC("No playerVars available in InstreamVideoAdRenderer."); var d, e; if (a.elementId == null || a.playerVars == null || a.playerOverlay == null || ((d = a.playerOverlay) == null ? void 0 : d.instreamAdPlayerOverlayRenderer) == null && ((e = a.playerOverlay) == null ? void 0 : e.playerOverlayLayoutRenderer) == null || a.pings == null || a.externalVideoId == null) return new qC("Received invalid VOD InstreamVideoAdRenderer", { instreamVideoAdRenderer: a }); d = xr(a.playerVars); e = Number(d.length_seconds); + isNaN(e) && (e = 0, Ny("Expected valid length seconds in player vars but got NaN")); if (c.Ve(b.kind === "AD_PLACEMENT_KIND_START")) { if (a.layoutId === void 0) return new qC("Expected server generated layout ID in instreamVideoAdRenderer"); b = a.layoutId } else b = a.elementId; return { layoutId: b, hp: a, playerVars: d, YB: a.playerVars, Dp: e } + }; + xI = function (a, b, c, d, e) { a.iv_load_policy = d; b = xr(b); if (b.cta_conversion_urls) try { a.cta_conversion_urls = JSON.parse(b.cta_conversion_urls) } catch (f) { Ny(f) } c.lj && (a.ctrl = c.lj); c.Qj && (a.ytr = c.Qj); c.Pw && (a.ytrcc = c.Pw); c.isMdxPlayback && (a.mdx = "1"); a.vvt && (a.vss_credentials_token = a.vvt, c.xn && (a.vss_credentials_token_type = c.xn), c.mdxEnvironment && (a.mdx_environment = c.mdxEnvironment)); e.j >= 2 && (a.slot_pos = e.adPodIndex); a.autoplay = "1"; return a }; + iza = function (a) { var b = new Map; a = g.w(a); for (var c = a.next(); !c.done; c = a.next())(c = c.value.renderer.remoteSlotsRenderer) && c.hostElementId && b.set(c.hostElementId, c); return b }; + AI = function (a) { return a.adSlotMetadata.slotType === "SLOT_TYPE_PLAYER_BYTES" }; + mza = function (a, b, c, d, e, f, h, l, m, n, p) { + for (var q = [], r = g.w(a), t = r.next(); !t.done; t = r.next()) { + t = t.value; var u; if (u = !vya(t)) { var y = void 0; u = (t == null ? void 0 : (y = t.adSlotMetadata) == null ? void 0 : y.slotType) !== "SLOT_TYPE_IN_PLAYER" } if (u) { + y = AI(t) && !!t.slotEntryTrigger.beforeContentVideoIdStartedTrigger; var A = m.Ve(y), D = jza(t, n, d, c.Mp, A); if (D instanceof rC) return D; var F = void 0; u = { + slotId: t.adSlotMetadata.slotId, slotType: t.adSlotMetadata.slotType, slotPhysicalPosition: (F = t.adSlotMetadata.slotPhysicalPosition) != null ? + F : 1, bb: "core", slotEntryTrigger: D.slotEntryTrigger, slotFulfillmentTriggers: D.slotFulfillmentTriggers, slotExpirationTriggers: D.slotExpirationTriggers + }; if (D = g.R(t.fulfillmentContent.fulfilledLayout, fI)) { + if (!eI(D)) return new rC("Invalid PlayerBytesAdLayoutRenderer"); A = kza(u, t.adSlotMetadata.triggerEvent, D, b, c, d, e, f, h, l, m, n, a, p, A); if (A instanceof rC) return A; D = []; AI(t) && D.push(new lC({ yu: AI(t) && !!t.slotEntryTrigger.beforeContentVideoIdStartedTrigger })); c.Vb && D.push(new eC({})); D.push(new jC(y)); t = Object.assign({}, + u, { Ca: new sC(D), fulfilledLayout: A.layout, adSlotLoggingData: t.adSlotMetadata.adSlotLoggingData }); q.push.apply(q, g.x(A.qg)); q.push(t) + } else if (y = g.R(t.fulfillmentContent.fulfilledLayout, hI), D = A = void 0, ((A = y) == null ? void 0 : (D = A.adLayoutMetadata) == null ? void 0 : D.layoutType) !== "LAYOUT_TYPE_PANEL_QR_CODE" || t.slotEntryTrigger !== void 0) if (y) { + if (!uya(y)) return new rC("Invalid PlayerUnderlayAdLayoutRenderer"); A = y; F = d; var H = c.Mp, M = f; D = u; y = t.adSlotMetadata.triggerEvent; if (A.adLayoutMetadata.layoutType === "LAYOUT_TYPE_DISMISSABLE_PANEL_TEXT_PORTRAIT_IMAGE") { + var N = + g.R(A.renderingContent, gI); if (N) if (N = g.R(N.sidePanel, tya)) { var Q = { layoutId: A.adLayoutMetadata.layoutId, layoutType: A.adLayoutMetadata.layoutType, bb: "core" }; F = BI(A, F, H); y = F instanceof rC ? F : Object.assign({}, Q, { renderingContent: A.renderingContent, Eb: new Map([["impression", N.impressionPings || []], ["resume", N.resumePings || []]]) }, F, { ac: zC(M, D)(Q), Ca: new sC([new kB(CI(y))]), adLayoutLoggingData: A.adLayoutMetadata.adLayoutLoggingData }) } else y = new rC("DismissablePanelTextPortraitImageRenderer is missing"); else y = + new rC("SqueezebackPlayerSidePanelRenderer is missing") + } else if (A.adLayoutMetadata.layoutType === "LAYOUT_TYPE_DISPLAY_TRACKING") g.R(A.renderingContent, rya) ? (N = { layoutId: A.adLayoutMetadata.layoutId, layoutType: A.adLayoutMetadata.layoutType, bb: "core" }, F = BI(A, F, H), y = F instanceof rC ? F : Object.assign({}, N, { renderingContent: A.renderingContent, Eb: new Map }, F, { ac: zC(M, D)(N), Ca: new sC([new kB(CI(y))]), adLayoutLoggingData: A.adLayoutMetadata.adLayoutLoggingData })) : y = new rC("CounterfactualRenderer is missing"); else { + var Z; + A.adLayoutMetadata.layoutType === "LAYOUT_TYPE_PANEL_QR_CODE" ? Z = new rC("PlayerUnderlaySlot cannot be created because adUxReadyApiProvider is null") : Z = new rC("LayoutType [" + A.adLayoutMetadata.layoutType + "] is invalid for PlayerUnderlaySlot"); y = Z + } if (y instanceof rC) return y; t = Object.assign({}, u, { Ca: new sC([]), fulfilledLayout: y, adSlotLoggingData: t.adSlotMetadata.adSlotLoggingData }); q.push(t) + } else if (y = g.R(t.fulfillmentContent.fulfilledLayout, xya)) { + if (!mya(y)) return new rC("Invalid AboveFeedAdLayoutRenderer"); + y = lza(y, d, c.Mp, f, u, t.adSlotMetadata.triggerEvent, t.adSlotMetadata.triggeringSourceLayoutId); if (y instanceof rC) return y; t = Object.assign({}, u, { Ca: new sC([]), fulfilledLayout: y, adSlotLoggingData: t.adSlotMetadata.adSlotLoggingData }); q.push(t) + } else if (y = g.R(t.fulfillmentContent.fulfilledLayout, yya)) { + if (!RH(y.adLayoutMetadata) || !g.R(y.renderingContent, SH)) return new rC("Invalid BelowPlayerAdLayoutRenderer"); y = lza(y, d, c.Mp, f, u, t.adSlotMetadata.triggerEvent, t.adSlotMetadata.triggeringSourceLayoutId); if (y instanceof + rC) return y; t = Object.assign({}, u, { Ca: new sC([]), fulfilledLayout: y, adSlotLoggingData: t.adSlotMetadata.adSlotLoggingData }); q.push(t) + } else return new rC("Unable to retrieve a client slot [" + u.slotType + "] from a given AdSlotRenderer") + } + } return q + }; + lza = function (a, b, c, d, e, f, h) { var l = { layoutId: a.adLayoutMetadata.layoutId, layoutType: a.adLayoutMetadata.layoutType, bb: "core" }; b = BI(a, b, c); if (b instanceof rC) return b; c = []; c.push(new kB(CI(f))); f === "SLOT_TRIGGER_EVENT_LAYOUT_ID_ENTERED" && h !== void 0 && c.push(new CB(h)); return Object.assign({}, l, { renderingContent: a.renderingContent, Eb: new Map([["impression", nza(a)]]) }, b, { ac: zC(d, e)(l), Ca: new sC(c), adLayoutLoggingData: a.adLayoutMetadata.adLayoutLoggingData }) }; + kza = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u) { + var y = BI(c, f, e.Mp); if (y instanceof rC) return y; if (g.R(c.renderingContent, aI)) { m = oza([c], e, m); if (m instanceof rC) return m; if (m.length !== 1) return new rC("Only expected one media layout."); a = pza(a, b, c, y, m[0], void 0, "core", d, f, h, l, n, r, t, u, e.Mp, q); return a instanceof rC ? a : { layout: a.layout, qg: a.qf ? [a.qf] : [] } } var A = g.R(c.renderingContent, pya); if (A) { + if (!RH(c.adLayoutMetadata)) return new rC("Invalid ad layout metadata"); if (!qya(A)) return new rC("Invalid sequential layout"); + A = A.sequentialLayouts.map(function (D) { return D.playerBytesAdLayoutRenderer }); + a = qza(a, b, c.adLayoutMetadata, y, A, d, f, e, m, h, l, n, p, q, u, r, t); return a instanceof rC ? a : { layout: a.D7, qg: a.qg } + } return new rC("Not able to convert a sequential layout") + }; + qza = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A) { + var D = new oB({ current: null }), F = oza(e, l, m); if (F instanceof rC) return F; m = []; for (var H = [], M = void 0, N = 0; N < e.length; N++) { + var Q = e[N]; if (g.R(Q.renderingContent, aI)) { M = pza(a, b, Q, DI, F[N], nG(r) && oG(r) ? F[N + 1] : void 0, "adapter", f, h, n, p, q, y, A, u, l.Mp, t, D); if (M instanceof rC) return M; m.push(M.layout); M.qf && H.push(M.qf); M = F[N] } else if (g.R(Q.renderingContent, bI)) { + var Z = a, fa = p; if (eI(Q)) { + var pa = g.R(Q.renderingContent, bI); if (pa && pa.playerVars !== void 0) { + var Y = { + layoutId: Q.adLayoutMetadata.layoutId, + layoutType: Q.adLayoutMetadata.layoutType, bb: "adapter" + }; pa = xr(pa.playerVars); pa.autoplay = "1"; Q = Object.assign({}, Y, DI, { renderingContent: Q.renderingContent, Ca: new sC([new TB({}), new kB({ kind: "AD_PLACEMENT_KIND_START" }), new HB({ current: null }), new MB(pa)]), Eb: new Map, ac: zC(fa, Z)(Y), adLayoutLoggingData: Q.adLayoutMetadata.adLayoutLoggingData }) + } else Q = new rC("Invalid ad intro renderer") + } else Q = new rC("Invalid PlayerBytesAdLayoutRenderer"); if (Q instanceof rC) return Q; m.push(Q) + } else if (g.R(Q.renderingContent, + sE)) if (A) { Q = rza(a, Q, p, CI(b), M); if (Q instanceof rC) return Q; m.push(Q); Q = sza(y, Q, h, l.Mp, p, t, u, D); if (Q instanceof rC) return Q; if (Q) H.push(Q); else return new rC("Not able to retrieve InPlayer slot for endcap") } else { + a: { + Z = Q.adLayoutMetadata.layoutId; fa = g.w(f); for (Y = fa.next(); !Y.done; Y = fa.next()) { + Y = Y.value; var S = pa = void 0, W = ((pa = Y.renderer) == null ? void 0 : (S = pa.linearAdSequenceRenderer) == null ? void 0 : S.linearAds) || []; pa = g.w(W); for (S = pa.next(); !S.done; S = pa.next())if ((S = g.R(S.value, sE)) && S.inPlayerSlotId !== void 0 && + S.inPlayerLayoutId !== void 0 && S.associatedPlayerBytesLayoutId !== void 0 && S.associatedPlayerBytesLayoutId === Z) { Z = { GJ: S, adPlacementConfig: Y.config.adPlacementConfig }; break a } + } Z = new rC("Not able to find associated InPlayer slot for endcap") + } if (Z instanceof rC) return Z; Q = rza(a, Q, p, Z.adPlacementConfig, M); if (Q instanceof rC) return Q; m.push(Q); Q = tza(Q.layoutId, t, h, Z, D, p); if (Q instanceof rC) return Q; H.push(Q) + } + } b = { layoutId: c.layoutId, layoutType: c.layoutType, bb: "core" }; return { + D7: Object.assign({}, b, d, { + Ty: m, Eb: new Map, + Ca: new sC([D]), ac: zC(p, a)(b) + }), qg: H + } + }; + pza = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D) { + if (!eI(c)) return new rC("Invalid PlayerBytesAdLayoutRenderer"); var F = g.R(c.renderingContent, aI); (F == null ? 0 : F.pings) ? F = LD(F.pings) : (F = g.R(c.renderingContent, sE), F = (F == null ? 0 : F.skipPings) ? new Map([["skip", F.skipPings]]) : new Map); if (F instanceof rC) return F; h = { layoutId: c.adLayoutMetadata.layoutId, layoutType: c.adLayoutMetadata.layoutType, bb: h }; a: { + var H = c.adLayoutMetadata.layoutId, M = g.R(c.renderingContent, aI); if (M && $H(M)) { + var N = []; if (t) N.push(new kB(CI(b))); + else { + b: { + l = g.w(l); for (b = l.next(); !b.done; b = l.next()) { + b = b.value; var Q = Wya(b.renderer) || [], Z = g.w(Q); for (Q = Z.next(); !Q.done; Q = Z.next())if (Q = Q.value, Q.associatedPlayerBytesLayoutId === H) { + Q.associatedPlayerBytesLayoutId ? (l = Q.playerOverlay, Z = l !== void 0 && l.playerOverlayLayoutRenderer !== void 0 && l.playerOverlayLayoutRenderer.inPlayerSlotId !== void 0 && l.playerOverlayLayoutRenderer.inPlayerLayoutId !== void 0, l = l !== void 0 && l.instreamAdPlayerOverlayRenderer !== void 0 && l.instreamAdPlayerOverlayRenderer.inPlayerSlotId !== + void 0 && l.instreamAdPlayerOverlayRenderer.inPlayerLayoutId !== void 0 || Z) : l = !1; b = l ? { instreamVideoAdRenderer: Q, adPlacementConfig: b.config.adPlacementConfig } : new rC("Invalid InPlayer shim"); break b + } + } b = new rC("Not able to find associated InPlayer slot") + } if (b instanceof rC) { f = b; break a } l = b.instreamVideoAdRenderer.playerOverlay.instreamAdPlayerOverlayRenderer; Q = b.instreamVideoAdRenderer.playerOverlay.playerOverlayLayoutRenderer; var fa; Z = (fa = l == null ? void 0 : l.inPlayerSlotId) != null ? fa : Q == null ? void 0 : Q.inPlayerSlotId; + var pa; fa = (pa = l == null ? void 0 : l.inPlayerLayoutId) != null ? pa : Q == null ? void 0 : Q.inPlayerLayoutId; if (Z === void 0) { f = new rC("InPlayer shim slot id is undefined"); break a } if (fa === void 0) { f = new rC("InPlayer shim layout id is undefined"); break a } N.push(new DB(fa), new FB(Z), new RB(e.Dw.adPodIndex), new kB(b.adPlacementConfig)); l && N.push(new rB(l)); Q && N.push(new sB(Q)) + } N.push(new lB(e.Dw), new pB(M.externalVideoId), new qB(m), new dC({ + impressionCommands: M.impressionCommands, abandonCommands: M.onAbandonCommands, completeCommands: M.completeCommands, + progressCommands: M.adVideoProgressCommands + }), new MB(e.jE), new HB({ current: null }), new LB(e.Wca.Dp), new gC(KD(M.pings)), new mB(e.Dw.adPodIndex)); (e = uza(H, r)) && N.push(new uB(e)); f && N.push(new NB(f.jE)); M.adNextParams && N.push(new cB(M.adNextParams)); M.clickthroughEndpoint && N.push(new dB(M.clickthroughEndpoint)); M.legacyInfoCardVastExtension && N.push(new bC(M.legacyInfoCardVastExtension)); M.sodarExtensionData && N.push(new OB(M.sodarExtensionData)); D && M.adPodSkipTarget && M.adPodSkipTarget > 0 && (N.push(D), N.push(new nB(M.adPodSkipTarget))); + (f = n.get(M.externalVideoId)) && N.push(new ZB(f)); f = N + } else f = new rC("Invalid vod media renderer") + } if (f instanceof rC) return f; a = Object.assign({}, h, d, { Eb: F, renderingContent: c.renderingContent, Ca: new sC(f), ac: zC(p, a)(h), adLayoutLoggingData: c.adLayoutMetadata.adLayoutLoggingData }); c = g.R(c.renderingContent, aI); if (!c || !$H(c)) return new rC("Invalid meida renderer"); q = uI(q, c.externalVideoId); q.instreamVideoAdRenderer = c; q.GF = "AD_PLACEMENT_KIND_START"; return t ? (m = sza(r, a, m, y, p, A, u, D), m instanceof rC ? m : uza(a.layoutId, + r) && m ? { layout: Object.assign({}, a, { Ca: new sC(f.concat(new vB(m))) }) } : { layout: a, qf: m }) : { layout: a } + }; + rza = function (a, b, c, d, e) { + if (!eI(b)) return new rC("Invalid PlayerBytesAdLayoutRenderer"); var f = g.R(b.renderingContent, sE); if (!f || f.durationMilliseconds === void 0) return new rC("Invalid endcap renderer"); var h = { layoutId: b.adLayoutMetadata.layoutId, layoutType: b.adLayoutMetadata.layoutType, bb: "adapter" }; d = [new aC(f.durationMilliseconds), new dC({ impressionCommands: void 0, abandonCommands: f.abandonCommands ? [{ commandExecutorCommand: f.abandonCommands }] : void 0, completeCommands: f.completionCommands }), new kB(d), + new EB("LAYOUT_TYPE_ENDCAP")]; if (e) { d.push(new mB(e.Dw.adPodIndex - 1)); d.push(new RB(e.Dw.adPodIndex)); var l; d.push(new nB((l = e.adPodSkipTarget) != null ? l : -1)) } return Object.assign({}, h, DI, { renderingContent: b.renderingContent, Ca: new sC(d), Eb: f.skipPings ? new Map([["skip", f.skipPings]]) : new Map, ac: zC(c, a)(h), adLayoutLoggingData: b.adLayoutMetadata.adLayoutLoggingData }) + }; + sza = function (a, b, c, d, e, f, h, l) { + a = a.filter(function (n) { return n.adSlotMetadata.slotType === "SLOT_TYPE_IN_PLAYER" && n.adSlotMetadata.triggeringSourceLayoutId === b.layoutId }); + if (a.length !== 0) { + if (a.length !== 1) return new rC("Invalid InPlayer slot association for the given PlayerBytes layout"); a = a[0]; h = jza(a, f, c, d, h); if (h instanceof rC) return h; var m; f = { slotId: a.adSlotMetadata.slotId, slotType: a.adSlotMetadata.slotType, slotPhysicalPosition: (m = a.adSlotMetadata.slotPhysicalPosition) != null ? m : 1, bb: "core", slotEntryTrigger: h.slotEntryTrigger, slotFulfillmentTriggers: h.slotFulfillmentTriggers, slotExpirationTriggers: h.slotExpirationTriggers }; m = g.R(a.fulfillmentContent.fulfilledLayout, + wya); if (!m || !oya(m)) return new rC("Invalid InPlayerAdLayoutRenderer"); h = { layoutId: m.adLayoutMetadata.layoutId, layoutType: m.adLayoutMetadata.layoutType, bb: "core" }; c = BI(m, c, d); if (c instanceof rC) return c; d = []; if (m.adLayoutMetadata.layoutType === "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY") d.push.apply(d, g.x(vza(a.adSlotMetadata.triggerEvent, b))); else if (m.adLayoutMetadata.layoutType === "LAYOUT_TYPE_ENDCAP") d.push(new kB(CI(a.adSlotMetadata.triggerEvent))), l && d.push(l); else return new rC("Not able to parse an SDF InPlayer layout"); + e = Object.assign({}, h, c, { renderingContent: m.renderingContent, Eb: new Map, ac: zC(e, f)(h), Ca: new sC(d), adLayoutLoggingData: m.adLayoutMetadata.adLayoutLoggingData }); return Object.assign({}, f, { fulfilledLayout: e, Ca: new sC([]) }) + } + }; + vza = function (a, b) { + var c = []; c.push(new kB(CI(a))); c.push(new CB(b.layoutId)); (a = tC(b.Ca, "metadata_type_player_bytes_callback_ref")) && c.push(new HB(a)); (a = tC(b.Ca, "metadata_type_ad_pod_skip_target_callback_ref")) && c.push(new oB(a)); (a = tC(b.Ca, "metadata_type_remote_slots_data")) && c.push(new ZB(a)); (a = tC(b.Ca, "metadata_type_ad_next_params")) && c.push(new cB(a)); (a = tC(b.Ca, "metadata_type_ad_video_clickthrough_endpoint")) && c.push(new dB(a)); (a = tC(b.Ca, "metadata_type_ad_pod_info")) && c.push(new lB(a)); (b = + tC(b.Ca, "metadata_type_ad_video_id")) && c.push(new pB(b)); return c + }; + tza = function (a, b, c, d, e, f) { + function h(n) { return EI(b, n) } + var l = d.GJ.inPlayerSlotId, m = { layoutId: d.GJ.inPlayerLayoutId, layoutType: "LAYOUT_TYPE_ENDCAP", bb: "core" }; c = { slotId: l, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: new yH(h, a), slotFulfillmentTriggers: [new IH(h, l)], slotExpirationTriggers: [new JH(h, l), new GH(h, c)] }; a = Object.assign({}, m, { + layoutExitNormalTriggers: [new AH(h, a)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], Eb: new Map, Ca: new sC([new xB(d.GJ), new kB(d.adPlacementConfig), + e]), ac: zC(f, c)(m), adLayoutLoggingData: d.GJ.adLayoutLoggingData + }); return Object.assign({}, c, { Ca: new sC([new WB(a)]) }) + }; + uza = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next())if (c = c.value, c.adSlotMetadata.slotType === "SLOT_TYPE_PLAYER_UNDERLAY") { var d = g.R(c.fulfillmentContent.fulfilledLayout, hI); if (d && (d = g.R(d.renderingContent, gI)) && d.associatedPlayerBytesLayoutId === a) return c } }; + jza = function (a, b, c, d, e) { var f = wza(sI(a.slotEntryTrigger, c, d), e, a, b); if (f instanceof rC) return f; for (var h = [], l = g.w(a.slotFulfillmentTriggers), m = l.next(); !m.done; m = l.next()) { m = sI(m.value, c, d); if (m instanceof rC) return m; h.push(m) } h = xza(h, e, a, b); b = []; a = g.w(a.slotExpirationTriggers); for (e = a.next(); !e.done; e = a.next()) { e = sI(e.value, c, d); if (e instanceof rC) return e; b.push(e) } return { slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: b } }; + wza = function (a, b, c, d) { return b && c.adSlotMetadata.slotType === "SLOT_TYPE_PLAYER_BYTES" && a instanceof uH ? new sH(function (e) { return EI(d, e) }, c.adSlotMetadata.slotId) : a }; + xza = function (a, b, c, d) { return b && c.adSlotMetadata.slotType === "SLOT_TYPE_PLAYER_BYTES" ? a.map(function (e) { return e instanceof IH ? new MH(function (f) { return EI(d, f) }, c.adSlotMetadata.slotId) : e }) : a }; + BI = function (a, b, c) { + for (var d = [], e = g.w(a.layoutExitNormalTriggers || []), f = e.next(); !f.done; f = e.next()) { f = sI(f.value, b, c); if (f instanceof rC) return f; d.push(f) } e = []; f = g.w(a.layoutExitSkipTriggers || []); for (var h = f.next(); !h.done; h = f.next()) { h = sI(h.value, b, c); if (h instanceof rC) return h; e.push(h) } f = []; h = g.w(a.layoutExitMuteTriggers || []); for (var l = h.next(); !l.done; l = h.next()) { l = sI(l.value, b, c); if (l instanceof rC) return l; f.push(l) } h = []; a = g.w(a.layoutExitUserInputSubmittedTriggers || []); for (l = a.next(); !l.done; l = + a.next()) { l = sI(l.value, b, c); if (l instanceof rC) return l; h.push(l) } return { layoutExitNormalTriggers: d, layoutExitSkipTriggers: e, layoutExitMuteTriggers: f, layoutExitUserInputSubmittedTriggers: h, Yc: [] } + }; + oza = function (a, b, c) { + for (var d = [], e = g.w(a), f = e.next(); !f.done; f = e.next())if (f = g.R(f.value.renderingContent, aI)) { if (!$H(f)) return new rC("Invalid vod media renderer"); d.push(yza(f)) } e = d.map(function (q) { return q.Dp }); + f = []; for (var h = 0, l = 0; l < a.length; l++) { var m = g.R(a[l].renderingContent, aI); if (m) { var n = new tH(h, e), p = xI(d[h].playerVars, d[h].YB, b, c, n); f[l] = { Dw: n, adPodSkipTarget: m.adPodSkipTarget, Wca: d[h], jE: p }; h++ } } return f + }; + yza = function (a) { var b = xr(a.playerVars), c = Number(b.length_seconds); isNaN(c) && (c = 0, Ny("Expected valid length seconds in player vars but got NaN")); return { playerVars: b, YB: a.playerVars, Dp: c } }; + CI = function (a) { switch (a) { case "SLOT_TRIGGER_EVENT_LAYOUT_ID_ENTERED": return { kind: "AD_PLACEMENT_KIND_LAYOUT_ID_ENTERED" }; case "SLOT_TRIGGER_EVENT_BEFORE_CONTENT": return { kind: "AD_PLACEMENT_KIND_START" }; case "SLOT_TRIGGER_EVENT_CONTENT_OFFSET": return { kind: "AD_PLACEMENT_KIND_MILLISECONDS" }; case "SLOT_TRIGGER_EVENT_AFTER_CONTENT": return { kind: "AD_PLACEMENT_KIND_END" }; case "SLOT_TRIGGER_EVENT_CONTENT_PAUSED": return { kind: "AD_PLACEMENT_KIND_PAUSE" }; default: return { kind: "AD_PLACEMENT_KIND_UNKNOWN" } } }; + nza = function (a) { if (g.R(a.renderingContent, UH)) { var b; return ((b = g.R(a.renderingContent, UH)) == null ? void 0 : b.impressionPings) || [] } if (g.R(a.renderingContent, SH)) { var c; return ((c = g.R(a.renderingContent, SH)) == null ? void 0 : c.impressionPings) || [] } if (g.R(a.renderingContent, TH)) { var d; return ((d = g.R(a.renderingContent, TH)) == null ? void 0 : d.impressionPings) || [] } return [] }; + FI = function (a) { var b = 0; a = g.w(a.questions); for (var c = a.next(); !c.done; c = a.next())if (c = c.value, c = g.R(c, iI) || g.R(c, jI)) { var d = void 0; b += ((d = c.surveyAdQuestionCommon) == null ? void 0 : d.durationMilliseconds) || 0 } return b }; + GI = function (a) { + var b, c, d, e, f = ((c = g.R((b = a.questions) == null ? void 0 : b[0], iI)) == null ? void 0 : c.surveyAdQuestionCommon) || ((e = g.R((d = a.questions) == null ? void 0 : d[0], jI)) == null ? void 0 : e.surveyAdQuestionCommon), h; b = [].concat(g.x(((h = a.playbackCommands) == null ? void 0 : h.instreamAdCompleteCommands) || []), g.x((f == null ? void 0 : f.timeoutCommands) || [])); var l, m, n, p, q, r, t, u, y, A, D, F, H, M, N, Q, Z, fa, pa, Y; return { + impressionCommands: (l = a.playbackCommands) == null ? void 0 : l.impressionCommands, errorCommands: (m = a.playbackCommands) == + null ? void 0 : m.errorCommands, muteCommands: (n = a.playbackCommands) == null ? void 0 : n.muteCommands, unmuteCommands: (p = a.playbackCommands) == null ? void 0 : p.unmuteCommands, pauseCommands: (q = a.playbackCommands) == null ? void 0 : q.pauseCommands, rewindCommands: (r = a.playbackCommands) == null ? void 0 : r.rewindCommands, resumeCommands: (t = a.playbackCommands) == null ? void 0 : t.resumeCommands, skipCommands: (u = a.playbackCommands) == null ? void 0 : u.skipCommands, progressCommands: (y = a.playbackCommands) == null ? void 0 : y.progressCommands, Pma: (A = + a.playbackCommands) == null ? void 0 : A.clickthroughCommands, fullscreenCommands: (D = a.playbackCommands) == null ? void 0 : D.fullscreenCommands, activeViewViewableCommands: (F = a.playbackCommands) == null ? void 0 : F.activeViewViewableCommands, activeViewMeasurableCommands: (H = a.playbackCommands) == null ? void 0 : H.activeViewMeasurableCommands, activeViewFullyViewableAudibleHalfDurationCommands: (M = a.playbackCommands) == null ? void 0 : M.activeViewFullyViewableAudibleHalfDurationCommands, activeViewAudioAudibleCommands: (N = a.playbackCommands) == + null ? void 0 : (Q = N.activeViewTracking) == null ? void 0 : Q.activeViewAudioAudibleCommands, activeViewAudioMeasurableCommands: (Z = a.playbackCommands) == null ? void 0 : (fa = Z.activeViewTracking) == null ? void 0 : fa.activeViewAudioMeasurableCommands, endFullscreenCommands: (pa = a.playbackCommands) == null ? void 0 : pa.endFullscreenCommands, abandonCommands: (Y = a.playbackCommands) == null ? void 0 : Y.abandonCommands, completeCommands: b + } + }; + Aza = function (a, b, c, d, e, f, h) { return function (l, m) { return zza(a, m.slotId, l, f, function (n, p) { var q = m.layoutId; n = h(n); return HI(b, q, p, e, n, "LAYOUT_TYPE_SURVEY", [new AB(c), d], c.adLayoutLoggingData) }) } }; + Dza = function (a, b, c, d, e, f, h) { + if (!Bza(a)) return new rC("Invalid InstreamVideoAdRenderer for SlidingText.", { instreamVideoAdRenderer: a }); var l = a.additionalPlayerOverlay.slidingTextPlayerOverlayRenderer; return [Cza(f, b, c, d, function (m) { + var n = m.slotId; m = h(m); n = iD(e.B.get(), "LAYOUT_TYPE_SLIDING_TEXT_PLAYER_OVERLAY", n); var p = { layoutId: n, layoutType: "LAYOUT_TYPE_SLIDING_TEXT_PLAYER_OVERLAY", bb: "core" }, q = new AH(e.j, d); return { + layoutId: n, layoutType: "LAYOUT_TYPE_SLIDING_TEXT_PLAYER_OVERLAY", Eb: new Map, layoutExitNormalTriggers: [q], + layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new BB(l)]), ac: m(p) + } + })] + }; + Bza = function (a) { a = g.R(a == null ? void 0 : a.additionalPlayerOverlay, Eza); if (!a) return !1; var b = a.slidingMessages; return a.title && b && b.length !== 0 ? !0 : !1 }; + Gza = function (a, b, c, d, e) { + var f; if ((f = a.playerOverlay) == null || !f.instreamSurveyAdRenderer) return function () { return [] }; + if (!Cya(a)) return function () { return new rC("Received invalid InstreamVideoAdRenderer for DAI survey.", { instreamVideoAdRenderer: a }) }; + var h = a.playerOverlay.instreamSurveyAdRenderer, l = FI(h); return l <= 0 ? function () { return new rC("InstreamSurveyAdRenderer should have valid duration.", { instreamSurveyAdRenderer: h }) } : function (m, n) { + var p = Fza(m, c, d, function (q) { + var r = q.slotId; + q = n(q); var t = GI(h); r = iD(e.B.get(), "LAYOUT_TYPE_SURVEY", r); var u = { layoutId: r, layoutType: "LAYOUT_TYPE_SURVEY", bb: "core" }, y = new AH(e.j, d), A = new HH(e.j, r), D = new OH(e.j, r), F = new iya(e.j); return { layoutId: r, layoutType: "LAYOUT_TYPE_SURVEY", Eb: new Map, layoutExitNormalTriggers: [y, F], layoutExitSkipTriggers: [A], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [D], Yc: [], bb: "core", Ca: new sC([new zB(h), new kB(b), new $B(l / 1E3), new dC(t)]), ac: q(u), adLayoutLoggingData: h.adLayoutLoggingData } + }); + m = Dza(a, c, p.slotId, d, e, m, n); return m instanceof rC ? m : [p].concat(g.x(m)) + } + }; + Oza = function (a, b, c, d, e, f, h) { + h = h === void 0 ? !1 : h; var l = []; try { + var m = []; if (c.renderer.linearAdSequenceRenderer) var n = function (y) { y = Hza(y.slotId, c, b, e(y), d, f, h); m = y.Eea; return y.S7 }; + else if (c.renderer.instreamVideoAdRenderer) n = function (y) { + var A = y.slotId; y = e(y); var D = h, F = c.config.adPlacementConfig, H = Iza(F), M = H.WX, N = H.ZX; H = c.renderer.instreamVideoAdRenderer; var Q; if (H == null ? 0 : (Q = H.playerOverlay) == null ? 0 : Q.instreamSurveyAdRenderer) throw new TypeError("Survey overlay should not be set on single video."); var Z = Jza(H, D); Q = Math.min(M + Z.videoLengthSeconds * 1E3, N); D = new tH(0, [Z.videoLengthSeconds]); N = Z.videoLengthSeconds; var fa = Z.playerVars, pa = Z.instreamAdPlayerOverlayRenderer, Y = Z.playerOverlayLayoutRenderer, + S = Z.adVideoId, W = Kza(c), v = Z.Eb; Z = Z.At; var V = H == null ? void 0 : H.adLayoutLoggingData; H = H == null ? void 0 : H.sodarExtensionData; A = iD(b.B.get(), "LAYOUT_TYPE_MEDIA", A); var cb = { layoutId: A, layoutType: "LAYOUT_TYPE_MEDIA", bb: "core" }; return { + layoutId: A, layoutType: "LAYOUT_TYPE_MEDIA", Eb: v, layoutExitNormalTriggers: [new BH(b.j)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new qB(d), new LB(N), new MB(fa), new PB(M), new QB(Q), pa && new rB(pa), Y && new sB(Y), + new kB(F), new pB(S), new lB(D), new VB(W), H && new OB(H), new HB({ current: null }), new SB({}), new gC(Z)].filter(Lza)), ac: y(cb), adLayoutLoggingData: V + } + }; + else throw new TypeError("Expected valid AdPlacementRenderer for DAI"); var p = Mza(a, d, c.adSlotLoggingData, n); l.push(p); for (var q = g.w(m), r = q.next(); !r.done; r = q.next()) { var t = r.value, u = t(a, e); if (u instanceof rC) return u; l.push.apply(l, g.x(u)) } + } catch (y) { return new rC(y, { errorMessage: y.message, AdPlacementRenderer: c, numberOfSurveyRenderers: Nza(c) }) } return l + }; + Nza = function (a) { a = (a.renderer.linearAdSequenceRenderer || {}).linearAds; return a != null && a.length ? a.filter(function (b) { var c, d; return ((c = g.R(b, aI)) == null ? void 0 : (d = c.playerOverlay) == null ? void 0 : d.instreamSurveyAdRenderer) != null }).length : 0 }; + Hza = function (a, b, c, d, e, f, h) { + var l = b.config.adPlacementConfig, m = Iza(l), n = m.WX, p = m.ZX; m = (b.renderer.linearAdSequenceRenderer || {}).linearAds; if (m == null || !m.length) throw new TypeError("Expected linear ads"); var q = [], r = { J2: n, Qq: 0, Bea: q }; m = m.map(function (u) { return Pza(a, u, r, c, d, l, e, p, h) }).map(function (u, y) { + y = new tH(y, q); + return u(y) + }); + var t = m.map(function (u) { return u.T7 }); + return { S7: Qza(c, a, n, t, l, Kza(b), d, p, f), Eea: m.map(function (u) { return u.Dea }) } + }; + Pza = function (a, b, c, d, e, f, h, l, m) { + var n = Jza(g.R(b, aI), m), p = c.J2, q = c.Qq, r = Math.min(p + n.videoLengthSeconds * 1E3, l); c.J2 = r; c.Qq++; c.Bea.push(n.videoLengthSeconds); var t, u, y = (t = g.R(b, aI)) == null ? void 0 : (u = t.playerOverlay) == null ? void 0 : u.instreamSurveyAdRenderer; if (n.adVideoId === "nPpU29QrbiU" && y == null) throw new TypeError("Survey slate media has no survey overlay"); return function (A) { + var D = n.playerVars; A.j >= 2 && (D.slot_pos = A.adPodIndex); D.autoplay = "1"; var F, H; D = n.videoLengthSeconds; var M = n.playerVars, N = n.Eb, + Q = n.At, Z = n.instreamAdPlayerOverlayRenderer, fa = n.playerOverlayLayoutRenderer, pa = n.adVideoId, Y = (F = g.R(b, aI)) == null ? void 0 : F.adLayoutLoggingData; F = (H = g.R(b, aI)) == null ? void 0 : H.sodarExtensionData; H = iD(d.B.get(), "LAYOUT_TYPE_MEDIA", a); var S = { layoutId: H, layoutType: "LAYOUT_TYPE_MEDIA", bb: "adapter" }; A = { + layoutId: H, layoutType: "LAYOUT_TYPE_MEDIA", Eb: N, layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "adapter", Ca: new sC([new qB(h), + new LB(D), new MB(M), new PB(p), new QB(r), new RB(q), new HB({ current: null }), Z && new rB(Z), fa && new sB(fa), new kB(f), new pB(pa), new lB(A), F && new OB(F), y && new fC(y), new SB({}), new gC(Q)].filter(Lza)), ac: e(S), adLayoutLoggingData: Y + }; D = Gza(g.R(b, aI), f, h, A.layoutId, d); return { T7: A, Dea: D } + } + }; + Jza = function (a, b) { + if (!a) throw new TypeError("Expected instream video ad renderer"); if (!a.playerVars) throw new TypeError("Expected player vars in url encoded string"); var c = xr(a.playerVars), d = Number(c.length_seconds); if (isNaN(d)) throw new TypeError("Expected valid length seconds in player vars"); var e = Number(a.trimmedMaxNonSkippableAdDurationMs); d = isNaN(e) ? d : Math.min(d, e / 1E3); e = a.playerOverlay || {}; e = e.instreamAdPlayerOverlayRenderer === void 0 ? null : e.instreamAdPlayerOverlayRenderer; var f = a.playerOverlay || + {}; f = f.playerOverlayLayoutRenderer === void 0 ? null : f.playerOverlayLayoutRenderer; var h = c.video_id; h || (h = (h = a.externalVideoId) ? h : void 0); if (!h) throw new TypeError("Expected valid video id in IVAR"); if (b && d === 0) { var l; b = (l = Rza[h]) != null ? l : d } else b = d; return { playerVars: c, videoLengthSeconds: b, instreamAdPlayerOverlayRenderer: e, playerOverlayLayoutRenderer: f, adVideoId: h, Eb: a.pings ? LD(a.pings) : new Map, At: KD(a.pings) } + }; + Kza = function (a) { a = Number(a.driftRecoveryMs); return isNaN(a) || a <= 0 ? null : a }; + Iza = function (a) { var b = a.adTimeOffset || {}; a = b.offsetEndMilliseconds; b = Number(b.offsetStartMilliseconds); if (isNaN(b)) throw new TypeError("Expected valid start offset"); a = Number(a); if (isNaN(a)) throw new TypeError("Expected valid end offset"); return { WX: b, ZX: a } }; + Tza = function (a, b, c, d, e, f, h, l, m) { + var n = c.pings; return n ? [Sza(a, f, l, e, function (p) { + var q = p.slotId; p = m(p); var r = c.adLayoutLoggingData; q = iD(b.B.get(), "LAYOUT_TYPE_DISCOVERY_PLAYBACK_TRACKER", q); var t = { layoutId: q, layoutType: "LAYOUT_TYPE_DISCOVERY_PLAYBACK_TRACKER", bb: "core" }, u = LD(n), y = [new GH(b.j, f)], A; var D = n == null ? void 0 : (A = n.activeViewTracking) == null ? void 0 : A.identifier; return { + layoutId: q, layoutType: "LAYOUT_TYPE_DISCOVERY_PLAYBACK_TRACKER", Eb: u, layoutExitNormalTriggers: y, layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], + layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new kB(d), new gC(KD(n)), new hC(D), new LB(h / 1E3)]), ac: p(t), adLayoutLoggingData: r + } + })] : new rC("VideoAdTrackingRenderer without VideoAdTracking pings filled.", { videoAdTrackingRenderer: c }) + }; + Vza = function (a, b, c, d, e, f, h, l) { + a = Uza(a, c, f, h, d, function (m) { var n = m.slotId; m = l(m); n = iD(b.B.get(), "LAYOUT_TYPE_FORECASTING", n); var p = { layoutId: n, layoutType: "LAYOUT_TYPE_FORECASTING", bb: "core" }, q = new Map, r = e.impressionUrls; r && q.set("impression", r); return { layoutId: n, layoutType: "LAYOUT_TYPE_FORECASTING", Eb: q, layoutExitNormalTriggers: [new FH(b.j, n)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new UB(e), new kB(c)]), ac: m(p) } }); + return a instanceof rC ? a : [a] + }; + Xza = function (a, b, c, d, e, f, h) { return [Wza(a, f, d, function (l) { var m = l.slotId; l = h(l); m = iD(b.B.get(), "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY", m); var n = { layoutId: m, layoutType: "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY", bb: "core" }; return { layoutId: m, layoutType: "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY", Eb: new Map, layoutExitNormalTriggers: [new GH(b.j, f)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new rB(e), new kB(c)]), ac: l(n), adLayoutLoggingData: e.adLayoutLoggingData } })] }; + Zza = function (a, b, c, d, e, f, h, l) { + a = Yza(a, c, f, h, d, function (m, n) { + var p = m.slotId; m = l(m); var q = e.contentSupportedRenderer; q ? q.textOverlayAdContentRenderer ? (q = iD(b.B.get(), "LAYOUT_TYPE_IN_VIDEO_TEXT_OVERLAY", p), n = II(b, q, "LAYOUT_TYPE_IN_VIDEO_TEXT_OVERLAY", e, c, m, JI(b, n, p))) : q.enhancedTextOverlayAdContentRenderer ? (q = iD(b.B.get(), "LAYOUT_TYPE_IN_VIDEO_ENHANCED_TEXT_OVERLAY", p), n = II(b, q, "LAYOUT_TYPE_IN_VIDEO_ENHANCED_TEXT_OVERLAY", e, c, m, JI(b, n, p))) : q.imageOverlayAdContentRenderer ? (q = iD(b.B.get(), "LAYOUT_TYPE_IN_VIDEO_IMAGE_OVERLAY", + p), n = JI(b, n, p), n.push(new PH(b.j, 45E3, q)), n = II(b, q, "LAYOUT_TYPE_IN_VIDEO_IMAGE_OVERLAY", e, c, m, n)) : n = new qC("InvideoOverlayAdRenderer without appropriate sub renderer") : n = new qC("InvideoOverlayAdRenderer without contentSupportedRenderer"); return n + }); + return a instanceof rC ? a : [a] + }; + bAa = function (a, b, c, d, e, f, h, l, m) { + var n = Number(d.durationMilliseconds); return isNaN(n) ? new rC("Expected valid duration for AdActionInterstitialRenderer.") : function (p) { + return $za(b, p.slotId, c, d, n, { impressionCommands: void 0, abandonCommands: d.abandonCommands ? [{ commandExecutorCommand: d.abandonCommands }] : void 0, completeCommands: d.completionCommands }, d.skipPings ? new Map([["skip", d.skipPings]]) : new Map, h(p), function (q) { + return aAa(a, q, e, function (r, t) { + var u = r.slotId; r = h(r); u = iD(b.B.get(), "LAYOUT_TYPE_ENDCAP", + u); return HI(b, u, t, c, r, "LAYOUT_TYPE_ENDCAP", [new xB(d), l], d.adLayoutLoggingData) + }) + }, m, f - 1, d.adLayoutLoggingData, f) + } + }; + cAa = function (a, b, c, d) { + if (!c.playerVars) return new rC("No playerVars available in AdIntroRenderer."); var e = xr(c.playerVars); e.autoplay = "1"; return function (f) { + var h = f.slotId; f = d(f); h = iD(a.B.get(), "LAYOUT_TYPE_MEDIA", h); var l = { layoutId: h, layoutType: "LAYOUT_TYPE_MEDIA", bb: "adapter" }; return { + Nf: { + layoutId: h, layoutType: "LAYOUT_TYPE_MEDIA", Eb: new Map, layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "adapter", Ca: new sC([new TB({}), + new kB(b), new HB({ current: null }), new MB(e)]), ac: f(l) + }, Dm: [new zH(a.j, h, ["error"])], nk: [], Rz: [], Qz: [] + } + } + }; + eAa = function (a, b, c, d, e, f, h, l, m, n) { n = n === void 0 ? !1 : n; var p = FI(e); if (!Bya(e, n)) return new rC("Received invalid InstreamSurveyAdRenderer for VOD composite survey.", { InstreamSurveyAdRenderer: e }); if (p <= 0) return new rC("InstreamSurveyAdRenderer should have valid duration.", { instreamSurveyAdRenderer: e }); var q = Aza(a, b, e, f, c, d, h); return q instanceof rC ? q : function (r) { return dAa(b, r.slotId, c, p, e, GI(e), h(r), q, l, m) } }; + fAa = function (a, b, c, d, e, f, h, l) { + function m(q) { return aAa(a, q, d, n) } + function n(q, r) { var t = q.slotId; q = h(q); t = iD(b.B.get(), "LAYOUT_TYPE_VIDEO_INTERSTITIAL_BUTTONED_LEFT", t); return HI(b, t, r, c, q, "LAYOUT_TYPE_VIDEO_INTERSTITIAL_BUTTONED_LEFT", [new yB(e), f], e.adLayoutLoggingData) } + if (!Fya(e)) return new rC("Received invalid SurveyTextInterstitialRenderer.", { SurveyTextInterstitialRenderer: e }); var p = e.timeoutSeconds * 1E3; return function (q) { + var r = q.slotId, t = { impressionCommands: e.impressionCommands, completeCommands: e.timeoutCommands, skipCommands: e.dismissCommands }; q = h(q); r = KI(b, r, c, p, t, new Map, q, m, void 0, LI(b, c, e.layoutId, "createSubLayoutVodMediaBreakLayoutForSurveyInterstitial")); t = new DB(r.NL); q = new mB(l); return { + Nf: { + layoutId: r.layoutId, layoutType: r.layoutType, Eb: r.Eb, layoutExitNormalTriggers: [], + layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: r.bb, Ca: new sC([].concat(g.x(r.Nz), [t, q])), ac: r.ac, adLayoutLoggingData: r.adLayoutLoggingData + }, Dm: [], nk: r.layoutExitMuteTriggers, Rz: r.layoutExitUserInputSubmittedTriggers, Qz: r.Yc, qf: r.qf + } + } + }; + hAa = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y) { a = CD(a, "SLOT_TYPE_PLAYER_BYTES"); d = Yya(b, h, d, e, a, n, p); if (d instanceof rC) return d; var A; h = (A = tC(d.Ca, "metadata_type_fulfilled_layout")) == null ? void 0 : A.layoutId; if (!h) return new rC("Invalid adNotify layout"); b = gAa(h, b, c, e, f, m, l, n, q, r, t, u, y); return b instanceof rC ? b : [d].concat(g.x(b)) }; + gAa = function (a, b, c, d, e, f, h, l, m, n, p, q, r) { + c = iAa(b, c, d, f, h, l, m, n, p, q, r); jAa(f) ? (d = kAa(b, a), a = CD(b.B.get(), "SLOT_TYPE_IN_PLAYER"), f = iD(b.B.get(), "LAYOUT_TYPE_SURVEY", a), l = MI(b, d, l), b = [].concat(g.x(l.slotExpirationTriggers), [new vH(b.j, f)]), a = c({ slotId: l.slotId, slotType: l.slotType, slotPhysicalPosition: l.slotPhysicalPosition, slotEntryTrigger: l.slotEntryTrigger, slotFulfillmentTriggers: l.slotFulfillmentTriggers, slotExpirationTriggers: b, bb: l.bb }, { slotId: a, layoutId: f }), e = a instanceof rC ? a : { + yy: Object.assign({}, + l, { slotExpirationTriggers: b, Ca: new sC([new WB(a.layout)]), adSlotLoggingData: e }), qg: a.qg + }) : e = bza(b, a, l, e, c); return e instanceof rC ? e : [].concat(g.x(e.qg), [e.yy]) + }; + mAa = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t) { + b = iAa(a, b, c, e, f, h, m, n, p, q, r, t); jAa(e) ? (e = lAa(a, c, h, l), e instanceof rC ? a = e : (l = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"), m = iD(a.B.get(), "LAYOUT_TYPE_SURVEY", l), h = [].concat(g.x(e.slotExpirationTriggers), [new vH(a.j, m)]), l = b({ slotId: e.slotId, slotType: e.slotType, slotPhysicalPosition: e.slotPhysicalPosition, bb: e.bb, slotEntryTrigger: e.slotEntryTrigger, slotFulfillmentTriggers: e.slotFulfillmentTriggers, slotExpirationTriggers: h }, { slotId: l, layoutId: m }), a = l instanceof rC ? l : + { yy: { slotId: e.slotId, slotType: e.slotType, slotPhysicalPosition: e.slotPhysicalPosition, slotEntryTrigger: NI(a, c, e.slotId, e.slotEntryTrigger), slotFulfillmentTriggers: OI(a, c, e.slotId, e.slotFulfillmentTriggers), slotExpirationTriggers: h, bb: e.bb, Ca: new sC([new jC(PI(c)), new WB(l.layout), new lC({ yu: a.yu(c) })]), adSlotLoggingData: d }, qg: l.qg })) : a = cza(a, c, h, l, d, m.Vb, b); return a instanceof rC ? a : a.qg.concat(a.yy) + }; + jAa = function (a) { a = g.w(a); for (var b = a.next(); !b.done; b = a.next())if (g.R(b.value, cI)) return !0; return !1 }; + iAa = function (a, b, c, d, e, f, h, l, m, n, p, q) { + return function (r, t) { + if (nG(p) && oG(p)) a: { + var u = nAa(d, c, p); if (u instanceof rC) t = u; else { + for (var y = 0, A = [], D = [], F = [], H = [], M = [], N = [], Q = new IB({ current: null }), Z = new oB({ current: null }), fa = !1, pa = [], Y = 0, S = [], W = 0; W < d.length; W++) { var v = d[W], V = g.R(v, aI); if (V) { V = wI(V, c, p); if (V instanceof qC) { t = new rC(V); break a } var cb = new tH(Y, u), zb = xI(V.playerVars, V.YB, h, n, cb); Y++; S[W] = { renderer: v, data: V, Dw: cb, jE: zb } } } Y = -1; for (u = 0; u < d.length; u++)if (W = d[u], v = g.R(W, bI)) { + W = cAa(b, c, v, l); if (W instanceof + rC) { t = W; break a } W = W(r); A.push(W.Nf); D = [].concat(g.x(W.Dm), g.x(D)); F = [].concat(g.x(W.nk), g.x(F)); W.qf && (pa = [W.qf].concat(g.x(pa))) + } else if (g.R(W, aI)) v = S[u], Y = v.data, W = v.Dw, v = v.jE, V = S[u + 1], cb = void 0, V && (cb = V.jE), W = oAa(b, Y.layoutId, Y.hp, c, v, Y.Dp, f, W, l(r), Z, m.get(Y.hp.externalVideoId), cb, q), y++, A.push(W.Nf), D = [].concat(g.x(W.Dm), g.x(D)), F = [].concat(g.x(W.nk), g.x(F)), fa || (N.push(Z), fa = !0), Y = (Y = Y.hp.adPodSkipTarget) && Y > 0 ? Y : -1; else if (v = g.R(W, sE)) { + W = bAa(a, b, c, v, f, y, l, Z, Y); if (W instanceof rC) { t = W; break a } W = + W(r); A.push(W.Nf); D = [].concat(g.x(W.Dm), g.x(D)); F = [].concat(g.x(W.nk), g.x(F)); W.qf && (pa = [W.qf].concat(g.x(pa))) + } else if (v = g.R(W, cI)) { + if (t === void 0) { t = new rC("Composite Survey must already have a Survey Bundle with required metadata.", { instreamSurveyAdRenderer: v }); break a } W = eAa(a, b, c, f, v, Q, l, t, y, QI(p, "supports_multi_step_on_desktop")); if (W instanceof rC) { t = W; break a } W = W(r); A.push(W.Nf); W.qf && pa.push(W.qf); D = [].concat(g.x(W.Dm), g.x(D)); F = [].concat(g.x(W.nk), g.x(F)); H = [].concat(g.x(W.Rz), g.x(H)); M = [].concat(g.x(W.Qz), + g.x(M)); N = [Q].concat(g.x(N)) + } else if (W = g.R(W, dI)) { W = fAa(a, b, c, f, W, Q, l, y); if (W instanceof rC) { t = W; break a } W = W(r); A.push(W.Nf); W.qf && pa.push(W.qf); F = [].concat(g.x(W.nk), g.x(F)) } else { t = new rC("Unsupported linearAd found in LinearAdSequenceRenderer."); break a } t = { Ty: A, layoutExitSkipTriggers: D, layoutExitUserInputSubmittedTriggers: H, Yc: M, layoutExitMuteTriggers: F, Nz: N, qg: pa } + } + } else a: if (y = nAa(d, c, p), y instanceof rC) t = y; else { + A = 0; D = []; F = []; H = []; M = []; N = []; Q = []; Z = new IB({ current: null }); fa = new oB({ current: null }); + pa = !1; S = []; Y = -1; u = g.w(d); for (W = u.next(); !W.done; W = u.next())if (W = W.value, g.R(W, bI)) { W = cAa(b, c, g.R(W, bI), l); if (W instanceof rC) { t = W; break a } W = W(r); D.push(W.Nf); F = [].concat(g.x(W.Dm), g.x(F)); H = [].concat(g.x(W.nk), g.x(H)); W.qf && (S = [W.qf].concat(g.x(S))) } else if (g.R(W, aI)) { + Y = wI(g.R(W, aI), c, p); if (Y instanceof qC) { t = new rC(Y); break a } W = new tH(A, y); W = oAa(b, Y.layoutId, Y.hp, c, xI(Y.playerVars, Y.YB, h, n, W), Y.Dp, f, W, l(r), fa, m.get(Y.hp.externalVideoId), void 0, q); A++; D.push(W.Nf); F = [].concat(g.x(W.Dm), g.x(F)); H = + [].concat(g.x(W.nk), g.x(H)); pa || (Q.push(fa), pa = !0); Y = (Y = Y.hp.adPodSkipTarget) && Y > 0 ? Y : -1 + } else if (g.R(W, sE)) { W = bAa(a, b, c, g.R(W, sE), f, A, l, fa, Y); if (W instanceof rC) { t = W; break a } W = W(r); D.push(W.Nf); F = [].concat(g.x(W.Dm), g.x(F)); H = [].concat(g.x(W.nk), g.x(H)); W.qf && (S = [W.qf].concat(g.x(S))) } else if (g.R(W, cI)) { + if (t === void 0) { t = new rC("Composite Survey must already have a Survey Bundle with required metadata.", { instreamSurveyAdRenderer: g.R(W, cI) }); break a } W = eAa(a, b, c, f, g.R(W, cI), Z, l, t, A, QI(p, "supports_multi_step_on_desktop")); + if (W instanceof rC) { t = W; break a } W = W(r); D.push(W.Nf); W.qf && S.push(W.qf); F = [].concat(g.x(W.Dm), g.x(F)); H = [].concat(g.x(W.nk), g.x(H)); M = [].concat(g.x(W.Rz), g.x(M)); N = [].concat(g.x(W.Qz), g.x(N)); Q = [Z].concat(g.x(Q)) + } else if (g.R(W, dI)) { W = fAa(a, b, c, f, g.R(W, dI), Z, l, A); if (W instanceof rC) { t = W; break a } W = W(r); D.push(W.Nf); W.qf && S.push(W.qf); H = [].concat(g.x(W.nk), g.x(H)) } else { t = new rC("Unsupported linearAd found in LinearAdSequenceRenderer."); break a } t = { + Ty: D, layoutExitSkipTriggers: F, layoutExitUserInputSubmittedTriggers: M, + Yc: N, layoutExitMuteTriggers: H, Nz: Q, qg: S + } + } t instanceof rC ? r = t : (N = r.slotId, y = t.Ty, A = t.layoutExitSkipTriggers, D = t.layoutExitMuteTriggers, F = t.layoutExitUserInputSubmittedTriggers, H = t.Nz, r = l(r), M = e ? e.layoutType : "LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES", N = e ? e.layoutId : iD(b.B.get(), M, N), Q = { layoutId: N, layoutType: M, bb: "core" }, r = { + layout: { + layoutId: N, layoutType: M, Eb: new Map, layoutExitNormalTriggers: [new FH(b.j, N)], layoutExitSkipTriggers: A, layoutExitMuteTriggers: D, layoutExitUserInputSubmittedTriggers: F, Yc: [], bb: "core", + Ca: new sC([new JB(y)].concat(g.x(H))), ac: r(Q) + }, qg: t.qg + }); return r + } + }; + nAa = function (a, b, c) { var d = []; a = g.w(a); for (var e = a.next(); !e.done; e = a.next())if (e = e.value, g.R(e, aI)) { e = wI(g.R(e, aI), b, c); if (e instanceof qC) return new rC(e); d.push(e.Dp) } return d }; + qAa = function (a, b, c, d, e, f, h, l) { + if (!Bya(c, l === void 0 ? !1 : l)) return new rC("Received invalid InstreamSurveyAdRenderer for VOD single survey.", { InstreamSurveyAdRenderer: c }); var m = FI(c); if (m <= 0) return new rC("InstreamSurveyAdRenderer should have valid duration.", { instreamSurveyAdRenderer: c }); var n = new IB({ current: null }), p = Aza(a, b, c, n, d, f, h); return pAa(a, d, f, m, e, function (q, r) { + var t = q.slotId, u = GI(c); q = h(q); var y, A = (y = LI(b, d, c.layoutId, "createMediaBreakLayoutAndAssociatedInPlayerSlotForVodSurvey")) != null ? + y : iD(b.B.get(), "LAYOUT_TYPE_MEDIA_BREAK", t); t = { layoutId: A, layoutType: "LAYOUT_TYPE_MEDIA_BREAK", bb: "core" }; y = p(A, r); var D = tC(y.Ca, "metadata_type_fulfilled_layout"); D || Ny("Could not retrieve overlay layout ID during VodMediaBreakLayout for survey creation. This should never happen."); u = [new kB(d), new aC(m), new dC(u), n]; D && u.push(new EB(D.layoutType)); return { + K$: { + layoutId: A, layoutType: "LAYOUT_TYPE_MEDIA_BREAK", Eb: new Map, layoutExitNormalTriggers: [new FH(b.j, A)], layoutExitSkipTriggers: [new HH(b.j, r.layoutId)], + layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [new OH(b.j, r.layoutId)], Yc: [], bb: "core", Ca: new sC(u), ac: q(t) + }, Z9: y + } + }) + }; + rAa = function (a) { if (!Eya(a)) return !1; var b = g.R(a.adVideoStart, RI); return b ? g.R(a.linearAd, aI) && YH(b) ? !0 : (Ny("Invalid Sandwich with notify"), !1) : !1 }; + sAa = function (a) { if (a.linearAds == null) return !1; a = g.R(a.adStart, RI); return a ? YH(a) ? !0 : (Ny("Invalid LASR with notify"), !1) : !1 }; + tAa = function (a) { if (!Dya(a)) return !1; a = g.R(a.adStart, RI); return a ? YH(a) ? !0 : (Ny("Invalid LASR with notify"), !1) : !1 }; + SI = function (a, b, c, d, e, f, h, l, m) { this.D = a; this.B = b; this.j = c; this.Aa = d; this.Me = e; this.C = f; this.Ia = h; this.rk = l; this.loadPolicy = m === void 0 ? 1 : m }; + Jya = function (a, b, c, d, e, f, h, l, m) { + var n = []; if (b.length === 0 && d.length === 0 && c.length === 0) return n; b = b.filter(ZH); var p = c.filter(zya), q = d.filter(ZH), r = new Map, t = iza(b), u = c.some(function (W) { var v; return (W == null ? void 0 : (v = W.adSlotMetadata) == null ? void 0 : v.slotType) === "SLOT_TYPE_PLAYER_BYTES" }), y = c.some(function (W) { + var v; + return (W == null ? void 0 : (v = W.adSlotMetadata) == null ? void 0 : v.slotType) === "SLOT_TYPE_PLAYER_UNDERLAY" + }), A = c.some(function (W) { + var v; + return (W == null ? void 0 : (v = W.adSlotMetadata) == null ? void 0 : v.slotType) === "SLOT_TYPE_IN_PLAYER" + }); + c = c.some(function (W) { var v, V; return (W == null ? void 0 : (v = W.adSlotMetadata) == null ? void 0 : v.slotType) === "SLOT_TYPE_BELOW_PLAYER" || (W == null ? void 0 : (V = W.adSlotMetadata) == null ? void 0 : V.slotType) === "SLOT_TYPE_ABOVE_FEED" }); + if (u || y || A || c) c = mza(p, b, l, e, t, a.Me.get(), a.loadPolicy, r, a.Aa.get(), a.D.get(), A), c instanceof rC ? Ny(c, void 0, void 0, { contentCpn: e }) : n.push.apply(n, g.x(c)); c = g.w(b); for (y = c.next(); !y.done; y = c.next())y = y.value, A = uAa(a, r, y, e, f, h, u, l, t, m, p), A instanceof rC ? Ny(A, void 0, void 0, { renderer: y.renderer, config: y.config.adPlacementConfig, kind: y.config.adPlacementConfig.kind, contentCpn: e, daiEnabled: h }) : n.push.apply(n, g.x(A)); vAa(a.Aa.get()) || (f = wAa(a, q, e, l, t, r), n.push.apply(n, g.x(f))); if (a.C === null || h && !l.HX) { + var D, + F, H; a = l.Vb && b.length === 1 && ((D = b[0].config) == null ? void 0 : (F = D.adPlacementConfig) == null ? void 0 : F.kind) === "AD_PLACEMENT_KIND_CUE_POINT_TRIGGERED" && ((H = b[0].renderer) == null ? void 0 : H.adBreakServiceRenderer); if (!n.length && !a) { var M, N, Q, Z; Ny("Expected slots parsed from AdPlacementRenderers for DAI", void 0, void 0, { "AdPlacementRenderer count": b.length, contentCpn: e, "first APR kind": (M = b[0]) == null ? void 0 : (N = M.config) == null ? void 0 : (Q = N.adPlacementConfig) == null ? void 0 : Q.kind, renderer: (Z = b[0]) == null ? void 0 : Z.renderer }) } return n + } D = + d.filter(ZH); n.push.apply(n, g.x(Vya(r, D, a.B.get(), a.C, e, u))); if (!n.length) { var fa, pa, Y, S; Ny("Expected slots parsed from AdPlacementRenderers", void 0, void 0, { "AdPlacementRenderer count": b.length, contentCpn: e, daiEnabled: h.toString(), "first APR kind": (fa = b[0]) == null ? void 0 : (pa = fa.config) == null ? void 0 : (Y = pa.adPlacementConfig) == null ? void 0 : Y.kind, renderer: (S = b[0]) == null ? void 0 : S.renderer }) } return n + }; + wAa = function (a, b, c, d, e, f) { + function h(r) { return zC(a.Me.get(), r) } + var l = []; b = g.w(b); for (var m = b.next(); !m.done; m = b.next()) { + m = m.value; var n = m.renderer, p = n.sandwichedLinearAdRenderer, q = n.linearAdSequenceRenderer; p && rAa(p) ? (Ny("Found AdNotify with SandwichedLinearAdRenderer"), q = g.R(p.adVideoStart, RI), p = g.R(p.linearAd, aI), tI(f, n, m.config.adPlacementConfig.kind), n = void 0, q = Zya((n = q) == null ? void 0 : n.layout.layoutId, a.B.get(), a.j.get(), m.config.adPlacementConfig, m.adSlotLoggingData, p, c, d, h, e, a.loadPolicy, a.Aa.get(), a.Me.get()), q instanceof rC ? Ny(q) : l.push.apply(l, g.x(q))) : + q && (!q.adLayoutMetadata && sAa(q) || q.adLayoutMetadata && tAa(q)) && (Ny("Found AdNotify with LinearAdSequenceRenderer"), tI(f, n, m.config.adPlacementConfig.kind), n = void 0, p = gAa((n = g.R(q.adStart, RI)) == null ? void 0 : n.layout.layoutId, a.B.get(), a.j.get(), m.config.adPlacementConfig, m.adSlotLoggingData, q.linearAds, RH(q.adLayoutMetadata) ? q.adLayoutMetadata : void 0, c, d, h, e, a.loadPolicy, a.Aa.get()), p instanceof rC ? Ny(p) : l.push.apply(l, g.x(p))) + } return l + }; + uAa = function (a, b, c, d, e, f, h, l, m, n, p) { + function q(D) { return zC(a.Me.get(), D) } + var r = c.renderer, t = c.config.adPlacementConfig, u = t.kind, y = c.adSlotLoggingData, A = l.HX && u === "AD_PLACEMENT_KIND_START"; A = f && !A; if (r.adsEngagementPanelRenderer != null) return vI(b, c.elementId, u, r.adsEngagementPanelRenderer.isContentVideoEngagementPanel, r.adsEngagementPanelRenderer.adVideoId, r.adsEngagementPanelRenderer.associatedCompositePlayerBytesLayoutId, t, y, function (D, F, H, M) { + var N = a.j.get(), Q = D.slotId, Z = r.adsEngagementPanelRenderer; D = zC(a.Me.get(), D); return TI(N, Q, "LAYOUT_TYPE_PANEL_TEXT_ICON_IMAGE_TILES_BUTTON", + new aB(Z), F, H, Z.impressionPings, D, r.adsEngagementPanelRenderer.adLayoutLoggingData, M) + }), []; + if (r.adsEngagementPanelLayoutViewModel) return vI(b, c.elementId, u, r.adsEngagementPanelLayoutViewModel.isContentVideoEngagementPanel, r.adsEngagementPanelLayoutViewModel.adVideoId, r.adsEngagementPanelLayoutViewModel.associatedCompositePlayerBytesLayoutId, t, y, function (D, F, H, M) { var N = a.j.get(), Q = D.slotId, Z = r.adsEngagementPanelLayoutViewModel; D = zC(a.Me.get(), D); return UI(N, Q, "LAYOUT_TYPE_PANEL", new bB(Z), F, H, D, r.adsEngagementPanelLayoutViewModel.adLayoutLoggingData, M) }), []; + if (r.actionCompanionAdRenderer != null) { + if (r.actionCompanionAdRenderer.showWithoutLinkedMediaLayout) return Qya(a.B.get(), a.C, a.j.get(), r.actionCompanionAdRenderer, t, y, d, q); vI(b, c.elementId, u, r.actionCompanionAdRenderer.isContentVideoCompanion, r.actionCompanionAdRenderer.adVideoId, r.actionCompanionAdRenderer.associatedCompositePlayerBytesLayoutId, t, y, function (D, F, H, M) { + var N = a.j.get(), Q = D.slotId, Z = r.actionCompanionAdRenderer; D = zC(a.Me.get(), D); return TI(N, Q, "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", + new ZA(Z), F, H, Z.impressionPings, D, r.actionCompanionAdRenderer.adLayoutLoggingData, M) + }) + } else if (r.topBannerImageTextIconButtonedLayoutViewModel !== void 0) { + if (r.topBannerImageTextIconButtonedLayoutViewModel.showWithoutLinkedMediaLayout) return Rya(a.B.get(), a.C, a.j.get(), r.topBannerImageTextIconButtonedLayoutViewModel, t, y, d, q); + vI(b, c.elementId, u, r.topBannerImageTextIconButtonedLayoutViewModel.isContentVideoCompanion, r.topBannerImageTextIconButtonedLayoutViewModel.adVideoId, r.topBannerImageTextIconButtonedLayoutViewModel.associatedCompositePlayerBytesLayoutId, t, y, function (D, F, H, M) { var N = a.j.get(), Q = D.slotId, Z = r.topBannerImageTextIconButtonedLayoutViewModel; D = zC(a.Me.get(), D); return UI(N, Q, "LAYOUT_TYPE_COMPANION_WITH_ACTION_BUTTON", new $A(Z), F, H, D, r.topBannerImageTextIconButtonedLayoutViewModel.adLayoutLoggingData, M) }) + } else if (r.imageCompanionAdRenderer) vI(b, + c.elementId, u, r.imageCompanionAdRenderer.isContentVideoCompanion, r.imageCompanionAdRenderer.adVideoId, r.imageCompanionAdRenderer.associatedCompositePlayerBytesLayoutId, t, y, function (D, F, H, M) { + var N = a.j.get(), Q = D.slotId, Z = r.imageCompanionAdRenderer; + D = zC(a.Me.get(), D); return TI(N, Q, "LAYOUT_TYPE_COMPANION_WITH_IMAGE", new fB(Z), F, H, Z.impressionPings, D, r.imageCompanionAdRenderer.adLayoutLoggingData, M) + }); + else if (r.bannerImageLayoutViewModel) vI(b, c.elementId, u, r.bannerImageLayoutViewModel.isContentVideoCompanion, r.bannerImageLayoutViewModel.adVideoId, r.bannerImageLayoutViewModel.associatedCompositePlayerBytesLayoutId, t, y, function (D, F, H, M) { var N = a.j.get(), Q = D.slotId, Z = r.bannerImageLayoutViewModel; D = zC(a.Me.get(), D); return UI(N, Q, "LAYOUT_TYPE_COMPANION_WITH_IMAGE", new gB(Z), F, H, D, r.bannerImageLayoutViewModel.adLayoutLoggingData, M) }); + else if (r.shoppingCompanionCarouselRenderer) vI(b, c.elementId, u, r.shoppingCompanionCarouselRenderer.isContentVideoCompanion, r.shoppingCompanionCarouselRenderer.adVideoId, r.shoppingCompanionCarouselRenderer.associatedCompositePlayerBytesLayoutId, t, y, function (D, F, H, M) { var N = a.j.get(), Q = D.slotId, Z = r.shoppingCompanionCarouselRenderer; D = zC(a.Me.get(), D); return TI(N, Q, "LAYOUT_TYPE_COMPANION_WITH_SHOPPING", new hB(Z), F, H, Z.impressionPings, D, r.shoppingCompanionCarouselRenderer.adLayoutLoggingData, M) }); + else if (r.adBreakServiceRenderer) { + if (!Oya(c)) return []; if (u === "AD_PLACEMENT_KIND_PAUSE") return Nya(a.B.get(), t, y, c.renderer.adBreakServiceRenderer, d); if (u !== "AD_PLACEMENT_KIND_CUE_POINT_TRIGGERED" && u !== "AD_PLACEMENT_KIND_PREFETCH_TRIGGERED") return Mya(a.B.get(), t, y, c.renderer.adBreakServiceRenderer, d, e, f); if (!a.rk) return new rC("Received AD_PLACEMENT_KIND_CUE_POINT_TRIGGERED with no CuePointOpportunityAdapter set for interface"); l.Vb || Ny("Received non-live cue point triggered AdBreakServiceRenderer", + void 0, void 0, { kind: u, adPlacementConfig: t, daiEnabledForContentVideo: String(f), isServedFromLiveInfra: String(l.Vb), clientPlaybackNonce: l.clientPlaybackNonce }); xAa(a.rk, { adPlacementRenderer: c, contentCpn: d, Mp: e }); if (u === "AD_PLACEMENT_KIND_PREFETCH_TRIGGERED") { if (!a.Ia) return new rC("Received AD_PLACEMENT_KIND_CUE_POINT_TRIGGERED with no playerControlsApiProvider set for interface"); e = a.Ia.get().getCurrentTimeSec(1, !1); return yAa(a.B.get(), c.renderer.adBreakServiceRenderer, t, e, d, y, f) } + } else { + if (r.clientForecastingAdRenderer) return Vza(a.B.get(), + a.j.get(), t, y, r.clientForecastingAdRenderer, d, e, q); if (r.invideoOverlayAdRenderer) return Zza(a.B.get(), a.j.get(), t, y, r.invideoOverlayAdRenderer, d, e, q); if (r.instreamAdPlayerOverlayRenderer) return Xza(a.B.get(), a.j.get(), t, y, r.instreamAdPlayerOverlayRenderer, d, q); if ((r.linearAdSequenceRenderer || r.instreamVideoAdRenderer) && A) return Oza(a.B.get(), a.j.get(), c, d, q, n, !a.Aa.get().J.U().L("html5_override_ad_video_length_killswitch")); if (r.linearAdSequenceRenderer && !A) { + if (h) return []; tI(b, r, u); if (r.linearAdSequenceRenderer.adLayoutMetadata) { if (!Dya(r.linearAdSequenceRenderer)) return new rC("Received invalid LinearAdSequenceRenderer.") } else if (r.linearAdSequenceRenderer.linearAds == + null) return new rC("Received invalid LinearAdSequenceRenderer."); if (g.R(r.linearAdSequenceRenderer.adStart, RI)) { Ny("Found AdNotify in LinearAdSequenceRenderer"); c = g.R(r.linearAdSequenceRenderer.adStart, RI); if (!nya(c)) return new rC("Invalid AdMessageRenderer."); f = r.linearAdSequenceRenderer.linearAds; return hAa(a.D.get(), a.B.get(), a.j.get(), a.Me.get(), t, y, c, RH(r.linearAdSequenceRenderer.adLayoutMetadata) ? r.linearAdSequenceRenderer.adLayoutMetadata : void 0, f, d, e, l, q, m, a.loadPolicy, a.Aa.get()) } return mAa(a.B.get(), + a.j.get(), t, y, r.linearAdSequenceRenderer.linearAds, RH(r.linearAdSequenceRenderer.adLayoutMetadata) ? r.linearAdSequenceRenderer.adLayoutMetadata : void 0, d, e, l, q, m, a.loadPolicy, a.Aa.get(), p) + } if (!r.remoteSlotsRenderer || f) { + if (r.instreamVideoAdRenderer && !A) { if (h) return []; tI(b, r, u); return dza(a.B.get(), a.j.get(), t, y, r.instreamVideoAdRenderer, d, e, l, q, m, a.loadPolicy, a.Aa.get(), a.Me.get(), p) } if (r.instreamSurveyAdRenderer) return qAa(a.B.get(), a.j.get(), r.instreamSurveyAdRenderer, t, y, d, q, QI(a.Aa.get(), "supports_multi_step_on_desktop")); + if (r.sandwichedLinearAdRenderer != null) return Eya(r.sandwichedLinearAdRenderer) ? g.R(r.sandwichedLinearAdRenderer.adVideoStart, RI) ? (Ny("Found AdNotify in SandwichedLinearAdRenderer"), c = g.R(r.sandwichedLinearAdRenderer.adVideoStart, RI), nya(c) ? (f = g.R(r.sandwichedLinearAdRenderer.linearAd, aI)) ? $ya(c, f, t, a.D.get(), a.B.get(), a.j.get(), a.Me.get(), y, d, e, l, q, m, a.loadPolicy, a.Aa.get()) : new rC("Missing IVAR from Sandwich") : new rC("Invalid AdMessageRenderer.")) : mAa(a.B.get(), a.j.get(), t, y, [r.sandwichedLinearAdRenderer.adVideoStart, + r.sandwichedLinearAdRenderer.linearAd], void 0, d, e, l, q, m, a.loadPolicy, a.Aa.get()) : new rC("Received invalid SandwichedLinearAdRenderer."); if (r.videoAdTrackingRenderer != null) return l = QI(a.Aa.get(), "enable_h5_shorts_ad_terminal_events") && l.Bk, Tza(a.B.get(), a.j.get(), r.videoAdTrackingRenderer, t, y, d, e, l, q) + } + } return [] + }; + VI = function (a, b, c, d, e, f, h, l) { + g.O.call(this); var m = this; this.B = a; this.C = b; this.xf = d; this.Ia = e; this.Aa = f; this.Oa = h; this.Gc = l; this.j = null; c.get().addListener(this); this.addOnDisposeCallback(function () { c.La() || c.get().removeListener(m) }); + d.get().addListener(this); this.addOnDisposeCallback(function () { d.La() || d.get().removeListener(m) }) + }; + xAa = function (a, b) { if (a.j) Ny("Unexpected multiple fetch instructions for the current content"); else { a.j = b; b = g.w(a.xf.get().WM); for (var c = b.next(); !c.done; c = b.next())zAa(a, a.j, c.value) } }; + zAa = function (a, b, c) { + var d = a.Ia.get().getCurrentTimeSec(1, !1); a.Aa.get().J.U().Ac() && JG(a.Oa.get(), "sdai", "onopp.1;evt." + c.event + ";start." + c.startSecs.toFixed(3) + ";d." + c.Dh.toFixed(3)); BD(a.B.get(), "OPPORTUNITY_TYPE_LIVE_STREAM_BREAK_SIGNAL", function () { + var e = a.C.get(), f = b.adPlacementRenderer.renderer.adBreakServiceRenderer, h = b.contentCpn, l = b.adPlacementRenderer.adSlotLoggingData, m = WI(a.Aa.get()), n = a.Oa; if (e.Aa.get().J.U().experiments.kb("enable_smearing_expansion_dai")) { + var p = g.AC(e.Aa.get().J.U().experiments, + "max_prefetch_window_sec_for_livestream_optimization"); var q = g.AC(e.Aa.get().J.U().experiments, "min_prefetch_offset_sec_for_livestream_optimization"); m = { Zm: AAa(c), XB: !1, cueProcessedMs: d * 1E3 }; var r = c.startSecs + c.Dh; if (d === 0) m.Sn = new Dp(0, r * 1E3); else { q = c.startSecs - q; var t = q - d; m.Sn = t <= 0 ? new Dp(q * 1E3, r * 1E3) : new Dp(Math.floor(d + Math.random() * Math.min(t, p)) * 1E3, r * 1E3) } p = m + } else p = { Zm: AAa(c), XB: !1 }, r = c.startSecs + c.Dh, c.startSecs <= d ? m = new Dp((c.startSecs - 4) * 1E3, r * 1E3) : (q = Math.max(0, c.startSecs - d - 10), m = new Dp(Math.floor(d + + Math.random() * (m ? d === 0 ? 0 : Math.min(q, 5) : q)) * 1E3, r * 1E3)), p.Sn = m; f = rI(e, f, h, p, l, [new KB(c)]); e.Aa.get().J.U().experiments.kb("html5_add_dai_smearing_to_qoe") ? (h = n.get(), e = p.Sn.start / 1E3 - d, n = c.startSecs - d, (h = h.J.Vc()) != null && (h = h.hc(), h.qoe && (h = h.qoe, h.provider.W.L("html5_add_dai_smearing_to_qoe") && (l = g.XI(h.provider) * 1E3, p = h.j.daism || [], p.push("t." + l.toFixed(0) + ";smw." + (e * 1E3).toFixed(0) + ";smo." + (n * 1E3).toFixed(0)), h.j.daism = p)))) : JG(n.get(), "daism", "ct." + Date.now() + ";cmt." + d + ";smw." + (p.Sn.start / 1E3 - + d) + ";tw." + (c.startSecs - d) + ";cid." + c.identifier.replaceAll(":", "_") + ";sid." + f.slotId); return [f] + }) + }; + YI = function (a) { + var b, c = (b = tC(a.Ca, "metadata_type_player_bytes_callback_ref")) == null ? void 0 : b.current; if (!c) return null; b = tC(a.Ca, "metadata_type_ad_pod_skip_target_callback_ref"); var d = a.layoutId, e = tC(a.Ca, "metadata_type_content_cpn"), f = tC(a.Ca, "metadata_type_instream_ad_player_overlay_renderer"), h = tC(a.Ca, "metadata_type_player_overlay_layout_renderer"), l = tC(a.Ca, "metadata_type_player_underlay_renderer"), m = tC(a.Ca, "metadata_type_ad_placement_config"), n = tC(a.Ca, "metadata_type_video_length_seconds"); + var p = nC(a.Ca, "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds") ? tC(a.Ca, "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds") : nC(a.Ca, "metadata_type_layout_enter_ms") && nC(a.Ca, "metadata_type_layout_exit_ms") ? (tC(a.Ca, "metadata_type_layout_exit_ms") - tC(a.Ca, "metadata_type_layout_enter_ms")) / 1E3 : void 0; return { + Sq: d, contentCpn: e, KS: c, lO: b, instreamAdPlayerOverlayRenderer: f, playerOverlayLayoutRenderer: h, instreamAdPlayerUnderlayRenderer: l, adPlacementConfig: m, videoLengthSeconds: n, cL: p, inPlayerLayoutId: tC(a.Ca, "metadata_type_linked_in_player_layout_id"), + inPlayerSlotId: tC(a.Ca, "metadata_type_linked_in_player_slot_id") + } + }; + CAa = function (a, b) { return BAa(a, b) }; + DAa = function (a, b) { b = BAa(a, b); if (!b) return null; var c; b.cL = (c = tC(a.Ca, "metadata_type_ad_pod_info")) == null ? void 0 : c.adBreakRemainingLengthSeconds; return b }; + BAa = function (a, b) { + var c, d = (c = tC(a.Ca, "metadata_type_player_bytes_callback_ref")) == null ? void 0 : c.current; if (!d) return null; c = hwa(a, b); return { + e7: gwa(a, b), adPlacementConfig: tC(a.Ca, "metadata_type_ad_placement_config"), h7: c, contentCpn: tC(a.Ca, "metadata_type_content_cpn"), inPlayerLayoutId: tC(a.Ca, "metadata_type_linked_in_player_layout_id"), inPlayerSlotId: tC(a.Ca, "metadata_type_linked_in_player_slot_id"), instreamAdPlayerOverlayRenderer: tC(a.Ca, "metadata_type_instream_ad_player_overlay_renderer"), playerOverlayLayoutRenderer: void 0, + instreamAdPlayerUnderlayRenderer: void 0, cL: void 0, KS: d, Sq: a.layoutId, videoLengthSeconds: tC(a.Ca, "metadata_type_video_length_seconds") + } + }; + ZI = function (a, b, c, d, e, f, h, l, m) { g.O.call(this); this.D = a; this.K = b; this.G = c; this.C = d; this.j = e; this.B = f; this.Me = h; this.Aa = l; this.Sa = m; this.jh = !0 }; + EAa = function (a, b, c) { return gza(a.j.get(), b.contentCpn, b.Sq, function (d) { return hza(a.B.get(), d.slotId, c, b.adPlacementConfig, b.Sq, zC(a.Me.get(), d)) }) }; + $I = function (a, b, c, d, e, f, h, l) { g.O.call(this); this.B = a; this.j = b; this.C = c; this.Aa = d; this.D = e; this.Sa = f; this.Ia = h; this.zc = l }; + aJ = function (a) { g.O.call(this); this.j = a }; + BD = function (a, b, c, d) { + a.j().Qg(b, d); c = c(); a = a.j(); a.Rb.JI("ADS_CLIENT_EVENT_TYPE_OPPORTUNITY_PROCESSED", b, d, c); b = g.w(c); for (c = b.next(); !c.done; c = b.next())a: { + d = a; c = c.value; d.Rb.dk("ADS_CLIENT_EVENT_TYPE_SLOT_RECEIVED", c); d.Rb.dk("ADS_CLIENT_EVENT_TYPE_SCHEDULE_SLOT_REQUESTED", c); try { + var e = d.j; if (g.pb(c.slotId)) throw new rC("Slot ID was empty", void 0, "ADS_CLIENT_ERROR_MESSAGE_INVALID_SLOT"); if (IC(e, c)) throw new rC("Duplicate registration for slot.", { slotId: c.slotId, slotEntryTriggerType: c.slotEntryTrigger.triggerType }, + "ADS_CLIENT_ERROR_MESSAGE_DUPLICATE_SLOT"); if (!e.ph.St.has(c.slotType)) throw new rC("No fulfillment adapter factory registered for slot of type: " + c.slotType, void 0, "ADS_CLIENT_ERROR_MESSAGE_NO_FULFILLMENT_ADAPTER_REGISTERED"); if (!e.ph.zv.has(c.slotType)) throw new rC("No SlotAdapterFactory registered for slot of type: " + c.slotType, void 0, "ADS_CLIENT_ERROR_MESSAGE_NO_SLOT_ADAPTER_REGISTERED"); ZC(e, "TRIGGER_CATEGORY_SLOT_ENTRY", c.slotEntryTrigger ? [c.slotEntryTrigger] : []); ZC(e, "TRIGGER_CATEGORY_SLOT_FULFILLMENT", + c.slotFulfillmentTriggers); ZC(e, "TRIGGER_CATEGORY_SLOT_EXPIRATION", c.slotExpirationTriggers); var f = d.j, h = c.slotType + "_" + c.slotPhysicalPosition, l = UC(f, h); if (IC(f, c)) throw new rC("Duplicate slots not supported", void 0, "ADS_CLIENT_ERROR_MESSAGE_DUPLICATE_SLOT"); l.set(c.slotId, new ava(c)); f.j.set(h, l) + } catch (fa) { + fa instanceof rC && fa.ql ? (d.Rb.mm("ADS_CLIENT_ERROR_TYPE_REGISTER_SLOT_FAILED", fa.ql, c), Ny(fa, c, void 0, void 0, fa.Fw)) : (d.Rb.mm("ADS_CLIENT_ERROR_TYPE_REGISTER_SLOT_FAILED", "ADS_CLIENT_ERROR_MESSAGE_UNEXPECTED_ERROR", + c), Ny(fa, c)); break a + } IC(d.j, c).K = !0; try { + var m = d.j, n = IC(m, c), p = c.slotEntryTrigger, q = m.ph.vn.get(p.triggerType); q && (q.Ql("TRIGGER_CATEGORY_SLOT_ENTRY", p, c, null), n.Ba.set(p.triggerId, q)); for (var r = g.w(c.slotFulfillmentTriggers), t = r.next(); !t.done; t = r.next()) { var u = t.value, y = m.ph.vn.get(u.triggerType); y && (y.Ql("TRIGGER_CATEGORY_SLOT_FULFILLMENT", u, c, null), n.qa.set(u.triggerId, y)) } for (var A = g.w(c.slotExpirationTriggers), D = A.next(); !D.done; D = A.next()) { + var F = D.value, H = m.ph.vn.get(F.triggerType); H && (H.Ql("TRIGGER_CATEGORY_SLOT_EXPIRATION", + F, c, null), n.Y.set(F.triggerId, H)) + } var M = m.ph.St.get(c.slotType).get().build(m.C, c); n.N = M; var N = m.ph.zv.get(c.slotType).get().build(m.G, c); N.init(); n.B = N + } catch (fa) { fa instanceof rC && fa.ql ? (d.Rb.mm("ADS_CLIENT_ERROR_TYPE_SCHEDULE_SLOT_FAILED", fa.ql, c), Ny(fa, c, void 0, void 0, fa.Fw)) : (d.Rb.mm("ADS_CLIENT_ERROR_TYPE_SCHEDULE_SLOT_FAILED", "ADS_CLIENT_ERROR_MESSAGE_UNEXPECTED_ERROR", c), Ny(fa, c)); FC(d, c, !0); break a } d.Rb.dk("ADS_CLIENT_EVENT_TYPE_SLOT_SCHEDULED", c); d.j.Rg(c); for (var Q = g.w(d.B), Z = Q.next(); !Z.done; Z = + Q.next())Z.value.Rg(c); LC(d, c) + } + }; + bJ = function (a, b, c, d, e) { g.O.call(this); var f = this; this.B = a; this.C = b; this.Pc = c; this.context = e; this.j = new Map; d.get().addListener(this); this.addOnDisposeCallback(function () { d.La() || d.get().removeListener(f) }) }; + Hya = function (a, b) { var c = 0x8000000000000; var d = 0; for (var e = g.w(b.slotFulfillmentTriggers), f = e.next(); !f.done; f = e.next())f = f.value, f instanceof CH ? (c = Math.min(c, f.j.start), d = Math.max(d, f.j.end)) : Ny("Found unexpected fulfillment trigger for throttled slot.", b, null, { fulfillmentTrigger: f }); d = new Dp(c, d); c = "throttledadcuerange:" + b.slotId; a.j.set(c, b); a.Pc.get().addCueRange(c, d.start, d.end, !1, a); cJ(a.context.Aa.get()) && (b = d.start, d = d.end, e = {}, a.context.Nn.Gk("tcrr", (e.cid = c, e.sm = b, e.em = d, e))) }; + dJ = function () { g.O.apply(this, arguments); this.jh = !0; this.nj = new Map; this.j = new Map }; + eJ = function (a, b) { a = g.w(a.nj.values()); for (var c = a.next(); !c.done; c = a.next())if (c.value.layoutId === b) return !0; return !1 }; + fJ = function (a, b) { a = g.w(a.j.values()); for (var c = a.next(); !c.done; c = a.next()) { c = g.w(c.value); for (var d = c.next(); !d.done; d = c.next())if (d = d.value, d.layoutId === b) return d } Ny("Trying to retrieve an unknown layout", void 0, void 0, { isEmpty: String(g.pb(b)), layoutId: b }) }; + FAa = function () { this.j = new Map }; + GAa = function (a, b) { this.callback = a; this.slot = b }; + gJ = function () { }; + HAa = function (a, b, c) { this.callback = a; this.slot = b; this.Ia = c }; + IAa = function (a, b, c) { this.callback = a; this.slot = b; this.Ia = c; this.B = !1; this.j = 0 }; + JAa = function (a, b, c) { this.callback = a; this.slot = b; this.Ia = c }; + hJ = function (a) { this.Ia = a }; + iJ = function (a) { g.O.call(this); this.FN = a; this.Wb = new Map }; + jJ = function (a, b) { for (var c = [], d = g.w(a.Wb.values()), e = d.next(); !e.done; e = d.next()) { e = e.value; var f = e.trigger; f instanceof OH && f.triggeringLayoutId === b && c.push(e) } c.length ? RC(a.FN(), c) : Ny("Survey is submitted but no registered triggers can be activated.") }; + kJ = function (a, b, c) { iJ.call(this, a); var d = this; this.Aa = c; b.get().addListener(this); this.addOnDisposeCallback(function () { b.La() || b.get().removeListener(d) }) }; + lJ = function (a) { g.O.call(this); this.j = a; this.jh = !0; this.Wb = new Map; this.G = new Set; this.C = new Set; this.D = new Set; this.K = new Set; this.B = new Set }; + mJ = function (a) { g.O.call(this); this.j = a; this.Wb = new Map }; + nJ = function (a, b) { for (var c = [], d = g.w(a.Wb.values()), e = d.next(); !e.done; e = d.next())e = e.value, e.trigger.j === b.layoutId && c.push(e); c.length && RC(a.j(), c) }; + oJ = function (a, b, c) { g.O.call(this); var d = this; this.j = a; this.context = c; this.Wb = new Map; b.get().addListener(this); this.addOnDisposeCallback(function () { b.La() || b.get().removeListener(d) }) }; + pJ = function (a, b, c, d, e) { g.O.call(this); var f = this; this.B = a; this.Pc = b; this.Ia = c; this.Sa = d; this.context = e; this.jh = !0; this.Wb = new Map; this.j = new Set; c.get().addListener(this); this.addOnDisposeCallback(function () { c.La() || c.get().removeListener(f) }) }; + KAa = function (a, b, c, d, e, f, h, l, m, n) { if (ZF(a.Sa.get(), 1).clientPlaybackNonce !== m) throw new rC("Cannot register CueRange-based trigger for different content CPN", { trigger: c }); a.Wb.set(c.triggerId, { nE: new QH(b, c, d, e), vJ: f }); a.Pc.get().addCueRange(f, h, l, n, a); cJ(a.context.Aa.get()) && (m = {}, a.context.Nn.Gk("crr", (m.ca = b, m.tt = c.triggerType, m.st = d.slotType, m.lt = e == null ? void 0 : e.layoutType, m.cid = f, m.sm = h, m.em = l, m))) }; + LAa = function (a, b) { a = g.w(a.Wb.entries()); for (var c = a.next(); !c.done; c = a.next()) { var d = g.w(c.value); c = d.next().value; d = d.next().value; if (b === d.vJ) return c } return "" }; + qJ = function (a, b) { + g.O.call(this); var c = this; this.D = a; this.B = new Map; this.C = new Map; this.j = null; b.get().addListener(this); this.addOnDisposeCallback(function () { b.La() || b.get().removeListener(c) }); + var d; this.j = ((d = b.get().Tw) == null ? void 0 : d.slotId) || null + }; + MAa = function (a, b) { var c = []; a = g.w(a.values()); for (var d = a.next(); !d.done; d = a.next())d = d.value, d.slot.slotId === b && c.push(d); return c }; + rJ = function (a) { g.O.call(this); this.j = a; this.jh = !0; this.Wb = new Map }; + AG = function (a, b, c) { b = b.layoutId; for (var d = [], e = g.w(a.Wb.values()), f = e.next(); !f.done; f = e.next())if (f = f.value, f.trigger instanceof FH) { var h; if (h = f.trigger.layoutId === b) { h = c; var l = Uua.get(f.category); h = l ? l === h : !1 } h && d.push(f) } d.length && RC(a.j(), d) }; + sJ = function (a) { g.O.call(this); this.j = a; this.jh = !0; this.Wb = new Map }; + tJ = function (a) { g.O.call(this); this.C = a; this.jh = !0; this.Wb = new Map; this.j = new Map; this.B = new Map }; + NAa = function (a, b) { var c = []; if (b = a.j.get(b.layoutId)) { b = g.w(b); for (var d = b.next(); !d.done; d = b.next())(d = a.B.get(d.value.triggerId)) && c.push(d) } return c }; + uJ = function (a) { g.O.call(this); this.j = a; this.Wb = new Map }; + OAa = function (a, b) { for (var c = [], d = g.w(a.Wb.values()), e = d.next(); !e.done; e = d.next())e = e.value, e.trigger instanceof sH && e.trigger.slotId === b && c.push(e); c.length >= 1 && RC(a.j(), c) }; + PAa = function (a, b) { + var c = { slotId: CD(b, "SLOT_TYPE_IN_PLAYER"), slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, slotEntryTrigger: void 0, slotFulfillmentTriggers: [], slotExpirationTriggers: [], bb: "surface", Ca: new sC([]) }, d = Object, e = d.assign; b = iD(b, "LAYOUT_TYPE_TEXT_BANNER_OVERLAY", c.slotId); b = { + layoutId: b, layoutType: "LAYOUT_TYPE_TEXT_BANNER_OVERLAY", Eb: new Map, layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "surface", Ca: new sC([]), + ac: Oua(!1, c.slotId, c.slotType, c.slotPhysicalPosition, c.bb, c.slotEntryTrigger, c.slotFulfillmentTriggers, c.slotExpirationTriggers, b, "LAYOUT_TYPE_TEXT_BANNER_OVERLAY", "surface") + }; return e.call(d, {}, a, { d$: !0, slot: c, layout: b }) + }; + Lya = function (a, b, c, d) { + var e = a.kind; d = d ? !1 : !a.hideCueRangeMarker; switch (e) { + case "AD_PLACEMENT_KIND_START": return d = { Zm: new Dp(-0x8000000000000, -0x8000000000000), XB: d }, c != null && (d.Sn = new Dp(-0x8000000000000, -0x8000000000000)), d; case "AD_PLACEMENT_KIND_END": return d = { Zm: new Dp(0x7ffffffffffff, 0x8000000000000), XB: d }, c != null && (d.Sn = new Dp(Math.max(0, b - c), 0x8000000000000)), d; case "AD_PLACEMENT_KIND_MILLISECONDS": e = a.adTimeOffset; e.offsetStartMilliseconds || Ny("AD_PLACEMENT_KIND_MILLISECONDS missing start milliseconds."); + e.offsetEndMilliseconds || Ny("AD_PLACEMENT_KIND_MILLISECONDS missing end milliseconds."); a = Number(e.offsetStartMilliseconds); e = Number(e.offsetEndMilliseconds); e === -1 && (e = b); if (Number.isNaN(a) || Number.isNaN(e) || a > e) return new rC("AD_PLACEMENT_KIND_MILLISECONDS endMs needs to be >= startMs.", { offsetStartMs: a, offsetEndMs: e }, "ADS_CLIENT_ERROR_MESSAGE_AD_PLACEMENT_END_SHOULD_GREATER_THAN_START", e === b && a - 500 <= e); d = { Zm: new Dp(a, e), XB: d }; if (c != null) { a = Math.max(0, a - c); if (a === e) return d; d.Sn = new Dp(a, e) } return d; + default: return new rC("AdPlacementKind not supported in convertToRange.", { kind: e, adPlacementConfig: a }) + } + }; + AAa = function (a) { var b = a.startSecs * 1E3; return new Dp(b, b + a.Dh * 1E3) }; + QAa = function (a) { if (!a || !a.adPlacements && !a.adSlots) return !1; for (var b = g.w(a.adPlacements || []), c = b.next(); !c.done; c = b.next())if (c = c.value) if (c = c.adPlacementRenderer, c != null && (c.config && c.config.adPlacementConfig && c.config.adPlacementConfig.kind) === "AD_PLACEMENT_KIND_START") return !0; a = g.w(a.adSlots || []); for (b = a.next(); !b.done; b = a.next()) { var d = c = void 0; if (((c = g.R(b.value, qI)) == null ? void 0 : (d = c.adSlotMetadata) == null ? void 0 : d.triggerEvent) === "SLOT_TRIGGER_EVENT_BEFORE_CONTENT") return !0 } return !1 }; + vJ = function (a) { this.Aa = a; this.B = new Map; this.j = new Map; this.C = new Map }; + CD = function (a, b) { if (wJ(a.Aa.get())) { var c = a.B.get(b) || 0; c++; a.B.set(b, c); return b + "_" + c } return g.Sv(16) }; + iD = function (a, b, c) { if (wJ(a.Aa.get())) { var d = a.j.get(b) || 0; d++; a.j.set(b, d); return c + "_" + b + "_" + d } return g.Sv(16) }; + EI = function (a, b) { if (wJ(a.Aa.get())) { var c = a.C.get(b) || 0; c++; a.C.set(b, c); return b + "_" + c } return g.Sv(16) }; + RAa = function (a) { var b = [new CB(a.Sq), new GB(a.KS), new kB(a.adPlacementConfig), new LB(a.videoLengthSeconds), new $B(a.cL)]; a.instreamAdPlayerOverlayRenderer && b.push(new rB(a.instreamAdPlayerOverlayRenderer)); a.playerOverlayLayoutRenderer && b.push(new sB(a.playerOverlayLayoutRenderer)); a.lO && b.push(new oB(a.lO)); return b }; + SAa = function (a, b, c, d, e, f) { + a = c.inPlayerLayoutId ? c.inPlayerLayoutId : iD(f, "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY", a); var h, l, m = c.instreamAdPlayerOverlayRenderer ? (h = c.instreamAdPlayerOverlayRenderer) == null ? void 0 : h.adLayoutLoggingData : (l = c.playerOverlayLayoutRenderer) == null ? void 0 : l.adLayoutLoggingData; h = { layoutId: a, layoutType: "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY", bb: b }; return { + layoutId: a, layoutType: "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY", Eb: new Map, layoutExitNormalTriggers: [new AH(function (n) { + return EI(f, + n) + }, c.Sq)], + layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: b, Ca: d, ac: e(h), adLayoutLoggingData: m + } + }; + xJ = function (a, b) { var c = this; this.B = a; this.Aa = b; this.j = function (d) { return EI(c.B.get(), d) } }; + hza = function (a, b, c, d, e, f) { + c = new sC([new tB(c), new kB(d)]); b = iD(a.B.get(), "LAYOUT_TYPE_UNDERLAY_TEXT_ICON_BUTTON", b); d = { layoutId: b, layoutType: "LAYOUT_TYPE_UNDERLAY_TEXT_ICON_BUTTON", bb: "core" }; return { + layoutId: b, layoutType: "LAYOUT_TYPE_UNDERLAY_TEXT_ICON_BUTTON", Eb: new Map, layoutExitNormalTriggers: [new AH(function (h) { return EI(a.B.get(), h) }, e)], + layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: c, ac: f(d), adLayoutLoggingData: void 0 + } + }; + yI = function (a, b, c, d, e) { var f = RAa(d); return SAa(b, c, d, new sC(f), e, a.B.get()) }; + TAa = function (a, b, c, d, e) { var f = RAa(d); f.push(new iB(d.e7)); f.push(new jB(d.h7)); return SAa(b, c, d, new sC(f), e, a.B.get()) }; + TI = function (a, b, c, d, e, f, h, l, m, n) { b = iD(a.B.get(), c, b); var p = { layoutId: b, layoutType: c, bb: "core" }, q = new Map; h && q.set("impression", h); h = [new DH(a.j, e, "SLOT_TYPE_PLAYER_BYTES", "LAYOUT_TYPE_MEDIA")]; n && h.push(new zH(a.j, n, ["normal"])); return { layoutId: b, layoutType: c, Eb: q, layoutExitNormalTriggers: h, layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([d, new kB(f), new CB(e)]), ac: l(p), adLayoutLoggingData: m } }; + UI = function (a, b, c, d, e, f, h, l, m) { b = iD(a.B.get(), c, b); var n = { layoutId: b, layoutType: c, bb: "core" }, p = [new DH(a.j, e, "SLOT_TYPE_PLAYER_BYTES", "LAYOUT_TYPE_MEDIA")]; m && p.push(new zH(a.j, m, ["normal"])); return { layoutId: b, layoutType: c, Eb: new Map, layoutExitNormalTriggers: p, layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([d, new kB(f), new CB(e)]), ac: h(n), adLayoutLoggingData: l } }; + JI = function (a, b, c) { var d = []; d.push(new EH(a.j, c)); b && d.push(b); return d }; + II = function (a, b, c, d, e, f, h) { var l = { layoutId: b, layoutType: c, bb: "core" }; return { layoutId: b, layoutType: c, Eb: new Map, layoutExitNormalTriggers: h, layoutExitSkipTriggers: [new vH(a.j, b)], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new eB(d), new kB(e)]), ac: f(l), adLayoutLoggingData: d.adLayoutLoggingData } }; + HI = function (a, b, c, d, e, f, h, l) { var m = { layoutId: b, layoutType: f, bb: "core" }; return { layoutId: b, layoutType: f, Eb: new Map, layoutExitNormalTriggers: [new AH(a.j, c)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new kB(d)].concat(g.x(h))), ac: e(m), adLayoutLoggingData: l } }; + LI = function (a, b, c, d) { if (a.Aa.get().Ve(b.kind === "AD_PLACEMENT_KIND_START")) if (c === void 0) Ny("Expected SSAP layout ID in renderer", void 0, void 0, { caller: d }); else return c }; + $za = function (a, b, c, d, e, f, h, l, m, n, p, q, r) { + a = KI(a, b, c, e, f, h, l, m, q, LI(a, c, d.layoutId, "createSubLayoutVodSkippableMediaBreakLayoutForEndcap"), r); b = a.Nz; c = new DB(a.NL); d = a.layoutExitSkipTriggers; n > 0 && (b.push(c), b.push(new nB(n)), d = []); b.push(new mB(p)); return { + Nf: { layoutId: a.layoutId, layoutType: a.layoutType, Eb: a.Eb, layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: a.bb, Ca: new sC(b), ac: a.ac, adLayoutLoggingData: a.adLayoutLoggingData }, + Dm: d, nk: a.layoutExitMuteTriggers, Rz: a.layoutExitUserInputSubmittedTriggers, Qz: a.Yc, qf: a.qf + } + }; + dAa = function (a, b, c, d, e, f, h, l, m, n) { + b = KI(a, b, c, d, f, new Map, h, function (p) { return l(p, m) }, void 0, LI(a, c, e.layoutId, "createSubLayoutVodSkippableMediaBreakLayoutForVodSurvey")); + a = new OH(a.j, b.NL); c = new DB(b.NL); n = new mB(n); return { Nf: { layoutId: b.layoutId, layoutType: b.layoutType, Eb: b.Eb, layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: b.bb, Ca: new sC([].concat(g.x(b.Nz), [c, n])), ac: b.ac, adLayoutLoggingData: b.adLayoutLoggingData }, Dm: b.layoutExitSkipTriggers, nk: b.layoutExitMuteTriggers, Rz: [].concat(g.x(b.layoutExitUserInputSubmittedTriggers), [a]), Qz: b.Yc, qf: b.qf } + }; + KI = function (a, b, c, d, e, f, h, l, m, n, p) { + b = n != null ? n : iD(a.B.get(), "LAYOUT_TYPE_MEDIA_BREAK", b); n = { layoutId: b, layoutType: "LAYOUT_TYPE_MEDIA_BREAK", bb: "adapter" }; l = l(b); var q = tC(l.Ca, "metadata_type_fulfilled_layout"); q || Ny("Could not retrieve overlay layout ID during VodSkippableMediaBreakLayout creation. This should never happen."); var r = q ? q.layoutId : ""; c = [new kB(c), new aC(d), new dC(e)]; q && c.push(new EB(q.layoutType)); p && c.push(new RB(p)); return { + layoutId: b, layoutType: "LAYOUT_TYPE_MEDIA_BREAK", Eb: f, layoutExitNormalTriggers: [], + layoutExitSkipTriggers: [new HH(a.j, r)], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "adapter", Nz: c, ac: h(n), adLayoutLoggingData: m, qf: l, NL: r + } + }; + eza = function (a, b, c, d, e, f, h, l, m, n, p) { a = UAa(a, b, "core", c, d, e, f, h, l, m, n, void 0, p); return { layoutId: a.layoutId, layoutType: a.layoutType, Eb: a.Eb, layoutExitNormalTriggers: a.layoutExitNormalTriggers, layoutExitSkipTriggers: a.layoutExitSkipTriggers, layoutExitMuteTriggers: a.layoutExitMuteTriggers, layoutExitUserInputSubmittedTriggers: a.layoutExitUserInputSubmittedTriggers, Yc: a.Yc, bb: a.bb, Ca: new sC(a.vX), ac: a.ac, adLayoutLoggingData: a.adLayoutLoggingData } }; + oAa = function (a, b, c, d, e, f, h, l, m, n, p, q, r) { + b = UAa(a, b, "adapter", c, d, e, f, h, l, m, p, q, r); d = b.layoutExitSkipTriggers; e = b.vX; c.adPodSkipTarget && c.adPodSkipTarget > 0 && (e.push(n), e.push(new nB(c.adPodSkipTarget)), d = []); e.push(new mB(l.adPodIndex)); c.isCritical && (d = [new zH(a.j, b.layoutId, ["error"])].concat(g.x(d))); return { + Nf: { + layoutId: b.layoutId, layoutType: b.layoutType, Eb: b.Eb, layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: b.bb, Ca: new sC(e), + ac: b.ac, adLayoutLoggingData: b.adLayoutLoggingData + }, Dm: d, nk: b.layoutExitMuteTriggers, Rz: b.layoutExitUserInputSubmittedTriggers, Qz: b.Yc + } + }; + UAa = function (a, b, c, d, e, f, h, l, m, n, p, q, r) { + var t = { layoutId: b, layoutType: "LAYOUT_TYPE_MEDIA", bb: c }; e = [new kB(e), new lB(m), new pB(d.externalVideoId), new qB(l), new dC({ impressionCommands: d.impressionCommands, abandonCommands: d.onAbandonCommands, completeCommands: d.completeCommands, progressCommands: d.adVideoProgressCommands }), new MB(f), new HB({ current: null }), new LB(h)]; (f = d.playerOverlay.instreamAdPlayerOverlayRenderer) && e.push(new rB(f)); (h = d.playerOverlay.playerOverlayLayoutRenderer) && e.push(new sB(h)); + q && e.push(new NB(q)); (q = d.playerUnderlay) && e.push(new tB(q)); l = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"); q = (q = f ? f.elementId : h == null ? void 0 : h.layoutId) ? q : iD(a.B.get(), "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY", l); e.push(new DB(q)); e.push(new FB(l)); e.push(new RB(m.adPodIndex)); d.adNextParams && e.push(new cB(d.adNextParams)); d.shrunkenPlayerBytesConfig && e.push(new wB(d.shrunkenPlayerBytesConfig)); d.clickthroughEndpoint && e.push(new dB(d.clickthroughEndpoint)); d.legacyInfoCardVastExtension && e.push(new bC(d.legacyInfoCardVastExtension)); + d.sodarExtensionData && e.push(new OB(d.sodarExtensionData)); p && e.push(new ZB(p)); e.push(new gC(KD(d.pings))); m = LD(d.pings); if (r) { a: { r = g.w(r); for (p = r.next(); !p.done; p = r.next())if (p = p.value, p.adSlotMetadata.slotType === "SLOT_TYPE_PLAYER_UNDERLAY" && (f = g.R(p.fulfillmentContent.fulfilledLayout, hI)) && (f = g.R(f.renderingContent, gI)) && f.associatedPlayerBytesLayoutId === b) { r = p; break a } r = void 0 } r && e.push(new uB(r)) } return { + layoutId: b, layoutType: "LAYOUT_TYPE_MEDIA", Eb: m, layoutExitNormalTriggers: [new FH(a.j, b)], layoutExitSkipTriggers: d.skipOffsetMilliseconds ? + [new HH(a.j, q)] : [], layoutExitMuteTriggers: [new HH(a.j, q)], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: c, vX: e, ac: n(t), adLayoutLoggingData: d.adLayoutLoggingData + } + }; + Qza = function (a, b, c, d, e, f, h, l, m) { + d.every(function (p) { return oC(p, [], ["LAYOUT_TYPE_MEDIA"]) }) || Ny("Unexpect subLayout type for DAI composite layout"); + b = iD(a.B.get(), "LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES", b); var n = { layoutId: b, layoutType: "LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES", bb: "core" }; return { layoutId: b, layoutType: "LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES", Eb: new Map, layoutExitNormalTriggers: [new BH(a.j)], layoutExitSkipTriggers: [], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], Yc: [], bb: "core", Ca: new sC([new PB(c), new QB(l), new JB(d), new kB(e), new VB(f), new SB({}), new iC(m)]), ac: h(n) } + }; + Lza = function (a) { return a != null }; + yJ = function (a, b, c) { var d = this; this.B = a; this.C = b; this.Aa = c; this.j = function (e) { return EI(d.B.get(), e) } }; + yAa = function (a, b, c, d, e, f, h) { + if (!c.highCcvPrefetchConfig) return new rC("AdPlacementConfig for Live Prefetch is missing high_ccv_prefetch_config"); c = c.highCcvPrefetchConfig; d *= 1E3; var l = []; if (!c.breakLengthMs) return new rC("AdPlacementConfig for Live Prefetch is missing break_length_ms"); for (var m = g.w(c.breakLengthMs), n = m.next(); !n.done; n = m.next())if (n = n.value, Number(n) > 0) { + var p = d + Number(c.startTimeOffsetMs), q = p + Number(c.cacheFetchSmearingDurationMs); p = { + Zm: new Dp(q, q + Number(n)), XB: !1, Sn: new Dp(Math.floor(p + + Math.random() * Number(c.cacheFetchSmearingDurationMs)), q) + }; q = []; q.push(new mC({ breakLengthMs: Number(n) })); h && q.push(new SB({})); l.push(rI(a, b, e, p, f, q)) + } return l + }; + rI = function (a, b, c, d, e, f) { + f = f === void 0 ? [] : f; var h = CD(a.B.get(), "SLOT_TYPE_AD_BREAK_REQUEST"), l = []; d.Sn && d.Sn.start !== d.Zm.start && l.push(new CH(a.j, c, new Dp(d.Sn.start, d.Zm.start), !1)); l.push(new CH(a.j, c, new Dp(d.Zm.start, d.Zm.end), d.XB)); d = { getAdBreakUrl: b.getAdBreakUrl, WS: d.Zm.start, VS: d.Zm.end, cueProcessedMs: d.cueProcessedMs }; b = new LH(a.j, h); f = [new XB(d)].concat(g.x(f)); return { + slotId: h, slotType: "SLOT_TYPE_AD_BREAK_REQUEST", slotPhysicalPosition: 1, slotEntryTrigger: b, slotFulfillmentTriggers: l, slotExpirationTriggers: [new GH(a.j, + c), new JH(a.j, h), new KH(a.j, h)], bb: "core", Ca: new sC(f), adSlotLoggingData: e + } + }; + WAa = function (a, b, c) { var d = []; c = g.w(c); for (var e = c.next(); !e.done; e = c.next())d.push(VAa(a, b, e.value)); return d }; + VAa = function (a, b, c) { return c.triggeringSlotId != null && c.triggeringSlotId === a ? c.clone(b) : c }; + zza = function (a, b, c, d, e) { return XAa(a, b, c, d, e) }; + aAa = function (a, b, c, d) { var e = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"); return XAa(a, e, b, c, d) }; + XAa = function (a, b, c, d, e) { var f = new yH(a.j, c), h = [new IH(a.j, b)]; a = [new JH(a.j, b), new GH(a.j, d)]; return { slotId: b, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: a, bb: "core", Ca: new sC([new WB(e({ slotId: b, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: a }, c))]), adSlotLoggingData: void 0 } }; + pAa = function (a, b, c, d, e, f) { + var h = CD(a.B.get(), "SLOT_TYPE_PLAYER_BYTES"), l = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"), m = iD(a.B.get(), "LAYOUT_TYPE_SURVEY", l); d = zJ(a, b, c, d); var n = [new IH(a.j, h)]; c = [new JH(a.j, h), new GH(a.j, c), new vH(a.j, m)]; if (d instanceof rC) return d; l = f({ slotId: h, slotType: "SLOT_TYPE_PLAYER_BYTES", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: d, slotFulfillmentTriggers: n, slotExpirationTriggers: c }, { slotId: l, layoutId: m }); f = l.K$; l = l.Z9; return [{ + slotId: h, slotType: "SLOT_TYPE_PLAYER_BYTES", slotPhysicalPosition: 1, + slotEntryTrigger: NI(a, b, h, d), slotFulfillmentTriggers: OI(a, b, h, n), slotExpirationTriggers: c, bb: "core", Ca: new sC([new WB(f), new jC(PI(b)), new lC({ yu: a.yu(b) })]), adSlotLoggingData: e + }, l] + }; + PI = function (a) { return a.kind === "AD_PLACEMENT_KIND_START" }; + fza = function (a, b, c, d, e) { e = e ? e : CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"); c = new yH(a.j, c); var f = [new IH(a.j, e)]; a = [new GH(a.j, b), new JH(a.j, e)]; return { slotId: e, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, slotEntryTrigger: c, slotFulfillmentTriggers: f, slotExpirationTriggers: a, bb: "core", Ca: new sC([new WB(d({ slotId: e, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: c, slotFulfillmentTriggers: f, slotExpirationTriggers: a }))]) } }; + gza = function (a, b, c, d) { var e = CD(a.B.get(), "SLOT_TYPE_PLAYER_UNDERLAY"); c = new yH(a.j, c); var f = [new IH(a.j, e)]; a = [new GH(a.j, b), new JH(a.j, e)]; return { slotId: e, slotType: "SLOT_TYPE_PLAYER_UNDERLAY", slotPhysicalPosition: 1, slotEntryTrigger: c, slotFulfillmentTriggers: f, slotExpirationTriggers: a, bb: "core", Ca: new sC([new WB(d({ slotId: e, slotType: "SLOT_TYPE_PLAYER_UNDERLAY", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: c, slotFulfillmentTriggers: f, slotExpirationTriggers: a }))]) } }; + Yya = function (a, b, c, d, e, f, h) { + var l = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"), m = iD(a.B.get(), "LAYOUT_TYPE_TEXT_BANNER_OVERLAY", l); d = YAa(a, d, f, h, m); if (d instanceof rC) return d; h = [new IH(a.j, l)]; e = [new GH(a.j, f), new IH(a.j, e), new NH(a.j, e)]; c = zC(c, { slotId: l, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: d, slotFulfillmentTriggers: h, slotExpirationTriggers: e }); a = a.C.get(); f = { layoutId: m, layoutType: "LAYOUT_TYPE_TEXT_BANNER_OVERLAY", bb: "core" }; b = { + layoutId: m, layoutType: "LAYOUT_TYPE_TEXT_BANNER_OVERLAY", + Eb: new Map, layoutExitNormalTriggers: [new jya(a.j, m, b.durationMs)], layoutExitSkipTriggers: [new lya(a.j, m, b.durationMs)], Yc: [new kya(a.j, m)], layoutExitMuteTriggers: [], layoutExitUserInputSubmittedTriggers: [], bb: "core", Ca: new sC([new cC(b)]), ac: c(f) + }; return { slotId: l, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: d, slotFulfillmentTriggers: h, slotExpirationTriggers: e, Ca: new sC([new WB(b)]) } + }; + Yza = function (a, b, c, d, e, f) { + b = zJ(a, b, c, d); if (b instanceof rC) return b; var h = b instanceof CH ? new gya(a.j, c, b.j) : null; d = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"); var l = [new IH(a.j, d)]; a = [new GH(a.j, c), new JH(a.j, d)]; f = f({ slotId: d, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: b, slotFulfillmentTriggers: l, slotExpirationTriggers: a }, h); return f instanceof qC ? new rC(f) : { + slotId: d, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, slotEntryTrigger: b, slotFulfillmentTriggers: l, slotExpirationTriggers: a, + bb: "core", Ca: new sC([new WB(f)]), adSlotLoggingData: e + } + }; + Wza = function (a, b, c, d) { var e = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"), f = new uH(a.j, b), h = [new MH(a.j, e)]; a = [new GH(a.j, b), new JH(a.j, e)]; return { slotId: e, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: a, bb: "core", Ca: new sC([new WB(d({ slotId: e, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: a }))]), adSlotLoggingData: c } }; + Fza = function (a, b, c, d) { var e = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"); c = new yH(a.j, c); var f = [new IH(a.j, e)], h = [new JH(a.j, e), new GH(a.j, b)]; f = { slotId: e, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: c, slotFulfillmentTriggers: f, slotExpirationTriggers: h }; return { slotId: e, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, slotEntryTrigger: c, slotFulfillmentTriggers: [new IH(a.j, e)], slotExpirationTriggers: [new GH(a.j, b), new JH(a.j, e)], bb: "core", Ca: new sC([new WB(d(f))]) } }; + Cza = function (a, b, c, d, e) { var f = CD(a.B.get(), "SLOT_TYPE_IN_PLAYER"); c = new xH(a.j, d, c); d = [new IH(a.j, f)]; a = [new GH(a.j, b)]; return { slotId: f, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, slotEntryTrigger: c, slotFulfillmentTriggers: d, slotExpirationTriggers: a, bb: "core", Ca: new sC([new WB(e({ slotId: f, slotType: "SLOT_TYPE_IN_PLAYER", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: c, slotFulfillmentTriggers: d, slotExpirationTriggers: a }))]) } }; + Uya = function (a, b, c, d, e, f) { var h = CD(a.B.get(), b); return AJ(a, h, b, new yH(a.j, d), [new GH(a.j, c), new JH(a.j, h), new zH(a.j, d, ["error"])], e, f) }; + Tya = function (a, b, c, d, e, f, h) { var l = CD(a.B.get(), b); return AJ(a, l, b, new zH(a.j, e, ["normal"]), [new GH(a.j, c), new JH(a.j, l), new zH(a.j, d, ["error"])], f, h) }; + Pya = function (a, b, c, d, e) { var f = CD(a.B.get(), b); return AJ(a, f, b, new uH(a.j, c), [new GH(a.j, c), new JH(a.j, f)], d, e) }; + Sza = function (a, b, c, d, e) { c = c ? "SLOT_TYPE_PLAYER_BYTES_SEQUENCE_ITEM" : "SLOT_TYPE_PLAYBACK_TRACKING"; var f = CD(a.B.get(), c); b = new uH(a.j, b); var h = [new IH(a.j, f)]; a = [new JH(a.j, f)]; return { slotId: f, slotType: c, slotPhysicalPosition: 1, slotEntryTrigger: b, slotFulfillmentTriggers: h, slotExpirationTriggers: a, bb: "core", Ca: new sC([new WB(e({ slotId: f, slotType: c, slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: b, slotFulfillmentTriggers: h, slotExpirationTriggers: a }))]), adSlotLoggingData: d } }; + Mza = function (a, b, c, d) { + var e = CD(a.B.get(), "SLOT_TYPE_PLAYER_BYTES"), f = new dya(a.j), h = [new MH(a.j, e)]; b = [new GH(a.j, b)]; var l = { slotId: e, slotType: "SLOT_TYPE_PLAYER_BYTES", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: b }; a = a.Aa.get(); return !g.OC(a.J.U()) && a.J.U().experiments.kb("enable_pacf_slot_asde_player_byte_h5") || g.OC(a.J.U()) && a.J.U().experiments.kb("enable_pacf_slot_asde_player_byte_h5_TV") ? { + slotId: e, slotType: "SLOT_TYPE_PLAYER_BYTES", slotPhysicalPosition: 1, + slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: b, bb: "core", Ca: new sC([new WB(d(l)), new SB({})]), adSlotLoggingData: c + } : { slotId: e, slotType: "SLOT_TYPE_PLAYER_BYTES", slotPhysicalPosition: 1, slotEntryTrigger: f, slotFulfillmentTriggers: h, slotExpirationTriggers: b, bb: "core", Ca: new sC([new WB(d(l)), new SB({})]) } + }; + kAa = function (a, b) { return vAa(a.Aa.get()) ? new zH(a.j, b, ["normal", "error", "skipped"]) : new zH(a.j, b, ["normal"]) }; + bza = function (a, b, c, d, e) { b = kAa(a, b); a = MI(a, b, c); e = e({ slotId: a.slotId, slotType: a.slotType, slotPhysicalPosition: a.slotPhysicalPosition, slotEntryTrigger: a.slotEntryTrigger, slotFulfillmentTriggers: a.slotFulfillmentTriggers, slotExpirationTriggers: a.slotExpirationTriggers, bb: a.bb }); return e instanceof rC ? e : { yy: Object.assign({}, a, { Ca: new sC([new WB(e.layout)]), adSlotLoggingData: d }), qg: e.qg } }; + cza = function (a, b, c, d, e, f, h) { + c = lAa(a, b, c, d); if (c instanceof rC) return c; h = h({ slotId: c.slotId, slotType: c.slotType, slotPhysicalPosition: c.slotPhysicalPosition, slotEntryTrigger: c.slotEntryTrigger, slotFulfillmentTriggers: c.slotFulfillmentTriggers, slotExpirationTriggers: c.slotExpirationTriggers, bb: c.bb }); if (h instanceof rC) return h; d = [new jC(PI(b)), new WB(h.layout), new lC({ yu: a.yu(b) })]; f && d.push(new eC({})); return { + yy: { + slotId: c.slotId, slotType: c.slotType, slotPhysicalPosition: c.slotPhysicalPosition, slotEntryTrigger: NI(a, + b, c.slotId, c.slotEntryTrigger), slotFulfillmentTriggers: OI(a, b, c.slotId, c.slotFulfillmentTriggers), slotExpirationTriggers: c.slotExpirationTriggers, bb: c.bb, Ca: new sC(d), adSlotLoggingData: e + }, qg: h.qg + } + }; + NI = function (a, b, c, d) { return a.Aa.get().Ve(PI(b)) ? new sH(a.j, c) : d }; + OI = function (a, b, c, d) { return a.Aa.get().Ve(PI(b)) ? [new MH(a.j, c)] : d }; + MI = function (a, b, c) { var d = CD(a.B.get(), "SLOT_TYPE_PLAYER_BYTES"), e = [new IH(a.j, d)]; a = [new JH(a.j, d), new GH(a.j, c)]; return { slotId: d, slotType: "SLOT_TYPE_PLAYER_BYTES", slotPhysicalPosition: 1, slotEntryTrigger: b, slotFulfillmentTriggers: e, slotExpirationTriggers: a, bb: "core" } }; + lAa = function (a, b, c, d) { b = zJ(a, b, c, d); return b instanceof rC ? b : MI(a, b, c) }; + Uza = function (a, b, c, d, e, f) { var h = CD(a.B.get(), "SLOT_TYPE_FORECASTING"); b = zJ(a, b, c, d); if (b instanceof rC) return b; d = [new IH(a.j, h)]; a = [new JH(a.j, h), new GH(a.j, c)]; return { slotId: h, slotType: "SLOT_TYPE_FORECASTING", slotPhysicalPosition: 1, slotEntryTrigger: b, slotFulfillmentTriggers: d, slotExpirationTriggers: a, bb: "core", Ca: new sC([new WB(f({ slotId: h, slotType: "SLOT_TYPE_FORECASTING", slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: b, slotFulfillmentTriggers: d, slotExpirationTriggers: a }))]), adSlotLoggingData: e } }; + ZAa = function (a, b, c, d, e) { var f = !b.hideCueRangeMarker; switch (b.kind) { case "AD_PLACEMENT_KIND_START": return new uH(a.j, c); case "AD_PLACEMENT_KIND_MILLISECONDS": return a = Lya(b, d), a instanceof rC ? a : e(a.Zm, f); case "AD_PLACEMENT_KIND_END": return new wH(a.j, c, f); default: return new rC("Cannot construct entry trigger", { kind: b.kind }) } }; + YAa = function (a, b, c, d, e) { return ZAa(a, b, c, d, function (f, h) { return new fya(a.j, c, f, h, e) }) }; + zJ = function (a, b, c, d) { return ZAa(a, b, c, d, function (e, f) { return new CH(a.j, c, e, f) }) }; + AJ = function (a, b, c, d, e, f, h) { a = [new MH(a.j, b)]; return { slotId: b, slotType: c, slotPhysicalPosition: 1, slotEntryTrigger: d, slotFulfillmentTriggers: a, slotExpirationTriggers: e, bb: "core", Ca: new sC([new WB(h({ slotId: b, slotType: c, slotPhysicalPosition: 1, bb: "core", slotEntryTrigger: d, slotFulfillmentTriggers: a, slotExpirationTriggers: e }))]), adSlotLoggingData: f } }; + BJ = function (a, b) { g.O.call(this); this.Aa = a; this.j = b; this.eventCount = 0 }; + CJ = function (a, b, c, d) { BJ.call(this, a, b); this.Aa = a; this.Sa = c; this.context = d }; + DJ = function () { this.j = new Map }; + EJ = function (a) { return window.Int32Array ? new Int32Array(a) : Array(a) }; + KJ = function (a) { + g.O.call(this); this.counter = [0, 0, 0, 0]; this.B = new Uint8Array(16); this.j = 16; if (!$Aa) { var b, c = new Uint8Array(256), d = new Uint8Array(256); var e = 1; for (b = 0; b < 256; b++)c[e] = b, d[b] = e, e ^= e << 1 ^ (e >> 7 && 283); FJ = new Uint8Array(256); GJ = EJ(256); HJ = EJ(256); IJ = EJ(256); JJ = EJ(256); for (var f = 0; f < 256; f++) { e = f ? d[255 ^ c[f]] : 0; e ^= e << 1 ^ e << 2 ^ e << 3 ^ e << 4; e = e & 255 ^ e >>> 8 ^ 99; FJ[f] = e; b = e << 1 ^ (e >> 7 && 283); var h = b ^ e; GJ[f] = b << 24 | e << 16 | e << 8 | h; HJ[f] = h << 24 | GJ[f] >>> 8; IJ[f] = e << 24 | HJ[f] >>> 8; JJ[f] = e << 24 | IJ[f] >>> 8 } $Aa = !0 } e = EJ(44); for (c = + 0; c < 4; c++)e[c] = a[4 * c] << 24 | a[4 * c + 1] << 16 | a[4 * c + 2] << 8 | a[4 * c + 3]; for (d = 1; c < 44; c++)a = e[c - 1], c % 4 || (a = (FJ[a >> 16 & 255] ^ d) << 24 | FJ[a >> 8 & 255] << 16 | FJ[a & 255] << 8 | FJ[a >>> 24], d = d << 1 ^ (d >> 7 && 283)), e[c] = e[c - 4] ^ a; this.key = e + }; + LJ = function (a, b) { for (var c = 0; c < 4; c++)a.counter[c] = b[c * 4] << 24 | b[c * 4 + 1] << 16 | b[c * 4 + 2] << 8 | b[c * 4 + 3]; a.j = 16 }; + aBa = function (a) { + for (var b = a.key, c = a.counter[0] ^ b[0], d = a.counter[1] ^ b[1], e = a.counter[2] ^ b[2], f = a.counter[3] ^ b[3], h = 3; h >= 0 && !(a.counter[h] = -~a.counter[h]); h--); for (var l, m, n = 4; n < 40;)h = GJ[c >>> 24] ^ HJ[d >> 16 & 255] ^ IJ[e >> 8 & 255] ^ JJ[f & 255] ^ b[n++], l = GJ[d >>> 24] ^ HJ[e >> 16 & 255] ^ IJ[f >> 8 & 255] ^ JJ[c & 255] ^ b[n++], m = GJ[e >>> 24] ^ HJ[f >> 16 & 255] ^ IJ[c >> 8 & 255] ^ JJ[d & 255] ^ b[n++], f = GJ[f >>> 24] ^ HJ[c >> 16 & 255] ^ IJ[d >> 8 & 255] ^ JJ[e & 255] ^ b[n++], c = h, d = l, e = m; a = a.B; h = b[40]; a[0] = FJ[c >>> 24] ^ h >>> 24; a[1] = FJ[d >> 16 & 255] ^ h >> 16 & 255; a[2] = FJ[e >> 8 & 255] ^ + h >> 8 & 255; a[3] = FJ[f & 255] ^ h & 255; h = b[41]; a[4] = FJ[d >>> 24] ^ h >>> 24; a[5] = FJ[e >> 16 & 255] ^ h >> 16 & 255; a[6] = FJ[f >> 8 & 255] ^ h >> 8 & 255; a[7] = FJ[c & 255] ^ h & 255; h = b[42]; a[8] = FJ[e >>> 24] ^ h >>> 24; a[9] = FJ[f >> 16 & 255] ^ h >> 16 & 255; a[10] = FJ[c >> 8 & 255] ^ h >> 8 & 255; a[11] = FJ[d & 255] ^ h & 255; h = b[43]; a[12] = FJ[f >>> 24] ^ h >>> 24; a[13] = FJ[c >> 16 & 255] ^ h >> 16 & 255; a[14] = FJ[d >> 8 & 255] ^ h >> 8 & 255; a[15] = FJ[e & 255] ^ h & 255 + }; + OJ = function () { if (!MJ && !g.tu) { if (NJ) return NJ; var a; NJ = (a = window.crypto) == null ? void 0 : a.subtle; var b, c, d; if (((b = NJ) == null ? 0 : b.importKey) && ((c = NJ) == null ? 0 : c.sign) && ((d = NJ) == null ? 0 : d.encrypt)) return NJ; NJ = void 0 } }; + g.PJ = function (a) { this.D = a }; + g.QJ = function (a) { this.B = a }; + RJ = function (a) { this.G = new Uint8Array(64); this.C = new Uint8Array(64); this.D = 0; this.K = new Uint8Array(64); this.B = 0; this.G.set(a); this.C.set(a); for (a = 0; a < 64; a++)this.G[a] ^= 92, this.C[a] ^= 54; this.reset() }; + bBa = function (a, b, c) { + for (var d = a.N, e = a.j[0], f = a.j[1], h = a.j[2], l = a.j[3], m = a.j[4], n = a.j[5], p = a.j[6], q = a.j[7], r, t, u, y = 0; y < 64;)y < 16 ? (d[y] = u = b[c] << 24 | b[c + 1] << 16 | b[c + 2] << 8 | b[c + 3], c += 4) : (r = d[y - 2], t = d[y - 15], u = d[y - 7] + d[y - 16] + ((r >>> 17 | r << 15) ^ (r >>> 19 | r << 13) ^ r >>> 10) + ((t >>> 7 | t << 25) ^ (t >>> 18 | t << 14) ^ t >>> 3), d[y] = u), r = q + SJ[y] + u + ((m >>> 6 | m << 26) ^ (m >>> 11 | m << 21) ^ (m >>> 25 | m << 7)) + (m & n ^ ~m & p), t = ((e >>> 2 | e << 30) ^ (e >>> 13 | e << 19) ^ (e >>> 22 | e << 10)) + (e & f ^ e & h ^ f & h), q = r + t, l += r, y++, y < 16 ? (d[y] = u = b[c] << 24 | b[c + 1] << 16 | b[c + 2] << 8 | b[c + 3], c += 4) : (r = + d[y - 2], t = d[y - 15], u = d[y - 7] + d[y - 16] + ((r >>> 17 | r << 15) ^ (r >>> 19 | r << 13) ^ r >>> 10) + ((t >>> 7 | t << 25) ^ (t >>> 18 | t << 14) ^ t >>> 3), d[y] = u), r = p + SJ[y] + u + ((l >>> 6 | l << 26) ^ (l >>> 11 | l << 21) ^ (l >>> 25 | l << 7)) + (l & m ^ ~l & n), t = ((q >>> 2 | q << 30) ^ (q >>> 13 | q << 19) ^ (q >>> 22 | q << 10)) + (q & e ^ q & f ^ e & f), p = r + t, h += r, y++, y < 16 ? (d[y] = u = b[c] << 24 | b[c + 1] << 16 | b[c + 2] << 8 | b[c + 3], c += 4) : (r = d[y - 2], t = d[y - 15], u = d[y - 7] + d[y - 16] + ((r >>> 17 | r << 15) ^ (r >>> 19 | r << 13) ^ r >>> 10) + ((t >>> 7 | t << 25) ^ (t >>> 18 | t << 14) ^ t >>> 3), d[y] = u), r = n + SJ[y] + u + ((h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7)) + (h & l ^ + ~h & m), t = ((p >>> 2 | p << 30) ^ (p >>> 13 | p << 19) ^ (p >>> 22 | p << 10)) + (p & q ^ p & e ^ q & e), n = r + t, f += r, y++, y < 16 ? (d[y] = u = b[c] << 24 | b[c + 1] << 16 | b[c + 2] << 8 | b[c + 3], c += 4) : (r = d[y - 2], t = d[y - 15], u = d[y - 7] + d[y - 16] + ((r >>> 17 | r << 15) ^ (r >>> 19 | r << 13) ^ r >>> 10) + ((t >>> 7 | t << 25) ^ (t >>> 18 | t << 14) ^ t >>> 3), d[y] = u), r = m + SJ[y] + u + ((f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7)) + (f & h ^ ~f & l), t = ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + (n & p ^ n & q ^ p & q), u = q, q = l, l = u, u = p, p = h, h = u, u = n, n = f, f = u, m = e + r, e = r + t, y++; a.j[0] = e + a.j[0] | 0; a.j[1] = f + a.j[1] | 0; a.j[2] = h + a.j[2] | 0; a.j[3] = + l + a.j[3] | 0; a.j[4] = m + a.j[4] | 0; a.j[5] = n + a.j[5] | 0; a.j[6] = p + a.j[6] | 0; a.j[7] = q + a.j[7] | 0 + }; + dBa = function (a) { var b = new Uint8Array(32), c = 64 - a.B; a.B > 55 && (c += 64); var d = new Uint8Array(c); d[0] = 128; for (var e = a.D * 8, f = 1; f < 9; f++) { var h = e % 256; d[c - f] = h; e = (e - h) / 256 } a.update(d); for (c = 0; c < 8; c++)b[c * 4] = a.j[c] >>> 24, b[c * 4 + 1] = a.j[c] >>> 16 & 255, b[c * 4 + 2] = a.j[c] >>> 8 & 255, b[c * 4 + 3] = a.j[c] & 255; cBa(a); return b }; + cBa = function (a) { a.j = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225]; a.N = []; a.N.length = 64; a.D = 0; a.B = 0 }; + eBa = function (a) { this.j = a }; + fBa = function (a, b, c) { a = new RJ(a.j); a.update(b); a.update(c); b = dBa(a); a.update(a.G); a.update(b); b = dBa(a); a.reset(); return b }; + gBa = function (a) { this.B = a }; + hBa = function (a, b, c, d) { var e, f, h; return g.J(function (l) { switch (l.j) { case 1: if (a.j) { l.Ha(2); break } return g.G(l, d.importKey("raw", a.B, { name: "HMAC", hash: "SHA-256" }, !1, ["sign"]), 3); case 3: a.j = l.B; case 2: return e = new Uint8Array(b.length + c.length), e.set(b), e.set(c, b.length), f = { name: "HMAC", hash: "SHA-256" }, g.G(l, d.sign(f, a.j, e), 4); case 4: return h = l.B, l.return(new Uint8Array(h)) } }) }; + iBa = function (a, b, c) { a.C || (a.C = new eBa(a.B)); return fBa(a.C, b, c) }; + jBa = function (a, b, c) { var d, e; return g.J(function (f) { if (f.j == 1) { d = OJ(); if (!d) return f.return(iBa(a, b, c)); g.va(f, 3); return g.G(f, hBa(a, b, c, d), 5) } if (f.j != 3) return f.return(f.B); e = g.xa(f); g.fx(e); MJ = !0; return f.return(iBa(a, b, c)) }) }; + TJ = function () { var a = kBa; var b = b === void 0 ? [] : b; var c = c === void 0 ? [] : c; b = uma.apply(null, [vma.apply(null, g.x(b))].concat(g.x(c))); this.store = xma(a, void 0, b) }; + g.UJ = function (a, b, c) { + for (var d = Object.assign({}, a), e = g.w(Object.keys(b)), f = e.next(); !f.done; f = e.next()) { + f = f.value; var h = a[f], l = b[f]; if (l === void 0) delete d[f]; else if (h === void 0) d[f] = l; else if (Array.isArray(l) && Array.isArray(h)) d[f] = c ? [].concat(g.x(h), g.x(l)) : l; else if (!Array.isArray(l) && g.Qa(l) && !Array.isArray(h) && g.Qa(h)) d[f] = g.UJ(h, l, c); else if (typeof l === typeof h) d[f] = l; else return b = new g.pt("Attempted to merge fields of differing types.", { name: "DeepMergeError", key: f, Woa: h, updateValue: l }), g.ex(b), + a + } return d + }; + VJ = function (a) { var b = this; a = a === void 0 ? [] : a; this.j = []; this.C = this.B = 0; this.D = void 0; this.totalLength = 0; a.forEach(function (c) { b.append(c) }) }; + lBa = function (a, b) { return a.j.length === 0 ? !1 : (a = a.j[a.j.length - 1]) && a.buffer === b.buffer && a.byteOffset + a.length === b.byteOffset }; + WJ = function (a, b) { b = g.w(b.j); for (var c = b.next(); !c.done; c = b.next())a.append(c.value) }; + XJ = function (a, b, c) { return a.split(b).qn.split(c).zK }; + YJ = function (a) { a.D = void 0; a.B = 0; a.C = 0 }; + ZJ = function (a, b, c) { a.isFocused(b); return b - a.C + c <= a.j[a.B].length }; + mBa = function (a) { if (!a.D) { var b = a.j[a.B]; a.D = new DataView(b.buffer, b.byteOffset, b.length) } return a.D }; + nBa = function (a, b, c) { b = b === void 0 ? 0 : b; c = c === void 0 ? -1 : c; if (!a.totalLength || !c) return new DataView(new ArrayBuffer(0)); c < 0 && (c = a.totalLength - b); a.focus(b); if (!ZJ(a, b, c)) { var d = a.B, e = a.C; a.focus(b + c - 1); e = new Uint8Array(a.C + a.j[a.B].length - e); for (var f = 0, h = d; h <= a.B; h++)e.set(a.j[h], f), f += a.j[h].length; a.j.splice(d, a.B - d + 1, e); YJ(a); a.focus(b) } d = a.j[a.B]; return new DataView(d.buffer, d.byteOffset + b - a.C, c) }; + $J = function (a, b, c) { a = nBa(a, b === void 0 ? 0 : b, c === void 0 ? -1 : c); return new Uint8Array(a.buffer, a.byteOffset, a.byteLength) }; + aK = function (a, b, c) { a = $J(a, b === void 0 ? 0 : b, c === void 0 ? -1 : c); b = new Uint8Array(a.length); try { b.set(a) } catch (d) { for (c = 0; c < a.length; c++)b[c] = a[c] } return b }; + bK = function (a, b) { a.focus(b); return a.j[a.B][b - a.C] }; + oBa = function (a, b) { a.focus(b); return ZJ(a, b, 4) ? mBa(a).getUint32(b - a.C) : 256 * (256 * (256 * bK(a, b) + bK(a, b + 1)) + bK(a, b + 2)) + bK(a, b + 3) }; + pBa = function (a) { for (var b = new Uint8Array(a.length), c = 0; c < a.length; c++)b[c] = a.charCodeAt(c); return b }; + cK = function (a) { return String.fromCharCode.apply(null, a) }; + eK = function (a) { return a.length ? dK ? dK.decode(a) : cK(a) : "" }; + g.gK = function (a) { + if (!a.length) return ""; try { if (dK) return dK.decode(a); if ("FetchInternal" in window) return FetchInternal.decodeFromUTF8(a) } catch (h) { } for (var b = 0, c = [], d = a.length; b < d;) { + for (var e = 0; e < 1024 && b < d;) { var f = a[b++]; if (f < 128) fK[e++] = f; else { if (f < 224) f = (f & 31) << 6 | a[b++] & 63; else if (f < 240) f = (f & 15) << 12 | (a[b++] & 63) << 6 | a[b++] & 63; else { if (e + 1 === 1024) { --b; break } f = (f & 7) << 18 | (a[b++] & 63) << 12 | (a[b++] & 63) << 6 | a[b++] & 63; f -= 65536; fK[e++] = 55296 | f >> 10; f = 56320 | f & 1023 } fK[e++] = f } } f = String.fromCharCode.apply(String, fK); + e < 1024 && (f = f.substr(0, e)); c.push(f) + } return c.join("") + }; + iK = function (a, b) { var c; if ((c = hK) == null ? 0 : c.encodeInto) return b = hK.encodeInto(a, b), b.read < a.length ? a.length * 4 : b.written; for (var d = c = 0; d < a.length; d++) { var e = a.charCodeAt(d); e < 128 ? b[c++] = e : (e < 2048 ? b[c++] = e >> 6 | 192 : ((e & 64512) === 55296 && d + 1 < a.length && (a.charCodeAt(d + 1) & 64512) === 56320 ? (e = 65536 + ((e & 1023) << 10) + (a.charCodeAt(++d) & 1023), b[c++] = e >> 18 | 240, b[c++] = e >> 12 & 63 | 128) : b[c++] = e >> 12 | 224, b[c++] = e >> 6 & 63 | 128), b[c++] = e & 63 | 128) } return c }; + jK = function (a) { if (hK) return hK.encode(a); var b = new Uint8Array(Math.ceil(a.length * 1.2)), c = iK(a, b); b.length < c && (b = new Uint8Array(c), c = iK(a, b)); b.length > c && (b = b.subarray(0, c)); return b }; + kK = function (a) { this.j = a; this.pos = 0; this.B = -1 }; + lK = function (a) { var b = bK(a.j, a.pos); ++a.pos; if (b < 128) return b; for (var c = b & 127, d = 1; b >= 128;)b = bK(a.j, a.pos), ++a.pos, d *= 128, c += (b & 127) * d; return c }; + mK = function (a, b) { var c = a.B; for (a.B = -1; a.pos + 1 <= a.j.totalLength;) { c < 0 && (c = lK(a)); var d = c >> 3, e = c & 7; if (d === b) return !0; if (d > b) { a.B = c; break } c = -1; switch (e) { case 0: lK(a); break; case 1: a.pos += 8; break; case 2: d = lK(a); a.pos += d; break; case 5: a.pos += 4 } } return !1 }; + nK = function (a, b) { if (mK(a, b)) return lK(a) }; + oK = function (a, b) { if (mK(a, b)) return !!lK(a) }; + pK = function (a, b) { if (mK(a, b)) { b = lK(a); var c = $J(a.j, a.pos, b); a.pos += b; return c } }; + qK = function (a, b) { if (a = pK(a, b)) return g.gK(a) }; + rK = function (a, b, c) { if (a = pK(a, b)) return c(new kK(new VJ([a]))) }; + sK = function (a, b) { for (var c = []; mK(a, b);)c.push(lK(a)); return c.length ? c : void 0 }; + tK = function (a, b, c) { for (var d = [], e; e = pK(a, b);)d.push(c(new kK(new VJ([e])))); return d.length ? d : void 0 }; + uK = function (a, b) { a = a instanceof Uint8Array ? new VJ([a]) : a; return b(new kK(a)) }; + qBa = function (a, b, c) { if (b && c && c.buffer === b.exports.memory.buffer) { var d = b.exports.realloc(c.byteOffset, a); if (d) return new Uint8Array(b.exports.memory.buffer, d, a) } a = b ? new Uint8Array(b.exports.memory.buffer, b.exports.malloc(a), a) : new Uint8Array(a); c && a.set(c); return a }; + rBa = function (a, b) { this.wd = b; this.pos = 0; this.B = []; this.j = qBa(a === void 0 ? 4096 : a, b); this.view = new DataView(this.j.buffer, this.j.byteOffset, this.j.byteLength) }; + vK = function (a, b) { b = a.pos + b; if (!(a.j.length >= b)) { for (var c = a.j.length * 2; c < b;)c *= 2; a.j = qBa(c, a.wd, a.j.subarray(0, a.pos)); a.view = new DataView(a.j.buffer, a.j.byteOffset, a.j.byteLength) } }; + wK = function (a, b) { if (b > 268435455) { vK(a, 4); for (var c = b & 1073741823, d = 0; d < 4; d++)a.view.setUint8(a.pos, c & 127 | 128), c >>= 7, a.pos += 1; b = Math.floor(b / 268435456) } for (vK(a, 4); b > 127;)a.view.setUint8(a.pos, b & 127 | 128), b >>= 7, a.pos += 1; a.view.setUint8(a.pos, b); a.pos += 1 }; + xK = function (a, b, c) { c !== void 0 && (wK(a, b * 8), wK(a, c)) }; + yK = function (a, b, c) { c !== void 0 && xK(a, b, c ? 1 : 0) }; + zK = function (a, b, c) { c !== void 0 && (wK(a, b * 8 + 2), b = c.length, wK(a, b), vK(a, b), a.j.set(c, a.pos), a.pos += b) }; + AK = function (a, b, c) { c !== void 0 && (sBa(a, b, Math.ceil(Math.log2(c.length * 4 + 2) / 7)), vK(a, c.length * 1.2), b = iK(c, a.j.subarray(a.pos)), a.pos + b > a.j.length && (vK(a, b), b = iK(c, a.j.subarray(a.pos))), a.pos += b, tBa(a)) }; + sBa = function (a, b, c) { c = c === void 0 ? 2 : c; wK(a, b * 8 + 2); a.B.push(a.pos); a.B.push(c); a.pos += c }; + tBa = function (a) { for (var b = a.B.pop(), c = a.B.pop(), d = a.pos - c - b; b--;) { var e = b ? 128 : 0; a.view.setUint8(c++, d & 127 | e); d >>= 7 } }; + BK = function (a, b, c, d, e) { c && (sBa(a, b, e === void 0 ? 3 : e), d(a, c), tBa(a)) }; + g.CK = function (a, b, c) { c = new rBa(4096, c); b(c, a); return new Uint8Array(c.j.buffer, c.j.byteOffset, c.pos) }; + g.DK = function (a) { var b = new kK(new VJ([Ve(decodeURIComponent(a))])); a = qK(b, 2); b = nK(b, 4); var c = uBa[b]; if (typeof c === "undefined") throw a = new g.pt("Failed to recognize field number", { name: "EntityKeyHelperError", kna: b }), g.ex(a), a; return { o8: b, entityType: c, entityId: a } }; + g.EK = function (a, b) { var c = new rBa; zK(c, 2, jK(a)); a = vBa[b]; if (typeof a === "undefined") throw b = new g.pt("Failed to recognize entity type", { name: "EntityKeyHelperError", entityType: b }), g.ex(b), b; xK(c, 4, a); xK(c, 5, 1); b = new Uint8Array(c.j.buffer, c.j.byteOffset, c.pos); return encodeURIComponent(g.Te(b)) }; + FK = function (a, b, c, d) { if (d === void 0) return d = Object.assign({}, a[b] || {}), c = (delete d[c], d), d = {}, Object.assign({}, a, (d[b] = c, d)); var e = {}, f = {}; return Object.assign({}, a, (f[b] = Object.assign({}, a[b], (e[c] = d, e)), f)) }; + wBa = function (a, b, c, d, e) { var f = a[b]; if (f == null || !f[c]) return a; d = g.UJ(f[c], d, e === "REPEATED_FIELDS_MERGE_OPTION_APPEND"); e = {}; f = {}; return Object.assign({}, a, (f[b] = Object.assign({}, a[b], (e[c] = d, e)), f)) }; + xBa = function (a, b) { + a = a === void 0 ? {} : a; switch (b.type) { + case "ENTITY_LOADED": return b.payload.reduce(function (d, e) { + var f, h = (f = e.options) == null ? void 0 : f.persistenceOption; if (h && h !== "ENTITY_PERSISTENCE_OPTION_UNKNOWN" && h !== "ENTITY_PERSISTENCE_OPTION_INMEMORY_AND_PERSIST") return d; if (!e.entityKey) return g.ex(Error("Missing entity key")), d; if (e.type === "ENTITY_MUTATION_TYPE_REPLACE") { + if (!e.payload) return g.ex(new g.pt("REPLACE entity mutation is missing a payload", { entityKey: e.entityKey })), d; var l = g.vc(e.payload); + return FK(d, l, e.entityKey, e.payload[l]) + } if (e.type === "ENTITY_MUTATION_TYPE_DELETE") { a: { e = e.entityKey; try { var m = g.DK(e).entityType; l = FK(d, m, e); break a } catch (q) { if (q instanceof Error) { g.ex(new g.pt("Failed to deserialize entity key", { entityKey: e, yS: q.message })); l = d; break a } throw q; } l = void 0 } return l } if (e.type === "ENTITY_MUTATION_TYPE_UPDATE") { + if (!e.payload) return g.ex(new g.pt("UPDATE entity mutation is missing a payload", { entityKey: e.entityKey })), d; l = g.vc(e.payload); var n, p; return wBa(d, l, e.entityKey, + e.payload[l], (n = e.fieldMask) == null ? void 0 : (p = n.mergeOptions) == null ? void 0 : p.repeatedFieldsMergeOption) + } return d + }, a); + case "REPLACE_ENTITY": var c = b.payload; return FK(a, c.entityType, c.key, c.n8); case "REPLACE_ENTITIES": return Object.keys(b.payload).reduce(function (d, e) { var f = b.payload[e]; return Object.keys(f).reduce(function (h, l) { return FK(h, e, l, f[l]) }, d) }, a); + case "UPDATE_ENTITY": return c = b.payload, wBa(a, c.entityType, c.key, c.n8, c.Hoa); default: return a + } + }; + GK = function (a, b, c) { return a[b] ? a[b][c] || null : null }; + IK = function (a) { + var b = a.hours || 0; var c = a.minutes || 0, d = a.seconds || 0; b = d + c * 60 + b * 3600 + (a.days || 0) * 86400 + (a.weeks || 0) * 604800 + (a.months || 0) * 2629800 + (a.years || 0) * 31557600; b <= 0 ? b = { hours: 0, minutes: 0, seconds: 0 } : (a = b, b = Math.floor(a / 3600), a %= 3600, c = Math.floor(a / 60), d = Math.floor(a % 60), b = { hours: b, minutes: c, seconds: d }); var e = b.hours === void 0 ? 0 : b.hours; c = b.minutes === void 0 ? 0 : b.minutes; a = b.seconds === void 0 ? 0 : b.seconds; d = e > 0; b = []; if (d) { + e = (new Intl.NumberFormat("en-u-nu-latn")).format(e); var f = ["fr"], h = "az bs ca da de el es eu gl hr id is it km lo mk nl pt-BR ro sl sr sr-Latn tr vi".split(" "); + e = "af be bg cs et fi fr-CA hu hy ka kk ky lt lv no pl pt-PT ru sk sq sv uk uz".split(" ").includes(HK) ? e.replace(",", "\u00a0") : f.includes(HK) ? e.replace(",", "\u202f") : h.includes(HK) ? e.replace(",", ".") : e; b.push(e) + } d = d === void 0 ? !1 : d; c = (["af", "be", "lt"].includes(HK) || d) && c < 10 ? yBa().format(c) : (new Intl.NumberFormat("en-u-nu-latn")).format(c); b.push(c); c = yBa().format(a); b.push(c); c = ":"; "da fi id si sl sr sr-Latn".split(" ").includes(HK) && (c = "."); return b.join(c) + }; + yBa = function () { return new Intl.NumberFormat("en-u-nu-latn", { minimumIntegerDigits: 2 }) }; + zBa = function (a, b) { var c, d; a = ((c = a.watchEndpointSupportedAuthorizationTokenConfig) == null ? void 0 : (d = c.videoAuthorizationToken) == null ? void 0 : d.credentialTransferTokens) || []; for (c = 0; c < a.length; ++c)if (a[c].scope === b) return a[c].token || void 0 }; + ABa = function (a) { if (a && a.simpleText) return a.simpleText; var b = ""; if (a && a.runs) for (var c = 0; c < a.runs.length; c++)a.runs[c].text && (b += a.runs[c].text); return b }; + JK = function (a) { return a ? function () { try { return a.apply(this, arguments) } catch (b) { g.ex(b) } } : a }; + KK = function () { this.C = new Set; this.B = new Set; this.D = new Map; this.client = void 0; this.csn = null }; + LK = function () { KK.instance || (KK.instance = new KK); return KK.instance }; + MK = function () { }; + NK = function () { this.N = []; this.Z = []; this.j = []; this.ra = []; this.G = []; this.Y = []; this.C = new Map; this.K = new Map; this.B = new Set; this.Ba = new Map }; + OK = function () { NK.instance || (NK.instance = new NK); return NK.instance }; + PK = function (a, b, c, d) { d = d === void 0 ? {} : d; g.tr(function () { BBa.includes(b) || (g.fx(new g.pt("createClientScreen() called with a non-page VE", b)), b = 83769); d.isHistoryNavigation || (a.ra = [], a.j.push({ rootVe: b, key: d.key || "" })); a.N = []; a.Z = []; d.IX ? CBa(a, b, c, d) : DBa(a, b, c, d) })() }; + EBa = function (a, b, c) { c = c === void 0 ? 0 : c; g.tr(function () { b.then(function (d) { a.B.has(c) && a.D && a.D(); var e = g.Ww(c), f = g.Vw(c); if (e && f) { var h; (d == null ? 0 : (h = d.response) == null ? 0 : h.trackingParams) && g.sx(a.client, e, f, g.Tw(d.response.trackingParams)); var l; (d == null ? 0 : (l = d.playerResponse) == null ? 0 : l.trackingParams) && g.sx(a.client, e, f, g.Tw(d.playerResponse.trackingParams)) } }) })() }; + RK = function (a) { var b = OK(); g.tr(function () { var c = g.Tw(a); QK(b, c); return c })() }; + QK = function (a, b, c, d) { + d = d === void 0 ? 0 : d; g.tr(function () { + if (a.B.has(d)) return a.N.push([b, c]), !0; var e = g.Ww(d), f = c || g.Vw(d); if (e && f) { + if (g.Pr("combine_ve_grafts")) { var h = a.C.get(f.toString()); h ? h.push(b) : (a.K.set(f.toString(), f), a.C.set(f.toString(), [b])); a.qa || (a.qa = g.vt(0, function () { SK(a, e) }, 1200)) } else g.sx(a.client, e, f, b); + return !0 + } return !1 + })() + }; + FBa = function (a, b, c, d) { d = d === void 0 ? 0 : d; var e = g.Ww(d); b = b || g.Vw(d); e && b && (a = a.client, d = nx({ cttAuthInfo: Xw(e) || void 0 }, e), c = { csn: e, ve: b.getAsJson(), clientData: c }, e === "UNDEFINED_CSN" ? vx("visualElementStateChanged", d, c) : a ? Rw("visualElementStateChanged", c, a, d) : g.Ht("visualElementStateChanged", c, d)) }; + CBa = function (a, b, c, d) { + d = d === void 0 ? {} : d; a.B.add(d.layer || 0); a.D = function () { DBa(a, b, c, d); var h = g.Vw(d.layer); if (h) { for (var l = g.w(a.N), m = l.next(); !m.done; m = l.next())m = m.value, QK(a, m[0], m[1] || h, d.layer); h = g.w(a.Z); for (l = h.next(); !l.done; l = h.next())l = l.value, FBa(a, l[0], l[1]) } }; + c || g.Ww(d.layer) || a.D(); if (d.IX) for (var e = g.w(d.IX), f = e.next(); !f.done; f = e.next())EBa(a, f.value, d.layer); else g.ex(Error("Delayed screen needs a data promise.")) + }; + DBa = function (a, b, c, d) { + d = d === void 0 ? {} : d; var e = void 0; d.layer || (d.layer = 0); e = d.parentLayer !== void 0 ? d.parentLayer : d.layer; var f = g.Ww(e); e = g.Vw(e); var h = c || e, l; h && (d.parentCsn !== void 0 ? l = { clientScreenNonce: d.parentCsn, visualElement: h } : f && f !== "UNDEFINED_CSN" && (l = { clientScreenNonce: f, visualElement: h })); var m, n = g.pr("EVENT_ID"); f === "UNDEFINED_CSN" && n && (m = { servletData: { serializedServletEventId: n } }); g.Pr("combine_ve_grafts") && f && SK(a, f); g.Pr("no_client_ve_attach_unless_shown") && h && f && ux(h, f); try { + var p = Zra(a.client, + b, l, d.EX, d.cttAuthInfo, m, d.implicitGestureType, d.loggingExpectations) + } catch (t) { Sra(t, { tH: b, rootVe: e, Zoa: c, Uma: f, Yoa: l, EX: d.EX }); g.ex(t); return } wra(p, b, d.layer, d.cttAuthInfo); f && f !== "UNDEFINED_CSN" && e && !tra(f) && asa(a.client, f, e, !0); a.j[a.j.length - 1] && !a.j[a.j.length - 1].csn && (a.j[a.j.length - 1].csn = p || ""); g.qA({ clientScreenNonce: p }); MK.instance || (MK.instance = new MK); g.tr(LK().j).bind(LK())(); var q = g.Vw(d.layer); f && f !== "UNDEFINED_CSN" && q && (g.Pr("web_mark_root_visible") || g.Pr("music_web_mark_root_visible")) && + g.zx(p, q); a.B.delete(d.layer || 0); a.D = void 0; var r; (r = a.Ba.get(d.layer)) == null || r.forEach(function (t, u) { t ? QK(a, u, t, d.layer) : q && QK(a, u, q, d.layer) }); + GBa(a) + }; + GBa = function (a) { for (var b = 0; b < a.G.length; b++) { var c = a.G[b]; try { c() } catch (d) { g.ex(d) } } for (b = a.G.length = 0; b < a.Y.length; b++) { c = a.Y[b]; try { c() } catch (d) { g.ex(d) } } }; + SK = function (a, b) { if (b === void 0) for (var c = rra(), d = 0; d < c.length; d++)c[d] !== void 0 && SK(a, c[d]); else a.C.forEach(function (e, f) { (f = a.K.get(f)) && g.rx(a.client, b, f, e) }), a.C.clear(), a.K.clear(), a.qa = void 0 }; + TK = function () { }; + HBa = function () { TK.instance || (TK.instance = new TK); return TK.instance }; + IBa = function (a, b, c) { + var d = new XMLHttpRequest; if (c == null ? 0 : c.BB) d.onreadystatechange = function (f) { c.BB(d, f) }; + var e; d.open((e = b.method) != null ? e : "GET", a, !0); d.responseType = "text"; d.withCredentials = !0; if (b.headers) for (a = g.w(Object.entries(b.headers)), b = a.next(); !b.done; b = a.next())e = g.w(b.value), b = e.next().value, e = e.next().value, d.setRequestHeader(b, e); return d + }; + UK = function () { }; + JBa = function () { var a = navigator; return new Promise(function (b, c) { var d; (d = a.webkitTemporaryStorage) != null && d.queryUsageAndQuota ? a.webkitTemporaryStorage.queryUsageAndQuota(function (e, f) { b({ usage: e, quota: f }) }, function (e) { c(e) }) : c(Error("webkitTemporaryStorage is not supported.")) }) }; + Ft = function (a, b) { + var c = this; this.handleError = a; this.j = b; this.B = !1; self.document === void 0 || self.addEventListener("beforeunload", function () { c.B = !0 }); + this.C = Math.random() <= .2 + }; + LBa = function (a, b) { UK.getInstance().estimate().then(function (c) { c = Object.assign({}, b, { isSw: self.document === void 0, isIframe: self !== self.top, deviceStorageUsageMbytes: KBa(c == null ? void 0 : c.usage), deviceStorageQuotaMbytes: KBa(c == null ? void 0 : c.quota) }); a.j("idbQuotaExceeded", c) }) }; + KBa = function (a) { return typeof a === "undefined" ? "-1" : String(Math.ceil(a / 1048576)) }; + NBa = function () { g.it(); return g.kt(0, 192) ? g.kt(0, 190) : !(g.Pr("web_watch_cinematics_disabled_by_default") || g.Pr("web_watch_cinematics_preferred_reduced_motion_default_disabled") && MBa()) }; + OBa = function (a) { return !VK || (0, g.Zt)() - VK > a }; + QBa = function (a, b) { PBa(a.program, b.qda) && (uA("bg_i", void 0, "player_att"), g.WK.initialize(a, function () { uA("bg_l", void 0, "player_att"); VK = (0, g.Zt)() }, b.cspNonce)) }; + RBa = function (a) { a = a === void 0 ? {} : a; return g.WK.invoke(a) }; + PBa = function (a, b) { return a ? g.WK.isLoading() ? !1 : OBa(b) : !1 }; + SBa = function (a) { a = a.split(""); XK.Ew(a, 3); XK.kK(a, 60); XK.PN(a, 58); XK.kK(a, 54); XK.PN(a, 24); XK.Ew(a, 3); XK.kK(a, 27); XK.PN(a, 32); XK.Ew(a, 1); return a.join("") }; + g.YK = function (a, b) { return a.Fa + "timedtext_video?ref=player&v=" + b.videoId }; + g.ZK = function (a, b) { a.feature = b }; + g.TBa = function (a) { + var b = this; this.videoData = a; a = {}; this.j = (a.c1a = function () { + var c = []; if (g.WK.isInitialized()) { var d = ""; b.videoData && b.videoData.wr && (d = b.videoData.wr + ("&r1b=" + b.videoData.clientPlaybackNonce)); var e = {}; d = (e.atr_challenge = d, e); uA("bg_v", void 0, "player_att"); (d = RBa(d)) ? (uA("bg_s", void 0, "player_att"), c.push("r1a=" + d)) : (uA("bg_e", void 0, "player_att"), c.push("r1c=2")) } else uA("bg_e", void 0, "player_att"), window.trayride || window.botguard ? c.push("r1c=1") : c.push("r1c=4"); c.push("r1d=" + g.WK.getState()); + return c.join("&") + }, a.c6a = function (c) { return "r6a=" + (Number(c.c) ^ KA()) }, a.c6b = function (c) { return "r6b=" + (Number(c.c) ^ Number(g.pr("CATSTAT", 0))) }, a); + this.videoData && this.videoData.wr ? this.yr = xr(this.videoData.wr) : this.yr = {} + }; + g.UBa = function (a) { if (a.videoData && a.videoData.wr) { for (var b = [a.videoData.wr], c = g.w(Object.keys(a.j)), d = c.next(); !d.done; d = c.next())d = d.value, a.yr[d] && a.j[d] && (d = a.j[d](a.yr)) && b.push(d); return b.join("&") } return null }; + g.$K = function (a, b) { QBa(a, { qda: g.AC(b.experiments, "bg_vm_reinit_threshold"), cspNonce: b.cspNonce }) }; + VBa = function () { var a = XMLHttpRequest.prototype.fetch; return !!a && a.length === 3 }; + aL = function (a) { a = a === void 0 ? 2592E3 : a; if (a > 0 && !(Ona() > (0, g.Zt)() - a * 1E3)) return 0; a = g.ct("yt-player-quality"); if (typeof a === "string") { if (a = g.RE[a], a > 0) return a } else if (a instanceof Object) return a.quality; return 0 }; + bL = function () { var a = g.ct("yt-player-proxima-pref"); return a == null ? null : a }; + WBa = function () { var a = g.ct("yt-player-quality"); if (a instanceof Object && a.quality && a.previousQuality) { if (a.quality > a.previousQuality) return 1; if (a.quality < a.previousQuality) return -1 } return 0 }; + XBa = function () { var a = { values: {}, Pr: {} }; try { var b = JSON.parse(JSON.parse(window.localStorage["yt-player-memory"]).data); a.values = b.values; a.halfLives = b.halfLives } catch (c) { } return a }; + YBa = function (a, b, c) { c = c === void 0 ? !1 : c; var d = cL(); +d[a] > 0 && (b = Math.min(+d[a], b)); d[a] !== b && (d[a] = b, g.bt("yt-player-performance-cap", d, c ? 2592E3 : 604800)) }; + ZBa = function (a, b) { b = b === void 0 ? !0 : b; var c = cL(); return b ? +c[a] || 8192 : c[a] }; + cL = function () { return g.ct("yt-player-performance-cap") || {} }; + dL = function () { var a; return (a = g.ct("yt-player-performance-cap-active-set")) != null ? a : [] }; + $Ba = function (a) { (a === void 0 ? 0 : a) ? (a = dL().filter(function (b) { return b.startsWith("1") }), g.bt("yt-player-performance-cap-active-set", a, 2592E3)) : g.bt("yt-player-performance-cap-active-set", [], 2592E3) }; + aCa = function (a) { g.bt("yt-player-watch-later-pending", a) }; + bCa = function () { return !!g.ct("yt-player-headers-readable") }; + cCa = function () { try { return +(window.localStorage && window.localStorage["yt-player-av1-pref"]) || 0 } catch (a) { return 0 } }; + g.eL = function () { var a = g.ct("yt-player-caption-language-preferences"); return a ? a : [] }; + fCa = function (a, b) { BK(a, 2, b.zr, fL, 3); BK(a, 3, b.MQ, dCa, 3); zK(a, 4, b.onesieUstreamerConfig); zK(a, 9, b.mp); BK(a, 10, b.BC, gL, 3); BK(a, 15, b.reloadPlaybackParams, eCa, 3) }; + hCa = function (a, b) { BK(a, 1, b.formatId, hL, 3); xK(a, 2, b.startTimeMs); xK(a, 3, b.durationMs); xK(a, 4, b.pn); xK(a, 5, b.Yi); BK(a, 9, b.Cma, gCa, 3); BK(a, 11, b.apa, iL, 1); BK(a, 12, b.DS, iL, 1) }; + iCa = function (a, b) { AK(a, 1, b.videoId); xK(a, 2, b.lmt) }; + gCa = function (a, b) { if (b.NW) for (var c = 0; c < b.NW.length; c++)BK(a, 1, b.NW[c], iCa, 3) }; + hL = function (a, b) { xK(a, 1, b.itag); xK(a, 2, b.lmt); AK(a, 3, b.xtags) }; + jL = function (a) { return { itag: nK(a, 1), lmt: nK(a, 2), xtags: qK(a, 3) } }; + iL = function (a, b) { xK(a, 1, b.Tg); xK(a, 2, b.JE); xK(a, 3, b.Ts) }; + jCa = function (a) { return { Tg: nK(a, 1), JE: nK(a, 2), Ts: nK(a, 3) } }; + fL = function (a, b) { + xK(a, 13, b.timeSinceLastManualFormatSelectionMs); var c = b.lastManualDirection; c !== void 0 && (wK(a, 112), wK(a, c << 1 ^ c >> 31)); xK(a, 16, b.n$); xK(a, 17, b.detailedNetworkType); xK(a, 18, b.A7); xK(a, 19, b.z7); xK(a, 21, b.wea); xK(a, 23, b.q7); xK(a, 28, b.MS); xK(a, 29, b.Mea); xK(a, 34, b.visibility); c = b.playbackRate; if (c !== void 0) { var d = new ArrayBuffer(4); (new Float32Array(d))[0] = c; c = (new Uint32Array(d))[0]; if (c !== void 0) for (wK(a, 285), vK(a, 4), d = 0; d < 4;)a.view.setUint8(a.pos, c & 255), c >>= 8, a.pos += 1, d += 1 } xK(a, 36, b.d8); + BK(a, 38, b.mediaCapabilities, kCa, 3); xK(a, 39, b.Lea); xK(a, 40, b.Ww); xK(a, 44, b.playerState); yK(a, 46, b.a8); xK(a, 48, b.Ly); xK(a, 50, b.Lw); xK(a, 51, b.Vy); xK(a, 54, b.Gq); yK(a, 56, b.R$); xK(a, 57, b.F7); yK(a, 58, b.So); xK(a, 59, b.wj); xK(a, 60, b.Wx); yK(a, 61, b.isPrefetch); xK(a, 62, b.Oz); zK(a, 63, b.sabrLicenseConstraint); xK(a, 64, b.p$); xK(a, 66, b.o$); xK(a, 67, b.Joa); xK(a, 68, b.D$) + }; + kCa = function (a, b) { if (b.videoFormatCapabilities) for (var c = 0; c < b.videoFormatCapabilities.length; c++)BK(a, 1, b.videoFormatCapabilities[c], lCa, 1); if (b.audioFormatCapabilities) for (c = 0; c < b.audioFormatCapabilities.length; c++)BK(a, 2, b.audioFormatCapabilities[c], mCa, 1); xK(a, 5, b.hdrModeBitmask) }; + lCa = function (a, b) { xK(a, 1, b.videoCodec); xK(a, 3, b.maxHeight); xK(a, 4, b.maxWidth); xK(a, 11, b.maxFramerate); xK(a, 12, b.maxBitrateBps); yK(a, 15, b.is10BitSupported) }; + mCa = function (a, b) { xK(a, 1, b.audioCodec); xK(a, 2, b.numChannels); xK(a, 3, b.maxBitrateBps); xK(a, 6, b.spatialCapabilityBitmask) }; + gL = function (a, b) { BK(a, 1, b.clientInfo, nCa, 3); zK(a, 2, b.SS); zK(a, 3, b.playbackCookie); zK(a, 4, b.mp); if (b.tM) for (var c = 0; c < b.tM.length; c++)BK(a, 5, b.tM[c], oCa, 3); if (b.aN) for (c = 0; c < b.aN.length; c++)xK(a, 6, b.aN[c]); AK(a, 7, b.nea); BK(a, 8, b.MB, pCa, 3) }; + qCa = function (a, b) { xK(a, 1, b.Boa); xK(a, 2, b.Koa) }; + rCa = function (a, b) { var c = b.code; c !== void 0 && (wK(a, 8), wK(a, c << 1 ^ c >> 31)); AK(a, 2, b.message) }; + sCa = function (a, b) { xK(a, 1, b.clientState); BK(a, 2, b.Loa, qCa, 1) }; + pCa = function (a, b) { zK(a, 1, b.Rca); BK(a, 2, b.Qca, rCa, 3); BK(a, 3, b.coldStartInfo, sCa, 3) }; + oCa = function (a, b) { xK(a, 1, b.type); zK(a, 2, b.value) }; + nCa = function (a, b) { AK(a, 12, b.deviceMake); AK(a, 13, b.deviceModel); xK(a, 16, b.clientName); AK(a, 17, b.clientVersion); AK(a, 18, b.osName); AK(a, 19, b.osVersion) }; + tCa = function (a, b) { AK(a, 1, b.name); AK(a, 2, b.value) }; + uCa = function (a, b) { AK(a, 1, b.url); if (b.EQ) for (var c = 0; c < b.EQ.length; c++)BK(a, 2, b.EQ[c], tCa, 3); zK(a, 3, b.postBody); yK(a, 4, b.kda); yK(a, 6, b.xC) }; + dCa = function (a, b) { zK(a, 2, b.VX); zK(a, 5, b.encryptedClientKey); zK(a, 6, b.iv); zK(a, 7, b.mZ); yK(a, 10, b.X1); yK(a, 13, b.UX); yK(a, 14, b.sP); zK(a, 16, b.afa); yK(a, 17, b.H3) }; + vCa = function (a) { return { KL: nK(a, 1), BK: nK(a, 2), body: pK(a, 4) } }; + wCa = function (a) { return { bitrate: nK(a, 6), width: nK(a, 7), height: nK(a, 8), fps: nK(a, 25), averageBitrate: nK(a, 31), audioSampleRate: nK(a, 45), audioChannels: nK(a, 46) } }; + eCa = function (a, b) { AK(a, 1, b.token) }; + xCa = function (a) { return { pj: nK(a, 1), F1: nK(a, 2) } }; + BCa = function (a, b) { BK(a, 1, b.zr, fL, 3); if (b.Ax) for (var c = 0; c < b.Ax.length; c++)BK(a, 2, b.Ax[c], hL, 3); if (b.kd) for (c = 0; c < b.kd.length; c++)BK(a, 3, b.kd[c], hCa, 3); zK(a, 5, b.videoPlaybackUstreamerConfig); if (b.Qo) for (c = 0; c < b.Qo.length; c++)BK(a, 6, b.Qo[c], yCa, 3); if (b.xH) for (c = 0; c < b.xH.length; c++)BK(a, 16, b.xH[c], hL, 3); if (b.yH) for (c = 0; c < b.yH.length; c++)BK(a, 17, b.yH[c], hL, 3); BK(a, 19, b.BC, gL, 3); BK(a, 21, b.dn, zCa, 3); xK(a, 22, b.UK); xK(a, 23, b.RK); if (b.QH) for (c = 0; c < b.QH.length; c++)BK(a, 1E3, b.QH[c], ACa, 3) }; + yCa = function (a, b) { BK(a, 1, b.formatId, hL, 3); xK(a, 2, b.Sj); xK(a, 3, b.sequenceNumber); BK(a, 4, b.OJ, iL, 1); xK(a, 5, b.c_); xK(a, 6, b.u8) }; + zCa = function (a, b) { if (b.MI) for (var c = 0; c < b.MI.length; c++)AK(a, 1, b.MI[c]); zK(a, 2, b.SW); AK(a, 3, b.Nt); xK(a, 4, b.UT); xK(a, 5, b.K3); AK(a, 6, b.L3) }; + ACa = function (a, b) { if (b.Ax) for (var c = 0; c < b.Ax.length; c++)BK(a, 1, b.Ax[c], hL, 3); if (b.kd) for (c = 0; c < b.kd.length; c++)BK(a, 2, b.kd[c], hCa, 3); AK(a, 3, b.clipId) }; + g.kL = function (a, b) { BK(a, 1, b.zr, fL, 3); zK(a, 3, b.videoPlaybackUstreamerConfig); BK(a, 5, b.BC, gL, 3); BK(a, 6, b.dn, zCa, 3) }; + ECa = function (a, b) { AK(a, 1, b.cpn); xK(a, 2, b.sequenceNumber); AK(a, 3, b.serializedWatchEndpointLoggingContext); if (b.decoderInfo) for (var c = 0; c < b.decoderInfo.length; c++)BK(a, 6, b.decoderInfo[c], CCa, 3); AK(a, 9, b.playerResponseCpn); xK(a, 10, b.transitionStitchType); xK(a, 12, b.timestampOffsetMsecs); xK(a, 15, b.remoteControlMode); if (b.remoteConnectedDevices) for (c = 0; c < b.remoteConnectedDevices.length; c++)BK(a, 16, b.remoteConnectedDevices[c], DCa, 3); zK(a, 17, b.serializedHouseBrandPlayerServiceLoggingContext) }; + CCa = function (a, b) { xK(a, 1, b.elapsedTimeMs); AK(a, 3, b.videoDecoderName) }; + DCa = function (a, b) { xK(a, 1, b.deviceInterface); AK(a, 2, b.deviceVersion); yK(a, 3, b.isSleeping) }; + FCa = function (a) { return { first: nK(a, 1), SZ: nK(a, 2) } }; + lL = function (a) { return { itagDenylist: sK(a, 1) } }; + HCa = function (a) { return { Ioa: tK(a, 1, GCa) } }; + GCa = function (a) { return { conditions: sK(a, 1), Noa: nK(a, 2) } }; + KCa = function (a) { return { Nca: nK(a, 1), itag: qK(a, 3), X0: rK(a, 4, ICa), lmt: nK(a, 5), hna: nK(a, 7), xtags: qK(a, 15), L$: rK(a, 23, JCa), bB: rK(a, 34, lL) } }; + ICa = function (a) { return { iv: pK(a, 5), f$: oK(a, 7) } }; + LCa = function (a) { return { p7: sK(a, 2), videoId: qK(a, 3), BU: nK(a, 4) } }; + JCa = function (a) { return { videoId: qK(a, 2) } }; + MCa = function (a) { return { xK: nK(a, 3), yK: nK(a, 4), Zca: oK(a, 8), ooa: nK(a, 10), J_: nK(a, 12), K_: nK(a, 13), w_: nK(a, 14), x_: nK(a, 15) } }; + NCa = function (a) { return { targetAudioReadaheadMs: nK(a, 1), targetVideoReadaheadMs: nK(a, 2), backoffTimeMs: nK(a, 4), playbackCookie: pK(a, 7), videoId: qK(a, 8) } }; + OCa = function (a) { return { minBandwidthBytesPerSec: nK(a, 1), minReadaheadMs: nK(a, 2) } }; + PCa = function (a) { return { startMinReadaheadPolicy: tK(a, 1, OCa), resumeMinReadaheadPolicy: tK(a, 2, OCa) } }; + QCa = function (a) { return { label: qK(a, 1), text: qK(a, 2) } }; + RCa = function (a) { return { videoId: qK(a, 1), formatId: rK(a, 2, jL), debugInfo: tK(a, 3, QCa) } }; + SCa = function (a) { return { G8: tK(a, 1, RCa) } }; + TCa = function (a) { return { xR: nK(a, 1), hL: nK(a, 2), minReadaheadMs: nK(a, 3) } }; + UCa = function (a) { return { b1: nK(a, 1), items: tK(a, 2, TCa), qq: nK(a, 3) } }; + VCa = function (a) { return { token: qK(a, 1), videoId: qK(a, 2) } }; + WCa = function (a) { return { Sp: nK(a, 1) } }; + XCa = function (a) { return { mda: qK(a, 1), action: nK(a, 2), R1: rK(a, 3, WCa) } }; + mL = function (a) { return { pT: nK(a, 1), qT: nK(a, 2), seekSource: nK(a, 3) } }; + ZCa = function (a) { return { U2: tK(a, 1, YCa), pea: qK(a, 2) } }; + $Ca = function (a) { return { V3: qK(a, 1), Y0: nK(a, 2), x$: nK(a, 3), k_: nK(a, 4), l_: nK(a, 5), Z0: nK(a, 6) } }; + aDa = function (a) { return { XK: nK(a, 1) } }; + YCa = function (a) { return { clipId: qK(a, 1), Yq: rK(a, 2, $Ca), GR: rK(a, 3, aDa) } }; + bDa = function (a) { return { type: nK(a, 1), scope: nK(a, 2), value: pK(a, 3), sendByDefault: oK(a, 4) } }; + cDa = function (a) { var b = []; a = g.w(a.split(",")); for (var c = a.next(); !c.done; c = a.next()) { var d = c.value; d && ((c = d.startsWith("!")) && (d = d.substring(1)), d = d.split("-"), d.length < 3 || b.push({ B2: d[0], platform: d[1], deviceVersion: d[2], qZ: c })) } return b }; + fDa = function (a) { return cDa(a).map(function (b) { return { deviceInterface: dDa[eDa[b.B2]] || 0, deviceVersion: b.deviceVersion || "", isSleeping: b.qZ } }) }; + g.nL = function (a, b) { this.id = a; this.dc = b; this.captionTracks = []; this.C = this.D = null; this.xtags = ""; this.G = !1; this.j = null; this.B = "UNKNOWN"; this.captionsInitialState = "CAPTIONS_INITIAL_STATE_UNKNOWN"; a = this.dc.id.split("."); a.length > 1 && (this.G = a[1] === "2") }; + oL = function (a, b, c, d, e) { this.B = a; this.j = b; this.C = c; this.reason = d; this.ub = e === void 0 ? 0 : e }; + qL = function (a, b) { return a.B === b.B && a.j === b.j && a.C === b.C && a.reason === b.reason && (!pL || a.ub === b.ub) }; + g.rL = function (a, b, c, d) { return new oL(g.RE[a] || 0, g.RE[b] || 0, c, d) }; + sL = function (a) { if (pL && a.ub) return !1; var b = g.RE.auto; return a.B === b && a.j === b }; + uL = function (a) { return tL[a.j || a.B] || "auto" }; + gDa = function (a, b) { b = g.RE[b]; return a.B <= b && (!a.j || a.j >= b) }; + vL = function (a) { return "[" + a.B + "-" + a.j + ", override: " + (a.C + ", reason: " + a.reason + "]") }; + wL = function (a, b, c) { this.videoInfos = a; this.j = b; this.audioTracks = []; if (this.j) { a = new Set; c == null || c({ ainfolen: this.j.length }); b = g.w(this.j); for (var d = b.next(); !d.done; d = b.next())if (d = d.value, !d.dc || a.has(d.dc.id)) { var e = void 0, f = void 0, h = void 0; (h = c) == null || h({ atkerr: !!d.dc, itag: d.itag, xtag: d.j, lang: ((e = d.dc) == null ? void 0 : e.name) || "", langid: ((f = d.dc) == null ? void 0 : f.id) || "" }) } else e = new g.nL(d.id, d.dc), a.add(d.dc.id), this.audioTracks.push(e); c == null || c({ atklen: this.audioTracks.length }) } }; + xL = function () { g.O.apply(this, arguments); this.j = null }; + kDa = function (a, b, c, d, e, f, h) { + if (a.j) return a.j; var l = {}, m = new Set, n = {}; if (yL(d)) { for (var p in d.j) d.j.hasOwnProperty(p) && (a = d.j[p], n[a.info.rb] = [a.info]); return n } p = hDa(b, d, l); f && e({ aftsrt: zL(p) }); for (var q = {}, r = g.w(Object.keys(p)), t = r.next(); !t.done; t = r.next()) { + t = t.value; for (var u = g.w(p[t]), y = u.next(); !y.done; y = u.next()) { + y = y.value; var A = y.itag, D = void 0, F = t + "_" + (((D = y.video) == null ? void 0 : D.fps) || 0); q.hasOwnProperty(F) ? q[F] === !0 ? n[t].push(y) : l[A] = q[F] : (D = AL(b, y, c, d.isLive, m), D !== !0 ? (h.add(t), l[A] = D, + D === "disablevp9hfr" && (q[F] = "disablevp9hfr")) : (n[t] = n[t] || [], n[t].push(y), q[F] = !0)) + } + } f && e({ bfflt: zL(n) }); for (var H in n) n.hasOwnProperty(H) && (d = H, n[d] && n[d][0].zg() && (n[d] = n[d], n[d] = iDa(b, n[d], l), n[d] = jDa(n[d], l))); f && e(l); b = g.w(m.values()); for (d = b.next(); !d.done; d = b.next())(d = c.C.get(d.value)) && --d.N1; f && e({ aftflt: zL(n) }); a.j = g.rc(n, function (M) { return !!M.length }); + return a.j + }; + mDa = function (a, b, c, d, e, f, h, l) { + l = l === void 0 ? !1 : l; if (b.Rc && h && h.length > 1 && !(b.wj > 0 || b.Y)) { + for (var m = b.B || !!e, n = m && b.Ob ? f : void 0, p = hDa(b, d), q = [], r = [], t = {}, u = 0; u < h.length; u++) { var y = h[u], A = d.K.get(y); if (A && A.info) { var D = A.info; A = D.rb; if (AL(b, D, c, d.isLive)) { y = D.zg() ? q : r; D = g.w(p[A]); for (var F = D.next(); !F.done; F = D.next()) { F = F.value; var H = void 0, M = A + "_" + (((H = F.video) == null ? void 0 : H.fps) || 0); t.hasOwnProperty(M) ? t[M] === !0 && y.push(F) : AL(b, F, c, d.isLive) && (y.push(F), t[M] = !0) } } else m && f({ opfu: y }) } } if (q.length && + r.length) return m && f({ opfm: q[0].itag + "," + r[0].itag }), as(new wL(q, r, n)) + } return lDa(a, b, c, d, e, f, l) + }; + lDa = function (a, b, c, d, e, f, h) { + function l(D) { return !!q[D] } + var m = b.B || !!e, n = m && b.Ob ? f : void 0, p = new Set, q = kDa(a, b, c, d, f, m, p); BL(d) && (q = nDa(c, q, e, m, f, b), m && f({ enflt: zL(q) })); b.ob = oDa(q); if (yL(d)) return f = g.Kb(Object.values(q), function (D) { return !!D.length && !!D[0].audio }), a = g.Kb(Object.values(q), function (D) { return !!D.length && !!D[0].video }), f && a || $r(), as(new wL(a, f, n)); + e = pDa(b); m && f({ audioPrefOrder: e.join("_") }); a = []; if (b.Ie) { e = g.kn(e, l); for (var r = new Set, t = g.w(e), u = t.next(); !u.done; u = t.next()) { u = g.w(q[u.value]); for (var y = u.next(); !y.done; y = u.next())y = y.value, y.dc && !r.has(y.dc.id) && (r.add(y.dc.id), a.push(y)) } if (a.length === 0) { if (e.length === 0) return m && f({ noaudio: 1 }), $r(); a = q[e[0]] } } else { a = g.Kb(e, l); if (!a) return m && f({ noaudio: 1 }), $r(); a = q[a] } q["9"] && q.h && d.Vb && !b.Va && (m && f({ dltvp9: 1 }), delete q["9"]); if (h) { + m && f({ bfsflt: zL(q), bfsflta: CL(c) }); qDa(c, p); m && f({ bfsfltb: CL(c) }); + for (var A in q) if (q.hasOwnProperty(A) && (h = A, !(h === "f" || b.Uf === 0 && rDa.has(h)))) for (p = g.w(q[h]), e = p.next(); !e.done; e = p.next())e = e.value, b.Wc ? sDa(c, h, e) : tDa(c, h, e); m && f({ aftsflt: CL(c) }) + } h = q["1h"] ? "1h" : "1"; c = q["9h"] ? "9h" : "9"; e = q[h]; r = q[c]; e && e.length && (b.j.highestAv1Resolution = e[e.length - 1].video.j); r && r.length && (b.j.highestVp9Resolution = r[r.length - 1].video.j); A = []; p = []; if (b.Fd && e) A = e, p = [h], f({ forceAv1: h }); else if (b.Y && !b.So) for (p = uDa(d) ? q["1h"] || q["9h"] ? ["1h", "9h"] : ["9", "h"] : ["1", "9", "h"], m && f({ newhybpref: p.join(".") }), + e = g.w(p), r = e.next(); !r.done; r = e.next())A = A.concat(q[r.value]).filter(function (D) { return D }); + else b.wj > 0 && r && e && (p = [h, c], A = e.concat(r).filter(function (D) { return D })); + if (A.length && !b.So) { DL(A, p); if (m) { m = []; b = g.w(A); for (d = b.next(); !d.done; d = b.next())m.push(d.value.itag); f({ hbdfmt: m.join(".") }) } return as(new wL(A, a, n)) } A = vDa(b); A = g.Kb(A, l); if (!A) { if (q[h]) return f = q[h], DL(f), as(new wL(f, a, n)); m && f({ novideo: 1 }); return $r() } b.yc && (A === "1" || A === "1h") && q[c] && (h = EL(q[A]), p = EL(q[c]), p > h ? A = c : b.Ed && p === h && wDa(q[c]) && (A = c)); A === "9" && q.h && EL(q.h) > EL(q["9"]) && (A = "h"); b.Jb && d.isLive && A === "(" && q.H && EL(q["("]) < 1440 && (A = "H"); m && f({ vfmly: FL(A) }); b = q[A]; if (!b.length) return m && f({ novfmly: FL(A) }), + $r(); DL(b); return as(new wL(b, a, n)) + }; + oDa = function (a) { var b = !(!a.mac3 && !a.MAC3), c = !(!a.meac3 && !a.MEAC3); return !(!a.m && !a.M) || b || c }; + wDa = function (a) { a = g.w(a); for (var b = a.next(); !b.done; b = a.next())if (b = b.value, b.itag && xDa.has(b.itag)) return !0; return !1 }; + FL = function (a) { switch (a) { case "*": return "v8e"; case "(": return "v9e"; case "(h": return "v9he"; default: return a } }; + zL = function (a) { var b = [], c; for (c in a) if (a.hasOwnProperty(c)) { var d = c; b.push(FL(d)); d = g.w(a[d]); for (var e = d.next(); !e.done; e = d.next())b.push(e.value.itag) } return b.join(".") }; + nDa = function (a, b, c, d, e, f) { + var h = {}, l = {}; g.qc(b, function (m, n) { + m = m.filter(function (p) { + var q = p.itag; if (!p.me) return l[q] = "noenc", !1; if (f.Ab && p.rb === "(h" && f.yb) return l[q] = "lichdr", !1; if (p.rb === "(" || p.rb === "(h") { if (a.D && c && c.flavor === "widevine") { var r = p.mimeType + "; experimental=allowed"; (r = !!p.me[c.flavor] && !!c.j[r]) || (l[q] = p.me[c.flavor] ? "unspt" : "noflv"); return r } if (!GL(a, HL.CRYPTOBLOCKFORMAT) && !a.Ga || a.qa) return l[q] = a.qa ? "disvp" : "vpsub", !1 } return c && p.me[c.flavor] && c.j[p.mimeType] ? !0 : (l[q] = c ? p.me[c.flavor] ? + "unspt" : "noflv" : "nosys", !1) + }); + m.length && (h[n] = m) + }); + d && Object.entries(l).length && e(l); return h + }; + jDa = function (a, b) { + var c = Cl(a, function (d, e) { return e.video.fps > 32 ? Math.min(d, e.video.width) : d }, Infinity); + c < Infinity && (a = a.filter(function (d) { if (d.video.fps > 32 || d.video.width < c) return !0; b[d.itag] = "hfrfirst"; return !1 })); + ms() && (a = a.filter(function (d) { if (d.itag !== "299") return !0; b[d.itag] = "ps3hfr1080"; return !1 })); + return a + }; + iDa = function (a, b, c) { return b = b.filter(function (d) { if (d.video.j <= a.Tb) return !0; c[d.itag] = "maxquality"; return !1 }) }; + hDa = function (a, b, c) { var d = {}, e; for (e in b.j) if (b.j.hasOwnProperty(e)) { var f = b.j[e].info; if (a.N && f.video && f.video.j < a.N) c && (c[f.itag] = "min" + a.N); else { var h = f.rb; d[h] = d[h] || []; d[h].push(f) } } a = g.w(Object.keys(d)); for (b = a.next(); !b.done; b = a.next())DL(d[b.value]); return d }; + EL = function (a) { return Cl(a, function (b, c) { return Math.max(b, c.video.j) }, 0) }; + AL = function (a, b, c, d, e) { + e = e === void 0 ? new Set : e; if (b.rb === "") return "unkn"; if ((b.itag === "304" || b.itag === "266") && a.Fa) return "blk2khfr"; if (a.K && b.video && b.video.j > a.K) return "max" + a.K; if (a.fb && b.rb === "h" && b.video && b.video.j > 1080) return "blkhigh264"; if (b.rb === "(h" && !c.K) return "enchdr"; if ((d === void 0 ? 0 : d) && aF(b) && !a.Ra) return "blk51live"; if ((b.rb === "MAC3" || b.rb === "mac3") && !a.D) return "blkac3"; if ((b.rb === "MEAC3" || b.rb === "meac3") && !a.G) return "blkeac3"; if ((b.rb === "M" || b.rb === "m") && !a.ra) return "blkaac51"; if ((b.rb === + "so" || b.rb === "sa") && !a.Ba) return "blkamb"; if (!a.Ab && b.me && b.me.fairplay && (b.rb === "(" || b.rb === "(h" || b.rb === "A" || b.rb === "MEAC3")) return "cbc"; if (b.rb === "i" && !a.Kb) return "blkiamf"; var f, h; if (a.Ya && (b.rb === "1" || b.rb === "1h") && ((f = b.video) == null ? 0 : f.j) && ((h = b.video) == null ? void 0 : h.j) > a.Ya) return "av1cap"; if ((d = c.C.get(b.rb)) && d.N1 > 0) return e.add(b.rb), "byerr"; var l; if ((l = b.video) == null ? 0 : l.fps > 32) { + if (!c.Fa && !GL(c, HL.FRAMERATE)) return "capHfr"; if (a.Xa && b.video.j >= 4320) return "blk8khfr"; if (XE(b) && a.Zd && b.me && + b.video.j >= 1440) return "disablevp9hfr" + } if (a.ub && b.ub > a.ub) return "ratecap"; a = yDa(c, b); return a !== !0 ? a : !0 + }; + DL = function (a, b) { b = b === void 0 ? [] : b; g.$b(a, function (c, d) { var e = d.ub - c.ub; if (!c.zg() || !d.zg()) return e; var f = d.video.height * d.video.width - c.video.height * c.video.width; !f && b && b.length > 0 && (c = b.indexOf(c.rb) + 1, d = b.indexOf(d.rb) + 1, f = c === 0 || d === 0 ? d || -1 : c - d); f || (f = e); return f }) }; + g.IL = function (a, b) { this.B = a; this.D = b === void 0 ? !1 : b; this.C = this.path = this.scheme = ""; this.j = {}; this.url = "" }; + KL = function (a) { JL(a); return a.C }; + LL = function (a) { return a.B ? a.B.startsWith("local") : a.scheme === "local" }; + zDa = function (a) { JL(a); return g.tc(a.j, function (b) { return b !== null }) }; + ML = function (a) { JL(a); var b = decodeURIComponent(a.get("mn") || "").split(","); return a.path === "/videoplayback" && b.length > 1 && !!b[1] }; + NL = function (a, b) { + b = b === void 0 ? !1 : b; JL(a); if (a.path !== "/videoplayback") { var c = a.clone(); c.set("playerfallback", "1"); return c } var d = a.Ce(); c = new g.hk(d); var e = a.get("fvip"), f = decodeURIComponent(a.get("mn") || "").split(","); if (e && f && f.length > 1 && f[1]) return d = c.j, a = d.replace(/^[^.]*/, ""), g.jk(c, (d.indexOf("rr") === 0 ? "rr" : "r") + e + "---" + f[1] + a), c = new g.IL(c.toString()), c.set("fallback_count", "1"), c; if (b) return c = a.clone(), c.set("fallback_count", "1"), c; e = c.j.match("\\.a1\\.googlevideo\\.com$"); c.j.match("\\.googlevideo\\.com$") ? + (g.jk(c, "redirector.googlevideo.com"), d = c.toString()) : c.j.match("rr?[1-9].*\\.c\\.youtube\\.com$") ? (g.jk(c, "www.youtube.com"), d = c.toString()) : (c = vva(d), mD(c) && (d = c)); c = new g.IL(d); c.set("cmo=pf", "1"); e && c.set("cmo=td", "a1.googlevideo.com"); return c + }; + JL = function (a) { + if (a.B) { + if (!mD(a.B) && !a.B.startsWith("local")) throw new g.pt("Untrusted URL", a.B); var b = g.qk(a.B); a.scheme = b.G; a.C = b.j + (b.C != null ? ":" + b.C : ""); var c = b.B; if (c.startsWith("/videoplayback")) a.path = "/videoplayback", c = c.slice(14); else if (c.startsWith("/initplayback")) a.path = "/initplayback", c = c.slice(13); else if (c.startsWith("/api/manifest")) { var d = c.indexOf("/", 12), e = c.indexOf("/", d + 1); d > 0 && e > 0 ? (a.path = c.slice(0, e), c = c.slice(e + 1)) : (a.path = c, c = "") } else a.path = c, c = ""; d = a.j; a.j = ADa(c); Object.assign(a.j, + BDa(b.D.toString())); Object.assign(a.j, d); a.j.file === "index.m3u8" && (delete a.j.file, a.path += "/file/index.m3u8"); a.B = ""; a.url = ""; a.D && (JL(a), b = a.j.n || null) && (b = CDa[0](b), a.set("n", b), CDa.length || Dma("")) + } + }; + DDa = function (a) { + JL(a); var b = a.scheme + (a.scheme ? "://" : "//") + a.C + a.path; if (zDa(a)) { + var c = []; g.qc(a.j, function (d, e) { d !== null && c.push(e + "=" + d) }); + b += "?" + c.join("&") + } return b + }; + ADa = function (a) { a = a.split("/"); var b = 0; a[0] || b++; for (var c = {}; b < a.length; b += 2)a[b] && EDa(c, a[b], a[b + 1]); return c }; + BDa = function (a) { a = a.split("&"); for (var b = {}, c = 0; c < a.length; c++) { var d = a[c], e = d.indexOf("="); e > 0 ? EDa(b, d.slice(0, e), d.slice(e + 1)) : d && (b[d] = "") } return b }; + EDa = function (a, b, c) { if (b === "cmo") { var d; (d = c.indexOf("=")) >= 0 ? (b = "cmo=" + c.slice(0, d), c = c.slice(d + 1)) : (d = c.indexOf("%3D")) >= 0 && (b = "cmo=" + c.slice(0, d), c = c.slice(d + 3)) } a[b] = c }; + OL = function (a) { var b = g.R(a, FDa) || a.signatureCipher; a = { aZ: !1, rE: "", PH: "", s: "" }; if (!b) return a; b = xr(b); a.aZ = !0; a.rE = b.url; a.PH = b.sp; a.s = b.s; return a }; + PL = function (a, b, c, d, e, f, h, l, m) { this.Pa = a; this.startTime = b; this.duration = c; this.ingestionTime = d; this.sourceURL = e; this.Zg = m; this.endTime = b + c; this.j = h || 0; this.range = f || null; this.pending = l || !1; this.Zg = m || null }; + g.QL = function () { this.segments = []; this.j = null; this.B = !0; this.C = "" }; + GDa = function (a, b) { + if (b > a.qd()) a.segments = []; else { + var c = Jb(a.segments, function (d) { return d.Pa >= b }, a); + c > 0 && a.segments.splice(0, c) + } + }; + RL = function (a, b, c, d, e) { e = e === void 0 ? !1 : e; this.data = a; this.offset = b; this.size = c; this.type = d; this.j = (this.B = e) ? 0 : 8; this.dataOffset = this.offset + this.j }; + SL = function (a) { var b = a.data.getUint8(a.offset + a.j); a.j += 1; return b }; + TL = function (a) { var b = a.data.getUint16(a.offset + a.j); a.j += 2; return b }; + UL = function (a) { var b = a.data.getInt32(a.offset + a.j); a.j += 4; return b }; + VL = function (a) { var b = a.data.getUint32(a.offset + a.j); a.j += 4; return b }; + WL = function (a) { var b = a.data; var c = a.offset + a.j; b = b.getUint32(c) * 4294967296 + b.getUint32(c + 4); a.j += 8; return b }; + XL = function (a, b) { b = b === void 0 ? NaN : b; if (isNaN(b)) var c = a.size; else for (c = a.j; c < a.size && a.data.getUint8(a.offset + c) !== b;)++c; b = new Uint8Array(a.data.buffer, a.offset + a.j + a.data.byteOffset, c - a.j); a.j = Math.min(c + 1, a.size); return eK(b) }; + HDa = function (a) { return new Uint8Array(a.data.buffer, a.offset + a.data.byteOffset, a.size) }; + IDa = function (a) { this.offset = 0; this.data = new DataView(new ArrayBuffer(a)) }; + YL = function (a, b, c, d) { (new Uint8Array(a.data.buffer, a.offset, d)).set(new Uint8Array(b.buffer, c + b.byteOffset, d)); a.offset += d }; + ZL = function (a, b, c, d, e, f) { this.startSecs = a; this.Dh = b; this.context = c; this.identifier = d; this.event = e; this.j = f }; + aM = function (a, b) { + this.data = a; this.uri = b || "http://youtube.com/streaming/metadata/segment/102015"; this.mj = $L(this, "Sequence-Number"); this.D = $L(this, "Segment-Count"); this.G = this.data["Segment-Durations-Ms"] || ""; this.ingestionTime = $L(this, "Ingestion-Walltime-Us") / 1E6; this.j = ($L(this, "First-Frame-Time-Us") + $L(this, "First-Frame-Uncertainty-Us")) / 1E6; this.Uj = $L(this, "Target-Duration-Us") / 1E6; this.Mi = this.data["Stream-Finished"] === "T"; this.C = this.data.Streamable === "T"; this.cryptoPeriodIndex = $L(this, "Crypto-Period-Index"); + this.B = $L(this, "Crypto-Period-Seconds") + }; + KDa = function (a) { return a.data["Cuepoint-Type"] ? new ZL(-(Number(a.data["Cuepoint-Playhead-Time-Sec"]) || 0), Number(a.data["Cuepoint-Total-Duration-Sec"]) || 0, a.data["Cuepoint-Context"], a.data["Cuepoint-Identifier"] || "", JDa[a.data["Cuepoint-Event"] || ""] || "unknown", (Number(a.data["Cuepoint-Playhead-Time-Sec"]) || 0) * 1E3) : null }; + LDa = function (a) { return Number(a.data["Start-Media-Time-Us"]) / 1E6 || 0 }; + $L = function (a, b) { return Number(a.data[b]) || 0 }; + bM = function (a) { return a.data["Stitched-Video-Cpn"] ? a.data["Stitched-Video-Cpn"].split(",").slice(0, -1) : [] }; + g.MDa = function (a) { return a.data["Serialized-State"] ? a.data["Serialized-State"] : "" }; + g.NDa = function (a) { switch (a.data["Is-Ad-Break-Finished"]) { case "true": return 1; case "false": return 2; default: return 0 } }; + ODa = function (a, b) { this.j = a; this.duration = b }; + PDa = function (a, b, c, d, e) { this.B = e; this.j = a || 0; this.pitch = b || 0; this.yaw = c || 0; this.roll = d || 0; this.crc = e.getUint32(4) }; + cM = function (a) { var b = {}; a = a.split("\r\n"); for (var c = 0; c < a.length; c++) { if (a[c].length === 0) return b; var d = a[c].match(/([^:]+):\s+([\S\s]+)/); d != null && (b[d[1]] = d[2]) } return null }; + QDa = function (a, b) { var c = g.dM(a, 0, 1952868452); a = g.dM(a, 0, 1953658222); if (c && a) { c.skip(1); var d = SL(c) << 16 | TL(c); c.skip(4); d & 1 && c.skip(8); d & 2 && c.skip(4); if (d & 8) { d = c.j; var e = VL(c); c.data.setUint32(c.offset + d, b > 1 ? Math.ceil(e * b) : Math.floor(e * b)) } a.skip(1); c = SL(a) << 16 | TL(a); if (c & 256) { d = c & 1; e = c & 4; var f = c & 512, h = c & 1024, l = c & 2048; c = VL(a); d && a.skip(4); e && a.skip(4); d = (f ? 4 : 0) + (h ? 4 : 0) + (l ? 4 : 0); for (e = 0; e < c; e++)f = a.j, h = VL(a), a.data.setUint32(a.offset + f, b > 1 ? Math.ceil(h * b) : Math.floor(h * b)), a.skip(d) } } }; + fM = function (a) { a = new DataView(a.buffer, a.byteOffset, a.byteLength); return (a = g.dM(a, 0, 1836476516)) ? g.eM(a) : NaN }; + RDa = function (a) { + var b = g.dM(a, 0, 1937011556); if (!b) return null; b = gM(a, b.dataOffset + 8, 1635148593) || gM(a, b.dataOffset + 8, 1635135537); if (!b) return null; var c = gM(a, b.dataOffset + 78, 1936995172), d = gM(a, b.dataOffset + 78, 1937126244); if (!d) return null; b = null; if (c) switch (c.skip(4), SL(c)) { default: b = 0; break; case 1: b = 2; break; case 2: b = 1; break; case 3: b = 255 }var e = c = null, f = null; if (d = gM(a, d.dataOffset, 1886547818)) { + var h = gM(a, d.dataOffset, 1886546020), l = gM(a, d.dataOffset, 2037673328); if (!l && (l = gM(a, d.dataOffset, 1836279920), + !l)) return null; h && (h.skip(4), c = UL(h) / 65536, f = UL(h) / 65536, e = UL(h) / 65536); a = HDa(l); a = new DataView(a.buffer, a.byteOffset + 8, a.byteLength - 8); return new PDa(b, c, f, e, a) + } return null + }; + gM = function (a, b, c) { for (; hM(a, b);) { var d = iM(a, b); if (d.type === c) return d; b += d.size } return null }; + g.dM = function (a, b, c) { for (; hM(a, b);) { var d = iM(a, b); if (d.type === c) return d; b = jM(d.type) ? b + 8 : b + d.size } return null }; + g.kM = function (a) { if (a.data.getUint8(a.dataOffset)) { var b = a.data; a = a.dataOffset + 4; b = b.getUint32(a) * 4294967296 + b.getUint32(a + 4) } else b = a.data.getUint32(a.dataOffset + 4); return b }; + iM = function (a, b) { var c = a.getUint32(b), d = a.getUint32(b + 4); return new RL(a, b, c, d) }; + g.eM = function (a) { var b = a.data.getUint8(a.dataOffset) ? 20 : 12; return a.data.getUint32(a.dataOffset + b) }; + SDa = function (a) { a = new RL(a.data, a.offset, a.size, a.type, a.B); var b = SL(a); a.skip(7); var c = VL(a); if (b === 0) { b = VL(a); var d = VL(a) } else b = WL(a), d = WL(a); a.skip(2); for (var e = TL(a), f = [], h = [], l = 0; l < e; l++) { var m = VL(a); f.push(m); h.push(VL(a)); a.skip(4) } return { Ts: c, c8: b, B8: d, nda: f, dU: h } }; + hM = function (a, b) { if (a.byteLength - b < 8) return !1; var c = a.getUint32(b); if (c < 8 || a.byteLength - b < c) return !1; for (c = 4; c < 8; c++) { var d = a.getInt8(b + c); if (d < 48 || d > 122) return !1 } return !0 }; + jM = function (a) { return a === 1701082227 || a === 1836019558 || a === 1836019574 || a === 1835297121 || a === 1835626086 || a === 1937007212 || a === 1953653094 || a === 1953653099 || a === 1836475768 }; + TDa = function (a) { a.skip(4); return { Pda: XL(a, 0), value: XL(a, 0), Ts: VL(a), fpa: VL(a), ana: VL(a), id: VL(a), F_: XL(a), offset: a.offset } }; + g.UDa = function (a) { var b = gM(a, 0, 1701671783); if (!b) return null; var c = TDa(b), d = c.Pda; c = cM(c.F_); if (a = gM(a, b.offset + b.size, 1701671783)) if (a = TDa(a), a = cM(a.F_), c && a) { b = g.w(Object.keys(a)); for (var e = b.next(); !e.done; e = b.next())e = e.value, c[e] = a[e] } return c ? new aM(c, d) : null }; + lM = function (a, b) { for (var c = gM(a, 0, b); c;) { var d = c; d.type = 1936419184; d.data.setUint32(d.offset + 4, 1936419184); c = gM(a, c.offset + c.size, b) } }; + g.mM = function (a, b) { for (var c = 0, d = []; hM(a, c);) { var e = iM(a, c); e.type === b && d.push(e); c = jM(e.type) ? c + 8 : c + e.size } return d }; + VDa = function (a, b) { + var c = g.dM(a, 0, 1937011556), d = g.dM(a, 0, 1953654136); if (!c || !d || a.getUint32(c.offset + 12) >= 2) return null; var e = new DataView(b.buffer, b.byteOffset, b.length), f = g.dM(e, 0, 1937011556); if (!f) return null; b = e.getUint32(f.dataOffset + 8); d = e.getUint32(f.dataOffset + 12); if (d !== 1701733217 && d !== 1701733238) return null; d = new IDa(a.byteLength + b); YL(d, a, 0, c.offset + 12); d.data.setInt32(d.offset, 2); d.offset += 4; YL(d, a, c.offset + 16, c.size - 16); YL(d, e, e.byteOffset + f.dataOffset + 8, b); YL(d, a, c.offset + c.size, a.byteLength - + (c.offset + c.size)); c = g.w([1836019574, 1953653099, 1835297121, 1835626086, 1937007212, 1937011556]); for (e = c.next(); !e.done; e = c.next())e = g.dM(a, 0, e.value), d.data.setUint32(e.offset, e.size + b); a = g.dM(d.data, 0, 1953654136); d.data.setUint32(a.offset + 16, 2); return d.data + }; + WDa = function (a) { var b = g.dM(a, 0, 1937011556); if (!b) return null; var c = a.getUint32(b.dataOffset + 12); if (c !== 1701733217 && c !== 1701733238) return null; b = gM(a, b.offset + 24 + (c === 1701733217 ? 28 : 78), 1936289382); if (!b) return null; c = gM(a, b.offset + 8, 1935894637); if (!c || a.getUint32(c.offset + 12) !== 1667392371) return null; b = gM(a, b.offset + 8, 1935894633); if (!b) return null; b = gM(a, b.offset + 8, 1952804451); if (!b) return null; c = new Uint8Array(16); for (var d = 0; d < 16; d++)c[d] = a.getInt8(b.offset + 16 + d); return c }; + nM = function (a, b) { this.j = a; this.pos = 0; this.start = b || 0 }; + oM = function (a) { return a.pos >= a.j.byteLength }; + tM = function (a, b, c) { var d = new nM(c); if (!pM(d, a)) return !1; d = qM(d); if (!rM(d, b)) return !1; for (a = 0; b;)b >>>= 8, a++; b = d.start + d.pos; var e = sM(d, !0); d = a + (d.start + d.pos - b) + e; d = d > 9 ? XDa(d - 9, 8) : XDa(d - 2, 1); a = b - a; c.setUint8(a++, 236); for (b = 0; b < d.length; b++)c.setUint8(a++, d[b]); return !0 }; + YDa = function (a) { + var b = new nM(a); b.Co(); if (pM(b, [408125543, 374648427, 174, 224])) b = qM(b); else return null; for (var c = a = null; !oM(b);) { var d = sM(b, !1); if (d === 21432) switch (uM(b)) { default: a = 0; break; case 1: a = 1; break; case 3: a = 2; break; case 15: a = 255 } else d === 30320 ? c = qM(b) : vM(b) } if (!c) return null; for (var e, f = d = b = null; !oM(c);)switch (sM(c, !1)) { + case 30321: if (uM(c) !== 3) return null; break; case 30324: b = wM(c); break; case 30323: f = wM(c); break; case 30325: d = wM(c); break; case 30322: e = sM(c, !0); e = xM(c, e); e = new DataView(e.buffer, + e.byteOffset, e.byteLength); break; default: vM(c) + }return e ? new PDa(a, b, f, d, e) : null + }; + qM = function (a) { var b = sM(a, !0), c = a.j.byteOffset + a.pos; c = new DataView(a.j.buffer, c, Math.min(b, a.j.buffer.byteLength - c)); c = new nM(c, a.start + a.pos); a.pos += b; return c }; + uM = function (a) { for (var b = sM(a, !0), c = yM(a), d = 1; d < b; d++)c = c * 256 + yM(a); return c }; + wM = function (a) { var b = sM(a, !0), c = 0; b === 4 ? c = a.j.getFloat32(a.pos) : b === 8 && (c = a.j.getFloat64(a.pos)); a.pos += b; return c }; + ZDa = function (a) { var b = sM(a, !0); return eK(xM(a, b)) }; + yM = function (a) { return a.j.getUint8(a.pos++) }; + sM = function (a, b) { var c = yM(a); if (c === 1) { for (b = c = 0; b < 7; b++)c = c * 256 + yM(a); return c } for (var d = 128, e = 0; e < 6 && d > c; e++)c = c * 256 + yM(a), d *= 128; return b ? c - d : c }; + vM = function (a) { var b = sM(a, !0); a.pos += b }; + $Da = function (a) { + if (!rM(a, 440786851, !0)) return null; var b = a.pos; sM(a, !1); var c = sM(a, !0) + a.pos - b; a.pos = b + c; if (!rM(a, 408125543, !1)) return null; sM(a, !0); if (!rM(a, 357149030, !0)) return null; var d = a.pos; sM(a, !1); var e = sM(a, !0) + a.pos - d; a.pos = d + e; if (!rM(a, 374648427, !0)) return null; var f = a.pos; sM(a, !1); var h = sM(a, !0) + a.pos - f, l = new Uint8Array(c + 12 + e + h), m = new DataView(l.buffer); l.set(new Uint8Array(a.j.buffer, a.j.byteOffset + b, c)); m.setUint32(c, 408125543); m.setUint32(c + 4, 33554431); m.setUint32(c + 8, 4294967295); + l.set(new Uint8Array(a.j.buffer, a.j.byteOffset + d, e), c + 12); l.set(new Uint8Array(a.j.buffer, a.j.byteOffset + f, h), c + 12 + e); return l + }; + zM = function (a) { var b = a.pos; a.pos = 0; var c = 1E6; pM(a, [408125543, 357149030, 2807729]) && (c = uM(a)); a.pos = b; return c }; + aEa = function (a, b) { var c = a.pos; a.pos = 0; if (a.j.getUint8(a.pos) !== 160 && !AM(a) || !rM(a, 160)) return a.pos = c, NaN; sM(a, !0); var d = a.pos; if (!rM(a, 161)) return a.pos = c, NaN; sM(a, !0); yM(a); var e = yM(a) << 8 | yM(a); a.pos = d; if (!rM(a, 155)) return a.pos = c, NaN; d = uM(a); a.pos = c; return (e + d) * b / 1E9 }; + AM = function (a) { if (!bEa(a) || !rM(a, 524531317)) return !1; sM(a, !0); return !0 }; + bEa = function (a) { if (a.Co()) { if (!rM(a, 408125543)) return !1; sM(a, !0) } return !0 }; + pM = function (a, b) { for (var c = 0; c < b.length; c++) { if (!rM(a, b[c])) return !1; c !== b.length - 1 && sM(a, !0) } return !0 }; + rM = function (a, b, c) { c = c === void 0 ? !1 : c; if (oM(a)) return !1; for (var d = a.pos; sM(a, !1) !== b;)if (vM(a), d = a.pos, oM(a)) return !1; c && (a.pos = d); return !0 }; + XDa = function (a, b) { b || (b = Math.ceil(Math.log(a + 2) / Math.log(2) / 7)); for (var c = 1 << 8 - b, d = []; d.length < b - 1;)d.unshift(a % 256), a = Math.floor(a / 256); d.unshift(a | c); return d }; + xM = function (a, b) { var c = new Uint8Array(a.j.buffer, a.j.byteOffset + a.pos, b); a.pos += b; return c }; + BM = function (a) { this.base = a; this.j = {}; this.url = "" }; + cEa = function (a, b) { + var c = b.indexOf("?"); if (c > 0) { + var d = BDa(b.substr(c + 1)); g.qc(d, function (e, f) { this.set(f, e) }, a); + b = b.substr(0, c) + } b = ADa(b); g.qc(b, function (e, f) { this.set(f, e) }, a) + }; + dEa = function (a) { + var b = a.base.Ce(), c = []; g.qc(a.j, function (e, f) { c.push(f + "=" + e) }); + if (!c.length) return b; var d = c.join("&"); a = zDa(a.base) ? "&" : "?"; return b + a + d + }; + CM = function (a, b) { + var c = new g.IL(b); (b = c.get("req_id")) && a.set("req_id", b); g.qc(a.j, function (d, e) { c.set(e, null) }); + return c + }; + eEa = function () { this.D = this.C = this.j = this.timedOut = this.started = this.G = this.B = 0 }; + DM = function (a) { a.G = (0, g.Zt)(); a.started = 0; a.timedOut = 0; a.j = 0 }; + fEa = function (a, b) { var c = a.started + a.j * 4; b && (c += a.C); c = Math.max(0, c - 3); return Math.pow(1.6, c) }; + EM = function (a, b) { a[b] || (a[b] = new eEa); return a[b] }; + FM = function (a) { this.Z = this.K = this.G = this.B = 0; this.N = !1; this.j = a; this.C = a.clone() }; + HM = function (a, b, c) { a = b ? GM(a, c) : a.j; return new BM(a) }; + GM = function (a, b) { b = b ? b.pm : !1; a.D || (a.D = NL(a.C, b)); return a.D }; + IM = function (a, b, c) { return KL(b ? GM(a, c) : a.j) }; + JM = function (a, b, c) { c = EM(c, IM(a, a.Xj(b, c), b)); b = Math.max(a.G, c.timedOut) + b.dD * (a.B - a.G) + .25 * a.K; b = b > 3 ? 1E3 * Math.pow(1.6, b - 3) : 0; return b === 0 ? !0 : a.Z + b < (0, g.Zt)() }; + gEa = function (a, b, c) { a.j.set(b, c); a.C.set(b, c); a.D && a.D.set(b, c) }; + hEa = function (a, b, c, d, e) { ++a.B; b && ++a.G; KL(c.base).startsWith("redirector.") && (a.j = a.C.clone(), delete a.D, d.bD && delete e[KL(a.j)]) }; + KM = function (a, b, c, d) { this.initRange = c; this.indexRange = d; this.j = null; this.C = !1; this.K = 0; this.D = this.B = null; this.info = b; this.resource = new FM(a) }; + LM = function (a, b) { this.start = a; this.end = b; this.length = b - a + 1 }; + MM = function (a) { a = a.split("-"); var b = Number(a[0]), c = Number(a[1]); if (!isNaN(b) && !isNaN(c) && a.length === 2 && (a = new LM(b, c), !isNaN(a.start) && !isNaN(a.end) && !isNaN(a.length) && a.length > 0)) return a }; + NM = function (a, b) { return new LM(a, a + b - 1) }; + iEa = function (a) { return a.end == null ? { start: String(a.start) } : { start: String(a.start), end: String(a.end) } }; + OM = function (a) { if (!a) return new LM(0, 0); var b = Number(a.start); a = Number(a.end); if (!isNaN(b) && !isNaN(a) && (b = new LM(b, a), b.length > 0)) return b }; + PM = function (a, b, c, d, e, f, h, l, m, n, p, q) { + d = d === void 0 ? "" : d; this.type = a; this.j = b; this.range = c; this.source = d; this.Sj = p; this.clipId = q === void 0 ? "" : q; this.G = []; this.C = ""; this.Pa = -1; this.qO = this.K = 0; this.C = d; this.Pa = e >= 0 ? e : -1; this.startTime = f || 0; this.duration = h || 0; this.Ub = l || 0; this.B = m >= 0 ? m : this.range ? this.range.length : NaN; this.Se = this.range ? this.Ub + this.B === this.range.length : n === void 0 ? !!this.B : n; this.range ? (this.We = this.startTime + this.duration * this.Ub / this.range.length, this.D = this.duration * this.B / this.range.length, + this.Mf = this.We + this.D) : jEa(this) + }; + jEa = function (a) { a.We = a.startTime; a.D = a.duration; a.Mf = a.We + a.D }; + kEa = function (a, b, c) { var d = !(!b || b.j !== a.j || b.type !== a.type || b.Pa !== a.Pa); return c ? d && !!b && (a.range && b.range ? b.range.end === a.range.end : b.range === a.range) && b.Ub + b.B === a.Ub + a.B : d }; + QM = function (a) { return a.type === 1 || a.type === 2 }; + RM = function (a) { return a.type === 3 || a.type === 6 }; + SM = function (a, b) { return a.j === b.j ? a.range && b.range ? a.range.start + a.Ub + a.B === b.range.start + b.Ub : a.Pa === b.Pa ? a.Ub + a.B === b.Ub : a.Pa + 1 === b.Pa && b.Ub === 0 && a.Se : !1 }; + lEa = function (a, b) { return SM(a, b) || Math.abs(a.Mf - b.We) <= 1E-6 || a.Pa + 1 === b.Pa && b.Ub === 0 && a.Se ? !0 : !1 }; + TM = function (a) { return a.Pa + (a.Se ? 1 : 0) }; + mEa = function (a) { + a.length === 1 || g.Bl(a, function (c) { return !!c.range }); + for (var b = 1; b < a.length; b++); b = a[a.length - 1]; return new LM(a[0].range.start + a[0].Ub, b.range.start + b.Ub + b.B - 1) + }; + nEa = function (a) { for (var b = 1; b < a.length; b++)if (!SM(a[b - 1], a[b])) return !1; return !0 }; + oEa = function (a) { var b = 0; a = g.w(a); for (var c = a.next(); !c.done; c = a.next())b += c.value.range.length; return b }; + UM = function (a) { var b = {}; b.itag = a.j.info.itag; b.type = "" + a.type; b.src = "" + a.source; b.segsrc = a.C; b.seg = String(a.Pa); a.range && (b.range = a.range.start + a.Ub + "-" + (a.range.start + a.Ub + a.B - 1)); b.time = a.We.toFixed(1) + "-" + (a.We + a.D).toFixed(1); b.off = String(a.Ub); b.len = String(a.B); a.Se && (b.end = "1"); a.Mi() && (b.eos = "1"); a.clipId && (b.cid = a.clipId); return b }; + pEa = function (a) { return new PM(a.type, a.j, a.range, "getEmptyStubBefore" + a.C, a.Pa, a.startTime, 0, a.Ub, 0) }; + qEa = function (a) { return new PM(a.type, a.j, a.range, "getEmptyStubAfter" + a.C, a.Pa, a.startTime + a.duration, 0, a.Ub + a.B, 0) }; + rEa = function (a, b, c, d) { return new PM(a.type, a.j, a.range, "reslice" + a.C, a.Pa, a.startTime, a.duration, b, c, d, a.Sj, a.clipId) }; + sEa = function (a, b) { return a.j !== b.j ? !1 : a.range && b.range ? a.range.start + a.Ub >= b.range.start + b.Ub && a.range.start + a.Ub + a.B <= b.range.start + b.Ub + b.B : a.Pa === b.Pa && a.Ub >= b.Ub && (a.Ub + a.B <= b.Ub + b.B || b.Se) }; + tEa = function (a, b) { return a.j !== b.j ? !1 : a.type === 4 && b.type === 3 && a.j.jg() ? (a = a.j.fC(a), Em(a, function (c) { return tEa(c, b) })) : a.Pa === b.Pa && !!b.B && b.Ub + b.B > a.Ub && b.Ub + b.B <= a.Ub + a.B }; + VM = function (a, b) { var c = b.Pa; a.C = "updateWithSegmentInfo"; a.Pa = c; if (a.startTime !== b.startTime || a.duration !== b.duration) a.startTime = b.startTime + a.K, a.duration = b.duration, jEa(a) }; + WM = function (a, b) { + var c = this; this.gb = a; this.D = this.j = null; this.G = this.hh = NaN; this.Xj = this.requestId = null; this.hd = { coa: function () { return c.range } }; + this.resource = a[0].j.resource; this.B = b || ""; this.gb[0].range && this.gb[0].B > 0 && (nEa(a) ? (this.range = mEa(a), this.C = this.range.length) : (this.range = this.gb[this.gb.length - 1].range, this.C = oEa(a))) + }; + XM = function (a) { return !QM(a.gb[a.gb.length - 1]) }; + YM = function (a) { return a.gb[a.gb.length - 1].type === 4 }; + g.ZM = function (a, b, c) { + c = a.Xj === null ? a.resource.Xj(b, c, a.gb[0].type) : a.Xj; if (a.j) { b = c ? NL(a.j, b.pm) : a.j; var d = new BM(b); d.get("alr") || d.set("alr", "yes"); a.B && cEa(d, a.B) } else /http[s]?:\/\//.test(a.B) ? d = new BM(new g.IL(a.B)) : (d = HM(a.resource, c, b), a.B && cEa(d, a.B)); (b = a.range) ? d.set("range", b.toString()) : a.gb[0].j.Fx() && a.gb.length === 1 && a.gb[0].Ub && d.set("range", a.gb[0].Ub + "-"); a.requestId && d.set("req_id", a.requestId); isNaN(a.hh) || d.set("headm", a.hh.toString()); isNaN(a.G) || d.set("mffa", a.G + "ms"); a.urlParams && + g.qc(a.urlParams, function (e, f) { d.set(f, e) }); + return d + }; + uEa = function (a) { if (a.range) return a.C; a = a.gb[0]; return Math.round(a.D * a.j.info.ub) }; + vEa = function (a, b) { return Math.max(0, a.gb[0].We - b) }; + $M = function (a, b, c, d, e, f) { f = f === void 0 ? 0 : f; KM.call(this, a, b, d, void 0); this.G = c; this.Uj = f; this.index = e || new g.QL }; + wEa = function (a, b, c, d, e) { this.Pa = a; this.startSecs = b; this.Dh = c; this.j = d || NaN; this.B = e || NaN }; + aN = function (a, b, c) { for (; a; a = a.parentNode)if (a.attributes && (!c || a.nodeName === c)) { var d = a.getAttribute(b); if (d) return d } return "" }; + bN = function (a, b) { for (; a; a = a.parentNode) { var c = a.getElementsByTagName(b); if (c.length > 0) return c[0] } return null }; + xEa = function (a) { if (!a) return 0; var b = a.match(/PT(([0-9]*)H)?(([0-9]*)M)?(([0-9.]*)S)?/); return b ? (Number(b[2]) | 0) * 3600 + (Number(b[4]) | 0) * 60 + (Number(b[6]) | 0) : Number(a) | 0 }; + yEa = function (a) { return a.match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})$/) ? a + "Z" : a }; + cN = function () { this.j = []; this.B = null; this.K = 0; this.C = []; this.G = !1; this.N = ""; this.D = -1 }; + zEa = function (a) { var b = a.C; a.C = []; return b }; + AEa = function () { this.D = []; this.j = null; this.B = {}; this.C = {} }; + kHa = function (a, b) { var c = []; b = Array.from(b.getElementsByTagName("SegmentTimeline")); b = g.w(b); for (var d = b.next(); !d.done; d = b.next()) { d = d.value; var e = d.parentNode.parentNode, f = null; e.nodeName === "Period" ? f = OFa(a) : e.nodeName === "AdaptationSet" ? (e = e.getAttribute("id") || e.getAttribute("mimetype") || "", f = fHa(a, e)) : e.nodeName === "Representation" && (e = e.getAttribute("id") || "", f = gHa(a, e)); if (f == null) return; f.update(d); g.Ub(c, zEa(f)) } g.Ub(a.D, c); Laa(a.D, function (h) { return h.startSecs * 1E3 + h.j }) }; + IHa = function (a) { + a.j && (a.j.j = []); g.qc(a.B, function (b) { b.j = [] }); + g.qc(a.C, function (b) { b.j = [] }) + }; + OFa = function (a) { a.j || (a.j = new cN); return a.j }; + fHa = function (a, b) { a.B[b] || (a.B[b] = new cN); return a.B[b] }; + gHa = function (a, b) { a.C[b] || (a.C[b] = new cN); return a.C[b] }; + eN = function (a) { var b = a === void 0 ? {} : a; a = b.Uj === void 0 ? 0 : b.Uj; var c = b.In === void 0 ? !1 : b.In; var d = b.Br === void 0 ? 0 : b.Br; var e = b.df === void 0 ? 0 : b.df; var f = b.xi === void 0 ? Infinity : b.xi; var h = b.kB === void 0 ? 0 : b.kB; b = b.Wd === void 0 ? !1 : b.Wd; g.QL.call(this); this.Sr = this.aq = -1; this.Vj = a; this.Br = d; this.In = c; this.df = e; this.xi = f; this.kB = h; ((this.Wd = b) || isFinite(f) && this.xi > 0) && c && dN && (this.B = !1, this.C = "postLive") }; + fN = function (a, b) { return Zb(a.segments, function (c) { return b - c.Pa }) }; + gN = function (a, b, c) { c = c === void 0 ? {} : c; $M.call(this, a, b, "", void 0, void 0, c.Uj || 0); this.index = new eN(c) }; + hN = function (a, b, c) { KM.call(this, a, b); this.G = c; a = this.index = new g.QL; a.B = !1; a.C = "d" }; + JHa = function (a, b, c) { var d = a.index.hK(b), e = a.index.getStartTime(b), f = a.index.getDuration(b); c ? f = c = 0 : c = a.info.ub * f; return new WM([new PM(3, a, void 0, "otfCreateRequestInfoForSegment", b, e, f, 0, c)], d) }; + KHa = function (a, b) { + if (!a.index.isLoaded()) { + var c = [], d = b.D; b = b.G.split(",").filter(function (p) { return p.length > 0 }); + for (var e = 0, f = 0, h = 0, l = /^(\d+)/, m = /r=(\d+)/, n = 0; n < d; n++) { if (h <= 0) if (h = b.shift(), f = (f = l.exec(h)) ? +f[1] / 1E3 : 0) h = (h = m.exec(h)) ? +h[1] : 0, h += 1; else return; c.push(new PL(n, e, f, NaN, "sq/" + (n + 1))); e += f; h-- } a.index.append(c) + } + }; + iN = function (a, b) { this.info = a; this.j = b; this.B = null; this.D = this.C = -1; this.timestampOffset = 0; this.K = !1; this.G = this.info.j.TA() && !this.info.Ub; this.isLocked = !1 }; + jN = function (a) { return nBa(a.j) }; + LHa = function (a, b) { b = Math.min(b, a.info.B); var c = a.j.split(b), d = c.qn; c = new iN(new PM(a.info.type, a.info.j, a.info.range, a.info.C, a.info.Pa, a.info.startTime, a.info.duration, a.info.Ub, b, !1, a.info.Sj, a.info.clipId), c.zK); c.D = a.D; c.C = a.C; b = new iN(new PM(a.info.type, a.info.j, a.info.range, a.info.C, a.info.Pa, a.info.startTime, a.info.duration, a.info.Ub + b, a.info.B - b, a.info.Se, a.info.Sj, a.info.clipId), d); b.D = a.D; b.C = a.C; return [c, b] }; + kN = function (a, b, c) { var d; if (!(d = a.isLocked || b.isLocked || !SM(a.info, b.info) || a.info.Se)) { if (c = c === void 0 ? !1 : c) c = a.j, d = b.j, c = !(d.j.length ? lBa(c, d.j[0]) : 1); d = c } if (d) return null; c = new PM(a.info.type, a.info.j, a.info.range, a.info.C, a.info.Pa, a.info.startTime, a.info.duration, a.info.Ub, a.info.B, a.info.Se, a.info.Sj, a.info.clipId); d = b.info; c.B += d.B; c.range && (c.D += d.D); c.Mf = d.Mf; c.Se = d.Se; d = new VJ; WJ(d, a.j); WJ(d, b.j); c = new iN(c, d); c.B = b.B || a.B; c.C = a.C !== -1 ? a.C : b.C; c.D = a.D !== -1 ? a.D : b.D; return c }; + lN = function (a) { + g.bF(a.info.j.info) || a.info.j.info.Le(); if (a.C !== -1) return a.C; if (a.B && LDa(a.B)) return a.C = LDa(a.B), a.C; if (g.bF(a.info.j.info)) { var b = jN(a); for (var c = a.info.j.j, d = NaN, e = NaN, f = 0; hM(b, f);) { var h = iM(b, f); h.type === 1936286840 ? e = h.data.getUint32(h.dataOffset + 8) : h.type === 1836476516 ? e = g.eM(h) : h.type === 1952867444 && isNaN(d) && (d = g.kM(h)); f = jM(h.type) ? f + 8 : f + h.size } !e && c && (e = fM(c)); b = d / e } else b = new nM(jN(a)), c = a.G ? b : new nM(new DataView(a.info.j.j.buffer)), d = zM(c), c = b.pos, b.pos = 0, AM(b) ? rM(b, 231) ? + (d = uM(b) * d / 1E9, b.pos = c, b = d) : (b.pos = c, b = NaN) : (b.pos = c, b = NaN); a.C = b || a.info.We; return a.C + }; + NHa = function (a, b) { a.timestampOffset > 0 && (b -= a.timestampOffset); var c = lN(a) + b; MHa(a, c); a.timestampOffset = b }; + MHa = function (a, b) { + g.bF(a.info.j.info) || a.info.j.info.Le(); a.C = b; if (g.bF(a.info.j.info)) { + var c = jN(a); a = a.info.j.j; for (var d = NaN, e = NaN, f = 0; hM(c, f);) { + var h = iM(c, f); isNaN(d) && (h.type === 1936286840 ? d = h.data.getUint32(h.dataOffset + 8) : h.type === 1836476516 && (d = g.eM(h))); if (h.type === 1952867444) { + !d && a && (d = fM(a)); var l = g.kM(h); isNaN(e) && (e = Math.round(b * d) - l); var m = h; l += e; if (m.data.getUint8(m.dataOffset)) { var n = m.data; m = m.dataOffset + 4; n.setUint32(m, Math.floor(l / 4294967296)); n.setUint32(m + 4, l & 4294967295) } else m.data.setUint32(m.dataOffset + + 4, l) + } f = jM(h.type) ? f + 8 : f + h.size + } return !0 + } c = new nM(jN(a)); a = a.G ? c : new nM(new DataView(a.info.j.j.buffer)); d = zM(a); a = c.pos; c.pos = 0; if (AM(c) && rM(c, 231)) if (e = sM(c, !0), b = Math.floor(b * 1E9 / d), Math.ceil(Math.log(b) / Math.log(2) / 8) > e) b = !1; else { for (d = e - 1; d >= 0; d--)c.j.setUint8(c.pos + d, b & 255), b >>>= 8; c.pos = a; b = !0 } else b = !1; return b + }; + nN = function (a, b) { b = b === void 0 ? !1 : b; var c = mN(a); a = b ? 0 : a.info.D; return c || a }; + mN = function (a) { + g.bF(a.info.j.info) || a.info.j.info.Le(); if (a.B && a.info.type === 6) return a.B.Uj; if (g.bF(a.info.j.info)) { + var b = jN(a); var c = 0; b = g.mM(b, 1936286840); b = g.w(b); for (var d = b.next(); !d.done; d = b.next())d = SDa(d.value), c += d.dU[0] / d.Ts; c = c || NaN; if (!(c >= 0)) a: { + c = jN(a); b = a.info.j.j; for (var e = d = 0, f = 0; hM(c, d);) { + var h = iM(c, d); if (h.type === 1836476516) e = g.eM(h); else if (h.type === 1836019558) { + !e && b && (e = fM(b)); if (!e) { c = NaN; break a } var l = gM(h.data, h.dataOffset, 1953653094), m = l; l = e; var n = gM(m.data, m.dataOffset, 1952868452); + m = gM(m.data, m.dataOffset, 1953658222); var p = UL(n); UL(n); p & 2 && UL(n); n = p & 8 ? UL(n) : 0; var q = UL(m), r = q & 1; p = q & 4; var t = q & 256, u = q & 512, y = q & 1024; q &= 2048; var A = VL(m); r && UL(m); p && UL(m); for (var D = r = 0; D < A; D++) { var F = t ? UL(m) : n; u && UL(m); p && D === 0 || !y || UL(m); q && UL(m); r += F } f += r / l + } d = jM(h.type) ? d + 8 : d + h.size + } c = f || NaN + } c || g.fx(new g.pt("Missing duration while parsing bmff", a.info.Sc())) + } else c = new nM(jN(a)), a = a.G ? c : new nM(new DataView(a.info.j.j.buffer)), c = aEa(c, zM(a)); return c + }; + OHa = function (a) { var b = jN(a); var c = (c = g.dM(b, 0, 1936286840)) ? c.data.getUint32(c.dataOffset + 8) : NaN; isNaN(c) && (a = a.info.j.j, c = (b = g.dM(b, 0, 1836476516)) ? g.eM(b) : a ? fM(a) : NaN); return c }; + PHa = function (a) { return a.info.j.info.Le() && bK(a.j, 0) === 160 }; + QHa = function (a) { + if (!a.B) { + g.bF(a.info.j.info) || a.info.j.info.Le(); if (g.bF(a.info.j.info)) var b = g.UDa(jN(a)); else { + b = new nM(jN(a)); var c = b.pos; b.pos = 0; var d = null, e = null; if (pM(b, [408125543, 307544935])) for (var f = b.pos + sM(b, !0); b.pos < f;)if (sM(b, !1) !== 29555) vM(b); else for (var h = b.pos + sM(b, !0); b.pos < h;)if (sM(b, !1) !== 26568) vM(b); else for (var l = b.pos + sM(b, !0); b.pos < l;) { + var m = sM(b, !1); if (m === 17543) { + if (m = ZDa(b), m = cM(m)) if (e) for (var n = g.w(Object.keys(m)), p = n.next(); !p.done; p = n.next())p = p.value, e[p] = m[p]; else e = + m + } else m === 17827 ? (m = ZDa(b), d || (d = m)) : vM(b) + } b.pos = c; b = e ? new aM(e, d) : null + } a.B = b + } + }; + RHa = function (a) { if (g.bF(a.info.j.info)) lM(jN(a), 1836019574), lM(jN(a), 1718909296); else { var b = new nM(jN(a)); bEa(b); rM(b, 524531317, !0); a.j = a.j.split(b.start + b.pos).qn } a.G = !1 }; + oN = function (a) { if (!a.K) { if (g.bF(a.info.j.info)) { var b = jN(a); var c = gM(b, 0, 1836019574); if (c) { c = c.offset + c.size; var d = new Uint8Array(c); d.set(new Uint8Array(b.buffer, b.byteOffset, c)); b = d } else b = null } else b = $Da(new nM(jN(a))); b && (a.info.j.j = b, a.K = !0) } }; + g.pN = function () { this.count = 0; this.j = 1; this.B = !1; this.offsets = new Float64Array(128); this.Tg = new Float64Array(128) }; + SHa = function (a, b) { return b + 1 < a.count || a.B ? a.offsets[b + 1] - a.offsets[b] : -1 }; + qN = function (a) { a.offsets.length < a.count + 1 && a.resize(a.offsets.length * 2) }; + rN = function (a, b, c, d) { + KM.call(this, a, b, c, d); var e = this; this.G = null; this.hd = { qF: function (f, h, l, m) { return e.qF(f, h, l, m) } }; + this.index = new g.pN + }; + THa = function (a, b, c, d, e, f) { this.displayName = a; this.vssId = b; this.languageCode = c; this.kind = d === void 0 ? "" : d; this.xtags = e === void 0 ? "" : e; this.id = f === void 0 ? "" : f }; + VHa = function (a) { if (a = a.colorInfo) if (a = a.transferCharacteristics) return UHa[a]; return null }; + g.sN = function (a, b, c) { this.name = a; this.id = b; this.isDefault = c }; + WHa = function (a) { + return tN(function (b, c) { return g.Yr(b, c, 4, 1E3) }, a, { + format: "RAW", + method: "GET", withCredentials: !0 + }) + }; + g.XHa = function (a) { var b; a.responseType && a.responseType !== "text" ? a.responseType === "arraybuffer" && (b = eK(new Uint8Array(a.response))) : b = a.responseText; return !b || b.length > 2048 ? "" : b.indexOf("https://") === 0 ? b : "" }; + tN = function (a, b, c) { b.match(YHa); return a(b, c).then(function (d) { var e = g.XHa(d.xhr); return e ? tN(a, e, c) : d.xhr }) }; + xN = function (a, b, c) { + a = a === void 0 ? "" : a; b = b === void 0 ? null : b; c = c === void 0 ? !1 : c; g.Fx.call(this); var d = this; this.sourceUrl = a; this.isLivePlayback = c; this.ob = this.duration = 0; this.isPremiere = this.Wd = this.C = this.isLiveHeadPlayable = this.isLive = this.B = !1; this.xi = this.df = 0; this.isOtf = this.Vb = !1; this.Ya = (0, g.Zt)(); this.ra = Infinity; this.j = {}; this.K = new Map; this.state = this.Ag = 0; this.timeline = null; this.isManifestless = !1; this.Ga = []; this.G = null; this.Ma = 0; this.D = ""; this.Ka = NaN; this.Ra = this.Tb = this.timestampOffset = this.N = + 0; this.Z = this.Fa = NaN; this.Rc = 0; this.Xa = this.fb = this.qa = !1; this.Va = []; this.Wa = {}; this.Ba = NaN; this.hd = { Ama: function (l) { uN(d, l) } }; + var e; this.yb = (e = b) == null ? void 0 : e.kb("html5_use_network_error_code_enums"); ZHa = !!b && b.kb("html5_modern_vp9_mime_type"); var f; vN = !((f = b) == null || !f.kb("html5_enable_flush_during_seek")) && g.ks(); var h; wN = !((h = b) == null || !h.kb("html5_enable_reset_audio_decoder")) && g.ks() + }; + $Ha = function (a) { return g.tc(a.j, function (b) { return !!b.info.video && b.info.video.j >= 2160 }) }; + uDa = function (a) { return g.tc(a.j, function (b) { return !!b.info.video && b.info.video.isHdr() }) }; + BL = function (a) { return g.tc(a.j, function (b) { return !!b.info.me }) }; + aIa = function (a) { return g.tc(a.j, function (b) { return hF(b.info.mimeType) }) }; + bIa = function (a) { return g.tc(a.j, function (b) { return b.info.video ? b.info.video.projectionType === "EQUIRECTANGULAR" : !1 }) }; + cIa = function (a) { return g.tc(a.j, function (b) { return b.info.video ? b.info.video.projectionType === "EQUIRECTANGULAR_THREED_TOP_BOTTOM" : !1 }) }; + dIa = function (a) { return g.tc(a.j, function (b) { return b.info.video ? b.info.video.projectionType === "MESH" : !1 }) }; + eIa = function (a) { return g.tc(a.j, function (b) { return b.info.video ? b.info.video.stereoLayout === 1 : !1 }) }; + fIa = function (a) { return Zaa(a.j, function (b) { return b.info.video ? b.HS() : !0 }) }; + yL = function (a) { return g.tc(a.j, function (b) { return LL(b.resource.j) }) }; + uN = function (a, b) { a.j[b.info.id] = b; a.K.set(eF(b.info, a.Vb), b) }; + gIa = function (a, b) { return (b.itag || "") + ";" + ((a.Vb ? 0 : b.lmt || 0) || 0) + ";" + (b.xtags || "") }; + hIa = function (a) { return a.itag + ";" + (a.lmt || 0) + ";" + (a.xtags || "") }; + AN = function (a, b, c) { + c = c === void 0 ? 0 : c; var d = a.mimeType || "", e = a.itag; var f = a.xtags; e = e ? e.toString() : ""; f && (e += ";" + f); f = e; if (gF(d)) { var h = a.width || 640; e = a.height || 360; var l = a.fps, m = a.qualityLabel, n = a.colorInfo, p = a.projectionType, q; a.stereoLayout && (q = iIa[a.stereoLayout]); var r = VHa(a) || void 0; if (n == null ? 0 : n.primaries) var t = jIa[n.primaries] || void 0; h = new SE(h, e, l, p, q, void 0, m, r, t); d = yN(d, h, VE[a.itag || ""]); vN && (d += "; enableflushduringseek=true"); wN && (d += "; enableresetaudiodecoder=true") } var u; if (fF(d)) { + var y = + a.audioSampleRate; q = a.audioTrack; y = new PE(y ? +y : void 0, a.audioChannels, a.spatialAudioType, a.isDrc, a.loudnessDb, a.trackAbsoluteLoudnessLkfs); q && (t = q.displayName, e = q.id, q = q.audioIsDefault, t && (u = new g.sN(t, e || "", !!q))) + } var A; a.captionTrack && (m = a.captionTrack, q = m.displayName, t = m.vssId, e = m.languageCode, l = m.kind, m = m.id, q && t && e && (A = new THa(q, t, e, l, a.xtags, m))); q = Number(a.bitrate) / 8; t = Number(a.contentLength); e = Number(a.lastModified); m = a.drmFamilies; l = a.type; c = c && t ? t / c : 0; a = Number(a.approxDurationMs); if (b && + m) { var D = {}; m = g.w(m); for (n = m.next(); !n.done; n = m.next())(n = zN[n.value]) && (D[n] = b[n]) } return new WE(f, d, { audio: y, video: h, dc: u, me: D, ub: q, Hw: c, contentLength: t, lastModified: e, captionTrack: A, streamType: l, approxDurationMs: a }) + }; + BN = function (a, b, c) { + c = c === void 0 ? 0 : c; var d = a.type; var e = a.itag; var f = a.xtags; f && (e = a.itag + ";" + f); if (gF(d)) { var h = (a.size || "640x360").split("x"); h = new SE(+h[0], +h[1], +a.fps, a.projection_type, +a.stereo_layout, void 0, a.quality_label, a.eotf, a.primaries); d = yN(d, h, VE[a.itag]); vN && (d += "; enableflushduringseek=true"); wN && (d += "; enableresetaudiodecoder=true") } var l; if (fF(d)) { + var m = new PE(+a.audio_sample_rate || void 0, +a.audio_channels || 0, a.spatial_audio_type, !!a.drc); a.name && (l = new g.sN(a.name, a.audio_track_id, + a.isDefault === "1")) + } var n; a.caption_display_name && a.caption_vss_id && a.caption_language_code && (n = new THa(a.caption_display_name, a.caption_vss_id, a.caption_language_code, a.caption_kind, a.xtags, a.caption_id)); f = Number(a.bitrate) / 8; var p = Number(a.clen), q = Number(a.lmt); c = c && p ? p / c : 0; if (b && a.drm_families) { var r = {}; for (var t = g.w(a.drm_families.split(",")), u = t.next(); !u.done; u = t.next())u = u.value, r[u] = b[u] } return new WE(e, d, { + audio: m, video: h, dc: l, me: r, ub: f, Hw: c, contentLength: p, lastModified: q, captionTrack: n, + streamType: a.stream_type, approxDurationMs: Number(a.approx_duration_ms) + }) + }; + kIa = function (a) { return Em(a, function (b) { return "FORMAT_STREAM_TYPE_OTF" === b.stream_type }) ? "FORMAT_STREAM_TYPE_OTF" : "FORMAT_STREAM_TYPE_UNKNOWN" }; + lIa = function (a) { return Em(a, function (b) { return "FORMAT_STREAM_TYPE_OTF" === b.type }) ? "FORMAT_STREAM_TYPE_OTF" : "FORMAT_STREAM_TYPE_UNKNOWN" }; + mIa = function (a, b) { return a.timeline ? Vb(a.timeline.D, b) : a.Ga.length ? Vb(a.Ga, b) : [] }; + CN = function (a, b, c) { b = b === void 0 ? "" : b; c = c === void 0 ? "" : c; a = new g.IL(a, !0); a.set("alr", "yes"); c && (c = SBa(decodeURIComponent(c)), a.set(b, encodeURIComponent(c))); return a }; + qIa = function (a, b) { + var c = aN(b, "id"); c = c.replace(":", ";"); var d = aN(b, "mimeType"), e = aN(b, "codecs"); d = e ? d + '; codecs="' + e + '"' : d; e = Number(aN(b, "bandwidth")) / 8; var f = Number(bN(b, "BaseURL").getAttribute(a.D + ":contentLength")), h = a.duration && f ? f / a.duration : 0; if (gF(d)) { + var l = Number(aN(b, "width")); var m = Number(aN(b, "height")), n = Number(aN(b, "frameRate")), p = nIa(aN(b, a.D + ":projectionType")); a: switch (aN(b, a.D + ":stereoLayout")) { + case "layout_left_right": var q = 1; break a; case "layout_top_bottom": q = 2; break a; default: q = + 0 + }l = new SE(l, m, n, p, q) + } if (fF(d)) { var r = Number(aN(b, "audioSamplingRate")); var t = Number(aN(b.getElementsByTagName("AudioChannelConfiguration")[0], "value")); m = oIa(aN(b, a.D + ":spatialAudioType")); r = new PE(r, t, m); a: { t = aN(b, "lang") || "und"; if (m = bN(b, "Role")) if (p = aN(m, "value") || "", g.yc(pIa, p)) { m = t + "." + pIa[p]; n = p === "main"; a = aN(b, a.D + ":langName") || t + " - " + p; t = new g.sN(a, m, n); break a } t = void 0 } } if (b = bN(b, "ContentProtection")) if (b.getAttribute("schemeIdUri") === "http://youtube.com/drm/2012/10/10") { + var u = {}; for (b = + b.firstChild; b != null; b = b.nextSibling)b instanceof Element && /SystemURL/.test(b.nodeName) && (a = b.getAttribute("type"), m = b.textContent, a && m && (u[a] = m.trim())) + } else u = void 0; return new WE(c, d, { audio: r, video: l, dc: t, me: u, ub: e, Hw: h, contentLength: f }) + }; + nIa = function (a) { switch (a) { case "equirectangular": return "EQUIRECTANGULAR"; case "equirectangular_threed_top_bottom": return "EQUIRECTANGULAR_THREED_TOP_BOTTOM"; case "mesh": return "MESH"; case "rectangular": return "RECTANGULAR"; default: return "UNKNOWN" } }; + oIa = function (a) { switch (a) { case "spatial_audio_type_ambisonics_5_1": return "SPATIAL_AUDIO_TYPE_AMBISONICS_5_1"; case "spatial_audio_type_ambisonics_quad": return "SPATIAL_AUDIO_TYPE_AMBISONICS_QUAD"; case "spatial_audio_type_foa_with_non_diegetic": return "SPATIAL_AUDIO_TYPE_FOA_WITH_NON_DIEGETIC"; default: return "SPATIAL_AUDIO_TYPE_NONE" } }; + sIa = function (a, b) { + b = b === void 0 ? "" : b; a.state = 1; a.Ya = (0, g.Zt)(); return WHa(b || a.sourceUrl).then(function (c) { + if (!a.La()) { + a.Ag = c.status; c = c.responseText; var d = new DOMParser; c = Pba(d, Cma(c)).getElementsByTagName("MPD")[0]; a.ra = xEa(aN(c, "minimumUpdatePeriod")) * 1E3 || Infinity; b: { if (c.attributes) { d = g.w(c.attributes); for (var e = d.next(); !e.done; e = d.next())if (e = e.value, e.value === "http://youtube.com/yt/2012/10/10") { d = e.name.split(":")[1]; break b } } d = "" } a.D = d; a.isLive = a.ra < Infinity && a.isLivePlayback; a.ob = Number(aN(c, + a.D + ":earliestMediaSequence")) || 0; if (d = Date.parse(yEa(aN(c, a.D + ":mpdResponseTime")))) a.Ma = ((0, g.Zt)() - d) / 1E3; a.isLive && c.getElementsByTagName("SegmentTimeline").length <= 0 || g.Bl(c.getElementsByTagName("Period"), a.Mca, a); a.state = 2; a.publish("loaded"); rIa(a) + } return a + }).Wk(function (c) { + if (c instanceof Wr) { + var d = c.xhr; + a.Ag = d.status + } a.state = 3; a.publish("loaderror"); return Ie(d) + }) + }; + tIa = function (a, b, c) { return sIa(new xN(a, b, c), a) }; + DN = function (a) { return a.isLive && (0, g.Zt)() - a.Ya >= a.ra }; + uIa = function (a) { a.G && a.G.stop() }; + rIa = function (a) { var b = a.ra; isFinite(b) && (DN(a) ? a.refresh() : (b = Math.max(0, a.Ya + b - (0, g.Zt)()), a.G || (a.G = new g.fp(a.refresh, b, a), g.P(a, a.G)), a.G.start(b))) }; + vIa = function (a) { a = a.j; for (var b in a) { var c = a[b].index; if (c.isLoaded()) return c.qd() + 1 } return 0 }; + EN = function (a) { return a.Tb ? a.Tb - (a.N || a.timestampOffset) : 0 }; + FN = function (a) { return a.Ra ? a.Ra - (a.N || a.timestampOffset) : 0 }; + GN = function (a) { if (!isNaN(a.Ka)) return a.Ka; var b = a.j, c; for (c in b) { var d = b[c].index; if (d.isLoaded() && !hF(b[c].info.mimeType)) { b = 0; for (c = d.Vn(); c <= d.qd(); c++)b += d.getDuration(c); b /= d.sA(); b = Math.round(b / .5) * .5; d.sA() > 10 && (a.Ka = b); return b } if (a.isLive && (d = b[c], d.Uj)) return d.Uj } return NaN }; + wIa = function (a, b) { + a = aba(a.j, function (d) { return d.index.isLoaded() }); + if (!a) return NaN; a = a.index; var c = a.Li(b); return a.getStartTime(c) === b ? b : c < a.qd() ? a.getStartTime(c + 1) : NaN + }; + xIa = function (a, b) { if (!a.j["0"]) { var c = new WE("0", "fakesb", { video: new SE(0, 0, 0, void 0, void 0, "auto") }); a.j["0"] = b ? new $M(new g.IL("http://www.youtube.com/videoplayback"), c, "fake") : new rN(new g.IL("http://www.youtube.com/videoplayback"), c, new LM(0, 0), new LM(0, 0)) } }; + yIa = function (a) { if (a.isManifestless) for (var b in a.j) a.j[b].index.segments = [] }; + HN = function (a, b, c) { for (var d in a.j) { var e = hF(a.j[d].info.mimeType) || a.j[d].info.zg(); if (c === e) { e = a.j[d].index; var f = fN(e, b); f >= 0 && e.segments.splice(f, 1) } } }; + zIa = function (a) { for (var b in a.j) hF(a.j[b].info.mimeType) || GDa(a.j[b].index, Infinity) }; + IN = function (a, b, c) { for (var d in a.j) { var e = a.j[d].index, f = b, h = c; e.In && (f && (e.aq = Math.max(e.aq, f)), h && (e.Sr = Math.max(e.Sr || 0, h))) } c && (a.Ba = c / 1E3) }; + AIa = function (a) { a.Ra = 0; a.Tb = 0; a.Rc = 0 }; + JN = function (a) { return a.fb && a.isManifestless ? a.isLiveHeadPlayable : a.isLive }; + yN = function (a, b, c) { + KN === null && (KN = window.MediaSource && MediaSource.isTypeSupported && MediaSource.isTypeSupported('video/webm; codecs="vp09.02.51.10.01.09.16.09.00"') && !MediaSource.isTypeSupported('video/webm; codecs="vp09.02.51.10.01.09.99.99.00"')); if (ZHa && window.MediaSource && MediaSource.isTypeSupported !== void 0) return KN || c !== "9" && c !== "(" ? KN || c !== "9h" && c !== "(h" || (a = 'video/webm; codecs="vp9.2"') : a = 'video/webm; codecs="vp9"', a; if (!KN && !LN || a !== 'video/webm; codecs="vp9"' && a !== 'video/webm; codecs="vp9.2"') return a; + c = "00"; var d = "08", e = "01", f = "01", h = "01"; a === 'video/webm; codecs="vp9.2"' && (c = "02", d = "10", b.primaries === "bt2020" && (h = e = "09"), b.B === "smpte2084" && (f = "16"), b.B === "arib-std-b67" && (f = "18")); return 'video/webm; codecs="' + ["vp09", c, "51", d, "01", e, f, h, "00"].join(".") + '"' + }; + g.MN = function (a) { this.tag = a }; + CIa = function (a, b) { BIa.apply(null, [6, a, b].concat(g.x(g.Ca.apply(2, arguments)))) }; + DIa = function (a, b) { BIa.apply(null, [5, a, b].concat(g.x(g.Ca.apply(2, arguments)))) }; + BIa = function (a, b, c) { + var d = g.Ca.apply(3, arguments), e = a === 6 ? "ERROR" : "WARNING", f = "b" + c; g.ex(new (Function.prototype.bind.apply(g.pt, [null, f].concat(g.x(d)))), e); d.unshift(f); d = d.join(", "); e = EIa.get(b); if (!e) { e = "ytplog." + b; f = 5; try { window.localStorage && !isNaN(+window.localStorage[e]) && (f = +window.localStorage[e]), window.sessionStorage && !isNaN(+window.sessionStorage[e]) && (f = +window.sessionStorage[e]) } catch (m) { } EIa.set(b, f); e = f } if (!(a < e)) { + e = FIa; f = e.j.get(b); f || (f = new GIa, e.j.set(b, f)); e = f; f = Date.now(); var h = + Math.floor((f - e.B) * .01); h > 0 && (e.j = Math.min(e.j + h, 10), e.B = f); e.j > 0 ? (e.j--, e = !0) : e = !1; if (e) typeof d === "function" && (d = d()), console.log("plyr." + b, d); else { var l; d = ((l = HIa.get(b)) != null ? l : 0) + 1; HIa.set(b, d); d % 100 === 1 && console.warn("plyr", "plyr." + b + " is chatty, dropping logs.") } + } + }; + GIa = function () { this.j = 10; this.B = Date.now() }; + ON = function (a, b, c, d) { b = "" + b + (c > 49 ? "p60" : c > 32 ? "p48" : ""); if (!a.L("html5_gradual_perf_cap")) return ZBa(b); a = ZBa(b, !1); if (a != null && a > 0) return a; a = NN.get(b); if (a != null && a > 0) return a; d = d == null ? void 0 : d.get(b); return d != null && d > 0 ? d : 8192 }; + IIa = function (a) { + this.Da = a; this.wc = this.So = this.Ka = this.G = this.D = this.ra = this.Ma = this.Wa = this.Ba = !1; this.N = this.K = 0; this.fb = !1; this.Fa = !0; this.Xa = !1; this.wj = 0; this.Ga = !1; this.Tb = Infinity; this.RI = !1; this.yc = !0; this.Va = this.Ra = !1; this.j = {}; this.Jb = this.B = this.Y = !1; this.Uf = 0; this.disableAv1 = this.yb = this.ob = !1; this.Ob = this.Da.Ac(); this.Ab = this.Da.experiments.kb("html5_enable_vp9_fairplay"); this.Fd = this.Da.L("html5_force_av1_for_testing"); this.Ya = g.AC(this.Da.experiments, "html5_av1_ordinal_cap"); this.Zd = + this.Da.L("html5_disable_hfr_when_vp9_encrypted_2k4k_unsupported"); this.Rc = this.Da.L("html5_account_onesie_format_selection_during_format_filter"); this.Ed = this.Da.L("html5_prefer_hbr_vp9_over_av1"); this.ub = g.AC(this.Da.experiments, "html5_max_byterate"); this.Z = this.Da.L("html5_prefer_high_aac_by_default"); this.Ie = this.Da.L("html5_prefer_language_over_codec"); this.Kb = this.Da.L("html5_enable_iamf_audio"); this.Wc = this.Da.experiments.kb("html5_allow_capability_merge") + }; + vDa = function (a) { if (a.Wa) return ["f"]; var b = "9h 9 h 8 (h ( H *".split(" "); a.Ga && (b.unshift("1"), b.unshift("1h")); a.So && b.unshift("h"); a.qa && (b = (JIa[a.qa] || [a.qa]).concat(b)); return b }; + pDa = function (a) { var b = ["o", "a", "A"]; a.Z && b.unshift("ah"); a.Uf === 1 && (a.ra && (b = ["m", "M"].concat(b)), a.D && (b = ["mac3", "MAC3"].concat(b)), a.G && (b = ["meac3", "MEAC3"].concat(b))); a.Ba && (b = ["so", "sa"].concat(b)); !a.wc || a.Ka || a.C || b.unshift("a"); !a.Z && a.Ma && b.unshift("ah"); a.C && (b = (JIa[a.C] || [a.C]).concat(b)); a.Kb && b.unshift("i"); return b }; + PN = function (a, b, c, d) { + b = b === void 0 ? {} : b; if (d === void 0 ? 0 : d) return b.disabled = 1, 0; if (GL(a.G, HL.AV1_CODECS) && GL(a.G, HL.HEIGHT) && GL(a.G, HL.BITRATE)) return b.isCapabilityUsable = 1, 8192; try { var e = cCa(); if (e) return b.localPref = e } catch (l) { } d = 1080; navigator.hardwareConcurrency <= 2 && (d = 480); b.coreCount = navigator.hardwareConcurrency; lna() && (b.isArm = 1, d = 240); if (c) { + var f, h; if (e = (f = c.videoInfos.find(function (l) { return ZE(l) })) == null ? void 0 : (h = f.B) == null ? void 0 : h.powerEfficient) d = 8192, b.isEfficient = 1; + c = c.videoInfos[0].video; a = Math.min(ON(a, "1", c.fps), ON(a, "1", 30)); b.perfCap = a; d = Math.min(d, a); c.isHdr() && !e && (b.hdr = 1, d *= .75) + } else c = ON(a, "1", 30), b.perfCap30 = c, d = Math.min(d, c), c = ON(a, "1", 60), b.perfCap60 = c, d = Math.min(d, c); return b.av1Threshold = d + }; + QN = function (a, b, c, d) { this.flavor = a; this.keySystem = b; this.B = c; this.experiments = d; this.j = {}; this.fb = this.keySystemAccess = null; this.uw = this.ww = -1; this.pm = null; this.C = !!d && d.kb("edge_nonprefixed_eme") }; + SN = function (a) { return a.C ? !1 : !a.keySystemAccess && !!RN() && a.keySystem === "com.microsoft.playready" }; + TN = function (a) { return a.keySystem === "com.microsoft.playready" }; + UN = function (a) { return !a.keySystemAccess && !!RN() && a.keySystem === "com.apple.fps.1_0" }; + VN = function (a) { return a.keySystem === "com.youtube.fairplay" }; + WN = function (a) { return a.keySystem === "com.youtube.fairplay.sbdl" }; + g.XN = function (a) { return a.flavor === "fairplay" }; + RN = function () { var a = window, b = a.MSMediaKeys; os() && !b && (b = a.WebKitMediaKeys); return b && b.isTypeSupported ? b : null }; + ZN = function (a) { if (!navigator.requestMediaKeySystemAccess) return !1; if (g.KE && !g.ks()) return Fp("45"); if (g.tu || g.lm) return a.kb("edge_nonprefixed_eme"); if (g.YN) return Fp("47"); if (g.Rt) { if (a.kb("html5_enable_safari_fairplay")) return !1; if (a = g.AC(a, "html5_safari_desktop_eme_min_version")) return Fp(a) } return !0 }; + KIa = function (a, b, c, d) { var e = ls(), f = (c = e || c && os()) ? ["com.youtube.fairplay"] : ["com.widevine.alpha"]; b && f.unshift("com.youtube.widevine.l3"); e && d && f.unshift("com.youtube.fairplay.sbdl"); return c ? f : a ? [].concat(g.x(f), g.x($N.playready)) : [].concat(g.x($N.playready), g.x(f)) }; + bO = function () { this.B = this.Kn = 0; this.j = Array.from({ length: aO.length }).fill(0) }; + LIa = function () { }; + MIa = function () { this.startTimeMs = (0, g.Zt)(); this.j = !1 }; + NIa = function () { this.j = new LIa }; + OIa = function (a, b, c, d) { d = d === void 0 ? 1 : d; c >= 0 && (b in a.j || (a.j[b] = new bO), a.j[b].Ph(c, d)) }; + PIa = function (a, b, c, d, e) { var f = (0, g.Zt)(), h = e ? e(b) : void 0, l; e = (l = h == null ? void 0 : h.Kn) != null ? l : 1; if (e !== 0) { var m; l = (m = h == null ? void 0 : h.profile) != null ? m : c; OIa(a, l, f - d, e) } return b }; + cO = function (a, b, c, d, e) { + if (b && typeof b === "object") { + var f = function (h) { return PIa(a, h, c, d, e) }; + if ("then" in b && typeof b.then === "function") return b.then(f); if ("andThen" in b && typeof b.mf === "function") return b.mf(f) + } return PIa(a, b, c, d, e) + }; + QIa = function () { }; + dO = function (a, b, c, d, e) { d = d === void 0 ? !1 : d; g.O.call(this); this.Da = b; this.useCobaltWidevine = d; this.oa = e; this.B = []; this.C = {}; this.j = {}; this.callback = null; this.G = !1; this.D = []; this.initialize(a, !c) }; + SIa = function (a, b) { a.callback = b; a.D = []; ZN(a.Da.experiments) ? eO(a) : RIa(a) }; + eO = function (a) { + if (!a.La()) if (a.B.length === 0) a.callback(a.D); else { + var b = a.B[0], c = a.C[b], d = TIa(a, c); if (fO && fO.keySystem === b && fO.Cda === JSON.stringify(d)) a.oa("remksa", { re: !0 }), UIa(a, c, fO.keySystemAccess); else { + var e, f; a.oa("remksa", { re: !1, ok: (f = (e = fO) == null ? void 0 : e.keySystem) != null ? f : "" }); fO = void 0; (gO.isActive() ? gO.ev("emereq", function () { return navigator.requestMediaKeySystemAccess(b, d) }) : navigator.requestMediaKeySystemAccess(b, d)).then(JK(function (h) { UIa(a, c, h, d) }), JK(function () { + a.G = !a.G && a.C[a.B[0]].flavor === + "widevine"; + a.G || a.B.shift(); eO(a) + })) + } + } + }; + UIa = function (a, b, c, d) { + if (!a.La()) { + d && (fO = { keySystem: b.keySystem, keySystemAccess: c, Cda: JSON.stringify(d) }); b.keySystemAccess = c; if (TN(b)) { c = IE(); d = g.w(Object.keys(a.j[b.flavor])); for (var e = d.next(); !e.done; e = d.next())e = e.value, b.j[e] = !!c.canPlayType(e) } else { c = b.keySystemAccess.getConfiguration(); if (c.audioCapabilities) for (d = g.w(c.audioCapabilities), e = d.next(); !e.done; e = d.next())VIa(a, b, e.value); if (c.videoCapabilities) for (c = g.w(c.videoCapabilities), d = c.next(); !d.done; d = c.next())VIa(a, b, d.value) } a.D.push(b); + a.useCobaltWidevine || a.L("html5_enable_vp9_fairplay") && WN(b) ? (a.B.shift(), eO(a)) : a.callback(a.D) + } + }; + VIa = function (a, b, c) { a.L("log_robustness_for_drm") ? b.j[c.contentType] = c.robustness || !0 : b.j[c.contentType] = !0 }; + TIa = function (a, b) { + var c = { initDataTypes: ["cenc", "webm"], audioCapabilities: [], videoCapabilities: [] }; if (a.L("html5_enable_vp9_fairplay") && VN(b)) return c.audioCapabilities.push({ contentType: 'audio/mp4; codecs="mp4a.40.5"' }), c.videoCapabilities.push({ contentType: 'video/mp4; codecs="avc1.4d400b"' }), [c]; TN(b) && (c.initDataTypes = ["keyids", "cenc"]); for (var d = g.w(Object.keys(a.j[b.flavor])), e = d.next(); !e.done; e = d.next()) { + e = e.value; var f = e.indexOf("audio/") === 0, h = f ? c.audioCapabilities : c.videoCapabilities; b.flavor !== + "widevine" || a.G ? h.push({ contentType: e }) : f ? h.push({ contentType: e, robustness: "SW_SECURE_CRYPTO" }) : (g.KE && g.is("windows nt") && !a.L("html5_drm_enable_moho") || h.push({ contentType: e, robustness: "HW_SECURE_ALL" }), f = e, a.L("html5_enable_cobalt_experimental_vp9_decoder") && e.includes("vp09") && (f = e + "; experimental=allowed"), h.push({ contentType: f, robustness: "SW_SECURE_DECODE" }), g.hO(a.Da) === "MWEB" && (vs() || js()) && (a.oa("swcrypto", {}), h.push({ contentType: e, robustness: "SW_SECURE_CRYPTO" }))) + } return [c] + }; + RIa = function (a) { + if (RN() && (g.Rt || qs && a.L("html5_drm_support_ios_mweb"))) a.D.push(new QN("fairplay", "com.apple.fps.1_0", "", a.Da.experiments)); else { + var b = WIa(), c = g.Kb(a.B, function (d) { var e = a.C[d], f = !1, h = !1, l; for (l in a.j[e.flavor]) b(l, d) && (e.j[l] = !0, f = f || l.indexOf("audio/") === 0, h = h || l.indexOf("video/") === 0); return f && h }); + c && a.D.push(a.C[c]); a.B = [] + } a.callback(a.D) + }; + WIa = function () { + var a = RN(); if (a) { var b = a.isTypeSupported; return function (d, e) { return b(e, d) } } var c = IE(); + return c && (c.addKey || c.webkitAddKey) ? function (d, e) { return !!c.canPlayType(d, e) } : function () { return !1 } + }; + XIa = function (a) { this.experiments = a; this.C = 0; this.K = (this.D = this.experiments.kb("html5_consider_end_stall")) && iO; this.B = this.experiments.kb("html5_measure_max_progress_handling"); this.G = this.L("html5_treat_requests_pre_elbow_as_metadata"); this.j = this.L("html5_use_media_for_elbow") }; + YIa = function (a, b) { this.j = void 0; this.experimentIds = a ? a.split(",") : []; this.flags = vr(b || "", "&"); a = {}; b = g.w(this.experimentIds); for (var c = b.next(); !c.done; c = b.next())a[c.value] = !0; this.experiments = a }; + g.AC = function (a, b) { return Number(a.flags[b]) || 0 }; + jO = function (a, b) { return (a = a.flags[b]) ? a.toString() : "" }; + ZIa = function (a) { if (a = a.flags.html5_web_po_experiment_ids) if (a = a.replace(/\[ *(.*?) *\]/, "$1")) return a.split(",").map(Number); return [] }; + $Ia = function (a) { + if (a.j) return a.j; if (a.experimentIds.length <= 1) return a.j = a.experimentIds, a.j; var b = [].concat(g.x(a.experimentIds)).map(function (d) { return Number(d) }); + b.sort(); for (var c = b.length - 1; c > 0; --c)b[c] -= b[c - 1]; a.j = b.map(function (d) { return d.toString() }); + a.j.unshift("v1"); return a.j + }; + bJa = function (a) { return aJa.then(a) }; + kO = function (a, b, c) { this.experiments = a; this.Fa = b; this.Ga = c === void 0 ? !1 : c; this.Z = !!g.La("cast.receiver.platform.canDisplayType"); this.N = {}; this.Y = !1; this.C = new Map; this.K = !0; this.B = this.D = !1; this.j = new Map; this.qa = this.experiments.kb("html5_disable_vp9_encrypted"); this.Ba = g.AC(this.experiments, "html5_max_ps4_av1_vertical_resolution"); a = g.La("cast.receiver.platform.getValue"); this.ra = g.AC(this.experiments, "html5_kaios_max_resolution"); this.G = !this.Z && a && a("max-video-resolution-vpx") || null }; + yDa = function (a, b, c) { + c = c === void 0 ? 1 : c; var d = b.itag; if (d === "0") return !0; var e = b.mimeType; if (b.Le() && ls() && a.experiments.kb("html5_appletv_disable_vp9")) return "dwebm"; if (ZE(b) && a.Y) return "dav1"; if (b.video && (b.video.isHdr() || b.video.primaries === "bt2020") && !(GL(a, HL.EOTF) || window.matchMedia && (window.matchMedia("(dynamic-range: high), (video-dynamic-range: high)").matches || window.screen.pixelDepth > 24 && window.matchMedia("(color-gamut: p3)").matches))) return "dhdr"; if (d === "338" && !(g.KE ? Fp(53) : g.YN && Fp(64))) return "dopus"; + var f; if (a.Ba && !g.is("ps4 pro") && ns() && ZE(b) && ((f = b.video) == null ? void 0 : f.height) > a.Ba) return "pavert"; var h; if (a.ra && lO && ((h = b.video) == null ? void 0 : h.j) > a.ra) return "kaios"; f = c; f = f === void 0 ? 1 : f; c = {}; b.video && (b.video.width && (c[HL.WIDTH.name] = b.video.width), b.video.height && (c[HL.HEIGHT.name] = b.video.height), b.video.fps && (c[HL.FRAMERATE.name] = b.video.fps * f), b.video.B && (c[HL.EOTF.name] = b.video.B), b.ub && (c[HL.BITRATE.name] = b.ub * 8 * f), b.rb === "(" && (c[HL.CRYPTOBLOCKFORMAT.name] = "subsample"), b.video.projectionType === + "EQUIRECTANGULAR" || b.video.projectionType === "EQUIRECTANGULAR_THREED_TOP_BOTTOM" || b.video.projectionType === "MESH") && (c[HL.DECODETOTEXTURE.name] = "true"); b.audio && b.audio.numChannels && (c[HL.CHANNELS.name] = b.audio.numChannels); a.D && XE(b) && (c[HL.EXPERIMENTAL.name] = "allowed"); f = g.w(Object.keys(HL)); for (h = f.next(); !h.done; h = f.next())if (h = HL[h.value], c[h.name] && !(h === HL.EOTF && b.mimeType.indexOf("vp09.02") > 0 || a.experiments.kb("html5_ignore_h264_framerate_cap") && h === HL.FRAMERATE && Cwa(b))) if (GL(a, h)) if (a.G) { + if (a.G[h.name] < + c[h.name]) return h.name + } else e = e + "; " + h.name + "=" + c[h.name]; else if (YE(b) && h === HL.EOTF) return "dvp92"; a.Z && b.video && b.video.j > 1080 && b.me && (e += "; hdcp=2.2"); return d === "227" ? "hqcenc" : d !== "585" && d !== "588" && d !== "583" && d !== "586" && d !== "584" && d !== "587" && d !== "591" && d !== "592" || a.experiments.kb("html5_enable_new_hvc_enc") ? a.isTypeSupported(e) ? !0 : "tpus" : "newhvc" + }; + mO = function () { var a = js() && !Fp(29), b = g.is("google tv") && g.is("chrome") && !Fp(30); return a || b ? !1 : Hwa() }; + cJa = function (a, b, c) { var d = 480; b = g.w(b); for (var e = b.next(); !e.done; e = b.next()) { e = e.value; var f = e.video.j; f <= 1080 && f > d && yDa(a, e, c) === !0 && (d = f) } return d }; + g.nO = function (a, b) { b = b === void 0 ? !1 : b; return mO() && a.isTypeSupported('audio/mp4; codecs="mp4a.40.2"') || !b && a.canPlayType(IE(), "application/x-mpegURL") ? !0 : !1 }; + eJa = function (a) { dJa(function () { for (var b = g.w(Object.keys(HL)), c = b.next(); !c.done; c = b.next())GL(a, HL[c.value]) }) }; + GL = function (a, b) { b.name in a.N || (a.N[b.name] = fJa(a, b)); return a.N[b.name] }; + fJa = function (a, b) { + if (a.G) return !!a.G[b.name]; if (b === HL.BITRATE && a.isTypeSupported('video/webm; codecs="vp9"; width=3840; height=2160; bitrate=2000000') && !a.isTypeSupported('video/webm; codecs="vp9"; width=3840; height=2160; bitrate=20000000')) return !1; if (b === HL.AV1_CODECS) return a.isTypeSupported("video/mp4; codecs=" + b.valid) && !a.isTypeSupported("video/mp4; codecs=" + b.zo); if (b.video) { var c = 'video/webm; codecs="vp9"'; a.isTypeSupported(c) || (c = 'video/mp4; codecs="avc1.4d401e"') } else c = 'audio/webm; codecs="opus"', + a.isTypeSupported(c) || (c = 'audio/mp4; codecs="mp4a.40.2"'); return a.isTypeSupported(c + "; " + b.name + "=" + b.valid) && !a.isTypeSupported(c + "; " + b.name + "=" + b.zo) + }; + gJa = function (a) { a.D || (a.D = !0, a.B = !0) }; + hJa = function (a, b) { var c = 0; a.C.has(b) && (c = a.C.get(b).y8); a.C.set(b, { y8: c + 1, N1: Math.pow(2, c + 1) }); a.B = !0 }; + CL = function (a) { for (var b = [], c = g.w(a.j.keys()), d = c.next(); !d.done; d = c.next()) { d = d.value; var e = a.j.get(d); b.push(d + "_" + e.maxWidth + "_" + e.maxHeight) } return b.join(".") }; + qDa = function (a, b) { for (var c = new Map, d = g.w(a.j.keys()), e = d.next(); !e.done; e = d.next()) { e = e.value; var f = e.split("_")[0]; b.has(f) || c.set(e, a.j.get(e)) } a.j = c }; + sDa = function (a, b, c) { + var d, e = ((d = c.video) == null ? void 0 : d.fps) || 0; d = b + "_" + e; var f = !!c.audio, h = { itag: c.itag, rb: b, Gh: f }; if (f) h.numChannels = c.audio.numChannels; else { var l = c.video; h.maxWidth = l == null ? void 0 : l.width; h.maxHeight = l == null ? void 0 : l.height; h.maxFramerate = e; GL(a, HL.BITRATE) && (h.maxBitrateBps = c.ub * 8); h.JF = l == null ? void 0 : l.isHdr() } l = a.j.get(d); l ? f || (c = Math.max(l.maxWidth || 0, l.maxHeight || 0) > Math.max(h.maxWidth || 0, h.maxHeight || 0) ? l : h, b = { + itag: c.itag, rb: b, Gh: f, maxWidth: Math.max(l.maxWidth || 0, h.maxWidth || + 0), maxHeight: Math.max(l.maxHeight || 0, h.maxHeight || 0), maxFramerate: e, JF: c.JF + }, GL(a, HL.BITRATE) && (b.maxBitrateBps = c.maxBitrateBps), a.j.set(d, b)) : a.j.set(d, h) + }; + tDa = function (a, b, c) { + var d, e = ((d = c.video) == null ? void 0 : d.fps) || 0; d = b + "_" + e; var f = !!c.audio, h = a.j.get(d); a: { var l = a.j.get(d), m = !!c.audio; if (l) { if (m) { var n = !1; break a } var p; if (!m && ((n = c.video) == null ? 0 : n.height) && l.maxHeight && l.maxHeight >= ((p = c.video) == null ? void 0 : p.height)) { n = !1; break a } } n = !0 } n && (n = c.itag, b = h ? h : { itag: n, rb: b, Gh: f }, f ? b.numChannels = c.audio.numChannels : (f = c.video, b.maxWidth = f == null ? void 0 : f.width, b.maxHeight = f == null ? void 0 : f.height, b.maxFramerate = e, GL(a, HL.BITRATE) && (b.maxBitrateBps = c.ub * + 8), b.JF = f == null ? void 0 : f.isHdr()), a.j.set(d, b)) + }; + oO = function () { g.Fx.call(this); this.items = {} }; + pO = function () { g.PJ.apply(this, arguments) }; + qO = function () { g.QJ.apply(this, arguments) }; + iJa = function (a, b, c) { this.encryptedClientKey = b; this.G = c; this.j = new Uint8Array(a.buffer, 0, 16); this.C = new Uint8Array(a.buffer, 16) }; + jJa = function (a) { a.B || (a.B = new pO(a.j)); return a.B }; + rO = function (a) { try { return Ve(a) } catch (b) { return null } }; + kJa = function (a, b) { if (!b && a) try { b = JSON.parse(a) } catch (e) { } if (b) { a = b.clientKey ? rO(b.clientKey) : null; var c = b.encryptedClientKey ? rO(b.encryptedClientKey) : null, d = b.keyExpiresInSeconds ? Number(b.keyExpiresInSeconds) * 1E3 + (0, g.Zt)() : null; a && c && d && (this.j = new iJa(a, c, d)); b.onesieUstreamerConfig && (this.onesieUstreamerConfig = rO(b.onesieUstreamerConfig) || void 0); this.baseUrl = b.baseUrl } }; + sO = function (a) { this.j = this.B = 0; this.alpha = Math.exp(Math.log(.5) / a) }; + tO = function (a, b, c, d) { c = c === void 0 ? .5 : c; d = d === void 0 ? 0 : d; this.resolution = b; this.B = 0; this.C = !1; this.xl = !0; this.j = Math.round(a * this.resolution); this.values = Array(this.j); for (a = 0; a < this.j; a++)this.values[a] = Infinity; this.G = lJa(this); this.D = c; this.K = d }; + lJa = function (a) { for (var b = Array(a.j), c = 0; c < a.j; c++)b[c] = c; return b }; + uO = function (a, b, c) { + g.O.call(this); this.policy = a; this.Ra = b; this.Ad = c; this.qa = this.Ma = 0; this.Y = -1; this.ra = this.C = 0; this.Z = !1; this.interruptions = []; this.j = [{ stamp: 0, net: 0, max: 0 }]; this.Fa = this.D = (0, g.Zt)(); this.N = new tO(4, 1, .6, .4); this.Ka = new tO(4, 1, .6, .4); this.G = new tO(20, 1, .5, .4); this.B = a.D ? new sO(a.j) : new tO(a.j, 20, .5, .4); this.Ba = new tO(5, 1, .25); this.K = new tO(30, 1, .5); a = g.ct("yt-player-bandwidth") || {}; b = this.policy.B; if (a.byterate > 0) b = a.byterate, this.Z = !0; else if (this.policy.Z) { + var d; c = (((d = navigator.connection) == + null ? void 0 : d.downlink) || 0) * 65536; c > 0 && (b = c, this.Z = !0) + } this.B.zm(this.policy.K, b); a.delay > 0 && this.N.zm(1, Math.min(a.delay, 2)); a.stall > 0 && this.G.zm(1, a.stall); a.init > 0 && (this.Fa = Math.min(a.init, this.Fa)); a.interruptions && (this.j = this.j.concat(a.interruptions), this.j.length > 16 && this.j.pop()); this.Y = (0, g.Zt)(); this.policy.N > 0 && (this.Ga = new g.fp(this.Va, this.policy.N, this), g.P(this, this.Ga), this.Ga.start()) + }; + vO = function (a, b, c, d) { a.B.zm(d === void 0 ? b : d, c / b); a.D = (0, g.Zt)() }; + mJa = function (a) { a.C || (a.C = (0, g.Zt)()); a.policy.qa && (a.D = (0, g.Zt)()) }; + nJa = function (a, b) { + if (a.C) { + var c = b - a.C; if (c > 1E3) { + var d = a.interruptions; d.push(Math.ceil(c)); d.sort(function (e, f) { return f - e }); + d.length > 16 && d.pop() + } a.ra += c + } a.C = b + }; + wO = function (a, b, c) { a.N.zm(1, b); a.Ka.zm(1, c) }; + xO = function (a, b, c, d, e, f) { f = f === void 0 ? !1 : f; a.Ba.zm(b, c / b); a.D = (0, g.Zt)(); e || a.K.zm(1, b - d); f || (a.C = 0); a.Y > -1 && (0, g.Zt)() - a.Y > 3E4 && oJa(a) }; + yO = function (a, b, c) { b = Math.max(b, 2048); a.G.zm(1, c / b) }; + zO = function (a) { a = a.N.fh() + a.Ka.fh() || 0; a = isNaN(a) ? .5 : a; return a = Math.min(a, 5) }; + AO = function (a, b, c) { isNaN(c) || (a.qa += c); isNaN(b) || (a.Ma += b) }; + BO = function (a) { a = a.B.fh(); return a > 0 ? a : 1 }; + CO = function (a, b, c) { b = b === void 0 ? !1 : b; c = c === void 0 ? 1048576 : c; var d = BO(a); d = 1 / ((a.G.fh() || 0) * a.policy.ra + 1 / d); var e = a.Ba.fh(); e = e > 0 ? e : 1; var f = Math.max(d, e); a.policy.G > 0 && (f = Math.min(a.policy.G, 1), f = (1 - f) * d + f * e); if (!b) return f; b = 1E-9 + zO(a); c = f * Math.min(1, c / (f * b)); a.policy.C || (a = ((a.K.percentile(.98) || 0) - 1) / 2, a = Math.max(0, Math.min(1, a)), c *= 1 - .5 * a); return c }; + pJa = function (a) { var b = { delay: zO(a), stall: a.G.fh() || 0, byterate: BO(a), init: a.Fa }, c = a.j[0]; c.stamp = Math.round(a.D / 36E5) * 36E5; c.net = Math.ceil(a.ra); c.max = a.interruptions[0] || 0; b.interruptions = a.j; return b }; + oJa = function (a) { g.bt("yt-player-bandwidth", pJa(a), 2592E3); a.Y = (0, g.Zt)(); a.Z = !0 }; + DO = function (a) { return (0, g.Zt)() - a.D >= 4E3 }; + qJa = function (a, b) { b.Vs = a.qa; b.Fv = a.Ma; b.bandwidthEstimate = CO(a); b.j = { ttr: (a.N.fh() * 1E3).toFixed(), ttm: (a.Ka.fh() * 1E3).toFixed(), d: zO(a).toFixed(2), st: ((a.G.fh() || 0) * 1E9).toFixed(2), bw: a.B.fh().toFixed(0), abw: a.Ba.fh().toFixed(0), v50: a.K.percentile(.5).toFixed(2), v92: a.K.percentile(.92).toFixed(2), v96: a.K.percentile(.96).toFixed(2), v98: a.K.percentile(.98).toFixed(2) }; b = b.j; b["int"] = a.interruptions.join("."); b.intDur = Math.ceil(a.ra); b.intHist = a.j.map(function (c) { return c.stamp + "_" + c.net + "_" + c.max }).join(".") }; + rJa = function (a) { this.experiments = a; this.j = 17; this.B = 13E4; this.Z = this.experiments.kb("html5_default_bandwidth_from_browser"); this.K = .5; this.C = this.D = !1; this.G = g.AC(this.experiments, "html5_auxiliary_estimate_weight"); this.ra = g.AC(this.experiments, "html5_stall_factor") || 1; this.N = g.AC(this.experiments, "html5_check_for_idle_network_interval_ms"); this.Y = this.experiments.kb("html5_trigger_loader_when_idle_network"); this.qa = this.experiments.kb("html5_sabr_fetch_on_idle_network_preloaded_players") }; + tJa = function (a, b) { + a = a === void 0 ? {} : a; b = b === void 0 ? {} : b; g.O.call(this); var c = this; this.values = a; this.Pr = b; this.B = {}; this.C = this.j = 0; this.D = new g.fp(function () { sJa(c) }, 1E4); + g.P(this, this.D) + }; + EO = function (a, b) { uJa(a, b); return a.values[b] && a.Pr[b] ? a.values[b] / Math.pow(2, a.j / a.Pr[b]) : 0 }; + uJa = function (a, b) { a.values[b] || (b = XBa(), a.values = b.values || {}, a.Pr = b.halfLives || {}, a.B = b.values ? Object.assign({}, b.values) : {}) }; + sJa = function (a) { var b = XBa(); if (b.values) { b = b.values; for (var c = {}, d = g.w(Object.keys(a.values)), e = d.next(); !e.done; e = d.next())e = e.value, b[e] && a.B[e] && (a.values[e] += b[e] - a.B[e]), c[e] = EO(a, e); a.B = c } b = a.Pr; c = {}; c.values = a.B; c.halfLives = b; g.bt("yt-player-memory", c, 2592E3) }; + WO = function (a, b, c, d, e) { + g.O.call(this); this.webPlayerContextConfig = b; this.fm = d; this.csiServiceName = this.csiPageType = ""; this.userAge = NaN; this.Fj = this.ze = this.fb = this.Bj = this.userDisplayName = this.userDisplayImage = this.Wi = ""; this.j = {}; this.Ob = {}; this.controlsType = "0"; this.Zd = NaN; this.ob = !1; this.Sf = (0, g.Zt)(); this.Kb = 0; this.hm = this.wp = !1; this.Bn = !0; this.preferGapless = this.Yl = this.Rf = this.C = this.Zl = this.Qf = !1; this.wh = []; this.tm = !0; this.Tf = !1; a = a ? g.Fc(a) : {}; b && b.csiPageType && (this.csiPageType = b.csiPageType); + b && b.csiServiceName && (this.csiServiceName = b.csiServiceName); b && b.preferGapless && (this.preferGapless = b.preferGapless); this.experiments = new YIa(b ? b.serializedExperimentIds : a.fexp, b ? b.serializedExperimentFlags : a.fflags); this.forcedExperiments = b ? b.serializedForcedExperimentIds : Bs("", a.forced_experiments) || void 0; this.cspNonce = (b == null ? 0 : b.cspNonce) ? b.cspNonce : Bs("", a.csp_nonce); this.L("web_player_deprecated_uvr_killswitch"); try { var f = document.location.toString() } catch (Q) { f = "" } this.kf = f; this.ancestorOrigins = + (d = window.location.ancestorOrigins) ? Array.from(d) : []; this.D = ys(!1, b ? b.isEmbed : a.is_embed); if (b && b.device) { + if (d = b.device, d.androidOsExperience && (this.j.caoe = "" + d.androidOsExperience), d.androidPlayServicesVersion && (this.j.capsv = "" + d.androidPlayServicesVersion), d.brand && (this.j.cbrand = d.brand), d.browser && (this.j.cbr = d.browser), d.browserVersion && (this.j.cbrver = d.browserVersion), d.cobaltReleaseVehicle && (this.j.ccrv = "" + d.cobaltReleaseVehicle), this.j.c = d.interfaceName || "WEB", this.j.cver = d.interfaceVersion || + "html5", d.interfaceTheme && (this.j.ctheme = d.interfaceTheme), this.j.cplayer = d.interfacePlayerType || "UNIPLAYER", d.model && (this.j.cmodel = d.model), d.network && (this.j.cnetwork = d.network), d.os && (this.j.cos = d.os), d.osVersion && (this.j.cosver = d.osVersion), d.platform && (this.j.cplatform = d.platform), f = jO(this.experiments, "html5_log_vss_extra_lr_cparams_freq"), f === "all" || f === "once") d.chipset && (this.Ob.cchip = d.chipset), d.cobaltAppVersion && (this.Ob.ccappver = d.cobaltAppVersion), d.firmwareVersion && (this.Ob.cfrmver = + d.firmwareVersion), d.deviceYear && (this.Ob.crqyear = d.deviceYear) + } else this.j.c = a.c || "web", this.j.cver = a.cver || "html5", this.j.cplayer = "UNIPLAYER"; this.loaderUrl = b ? this.D || vJa(this) && b.loaderUrl ? b.loaderUrl || "" : this.kf : this.D || vJa(this) && a.loaderUrl ? Bs("", a.loaderUrl) : this.kf; this.D && g.Ka("yt.embedded_player.embed_url", this.loaderUrl); this.N = kD(this.loaderUrl, wJa); d = this.loaderUrl; var h = h === void 0 ? !1 : h; this.hq = jD(kD(d, xJa), d, h, "Trusted Ad Domain URL"); this.yc = ys(!1, a.privembed); this.protocol = this.kf.indexOf("http:") === + 0 ? "http" : "https"; this.Fa = lD((b ? b.customBaseYoutubeUrl : a.BASE_YT_URL) || "") || lD(this.kf) || this.protocol + "://www.youtube.com/"; h = b ? b.eventLabel : a.el; d = "detailpage"; h === "adunit" ? d = this.D ? "embedded" : "detailpage" : h === "embedded" || this.N ? d = zs(d, h, yJa) : h && (d = "embedded"); this.Ma = d; vqa(); h = null; d = b ? b.playerStyle : a.ps; f = g.Mb(zJa, d); !d || f && !this.N || (h = d); this.playerStyle = h; this.K = g.Mb(zJa, this.playerStyle); this.houseBrandUserStatus = b == null ? void 0 : b.houseBrandUserStatus; this.ra = this.K && this.playerStyle !== "play" && + this.playerStyle !== "jamboard"; this.Zp = !this.ra; this.Ra = ys(!1, a.disableplaybackui); this.disablePaidContentOverlay = ys(!1, b == null ? void 0 : b.disablePaidContentOverlay); this.disableSeek = ys(!1, b == null ? void 0 : b.disableSeek); this.enableSpeedOptions = (b == null ? void 0 : b.enableSpeedOptions) || (IE().defaultPlaybackRate ? FO || g.us || lO ? g.YN && Fp("20") || g.KE && Fp("4") || g.GO && Fp("11") || ps() : !(g.GO && !g.is("chrome") || FO || g.is("android") || g.is("silk")) : !1); this.yp = ys(!1, a.enable_faster_speeds); this.B = ys(this.playerStyle === + "blazer", a.is_html5_mobile_device || b && b.isMobileDevice); this.Wa = ts() || vs(); this.Pp = this.L("mweb_allow_background_playback") ? !1 : this.B && !this.K; this.Va = NE(); this.Fq = g.HO; var l; this.nm = !!(b == null ? 0 : (l = b.embedsHostFlags) == null ? 0 : l.optOutApiDeprecation); var m; this.zp = !!(b == null ? 0 : (m = b.embedsHostFlags) == null ? 0 : m.allowPfpImaIntegration); this.Bp = this.L("embeds_web_enable_ve_conversion_logging_tracking_no_allow_list"); var n; b ? b.hideInfo !== void 0 && (n = !b.hideInfo) : n = a.showinfo; this.zn = g.IO(this) && !this.nm || + ys(!JO(this) && !KO(this) && !this.K, n); this.pm = b ? !!b.mobileIphoneSupportsInlinePlayback : ys(!1, a.playsinline); l = this.B && LO && MO != null && MO > 0 && MO <= 2.3; m = b ? b.useNativeControls : a.use_native_controls; this.Z = g.IO(this) && this.B; n = this.B && !this.Z; m = g.NO(this) || !l && ys(n, m) ? "3" : "1"; this.disableOrganicUi = !(b == null || !b.disableOrganicUi); n = b ? b.controlsType : a.controls; this.controlsType = this.disableOrganicUi ? "0" : n !== "0" && n !== 0 ? m : "0"; this.Zj = this.B; this.color = zs("red", b ? b.progressBarColor : a.color, AJa); this.lq = this.controlsType === + "3"; this.wc = !this.D; this.An = (m = !this.wc && !KO(this) && !this.ra && !this.K && !JO(this)) && !this.lq && this.controlsType === "1"; this.Fd = g.OO(this) && m && this.controlsType === "0" && !this.An && !(b == null ? 0 : b.embedsEnableEmc3ds); this.Zq = this.yq = l; this.Wc = (this.controlsType === "3" || this.B || ys(!1, a.use_media_volume)) && !this.Z; this.Cn = qs && !g.kc(601) ? !1 : !0; this.Cp = this.D || !1; this.Rc = KO(this) ? "" : (this.loaderUrl || a.post_message_origin || "").substring(0, 128); this.widgetReferrer = Bs("", b ? b.widgetReferrer : a.widget_referrer); var p; + b ? b.disableCastApi && (p = !1) : p = a.enablecastapi; p = !this.N || ys(!0, p); l = !0; b && b.disableMdxCast && (l = !1); this.Mj = this.L("enable_cast_for_web_unplugged") && g.PO(this) && l || g.hz(this) && l || p && l && this.controlsType === "1" && !this.B && (KO(this) || g.OO(this) || g.QO(this)); this.Wq = !!window.document.pictureInPictureEnabled || ME(); p = b ? !!b.supportsAutoplayOverride : ys(!1, a.autoplayoverride); this.Fi = !(this.B && !g.IO(this)) && !g.is("nintendo wiiu") || p; this.Ui = (b ? !!b.enableMutedAutoplay : ys(!1, a.mutedautoplay)) && !1; p = (KO(this) || + JO(this)) && this.playerStyle === "blazer"; this.Vk = b ? !!b.disableFullscreen : !ys(!0, a.fs); l = g.Fs(g.RO(this)) && g.IO(this); this.Ab = !this.Vk && (p || g.Ms()) && !l; this.Xl = this.L("uniplayer_block_pip") && (js() && Fp(58) && !vs() || ru); p = g.IO(this) && !this.nm; var q; b ? b.disableRelatedVideos !== void 0 && (q = !b.disableRelatedVideos) : q = a.rel; this.Ed = p || ys(!this.K, q); this.yn = ys(!1, b ? b.enableContentOwnerRelatedVideos : a.co_rel); this.Y = vs() && MO > 0 && MO <= 4.4 ? "_top" : "_blank"; this.Ig = g.QO(this); this.Yj = ys(this.playerStyle === "blazer", b ? + b.enableCsiLogging : a.enablecsi); switch (this.playerStyle) { case "blogger": q = "bl"; break; case "gmail": q = "gm"; break; case "gac": q = "ga"; break; case "books": q = "gb"; break; case "docs": case "flix": q = "gd"; break; case "duo": q = "gu"; break; case "google-live": q = "gl"; break; case "google-one": q = "go"; break; case "play": q = "gp"; break; case "chat": q = "hc"; break; case "hangouts-meet": q = "hm"; break; case "photos-edu": case "picasaweb": q = "pw"; break; default: q = "yt" }this.qa = q; this.Ba = Bs("", b ? b.authorizedUserIndex : a.authuser); this.Tb = g.IO(this) && + (this.yc || !ina() || this.Wa); var r; b ? b.disableWatchLater !== void 0 && (r = !b.disableWatchLater) : r = a.showwatchlater; this.Ie = ((q = !this.Tb) || !!this.Ba && q) && ys(!this.ra, this.N ? r : void 0); this.jf = b ? b.isMobileDevice || !!b.disableKeyboardControls : ys(!1, a.disablekb); this.loop = ys(!1, a.loop); this.pageId = Bs("", b ? b.initialDelegatedSessionId : a.pageid); this.Tq = ys(!0, a.canplaylive); this.yb = ys(!1, a.livemonitor); this.disableSharing = ys(this.K, b ? b.disableSharing : a.ss); (r = b && this.L("fill_video_container_size_override_from_wpcc") ? + b.videoContainerOverride : a.video_container_override) ? (q = r.split("x"), q.length !== 2 ? r = null : (r = Number(q[0]), q = Number(q[1]), r = isNaN(r) || isNaN(q) || r * q <= 0 ? null : new g.Id(r, q))) : r = null; this.Dn = r; this.mute = b ? !!b.startMuted : ys(!1, a.mute); this.storeUserVolume = !this.mute && ys(this.controlsType !== "0", b ? b.storeUserVolume : a.store_user_volume); r = b ? b.annotationsLoadPolicy : a.iv_load_policy; this.annotationsLoadPolicy = this.controlsType === "3" ? 3 : zs(void 0, r, SO); this.captionsLanguagePreference = b ? b.captionsLanguagePreference || + "" : Bs("", a.cc_lang_pref); r = zs(2, b ? b.captionsLanguageLoadPolicy : a.cc_load_policy, SO); this.controlsType === "3" && r === 2 && (r = 3); this.Jb = r; this.zj = b ? b.hl || "en_US" : Bs("en_US", a.hl); this.region = b ? b.contentRegion || "US" : Bs("US", a.cr); this.hostLanguage = b ? b.hostLanguage || "en" : Bs("en", a.host_language); this.xp = !this.yc && Math.random() < g.AC(this.experiments, "web_player_api_logging_fraction"); this.Xa = !this.yc; this.enabledEngageTypes = new Set; this.deviceIsAudioOnly = !(b == null || !b.deviceIsAudioOnly); this.Zd = As(this.Zd, + a.ismb); this.Zp ? (r = a.vss_host || "s.youtube.com", r === "s.youtube.com" && (r = TO(this.Fa) || "www.youtube.com")) : r = "video.google.com"; this.En = r; UO(this, a, !0); this.Ka = new oO; g.P(this, this.Ka); q = b ? b.innertubeApiKey : Bs("", a.innertube_api_key); p = b ? b.innertubeApiVersion : Bs("", a.innertube_api_version); r = b ? b.innertubeContextClientVersion : Bs("", a.innertube_context_client_version); q = g.pr("INNERTUBE_API_KEY") || q; p = g.pr("INNERTUBE_API_VERSION") || p; l = g.pr("INNERTUBE_CONTEXT_CLIENT_CONFIG_INFO"); m = g.hO(this); n = typeof this.j.c === + "number" ? Number(this.j.c) : Object.keys(BJa).indexOf(this.j.c); this.Zk = { innertubeApiKey: q, innertubeApiVersion: p, GK: l, IQ: m, AZ: n, innertubeContextClientVersion: g.pr("INNERTUBE_CONTEXT_CLIENT_VERSION") || r, KQ: this.hostLanguage, JQ: this.region, BZ: g.pr("INNERTUBE_HOST_OVERRIDE") || "", CZ: !!g.pr("INNERTUBE_USE_THIRD_PARTY_AUTH", !1), LQ: !!g.pr("INNERTUBE_OMIT_API_KEY_WHEN_AUTH_HEADER_IS_PRESENT", !1) }; this.qm = window.WebKitPlaybackTargetAvailabilityEvent != null; this.G = new kO(this.experiments, this.L("html5_force_hfr_support") ? + !0 : NC(this) || ms() || ns() || CJa(this), g.KE && g.kc(56) || g.YN && g.kc(54) || this.L("html5_force_vp9_subsample_encryption_support") || CJa(this)); r = this.Zd; q = new rJa(this.experiments); g.OC(this) && (q.D = !0, q.K = .1); r && (q.B = r / 8); q.C = aL() >= 480; this.schedule = new uO(q, new XIa(this.experiments), e); g.P(this, this.schedule); var t; this.enableSafetyMode = (t = b == null ? void 0 : b.initialEnableSafetyMode) != null ? t : ys(!1, a.enable_safety_mode); e = this.Ra ? !1 : KO(this) && this.playerStyle !== "blazer"; var u; b ? b.disableAutonav != null && (u = !b.disableAutonav) : + u = a.allow_autonav; this.ge = ys(e, !this.ra && u); this.sendVisitorIdHeader = b ? !!b.sendVisitorIdHeader : ys(!1, a.send_visitor_id_header); var y; this.playerStyle === "docs" && (b ? y = b.disableNativeContextMenu : y = a.disable_native_context_menu); this.disableNativeContextMenu = ys(!1, y); this.Ap = NC(this) && this.L("enable_skip_intro_button"); this.embedConfig = Bs("", b ? b.serializedEmbedConfig : a.embed_config); this.Ga = Es(a, g.IO(this)); this.C = this.Ga === "EMBEDDED_PLAYER_MODE_PFL"; this.embedsErrorLinks = !(b == null || !b.embedsErrorLinks); + this.Xk = ys(!1, a.full_window); var A; this.Ya = !((A = this.webPlayerContextConfig) == null ? 0 : A.chromeless); var D; this.livingRoomAppMode = zs("LIVING_ROOM_APP_MODE_UNSPECIFIED", a.living_room_app_mode || (b == null ? void 0 : (D = b.device) == null ? void 0 : D.livingRoomAppMode), DJa); var F; u = As(NaN, b == null ? void 0 : (F = b.device) == null ? void 0 : F.deviceYear); isNaN(u) || (this.deviceYear = u); this.transparentBackground = b ? !!b.transparentBackground : ys(!1, a.transparent_background); this.showMiniplayerButton = b ? !!b.showMiniplayerButton : ys(!1, + a.show_miniplayer_button); var H; g.IO(this) && !(b == null ? 0 : (H = b.embedsHostFlags) == null ? 0 : H.allowSetFauxFullscreen) ? this.externalFullscreen = !1 : this.externalFullscreen = b ? !!b.externalFullscreen : ys(!1, a.external_fullscreen); this.showMiniplayerUiWhenMinimized = b ? !!b.showMiniplayerUiWhenMinimized : ys(!1, a.use_miniplayer_ui); this.showInlinePreviewUi = b ? !!b.showInlinePreviewUi : !1; var M; this.Bn = (M = a.show_loop_video_toggle) != null ? M : !0; this.iq = Math.random() < 1E-4; this.al = a.onesie_hot_config || (b == null ? 0 : b.onesieHotConfig) ? + new kJa(a.onesie_hot_config, b == null ? void 0 : b.onesieHotConfig) : void 0; this.isTectonic = b ? !!b.isTectonic : !!a.isTectonic; this.playerCanaryState = c; this.playerCanaryStage = b == null ? void 0 : b.canaryStage; this.Pf = new tJa; g.P(this, this.Pf); this.Zl = ys(!1, a.force_gvi); this.datasyncId = (b == null ? void 0 : b.datasyncId) || g.pr("DATASYNC_ID"); this.gm = g.pr("LOGGED_IN", !1); this.Ej = (b == null ? void 0 : b.allowWoffleManagement) || !1; this.bl = Infinity; this.fl = NaN; this.livingRoomPoTokenId = b == null ? void 0 : b.livingRoomPoTokenId; this.L("html5_high_res_logging_always") ? + this.Rf = !0 : this.Rf = Math.random() * 100 < g.AC(this.experiments, "html5_high_res_logging_percent"); var N; this.Yl = !!(b == null ? 0 : (N = b.embedsHostFlags) == null ? 0 : N.allowRcat); this.Nj = !g.PO(this) && !VO(this) + }; + g.RO = function (a) { var b, c; if (!((b = a.webPlayerContextConfig) == null ? 0 : (c = b.embedsHostFlags) == null ? 0 : c.enableLiteUx) || a.yc || a.K || a.C || a.Ga === "EMBEDDED_PLAYER_MODE_PFP") return "EMBEDDED_PLAYER_LITE_MODE_NONE"; a = g.AC(a.experiments, "embeds_web_lite_mode"); return a === void 0 ? "EMBEDDED_PLAYER_LITE_MODE_UNKNOWN" : a >= 0 && a < EJa.length ? EJa[a] : "EMBEDDED_PLAYER_LITE_MODE_UNKNOWN" }; + UO = function (a, b, c) { + c = c === void 0 ? !1 : c; a.ze = Bs(a.ze, b.video_id); a.fb = Bs(a.fb, b.eventid); a.fb && (Qv = a.fb); for (var d = [], e = g.w(Object.keys(FJa)), f = e.next(); !f.done; f = e.next()) { f = FJa[f.value]; var h = b[f]; h != null && (h !== a.j[f] && d.push(f), a.j[f] = h) } !c && d.length > 0 && a.iq && (d.sort(), g.fx(new g.pt("Player client parameters changed after startup", d))); a.userAge = As(a.userAge, b.user_age); a.Wi = Bs(a.Wi, b.user_display_email); a.userDisplayImage = Bs(a.userDisplayImage, b.user_display_image); g.nD(a.userDisplayImage) || (a.userDisplayImage = + ""); a.userDisplayName = Bs(a.userDisplayName, b.user_display_name); a.Bj = Bs(a.Bj, b.user_gender); a.csiPageType = Bs(a.csiPageType, b.csi_page_type); a.csiServiceName = Bs(a.csiServiceName, b.csi_service_name); a.Yj = ys(a.Yj, b.enablecsi); a.pageId = Bs(a.pageId, b.pageid); if (c = b.enabled_engage_types) a.enabledEngageTypes = new Set(c.split(",")); b.living_room_session_po_token && (a.Uf = b.living_room_session_po_token.toString()) + }; + XO = function (a, b) { return !a.K && js() && Fp(55) && a.controlsType === "3" && !b }; + g.YO = function (a) { a = TO(a.Fa); return a === "www.youtube-nocookie.com" ? "www.youtube.com" : a }; + ZO = function (a, b, c) { return a.protocol + "://i1.ytimg.com/vi/" + b + "/" + (c || "hqdefault.jpg") }; + $O = function (a) { return KO(a) && !g.PO(a) }; + g.NO = function (a) { return a.L("html5_local_playsinline") ? qs && !g.kc(602) && !("playsInline" in IE()) : qs && !a.pm || g.is("nintendo wiiu") ? !0 : !1 }; + g.hO = function (a) { return a.j.c }; + g.OC = function (a) { return /^TVHTML5/.test(g.hO(a)) }; + vJa = function (a) { return g.hO(a) === "TVHTML5_SIMPLY_EMBEDDED_PLAYER" }; + CJa = function (a) { return a.j.cmodel === "CHROMECAST ULTRA/STEAK" || a.j.cmodel === "CHROMECAST/STEAK" }; + g.aP = function () { return window.devicePixelRatio > 1 ? window.devicePixelRatio : 1 }; + NC = function (a) { return /web/i.test(g.hO(a)) }; + g.bP = function (a) { return g.hO(a).toUpperCase() === "WEB" }; + VO = function (a) { return g.hO(a) === "WEB_KIDS" }; + g.PO = function (a) { return g.hO(a) === "WEB_UNPLUGGED" }; + cP = function (a) { return g.hO(a) === "TVHTML5_UNPLUGGED" }; + g.MC = function (a) { return g.PO(a) || g.hO(a) === "TV_UNPLUGGED_CAST" || cP(a) }; + g.hz = function (a) { return g.hO(a) === "WEB_REMIX" }; + g.dP = function (a) { return g.hO(a) === "WEB_EMBEDDED_PLAYER" }; + g.fP = function (a) { return (a.deviceIsAudioOnly || !g.KE || ru || a.controlsType === "3" ? !1 : g.us ? a.D && g.kc(51) : !0) || (a.deviceIsAudioOnly || !g.YN || ru || a.controlsType === "3" ? !1 : g.us ? a.D && g.kc(48) : g.kc(38)) || (a.deviceIsAudioOnly || !g.GO || ru || a.controlsType === "3" ? !1 : g.us ? a.D && g.kc(37) : g.kc(27)) || !a.deviceIsAudioOnly && g.eP && !nna() && g.kc(11) || !a.deviceIsAudioOnly && g.Rt && g.kc("604.4") }; + GJa = function (a) { if (g.OO(a) && LO) return !1; if (g.YN) { if (!g.kc(47) || !g.kc(52) && g.kc(51)) return !1 } else if (g.Rt) return !1; return window.AudioContext || window.webkitAudioContext ? !0 : !1 }; + gP = function (a) { return !a.L("html5_disable_media_element_loop_on_tv") || !g.OC(a) }; + IJa = function (a, b) { return a.enabledEngageTypes.has(b.toString()) || HJa.includes(b) }; + KO = function (a) { return a.Ma === "detailpage" }; + g.OO = function (a) { return a.Ma === "embedded" }; + hP = function (a) { return a.Ma === "leanback" }; + JO = function (a) { return a.Ma === "adunit" || a.playerStyle === "gvn" }; + g.QO = function (a) { return a.Ma === "profilepage" }; + g.IO = function (a) { return a.D && g.OO(a) && !JO(a) && !a.K }; + iP = function (a) { if (!a.userDisplayImage) return ""; var b = a.userDisplayImage.split("/"); if (b.length === 5) return a = b[b.length - 1].split("="), a[1] = "s20-c", b[b.length - 1] = a.join("="), b.join("/"); if (b.length === 8) return b.splice(7, 0, "s20-c"), b.join("/"); if (b.length === 9) return b[7] += "-s20-c", b.join("/"); g.fx(new g.pt("Profile image not a FIFE URL.", a.userDisplayImage)); return a.userDisplayImage }; + g.jP = function (a) { var b = g.YO(a); JJa.includes(b) && (b = "www.youtube.com"); return a.protocol + "://" + b }; + g.kP = function (a, b) { + b = b === void 0 ? "" : b; if (a.L("enable_tectonic_player_oauth_callback") && a.fm) { + var c = new FF, d, e = a.fm(); e.signedOut ? d = "" : e.token ? d = e.token : e.pendingResult.then(function (f) { e.signedOut ? c.resolve("") : c.resolve(f.token) }, function (f) { + g.fx(new g.pt("b189348328_oauth_callback_failed", { error: f })); + c.resolve(b) + }); + return d !== void 0 ? as(d) : new Zr(c) + } return as(b) + }; + TO = function (a) { var b = g.Ni(a); return (a = Number(g.Mi(4, a)) || null) ? b + ":" + a : b }; + lP = function (a, b) { b = b === void 0 ? !1 : b; var c = VE[a], d = KJa[c], e = LJa[a]; if (!e || !d) return null; b = new SE(b ? e.height : e.width, b ? e.width : e.height, e.fps); d = yN(d, b, c); return new WE(a, d, { video: b, ub: e.bitrate / 8 }) }; + NJa = function (a) { var b = KJa[VE[a]], c = MJa[a]; return c && b ? new WE(a, b, { audio: new PE(c.audioSampleRate, c.numChannels) }) : null }; + mP = function (a) { this.j = a }; + nP = function (a, b, c, d) { if (c) return $r(); c = {}; var e = IE(); b = g.w(b); for (var f = b.next(); !f.done; f = b.next())if (f = f.value, a.canPlayType(e, f.getInfo().mimeType) || d) { var h = f.j.video.quality; if (!c[h] || c[h].getInfo().Le()) c[h] = f } a = []; c.auto && a.push(c.auto); d = g.w(TE); for (e = d.next(); !e.done; e = d.next())(e = c[e.value]) && a.push(e); return a.length ? as(a) : $r() }; + OJa = function (a, b, c, d, e) { this.C = a; this.B = b; this.G = c; this.cpn = d; this.K = e; this.D = 0; this.j = "" }; + PJa = function (a, b) { + a.C.some(function (c) { var d; return ((d = c.dc) == null ? void 0 : d.getId()) === b }); + a.j = b + }; + oP = function (a, b, c) { a.cpn && (b = g.Ti(b, { cpn: a.cpn })); c && (b = g.Ti(b, { paired: c })); return b }; + QJa = function (a, b) { a = a.itag.toString(); b !== null && (a += b.itag.toString()); return a }; + RJa = function (a) { + for (var b = [], c = [], d = g.w(a.B), e = d.next(); !e.done; e = d.next())e = e.value, e.bitrate <= a.D ? b.push(e) : c.push(e); b.sort(function (f, h) { return h.bitrate - f.bitrate }); + c.sort(function (f, h) { return f.bitrate - h.bitrate }); + a.B = b.concat(c) + }; + SJa = function (a) { this.itag = a.itag; this.url = a.url; this.codecs = a.codecs; this.width = a.width; this.height = a.height; this.fps = a.fps; this.bitrate = a.bitrate; var b; this.B = ((b = a.audioItag) == null ? void 0 : b.split(",")) || []; this.LC = a.LC; this.me = a.me || ""; this.dc = a.dc; this.audioChannels = a.audioChannels; this.j = "" }; + TJa = function (a, b, c, d) { + b = b === void 0 ? !1 : b; c = c === void 0 ? !0 : c; d = d === void 0 ? {} : d; var e = {}; a = g.w(a); for (var f = a.next(); !f.done; f = a.next()) { + f = f.value; if (b && MediaSource && MediaSource.isTypeSupported) { var h = f.type; f.audio_channels && (h = h + "; channels=" + f.audio_channels); if (!MediaSource.isTypeSupported(h)) { d[f.itag] = "tpus"; continue } } if (c || !f.drm_families || f.eotf !== "smpte2084" && f.eotf !== "arib-std-b67") { + h = void 0; var l = { bt709: "SDR", bt2020: "SDR", smpte2084: "PQ", "arib-std-b67": "HLG" }, m = f.type.match(/codecs="([^"]*)"/); + m = m ? m[1] : ""; f.audio_track_id && (h = new g.sN(f.name, f.audio_track_id, !!f.is_default)); var n = f.eotf; f = new SJa({ itag: f.itag, url: f.url, codecs: m, width: Number(f.width), height: Number(f.height), fps: Number(f.fps), bitrate: Number(f.bitrate), audioItag: f.audio_itag, LC: n ? l[n] : void 0, me: f.drm_families, dc: h, audioChannels: Number(f.audio_channels) }); e[f.itag] = e[f.itag] || []; e[f.itag].push(f) + } else d[f.itag] = "enchdr" + } return e + }; + pP = function (a, b, c) { this.j = a; this.B = b; this.expiration = c; this.resource = null }; + UJa = function (a, b) { if (!(ru || os() || ls())) return null; a = TJa(b, a.L("html5_filter_fmp4_in_hls")); if (!a) return null; b = []; for (var c = {}, d = g.w(Object.keys(a)), e = d.next(); !e.done; e = d.next()) { e = g.w(a[e.value]); for (var f = e.next(); !f.done; f = e.next()) { var h = f.value; h.dc && (f = h.dc.getId(), c[f] || (h = new g.nL(f, h.dc), c[f] = h, b.push(h))) } } return b.length > 0 ? b : null }; + ZJa = function (a, b, c, d, e, f, h) { + if (!(ru || os() || ls())) return $r(); var l = {}, m = VJa(c), n = TJa(c, a.L("html5_filter_fmp4_in_hls"), a.G.K, l); if (!n) return h({ noplst: 1 }), $r(); WJa(n); c = {}; var p = (c.fairplay = "https://youtube.com/api/drm/fps?ek=uninitialized", c), q; c = []; var r = [], t = [], u = null, y = ""; d = d && d.match(/hls_timedtext_playlist/) ? new SJa({ itag: "0", url: d, codecs: "vtt", width: 0, height: 0, fps: 0, bitrate: 0, dc: new g.sN("English", "en", !1) }) : null; for (var A = g.w(Object.keys(n)), D = A.next(); !D.done; D = A.next())if (D = D.value, !a.L("html5_disable_drm_hfr_1080") || + D !== "383" && D !== "373") { D = g.w(n[D]); for (var F = D.next(); !F.done; F = D.next())if (F = F.value, F.width) { for (var H = g.w(F.B), M = H.next(); !M.done; M = H.next())if (M = M.value, n[M]) { F.j = M; break } F.j || (F.j = XJa(n, F)); if (H = n[F.j]) if (c.push(F), F.me === "fairplay" && (q = p), M = "", F.LC === "PQ" ? M = "smpte2084" : F.LC === "HLG" && (M = "arib-std-b67"), M && (y = M), t.push(YJa(H, [F], d, f, F.itag, F.width, F.height, F.fps, m, void 0, void 0, q, M)), !u || F.width * F.height * F.fps > u.width * u.height * u.fps) u = F } else r.push(F) } else l[D] = "disdrmhfr"; t.reduce(function (N, + Q) { return Q.getInfo().isEncrypted() && N }, !0) && (q = p); + e = Math.max(e, 0); p = u || {}; n = p.fps === void 0 ? 0 : p.fps; u = p.width === void 0 ? 0 : p.width; p = p.height === void 0 ? 0 : p.height; A = a.L("html5_native_audio_track_switching"); t.push(YJa(r, c, d, f, "93", u, p, n, m, "auto", e, q, y, A)); Object.entries(l).length && h(l); return nP(a.G, t, XO(a, b), !1) + }; + YJa = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t) { for (var u = 0, y = "", A = g.w(a), D = A.next(); !D.done; D = A.next())D = D.value, y || (y = D.itag), D.audioChannels && D.audioChannels > u && (u = D.audioChannels, y = D.itag); e = new WE(e, "application/x-mpegURL", { audio: new PE(0, u), video: new SE(f, h, l, null, void 0, n, void 0, r), me: q, M_: y }); a = new OJa(a, b, c ? [c] : [], d, !!t); a.D = p ? p : 1369843; return new pP(e, a, m) }; + VJa = function (a) { a = g.w(a); for (var b = a.next(); !b.done; b = a.next())if (b = b.value, b.url && (b = b.url.split("expire/"), !(b.length <= 1))) return +b[1].split("/")[0]; return NaN }; + XJa = function (a, b) { for (var c = g.w(Object.keys(a)), d = c.next(); !d.done; d = c.next()) { d = d.value; var e = a[d][0]; if (!e.width && e.me === b.me && !e.audioChannels) return d } return "" }; + WJa = function (a) { for (var b = new Set, c = g.w(Object.values(a)), d = c.next(); !d.done; d = c.next())d = d.value, d.length && (d = d[0], d.height && d.codecs.startsWith("vp09") && b.add(d.height)); c = []; if (b.size) { d = g.w(Object.keys(a)); for (var e = d.next(); !e.done; e = d.next())if (e = e.value, a[e].length) { var f = a[e][0]; f.height && b.has(f.height) && !f.codecs.startsWith("vp09") && c.push(e) } } b = g.w(c); for (c = b.next(); !c.done; c = b.next())delete a[c.value] }; + qP = function (a, b) { this.j = a; this.B = b }; + $Ja = function (a, b, c, d) { var e = []; c = g.w(c); for (var f = c.next(); !f.done; f = c.next()) { var h = f.value; if (h.url) { f = new g.IL(h.url, !0); if (h.s) { var l = f, m = h.sp, n = SBa(decodeURIComponent(h.s)); l.set(m, encodeURIComponent(n)) } l = g.w(Object.keys(d)); for (m = l.next(); !m.done; m = l.next())m = m.value, f.set(m, d[m]); h = iF(h.type, h.quality, h.itag, h.width, h.height); e.push(new qP(h, f)) } } return nP(a.G, e, XO(a, b), !1) }; + rP = function (a, b) { this.j = a; this.B = b }; + aKa = function (a, b, c) { var d = []; c = g.w(c); for (var e = c.next(); !e.done; e = c.next())if ((e = e.value) && e.url) { var f = iF(e.type, "medium", "0"); d.push(new rP(f, e.url)) } return nP(a.G, d, XO(a, b), !1) }; + bKa = function (a, b) { var c = [], d = iF(b.type, "auto", b.itag); c.push(new rP(d, b.url)); return nP(a.G, c, !1, !0) }; + dKa = function (a) { return a && cKa[a] ? cKa[a] : null }; + eKa = function (a) { if (a = a.commonConfig) this.url = a.url, this.urlQueryOverride = a.urlQueryOverride, a.ustreamerConfig && (this.mp = rO(a.ustreamerConfig) || void 0) }; + fKa = function (a, b) { var c; if (b = b == null ? void 0 : (c = b.watchEndpointSupportedOnesieConfig) == null ? void 0 : c.html5PlaybackOnesieConfig) a.vS = new eKa(b) }; + g.sP = function (a) { a = a === void 0 ? {} : a; this.languageCode = a.languageCode || ""; this.languageName = a.languageName || null; this.kind = a.kind || ""; this.name = a.name === void 0 ? null : a.name; this.displayName = a.displayName || null; this.id = a.id || null; this.j = a.is_servable || !1; this.isTranslateable = a.is_translateable || !1; this.url = a.url || null; this.vssId = a.vss_id || ""; this.isDefault = a.is_default || !1; this.translationLanguage = a.translationLanguage || null; this.xtags = a.xtags || ""; this.captionId = a.captionId || "" }; + g.uP = function (a) { var b = { languageCode: a.languageCode, languageName: a.languageName, displayName: g.tP(a), kind: a.kind, name: a.name, id: a.id, is_servable: a.j, is_default: a.isDefault, is_translateable: a.isTranslateable, vss_id: a.vssId }; a.xtags && (b.xtags = a.xtags); a.captionId && (b.captionId = a.captionId); a.translationLanguage && (b.translationLanguage = a.translationLanguage); return b }; + g.vP = function (a) { return a.translationLanguage ? a.translationLanguage.languageCode : a.languageCode }; + g.gKa = function (a) { var b = a.vssId; a.translationLanguage && b && (b = "t" + b + "." + g.vP(a)); return b }; + g.tP = function (a) { var b = []; if (a.displayName) b.push(a.displayName); else { var c = a.languageName || ""; b.push(c); a.kind === "asr" && c.indexOf("(") === -1 && b.push(" (Automatic Captions)"); a.name && b.push(" - " + a.name) } a.translationLanguage && b.push(" >> " + a.translationLanguage.languageName); return b.join("") }; + kKa = function (a, b, c, d) { a || (a = b && hKa.hasOwnProperty(b) && iKa.hasOwnProperty(b) ? iKa[b] + "_" + hKa[b] : void 0); b = a; if (!b) return null; a = b.match(jKa); if (!a || a.length !== 5) return null; if (a = b.match(jKa)) { var e = Number(a[3]), f = [7, 8, 10, 5, 6]; a = !(Number(a[1]) === 1 && e === 8) && f.indexOf(e) >= 0 } else a = !1; return c || d || a ? b : null }; + wP = function (a, b) { for (var c = {}, d = g.w(Object.keys(lKa)), e = d.next(); !e.done; e = d.next()) { e = e.value; var f = b ? b + e : e; f = a[f + "_webp"] || a[f]; g.nD(f) && (c[lKa[e]] = f) } return c }; + xP = function (a) { + var b = {}; if (!a || !a.thumbnails) return b; a = a.thumbnails.filter(function (l) { return !!l.url }); + a.sort(function (l, m) { return l.width - m.width || l.height - m.height }); + for (var c = g.w(Object.keys(mKa)), d = c.next(); !d.done; d = c.next()) { var e = Number(d.value); d = mKa[e]; for (var f = g.w(a), h = f.next(); !h.done; h = f.next())if (h = h.value, h.width >= e) { e = nKa(h.url); g.nD(e) && (b[d] = e); break } } (a = a.pop()) && a.width >= 1280 && (a = nKa(a.url), g.nD(a) && (b["maxresdefault.jpg"] = a)); return b + }; + nKa = function (a) { return a.startsWith("//") ? "https:" + a : a }; + yP = function (a) { return a && a.baseUrl || "" }; + zP = function (a) { a = g.zr(a); for (var b = g.w(Object.keys(a)), c = b.next(); !c.done; c = b.next()) { c = c.value; var d = a[c]; a[c] = Array.isArray(d) ? d[0] : d } return a }; + oKa = function (a, b) { a.botguardData = b.playerAttestationRenderer.botguardData; b = b.playerAttestationRenderer.challenge; b != null && (a.wr = b) }; + rKa = function (a, b) { + b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { + c = c.value; var d = c.interstitials.map(function (h) { var l = g.R(h, pKa); if (l) return { is_yto_interstitial: !0, raw_player_response: l }; if (h = g.R(h, qKa)) return Object.assign({ is_yto_interstitial: !0 }, xr(h)) }); + d = g.w(d); for (var e = d.next(); !e.done; e = d.next())switch (e = e.value, c.podConfig.playbackPlacement) { + case "INTERSTITIAL_PLAYBACK_PLACEMENT_PRE": a.interstitials = a.interstitials.concat({ time: 0, playerVars: e, ip: 5 }); break; case "INTERSTITIAL_PLAYBACK_PLACEMENT_POST": a.interstitials = a.interstitials.concat({ time: 0x7ffffffffffff, playerVars: e, ip: 6 }); break; case "INTERSTITIAL_PLAYBACK_PLACEMENT_INSERT_AT_VIDEO_TIME": var f = Number(c.podConfig.timeToInsertAtMillis); a.interstitials = a.interstitials.concat({ + time: f, playerVars: e, + ip: f === 0 ? 5 : 7 + }) + } + } + }; + sKa = function (a, b) { if (b = b.find(function (c) { return !(!c || !c.tooltipRenderer) })) a.tooltipRenderer = b.tooltipRenderer }; + tKa = function (a, b) { b.subscribeCommand && (a.subscribeCommand = b.subscribeCommand); b.unsubscribeCommand && (a.unsubscribeCommand = b.unsubscribeCommand); b.addToWatchLaterCommand && (a.addToWatchLaterCommand = b.addToWatchLaterCommand); b.removeFromWatchLaterCommand && (a.removeFromWatchLaterCommand = b.removeFromWatchLaterCommand); b.getSharePanelCommand && (a.getSharePanelCommand = b.getSharePanelCommand) }; + uKa = function (a, b) { b != null ? (a.Rp = b, a.Ff = !0) : (a.Rp = "", a.Ff = !1) }; + AP = function (a, b) { this.type = a || ""; this.id = b || "" }; + g.BP = function (a) { return new AP(a.substr(0, 2), a.substr(2)) }; + g.CP = function (a, b) { + this.Da = a; this.author = ""; this.OE = null; this.playlistLength = 0; this.j = this.sessionData = null; this.Z = {}; this.title = ""; if (b) { + this.author = b.author || b.playlist_author || ""; this.title = b.playlist_title || ""; if (a = b.session_data) this.sessionData = vr(a, "&"); var c; this.j = ((c = b.thumbnail_ids) == null ? void 0 : c.split(",")[0]) || null; this.Z = wP(b, "playlist_"); this.videoId = b.video_id || void 0; if (c = b.list) switch (b.listType) { + case "user_uploads": this.playlistId = (new AP("UU", "PLAYER_" + c)).toString(); break; default: if (a = + b.playlist_length) this.playlistLength = Number(a) || 0; this.playlistId = g.BP(c).toString(); if (b = b.video) this.videoId = (b[0] || null).video_id || void 0 + } else b.playlist && (this.playlistLength = b.playlist.toString().split(",").length) + } + }; + g.DP = function (a, b) { + this.Da = a; this.Ct = this.author = ""; this.OE = null; this.isUpcoming = this.isLivePlayback = !1; this.lengthSeconds = 0; this.Mx = this.lengthText = ""; this.sessionData = null; this.Z = {}; this.title = ""; if (b) { + this.ariaLabel = b.aria_label || void 0; this.author = b.author || ""; this.Ct = b.Ct || ""; if (a = b.endscreen_autoplay_session_data) this.OE = vr(a, "&"); this.PE = b.PE; this.isLivePlayback = b.live_playback === "1"; this.isUpcoming = !!b.isUpcoming; if (a = b.length_seconds) this.lengthSeconds = typeof a === "string" ? Number(a) : a; this.lengthText = + b.lengthText || ""; this.Mx = b.Mx || ""; this.publishedTimeText = b.publishedTimeText || void 0; if (a = b.session_data) this.sessionData = vr(a, "&"); this.shortViewCount = b.short_view_count_text || void 0; this.Z = wP(b); this.title = b.title || ""; this.videoId = b.docid || b.video_id || b.videoId || b.id || void 0; this.watchUrl = b.watchUrl || void 0 + } + }; + vKa = function (a) { var b, c, d = (b = a.getWatchNextResponse()) == null ? void 0 : (c = b.contents) == null ? void 0 : c.twoColumnWatchNextResults, e, f, h, l, m; a = (e = a.getWatchNextResponse()) == null ? void 0 : (f = e.playerOverlays) == null ? void 0 : (h = f.playerOverlayRenderer) == null ? void 0 : (l = h.endScreen) == null ? void 0 : (m = l.watchNextEndScreenRenderer) == null ? void 0 : m.results; if (!a) { var n, p; a = d == null ? void 0 : (n = d.endScreen) == null ? void 0 : (p = n.endScreen) == null ? void 0 : p.results } return a }; + g.FP = function (a) { var b, c, d; a = g.R((b = a.getWatchNextResponse()) == null ? void 0 : (c = b.playerOverlays) == null ? void 0 : (d = c.playerOverlayRenderer) == null ? void 0 : d.decoratedPlayerBarRenderer, EP); return g.R(a == null ? void 0 : a.playerBar, wKa) }; + xKa = function (a) { this.j = a.playback_progress_0s_url; this.C = a.playback_progress_2s_url; this.B = a.playback_progress_10s_url }; + yKa = function () { if (GP === void 0) { try { window.localStorage.removeItem("yt-player-lv") } catch (b) { } a: { try { var a = !!self.localStorage } catch (b) { a = !1 } if (a && (a = g.Qp(g.qt() + "::yt-player"))) { GP = new kz(a); break a } GP = void 0 } } return GP }; + g.HP = function () { var a = yKa(); if (!a) return {}; try { var b = a.get("yt-player-lv"); return JSON.parse(b || "{}") } catch (c) { return {} } }; + g.zKa = function (a) { var b = yKa(); b && (a = JSON.stringify(a), b.set("yt-player-lv", a)) }; + g.IP = function (a) { return g.HP()[a] || 0 }; + g.JP = function (a, b) { var c = g.HP(); b !== c[a] && (b !== 0 ? c[a] = b : delete c[a], g.zKa(c)) }; + g.KP = function (a) { return g.J(function (b) { return b.return(g.ou(AKa(), a)) }) }; + MP = function (a, b, c, d, e, f, h, l) { + var m, n, p, q, r, t; return g.J(function (u) { + switch (u.j) { + case 1: return m = g.IP(a), m === 4 ? u.return(4) : g.G(u, g.xu(), 2); case 2: n = u.B; if (!n) throw g.Tt("wiac"); if (!l || h === void 0) { u.Ha(3); break } return g.G(u, BKa(l, h), 4); case 4: h = u.B; case 3: return p = c.lastModified || "0", g.G(u, g.KP(n), 5); case 5: return q = u.B, g.va(u, 6), LP++, g.G(u, g.cu(q, ["index", "media"], { mode: "readwrite", tag: "IDB_TRANSACTION_TAG_WIAC", Pb: !0 }, function (y) { + if (f !== void 0 && h !== void 0) { + var A = "" + a + "|" + b.id + "|" + p + "|" + String(f).padStart(10, + "0"); A = g.du(y.objectStore("media"), h, A) + } else A = g.Vt.resolve(void 0); var D = CKa(a, b.zg()), F = CKa(a, !b.zg()), H = { fmts: DKa(d), format: c || {} }; D = g.du(y.objectStore("index"), H, D); var M = d.downloadedEndTime === -1; H = M ? y.objectStore("index").get(F) : g.Vt.resolve(void 0); var N = { fmts: "music", format: {} }; y = M && e && !b.zg() ? g.du(y.objectStore("index"), N, F) : g.Vt.resolve(void 0); return g.Vt.all([y, H, A, D]).then(function (Q) { + Q = g.w(Q); Q.next(); Q = Q.next().value; LP--; var Z = g.IP(a); if (Z !== 4 && M && e || Q !== void 0 && g.EKa(Q.fmts)) Z = 1, g.JP(a, + Z); return Z + }) + }), 8); + case 8: return u.return(u.B); case 6: r = g.xa(u); LP--; t = g.IP(a); if (t === 4) return u.return(t); g.JP(a, 4); throw r; + } + }) + }; + g.FKa = function (a) { var b, c; return g.J(function (d) { if (d.j == 1) return g.G(d, g.xu(), 2); if (d.j != 3) { b = d.B; if (!b) throw g.Tt("ri"); return g.G(d, g.KP(b), 3) } c = d.B; return d.return(g.cu(c, ["index"], { mode: "readonly", tag: "IDB_TRANSACTION_TAG_LMRI" }, function (e) { var f = IDBKeyRange.bound(a + "|", a + "~"); return e.objectStore("index").getAll(f).then(function (h) { return h.map(function (l) { return l ? l.format : {} }) }) })) }) }; + HKa = function (a, b, c, d, e) { + var f, h, l; return g.J(function (m) { + if (m.j == 1) return g.G(m, g.xu(), 2); if (m.j != 3) { f = m.B; if (!f) throw g.Tt("rc"); return g.G(m, g.KP(f), 3) } h = m.B; l = g.cu(h, ["media"], { mode: "readonly", tag: "IDB_TRANSACTION_TAG_LMRM" }, function (n) { var p = "" + a + "|" + b + "|" + c + "|" + String(d).padStart(10, "0"); return n.objectStore("media").get(p) }); + return e ? m.return(l.then(function (n) { if (n === void 0) throw Error("No data from indexDb"); return GKa(e, n) }).catch(function (n) { + throw new g.pt("Error while reading chunk: " + n.name + ", " + n.message); + })) : m.return(l) + }) + }; + g.EKa = function (a) { return a ? a === "music" ? !0 : a.includes("dlt=-1") || !a.includes("dlt=") : !1 }; + CKa = function (a, b) { return "" + a + "|" + (b ? "v" : "a") }; + DKa = function (a) { var b = {}; return wr((b.dlt = a.downloadedEndTime.toString(), b.mket = a.maxKnownEndTime.toString(), b.avbr = a.averageByteRate.toString(), b)) }; + JKa = function (a) { + var b = {}, c = {}; a = g.w(a); for (var d = a.next(); !d.done; d = a.next()) { var e = d.value, f = e.split("|"); e.match(g.IKa) ? (d = Number(f.pop()), isNaN(d) ? c[e] = "?" : (f = f.join("|"), (e = b[f]) ? (f = e[e.length - 1], d === f.end + 1 ? f.end = d : e.push({ start: d, end: d })) : b[f] = [{ start: d, end: d }])) : c[e] = "?" } a = g.w(Object.keys(b)); for (d = a.next(); !d.done; d = a.next())d = d.value, c[d] = b[d].map(function (h) { return h.start + "-" + h.end }).join(","); + return c + }; + NP = function (a) { g.Fx.call(this); this.j = null; this.C = new Tp; this.j = null; this.K = new Set; this.crossOrigin = a || "" }; + KKa = function (a, b, c) { for (c = OP(a, c); c >= 0;) { var d = a.levels[c]; if (d.isLoaded(PP(d, b)) && (d = g.QP(d, b))) return d; c-- } return g.QP(a.levels[0], b) }; + MKa = function (a, b, c) { c = OP(a, c); for (var d, e; c >= 0; c--)if (d = a.levels[c], e = PP(d, b), !d.isLoaded(e)) { d = a; var f = c, h = f + "-" + e; d.K.has(h) || (d.K.add(h), d.C.enqueue(f, { d_: f, L_: e })) } LKa(a) }; + LKa = function (a) { if (!a.j && !a.C.isEmpty()) { var b = a.C.remove(); a.j = NKa(a, b) } }; + NKa = function (a, b) { + var c = document.createElement("img"); a.crossOrigin && (c.crossOrigin = a.crossOrigin); c.src = a.levels[b.d_].Ce(b.L_); c.onload = function () { var d = b.d_, e = b.L_; a.j !== null && (a.j.onload = null, a.j = null); d = a.levels[d]; d.loaded.add(e); LKa(a); var f = d.columns * d.rows; e *= f; d = Math.min(e + f - 1, d.WJ() - 1); e = [e, d]; a.publish("l", e[0], e[1]) }; + return c + }; + g.RP = function (a, b, c, d) { this.level = a; this.D = b; this.loaded = new Set; this.level = a; this.D = b; a = c.split("#"); this.width = Math.floor(Number(a[0])); this.height = Math.floor(Number(a[1])); this.frameCount = Math.floor(Number(a[2])); this.columns = Math.floor(Number(a[3])); this.rows = Math.floor(Number(a[4])); this.j = Math.floor(Number(a[5])); this.C = a[6]; this.signature = a[7]; this.videoLength = d }; + PP = function (a, b) { return Math.floor(b / (a.columns * a.rows)) }; + g.QP = function (a, b) { b >= a.IN() && a.sz(); var c = PP(a, b), d = a.columns * a.rows, e = b % d; b = e % a.columns; e = Math.floor(e / a.columns); var f = a.sz() + 1 - d * c; if (f < a.columns) { var h = f; d = 1 } else h = a.columns, d = f < d ? Math.ceil(f / a.columns) : a.rows; return { url: a.Ce(c), column: b, columns: h, row: e, rows: d, mG: a.width * h, Tx: a.height * d } }; + SP = function (a, b, c, d, e) { d = d === void 0 ? !1 : d; e = e === void 0 ? !1 : e; NP.call(this, c); this.isLive = d; this.N = !!e; this.levels = this.B(a, b); this.D = new Map; this.levels.length > 1 && this.levels[0].isDefault() && this.levels.splice(0, 1) }; + OKa = function (a, b, c) { return (a = a.levels[b]) ? a.KI(c) : -1 }; + OP = function (a, b) { var c = a.D.get(b); if (c) return c; c = a.levels.length; for (var d = 0; d < c; d++)if (a.levels[d].width >= b) return a.D.set(b, d), d; a.D.set(b, c - 1); return c - 1 }; + TP = function (a, b, c, d) { c = c.split("#"); c = [c[1], c[2], 0, c[3], c[4], -1, c[0], ""].join("#"); g.RP.call(this, a, b, c, 0); this.B = null; this.G = d ? 2 : 0 }; + UP = function (a, b, c, d) { SP.call(this, a, 0, void 0, b, !(d === void 0 || !d)); for (a = 0; a < this.levels.length; a++)this.levels[a].NV(c) }; + PKa = function (a, b, c) { b = { cpn: b }; a.indexOf("/ibw/") === -1 && (b.ibw = c ? String(c) : "1369843"); return { url: g.Ti(a, b), type: "application/x-mpegURL", quality: "auto", itag: "93" } }; + g.WP = function (a, b) { + g.Fx.call(this); this.Da = a; this.adModule = !1; this.adaptiveFormats = ""; this.fX = this.Sv = this.adQueryId = this.Rv = null; this.eD = { start: NaN, end: NaN }; this.ariaLabel = ""; this.cueRanges = this.me = null; this.CD = new Map; this.compositeLiveStatusToken = this.compositeLiveIngestionOffsetToken = this.fz = void 0; this.fl = this.drmParams = ""; this.eventLabel = null; this.allowEmbed = !0; this.allowLiveDvr = this.offlineable = this.backgroundable = !1; this.Xa = ""; this.iD = this.Tv = !1; this.OU = null; this.Fi = this.Nj = this.Tq = this.rG = + !1; this.D = null; this.OY = this.al = !1; this.Hj = NaN; this.applyStatefulNormalization = this.preserveStatefulLoudnessTarget = !1; this.maxStatefulTimeThresholdSec = 0; this.n2 = NaN; this.loudnessTargetLkfs = Infinity; this.minimumLoudnessTargetLkfs = -Infinity; this.yp = 0; this.Yl = !1; this.KD = this.cycToken = null; this.author = ""; this.Vk = 0; this.An = !1; this.VC = null; this.ZN = []; this.Hp = this.ND = !1; this.clientScreenNonce = this.playerResponseCpn = this.clientPlaybackNonce = this.videoCountText = this.Ab = this.ze = ""; this.contentCheckOk = !1; this.limitedPlaybackDurationInSeconds = + this.endSeconds = this.Kb = 0; this.pm = this.fb = this.B = null; this.XD = ""; this.loading = !1; this.Zd = this.yn = 0; this.qX = this.pipable = this.Lq = this.isAutonav = !1; this.paidContentOverlayDurationMs = 0; this.isLiveHeadPlayable = this.isLivePlayback = this.yb = this.isPrivate = this.isListed = this.XE = this.Ig = this.mutedAutoplay = this.Pk = !1; this.dI = ""; this.isLowLatencyLiveStream = this.isLivingRoomDeeplink = this.isLiveDefaultBroadcast = this.TF = this.Ka = this.Wd = !1; this.latencyClass = "UNKNOWN"; this.O2 = this.HU = this.bE = this.LX = this.RD = this.enablePreroll = + this.GU = this.enableServerStitchedDai = this.Ef = this.isMdxPlayback = this.isUpcoming = this.isPremiere = !1; this.mdxControlMode = null; this.isPharma = this.showSeekingControls = !1; this.yc = 0; this.reloadReason = ""; this.jG = this.NU = this.Ui = !1; this.keywords = {}; this.Jb = ""; this.xp = 0; this.JB = !1; this.unpluggedFilterModeType = 0; this.liveChunkReadahead = NaN; this.bk = null; this.Nv = this.lengthSeconds = 0; this.playerParams = this.musicVideoType = null; this.o3 = this.paygated = !1; this.Um = []; this.zn = !1; this.Ga = []; this.Ei = null; this.MX = this.racyCheckOk = + !1; this.nW = {}; this.isProximaLatencyEligible = !1; this.tH = 0; this.C = null; this.autonavState = 1; this.aX = null; this.shortDescription = ""; this.Ba = this.bY = !1; this.ge = this.Ob = this.startSeconds = 0; this.WB = this.RZ = this.ZB = VP; this.Uv = this.suggestions = null; this.Ov = this.Pv = void 0; this.isExternallyHostedPodcast = !1; this.nm = null; this.ID = !1; this.expandedSubtitle = this.expandedTitle = this.subtitle = this.title = ""; this.mw = void 0; this.jf = []; this.Xk = []; this.hlsFormats = this.Tf = ""; this.zw = this.nB = this.Zk = this.Fd = this.ob = this.Pp = + this.yw = null; this.xn = "vvt"; this.Wi = !1; this.bO = null; this.U0 = ""; this.Zq = NaN; this.Lv = this.QC = this.Fq = this.PC = this.OC = this.qm = this.yq = this.jz = this.Wq = this.iz = ""; this.tm = null; this.rX = !1; this.N = {}; this.clipStart = 0; this.clipEnd = Infinity; this.Q3 = !1; this.heartbeatToken = ""; this.U3 = this.T3 = NaN; this.Ed = this.wp = this.zj = this.FU = this.W3 = !1; this.fm = !0; this.Z = {}; this.captionTracks = []; this.FD = []; this.e_ = 0; this.HD = []; this.gw = []; this.ew = !1; this.JD = {}; this.bl = new g.nL("und", new g.sN("Default", "und", !0)); this.cH = 0; this.G = + null; this.Ap = []; this.VD = !1; this.FC = this.wc = ""; this.slotPosition = -1; this.breakType = 0; this.embeddedPlayerConfig = this.Wa = this.rI = this.YD = this.playerResponse = this.S_ = this.Jw = this.Cn = this.Ii = this.UD = this.gD = this.cD = null; this.ow = !1; this.qa = null; this.isInlinePlaybackNoAd = this.Yj = this.PD = this.useCobaltWidevine = this.TX = this.QA = !1; this.z1 = !0; this.Qf = this.Bj = NaN; this.defraggedFromSubfragments = this.BF = this.hasSubfragmentedFmp4 = !1; this.liveExperimentalContentId = NaN; this.sabrContextUpdates = new Map; this.WA = ""; this.Q1 = + !1; this.gatewayExperimentGroup = ""; this.XC = this.aO = this.Mj = !1; this.interstitials = []; this.Ff = this.SF = !1; this.Rp = ""; this.allowImaMonetization = !1; this.QU = ""; this.ED = !1; this.wh = ""; this.Bp = []; this.sI = []; this.rd = ""; this.QD = this.Y = this.EU = !1; this.Uf = 0; this.lq = ""; this.WC = this.TC = this.aE = this.readAheadGrowthRateMs = this.minReadAheadMediaTimeMs = this.maxReadAheadMediaTimeMs = NaN; this.showShareButton = !0; this.hq = !1; this.hm = this.Ie = !0; this.errorDetail = this.userGenderAge = ""; this.MD = this.OD = this.getSharePanelCommand = + this.removeFromWatchLaterCommand = this.addToWatchLaterCommand = this.unsubscribeCommand = this.subscribeCommand = this.contextParams = this.Qn = this.errorReason = this.errorCode = null; this.jw = this.hw = ""; this.Bn = !1; this.Mv = []; this.Rc = this.Ra = this.Tb = this.xi = this.df = 0; this.fetchType = null; this.oW = !0; this.transitionEndpointAtEndOfStream = void 0; this.DD = this.kZ = -1; this.gm = this.Sf = !1; this.kf = null; this.Ya = ""; this.Dn = !1; this.watchUrl = null; this.Aw = []; this.visibleOnLoadKeys = []; this.HW = []; this.inlineMetricEnabled = this.Xl = + !1; this.embedsRctn = this.embedsRct = ""; this.ZD = NaN; this.jW = (0, g.Zt)(); this.NC = this.iq = 0; this.mp = null; this.Rf = 0; this.FW = this.SD = this.ZF = !1; this.PY = 0; this.zp = {}; this.Sf = this.L("web_new_autonav_countdown"); this.gm = this.L("web_new_big_thumbnail_endscreen"); QKa(this, b); this.nw = new xL; g.P(this, this.nw) + }; + g.$P = function (a, b, c) { b && b.cpn && g.fx(new g.pt("CPN provided in VideoData update", { Poa: b.cpn, Mg: a.clientPlaybackNonce, noa: c })); c ? (Ds(b), QKa(a, b), XP(a) && YP(a)) : (b = b || {}, RKa(a, b), ZP(a, b), SKa(a, b), a.publish("dataupdated")) }; + SKa = function (a, b) { + a.fflags = Bs(a.fflags, b.fflags); var c = b.iv_invideo_url; c && (a.Xa = oD(c)); a.Tv = ys(a.Tv, b.iv_ads_only); a.iD = ys(a.iD, b.iv_allow_in_place_switch); if (c = b.cta_conversion_urls) a.sfa = c; a.isPharma = ys(a.isPharma, b.is_pharma); a.author = Bs(a.author, b.author); a.ze = TKa(b.ttsurl) || a.ze; a.An = ys(a.An, b.cc_asr); a.Ab = Bs(a.Ab, b.channel_path); if (c = b.profile_picture) a.profilePicture = Bs(a.profilePicture, c); a.videoCountText = Bs(a.videoCountText, b.video_count_text); a.autonavState = zs(a.autonavState, b.autonav_state, + UKa); if (a.L("html5_enable_ssap_entity_id")) { var d; c = !!b.cotn || !((d = a.playerResponse) == null || !d.cotn); d = g.AC(a.Da.experiments, "html5_entity_id_simplified_preferred_record_size"); a.playerResponse && !c && (a.clientPlaybackNonce = VKa(a, a.playerResponse, d) || a.clientPlaybackNonce); a.clientPlaybackNonce || (b.cpn && a.Fy("ssei", "uhdc"), a.clientPlaybackNonce = Bs(a.clientPlaybackNonce, b.cpn)) } else a.clientPlaybackNonce = Bs(a.clientPlaybackNonce, b.cpn); a.subscribed = ys(a.subscribed, b.subscribed); a.rawViewCount = As(a.rawViewCount, + b.view_count); a.shortViewCount = Bs(a.shortViewCount, b.short_view_count_text); a.publishedTimeText = Bs(a.publishedTimeText || "", b.publishedTimeText); a.lengthText = Bs(a.lengthText || "", b.lengthText); a.Mx = Bs(a.Mx || "", b.Mx); a.Ct = Bs(a.Ct || "", b.Ct); a.title = Bs(a.title, b.title); a.subtitle = Bs(a.subtitle, b.subtitle); a.expandedTitle = Bs(a.expandedTitle, b.expanded_title); a.expandedSubtitle = Bs(a.expandedSubtitle, b.expanded_subtitle); a.ariaLabel = Bs(a.ariaLabel, b.aria_label); a.ypcPreview = Bs(a.ypcPreview, b.ypc_preview); + a.cO = Bs(a.cO, b.ypc_origin); a.Wi = ys(a.Wi, b.ypc_is_premiere_trailer); a.lq = Bs(a.lq, b.ypc_clickwrap_message); a.paygated = ys(a.paygated, b.paygated); a.rX = ys(a.rX, b.requires_purchase); a.showShareButton = !ys(!a.showShareButton, b.ss); a.Ie = ys(a.Ie, b.showwatchlater); a.hm = ys(a.hm, b.shownotifybutton); a.hq = ys(a.hq, b.copy_share); if (d = b.el) a.eventLabel = d; if (d = b.keywords) a.keywords = WKa(d.split(",")); if (d = b.rvs) a.suggestions = yr(d).map(function (e) { return e.playlist || e.list || e.api ? new g.CP(a.Da, e) : new g.DP(a.Da, e) }); + a.contentCheckOk = ys(a.contentCheckOk, b.cco); a.racyCheckOk = ys(a.racyCheckOk, b.rco); a.isLivingRoomDeeplink = ys(a.isLivingRoomDeeplink, b.is_living_room_deeplink); a.oauthToken = Bs(a.oauthToken, b.oauth_token); a.Jb = Bs(a.Jb, b.kpt); a.visitorData = Bs(a.visitorData, b.visitor_data); if (d = b.session_data) a.sessionData = vr(d, "&"); a.qw = Bs(a.qw, b.endscreen_ad_tracking_data); a.QZ = ys(a.QZ, b.wait_for_vast_info_cards_xml); a.GD = ys(a.GD, b.suppress_creator_endscreen); a.IU = ys(a.IU, b.is_trueview_action); a.lZ = Bs(a.lZ, b.tracking_list); + a.hw = Bs(a.hw, b.clip); a.jw = Bs(a.jw, b.clipt); XKa(a, b) + }; + QKa = function (a, b) { + b = b || {}; var c = b.errordetail; c != null && (a.errorDetail = c); var d = b.errorcode; d != null ? a.errorCode = d : b.status == "fail" && (a.errorCode = "auth"); var e = b.reason; e != null && (a.errorReason = e); var f = b.subreason; f != null && (a.Qn = f); a.L("html5_enable_ssap_entity_id") || a.clientPlaybackNonce || (a.clientPlaybackNonce = b.cpn || g.Sv(16)); a.yb = ys(a.Da.yb, b.livemonitor); RKa(a, b); var h = b.raw_player_response; if (h) a.rI = h; else { var l = b.player_response; l && (h = JSON.parse(l)) } if (a.L("html5_enable_ssap_entity_id")) { + var m = + b.cached_load; m && (a.Hp = ys(a.Hp, m)); if (!a.clientPlaybackNonce) { var n = b.cpn; n ? (a.Fy("ssei", "shdc"), a.clientPlaybackNonce = n) : a.clientPlaybackNonce = g.Sv(16) } + } h && (a.playerResponse = h); if (a.playerResponse) { + var p = a.playerResponse.annotations; if (p) for (var q = g.w(p), r = q.next(); !r.done; r = q.next()) { var t = r.value.playerAnnotationsUrlsRenderer; if (t) { t.adsOnly && (a.Tv = !0); t.allowInPlaceSwitch && (a.iD = !0); var u = t.loadPolicy; u && (a.annotationsLoadPolicy = YKa[u]); var y = t.invideoUrl; y && (a.Xa = oD(y)); a.rG = !0; break } } var A = + a.playerResponse.attestation; A && oKa(a, A); var D = a.playerResponse.cotn; D && (a.cotn = D); var F = a.playerResponse.heartbeatParams; if (F) { ZKa(a) && (a.Q3 = !0); var H = F.heartbeatToken; H && (a.drmSessionId = F.drmSessionId || "", a.heartbeatToken = H, a.T3 = Number(F.intervalMilliseconds), a.U3 = Number(F.maxRetries), a.W3 = !!F.softFailOnError, a.FU = !!F.useInnertubeHeartbeatsForDrm, a.Tq = !0); a.heartbeatServerData = F.heartbeatServerData; var M; a.Yl = !((M = F.heartbeatAttestationConfig) == null || !M.requiresAttestation) } var N = a.playerResponse.messages; + N && sKa(a, N); var Q = a.playerResponse.overlay; if (Q) { var Z = Q.playerControlsOverlayRenderer; if (Z) if (uKa(a, Z.controlBgHtml), Z.mutedAutoplay) { var fa = g.R(Z.mutedAutoplay, $Ka); if (fa && fa.endScreen) { var pa = g.R(fa.endScreen, aLa); pa && pa.text && (a.QU = g.Qx(pa.text)) } } else a.mutedAutoplay = !1 } var Y = a.playerResponse.playabilityStatus; if (Y) { + var S = Y.backgroundability; S && S.backgroundabilityRenderer.backgroundable && (a.backgroundable = !0); var W, v; if ((W = Y.offlineability) == null ? 0 : (v = W.offlineabilityRenderer) == null ? 0 : v.offlineable) a.offlineable = + !0; var V = Y.contextParams; V && (a.contextParams = V); var cb = Y.pictureInPicture; cb && cb.pictureInPictureRenderer.playableInPip && (a.pipable = !0); Y.playableInEmbed && (a.allowEmbed = !0); var zb = Y.ypcClickwrap; if (zb) { var Ra = zb.playerLegacyDesktopYpcClickwrapRenderer, db = zb.ypcRentalActivationRenderer; if (Ra) a.lq = Ra.durationMessage || "", a.Fi = !0; else if (db) { var ab = db.durationMessage; a.lq = ab ? g.Qx(ab) : ""; a.Fi = !0 } } var ob = Y.errorScreen; if (ob) { + if (ob.playerLegacyDesktopYpcTrailerRenderer) { + var Wa = ob.playerLegacyDesktopYpcTrailerRenderer; + a.Lv = Wa.trailerVideoId || ""; var B = ob.playerLegacyDesktopYpcTrailerRenderer.ypcTrailer; var C = B && B.ypcTrailerRenderer + } else if (ob.playerLegacyDesktopYpcOfferRenderer) Wa = ob.playerLegacyDesktopYpcOfferRenderer; else if (ob.ypcTrailerRenderer) { C = ob.ypcTrailerRenderer; var E = C.fullVideoMessage; a.yq = E ? g.Qx(E) : ""; var I, L; a.Lv = ((I = g.R(C, bLa)) == null ? void 0 : (L = I.videoDetails) == null ? void 0 : L.videoId) || "" } Wa && (a.Fq = Wa.itemTitle || "", Wa.itemUrl && (a.QC = Wa.itemUrl), Wa.itemBuyUrl && (a.OC = Wa.itemBuyUrl), a.PC = Wa.itemThumbnail || + "", a.jz = Wa.offerHeadline || "", a.Wq = Wa.offerDescription || "", a.qm = Wa.offerId || "", a.iz = Wa.offerButtonText || "", a.bO = Wa.offerButtonFormattedText || null, a.Zq = Wa.overlayDurationMsec || NaN, a.yq = Wa.fullVideoMessage || "", a.Nj = !0); if (C) { var X = g.R(C, bLa); if (X) a.tm = { raw_player_response: X }; else { var ha = g.R(C, cLa); a.tm = ha ? xr(ha) : null } a.Nj = !0 } + } + } var ca = a.playerResponse.playbackTracking; if (ca) { + var K = b, la = yP(ca.googleRemarketingUrl); la && (a.googleRemarketingUrl = la); var qa = yP(ca.youtubeRemarketingUrl); qa && (a.youtubeRemarketingUrl = + qa); var ia = yP(ca.ptrackingUrl); if (ia) { var Ga = zP(ia), kb = Ga.oid; kb && (a.hW = kb); var Ob = Ga.pltype; Ob && (a.iW = Ob); var nc = Ga.ptchn; nc && (a.fW = nc); var Oa = Ga.ptk; Oa && (a.Bw = encodeURIComponent(Oa)); var Dc = Ga.m; Dc && (a.pw = Dc) } var md = yP(ca.qoeUrl); if (md) { + for (var nd = g.zr(md), ie = g.w(Object.keys(nd)), Bd = ie.next(); !Bd.done; Bd = ie.next()) { var ye = Bd.value, uc = nd[ye]; nd[ye] = Array.isArray(uc) ? uc.join(",") : uc } a.PZ = nd; var ze = nd.cat; ze && (a.L("html5_enable_qoe_cat_list") ? a.Bp = a.Bp.concat(ze.split(",")) : a.wh = ze); var Rf = nd.live; + Rf && (a.dI = Rf); var Qe = nd.drm_product; Qe && (a.fl = Qe) + } var uf = yP(ca.videostatsPlaybackUrl); if (uf) { + var Qc = zP(uf); a.Fa = Qc; var Og = Qc.adformat; if (Og) { K.adformat = Og; var Vh = a.U(), uh = kKa(Og, a.FC, Vh.D, Vh.N); uh && (a.adFormat = uh) } var Pg = Qc.aqi; Pg && (K.ad_query_id = Pg); var Lc = Qc.autoplay; Lc && (a.Pk = Lc == "1", a.Lq = Lc == "1"); var Sf = Qc.autonav; Sf && (a.isAutonav = Sf == "1"); var Rb = Qc.delay; Rb && (a.Kb = Wd(Rb)); var Fi = Qc.ei; Fi && (a.eventId = Fi); Qc.el === "adunit" && (a.Pk = !0); var yk = Qc.feature; yk && (a.Cp = yk); var hc = Qc.list; hc && (a.playlistId = + hc); var Pn = Qc.of; Pn && (a.UC = Pn); var Qn = Qc.osid; Qn && (a.osid = Qn); var am = Qc.referrer; am && (a.referrer = am); var Rn = Qc.sdetail; Rn && (a.VA = Rn); var Gi = Qc.sourceid; Gi && (a.Uia = Gi); var kg = Qc.ssrt; kg && (a.Zp = kg == "1"); var bm = Qc.subscribed; bm && (a.subscribed = bm == "1", a.N.subscribed = bm); var zk = Qc.uga; zk && (a.userGenderAge = zk); var vh = Qc.upt; vh && (a.wB = vh); var Sn = Qc.vm; Sn && (a.videoMetadata = Sn) + } var Tn = yP(ca.videostatsWatchtimeUrl); if (Tn) { var Un = zP(Tn).ald; Un && (a.Qv = Un) } if (a.L("html5_add_per_destination_base_query_for_video_stats_urls")) { + var Qg = + {}, Ak = a.L("html5_add_per_destination_base_query_for_video_stats_urls_counterfactual"); if (uf) if (Ak) Qg.playback = a.Fa; else { var Bk = zP(uf); Qg.playback = Bk } if (Tn) if (Ak) Qg.watchtime = a.Fa; else { var mq = zP(Tn); Qg.watchtime = mq } var nq = yP(ca.atrUrl); if (nq) if (Ak) Qg.atr = a.Fa; else { var oq = zP(nq); Qg.atr = oq } var Vn = yP(ca.engageUrl); if (Vn) { var pq = zP(Vn); Qg.engage = pq; if (Ak) Qg.engage = a.Fa; else { var jt = zP(Vn); Qg.engage = jt } } a.zp = Qg + } if (ca.promotedPlaybackTracking) { + var vf = ca.promotedPlaybackTracking; vf.startUrls && (a.Xw = vf.startUrls); + vf.firstQuartileUrls && (a.dD = vf.firstQuartileUrls); vf.secondQuartileUrls && (a.fD = vf.secondQuartileUrls); vf.thirdQuartileUrls && (a.hD = vf.thirdQuartileUrls); vf.completeUrls && (a.bD = vf.completeUrls); vf.engagedViewUrls && (vf.engagedViewUrls.length > 1 && g.fx(new g.pt("There are more than one engaged_view_urls.")), a.Ej = vf.engagedViewUrls[0]) + } + } var Ck = a.playerResponse.playerCueRanges; Ck && Ck.length > 0 && (a.cueRanges = Ck); var qq = a.playerResponse.playerCueRangeSet; qq && g.aQ(a, qq); a: { + var rq = a.playerResponse.adPlacements; + if (rq) for (var Wn = g.w(rq), Hi = Wn.next(); !Hi.done; Hi = Wn.next()) { var by = void 0, Az = void 0, OG = (by = Hi.value.adPlacementRenderer) == null ? void 0 : (Az = by.renderer) == null ? void 0 : Az.videoAdTrackingRenderer; if (OG) { var PG = OG; break a } } PG = null + } var QG = PG; ca && ca.promotedPlaybackTracking && QG && g.fx(new g.pt("Player Response with both promotedPlaybackTracking and videoAdTrackingRenderer")); QG && (a.o3 = !0); var RG = a.playerResponse.playerAds; if (RG) for (var JR = b, SG = g.w(RG), Bz = SG.next(); !Bz.done; Bz = SG.next()) { + var TG = Bz.value; if (TG) { + var UG = + TG.playerLegacyDesktopWatchAdsRenderer; if (UG) { var Qo = UG.playerAdParams; if (Qo) { Qo.autoplay == "1" && (a.Pk = !0, a.Lq = !0); a.Sv = Qo.encodedAdSafetyReason || null; Qo.showContentThumbnail !== void 0 && (a.fm = !!Qo.showContentThumbnail); JR.enabled_engage_types = Qo.enabledEngageTypes; break } } + } + } var ne = a.playerResponse.playerConfig; if (ne) { + var Ro = ne.manifestlessWindowedLiveConfig; if (Ro) { + var Cz = Number(Ro.minDvrSequence), Dz = Number(Ro.maxDvrSequence), Ez = Number(Ro.minDvrMediaTimeMs), lr = Number(Ro.maxDvrMediaTimeMs), KR = Number(Ro.startWalltimeMs); + Cz && (a.df = Cz); Ez && (a.Ra = Ez / 1E3); Dz && (a.xi = Dz); lr && (a.Tb = lr / 1E3); KR && (a.Rc = KR / 1E3); (Cz || Ez) && (Dz || lr) && (a.Ka = !0, a.isLivePlayback = !0, a.allowLiveDvr = !0, a.Wd = !1) + } var vm = ne.daiConfig; if (vm) { if (vm.enableDai) { a.Ef = !0; var VG = vm.enableServerStitchedDai; VG && (a.enableServerStitchedDai = VG); var WG = vm.enablePreroll; WG && (a.enablePreroll = WG) } var Fz; if (vm.daiType === "DAI_TYPE_SS_DISABLED" || ((Fz = vm.debugInfo) == null ? 0 : Fz.isDisabledUnpluggedChannel)) a.bE = !0; vm.daiType === "DAI_TYPE_CLIENT_STITCHED" && (a.GU = !0) } var Vk = ne.audioConfig; + if (Vk) { + var Mu = Vk.loudnessDb; Mu != null && (a.Hj = Mu); var XG = Vk.trackAbsoluteLoudnessLkfs; XG != null && (a.n2 = XG); var LR = Vk.loudnessTargetLkfs; LR != null && (a.loudnessTargetLkfs = LR); Vk.audioMuted && (a.al = !0); Vk.muteOnStart && (a.OY = !0); var Nu = Vk.loudnessNormalizationConfig; if (Nu) { + Nu.applyStatefulNormalization && (a.applyStatefulNormalization = !0); Nu.preserveStatefulLoudnessTarget && (a.preserveStatefulLoudnessTarget = !0); var mr = Nu.minimumLoudnessTargetLkfs; mr != null && (a.minimumLoudnessTargetLkfs = mr); var BEa = Nu.maxStatefulTimeThresholdSec; + BEa != null && (a.maxStatefulTimeThresholdSec = BEa) + } + } var p9 = ne.playbackEndConfig; if (p9) { var CEa = p9.endSeconds, DEa = p9.limitedPlaybackDurationInSeconds; a.mutedAutoplay && (CEa && (a.endSeconds = CEa), DEa && (a.limitedPlaybackDurationInSeconds = DEa)) } var MR = ne.fairPlayConfig; if (MR) { var EEa = MR.certificate; EEa && (a.fb = rO(EEa)); var FEa = Number(MR.keyRotationPeriodMs); FEa > 0 && (a.ww = FEa); var GEa = Number(MR.keyPrefetchMarginMs); GEa > 0 && (a.uw = GEa) } var Gz = ne.playbackStartConfig; if (Gz) { + a.WC = Number(Gz.startSeconds); var HEa = Gz.liveUtcStartSeconds, + IEa = !!a.liveUtcStartSeconds && a.liveUtcStartSeconds > 0; HEa && !IEa && (a.liveUtcStartSeconds = Number(HEa)); var q9 = Gz.startPosition; if (q9) { var JEa = q9.utcTimeMillis; JEa && !IEa && (a.liveUtcStartSeconds = Number(JEa) * .001); var KEa = q9.streamTimeMillis; KEa && (a.ge = Number(KEa) * .001) } a.progressBarStartPosition = Gz.progressBarStartPosition; a.progressBarEndPosition = Gz.progressBarEndPosition + } else { + var r9 = ne.skippableSegmentsConfig; if (r9) { + var LEa = r9.introSkipDurationMs; LEa && (a.aE = Number(LEa) / 1E3); var MEa = r9.outroSkipDurationMs; + MEa && (a.TC = Number(MEa) / 1E3) + } + } var s9 = ne.skippableIntroConfig; if (s9) { var NEa = Number(s9.startMs), OEa = Number(s9.endMs); isNaN(NEa) || isNaN(OEa) || (a.Bj = NEa, a.Qf = OEa) } var PEa = ne.streamSelectionConfig; PEa && (a.Zd = Number(PEa.maxBitrate)); var QEa = ne.vrConfig; QEa && (a.QA = QEa.partialSpherical == "1"); var YG = ne.webDrmConfig; if (YG) { YG.skipWidevine && (a.TX = !0); var REa = YG.widevineServiceCert; REa && (a.pm = rO(REa)); YG.useCobaltWidevine && (a.useCobaltWidevine = !0); YG.startWithNoQualityConstraint && (a.Yj = !0) } var So = ne.mediaCommonConfig; + if (So) { + var NR = So.dynamicReadaheadConfig; if (NR) { + a.maxReadAheadMediaTimeMs = NR.maxReadAheadMediaTimeMs || NaN; a.minReadAheadMediaTimeMs = NR.minReadAheadMediaTimeMs || NaN; a.readAheadGrowthRateMs = NR.readAheadGrowthRateMs || NaN; var SEa, TEa = So == null ? void 0 : (SEa = So.mediaUstreamerRequestConfig) == null ? void 0 : SEa.videoPlaybackUstreamerConfig; TEa && (a.Ei = rO(TEa)); var t9 = So == null ? void 0 : So.sabrContextUpdates; if (t9 && t9.length > 0) for (var UEa = g.w(t9), u9 = UEa.next(); !u9.done; u9 = UEa.next()) { + var Ou = u9.value; if (Ou.type && Ou.value) { + var Ieb = + { type: Ou.type, scope: Ou.scope, value: rO(Ou.value) || void 0, sendByDefault: Ou.sendByDefault }; a.sabrContextUpdates.set(Ou.type, Ieb) + } + } + } var VEa = So.serverPlaybackStartConfig; VEa && (a.serverPlaybackStartConfig = VEa); So.useServerDrivenAbr && (a.SD = !0); var WEa = So.requestPipeliningConfig; WEa && (a.requestPipeliningConfig = WEa) + } var XEa = ne.inlinePlaybackConfig; XEa && (a.z1 = !!XEa.showAudioControls); var OR = ne.embeddedPlayerConfig; if (OR) { + a.embeddedPlayerConfig = OR; var v9 = OR.embeddedPlayerMode; if (v9) { + var YEa = a.U(); YEa.Ga = v9; + YEa.C = v9 === "EMBEDDED_PLAYER_MODE_PFL" + } var ZEa = OR.permissions; ZEa && (a.allowImaMonetization = !!ZEa.allowImaMonetization) + } var $Ea = ne.ssapConfig; $Ea && (a.Q1 = $Ea.ssapPrerollEnabled || !1); var PR = ne.webPlayerConfig; PR && (PR.gatewayExperimentGroup && (a.gatewayExperimentGroup = PR.gatewayExperimentGroup), PR.isProximaEligible && (a.isProximaLatencyEligible = !0)) + } var Wk = a.playerResponse.streamingData; if (Wk) { + var aFa = Wk.adaptiveFormats; if (aFa) { + var bFa = Wk.streamingUrlTemplate; if (a.L("enable_streaming_url_template") && bFa) for (var cFa = + g.w(aFa), w9 = cFa.next(); !w9.done; w9 = cFa.next()) { var QR = w9.value; !QR.url && QR.distinctParams && (QR.url = bFa + "&" + QR.distinctParams) } + } var x9 = Wk.formats; if (x9) { + for (var ZG = [], dFa = g.w(x9), y9 = dFa.next(); !y9.done; y9 = dFa.next()) { var z9 = y9.value; ZG.push(z9.itag + "/" + z9.width + "x" + z9.height) } a.XD = ZG.join(","); ZG = []; for (var eFa = g.w(x9), A9 = eFa.next(); !A9.done; A9 = eFa.next()) { + var $G = A9.value, aH = { itag: $G.itag, type: $G.mimeType, quality: $G.quality }, fFa = $G.url; fFa && (aH.url = fFa); var RR = OL($G), Jeb = RR.rE, Keb = RR.PH, Leb = RR.s; RR.aZ && + (aH.url = Jeb, aH.sp = Keb, aH.s = Leb); ZG.push(g.Si(aH)) + } a.Tf = ZG.join(",") + } var B9 = Wk.hlsFormats; if (B9) { + var gFa = ne || null, SR = {}; if (gFa) { var C9 = gFa.audioPairingConfig; if (C9 && C9.pairs) for (var hFa = g.w(C9.pairs), D9 = hFa.next(); !D9.done; D9 = hFa.next()) { var iFa = D9.value, E9 = iFa.videoItag; SR[E9] || (SR[E9] = []); SR[E9].push(iFa.audioItag) } } for (var jFa = {}, kFa = g.w(B9), F9 = kFa.next(); !F9.done; F9 = kFa.next()) { var lFa = F9.value; jFa[lFa.itag] = lFa.bitrate } for (var mFa = [], nFa = g.w(B9), G9 = nFa.next(); !G9.done; G9 = nFa.next()) { + var bi = G9.value, + wm = { itag: bi.itag, type: bi.mimeType, url: bi.url, bitrate: bi.bitrate, width: bi.width, height: bi.height, fps: bi.fps }, TR = bi.audioTrack; if (TR) { var oFa = TR.displayName; oFa && (wm.name = oFa, wm.audio_track_id = TR.id, TR.audioIsDefault && (wm.is_default = "1")) } if (bi.drmFamilies) { for (var pFa = [], qFa = g.w(bi.drmFamilies), H9 = qFa.next(); !H9.done; H9 = qFa.next())pFa.push(zN[H9.value]); wm.drm_families = pFa.join(",") } var UR = SR[bi.itag]; if (UR && UR.length) { wm.audio_itag = UR.join(","); var rFa = jFa[UR[0]]; rFa && (wm.bitrate += rFa) } var sFa = VHa(bi); + sFa && (wm.eotf = sFa); bi.audioChannels && (wm.audio_channels = bi.audioChannels); mFa.push(g.Si(wm)) + } a.hlsFormats = mFa.join(",") + } var I9 = Wk.licenseInfos; if (I9 && I9.length > 0) { for (var tFa = {}, uFa = g.w(I9), J9 = uFa.next(); !J9.done; J9 = uFa.next()) { var vFa = J9.value, wFa = vFa.drmFamily, xFa = vFa.url; wFa && xFa && (tFa[zN[wFa]] = xFa) } a.me = tFa } var yFa = Wk.drmParams; yFa && (a.drmParams = yFa); var zFa = Wk.dashManifestUrl; zFa && (a.Wc = g.Ti(zFa, { cpn: a.clientPlaybackNonce })); var AFa = Wk.hlsManifestUrl; AFa && (a.hlsvp = AFa); var BFa = Wk.probeUrl; BFa && + (a.probeUrl = oD(g.Ti(BFa, { cpn: a.clientPlaybackNonce }))); var CFa = Wk.serverAbrStreamingUrl; CFa && (a.Zl = new g.IL(CFa, !0)) + } var DFa = a.playerResponse.trackingParams; DFa && (a.Ma = DFa); var cd = a.playerResponse.videoDetails; if (cd) { + var xm = b, K9 = cd.videoId; K9 && (a.videoId = K9, xm.video_id || (xm.video_id = K9)); var EFa = cd.channelId; EFa && (a.N.uid = EFa.substr(2)); var L9 = cd.title; L9 && (a.title = L9, xm.title || (xm.title = L9)); var M9 = cd.lengthSeconds; M9 && (a.lengthSeconds = Number(M9), xm.length_seconds || (xm.length_seconds = M9)); var FFa = + cd.keywords; FFa && (a.keywords = WKa(FFa)); var N9 = cd.channelId; N9 && (a.Wl = N9, xm.ucid || (xm.ucid = N9)); var GFa = cd.viewCount; GFa && (a.rawViewCount = Number(GFa)); var O9 = cd.author; O9 && (a.author = O9, xm.author || (xm.author = O9)); var HFa = cd.shortDescription; HFa && (a.shortDescription = HFa); var IFa = cd.isCrawlable; IFa && (a.isListed = IFa); var JFa = cd.musicVideoType; JFa && (a.musicVideoType = JFa); var P9 = cd.isLive; P9 != null && (a.isLivePlayback = P9); if (P9 || cd.isUpcoming) a.isPremiere = !cd.isLiveContent; var KFa = cd.thumbnail; KFa && (a.Z = xP(KFa)); + var LFa = cd.isExternallyHostedPodcast; LFa && (a.isExternallyHostedPodcast = LFa); var Q9 = cd.viewerLivestreamJoinPosition; if (Q9 == null ? 0 : Q9.utcTimeMillis) a.NC = Wd(Q9.utcTimeMillis); var MFa = ne || null, R9 = b; cd.isLiveDefaultBroadcast && (a.isLiveDefaultBroadcast = !0); cd.isUpcoming && (a.isUpcoming = !0); if (cd.isPostLiveDvr) { a.Wd = !0; var NFa = cd.latencyClass; NFa && (a.latencyClass = dLa[NFa] || "UNKNOWN"); cd.isLowLatencyLiveStream && (a.isLowLatencyLiveStream = !0) } else { + var S9 = !1; if (a.yb) a.allowLiveDvr = mO() ? !0 : rs && bQ < 5 ? !1 : !0, a.isLivePlayback = + !0; else if (cd.isLive) { + R9.livestream = "1"; a.allowLiveDvr = cd.isLiveDvrEnabled ? mO() ? !0 : rs && bQ < 5 ? !1 : !0 : !1; a.Va = 27; cd.isLowLatencyLiveStream && (a.isLowLatencyLiveStream = !0); var PFa = cd.latencyClass; PFa && (a.latencyClass = dLa[PFa] || "UNKNOWN"); var QFa = cd.liveChunkReadahead; QFa && (a.liveChunkReadahead = QFa); var Hz = MFa && MFa.livePlayerConfig; if (Hz) { + Hz.hasSubfragmentedFmp4 && (a.hasSubfragmentedFmp4 = !0); Hz.hasSubfragmentedWebm && (a.BF = !0); Hz.defraggedFromSubfragments && (a.defraggedFromSubfragments = !0); var RFa = Hz.liveExperimentalContentId; + RFa && (a.liveExperimentalContentId = Number(RFa)); var SFa = Hz.isLiveHeadPlayable; a.L("html5_live_head_playable") && SFa != null && (a.isLiveHeadPlayable = SFa) + } S9 = !0 + } else cd.isUpcoming && (S9 = !0); S9 && (a.isLivePlayback = !0, R9.adformat && R9.adformat.split("_")[1] !== "8" || a.Ga.push("heartbeat"), a.Tq = !0) + } var TFa = cd.isPrivate; TFa !== void 0 && (a.isPrivate = ys(a.isPrivate, TFa)) + } if (Y) { + var UFa = cd || null, VFa = !1, Iz = Y.errorScreen; VFa = Iz && (Iz.playerLegacyDesktopYpcOfferRenderer || Iz.playerLegacyDesktopYpcTrailerRenderer || Iz.ypcTrailerRenderer) ? + !0 : UFa && UFa.isUpcoming ? !0 : ["OK", "LIVE_STREAM_OFFLINE", "FULLSCREEN_ONLY"].includes(Y.status); if (!VFa) { + a.errorCode = dKa(Y.errorCode) || "auth"; var VR = Iz && Iz.playerErrorMessageRenderer; if (VR) { a.playerErrorMessageRenderer = VR; var WFa = VR.reason; WFa && (a.errorReason = g.Qx(WFa)); var T9 = VR.subreason; T9 && (a.Qn = g.Qx(T9), a.xw = T9) } else a.errorReason = Y.reason || null; var U9 = Y.status; if (U9 === "LOGIN_REQUIRED") a.errorDetail = "1"; else if (U9 === "CONTENT_CHECK_REQUIRED") a.errorDetail = "2"; else if (U9 === "AGE_CHECK_REQUIRED") { + var XFa = + Y.errorScreen, YFa = XFa && XFa.playerKavRenderer; a.errorDetail = YFa && YFa.kavUrl ? "4" : "3" + } else a.errorDetail = Y.isBlockedInRestrictedMode ? "5" : "0" + } + } var ZFa = a.playerResponse.interstitialPods; ZFa && rKa(a, ZFa); a.Xa && a.eventId && (a.Xa = Br(a.Xa, { ei: a.eventId })); var V9 = a.playerResponse.captions; if (V9 && V9.playerCaptionsTracklistRenderer) a: { + var ym = V9.playerCaptionsTracklistRenderer; a.captionTracks = []; if (ym.captionTracks) for (var $Fa = g.w(ym.captionTracks), W9 = $Fa.next(); !W9.done; W9 = $Fa.next()) { + var zm = W9.value, aGa = TKa(zm.baseUrl); + if (!aGa) break a; var X9 = { is_translateable: !!zm.isTranslatable, languageCode: zm.languageCode, languageName: zm.name && g.Qx(zm.name), url: aGa, vss_id: zm.vssId, kind: zm.kind }; X9.name = zm.trackName; X9.displayName = zm.name && g.Qx(zm.name); a.captionTracks.push(new g.sP(X9)) + } a.FD = ym.audioTracks || []; a.e_ = ym.defaultAudioTrackIndex || 0; a.gw = []; if (ym.translationLanguages) for (var bGa = g.w(ym.translationLanguages), Y9 = bGa.next(); !Y9.done; Y9 = bGa.next()) { + var Jz = Y9.value, Qu = {}; Qu.languageCode = Jz.languageCode; Qu.languageName = g.Qx(Jz.languageName); + if (Jz.translationSourceTrackIndices) { Qu.translationSourceTrackIndices = []; for (var cGa = g.w(Jz.translationSourceTrackIndices), Z9 = cGa.next(); !Z9.done; Z9 = cGa.next())Qu.translationSourceTrackIndices.push(Z9.value) } if (Jz.excludeAudioTrackIndices) { Qu.excludeAudioTrackIndices = []; for (var dGa = g.w(Jz.excludeAudioTrackIndices), $9 = dGa.next(); !$9.done; $9 = dGa.next())Qu.excludeAudioTrackIndices.push($9.value) } a.gw.push(Qu) + } a.HD = []; if (ym.defaultTranslationSourceTrackIndices) for (var eGa = g.w(ym.defaultTranslationSourceTrackIndices), + a$ = eGa.next(); !a$.done; a$ = eGa.next())a.HD.push(a$.value); a.ew = !!ym.contribute && !!ym.contribute.captionsMetadataRenderer + } a.clipConfig = a.playerResponse.clipConfig; a.clipConfig && a.clipConfig.startTimeMs != null && (a.WC = Number(a.clipConfig.startTimeMs) * .001); a.playerResponse && a.playerResponse.playerConfig && a.playerResponse.playerConfig.webPlayerConfig && a.playerResponse.playerConfig.webPlayerConfig.webPlayerActionsPorting && tKa(a, a.playerResponse.playerConfig.webPlayerConfig.webPlayerActionsPorting); var fGa; + a.compositeLiveIngestionOffsetToken = (fGa = a.playerResponse.playbackTracking) == null ? void 0 : fGa.compositeLiveIngestionOffsetToken; var gGa; a.compositeLiveStatusToken = (gGa = a.playerResponse.playbackTracking) == null ? void 0 : gGa.compositeLiveStatusToken + } ZP(a, b); b.queue_info && (a.queueInfo = b.queue_info); var hGa = b.hlsdvr; hGa != null && (a.allowLiveDvr = hGa == "1" ? mO() ? !0 : rs && bQ < 5 ? !1 : !0 : !1); a.adQueryId = b.ad_query_id || null; a.Sv || (a.Sv = b.encoded_ad_safety_reason || null); a.fX = b.agcid || null; a.cD = b.ad_id || null; a.gD = b.ad_sys || + null; a.UD = b.encoded_ad_playback_context || null; a.al = ys(a.al, b.infringe || b.muted); a.vfa = b.authkey; a.lda = b.authuser; a.mutedAutoplay = ys(a.mutedAutoplay, b && b.playmuted); a.ED = ys(a.ED, b && b.mutedautoplay); var WR = b.length_seconds; WR && (a.lengthSeconds = typeof WR === "string" ? Wd(WR) : WR); if (a.isAd() || a.zn || !g.Fs(g.RO(a.Da))) a.endSeconds = As(a.endSeconds, a.TC || b.end || b.endSeconds); else { + var YR = a.lengthSeconds; switch (g.RO(a.Da)) { + case "EMBEDDED_PLAYER_LITE_MODE_FIXED_PLAYBACK_LIMIT": YR > 30 ? a.limitedPlaybackDurationInSeconds = + 30 : YR < 30 && YR > 10 && (a.limitedPlaybackDurationInSeconds = 10); break; case "EMBEDDED_PLAYER_LITE_MODE_DYNAMIC_PLAYBACK_LIMIT": a.limitedPlaybackDurationInSeconds = YR * .2 + } + } a.Ma = Bs(a.Ma, b.itct); a.XE = ys(a.XE, b.noiba); a.TF = ys(a.TF, b.is_live_destination); a.isLivePlayback = ys(a.isLivePlayback, b.live_playback); a.enableServerStitchedDai = a.enableServerStitchedDai && a.Vb(); b.isUpcoming && (a.isUpcoming = ys(a.isUpcoming, b.isUpcoming)); a.Wd = ys(a.Wd, b.post_live_playback); a.Ka && (a.Wd = !1); a.isMdxPlayback = ys(a.isMdxPlayback, b.mdx); + var ZR = b.mdx_control_mode; ZR && (a.mdxControlMode = typeof ZR === "number" ? ZR : Wd(ZR)); a.isInlinePlaybackNoAd = ys(a.isInlinePlaybackNoAd, b.is_inline_playback_no_ad); a.yc = As(a.yc, b.reload_count); a.reloadReason = Bs(a.reloadReason, b.reload_reason); a.fm = ys(a.fm, b.show_content_thumbnail); a.jG = ys(a.jG, b.utpsa); a.ID = ys(a.ID, b.third_party_remapped_ad); a.cycToken = b.cyc || null; a.KD = b.tkn || null; var iGa = wP(b); Object.keys(iGa).length > 0 && (a.Z = iGa); a.ra = Bs(a.ra, b.vvt); a.mdxEnvironment = Bs(a.mdxEnvironment, b.mdx_environment); + b.source_container_playlist_id && (a.sourceContainerPlaylistId = b.source_container_playlist_id); b.serialized_mdx_metadata && (a.serializedMdxMetadata = b.serialized_mdx_metadata); a.m4 = b.osig; a.eventId || (a.eventId = b.eventid); a.osid || (a.osid = b.osid); a.playlistId = Bs(a.playlistId, b.list); b.index && (a.playlistIndex = a.playlistIndex === void 0 ? As(0, b.index) : As(a.playlistIndex, b.index)); a.wW = b.pyv_view_beacon_url; a.BW = b.pyv_quartile25_beacon_url; a.EW = b.pyv_quartile50_beacon_url; a.GW = b.pyv_quartile75_beacon_url; a.yW = + b.pyv_quartile100_beacon_url; var jGa = b.session_data; !a.IW && jGa && (a.IW = vr(jGa, "&").feature); a.isFling = As(a.isFling ? 1 : 0, b.is_fling) == 1; a.vnd = As(a.vnd, b.vnd); a.forceAdsUrl = Bs(a.forceAdsUrl, b.force_ads_url); a.lj = Bs(a.lj, b.ctrl); a.Qj = Bs(a.Qj, b.ytr); a.Pw = b.ytrcc; a.TW = b.ytrexp; a.jD = b.ytrext; a.wc = Bs(a.wc, b.adformat); a.FC = Bs(a.FC, b.attrib); a.slotPosition = As(a.slotPosition, b.slot_pos); a.breakType = b.break_type; a.Zp = ys(a.Zp, b.ssrt); a.videoId = Ds(b) || a.videoId; a.K = Bs(a.K, b.vss_credentials_token); a.xn = Bs(a.xn, b.vss_credentials_token_type); + a.Mj = ys(a.Mj, b.audio_only); a.aO = ys(a.aO, b.aac_high); a.XC = ys(a.XC, b.prefer_low_quality_audio); a.QD = ys(a.QD, b.uncap_inline_quality); a.L("html5_enable_qoe_cat_list") ? b.qoe_cat && (a.Bp = a.Bp.concat(b.qoe_cat.split(","))) : a.wh = Bs(a.wh, b.qoe_cat); a.Bn = ys(a.Bn, b.download_media); var kGa = b.prefer_gapless; var Meb = kGa != null ? ys(a.Y, kGa) : a.Y ? a.Y : a.Da.preferGapless && a.Da.supportsGaplessShorts(); a.Y = Meb; QAa(a.playerResponse) && (a.adModule = !0, a.Ga.push("ad")); var lGa = b.adaptive_fmts; lGa && (a.adaptiveFormats = lGa, a.oa("adpfmts", + {}, !0)); var mGa = b.allow_embed; mGa && (a.allowEmbed = mGa == "1"); var nGa = b.backgroundable; nGa && (a.backgroundable = nGa == "1"); var oGa = b.autonav; oGa && (a.isAutonav = oGa == "1"); var b$ = b.autoplay; b$ && (a.Lq = b$ == "1", a.Pk = b$ == "1"); var pGa = b.iv_load_policy; pGa && (a.annotationsLoadPolicy = zs(a.annotationsLoadPolicy, pGa, SO)); var qGa = b.cc_lang_pref; qGa && (a.captionsLanguagePreference = Bs(qGa, a.captionsLanguagePreference)); var rGa = b.cc_load_policy; rGa && (a.VC = zs(a.VC, rGa, SO)); var sGa; a.deviceCaptionsOn = (sGa = b.device_captions_on) != + null ? sGa : void 0; var tGa; a.H_ = (tGa = b.device_captions_lang_pref) != null ? tGa : ""; var uGa; a.ZN = (uGa = b.viewer_selected_caption_langs) != null ? uGa : []; if (!a.L("html5_enable_ssap_entity_id")) { var vGa = b.cached_load; vGa && (a.Hp = ys(a.Hp, vGa)) } b.dash == "0" && (a.ND = !0); var wGa = b.dashmpd; wGa && (a.Wc = g.Ti(wGa, { cpn: a.clientPlaybackNonce })); var xGa = b.delay; xGa && (a.Kb = Wd(xGa)); var yGa = a.TC || b.end; yGa != void 0 && (a.clipEnd = As(a.clipEnd, yGa)); var zGa = b.fmt_list; zGa && (a.XD = zGa); b.heartbeat_preroll && a.Ga.push("heartbeat"); a.yn = + -Math.floor(Math.random() * 10); a.Nv = -Math.floor(Math.random() * 40); var AGa = b.is_listed; AGa && (a.isListed = ys(a.isListed, AGa)); var BGa = b.is_private; BGa && (a.isPrivate = ys(a.isPrivate, BGa)); var CGa = b.is_dni; CGa && (a.Ff = ys(a.Ff, CGa)); var DGa = b.dni_color; DGa && (a.Rp = Bs(a.Rp, DGa)); var EGa = b.pipable; EGa && (a.pipable = ys(a.pipable, EGa)); a.qX = a.pipable && a.Da.Wq; a.bY = a.qX && !a.Da.showMiniplayerButton; var FGa = b.paid_content_overlay_duration_ms; FGa && (a.paidContentOverlayDurationMs = Wd(FGa)); var GGa = b.paid_content_overlay_text; + GGa && (a.paidContentOverlayText = GGa); var HGa = b.url_encoded_fmt_stream_map; HGa && (a.Tf = HGa); var IGa = b.hls_formats; IGa && (a.hlsFormats = IGa); var JGa = b.hlsvp; JGa && (a.hlsvp = JGa); var $R = b.live_start_walltime; $R && (a.qI = typeof $R === "number" ? $R : Wd($R)); var aS = b.live_manifest_duration; aS && (a.bk = typeof aS === "number" ? aS : Wd(aS)); var KGa = b.player_params; KGa && (a.playerParams = KGa); var LGa = b.partnerid; LGa && (a.Va = As(a.Va, LGa)); var MGa = b.probe_url; MGa && (a.probeUrl = oD(g.Ti(MGa, { cpn: a.clientPlaybackNonce }))); var c$ = b.pyv_billable_url; + c$ && qva(c$) && (a.Ej = c$); var d$ = b.pyv_conv_url; d$ && qva(d$) && (a.xW = d$); XKa(a, b); a.startSeconds > 0 || (a.startSeconds = As(a.startSeconds, a.WC || a.aE || b.start || b.startSeconds), a.Ob = a.startSeconds); if (!(a.liveUtcStartSeconds && a.liveUtcStartSeconds > 0)) { var NGa = b.live_utc_start; if (NGa != null) a.liveUtcStartSeconds = Number(NGa); else { var e$ = a.startSeconds; e$ && isFinite(e$) && e$ > 1E9 && (a.liveUtcStartSeconds = a.startSeconds) } } if (!(a.liveUtcStartSeconds && a.liveUtcStartSeconds > 0)) { + var OGa = b.utc_start_millis; OGa && (a.liveUtcStartSeconds = + Number(OGa) * .001) + } var PGa = b.stream_time_start_millis; PGa && (a.ge = Number(PGa) * .001); var QGa = a.aE || b.start; QGa == void 0 || b.resume == "1" || a.isLivePlayback || (a.clipStart = As(a.clipStart, QGa)); var RGa = b.url_encoded_third_party_media; RGa && (a.nm = yr(RGa)); var f$ = b.ypc_offer_button_formatted_text; if (f$) { var SGa = JSON.parse(f$); a.bO = SGa != null ? SGa : null; a.U0 = f$ } var TGa = b.ypc_offer_button_text; TGa && (a.iz = TGa); var UGa = b.ypc_offer_description; UGa && (a.Wq = UGa); var VGa = b.ypc_offer_headline; VGa && (a.jz = VGa); var WGa = b.ypc_full_video_message; + WGa && (a.yq = WGa); var XGa = b.ypc_offer_id; XGa && (a.qm = XGa); var YGa = b.ypc_buy_url; YGa && (a.OC = YGa); var ZGa = b.ypc_item_thumbnail; ZGa && (a.PC = ZGa); var $Ga = b.ypc_item_title; $Ga && (a.Fq = $Ga); var aHa = b.ypc_item_url; aHa && (a.QC = aHa); var bHa = b.ypc_vid; bHa && (a.Lv = bHa); b.ypc_overlay_timeout && (a.Zq = Number(b.ypc_overlay_timeout)); var cHa = b.ypc_trailer_player_vars; cHa && (a.tm = xr(cHa)); var dHa = b.ypc_original_itct; dHa && (a.C4 = dHa); a.Wl = Bs(a.Wl, b.ucid); b.baseUrl && (a.N.baseUrl = b.baseUrl); b.uid && (a.N.uid = b.uid); b.oeid && (a.N.oeid = + b.oeid); b.ieid && (a.N.ieid = b.ieid); b.ppe && (a.N.ppe = b.ppe); b.engaged && (a.N.engaged = b.engaged); b.subscribed && (a.N.subscribed = b.subscribed); a.N.focEnabled = ys(a.N.focEnabled, b.focEnabled); a.N.rmktEnabled = ys(a.N.rmktEnabled, b.rmktEnabled); a.nB = b.storyboard_spec || null; a.zw = b.live_storyboard_spec || null; a.OU = b.iv_endscreen_url || null; a.rG = ys(a.rG, b.iv3_module); a.Tq = ys(a.Tq, b.ypc_license_checker_module); a.Nj = ys(a.Nj, b.ypc_module); a.Fi = ys(a.Fi, b.ypc_clickwrap_module); a.Nj && a.Ga.push("ypc"); a.Fi && a.Ga.push("ypc_clickwrap"); + a.nW = { video_id: b.video_id, eventid: b.eventid, cbrand: b.cbrand, cbr: b.cbr, cbrver: b.cbrver, c: b.c, cver: b.cver, ctheme: b.ctheme, cplayer: b.cplayer, cmodel: b.cmodel, cnetwork: b.cnetwork, cos: b.cos, cosver: b.cosver, cplatform: b.cplatform, user_age: b.user_age, user_display_image: b.user_display_image, user_display_name: b.user_display_name, user_gender: b.user_gender, csi_page_type: b.csi_page_type, csi_service_name: b.csi_service_name, enablecsi: b.enablecsi, enabled_engage_types: b.enabled_engage_types }; SKa(a, b); var eHa = b.cotn; + eHa && (a.cotn = eHa); if (eLa(a)) cQ(a) && (a.isLivePlayback && a.Wc && (a.zj = !0), a.fb && (a.wp = !0)); else if (fLa(a)) a.zj = !0; else { + var hHa, iHa, jHa = ((hHa = a.playerResponse) == null ? void 0 : (iHa = hHa.streamingData) == null ? void 0 : iHa.adaptiveFormats) || []; if (jHa.length > 0) var cH = gLa(a, jHa); else { + var lHa = a.adaptiveFormats; if (lHa && !cQ(a)) { + dQ(a, "html5_enable_cobalt_experimental_vp9_decoder") && (LN = !0); var Kz = eQ(lHa), g$$ = a.me, mHa = a.lengthSeconds, Neb = a.isLivePlayback, dH = a.Wd, Lz = a.Da, Oeb = kIa(Kz); if (Neb || dH) { + var Nj = new xN("", Lz == null ? + void 0 : Lz.experiments, !0); Nj.Vb = !0; Nj.isManifestless = !0; Nj.B = !dH; Nj.isLive = !dH; Nj.Wd = dH; for (var nHa = g.w(Kz), h$ = nHa.next(); !h$.done; h$ = nHa.next()) { + var Mz = h$.value, oHa = BN(Mz, g$$), Ru = CN(Mz.url, Mz.sp, Mz.s), pHa = Ru.get("id"); pHa && pHa.includes("%7E") && (Nj.qa = !0); var Peb = Number(Mz.target_duration_sec) || 5, Qeb = Number(Mz.max_dvr_duration_sec) || 14400, qHa = Number(Ru.get("mindsq") || Ru.get("min_sq") || "0"), rHa = Number(Ru.get("maxdsq") || Ru.get("max_sq") || "0") || Infinity; Nj.df = Nj.df || qHa; Nj.xi = Nj.xi || rHa; var Reb = !hF(oHa.mimeType); + Ru && uN(Nj, new gN(Ru, oHa, { Uj: Peb, In: Reb, Br: Qeb, df: qHa, xi: rHa, kB: 300, Wd: dH })) + } var sHa = Nj + } else { + if (Oeb === "FORMAT_STREAM_TYPE_OTF") { + var cS = mHa; cS = cS === void 0 ? 0 : cS; var Nz = new xN("", Lz == null ? void 0 : Lz.experiments, !1); Nz.duration = cS || 0; for (var tHa = g.w(Kz), i$ = tHa.next(); !i$.done; i$ = tHa.next()) { var Oz = i$.value, j$ = BN(Oz, g$$, Nz.duration), k$ = CN(Oz.url, Oz.sp, Oz.s); if (k$) if (j$.streamType === "FORMAT_STREAM_TYPE_OTF") uN(Nz, new hN(k$, j$, "sq/0")); else { var Seb = MM(Oz.init), Teb = MM(Oz.index); uN(Nz, new rN(k$, j$, Seb, Teb)) } } Nz.isOtf = + !0; var uHa = Nz + } else { var dS = mHa; dS = dS === void 0 ? 0 : dS; var eS = new xN("", Lz == null ? void 0 : Lz.experiments, !1); eS.duration = dS || 0; for (var vHa = g.w(Kz), l$ = vHa.next(); !l$.done; l$ = vHa.next()) { var Pz = l$.value, Ueb = BN(Pz, g$$, eS.duration), Veb = MM(Pz.init), Web = MM(Pz.index), wHa = CN(Pz.url, Pz.sp, Pz.s); wHa && uN(eS, new rN(wHa, Ueb, Veb, Web)) } uHa = eS } sHa = uHa + } var m$ = sHa; if (Kz.length > 0) { var xHa = Kz[0]; if (a.U().playerStyle === "hangouts-meet" && xHa.url) { var Xeb = g.zr(xHa.url); a.iq = a.iq || Number(Xeb.expire) } } var Yeb = a.isLivePlayback && !a.Wd && + !a.Ka && !a.isPremiere; a.L("html5_live_head_playable") && (!fQ(a) && Yeb && a.oa("missingLiveHeadPlayable", {}), a.Da.qa === "yt" && (m$.fb = !0)); m$.Xa = gQ(a); cH = m$ + } else cH = null; a.oa("pafmts", { isManifestFilled: !!cH }) + } if (cH) { hQ(a, cH); var yHa = !0 } else yHa = !1; yHa ? a.enableServerStitchedDai = a.enableServerStitchedDai && iQ(a) : !a.Wc || a.Da.qa === "yt" && a.Vb() && a.L("drm_manifestless_unplugged") && a.L("html5_deprecate_manifestful_fallback") || (a.zj = !0) + } var o$ = b.adpings; o$ && (a.Rv = o$ ? xr(o$) : null); var zHa = b.feature; zHa && (a.Cp = zHa); + var AHa = b.referrer; AHa && (a.referrer = AHa); a.clientScreenNonce = Bs(a.clientScreenNonce, b.csn); a.tH = As(a.tH, b.root_ve_type); a.xp = As(a.xp, b.kids_age_up_mode); b.kids_app_info != void 0 && (a.kidsAppInfo = b.kids_app_info); a.JB = ys(a.JB, b.upg_content_filter_mode); a.unpluggedFilterModeType = As(a.unpluggedFilterModeType, b.unplugged_filter_mode_type); var BHa = b.unplugged_location_info; BHa && (a.qa = BHa); var CHa = b.unplugged_partner_opt_out; CHa && (a.aD = Bs("", CHa)); a.ow = ys(a.ow, b.disable_watch_next); a.En = Bs(a.En, b.internal_ip_override); + a.SF = !!b.is_yto_interstitial; (a.interstitials.length || a.SF) && a.Ga.push("yto"); var DHa = b.Um; DHa && (a.Um = DHa); b.GM && (a.GM = b.GM); var EHa; a.Ya = (EHa = b.csi_timer) != null ? EHa : ""; a.Dn = !!b.force_gvi; b.watchUrl && (a.watchUrl = b.watchUrl); var Su = b.watch_endpoint; a.L("html5_attach_watch_endpoint_ustreamer_config") && Su && fKa(a, Su); if (Su == null ? 0 : Su.ustreamerConfig) a.mp = rO(Su.ustreamerConfig); var FHa, GHa, HHa = Su == null ? void 0 : (FHa = Su.loggingContext) == null ? void 0 : (GHa = FHa.qoeLoggingContext) == null ? void 0 : GHa.serializedContextData; + HHa && (a.A4 = HHa); g.IO(a.Da) && a.Da.Yl && (a.embedsRct = Bs(a.embedsRct, b.rct), a.embedsRctn = Bs(a.embedsRctn, b.rctn)); a.Xl = a.Xl || !!b.pause_at_start; b.default_active_source_video_id && (a.defaultActiveSourceVideoId = b.default_active_source_video_id) + }; + VKa = function (a, b, c) { var d, e = (d = b.cpnInfo) == null ? void 0 : d.cpn; a.playerResponseCpn = e != null ? e : ""; g.jQ(a) && !e && a.Fy("ssei", "eim_" + a.clientPlaybackNonce); var f; return ((f = b.cacheMetadata) == null ? 0 : f.isCacheHit) || a.Hp || !e ? "" : (kQ.has(e) ? c = "" : (b = hLa.push(e), kQ.add(e), b > (c != null ? c : 50) && (c = hLa.shift()) && kQ.delete(c), c = e), e !== c && a.Fy("ssei", "dcpn_" + e + "_" + c + "_" + a.clientPlaybackNonce), c) }; + ZP = function (a, b) { + var c = b.raw_watch_next_response; if (!c) { var d = b.watch_next_response; d && (c = JSON.parse(d)) } if (c) { + a.Wa = c; var e = a.Wa.playerCueRangeSet; e && g.aQ(a, e); var f = a.Wa.playerOverlays; if (f) { + var h = f.playerOverlayRenderer; if (h) { + var l = h.autonavToggle; l && (a.autoplaySwitchButtonRenderer = g.R(l, iLa), a.L("web_player_autonav_use_server_provided_state") && lQ(a) && (a.autonavState = a.autoplaySwitchButtonRenderer.enabled ? 2 : 1)); var m = h.videoDetails; if (m) { + var n = m.embeddedPlayerOverlayVideoDetailsRenderer; var p = m.playerOverlayVideoDetailsRenderer; + p && (p.title && (b.title = g.Qx(p.title)), p.subtitle && (b.subtitle = g.Qx(p.subtitle))) + } g.OO(a.Da) && (a.Ie = !!h.addToMenu); jLa(a, h.shareButton); a.L("progress_bar_start_end_null_check_killswitch") ? (a.progressBarStartPosition = h.startPosition, a.progressBarEndPosition = h.endPosition) : h.startPosition && h.endPosition && (a.progressBarStartPosition = h.startPosition, a.progressBarEndPosition = h.endPosition); var q = h.gatedActionsOverlayRenderer; q && (a.Gda = g.R(q, kLa)); var r, t, u, y = g.R((r = a.getWatchNextResponse()) == null ? void 0 : + (t = r.playerOverlays) == null ? void 0 : (u = t.playerOverlayRenderer) == null ? void 0 : u.infoPanel, lLa); if (y) { a.ZD = Number(y == null ? void 0 : y.durationMs) || NaN; if (y == null ? 0 : y.infoPanelOverviewViewModel) a.Pf = y == null ? void 0 : y.infoPanelOverviewViewModel; if (y == null ? 0 : y.infoPanelDetailsViewModel) a.Zj = y == null ? void 0 : y.infoPanelDetailsViewModel } a.showSeekingControls = !!h.showSeekingControls + } + } var A, D, F = (A = a.getWatchNextResponse()) == null ? void 0 : (D = A.contents) == null ? void 0 : D.twoColumnWatchNextResults; if (F) { + var H = F.desktopOverlay && + g.R(F.desktopOverlay, mLa); H && (H.suppressShareButton && (a.showShareButton = !1), H.suppressWatchLaterButton && (a.Ie = !1)) + } n && nLa(a, b, n); var M = As(0, b.autoplay_count), N = a.getWatchNextResponse(), Q, Z = (Q = N.contents) == null ? void 0 : Q.twoColumnWatchNextResults, fa, pa, Y, S = (fa = N.playerOverlays) == null ? void 0 : (pa = fa.playerOverlayRenderer) == null ? void 0 : (Y = pa.autoplay) == null ? void 0 : Y.playerOverlayAutoplayRenderer, W = vKa(a), v, V = (v = N.contents) == null ? void 0 : v.singleColumnWatchNextResults; if (V) { + var cb; if (((cb = V.autoplay) == null ? + 0 : cb.autoplay) && !V.playlist) { + var zb = V.autoplay.autoplay.sets, Ra = {}, db = new g.DP(a.U()), ab = null, ob; if (zb) { for (var Wa = g.w(zb), B = Wa.next(); !B.done; B = Wa.next()) { var C = B.value.autoplayVideoRenderer; if (C && C.compactVideoRenderer) { ab = C.compactVideoRenderer; break } } if (ob = zb[0].autoplayVideo) { var E = ob.clickTrackingParams; E && (Ra.itct = E); Ra.autonav = "1"; Ra.playnext = String(M) } } else Ra.feature = "related-auto"; var I = g.R(ob, g.mQ); if (ab) { + db.videoId = ab.videoId; var L = ab.shortBylineText; L && (db.author = g.Qx(L)); var X = ab.title; + X && (db.title = g.Qx(X)) + } else I != null && I.videoId && (db.videoId = I.videoId); db.OE = Ra; a.suggestions = []; a.Uv = db + } + } if (W) { + for (var ha = [], ca = g.w(W), K = ca.next(); !K.done; K = ca.next()) { + var la = K.value, qa = void 0, ia = null; if (la.endScreenVideoRenderer) { + var Ga = la.endScreenVideoRenderer, kb = Ga.title; ia = new g.DP(a.U()); ia.videoId = Ga.videoId; ia.lengthSeconds = Ga.lengthInSeconds || 0; var Ob = Ga.publishedTimeText; Ob && (ia.publishedTimeText = g.Qx(Ob)); var nc = Ga.shortBylineText; nc && (ia.author = g.Qx(nc)); var Oa = Ga.shortViewCountText; Oa && + (ia.shortViewCount = g.Qx(Oa)); if (kb) { ia.title = g.Qx(kb); var Dc = kb.accessibility; if (Dc) { var md = Dc.accessibilityData; md && md.label && (ia.ariaLabel = md.label) } } var nd = Ga.navigationEndpoint; if (nd) { qa = nd.clickTrackingParams; var ie = g.R(nd, g.mQ), Bd = g.R(nd, g.ky); ie ? ia.PE = ie : Bd != null && (ia.watchUrl = Bd.url) } var ye = Ga.thumbnailOverlays; if (ye) for (var uc = g.w(ye), ze = uc.next(); !ze.done; ze = uc.next()) { + var Rf = ze.value.thumbnailOverlayTimeStatusRenderer; if (Rf) if (Rf.style === "LIVE") { ia.isLivePlayback = !0; break } else if (Rf.style === + "UPCOMING") { ia.isUpcoming = !0; break } + } ia.Z = xP(Ga.thumbnail) + } else if (la.endScreenPlaylistRenderer) { var Qe = la.endScreenPlaylistRenderer, uf = Qe.navigationEndpoint; if (!uf) continue; var Qc = g.R(uf, g.mQ); if (!Qc) continue; var Og = Qc.videoId; ia = new g.CP(a.U()); ia.playlistId = Qe.playlistId; ia.playlistLength = Number(Qe.videoCount) || 0; ia.j = Og || null; ia.videoId = Og; var Vh = Qe.title; Vh && (ia.title = g.Qx(Vh)); var uh = Qe.shortBylineText; uh && (ia.author = g.Qx(uh)); qa = uf.clickTrackingParams; ia.Z = xP(Qe.thumbnail) } ia && (qa && (ia.sessionData = + { itct: qa }), ha.push(ia)) + } a.suggestions = ha + } if (S) { + a.oW = !!S.preferImmediateRedirect; a.Sf = a.Sf || !!S.webShowNewAutonavCountdown; a.gm = a.gm || !!S.webShowBigThumbnailEndscreen; if (a.Sf || a.gm) { + var Pg = Z || null, Lc = new g.DP(a.U()); Lc.videoId = S.videoId; var Sf = S.videoTitle; if (Sf) { Lc.title = g.Qx(Sf); var Rb = Sf.accessibility; if (Rb) { var Fi = Rb.accessibilityData; Fi && Fi.label && (Lc.ariaLabel = Fi.label) } } var yk = S.byline; yk && (Lc.author = g.Qx(yk)); var hc = S.publishedTimeText; hc && (Lc.publishedTimeText = g.Qx(hc)); var Pn = S.shortViewCountText; + Pn && (Lc.shortViewCount = g.Qx(Pn)); var Qn = S.thumbnailOverlays; if (Qn) for (var am = g.w(Qn), Rn = am.next(); !Rn.done; Rn = am.next()) { var Gi = Rn.value.thumbnailOverlayTimeStatusRenderer; if (Gi) if (Gi.style === "LIVE") { Lc.isLivePlayback = !0; break } else if (Gi.style === "UPCOMING") { Lc.isUpcoming = !0; break } else if (Gi.style === "DEFAULT" && Gi.text) { Lc.lengthText = g.Qx(Gi.text); var kg = Gi.text.accessibility; if (kg) { var bm = kg.accessibilityData; bm && bm.label && (Lc.Mx = bm.label || "") } break } } Lc.Z = xP(S.background); var zk = S.nextButton; if (zk) { + var vh = + zk.buttonRenderer; if (vh) { var Sn = vh.navigationEndpoint; if (Sn) { var Tn = g.R(Sn, g.mQ); Tn && (Lc.PE = Tn) } } + } if (S.topBadges) { var Un = S.topBadges[0]; if (Un) { var Qg = g.R(Un, oLa); Qg && Qg.style === "BADGE_STYLE_TYPE_PREMIUM" && (Lc.GM = !0) } } var Ak = S.alternativeTitle; Ak && (Lc.Ct = g.Qx(Ak)); var Bk = { autonav: "1", playnext: String(M) }; Lc.playlistId && (Bk.autoplay = "1"); if (Pg) { + var mq, nq, oq, Vn, pq = (mq = Pg.autoplay) == null ? void 0 : (nq = mq.autoplay) == null ? void 0 : (oq = nq.sets) == null ? void 0 : (Vn = oq[0]) == null ? void 0 : Vn.autoplayVideo; if (pq) { + var jt = + pq.clickTrackingParams; jt && (Bk.itct = jt); var vf = g.R(pq, g.mQ); vf && (Lc.aX = vf) + } + } else if (S) { var Ck, qq, rq, Wn = (Ck = S.nextButton) == null ? void 0 : (qq = Ck.buttonRenderer) == null ? void 0 : (rq = qq.navigationEndpoint) == null ? void 0 : rq.clickTrackingParams; Wn && (Bk.itct = Wn) } Bk.itct || (Bk.feature = "related-auto"); Lc.OE = Bk; a.suggestions || (a.suggestions = []); a.Uv = Lc + } S.countDownSecs != null && (a.kZ = S.countDownSecs * 1E3); S.countDownSecsForFullscreen != null && (a.DD = S.countDownSecsForFullscreen >= 0 ? S.countDownSecsForFullscreen * 1E3 : -1); if (a.L("web_player_autonav_next_button_renderer")) { + var Hi; + a.xfa = (Hi = S.nextButton) == null ? void 0 : Hi.buttonRenderer + } var by; a.wfa = (by = S.cancelButton) == null ? void 0 : by.buttonRenderer; a.L("web_autonav_color_transition") && S.watchToWatchTransitionRenderer && (a.watchToWatchTransitionRenderer = g.R(S.watchToWatchTransitionRenderer, pLa)) + } var Az = vKa(a); if (Az) { var OG, PG, QG, RG = Az == null ? void 0 : (OG = Az[0]) == null ? void 0 : (PG = OG.endScreenVideoRenderer) == null ? void 0 : (QG = PG.navigationEndpoint) == null ? void 0 : QG.clickTrackingParams, JR = g.nQ(a); RG && JR && (JR.sessionData = { itct: RG }) } a.Wa.currentVideoThumbnail && + (a.Z = xP(a.Wa.currentVideoThumbnail)); var SG, Bz, TG, UG, Qo, ne = (SG = a.Wa) == null ? void 0 : (Bz = SG.contents) == null ? void 0 : (TG = Bz.twoColumnWatchNextResults) == null ? void 0 : (UG = TG.results) == null ? void 0 : (Qo = UG.results) == null ? void 0 : Qo.contents; if (ne && ne[1]) { var Ro, Cz, Dz, Ez, lr = (Ro = ne[1].videoSecondaryInfoRenderer) == null ? void 0 : (Cz = Ro.owner) == null ? void 0 : (Dz = Cz.videoOwnerRenderer) == null ? void 0 : (Ez = Dz.thumbnail) == null ? void 0 : Ez.thumbnails; lr && lr.length && (a.profilePicture = lr[lr.length - 1].url) } var KR = Ds(b), vm, VG = (vm = + a.getWatchNextResponse()) == null ? void 0 : vm.onResponseReceivedEndpoints; if (VG) for (var WG = g.w(VG), Fz = WG.next(); !Fz.done; Fz = WG.next()) { var Vk = Fz.value; g.R(Vk, oQ) && (a.PU = g.R(Vk, oQ)); var Mu = g.R(Vk, qLa), XG = void 0; if ((XG = Mu) == null ? 0 : XG.entityKeys) a.Aw = Mu.entityKeys || [], Mu.visibleOnLoadKeys && (a.visibleOnLoadKeys = Mu.visibleOnLoadKeys) } if (a.L("web_key_moments_markers")) { + var LR = g.pQ.getState().entities, Nu = g.EK("visibility_override", "markersVisibilityOverrideEntity"); var mr = GK(LR, "markersVisibilityOverrideEntity", + Nu); a.jf = (mr == null ? void 0 : mr.videoId) === (a.videoId || KR) && (mr == null ? 0 : mr.visibilityOverrideMarkersKey) ? mr.visibilityOverrideMarkersKey : a.visibleOnLoadKeys; a.visibleOnLoadKeys = [].concat(g.x(a.jf)) + } + } + }; + lQ = function (a) { var b; return ((b = a.autoplaySwitchButtonRenderer) == null ? void 0 : b.enabled) !== void 0 }; + qQ = function (a) { return !!(a.C && a.C.videoInfos && a.C.videoInfos.length) }; + uQ = function (a) { + var b = a.Y; a.L("html5_gapless_unlimit_format_selection") && rQ(a) && (b = !1); var c = !!a.j && a.j.Vb, d = a.Da, e = a.TQ(), f = sQ(a), h = a.aO, l = b, m = a.isOtf(); b = a.RI(); var n = a.yb, p = a.Uf, q = tQ(a), r = new IIa(d); if (d.Ac() || d.L("html5_logging_format_selection")) r.B = !0; r.Wa = f; r.Ma = h && d.N; r.Uf = p; g.is("windows nt 5.1") && !g.YN && (r.So = !0); if (f = e) f = g.fP(d) ? GJa(d) : !1; f && (r.Ba = !0); l && (r.So = !0, r.wc = !0); m && !d.L("html5_otf_prefer_vp9") && (r.So = !0); d.playerStyle === "picasaweb" && (m && (r.So = !1), r.Fa = !1); n && (r.So = !0); GL(d.G, HL.CHANNELS) && + (d.L("html5_enable_aac51") && (r.ra = !0), d.L("html5_enable_ac3") && (r.D = !0), d.L("html5_enable_eac3") && (r.G = !0), d.L("html5_enable_ac3_gapless") && (r.Ka = !0)); d.L("html5_block_8k_hfr") && (r.Xa = !0); r.K = g.AC(d.experiments, "html5_max_selectable_quality_ordinal"); r.N = g.AC(d.experiments, "html5_min_selectable_quality_ordinal"); lO && (r.Tb = 480); if (c || e) r.Fa = !1; r.fb = !1; r.disableAv1 = q; c = PN(d, r.j, void 0, r.disableAv1); c > 0 && c < 2160 && (vF() || d.L("html5_format_hybridization")) && (r.j.supportsChangeType = +vF(), r.wj = c); c >= 2160 && + (r.Ga = !0); cCa() && (r.j.serveVp9OverAv1IfHigherRes = 0, r.yc = !1); r.RI = b; r.Va = g.tu || ws() && !b ? !1 : !0; r.Y = d.L("html5_format_hybridization"); r.Jb = d.L("html5_disable_encrypted_vp9_live_non_2k_4k"); ls() && a.playerResponse && a.playerResponse.playerConfig && a.playerResponse.playerConfig.webPlayerConfig && a.playerResponse.playerConfig.webPlayerConfig.useCobaltTvosDogfoodFeatures && (r.D = !0, r.G = !0); a.Y && a.isAd() && (a.Pv && (r.qa = a.Pv), a.Ov && (r.C = a.Ov)); r.Ra = a.isLivePlayback && a.dj() && a.Da.L("html5_drm_live_audio_51"); r.yb = + a.PD; return a.kf = r + }; + tQ = function (a) { return a.Da.L("html5_disable_av1") || a.L("html5_gapless_shorts_disable_av1") && rQ(a) ? !0 : !1 }; + rLa = function (a) { + pA("drm_pb_s", void 0, a.Ya); a.fb || a.j && BL(a.j); var b = {}; a.j && (b = kDa(a.nw, uQ(a), a.Da.G, a.j, function (c) { return a.publish("ctmp", "fmtflt", c) }, !0, new Set)); + b = new dO(b, a.Da, a.TX, a.useCobaltWidevine ? ls() ? vQ(a) : !1 : !1, function (c, d) { a.oa(c, d) }); + g.P(a, b); a.wp = !1; a.loading = !0; SIa(b, function (c) { pA("drm_pb_f", void 0, a.Ya); for (var d = g.w(c), e = d.next(); !e.done; e = d.next())switch (e = e.value, e.flavor) { case "fairplay": e.fb = a.fb; e.ww = a.ww; e.uw = a.uw; break; case "widevine": e.pm = a.pm }a.Ap = c; if (a.Ap.length > 0 && (a.G = a.Ap[0], a.Da.Ac())) { c = {}; d = g.w(Object.entries(a.G.j)); for (e = d.next(); !e.done; e = d.next()) { var f = g.w(e.value); e = f.next().value; f = f.next().value; var h = "unk"; (e = e.match(/(.*)codecs="(.*)"/)) && (h = e[2]); c[h] = f } a.oa("drmProbe", c) } YP(a) }) + }; + gLa = function (a, b) { + if (b.length === 0 || cQ(a)) return null; dQ(a, "html5_enable_cobalt_experimental_vp9_decoder") && (LN = !0); var c = a.me; var d = a.lengthSeconds, e = a.isLivePlayback, f = a.Wd, h = a.Da, l = lIa(b); if (e || f) { + h = new xN("", h.experiments, !0); h.B = !f; h.Vb = !0; h.isManifestless = !0; h.isLive = !f; h.Wd = f; b = g.w(b); for (d = b.next(); !d.done; d = b.next()) { + var m = d.value; d = AN(m, c); e = OL(m); e = CN(e.rE || m.url || "", e.PH, e.s); (l = e.get("id")) && l.includes("%7E") && (h.qa = !0); l = Number(m.targetDurationSec || 5); m = Number(m.maxDvrDurationSec || 14400); + var n = Number(e.get("mindsq") || e.get("min_sq") || "0"), p = Number(e.get("maxdsq") || e.get("max_sq") || "0") || Infinity; h.df = h.df || n; h.xi = h.xi || p; var q = !hF(d.mimeType); e && uN(h, new gN(e, d, { Uj: l, In: q, Br: m, df: n, xi: p, kB: 300, Wd: f })) + } c = h + } else if (l === "FORMAT_STREAM_TYPE_OTF") { + d = d === void 0 ? 0 : d; f = new xN("", h.experiments, !1); f.duration = d || 0; h = g.w(b); for (b = h.next(); !b.done; b = h.next())b = b.value, d = AN(b, c, f.duration), e = OL(b), (e = CN(e.rE || b.url || "", e.PH, e.s)) && (d.streamType === "FORMAT_STREAM_TYPE_OTF" ? uN(f, new hN(e, d, "sq/0")) : + uN(f, new rN(e, d, OM(b.initRange), OM(b.indexRange)))); f.isOtf = !0; c = f + } else { d = d === void 0 ? 0 : d; f = new xN("", h.experiments, !1); f.duration = d || 0; h = g.w(b); for (b = h.next(); !b.done; b = h.next())l = b.value, b = AN(l, c, f.duration), d = OM(l.initRange), e = OM(l.indexRange), m = OL(l), (l = CN(m.rE || l.url || "", m.PH, m.s)) && uN(f, new rN(l, b, d, e)); c = f } f = a.isLivePlayback && !a.Wd && !a.Ka && !a.isPremiere; a.L("html5_live_head_playable") && (!fQ(a) && f && a.oa("missingLiveHeadPlayable", {}), a.Da.qa === "yt" && (c.fb = !0)); c.Xa = gQ(a); return c + }; + cQ = function (a) { return ls() ? !vQ(a) : os() ? !(!a.fb || !a.L("html5_enable_safari_fairplay")) : !1 }; + vQ = function (a) { return a.L("html5_tvos_skip_dash_audio_check") || MediaSource.isTypeSupported('audio/webm; codecs="opus"') }; + g.aQ = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next())if (c = c.value, c.cueRangeSetIdentifier) { var d = void 0; a.CD.set(c.cueRangeSetIdentifier, (d = c.playerCueRanges) != null ? d : []) } }; + iQ = function (a) { return !(!a.j || !a.j.isManifestless) }; + wQ = function (a) { return a.isLowLatencyLiveStream && a.j != void 0 && GN(a.j) >= 5 }; + eLa = function (a) { return ls() && vQ(a) ? !1 : cQ(a) && g.MC(a.Da) && !a.isLivePlayback || !mO() || a.ND ? !0 : !1 }; + tLa = function (a) { + a.loading = !0; a.zj = !1; if (fLa(a)) g.FKa(a.videoId).then(function (c) { sLa(a, c) }).then(function () { YP(a) }); + else { + mD(a.Wc) || g.fx(new g.pt("DASH MPD Origin invalid: ", a.Wc)); var b = a.Wc; b = g.Ti(b, { mpd_version: g.AC(a.Da.experiments, "dash_manifest_version") || 4 }); a.isLowLatencyLiveStream && a.latencyClass != "NORMAL" || (b = g.Ti(b, { pacing: 0 })); tIa(b, a.Da.experiments, a.isLivePlayback).then(function (c) { a.La() || (hQ(a, c, !0), pA("mrc", void 0, a.Ya), YP(a)) }, function (c) { + a.La() || (a.loading = !1, a.publish("dataloaderror", new FE("manifest.net.retryexhausted", { + backend: "manifest", + rc: c.status + }, 1))) + }); + pA("mrs", void 0, a.Ya) + } + }; + sLa = function (a, b) { + var c = b.map(function (m) { return m.itag }), d; + if ((d = a.playerResponse) != null && d.streamingData) { + d = []; for (var e = g.w(a.playerResponse.streamingData.adaptiveFormats), f = e.next(), h = {}; !f.done; h = { aj: void 0 }, f = e.next())if (h.aj = f.value, a.L("html5_fix_multi_audio_offline_playback")) { f = g.w(b); for (var l = f.next(); !l.done; l = f.next())l = l.value, l.itag === h.aj.itag && l.xtags === h.aj.xtags && (h.aj = Object.assign({}, h.aj), h.aj.url = b.find(function (m) { return function (n) { return n.itag === m.aj.itag } }(h)).url, h.aj.signatureCipher = "", d.push(h.aj)) } else c.includes(h.aj.itag) && + (h.aj = Object.assign({}, h.aj), h.aj.url = b.find(function (m) { return function (n) { return n.itag === m.aj.itag } }(h)).url, h.aj.signatureCipher = "", d.push(h.aj)); + b = gLa(a, d); sQ(a) && xIa(b, !1); hQ(a, b); a.oa("dlr", {}) + } else a.oa("offsdm", { cotn: a.rI ? a.rI.cotn : "0", cpn: a.clientPlaybackNonce }) + }; + xQ = function (a) { if (!a.isProximaLatencyEligible) return !1; var b = bL(), c; return ((c = a.Da.getWebPlayerContextConfig()) == null ? 0 : c.enableProximaLowLatency) && a.L("html5_wpcc_proxima") ? !0 : b != null ? b === 1 : a.L("html5_enable_proxima") }; + YP = function (a) { a.La() || (a.loading = !1, a.publish("dataloaded")) }; + hQ = function (a, b, c) { + c = c === void 0 ? !1 : c; a.j = b; g.P(a, b); b.df = a.df; b.xi = a.xi; b.Ra = a.Ra; b.Tb = a.Tb; b.Rc = a.Rc; a.Zl && (b.Y = new FM(a.Zl)); (a.TQ() || g.yQ(a)) && a.Ga.push("webgl"); a.j.isLive || (a.isLivePlayback = !1); var d = b.sourceUrl.split("/"); d.indexOf("manifest_duration") != -1 && (a.bk = Number(d[d.indexOf("manifest_duration") + 1])); b.B && (b.subscribe("clienttemp", a.oa, a), c ? b.subscribe("refresh", a.j0, a) : b.subscribe("cuepointsadded", a.sX, a)); BL(b) ? a.wp = !0 : fO = void 0; a.Ka && (b.C = a.Ka, b.isLive = !0, a.isLivePlayback = !0); b.isPremiere = + a.isPremiere; b.isLiveHeadPlayable = a.isLiveHeadPlayable + }; + vLa = function (a, b) { + var c = b || eLa(a) || a.isExternallyHostedPodcast; if (!a.j || c) return a.oa("skipDash", { dm: !!a.j, air: b, dd: a.ND, mss: mO(), "3pp": a.isExternallyHostedPodcast }), $r(); sQ(a) && xIa(a.j, a.isLivePlayback); dQ(a, "html5_enable_cobalt_experimental_vp9_decoder") && gJa(a.Da.G); return as().then(function () { + return mDa(a.nw, uQ(a), a.Da.G, a.j, a.G, function (d) { return a.publish("ctmp", "fmtflt", d) }, a.sI, gQ(a) && a.L("html5_enable_server_format_filter")).then(function (d) { + uLa(a, d); + a.nw.j = null; /^av/.test(a.clientPlaybackNonce) && a.kf && a.oa("av1", a.kf.j) + }) + }) + }; + wLa = function (a, b) { + if (b && a.hlsvp) return $r(); if (a.hlsFormats) { + b = eQ(a.hlsFormats); var c; if (((c = a.kf) == null ? 0 : c.B) && b) { c = []; for (var d = g.w(b), e = d.next(); !e.done; e = d.next())c.push(e.value.itag); a.oa("hlsfmt", { itags: c.join(".") }) } a.yw = UJa(a.Da, b); c = a.clientPlaybackNonce; var f, h, l, m; return ZJa(a.Da, a.isAd(), b, (m = (f = a.playerResponse) == null ? void 0 : (h = f.captions) == null ? void 0 : (l = h.playerCaptionsRenderer) == null ? void 0 : l.baseUrl) != null ? m : null, a.Zd, c, function (n) { return a.publish("ctmp", "hlsflt", n) }).then(function (n) { + for (var p = + 0, q = [], r = g.w(n), t = r.next(); !t.done; t = r.next()) { + t = t.value; + var u = void 0; q.push((u = t.getInfo()) == null ? void 0 : u.itag); var y = u = void 0; ((u = t.getInfo()) == null ? void 0 : (y = u.audio) == null ? void 0 : y.numChannels) > p && (p = t.getInfo().audio.numChannels) + } p > 2 && a.oa("hlschl", { mn: p }); var A; ((A = a.kf) == null ? 0 : A.B) && a.oa("hlsfmtaf", { itags: q.join(".") }); var D; if (a.L("html5_enable_vp9_fairplay") && ((D = a.G) == null ? 0 : WN(D))) for (a.oa("drm", { sbdlfbk: 1 }), p = g.w(a.Ap), q = p.next(); !q.done; q = p.next())if (q = q.value, VN(q)) { a.G = q; break } zQ(a, n) + }) + } return $r() + }; + xLa = function (a) { if (a.isExternallyHostedPodcast && a.Tf) { var b = eQ(a.Tf); if (!b[0]) return $r(); a.B4 = b[0]; return bKa(a.Da, b[0]).then(function (c) { zQ(a, c) }) } return a.nm && a.NU ? aKa(a.Da, a.isAd(), a.nm).then(function (c) { zQ(a, c) }) : $r() }; + zLa = function (a) { if (a.isExternallyHostedPodcast) return $r(); var b = eQ(a.Tf, a.XD); if (a.hlsvp) { var c = PKa(a.hlsvp, a.clientPlaybackNonce, a.Zd); b.push(c) } return $Ja(a.Da, a.isAd(), b, yLa(a)).then(function (d) { zQ(a, d) }) }; + uLa = function (a, b) { a.C = b; if (a.C) { b = g.w(a.C.videoInfos); for (var c = b.next(); !c.done; c = b.next()) { c = c.value; var d = c.containerType; d !== 0 && (a.JD[d] = c.id) } } AQ(a); if (a.G && a.C && a.C.videoInfos && !(a.C.videoInfos.length <= 0) && (b = cF(a.C.videoInfos[0]), b != (a.G.flavor == "fairplay"))) for (c = g.w(a.Ap), d = c.next(); !d.done; d = c.next())if (d = d.value, b == (d.flavor == "fairplay")) { a.G = d; break } }; + zQ = function (a, b) { a.Fd = b; uLa(a, new wL(g.Al(a.Fd, function (c) { return c.getInfo() }))) }; + yLa = function (a) { var b = { cpn: a.clientPlaybackNonce, c: a.Da.j.c, cver: a.Da.j.cver }; a.Bw && (b.ptk = a.Bw, b.oid = a.hW, b.ptchn = a.fW, b.pltype = a.iW, a.pw && (b.m = a.pw)); return b }; + g.BQ = function (a) { return cQ(a) && a.fb ? (a = {}, a.fairplay = "https://youtube.com/api/drm/fps?ek=uninitialized", a) : a.B && a.B.me || null }; + ALa = function (a) { var b = CQ(a); return b && b.text ? g.Qx(b.text) : a.paidContentOverlayText }; + BLa = function (a) { var b = CQ(a); return b && b.durationMs ? Wd(b.durationMs) : a.paidContentOverlayDurationMs }; + CQ = function (a) { var b, c, d; return a.playerResponse && a.playerResponse.paidContentOverlay && a.playerResponse.paidContentOverlay.paidContentOverlayRenderer || g.R((b = a.Wa) == null ? void 0 : (c = b.playerOverlays) == null ? void 0 : (d = c.playerOverlayRenderer) == null ? void 0 : d.playerDisclosure, CLa) || null }; + DQ = function (a) { var b = ""; if (a.dI) return a.dI; a.isLivePlayback && (b = a.allowLiveDvr ? "dvr" : a.isPremiere ? "lp" : a.Ka ? "window" : "live"); a.Wd && (b = "post"); return b }; + g.EQ = function (a, b) { return typeof a.keywords[b] !== "string" ? null : a.keywords[b] }; + DLa = function (a) { return !!a.Ej || !!a.YC || !!a.Xw || !!a.yA || a.o3 || a.N.focEnabled || a.N.rmktEnabled }; + g.FQ = function (a) { return !!(a.Wc || a.Tf || a.nm || a.hlsvp || a.sx()) }; + XP = function (a) { if (a.L("html5_onesie") && a.errorCode) return !1; var b = g.Mb(a.Ga, "ypc"); a.ypcPreview && (b = !1); return a.qe() && !a.loading && (g.FQ(a) || g.Mb(a.Ga, "heartbeat") || b) }; + eQ = function (a, b) { a = yr(a); var c = {}; if (b) { b = g.w(b.split(",")); for (var d = b.next(); !d.done; d = b.next())(d = d.value.match(/^([0-9]+)\/([0-9]+)x([0-9]+)(\/|$)/)) && (c[d[1]] = { width: d[2], height: d[3] }) } b = g.w(a); for (d = b.next(); !d.done; d = b.next()) { d = d.value; var e = c[d.itag]; e && (d.width = e.width, d.height = e.height) } return a }; + AQ = function (a) { + var b = a.getAvailableAudioTracks(); b = b.concat(a.bl); for (var c = 0; c < a.FD.length; c++)for (var d = a.FD[c], e = 0; e < b.length; e++) { + var f = b[e], h = f.dc.id == d.audioTrackId; if (f.dc.isDefault && c == a.e_ || h) { + if (d.captionTrackIndices) for (h = 0; h < d.captionTrackIndices.length; h++)f.captionTracks[h] = a.captionTracks[d.captionTrackIndices[h]]; d.defaultCaptionTrackIndex !== void 0 && (f.C = a.captionTracks[d.defaultCaptionTrackIndex]); d.forcedCaptionTrackIndex !== void 0 && (f.j = a.captionTracks[d.forcedCaptionTrackIndex]); + f.B = d.visibility || "UNKNOWN"; f.captionsInitialState = d.captionsInitialState || "CAPTIONS_INITIAL_STATE_UNKNOWN" + } + } + }; + jLa = function (a, b) { a.showShareButton = !!b; var c, d, e = ((c = g.R(b, g.nI)) == null ? void 0 : c.navigationEndpoint) || ((d = g.R(b, g.nI)) == null ? void 0 : d.command); e && (a.hq = !!g.R(e, ELa)) }; + RKa = function (a, b) { + var c = b.raw_embedded_player_response; if (!c) { var d = b.embedded_player_response; d && (c = JSON.parse(d)) } c && (a.Ii = c); if (a.Ii) { + a.embeddedPlayerConfig = a.Ii.embeddedPlayerConfig || null; if (c = a.Ii.videoFlags) c.playableInEmbed && (a.allowEmbed = !0), c.isPrivate && (a.isPrivate = !0), c.userDisplayName && (b.user_display_name = c.userDisplayName), c.userDisplayImage && (b.user_display_image = c.userDisplayImage); if (c = a.Ii.embedPreview) { + c = c.thumbnailPreviewRenderer; uKa(a, c.controlBgHtml); if (d = c.defaultThumbnail) a.Z = + xP(d); a.L("embeds_web_enable_search_button") && c.searchButton && (d = g.R(c.searchButton, g.nI)) && (a.w4 = g.R(d.navigationEndpoint, g.GQ)); (d = g.R(c == null ? void 0 : c.videoDetails, FLa)) && nLa(a, b, d); d = g.R(c == null ? void 0 : c.videoDetails, GLa); a.Ie = !!c.addToWatchLaterButton; jLa(a, c.shareButton); if (d == null ? 0 : d.musicVideoType) a.musicVideoType = d.musicVideoType; var e, f, h, l, m; if (d = g.R((e = a.getEmbeddedPlayerResponse()) == null ? void 0 : (f = e.embedPreview) == null ? void 0 : (h = f.thumbnailPreviewRenderer) == null ? void 0 : (l = h.playButton) == + null ? void 0 : (m = l.buttonRenderer) == null ? void 0 : m.navigationEndpoint, g.mQ)) fKa(a, d), a.videoId = d.videoId || a.videoId; c.videoDurationSeconds && (a.lengthSeconds = Wd(c.videoDurationSeconds)); c.webPlayerActionsPorting && tKa(a, c.webPlayerActionsPorting); if (e = g.R(c == null ? void 0 : c.playlist, HLa)) { + a.zn = !0; f = []; h = Number(e.currentIndex); if (e.contents) for (l = 0, m = e.contents.length; l < m; l++)if (c = e.contents[l].playlistPanelVideoRenderer) { + d = c.shortBylineText ? g.Qx(c.shortBylineText) : ""; var n = c.title ? g.Qx(c.title) : ""; f.push({ + author: d, + encrypted_id: c.videoId, title: n, channel_path: l === h ? b.channel_path : "", profile_picture: l === h ? b.profile_picture : "", is_private: l === h ? a.isPrivate : !0, is_dni: l === h ? a.Ff : !1, dni_color: l === h ? a.Rp : "" + }) + } b = { index: e.currentIndex, list: e.playlistId, playlist_length: e.totalVideos, video: f }; e.titleText && (b.title = g.Qx(e.titleText)); e.shortBylineText && (b.author = g.Qx(e.shortBylineText)); a.S_ = b + } var p, q, r; if (b = g.R((p = a.getEmbeddedPlayerResponse()) == null ? void 0 : (q = p.embedPreview) == null ? void 0 : (r = q.thumbnailPreviewRenderer) == + null ? void 0 : r.infoPanel, lLa)) { a.ZD = Number(b == null ? void 0 : b.durationMs) || NaN; if (b == null ? 0 : b.infoPanelOverviewViewModel) a.Pf = b == null ? void 0 : b.infoPanelOverviewViewModel; if (b == null ? 0 : b.infoPanelDetailsViewModel) a.Zj = b == null ? void 0 : b.infoPanelDetailsViewModel } + } if (a.Ii.previewPlayabilityStatus) { + if (a.Jw = a.Ii.previewPlayabilityStatus, p = a.Jw, !["OK", "LIVE_STREAM_OFFLINE"].includes(p.status)) { + a.errorCode = dKa(p.errorCode); q = p.errorScreen; if (r = q == null ? void 0 : q.playerErrorMessageRenderer) { + a.TD = r; if (b = r.reason) a.errorReason = + g.Qx(b); if (r = r.subreason) a.Qn = g.Qx(r) + } else a.errorReason = p.reason || null; switch (p.status) { case "LOGIN_REQUIRED": a.errorDetail = "1"; break; case "CONTENT_CHECK_REQUIRED": a.errorDetail = "2"; break; case "AGE_CHECK_REQUIRED": var t; (q == null ? 0 : (t = q.playerKavRenderer) == null ? 0 : t.kavUrl) ? a.errorDetail = "4" : a.errorDetail = "3"; break; default: a.errorDetail = p.isBlockedInRestrictedMode ? "5" : "0" } + } + } else a.Ii.playabilityStatus && (a.Cn = a.Ii.playabilityStatus, ILa(a) && (a.errorDetail = "0", a.Cn && ((t = a.Cn.embeddedPlayerErrorMessageRenderer) ? + a.TD = g.R(t, JLa) : a.errorReason = a.Cn.reason || null))); (t = a.Ii.attestation) && oKa(a, t); (t = a.Ii.permissions) && t.allowImaMonetization && (a.allowImaMonetization = !0) + } + }; + nLa = function (a, b, c) { + var d = c.channelThumbnail; d && (d = d.thumbnails) && (d = d[0]) && (b.profile_picture = d.url); var e; if (d = g.R((e = g.R(c == null ? void 0 : c.channelThumbnailEndpoint, KLa)) == null ? void 0 : e.urlEndpoint, g.ky)) b.channel_path = d.url; if (e = c.collapsedRenderer) if (e = g.R(e, LLa)) { if (d = e.title) b.title = g.Qx(d); if (e = e.subtitle) b.subtitle = g.Qx(e) } if (c = c.expandedRenderer) if (c = g.R(c, MLa)) { + if (e = c.title) b.expanded_title = g.Qx(e); if (e = c.subtitle) b.expanded_subtitle = g.Qx(e); if (c = c.subscribeButton) a.subscribeButtonRenderer = + g.R(c, g.HQ), a.subscribeButtonRenderer && (b.ucid = a.subscribeButtonRenderer.channelId, b.subscribed = a.subscribeButtonRenderer.subscribed, a.hm = !!a.subscribeButtonRenderer.notificationPreferenceToggleButton, a.subscribeButtonRenderer.notificationPreferenceToggleButton && a.subscribeButtonRenderer.notificationPreferenceToggleButton.toggleButtonRenderer && (b = a.subscribeButtonRenderer.notificationPreferenceToggleButton.toggleButtonRenderer, b.isToggled ? (a.OD = b.toggledServiceEndpoint || null, a.MD = b.defaultServiceEndpoint || + null) : (a.OD = b.defaultServiceEndpoint || null, a.MD = b.toggledServiceEndpoint || null))) + } + }; + g.IQ = function (a) { return fQ(a) && !a.allowLiveDvr }; + JQ = function (a) { return fQ(a) && a.allowLiveDvr }; + fQ = function (a) { return a.L("html5_live_head_playable") && iQ(a) && a.Da.qa === "yt" ? a.isLiveHeadPlayable : a.isLivePlayback }; + g.KQ = function (a) { return !!a.j && bIa(a.j) }; + g.LQ = function (a) { return !!a.j && cIa(a.j) }; + g.MQ = function (a) { return !!a.j && dIa(a.j) }; + g.yQ = function (a) { return !!a.j && eIa(a.j) }; + g.NLa = function (a) { if (a.GD) return null; var b = a.OU; b || (b = a.playerResponse && a.playerResponse.endscreen && a.playerResponse.endscreen.endscreenUrlRenderer && a.playerResponse.endscreen.endscreenUrlRenderer.url); return b || null }; + g.OLa = function (a) { return a.GD ? null : a.playerResponse && a.playerResponse.endscreen && a.playerResponse.endscreen.endscreenRenderer || null }; + g.NQ = function (a) { return a.L("enable_wn_infocards") }; + g.OQ = function (a) { var b, c, d, e; return (g.NQ(a) ? (b = a.Wa) == null ? void 0 : (c = b.cards) == null ? void 0 : c.cardCollectionRenderer : (d = a.playerResponse) == null ? void 0 : (e = d.cards) == null ? void 0 : e.cardCollectionRenderer) || null }; + g.PQ = function (a) { if (!a.playerResponse || !a.playerResponse.annotations) return null; a = g.w(a.playerResponse.annotations); for (var b = a.next(); !b.done; b = a.next())if (b = b.value, b.playerAnnotationsExpandedRenderer && b.playerAnnotationsExpandedRenderer.featuredChannel) return b.playerAnnotationsExpandedRenderer; return null }; + QQ = function (a) { return a.adFormat && a.adFormat != "1_5" ? "adunit" : a.eventLabel || a.Da.Ma }; + g.RQ = function (a) { return QQ(a) === "shortspage" }; + rQ = function (a) { return a.Bk() && a.U().supportsGaplessShorts() }; + SQ = function (a) { if (a.isAd() && a.videoId != a.Da.ze) return a.Da.ze }; + TQ = function (a) { return a.Pk || QQ(a) == "detailpage" || QQ(a) == "shortspage" || a.mutedAutoplay }; + UQ = function (a) { var b = (b = a.L("enable_cleanup_masthead_autoplay_hack_fix")) && QQ(a) == "adunit" ? a.Lq : TQ(a) ? QQ(a) == "detailpage" || QQ(a) == "shortspage" ? a.isAutonav || a.yc > 0 : b || a.adFormat !== "17_8" || a.isAutonav || g.dP(a.Da) || a.Lq ? a.Ig ? !1 : a.Da.Fi || a.Da.Ui || !g.IO(a.Da) ? !b && QQ(a) == "adunit" && a.Ej ? !1 : !0 : !1 : !1 : (a.Ig ? 0 : a.Ui) && g.IO(a.Da) ? !0 : !1; a.L("html5_log_detailpage_autoplay") && QQ(a) == "detailpage" && a.oa("autoplay_info", { autoplay: a.Pk, autonav: a.isAutonav, result: b }); return b }; + g.VQ = function (a) { return a.oauthToken || a.Da.Fj }; + PLa = function (a) { + if (a.L("html5_stateful_audio_normalization")) { + var b = 1, c = g.AC(a.Da.experiments, "html5_default_ad_gain"); c && a.isAd() && (b = c); var d; if (c = ((d = a.D) == null ? void 0 : d.audio.B) || a.n2) { + d = (0, g.Zt)(); a.yp = 2; var e = d - a.Da.fl <= a.maxStatefulTimeThresholdSec * 1E3; a.applyStatefulNormalization && e ? a.yp = 4 : e || (a.Da.bl = Infinity, a.Da.fl = NaN); e = (a.yp === 4 ? g.Dd(a.Da.bl, a.minimumLoudnessTargetLkfs, a.loudnessTargetLkfs) : a.loudnessTargetLkfs) - c; if (a.yp !== 4) { + var f, h, l, m, n = ((f = a.playerResponse) == null ? void 0 : (h = f.playerConfig) == + null ? void 0 : (l = h.audioConfig) == null ? void 0 : (m = l.loudnessNormalizationConfig) == null ? void 0 : m.statelessLoudnessAdjustmentGain) || 0; e += n + } e = Math.min(e, 0); a.preserveStatefulLoudnessTarget && (a.Da.bl = c + e, a.Da.fl = d); a = Math.min(1, Math.pow(10, e / 20)) || b + } else a = b + } else { f = 1; (h = g.AC(a.Da.experiments, "html5_default_ad_gain")) && a.isAd() && (f = h); if (h = ((b = a.D) == null ? void 0 : b.audio.C) || a.Hj) a.yp = 1; a = Math.min(1, Math.pow(10, -h / 20)) || f } return a + }; + sQ = function (a) { + var b = ["MUSIC_VIDEO_TYPE_ATV", "MUSIC_VIDEO_TYPE_PRIVATELY_OWNED_TRACK"], c = g.hO(a.Da) === "TVHTML5_SIMPLY" && a.Da.j.ctheme === "MUSIC"; a.Mj || !g.hz(a.Da) && !c || !b.includes(a.musicVideoType) && !a.isExternallyHostedPodcast || (a.Mj = !0); if (b = g.ks()) b = /Starboard\/([0-9]+)/.exec(g.wb()), b = (b ? parseInt(b[1], 10) : NaN) < 10; c = a.Da; c = (g.hO(c) === "TVHTML5_CAST" || g.hO(c) === "TVHTML5" && (c.j.cver.startsWith("6.20130725") || c.j.cver.startsWith("6.20130726"))) && a.Da.j.ctheme === "MUSIC"; var d; if (d = !a.Mj) c || (c = a.Da, c = + g.hO(c) === "TVHTML5" && c.j.cver.startsWith("7")), d = c; d && !b && (b = a.musicVideoType === "MUSIC_VIDEO_TYPE_PRIVATELY_OWNED_TRACK", c = (a.L("cast_prefer_audio_only_for_atv_and_uploads") || a.L("kabuki_pangea_prefer_audio_only_for_atv_and_uploads")) && a.musicVideoType === "MUSIC_VIDEO_TYPE_ATV", b || c || a.isExternallyHostedPodcast) && (a.Mj = !0); return a.Da.deviceIsAudioOnly || a.Mj && a.Da.N + }; + QLa = function (a) { return isNaN(a) ? 0 : Math.max((Date.now() - a) / 1E3 - 30, 0) }; + WQ = function (a) { return !(!a.Bn || !a.Da.N) && a.sx() }; + RLa = function (a) { return a.enablePreroll && a.enableServerStitchedDai }; + SLa = function (a) { return a.L("html5_enable_sabr_from_watch_server") && a.SD && !a.Zl }; + gQ = function (a) { + if (a.O2 || a.cotn || !a.j || a.j.isOtf || a.GU && !a.L("html5_enable_sabr_csdai")) return !1; if (a.L("html5_use_sabr_requests_for_debugging")) return !0; if (a.L("html5_enable_sabr_from_watch_server")) return a.SD && !!a.Zl; var b = !a.j.Vb && !a.dj(), c = b && iO && a.L("html5_enable_sabr_vod_streaming_xhr"); b = b && !iO && a.L("html5_enable_sabr_vod_non_streaming_xhr"); var d = XQ(a), e = a.L("html5_enable_sabr_drm_vod_streaming_xhr") && a.dj() && !a.j.Vb && iO && (a.fl === "1" ? !1 : !0); (c = c || b || d || e) && !a.Zl && a.oa("sabr", { loc: "m" }, !0); + return c && !!a.Zl + }; + XQ = function (a) { + var b; if (!(b = a.Vb() && a.dj() && iO && (a.fl === "1" ? !1 : !0) && a.L("html5_sabr_live_drm_streaming_xhr"))) { b = a.Vb() && !a.dj() && iO; var c = a.Vb() && a.latencyClass !== "ULTRALOW" && !a.isLowLatencyLiveStream && a.L("html5_sabr_live_normal_latency_streaming_xhr"), d = a.isLowLatencyLiveStream && a.L("html5_sabr_live_low_latency_streaming_xhr"), e = a.latencyClass === "ULTRALOW" && a.L("html5_sabr_live_ultra_low_latency_streaming_xhr"); b = b && (c || d || e) } c = b; b = a.enableServerStitchedDai && c && a.L("html5_enable_sabr_ssdai_streaming_xhr"); + c = !a.enableServerStitchedDai && c; a = a.Vb() && !iO && a.L("html5_enable_sabr_live_non_streaming_xhr"); return b || c || a + }; + g.jQ = function (a) { return a.Q1 && gQ(a) }; + fLa = function (a) { var b; if (b = !!a.cotn) b = a.videoId, b = !!b && g.IP(b) === 1; return b && !a.Bn }; + g.YQ = function (a) { if (!a.j || !a.B || !a.D) return !1; var b = a.j.j, c = !!b[a.B.id] && LL(b[a.B.id].resource.j); b = !!b[a.D.id] && LL(b[a.D.id].resource.j); return (a.B.itag === "0" || c) && b }; + ZQ = function (a) { return a.Jw ? ["OK", "LIVE_STREAM_OFFLINE"].includes(a.Jw.status) : !0 }; + ILa = function (a) { return (a = a.Cn) && a.showError ? a.showError : !1 }; + dQ = function (a, b) { return a.L(b) ? !0 : (a.fflags || "").includes(b + "=true") }; + ZKa = function (a) { return a.L("html5_heartbeat_iff_heartbeat_params_filled") }; + TLa = function (a) { return (a = /html5_log_experiment_id_from_player_response_to_ctmp=([0-9]+)/.exec(a.fflags)) ? a[1] : null }; + XKa = function (a, b) { b.inlineMetricEnabled && (a.inlineMetricEnabled = !0); b.playback_progress_0s_url && (a.yA = new xKa(b)); if (b = b.video_masthead_ad_quartile_urls) a.YC = b.quartile_0_url, a.qW = b.quartile_25_url, a.rW = b.quartile_50_url, a.sW = b.quartile_75_url, a.pW = b.quartile_100_url, a.Xw = b.quartile_0_urls, a.dD = b.quartile_25_urls, a.fD = b.quartile_50_urls, a.hD = b.quartile_75_urls, a.bD = b.quartile_100_urls }; + WKa = function (a) { var b = {}; a = g.w(a); for (var c = a.next(); !c.done; c = a.next()) { c = c.value; var d = c.split("="); d.length == 2 ? b[d[0]] = d[1] : b[c] = !0 } return b }; + TKa = function (a) { if (a) { if (uva(a)) return a; a = vva(a); if (uva(a, !0)) return a } return "" }; + g.ULa = function (a) { return a.captionsLanguagePreference || a.Da.captionsLanguagePreference || g.EQ(a, "yt:cc_default_lang") || a.Da.zj }; + $Q = function (a) { return !(!a.isLivePlayback || !a.hasProgressBarBoundaries()) }; + g.nQ = function (a) { var b; return a.Uv || ((b = a.suggestions) == null ? void 0 : b[0]) || null }; + VLa = function (a) { var b = { isSabr: gQ(a) }, c; if (a = (c = a.getHeartbeatResponse()) == null ? void 0 : c.adBreakHeartbeatParams) b.adBreakHeartbeatParams = a; return b }; + g.aR = function (a) { return a.Ff && a.Da.zp }; + g.bR = function (a) { var b, c; return !!((b = a.embeddedPlayerConfig) == null ? 0 : (c = b.embeddedPlayerFlags) == null ? 0 : c.enableMusicUx) }; + g.dR = function (a) { + var b = a.U(), c = g.cR(b), d = a.Ma; d && (c.clickTracking = { clickTrackingParams: d }); d = c.client || {}; var e = "EMBED", f = QQ(a); f === "leanback" ? e = "WATCH" : b.L("gvi_channel_client_screen") && f === "profilepage" ? e = "CHANNEL" : a.yb ? e = "LIVE_MONITOR" : f === "detailpage" ? e = "WATCH_FULL_SCREEN" : f === "adunit" ? e = "ADUNIT" : f === "sponsorshipsoffer" && (e = "UNKNOWN"); d.clientScreen = e; if (b = a.kidsAppInfo) d.kidsAppInfo = JSON.parse(b); (e = a.xp) && !b && (d.kidsAppInfo = { contentSettings: { ageUpMode: WLa[e] } }); if (b = a.JB) d.unpluggedAppInfo = + { enableFilterMode: !0 }; (e = a.unpluggedFilterModeType) && !b && (d.unpluggedAppInfo = { filterModeType: XLa[e] }); if (b = a.qa) d.unpluggedLocationInfo = b; c.client = d; d = c.request || {}; a.Ed && (d.isPrefetch = !0); if (b = a.mdxEnvironment) d.mdxEnvironment = b; if (b = a.mdxControlMode) d.mdxControlMode = YLa[b]; c.request = d; d = c.user || {}; if (b = a.ra) d.credentialTransferTokens = [{ token: b, scope: "VIDEO" }]; if (b = a.Jb) d.delegatePurchases = { oauthToken: b }, d.kidsParent = { oauthToken: b }; c.user = d; if (d = a.contextParams) c.activePlayers = [{ playerContextParams: d }]; + if (a = a.clientScreenNonce) c.clientScreenNonce = a; return c + }; + g.cR = function (a) { + var b = g.uz(), c = b.client || {}; if (a.forcedExperiments) { var d = a.forcedExperiments.split(","), e = []; d = g.w(d); for (var f = d.next(); !f.done; f = d.next())e.push(Number(f.value)); c.experimentIds = e } if (e = a.homeGroupInfo) c.homeGroupInfo = JSON.parse(e); if (e = a.getPlayerType()) c.playerType = e; if (e = a.j.ctheme) c.theme = e; if (e = a.livingRoomAppMode) c.tvAppInfo = Object.assign({}, c.tvAppInfo, { livingRoomAppMode: e }); e = a.deviceYear; a.L("html5_propagate_device_year") && e && (c.tvAppInfo = Object.assign({}, c.tvAppInfo, { deviceYear: e })); + if (e = a.livingRoomPoTokenId) c.tvAppInfo = Object.assign({}, c.tvAppInfo, { livingRoomPoTokenId: e }); b.client = c; c = b.user || {}; a.enableSafetyMode && (c = Object.assign({}, c, { enableSafetyMode: !0 })); a.pageId && (c = Object.assign({}, c, { onBehalfOfUser: a.pageId })); b.user = c; if (a = a.Rc) b.thirdParty = { embedUrl: a }; return b + }; + dMa = function (a, b, c) { + var d = a.videoId, e = g.dR(a), f = a.U(), h = { html5Preference: "HTML5_PREF_WANTS", lactMilliseconds: String(Wv()), referer: document.location.toString(), signatureTimestamp: 19935 }; g.it(); a.isAutonav && (h.autonav = !0); g.kt(0, 141) && (h.autonavState = g.kt(0, 140) ? "STATE_OFF" : "STATE_ON"); h.autoCaptionsDefaultOn = g.kt(0, 66); UQ(a) && (h.autoplay = !0); f.N && a.cycToken && (h.cycToken = a.cycToken); f.enablePrivacyFilter && (h.enablePrivacyFilter = !0); a.isFling && (h.fling = !0); var l = a.forceAdsUrl; if (l) { + var m = {}, n = []; l = l.split(","); + l = g.w(l); for (var p = l.next(); !p.done; p = l.next()) { + p = p.value; var q = p.split("|"); q.length !== 3 || p.includes("=") || (q[0] = "breaktype=" + q[0], q[1] = "offset=" + q[1], q[2] = "url=" + q[2]); p = { adtype: "video_ad" }; q = g.w(q); for (var r = q.next(); !r.done; r = q.next()) { var t = g.w(r.value.split("=")); r = t.next().value; t = eaa(t); p[r] = t.join("=") } q = p.url; r = p.presetad; t = p.viralresponseurl; var u = Number(p.campaignid); if (p.adtype === "in_display_ad") q && (m.url = q), r && (m.presetAd = r), t && (m.viralAdResponseUrl = t), u && (m.viralCampaignId = String(u)); + else if (p.adtype === "video_ad") { var y = { offset: { kind: "OFFSET_MILLISECONDS", value: String(Number(p.offset) || 0) } }; if (p = ZLa[p.breaktype]) y.breakType = p; q && (y.url = q); r && (y.presetAd = r); t && (y.viralAdResponseUrl = t); u && (y.viralCampaignId = String(u)); n.push(y) } + } h.forceAdParameters = { videoAds: n, inDisplayAd: m } + } a.isInlinePlaybackNoAd && (h.isInlinePlaybackNoAd = !0); a.isLivingRoomDeeplink && (h.isLivingRoomDeeplink = !0); m = a.qI; if (m != null) { + m = { startWalltime: String(m) }; if (n = a.bk) m.manifestDuration = String(n || 14400); h.liveContext = + m + } a.mutedAutoplay && (h.mutedAutoplay = !0); if (a.Ig ? 0 : a.Ui) h.splay = !0; m = a.vnd; m === 5 && (h.vnd = m); m = {}; if (n = a.isMdxPlayback) m.triggeredByMdx = n; if (n = a.Pw) m.skippableAdsSupported = n.split(",").includes("ska"); if (p = a.Qj) { + n = a.jD; l = []; p = g.w(cDa(p)); for (q = p.next(); !q.done; q = p.next()) { + q = q.value; r = q.platform; q = { applicationState: q.qZ ? "INACTIVE" : "ACTIVE", clientFormFactor: $La[r] || "UNKNOWN_FORM_FACTOR", clientName: eDa[q.B2] || "UNKNOWN_INTERFACE", clientVersion: q.deviceVersion || "", platform: aMa[r] || "UNKNOWN_PLATFORM" }; r = + {}; if (n) { t = void 0; try { t = JSON.parse(n) } catch (A) { g.fx(A) } t && (r = { params: [{ key: "ms", value: t.ms }] }, t.advertising_id && (r.advertisingId = t.advertising_id), t.limit_ad_tracking !== void 0 && t.limit_ad_tracking !== null && (r.limitAdTracking = t.limit_ad_tracking), q.osName = t.os_name, q.userAgent = t.user_agent, q.windowHeightPoints = t.window_height_points, q.windowWidthPoints = t.window_width_points) } l.push({ adSignalsInfo: r, remoteClient: q }) + } m.remoteContexts = l + } n = a.sourceContainerPlaylistId; l = a.serializedMdxMetadata; if (n || l) p = + {}, n && (p.mdxPlaybackContainerInfo = { sourceContainerPlaylistId: n }), l && (p.serializedMdxMetadata = l), m.mdxPlaybackSourceContext = p; h.mdxContext = m; m = b.width; m > 0 && (h.playerWidthPixels = Math.round(m)); if (b = b.height) h.playerHeightPixels = Math.round(b); c !== 0 && (h.vis = c); if (c = f.widgetReferrer) h.widgetReferrer = c.substring(0, 128); g.IO(f) && h && (h.ancestorOrigins = f.ancestorOrigins); a.defaultActiveSourceVideoId && (h.compositeVideoContext = { defaultActiveSourceVideoId: a.defaultActiveSourceVideoId }); if (f = f.getWebPlayerContextConfig()) h.encryptedHostFlags = + f.encryptedHostFlags; d = { videoId: d, context: e, playbackContext: { contentPlaybackContext: h } }; a.contentCheckOk && (d.contentCheckOk = !0); if (e = a.clientPlaybackNonce) d.cpn = e; if (e = a.playerParams) d.params = e; if (e = a.playlistId) d.playlistId = e; a.racyCheckOk && (d.racyCheckOk = !0); bMa && a.startSeconds > 0 && (d.startTimeSecs = a.startSeconds); e = a.U(); if (h = e.embedConfig) d.serializedThirdPartyEmbedConfig = h; d.captionParams = {}; h = g.kt(g.it(), 65); a.deviceCaptionsOn != null ? d.captionParams.deviceCaptionsOn = a.deviceCaptionsOn : g.bP(e) && + (d.captionParams.deviceCaptionsOn = h != null ? !h : !1); a.H_ && (d.captionParams.deviceCaptionsLangPref = a.H_); a.ZN.length ? d.captionParams.viewerSelectedCaptionLangs = a.ZN : g.bP(e) && (h = g.eL(), h == null ? 0 : h.length) && (d.captionParams.viewerSelectedCaptionLangs = h); h = a.fetchType === "onesie" && a.L("html5_onesie_attach_po_token"); f = a.fetchType !== "onesie" && a.L("html5_non_onesie_attach_po_token"); if (h || f) h = a.U(), h.Uf && (d.serviceIntegrityDimensions = {}, d.serviceIntegrityDimensions.poToken = h.Uf); e.L("fetch_att_independently") && + (d.attestationRequest = { omitBotguardData: !0 }); e.L("html5_enable_sabr_from_watch_server") && (d.playbackContext || (d.playbackContext = {}), d.playbackContext.devicePlaybackCapabilities = cMa()); e.L("html5_report_supports_vp9_encoding") && (d.playbackContext || (d.playbackContext = {}), d.playbackContext.devicePlaybackCapabilities = cMa(a)); return d + }; + cMa = function (a) { var b = !(a == null ? 0 : a.RI()) && (a == null ? void 0 : a.Vb()) && ws(); if (a == null ? 0 : a.L("html5_report_supports_vp9_encoding")) { if (a == null) var c = void 0; else { c = uQ(a); a = a.U().G; var d = lP("243"); c = d ? AL(c, d, a, !0) === !0 : !1 } b = c && !b } else b = void 0; return { supportsVp9Encoding: b, supportXhr: iO } }; + fMa = function (a, b) { var c, d, e; return g.J(function (f) { if (f.j == 1) return c = { context: g.cR(a.U()), engagementType: "ENGAGEMENT_TYPE_PLAYBACK", ids: [{ playbackId: { videoId: a.videoId, cpn: a.clientPlaybackNonce } }] }, d = g.yz(eMa), g.G(f, g.xA(b, c, d), 2); e = f.B; return f.return(e) }) }; + gMa = function (a, b, c) { OBa(g.AC(b.experiments, "bg_vm_reinit_threshold")) && fMa(a, c).then(function (d) { d && (d = d.botguardData) && g.$K(d, b) }, function (d) { a.La() || (d = HE(d), a.oa("attf", d.details)) }) }; + eR = function (a, b) { g.O.call(this); this.app = a; this.state = b }; + gR = function (a, b, c) { + a.state.j.hasOwnProperty(b) || fR(a, b, c); a.state.N[b] = function () { return c.apply(a, g.Ca.apply(0, arguments)) }; + a.state.K.add(b) + }; + hR = function (a, b, c) { a.state.j.hasOwnProperty(b) || fR(a, b, c); a.app.U().N && (a.state.Z[b] = function () { return c.apply(a, g.Ca.apply(0, arguments)) }, a.state.K.add(b)) }; + fR = function (a, b, c) { a.state.j[b] = function () { return c.apply(a, g.Ca.apply(0, arguments)) } }; + g.iR = function (a, b, c) { return a.state.j[b].apply(a.state.j, g.x(c)) }; + jR = function () { g.Gp.call(this); this.G = new Map }; + kR = function () { g.O.apply(this, arguments); this.element = null; this.K = new Set; this.N = {}; this.Z = {}; this.j = {}; this.Y = new Set; this.C = new jR; this.B = new jR; this.D = new jR; this.G = new jR }; + hMa = function (a, b, c) { typeof a === "string" && (a = { mediaContentUrl: a, startSeconds: b, suggestedQuality: c }); a: { if ((b = a.mediaContentUrl) && (b = /\/([ve]|embed)\/([^#?]+)/.exec(b)) && b[2]) { b = b[2]; break a } b = null } a.videoId = b; return lR(a) }; + lR = function (a, b, c) { if (typeof a === "string") return { videoId: a, startSeconds: b, suggestedQuality: c }; b = {}; c = g.w(iMa); for (var d = c.next(); !d.done; d = c.next())d = d.value, a[d] && (b[d] = a[d]); return b }; + jMa = function (a, b, c, d) { if (g.Qa(a) && !Array.isArray(a)) { b = "playlist list listType index startSeconds suggestedQuality".split(" "); c = {}; for (d = 0; d < b.length; d++) { var e = b[d]; a[e] && (c[e] = a[e]) } return c } b = { index: b, startSeconds: c, suggestedQuality: d }; typeof a === "string" && a.length === 16 ? b.list = "PL" + a : b.playlist = a; return b }; + mR = function () { eR.apply(this, arguments) }; + lMa = function (a) { + gR(a, "cueVideoById", a.N7); gR(a, "loadVideoById", a.t$); gR(a, "cueVideoByUrl", a.Q7); gR(a, "loadVideoByUrl", a.w$); gR(a, "playVideo", a.Tca); gR(a, "pauseVideo", a.pauseVideo); gR(a, "stopVideo", a.yea); gR(a, "clearVideo", a.clearVideo); gR(a, "getVideoBytesLoaded", a.h9); gR(a, "getVideoBytesTotal", a.i9); gR(a, "getVideoLoadedFraction", a.LY); gR(a, "getVideoStartBytes", a.l9); gR(a, "cuePlaylist", a.cuePlaylist); gR(a, "loadPlaylist", a.r$); gR(a, "nextVideo", a.W$); gR(a, "previousVideo", a.gda); gR(a, "playVideoAt", a.Sca); + gR(a, "setShuffle", a.setShuffle); gR(a, "setLoop", a.setLoop); gR(a, "getPlaylist", a.e9); gR(a, "getPlaylistIndex", a.getPlaylistIndex); gR(a, "getPlaylistId", a.getPlaylistId); gR(a, "loadModule", a.g_); gR(a, "unloadModule", a.t3); gR(a, "setOption", a.AT); gR(a, "getOption", a.Y8); gR(a, "getOptions", a.bQ); gR(a, "mute", a.V$); gR(a, "unMute", a.Xea); gR(a, "isMuted", a.isMuted); gR(a, "setVolume", a.jea); gR(a, "getVolume", a.getVolume); gR(a, "seekTo", a.Tda); gR(a, "getPlayerMode", a.getPlayerMode); gR(a, "getPlayerState", a.c9); gR(a, "getAvailablePlaybackRates", + a.getAvailablePlaybackRates); gR(a, "getPlaybackQuality", function () { return a.getPlaybackQuality(1) }); + gR(a, "setPlaybackQuality", a.dea); gR(a, "getAvailableQualityLevels", a.L8); gR(a, "getCurrentTime", a.P8); gR(a, "getDuration", a.U8); gR(a, "addEventListener", a.l7); gR(a, "removeEventListener", a.uda); gR(a, "getDebugText", a.S8); gR(a, "getVideoData", function () { return kMa(a) }); + gR(a, "addCueRange", a.j7); gR(a, "removeCueRange", a.removeCueRange); gR(a, "setSize", a.setSize); gR(a, "getApiInterface", a.getApiInterface); gR(a, "destroy", a.destroy); gR(a, "mutedAutoplay", a.mutedAutoplay); var b = a.app.U(); b.K || (gR(a, "getVideoEmbedCode", a.getVideoEmbedCode), gR(a, "getVideoUrl", a.n9)); gR(a, "getMediaReferenceTime", a.X8); gR(a, "getSize", a.getSize); gR(a, "setFauxFullscreen", a.aea); b.K || gR(a, "logImaAdEvent", a.logImaAdEvent); gR(a, "preloadVideoById", a.cda); gR(a, "wakeUpControls", a.wakeUpControls) + }; + g.nR = function (a) { return (a = mMa(a.app.Bb())) ? a.Ji() : null }; + pR = function (a) { var b = g.RO(a.app.U()), c, d = (c = a.app.getVideoData()) == null ? void 0 : c.zn; a = g.oR(a.app); return g.Fs(b) && !d || a ? !1 : !0 }; + kMa = function (a, b) { var c = {}; if (b = g.qR(a.app, b === void 0 ? 1 : b)) { b = b.getVideoData(); if (b.isPrivate) return {}; c.video_id = b.videoId; c.author = b.author; c.title = b.title; c.isPlayable = ZQ(b); c.errorCode = b.errorCode; if (b.B && b.B.video) { c.video_quality = b.B.video.quality; b = b.B.video; var d = []; b.fps > 32 && d.push("hfr"); b.isHdr() && d.push("hdr"); b.primaries === "bt2020" && d.push("wcg"); c.video_quality_features = d } } if (a = a.getPlaylistId()) c.list = a; return c }; + rR = function () { mR.apply(this, arguments) }; + sR = function (a, b) { + var c = {}; if (a.app.U().ra) { + a = g.w(nMa); for (var d = a.next(); !d.done; d = a.next())d = d.value, b.hasOwnProperty(d) && (c[d] = b[d]); if (b = c.qoe_cat) a = "", typeof b === "string" && b.length > 0 && (a = b.split(",").filter(function (e) { return oMa.includes(e) }).join(",")), c.qoe_cat = a; + pMa(c) + } else for (a = g.w(qMa), d = a.next(); !d.done; d = a.next())d = d.value, b.hasOwnProperty(d) && (c[d] = b[d]); return c + }; + pMa = function (a) { var b = a.raw_player_response; if (!b) { var c = a.player_response; c && (b = JSON.parse(c)) } delete a.player_response; delete a.raw_player_response; if (b) { a.raw_player_response = { streamingData: b.streamingData }; var d; if ((d = b.playbackTracking) == null ? 0 : d.qoeUrl) a.raw_player_response = Object.assign({}, a.raw_player_response, { playbackTracking: { qoeUrl: b.playbackTracking.qoeUrl } }); var e; if ((e = b.videoDetails) == null ? 0 : e.videoId) a.raw_player_response = Object.assign({}, a.raw_player_response, { videoDetails: { videoId: b.videoDetails.videoId } }) } }; + tR = function (a, b, c) { var d = a.app.bf(c); if (!d) return 0; a = d - a.app.getCurrentTime(c); return b - a }; + sMa = function (a) { var b = b === void 0 ? 5 : b; return a ? rMa[a] || b : b }; + g.uR = function () { rR.apply(this, arguments) }; + tMa = function (a) { + fR(a, "getInternalApiInterface", a.getInternalApiInterface); fR(a, "addEventListener", a.k7); fR(a, "removeEventListener", a.tda); fR(a, "cueVideoByPlayerVars", a.O7); fR(a, "loadVideoByPlayerVars", a.u$); fR(a, "preloadVideoByPlayerVars", a.dda); fR(a, "getAdState", a.getAdState); fR(a, "sendAbandonmentPing", a.sendAbandonmentPing); fR(a, "setLoopRange", a.setLoopRange); fR(a, "getLoopRange", a.getLoopRange); fR(a, "setAutonavState", a.setAutonavState); fR(a, "seekTo", a.Sda); fR(a, "seekBy", a.Qda); fR(a, "seekToLiveHead", + a.seekToLiveHead); fR(a, "requestSeekToWallTimeSeconds", a.requestSeekToWallTimeSeconds); fR(a, "seekToStreamTime", a.seekToStreamTime); fR(a, "startSeekCsiAction", a.startSeekCsiAction); fR(a, "getStreamTimeOffset", a.getStreamTimeOffset); fR(a, "getVideoData", a.j9); fR(a, "setInlinePreview", a.setInlinePreview); fR(a, "getAppState", a.getAppState); fR(a, "updateLastActiveTime", a.updateLastActiveTime); fR(a, "setBlackout", a.setBlackout); fR(a, "setUserEngagement", a.setUserEngagement); fR(a, "updateSubtitlesUserSettings", a.updateSubtitlesUserSettings); + fR(a, "getPresentingPlayerType", a.fK); fR(a, "canPlayType", a.canPlayType); fR(a, "updatePlaylist", a.updatePlaylist); fR(a, "updateVideoData", a.updateVideoData); fR(a, "updateEnvironmentData", a.updateEnvironmentData); fR(a, "sendVideoStatsEngageEvent", a.Xda); fR(a, "productsInVideoVisibilityUpdated", a.productsInVideoVisibilityUpdated); fR(a, "setSafetyMode", a.setSafetyMode); fR(a, "isAtLiveHead", function (b) { return a.isAtLiveHead(void 0, b) }); + fR(a, "getVideoAspectRatio", a.getVideoAspectRatio); fR(a, "getPreferredQuality", a.getPreferredQuality); fR(a, "getPlaybackQualityLabel", a.getPlaybackQualityLabel); fR(a, "setPlaybackQualityRange", a.eea); fR(a, "onAdUxClicked", a.onAdUxClicked); fR(a, "getFeedbackProductData", a.getFeedbackProductData); fR(a, "getStoryboardFrame", a.getStoryboardFrame); fR(a, "getStoryboardFrameIndex", a.getStoryboardFrameIndex); fR(a, "getStoryboardLevel", a.getStoryboardLevel); fR(a, "getNumberOfStoryboardLevels", a.getNumberOfStoryboardLevels); + fR(a, "getCaptionWindowContainerId", a.getCaptionWindowContainerId); fR(a, "getAvailableQualityLabels", a.getAvailableQualityLabels); fR(a, "addCueRange", a.addCueRange); fR(a, "addUtcCueRange", a.addUtcCueRange); fR(a, "showAirplayPicker", a.showAirplayPicker); fR(a, "dispatchReduxAction", a.dispatchReduxAction); fR(a, "getPlayerResponse", a.a9); fR(a, "getWatchNextResponse", a.o9); fR(a, "getHeartbeatResponse", a.V8); fR(a, "changeMarkerVisibility", a.changeMarkerVisibility); fR(a, "getCurrentTime", a.O8); fR(a, "getDuration", a.oY); + fR(a, "getPlayerState", a.getPlayerState); fR(a, "getPlayerStateObject", a.b9); fR(a, "getVideoLoadedFraction", a.getVideoLoadedFraction); fR(a, "getProgressState", a.getProgressState); fR(a, "getVolume", a.getVolume); fR(a, "setVolume", a.BM); fR(a, "isMuted", a.isMuted); fR(a, "mute", a.lL); fR(a, "unMute", a.ZM); fR(a, "loadModule", a.loadModule); fR(a, "unloadModule", a.unloadModule); fR(a, "getOption", a.BY); fR(a, "getOptions", a.getOptions); fR(a, "setOption", a.setOption); fR(a, "loadVideoById", a.i_); fR(a, "loadVideoByUrl", a.j_); fR(a, + "playVideo", a.IS); fR(a, "loadPlaylist", a.loadPlaylist); fR(a, "nextVideo", a.nextVideo); fR(a, "previousVideo", a.previousVideo); fR(a, "playVideoAt", a.playVideoAt); fR(a, "getDebugText", a.getDebugText); fR(a, "getWebPlayerContextConfig", a.getWebPlayerContextConfig); fR(a, "notifyShortsAdSwipeEvent", a.notifyShortsAdSwipeEvent); fR(a, "getVideoContentRect", a.getVideoContentRect); fR(a, "setSqueezeback", a.setSqueezeback); fR(a, "setAutonav", a.setAutonav); fR(a, "isNotServable", a.isNotServable); fR(a, "channelSubscribed", a.channelSubscribed); + fR(a, "channelUnsubscribed", a.channelUnsubscribed); fR(a, "togglePictureInPicture", a.togglePictureInPicture); fR(a, "supportsGaplessAudio", a.supportsGaplessAudio); fR(a, "supportsGaplessShorts", a.supportsGaplessShorts); fR(a, "enqueueVideoByPlayerVars", function (b) { return void a.enqueueVideoByPlayerVars(b) }); + fR(a, "clearQueue", a.clearQueue); fR(a, "getAudioTrack", a.H8); fR(a, "setAudioTrack", a.Yda); fR(a, "getAvailableAudioTracks", a.K8); fR(a, "getMaxPlaybackQuality", a.getMaxPlaybackQuality); fR(a, "getUserPlaybackQualityPreference", a.getUserPlaybackQualityPreference); fR(a, "getSubtitlesUserSettings", a.getSubtitlesUserSettings); fR(a, "resetSubtitlesUserSettings", a.resetSubtitlesUserSettings); fR(a, "setMinimized", a.setMinimized); fR(a, "setOverlayVisibility", a.setOverlayVisibility); fR(a, "confirmYpcRental", a.confirmYpcRental); + fR(a, "toggleSubtitlesOn", a.toggleSubtitlesOn); fR(a, "isSubtitlesOn", a.isSubtitlesOn); fR(a, "queueNextVideo", a.queueNextVideo); fR(a, "handleExternalCall", a.handleExternalCall); fR(a, "logApiCall", a.logApiCall); fR(a, "isExternalMethodAvailable", a.isExternalMethodAvailable); fR(a, "setScreenLayer", a.setScreenLayer); fR(a, "getCurrentPlaylistSequence", a.getCurrentPlaylistSequence); fR(a, "getPlaylistSequenceForTime", a.getPlaylistSequenceForTime); fR(a, "shouldSendVisibilityState", a.shouldSendVisibilityState); fR(a, + "syncVolume", a.syncVolume); fR(a, "highlightSettingsMenuItem", a.highlightSettingsMenuItem); fR(a, "openSettingsMenuItem", a.openSettingsMenuItem); fR(a, "getEmbeddedPlayerResponse", a.getEmbeddedPlayerResponse); fR(a, "getVisibilityState", a.getVisibilityState); fR(a, "isMutedByMutedAutoplay", a.isMutedByMutedAutoplay); fR(a, "setGlobalCrop", a.setGlobalCrop); fR(a, "setInternalSize", a.setInternalSize); fR(a, "setFauxFullscreen", a.setFauxFullscreen) + }; + wR = function (a, b, c) { a = g.vR(a.Re(), b); return c ? (c.addOnDisposeCallback(a), null) : a }; + g.xR = function (a, b, c) { return a.app.U().jf ? b : g.DD("$DESCRIPTION ($SHORTCUT)", { DESCRIPTION: b, SHORTCUT: c }) }; + uMa = function (a) { a.Re().element.setAttribute("aria-live", "polite") }; + g.yR = function (a, b) { + g.uR.call(this, a, b); tMa(this); hR(this, "addEventListener", this.m7); hR(this, "removeEventListener", this.vda); hR(this, "cueVideoByPlayerVars", this.P7); hR(this, "loadVideoByPlayerVars", this.v$); hR(this, "preloadVideoByPlayerVars", this.eda); hR(this, "loadVideoById", this.i_); hR(this, "loadVideoByUrl", this.j_); hR(this, "playVideo", this.IS); hR(this, "loadPlaylist", this.loadPlaylist); hR(this, "nextVideo", this.nextVideo); hR(this, "previousVideo", this.previousVideo); hR(this, "playVideoAt", this.playVideoAt); + hR(this, "getVideoData", this.KY); hR(this, "seekBy", this.Rda); hR(this, "seekTo", this.Uda); hR(this, "showControls", this.showControls); hR(this, "hideControls", this.hideControls); hR(this, "cancelPlayback", this.cancelPlayback); hR(this, "getProgressState", this.getProgressState); hR(this, "isInline", this.isInline); hR(this, "setInline", this.setInline); hR(this, "setLoopVideo", this.setLoopVideo); hR(this, "getLoopVideo", this.getLoopVideo); hR(this, "getVideoContentRect", this.getVideoContentRect); hR(this, "getVideoStats", this.m9); + hR(this, "getCurrentTime", this.Q8); hR(this, "getDuration", this.oY); hR(this, "getPlayerState", this.d9); hR(this, "getVideoLoadedFraction", this.k9); hR(this, "mute", this.lL); hR(this, "unMute", this.ZM); hR(this, "setVolume", this.BM); hR(this, "loadModule", this.loadModule); hR(this, "unloadModule", this.unloadModule); hR(this, "getOption", this.BY); hR(this, "getOptions", this.getOptions); hR(this, "setOption", this.setOption); hR(this, "addCueRange", this.addCueRange); hR(this, "getDebugText", this.getDebugText); hR(this, "getStoryboardFormat", + this.getStoryboardFormat); hR(this, "toggleFullscreen", this.toggleFullscreen); hR(this, "isFullscreen", this.isFullscreen); hR(this, "getPlayerSize", this.getPlayerSize); hR(this, "toggleSubtitles", this.toggleSubtitles); hR(this, "setCenterCrop", this.setCenterCrop); hR(this, "setFauxFullscreen", this.setFauxFullscreen); hR(this, "setSizeStyle", this.setSizeStyle); hR(this, "handleGlobalKeyDown", this.handleGlobalKeyDown); hR(this, "handleGlobalKeyUp", this.handleGlobalKeyUp); lMa(this) + }; + g.zR = function (a) { a = a.Bb(); var b = a.He.get("endscreen"); return b && b.wv() ? !0 : a.JH() }; + g.AR = function (a, b) { a.getPresentingPlayerType() === 3 ? a.publish("mdxautoplaycancel") : a.ib("onAutonavCancelled", b) }; + g.CR = function (a) { var b = BR(a.Bb()); return a.app.Aj && !a.isFullscreen() || a.getPresentingPlayerType() === 3 && b && b.Gl() && b.Yp() || !!a.getPlaylist() }; + g.DR = function (a, b, c) { g.iR(a, "addEmbedsConversionTrackingParams", [b]); a.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(b, c) }; + g.FR = function (a) { return (a = g.ER(a.Bb())) ? a.iK() : {} }; + g.vMa = function (a) { a = (a = a.getVideoData()) && a.B; return !!a && !(!a.audio || !a.video) && a.mimeType !== "application/x-mpegURL" }; + g.GR = function (a, b, c) { + a = a.qb().element; var d = Zb(a.children, function (e) { e = Number(e.getAttribute("data-layer")); return c - e || 1 }); + d < 0 && (d = -(d + 1)); oe(a, b, d); b.setAttribute("data-layer", String(c)) + }; + g.HR = function (a) { + var b = a.U(); if (!b.ge) return !1; var c = a.getVideoData(); if (!c || a.getPresentingPlayerType() === 3) return !1; var d = (!c.isLiveDefaultBroadcast || b.L("allow_poltergust_autoplay")) && !$Q(c); d = c.isLivePlayback && (!b.L("allow_live_autoplay") || !d); var e = c.isLivePlayback && b.L("allow_live_autoplay_on_mweb"); a = a.getPlaylist(); a = !!a && a.Gl(); var f = c.Wa && c.Wa.playerOverlays || null; f = !!(f && f.playerOverlayRenderer && f.playerOverlayRenderer.autoplay); f = c.Ff && f; return !c.ypcPreview && (!d || e) && !g.Mb(c.Ga, "ypc") && + !a && (!g.IO(b) || f) + }; + wMa = function (a) { a = g.qR(a.app); if (!a) return !1; var b = a.getVideoData(); if (!b.B || !b.B.video || b.B.video.j < 1080 || b.EU) return !1; var c = /^qsa/.test(b.clientPlaybackNonce), d = "r"; b.B.id.indexOf(";") >= 0 && (c = /^[a-p]/.test(b.clientPlaybackNonce), d = "x"); return c ? (a.oa("iqss", { trigger: d }, !0), !0) : !1 }; + IR = function () { gt.apply(this, arguments); this.requestHeaders = {} }; + fS = function () { bS || (bS = new IR); return bS }; + gS = function (a, b) { b ? a.requestHeaders.Authorization = "Bearer " + b : delete a.requestHeaders.Authorization }; + g.hS = function (a, b, c, d) { + d = d === void 0 ? !1 : d; g.Nx.call(this, b); var e = this; this.J = a; this.Fa = d; this.N = new g.OE(this); this.qa = new g.Dy(this, c, !0, void 0, void 0, function () { e.gY() }); + g.P(this, this.N); g.P(this, this.qa) + }; + xMa = function (a) { a.B && (document.activeElement && g.qe(a.element, document.activeElement) && a.B.focus(), a.B.setAttribute("aria-expanded", "false"), a.B = void 0); g.Ys(a.N); a.Y = void 0 }; + iS = function (a, b, c) { a.Ck() ? a.Nb() : a.pd(b, c) }; + jS = function (a, b, c, d) { + d = new g.T({ I: "div", Na: ["ytp-linked-account-popup-button"], va: d, X: { role: "button", tabindex: "0" } }); b = new g.T({ I: "div", S: "ytp-linked-account-popup", X: { role: "dialog", "aria-modal": "true", tabindex: "-1" }, V: [{ I: "div", S: "ytp-linked-account-popup-title", va: b }, { I: "div", S: "ytp-linked-account-popup-description", va: c }, { I: "div", S: "ytp-linked-account-popup-buttons", V: [d] }] }); g.hS.call(this, a, { I: "div", S: "ytp-linked-account-popup-container", V: [b] }, 100); var e = this; this.dialog = b; g.P(this, this.dialog); + d.listen("click", function () { e.Nb() }); + g.P(this, d); g.GR(this.J, this.element, 4); this.hide() + }; + g.kS = function (a, b, c, d) { g.Nx.call(this, a); this.priority = b; c && this.Tj(c); d && this.Dd(d) }; + g.lS = function (a, b, c, d) { a = a === void 0 ? {} : a; b = b === void 0 ? [] : b; c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; b.push("ytp-menuitem"); var e = a; "role" in e || (e.role = "menuitem"); c || (e = a, "tabindex" in e || (e.tabindex = "0")); a = { I: c ? "a" : "div", Na: b, X: a, V: [{ I: "div", S: "ytp-menuitem-icon", va: "{{icon}}" }, { I: "div", S: "ytp-menuitem-label", va: "{{label}}" }, { I: "div", S: "ytp-menuitem-content", va: "{{content}}" }] }; d && a.V.push({ I: "div", S: "ytp-menuitem-secondary-icon", va: "{{secondaryIcon}}" }); return a }; + mS = function (a) { + g.kS.call(this, g.lS({ "aria-haspopup": "true" }, ["ytp-linked-account-menuitem"]), 2); var b = this; this.J = a; this.B = this.j = !1; this.Fb = a.Lm(); a.createServerVe(this.element, this, !0); this.T(this.J, "settingsMenuVisibilityChanged", function (c) { b.Mc(c) }); + this.T(this.J, "videodatachange", this.D); this.listen("click", this.onClick); this.D() + }; + nS = function (a) { return a ? g.Qx(a) : "" }; + oS = function (a) { g.O.call(this); this.api = a }; + pS = function (a) { + oS.call(this, a); var b = this; fR(a, "setAccountLinkState", function (c) { b.setAccountLinkState(c) }); + fR(a, "updateAccountLinkingConfig", function (c) { b.updateAccountLinkingConfig(c) }); + a.addEventListener("videodatachange", function (c, d) { b.onVideoDataChange(d) }); + a.addEventListener("settingsMenuInitialized", function () { b.menuItem = new mS(b.api); g.P(b, b.menuItem) }) + }; + yMa = function (a) { this.api = a; this.j = {} }; + qS = function (a, b, c, d) { b in a.j || (c = new g.qD(c, d, { id: b, priority: 2, namespace: "appad" }), a.api.lf([c], 1), a.j[b] = c) }; + rS = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(this); g.P(this, this.events); this.j = new yMa(this.api); this.events.T(this.api, "legacyadtrackingpingreset", function () { b.j.j = {} }); + this.events.T(this.api, "legacyadtrackingpingchange", function (c) { var d = b.j; qS(d, "part2viewed", 1, 0x8000000000000); qS(d, "engagedview", Math.max(1, c.Kb * 1E3), 0x8000000000000); c.isLivePlayback || (c = c.lengthSeconds * 1E3, qS(d, "videoplaytime25", c * .25, c), qS(d, "videoplaytime50", c * .5, c), qS(d, "videoplaytime75", c * .75, c), qS(d, "videoplaytime100", c, 0x8000000000000), qS(d, "conversionview", c, 0x8000000000000), qS(d, "videoplaybackstart", 1, c), qS(d, "videoplayback2s", 2E3, c), qS(d, "videoplayback10s", 1E4, c)) }); + this.events.T(this.api, g.sD("appad"), this.B); this.events.T(this.api, g.tD("appad"), this.B) + }; + CMa = function (a, b, c) { if (!(c in b)) return !1; b = b[c]; Array.isArray(b) || (b = [b]); b = g.w(b); for (c = b.next(); !c.done; c = b.next()) { c = c.value; var d = { CPN: a.api.getVideoData().clientPlaybackNonce }; c = g.Ho(c, d); d = void 0; d = d === void 0 ? !1 : d; (d = jD(kD(c, zMa), c, d, "Active View 3rd Party Integration URL")) || (d = void 0, d = d === void 0 ? !1 : d, d = jD(kD(c, AMa), c, d, "Google/YouTube Brand Lift URL")); d || (d = void 0, d = d === void 0 ? !1 : d, d = jD(kD(c, BMa), c, d, "Nielsen OCR URL")); g.nv(c, void 0, d) } return !0 }; + sS = function (a, b) { DMa(a, b).then(function (c) { g.nv(b, void 0, void 0, c) }) }; + tS = function (a, b) { b.forEach(function (c) { sS(a, c) }) }; + DMa = function (a, b) { return g.OC(a.api.U()) && Er(b) && Dr(b) ? g.kP(a.api.U(), g.VQ(a.api.getVideoData())).then(function (c) { var d; c && (d = { Authorization: "Bearer " + c }); return d }, void 0) : as() }; + EMa = function (a) { + oS.call(this, a); this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "videoready", function (b) { + if (a.getPresentingPlayerType() === 1) { + var c, d, e = { + playerDebugData: { + pmlSignal: !!((c = b.getPlayerResponse()) == null ? 0 : (d = c.adPlacements) == null ? 0 : d.some(function (f) { var h; return f == null ? void 0 : (h = f.adPlacementRenderer) == null ? void 0 : h.renderer })), + contentCpn: b.clientPlaybackNonce + } + }; g.Ht("adsClientStateChange", e) + } + }) + }; + uS = function (a) { + g.T.call(this, { I: "button", Na: ["ytp-button"], X: { title: "{{title}}", "aria-label": "{{label}}", "data-priority": "2", "data-tooltip-target-id": "ytp-autonav-toggle-button" }, V: [{ I: "div", S: "ytp-autonav-toggle-button-container", V: [{ I: "div", S: "ytp-autonav-toggle-button", X: { "aria-checked": "true" } }] }] }); this.J = a; this.B = []; this.j = !1; this.isChecked = !0; a.createClientVe(this.element, this, 113681); this.T(a, "presentingplayerstatechange", this.xD); this.listen("click", this.onClick); this.J.U().L("web_player_autonav_toggle_always_listen") && + FMa(this); wR(a, this.element, this); this.xD() + }; + FMa = function (a) { a.B.push(a.T(a.J, "videodatachange", a.xD)); a.B.push(a.T(a.J, "videoplayerreset", a.xD)); a.B.push(a.T(a.J, "onPlaylistUpdate", a.xD)); a.B.push(a.T(a.J, "autonavchange", a.OV)) }; + GMa = function (a) { a.isChecked = a.isChecked; a.Ea("ytp-autonav-toggle-button").setAttribute("aria-checked", String(a.isChecked)); var b = a.isChecked ? "Autoplay is on" : "Autoplay is off"; a.updateValue("title", b); a.updateValue("label", b); a.J.Vh() }; + HMa = function (a) { return a.J.U().L("web_player_autonav_use_server_provided_state") && lQ(a.Od()) }; + IMa = function (a) { oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "standardControlsInitialized", function () { var c = new uS(a); g.P(b, c); a.Cz(c) }) }; + vS = function (a, b) { g.kS.call(this, g.lS({ role: "menuitemcheckbox", "aria-checked": "false" }), b, a, { I: "div", S: "ytp-menuitem-toggle-checkbox" }); this.checked = !1; this.enabled = !0; this.listen("click", this.onClick) }; + wS = function (a, b) { a.checked = b; a.element.setAttribute("aria-checked", String(a.checked)) }; + JMa = function (a) { var b = !a.U().Vk && a.getPresentingPlayerType() !== 3; return a.isFullscreen() || b }; + g.xS = function (a, b, c, d) { var e = a.currentTarget; if ((c === void 0 || !c) && g.$y(a)) return a.preventDefault(), !0; b.pauseVideo(); a = e.getAttribute("href"); g.mz(a, d, !0); return !1 }; + g.yS = function (a, b, c) { if ($O(b.U()) && b.getPresentingPlayerType() !== 2) { if (g.$y(c)) return b.isFullscreen() && !b.U().externalFullscreen && b.toggleFullscreen(), c.preventDefault(), !0 } else { var d = g.$y(c); d && b.pauseVideo(); g.mz(a, void 0, !0); d && (g.nz(a), c.preventDefault()) } return !1 }; + LMa = function () { + var a = KMa.includes("en") ? { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", Fc: !0, X: { + d: "M11,11 C9.89,11 9,11.9 9,13 L9,23 C9,24.1 9.89,25 11,25 L25,25 C26.1,25 27,24.1 27,23 L27,13 C27,11.9 26.1,11 25,11 L11,11 Z M17,17 L15.5,17 L15.5,16.5 L13.5,16.5 L13.5,19.5 L15.5,19.5 L15.5,19 L17,19 L17,20 C17,20.55 16.55,21 16,21 L13,21 C12.45,21 12,20.55 12,20 L12,16 C12,15.45 12.45,15 13,15 L16,15 C16.55,15 17,15.45 17,16 L17,17 L17,17 Z M24,17 L22.5,17 L22.5,16.5 L20.5,16.5 L20.5,19.5 L22.5,19.5 L22.5,19 L24,19 L24,20 C24,20.55 23.55,21 23,21 L20,21 C19.45,21 19,20.55 19,20 L19,16 C19,15.45 19.45,15 20,15 L23,15 C23.55,15 24,15.45 24,16 L24,17 L24,17 Z", + fill: "#fff" + } + }] + } : { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "M11,11 C9.9,11 9,11.9 9,13 L9,23 C9,24.1 9.9,25 11,25 L25,25 C26.1,25 27,24.1 27,23 L27,13 C27,11.9 26.1,11 25,11 L11,11 Z M11,17 L14,17 L14,19 L11,19 L11,17 L11,17 Z M20,23 L11,23 L11,21 L20,21 L20,23 L20,23 Z M25,23 L22,23 L22,21 L25,21 L25,23 L25,23 Z M25,19 L16,19 L16,17 L25,17 L25,19 L25,19 Z", fill: "#fff" } }] }; a.S = "ytp-subtitles-button-icon"; return a + }; + zS = function () { return { I: "div", S: "ytp-spinner-container", V: [{ I: "div", S: "ytp-spinner-rotator", V: [{ I: "div", S: "ytp-spinner-left", V: [{ I: "div", S: "ytp-spinner-circle" }] }, { I: "div", S: "ytp-spinner-right", V: [{ I: "div", S: "ytp-spinner-circle" }] }] }] } }; + AS = function (a) { if (document.createRange) { var b = document.createRange(); b && (b.selectNodeContents(a), a = window.getSelection()) && (a.removeAllRanges(), a.addRange(b)) } }; + DS = function (a) { + var b = a.L("web_player_use_cinematic_label_2") ? "Ambient mode" : "Cinematic lighting"; vS.call(this, b, g.BS.o4); var c = this; this.J = a; this.j = !1; this.B = new g.fp(function () { g.pp(c.element, "ytp-menuitem-highlighted") }, 0); + this.Fb = a.Lm(); this.setIcon({ I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ I: "path", X: { d: "M21 7v10H3V7h18m1-1H2v12h20V6zM11.5 2v3h1V2h-1zm1 17h-1v3h1v-3zM3.79 3 6 5.21l.71-.71L4.5 2.29 3.79 3zm2.92 16.5L6 18.79 3.79 21l.71.71 2.21-2.21zM19.5 2.29 17.29 4.5l.71.71L20.21 3l-.71-.71zm0 19.42.71-.71L18 18.79l-.71.71 2.21 2.21z", fill: "white" } }] }); this.subscribe("select", this.C, this); this.listen(CS, this.D); g.P(this, this.B) + }; + ES = function (a) { + oS.call(this, a); var b = this; this.j = !1; a.addEventListener("settingsMenuInitialized", function () { MMa(b) }); + a.addEventListener("highlightSettingsMenu", function (c) { MMa(b); var d = b.menuItem; c === "menu_item_cinematic_lighting" && (g.np(d.element, "ytp-menuitem-highlighted"), g.np(d.element, "ytp-menuitem-highlight-transition-enabled"), d.B.start()) }); + fR(a, "updateCinematicSettings", function (c) { b.updateCinematicSettings(c) }) + }; + MMa = function (a) { a.menuItem || (a.menuItem = new DS(a.api), g.P(a, a.menuItem), a.menuItem.Ta(a.j)) }; + FS = function (a, b, c, d) { + vS.call(this, "Stable Volume", g.BS.R6); g.np(this.element, "ytp-drc-menu-item"); this.Fb = a.Lm(); this.C = b; this.j = c; this.hasDrcAudioTrack = d; a.addEventListener("videodatachange", this.onVideoDataChange.bind(this)); a = this.j() === 1 && this.hasDrcAudioTrack(); this.setEnabled(this.hasDrcAudioTrack()); this.setIcon({ + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + d: "M7 13H5v-2h2v2zm3-4H8v6h2V9zm3-3h-2v12h2V6zm3 2h-2v8h2V8zm3 2h-2v4h2v-4zm-7-7c-4.96 0-9 4.04-9 9s4.04 9 9 9 9-4.04 9-9-4.04-9-9-9m0-1c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2z", + fill: "white" + } + }] + }); this.subscribe("select", this.B, this); wS(this, a); this.Fb.Uc(this) + }; + GS = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); a.L("html5_show_drc_toggle") && a.addEventListener("settingsMenuInitialized", function () { b.menuItem || (b.menuItem = new FS(b.api, b.setDrcUserPreference.bind(b), b.getDrcUserPreference.bind(b), b.B.bind(b)), g.P(b, b.menuItem)) }); + fR(this.api, "setDrcUserPreference", function (d) { b.setDrcUserPreference(d) }); + fR(this.api, "getDrcUserPreference", function () { return b.getDrcUserPreference() }); + fR(this.api, "hasDrcAudioTrack", function () { return b.B() }); + var c; this.j = (c = g.ct("yt-player-drc-pref")) != null ? c : 1; this.updateEnvironmentData() + }; + HS = function (a) { + oS.call(this, a); var b = this; this.j = {}; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "videodatachange", function () { b.onVideoDataChange() }); + this.events.T(a, g.sD("embargo"), function (c) { b.api.Uo(!0); var d, e = (d = b.j[c.id]) != null ? d : []; d = g.w(e); for (e = d.next(); !e.done; e = d.next()) { var f = e.value; b.api.hideControls(); b.api.Lf("auth", 2, "This video isn't available in your current playback area", EE({ embargoed: 1, id: c.id, idx: c.B, start: c.start })); e = void 0; (f = (e = f.embargo) == null ? void 0 : e.onTrigger) && b.api.ib("innertubeCommand", f) } }) + }; + NMa = function (a, b) { var c; return (c = b.onEnter) == null ? void 0 : c.some(a.B) }; + OMa = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { c = c.value; var d = void 0, e = Number((d = c.playbackPosition) == null ? void 0 : d.utcTimeMillis) / 1E3, f = void 0; d = e + Number((f = c.duration) == null ? void 0 : f.seconds); f = "embargo_" + e; a.api.addUtcCueRange(f, e, d, "embargo", !1); c.onEnter && (a.j[f] = c.onEnter.filter(a.B)) } }; + IS = function (a) { + oS.call(this, a); var b = this; this.j = []; this.events = new g.OE(a); g.P(this, this.events); fR(a, "addEmbedsConversionTrackingParams", function (c) { b.api.U().Bp && b.addEmbedsConversionTrackingParams(c) }); + this.events.T(a, "veClickLogged", function (c) { b.api.hasVe(c) && (c = Kg(c.visualElement.getAsJspb(), 2), b.j.push(c)) }) + }; + PMa = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "initialvideodatacreated", function (c) { + PK(OK(), 16623); b.j = g.Ww(); var d = a.U().Fi && !c.Ig; if (TQ(c) && d) { PK(OK(), 27240, void 0, { implicitGestureType: "INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED" }); if (c.getWatchNextResponse()) { var e, f = (e = c.getWatchNextResponse()) == null ? void 0 : e.trackingParams; f && RK(f) } if (c.getPlayerResponse()) { var h; (c = (h = c.getPlayerResponse()) == null ? void 0 : h.trackingParams) && RK(c) } } else PK(OK(), + 32594, void 0, { implicitGestureType: "INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED" }), c.getEmbeddedPlayerResponse() && (h = (f = c.getEmbeddedPlayerResponse()) == null ? void 0 : f.trackingParams) && RK(h) + }); + this.events.T(a, "loadvideo", function () { PK(OK(), 27240, void 0, { implicitGestureType: "INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED", parentCsn: b.j }) }); + this.events.T(a, "cuevideo", function () { PK(OK(), 32594, void 0, { implicitGestureType: "INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED", parentCsn: b.j }) }); + this.events.T(a, "largeplaybuttonclicked", function (c) { PK(OK(), 27240, c.visualElement) }); + this.events.T(a, "playlistnextbuttonclicked", function (c) { PK(OK(), 27240, c.visualElement) }); + this.events.T(a, "playlistprevbuttonclicked", function (c) { PK(OK(), 27240, c.visualElement) }); + this.events.T(a, "playlistautonextvideo", function () { PK(OK(), 27240, void 0, { implicitGestureType: "INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED" }) }) + }; + JS = function (a) { g.O.call(this); var b = this; this.j = null; for (var c = [], d = 0; d <= 100; d++)c.push(d / 100); c = { threshold: c, trackVisibility: !0, delay: 1E3 }; (this.B = window.IntersectionObserver ? new IntersectionObserver(function (e) { e = e[e.length - 1]; typeof e.isVisible === "undefined" ? b.j = null : b.j = e.isVisible ? e.intersectionRatio : 0 }, c) : null) && this.B.observe(a) }; + RMa = function (a) { oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "applicationInitialized", function () { QMa(b) }) }; + QMa = function (a) { a.j = new JS(a.api.getRootNode()); g.P(a, a.j); a.events.T(a.api, "videoStatsPingCreated", function (b) { var c = a.j; c = c.j == null ? null : Math.round(c.j * 100) / 100; b.inview = c != null ? c : void 0; c = a.api.getPlayerSize(); if (c.height > 0 && c.width > 0) { c = [Math.round(c.width), Math.round(c.height)]; var d = g.aP(); d > 1 && c.push(d); c = c.join(":") } else c = void 0; b.size = c }) }; + SMa = function (a) { var b; return ((b = ((a == null ? void 0 : a.messageRenderers) || []).find(function (c) { return !!c.timeCounterRenderer })) == null ? void 0 : b.timeCounterRenderer) || null }; + KS = function (a) { g.T.call(this, { I: "div", Na: ["ytp-player-content", "ytp-iv-player-content"], V: [{ I: "div", S: "ytp-free-preview-countdown-timer", V: [{ I: "span", va: "{{label}}" }, { I: "span", S: "ytp-free-preview-countdown-timer-separator", va: "\u2022" }, { I: "span", va: "{{duration}}" }] }] }); this.api = a; this.j = null; this.C = this.B = 0; this.T(this.api, "videodatachange", this.onVideoDataChange); this.api.createClientVe(this.element, this, 191284) }; + UMa = function (a, b) { a.j || (a.B = b, a.C = (0, g.Zt)(), a.j = new g.ep(function () { TMa(a) }, null), TMa(a)) }; + TMa = function (a) { var b = Math, c = b.round, d = Math.min((0, g.Zt)() - a.C, a.B); b = c.call(b, (a.B - d) / 1E3); a.updateValue("duration", IK({ seconds: b })); b <= 0 && a.j ? LS(a) : a.j && a.j.start() }; + LS = function (a) { a.j && (a.j.dispose(), a.j = null) }; + VMa = function (a) { oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "basechromeinitialized", function () { b.j = new KS(a); g.P(b, b.j); g.GR(a, b.j.element, 4); b.j.hide() }) }; + MS = function (a) { + g.T.call(this, { I: "button", Na: ["ytp-fullerscreen-edu-button", "ytp-button"], V: [{ I: "div", Na: ["ytp-fullerscreen-edu-text"], va: "Scroll for details" }, { I: "div", Na: ["ytp-fullerscreen-edu-chevron"], V: [{ I: "svg", X: { height: "100%", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", X: { d: "M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z", fill: "#fff" } }] }] }], X: { "data-priority": "1" } }); this.Ua = a; this.j = new g.Dy(this, 250, void 0, 100); this.C = this.B = !1; a.createClientVe(this.element, this, 61214); g.P(this, + this.j); this.T(a, "fullscreentoggled", this.Ta); this.T(a, "presentingplayerstatechange", this.Ta); this.listen("click", this.onClick); this.Ta() + }; + NS = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); fR(this.api, "updateFullerscreenEduButtonSubtleModeState", function (d) { b.updateFullerscreenEduButtonSubtleModeState(d) }); + fR(this.api, "updateFullerscreenEduButtonVisibility", function (d) { b.updateFullerscreenEduButtonVisibility(d) }); + var c = a.U(); a.L("external_fullscreen_with_edu") && c.externalFullscreen && $O(c) && c.controlsType === "1" && this.events.T(a, "standardControlsInitialized", function () { b.j = new MS(a); g.P(b, b.j); a.Cz(b.j) }) + }; + WMa = function (a) { + g.T.call(this, { + I: "div", S: "ytp-gated-actions-overlay", V: [{ I: "div", S: "ytp-gated-actions-overlay-background", V: [{ I: "div", S: "ytp-gated-actions-overlay-background-overlay" }] }, { I: "button", Na: ["ytp-gated-actions-overlay-miniplayer-close-button", "ytp-button"], X: { "aria-label": "Close" }, V: [g.Vx()] }, { + I: "div", S: "ytp-gated-actions-overlay-bar", V: [{ + I: "div", S: "ytp-gated-actions-overlay-text-container", V: [{ I: "div", S: "ytp-gated-actions-overlay-title", va: "{{title}}" }, { + I: "div", S: "ytp-gated-actions-overlay-subtitle", + va: "{{subtitle}}" + }] + }, { I: "div", S: "ytp-gated-actions-overlay-button-container" }] + }] + }); var b = this; this.api = a; this.background = this.Ea("ytp-gated-actions-overlay-background"); this.B = this.Ea("ytp-gated-actions-overlay-button-container"); this.j = []; this.T(this.Ea("ytp-gated-actions-overlay-miniplayer-close-button"), "click", function () { b.api.ib("onCloseMiniplayer") }); + this.hide() + }; + YMa = function (a, b) { + var c = 0; c = 0; for (var d = {}; c < b.length; d = { ZI: void 0 }, c++) { + var e = a.j[c], f = void 0, h = (f = e) == null ? void 0 : f.element; h || (h = new g.T({ I: "button", S: "ytp-gated-actions-overlay-button", X: { tabindex: "0" }, V: [{ I: "div", S: "ytp-gated-actions-overlay-button-title", va: "{{buttonText}}" }] }), g.P(a, h), h.Ja(a.B), e = { element: h }); d.ZI = g.R(b[c], XMa); var l = f = void 0, m = void 0, n = ((f = d.ZI) == null ? void 0 : f.title) || ((l = d.ZI) == null ? void 0 : (m = l.titleFormatted) == null ? void 0 : m.content) || ""; h.update({ buttonText: n }); e.listener && + h.Oc(e.listener); e.listener = h.listen("click", function (p) { return function () { var q, r = g.R((q = p.ZI) == null ? void 0 : q.onTap, ix); r && a.api.ib("innertubeCommand", r) } }(d)); + a.j[c] = e + } for (; c < a.j.length;)a.j.pop().element.dispose() + }; + ZMa = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.j = new WMa(this.api); g.P(this, this.j); this.events.T(a, "videodatachange", function () { + var c, d = (c = b.api.getVideoData()) == null ? void 0 : c.Gda; c = b.j; if (d) { + var e, f, h = ((e = d.title) == null ? void 0 : e.content) || ""; e = ((f = d.subtitle) == null ? void 0 : f.content) || ""; c.update({ title: h, subtitle: e }); h = d.thumbnail; f = "none"; if (h == null ? 0 : h.sources) { + e = 0; h = g.w(h.sources); for (var l = h.next(); !l.done; l = h.next())l = l.value, l.width && l.url && l.width > + e && (e = l.width, f = "url(" + l.url + ")") + } c.background.style.backgroundImage = f; YMa(c, d.actionButtons || []); c.show() + } else c.hide() + }); + g.GR(this.api, this.j.element, 4) + }; + $Ma = function (a) { + oS.call(this, a); var b = this; this.j = null; this.events = new g.OE(a); g.P(this, this.events); var c = a.U(); c.Nj = !1; c.Ya = !1; c.tm = !1; hR(a, "resetSubtitlesUserSettings", function () { a.resetSubtitlesUserSettings() }); + hR(a, "getSubtitlesUserSettings", function () { return a.getSubtitlesUserSettings() }); + hR(a, "updateSubtitlesUserSettings", function (f) { a.updateSubtitlesUserSettings(f) }); + hR(a, "getCaptionTracks", function () { return a.getOption("captions", "tracklist", { includeAsr: !0 }) }); + hR(a, "getAvailableQualityLevels", function () { return a.getAvailableQualityLevels() }); + hR(a, "getPreferredQuality", function () { return a.getPreferredQuality() }); + hR(a, "getPlaybackQuality", function () { return a.getPlaybackQuality() }); + hR(a, "setPlaybackQuality", function (f) { a.setPlaybackQuality(f) }); + var d = this.api.bj(), e = d.subscribe("visibilitystatechange", function () { a.Hc("onPictureInPictureChange", d.Dj()) }); + this.addOnDisposeCallback(function () { d.uh(e) }); + hR(a, "setRootNodeClickAction", function (f) { b.j = f }); + this.events.T(a.getRootNode(), "click", function () { switch (b.j) { case "togglePictureInPicture": a.togglePictureInPicture(); break; case "play": a.playVideo() } }) + }; + aNa = function (a) { oS.call(this, a); a = a.U(); a.wh.push("flix"); a.Ya = !1; a.Nj = !1 }; + OS = function (a) { + oS.call(this, a); var b = this; hR(this.api, "getSphericalProperties", function () { return b.getSphericalProperties() }); + hR(this.api, "setSphericalProperties", function () { b.setSphericalProperties.apply(b, g.x(g.Ca.apply(0, arguments))) }); + gR(this.api, "getSphericalProperties", function () { return b.api.getPresentingPlayerType() === 2 ? {} : b.getSphericalProperties() }); + gR(this.api, "setSphericalProperties", function () { var c = g.Ca.apply(0, arguments); b.api.getPresentingPlayerType() !== 2 && b.setSphericalProperties.apply(b, g.x(c)) }) + }; + PS = function (a) { oS.call(this, a); fR(a, "createClientVe", this.createClientVe.bind(this)); fR(a, "createServerVe", this.createServerVe.bind(this)); fR(a, "destroyVe", this.destroyVe.bind(this)); fR(a, "hasVe", this.hasVe.bind(this)); fR(a, "logClick", this.logClick.bind(this)); fR(a, "logVisibility", this.logVisibility.bind(this)); fR(a, "setTrackingParams", this.setTrackingParams.bind(this)) }; + QS = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); fR(this.api, "seekToChapterWithAnimation", function (c) { b.seekToChapterWithAnimation(c) }); + fR(this.api, "seekToTimeWithAnimation", function (c, d) { b.seekToTimeWithAnimation(c, d) }); + fR(this.api, "setMacroMarkers", function (c) { b.setMacroMarkers(a, c) }) + }; + RS = function (a, b, c) { var d = a.api.getCurrentTime() * 1E3 < b ? 1 : -1; a.api.kH(d, c); a.api.seekTo(b / 1E3, void 0, void 0, void 0, 3) }; + SS = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "videodatachange", function () { b.updateMetadata() }); + this.events.T(a, "presentingplayerstatechange", function () { bNa(b) }) + }; + TS = function (a, b) { navigator.mediaSession.setActionHandler(a, b) }; + cNa = function (a) { + TS("play", function () { a.api.playVideo() }); + TS("pause", function () { a.api.pauseVideo() }); + TS("seekbackward", function () { a.api.seekBy(-5 * a.api.getPlaybackRate()) }); + TS("seekforward", function () { a.api.seekBy(5 * a.api.getPlaybackRate()) }) + }; + dNa = function (a) { var b, c, d, e; return (b = a.api.getVideoData().getWatchNextResponse()) == null ? void 0 : (c = b.playerOverlays) == null ? void 0 : (d = c.playerOverlayRenderer) == null ? void 0 : (e = d.browserMediaSession) == null ? void 0 : e.browserMediaSessionRenderer }; + eNa = function (a) { var b = []; if (!a || !a.thumbnails) return b; a = g.w(a.thumbnails); for (var c = a.next(); !c.done; c = a.next())c = c.value, c.url && (!c.width || c.width <= 0 || !c.height || c.height <= 0 || g.nD(c.url) && b.push({ src: c.url || "", sizes: c.width + "x" + c.height, type: "image/jpeg" })); return b }; + bNa = function (a) { a = a.api.getPlayerStateObject(); a = a.isCued() || a.isError() ? "none" : a.isOrWillBePlaying() ? "playing" : "paused"; navigator.mediaSession.playbackState = a }; + US = function (a) { + oS.call(this, a); var b = this; this.B = new Map; this.C = this.j = void 0; this.compositeVideoState = null; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "modulecreated", function (c) { + var d; a: { + var e, f, h, l = (e = b.api.getVideoData()) == null ? void 0 : (f = e.getPlayerResponse()) == null ? void 0 : (h = f.overlay) == null ? void 0 : h.playerControlsOverlayRenderer; if (l && (e = g.R(l.compositeVideoOverlay, fNa), e == null ? 0 : (d = e.sources) == null ? 0 : d.length)) for (d = g.w(e == null ? void 0 : e.sources), e = d.next(); !e.done; e = d.next())if (e = + e.value, e.isActive) { d = e; break a } d = void 0 + } c === "captions" && (d == null ? void 0 : d.topLeftCornerX) !== void 0 && (d == null ? void 0 : d.topLeftCornerY) !== void 0 && (d == null ? void 0 : d.width) !== void 0 && (d == null ? void 0 : d.height) !== void 0 && b.api.bN({ top: d.topLeftCornerY, right: 1 - d.topLeftCornerX - d.width, bottom: 1 - d.topLeftCornerY - d.height, left: d.topLeftCornerX }) + }); + this.events.T(a, "videodatachange", function (c) { + var d = b.api.getVideoData(); b.j = void 0; b.B.clear(); b.api.rf("compositeembargo", 1); var e = d == null ? void 0 : d.CD.get("PLAYER_CUE_RANGE_SET_IDENTIFIER_EMBARGO"); (e == null ? 0 : e.length) ? gNa(b, e.filter(function (f) { return hNa(b, f) })) : (d == null ? 0 : d.cueRanges) && gNa(b, d.cueRanges.filter(function (f) { return hNa(b, f) })); + c === "dataupdated" && (d == null ? void 0 : d.compositeLiveStatusToken) !== b.C && (b.C = d == null ? void 0 : d.compositeLiveStatusToken, b.api.kp()) + }); + this.events.T(a, g.sD("compositeembargo"), function (c) { var d; if (((d = b.j) == null ? void 0 : d.id) !== c.id && (b.api.Uo(!0), b.B.has(c.id))) { var e = b.B.get(c.id); d = b.api.getVideoData(); e = g.w(e); for (var f = e.next(); !f.done; f = e.next()) { var h = void 0; f = (h = f.value.compositeEmbargo) == null ? void 0 : h.embargoStatusToken; d.fz !== f && (d.fz = f, b.api.kp()); iNa(b, c) } } }); + this.events.T(a, g.tD("compositeembargo"), function (c) { var d; if (((d = b.j) == null ? void 0 : d.id) === c.id && (b.api.Uo(!1), b.B.has(c.id))) { if (c = b.api.getVideoData()) c.fz = void 0; b.api.kp(); iNa(b) } }); + this.events.T(a, "heartbeatRequest", function (c) { b.compositeVideoState !== null && (c.playbackState || (c.playbackState = {}), c.playbackState.compositeVideoState = b.compositeVideoState) }); + this.events.T(a, "onPlaybackAudioChange", function () { b.api.kp() }); + fR(a, "setCompositeParam", function (c) { b.compositeVideoState = c }) + }; + iNa = function (a, b) { var c; ((c = a.j) == null ? void 0 : c.id) !== (b == null ? void 0 : b.id) && (a.j && (a.B.delete(a.j.id), a.api.Wo([a.j], 1)), a.j = b) }; + gNa = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { var d = c.value, e = void 0; c = Number((e = d.playbackRelativePosition) == null ? void 0 : e.utcTimeMs) / 1E3; var f = void 0; e = c + Number((f = d.duration) == null ? void 0 : f.seconds); f = "composite_embargo_" + c; d.onEnter && (d = d.onEnter.filter(a.D), d.length && (a.B.set(f, d), a.api.addUtcCueRange(f, c, e, "compositeembargo", !1))) } }; + hNa = function (a, b) { var c; return (c = b.onEnter) == null ? void 0 : c.some(a.D) }; + VS = function (a) { + oS.call(this, a); fR(this.api, "queueOfflineAction", this.queueOfflineAction.bind(this)); fR(this.api, "updateDownloadState", this.updateDownloadState.bind(this)); fR(this.api, "pauseVideoDownload", this.pauseVideoDownload.bind(this)); fR(this.api, "resumeVideoDownload", this.resumeVideoDownload.bind(this)); fR(this.api, "isOrchestrationLeader", this.isOrchestrationLeader.bind(this)); fR(this.api, "refreshAllStaleEntities", this.refreshAllStaleEntities.bind(this)); fR(this.api, "setUpPositionSyncInterval", + this.setUpPositionSyncInterval.bind(this)) + }; + WS = function (a) { + oS.call(this, a); var b = this; fR(a, "getAvailableQualityData", function () { return b.getAvailableQualityData() }); + fR(a, "getAvailableQualityDataAndMessaging", function () { return b.getAvailableQualityDataAndMessaging() }) + }; + jNa = function (a, b, c) { var d = [], e = b ? 156595 : 151874; a = g.w(a); for (var f = a.next(); !f.done; f = a.next()) { var h = f.value; f = h.video; h = { formatId: h.id, qualityLabel: f.qualityLabel, quality: f.quality, isPlayable: b }; if (f = c.get(f.qualityLabel)) h.paygatedQualityDetails = { paygatedIndicatorText: f.paygatedIndicatorText, endpoint: f.endpoint, veType: e, trackingParams: f.trackingParams }; d.push(h) } return d }; + kNa = function (a) { for (var b = 0, c = 0; c < a.length; c++)if (a[c].paygatedQualityDetails) { var d = a[c]; a.splice(c, 1); a.splice(b, 0, d); b++ } }; + lNa = function (a) { var b = new Set, c = new Map, d = {}; a = g.w(a); for (var e = a.next(); !e.done; e = a.next()) { e = e.value; var f = e.quality, h = e.isPlayable, l = e.qualityLabel; l && f && (h && c.has(f) && c.get(f) !== l ? b.add(f) : h && c.set(f, l), d[l] || (d[l] = e)) } c = []; d = g.w(Object.values(d)); for (a = d.next(); !a.done; a = d.next())e = a.value, (a = e.quality) && !b.has(a) && (e.formatId = void 0), c.push(e); return c }; + XS = function (a) { + oS.call(this, a); var b = this; this.B = 1; this.Lb = null; this.hd = { Yna: function () { return b.B } }; + this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "d6de4videobindingchange", function (c) { b.gI(c) }); + this.events.T(a, "csiinitialized", function () { mNa(b) }) + }; + mNa = function (a) { + if (window.android && window.android.webview && window.android.webview.getExperimentalMediaIntegrityTokenProvider) { + a.Lb = a.api.Wh(); var b = g.AC(a.api.U().experiments, "html5_d6de4_cloud_project_number"); a.C = new FF; a.B = 2; a.Lb.wg("pt_pis"); window.android.webview.getExperimentalMediaIntegrityTokenProvider({ cloudProjectNumber: b }).then(function (c) { a.j = c; var d; (d = a.C) == null || d.resolve(); a.Lb.wg("pt_pif") }).catch(function (c) { + a.Lb.wg("pt_pie"); + a.handleError(c) + }) + } + }; + nNa = function (a, b) { + a.j && (a.B = 3, a.Lb.wg("pt_ms"), a.j.requestToken(b).then(function (c) { a.Lb.wg("pt_mf"); (c = rO(c)) && a.api.CH({ Rca: c }) }).catch(function (c) { + a.Lb.wg("pt_me"); + a.handleError(c) + })) + }; + YS = function (a) { + g.T.call(this, { I: "button", Na: ["ytp-pip-button", "ytp-button"], X: { title: "{{title}}", "data-priority": "6", "data-title-no-tooltip": "{{data-title-no-tooltip}}", "data-tooltip-target-id": "ytp-pip-button" }, V: [wsa()] }); var b = this; this.api = a; this.listen("click", this.onClick); var c = this.api.bj(), d = c.subscribe("visibilitystatechange", function () { b.Ta(c.Dj()) }); + this.addOnDisposeCallback(function () { c.uh(d) }); + wR(a, this.element, this); this.Ta(c.Dj()) + }; + ZS = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "standardControlsInitialized", function () { b.createButton() }); + g.bP(this.api.U()) && (this.L("web_enable_auto_pip") || this.L("web_enable_pip_on_miniplayer")) && fR(this.api, "setDocumentPictureInPicture", function (c) { b.setDocumentPictureInPicture(c) }) + }; + oNa = function (a) { var b = a.api.getVideoData(); g.Mx(a.button, b.bY) }; + pNa = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); fR(this.api, "musicDisableUi", function () { g.np(b.api.getRootNode(), "ytp-player-in-bar-disable-ui") }); + fR(this.api, "musicEnableUi", function () { g.pp(b.api.getRootNode(), "ytp-player-in-bar-disable-ui") }) + }; + bT = function (a, b, c) { + b = b === void 0 ? !0 : b; c = c === void 0 ? !1 : c; g.T.call(this, { I: "div", S: "ytp-suggested-action" }); var d = this; this.J = a; this.Ab = this.ra = this.Ba = this.G = this.D = this.Y = this.expanded = this.enabled = this.Wa = !1; this.fb = new g.fp(function () { d.badge.element.style.width = "" }, 200, this); + this.Ra = new g.fp(function () { $S(d); aT(d) }, 200, this); + this.dismissButton = new g.T({ I: "button", Na: ["ytp-suggested-action-badge-dismiss-button-icon", "ytp-button"] }); g.P(this, this.dismissButton); this.C = new g.T({ I: "div", S: "ytp-suggested-action-badge-expanded-content-container", V: [{ I: "label", S: "ytp-suggested-action-badge-title", va: "{{badgeLabel}}" }, this.dismissButton] }); g.P(this, this.C); this.Ma = new g.T({ I: "div", S: "ytp-suggested-action-badge-icon-container", V: [b ? { I: "div", S: "ytp-suggested-action-badge-icon" } : ""] }); g.P(this, this.Ma); this.badge = new g.T({ + I: c ? "div" : + "button", Na: ["ytp-button", "ytp-suggested-action-badge", "ytp-suggested-action-badge-with-controls"], V: [this.Ma, this.C] + }); g.P(this, this.badge); this.badge.Ja(this.element); this.qa = new g.Dy(this.badge, 250, !1, 100); g.P(this, this.qa); this.Xa = new g.Dy(this.C, 250, !1, 100); g.P(this, this.Xa); this.ob = new g.ep(this.uea, null, this); g.P(this, this.ob); this.Ya = new g.ep(this.l8, null, this); g.P(this, this.Ya); g.P(this, this.fb); g.P(this, this.Ra); this.J.createServerVe(this.badge.element, this.badge, !0); this.J.createServerVe(this.dismissButton.element, + this.dismissButton, !0); this.T(this.J, "onHideControls", function () { d.wL(!1) }); + this.T(this.J, "onShowControls", function () { d.wL(!0) }); + this.T(this.badge.element, "click", this.tG); this.T(this.dismissButton.element, "click", this.Ru); this.T(this.J, "pageTransition", this.PV); this.T(this.J, "appresize", this.Vl); this.T(this.J, "fullscreentoggled", this.Oaa); this.T(this.J, "cardstatechange", this.vaa); this.T(this.J, "annotationvisibility", this.dfa, this); this.T(this.J, "offlineslatestatechange", this.efa, this) + }; + $S = function (a) { g.rp(a.badge.element, "ytp-suggested-action-badge-with-controls", a.Ba || !a.Y) }; + aT = function (a, b) { var c = a.DM(); a.expanded !== c && (a.expanded = c, b === void 0 || b ? (a.ob.stop(), a.Ya.stop(), a.fb.stop(), a.ob.start()) : (g.Mx(a.C, a.expanded), g.rp(a.badge.element, "ytp-suggested-action-badge-expanded", a.expanded)), a.aL()) }; + qNa = function (a) { var b = a.text || "", c = g.de("ytp-suggested-action-badge-title", a.element); c && g.re(c, b); a.badge.element.setAttribute("aria-label", b); a.dismissButton.element.setAttribute("aria-label", a.Va ? a.Va : "") }; + cT = function (a, b, c, d, e, f) { + var h = { I: "div", S: "ytp-panel" }; if (c) { var l = "ytp-panel-back-button"; var m = "ytp-panel-title"; var n = { I: "div", S: "ytp-panel-header", V: [{ I: "div", Na: ["ytp-panel-back-button-container"], V: [{ X: { "aria-label": "Back to previous menu" }, I: "button", Na: ["ytp-button", l] }] }, { I: "span", Na: [m], V: [c] }] }; if (e) { var p = "ytp-panel-options"; n.V.push({ I: "button", Na: ["ytp-button", p], V: [d] }) } h.V = [n] } d = !1; f && (f = { I: "div", S: "ytp-panel-footer", V: [f] }, d = !0, h.V ? h.V.push(f) : h.V = [f]); g.Nx.call(this, h); this.content = + b; d && h.V ? b.Ja(this.element, h.V.length - 1) : b.Ja(this.element); this.fZ = !1; this.eZ = d; c && (c = this.Ea(l), m = this.Ea(m), this.T(c, "click", this.Y_), this.T(m, "click", this.Y_), this.fZ = !0, e && (p = this.Ea(p), this.T(p, "click", e))); b.subscribe("size-change", this.f0, this); this.T(a, "fullscreentoggled", this.f0); this.J = a + }; + g.dT = function (a, b, c, d, e, f) { b = b === void 0 ? null : b; var h = { role: "menu" }; b && (h.id = b); b = new g.Nx({ I: "div", S: "ytp-panel-menu", X: h }); cT.call(this, a, b, c, d, e, f); this.menuItems = b; this.items = []; g.P(this, this.menuItems) }; + g.eT = function (a) { for (var b = g.w(a.items), c = b.next(); !c.done; c = b.next())c.value.unsubscribe("size-change", a.iS, a); a.items = []; g.me(a.menuItems.element); a.menuItems.publish("size-change") }; + rNa = function (a, b) { return b.priority - a.priority }; + g.fT = function (a, b) { g.hS.call(this, a, { I: "div", Na: ["ytp-popup", b || ""] }, 100, !0); this.j = []; this.K = this.G = null; this.maxHeight = this.maxWidth = 0; this.size = new g.Id(0, 0); this.listen("keydown", this.H5) }; + sNa = function (a) { + var b = a.j[a.j.length - 1]; if (b) { + g.um(a.element, a.maxWidth || "100%", a.maxHeight || "100%"); g.jm(b.element, "width", ""); g.jm(b.element, "height", ""); g.jm(b.element, "maxWidth", "100%"); g.jm(b.element, "maxHeight", "100%"); g.jm(b.content.element, "height", ""); var c = g.Am(b.element); c.width += 1; c.height += 1; g.jm(b.element, "width", c.width + "px"); g.jm(b.element, "height", c.height + "px"); g.jm(b.element, "maxWidth", ""); g.jm(b.element, "maxHeight", ""); var d = 0; b.fZ && (d = b.Ea("ytp-panel-header"), d = g.Am(d).height); + var e = 0; b.eZ && (e = b.Ea("ytp-panel-footer"), g.jm(e, "width", c.width + "px"), e = g.Am(e).height); g.jm(b.content.element, "height", c.height - d - e + "px"); b.element instanceof HTMLElement && (d = b.element, e = d.scrollWidth - d.clientWidth, d.offsetWidth - d.clientWidth > 0 && e > 0 && (c.width += e, g.jm(b.element, "width", c.width + "px"))); a.size = c + } + }; + g.hT = function (a, b) { var c = a.j[a.j.length - 1]; c !== b && (a.j.push(b), gT(a, c, b)) }; + g.iT = function (a) { if (!(a.j.length <= 1)) { var b = a.j.pop(), c = a.j[0]; a.j = [c]; gT(a, b, c, !0) } }; + gT = function (a, b, c, d) { + tNa(a); b && (b.unsubscribe("size-change", a.HC, a), b.unsubscribe("back", a.hj, a)); c.subscribe("size-change", a.HC, a); c.subscribe("back", a.hj, a); if (a.Hb) { + g.np(c.element, d ? "ytp-panel-animate-back" : "ytp-panel-animate-forward"); c.Ja(a.element); c.focus(); a.element.scrollLeft = 0; a.element.scrollTop = 0; var e = a.size; sNa(a); g.um(a.element, e); a.G = new g.fp(function () { uNa(a, b, c, d) }, 20, a); + a.G.start() + } else c.Ja(a.element), b && b.detach() + }; + uNa = function (a, b, c, d) { + a.G.dispose(); a.G = null; g.np(a.element, "ytp-popup-animating"); d ? (g.np(b.element, "ytp-panel-animate-forward"), g.pp(c.element, "ytp-panel-animate-back")) : (g.np(b.element, "ytp-panel-animate-back"), g.pp(c.element, "ytp-panel-animate-forward")); g.um(a.element, a.size); a.K = new g.fp(function () { g.pp(a.element, "ytp-popup-animating"); b.detach(); g.qp(b.element, ["ytp-panel-animate-back", "ytp-panel-animate-forward"]); a.K.dispose(); a.K = null }, 250, a); + a.K.start() + }; + tNa = function (a) { a.G && g.hp(a.G); a.K && g.hp(a.K) }; + jT = function (a) { g.fT.call(this, a, "ytp-shopping-product-menu"); this.Oe = new g.dT(this.J); g.P(this, this.Oe); this.hide(); g.hT(this, this.Oe); g.GR(this.J, this.element, 4) }; + wNa = function (a, b, c) { var d, e = b == null ? void 0 : (d = b.text) == null ? void 0 : d.simpleText; e && (c = vNa(a, c, e, b == null ? void 0 : b.icon, b == null ? void 0 : b.secondaryIcon), b.navigationEndpoint && c.listen("click", function () { a.J.ib("innertubeCommand", b.navigationEndpoint); a.hide() }, a)) }; + xNa = function (a, b, c) { var d, e = b == null ? void 0 : (d = b.text) == null ? void 0 : d.simpleText; e && vNa(a, c, e, b == null ? void 0 : b.icon).listen("click", function () { var f; (b == null ? void 0 : (f = b.icon) == null ? void 0 : f.iconType) === "HIDE" ? a.J.publish("featuredproductdismissed") : b.serviceEndpoint && a.J.ib("innertubeCommand", b.serviceEndpoint); a.hide() }, a) }; + vNa = function (a, b, c, d, e) { b = new g.kS(g.lS({}, [], !1, !!e), b, c); e && b.updateValue("secondaryIcon", yNa(e)); b.setIcon(yNa(d)); g.P(a, b); a.Oe.Uc(b, !0); return b }; + yNa = function (a) { + if (!a) return null; switch (a.iconType) { + case "ACCOUNT_CIRCLE": return { + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 1c4.96 0 9 4.04 9 9 0 1.42-.34 2.76-.93 3.96-1.53-1.72-3.98-2.89-7.38-3.03A3.99 3.99 0 0016 9c0-2.21-1.79-4-4-4S8 6.79 8 9c0 1.97 1.43 3.6 3.31 3.93-3.4.14-5.85 1.31-7.38 3.03C3.34 14.76 3 13.42 3 12c0-4.96 4.04-9 9-9zM9 9c0-1.65 1.35-3 3-3s3 1.35 3 3-1.35 3-3 3-3-1.35-3-3zm3 12c-3.16 0-5.94-1.64-7.55-4.12C6.01 14.93 8.61 13.9 12 13.9c3.39 0 5.99 1.03 7.55 2.98C17.94 19.36 15.16 21 12 21z", + fill: "#fff" + } + }] + }; case "FLAG": return { I: "svg", X: { fill: "none", height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ I: "path", X: { d: "M13.18 4L13.42 5.2L13.58 6H14.4H19V13H13.82L13.58 11.8L13.42 11H12.6H6V4H13.18ZM14 3H5V21H6V12H12.6L13 14H20V5H14.4L14 3Z", fill: "white" } }] }; case "HELP": return psa(); case "HIDE": return { I: "svg", X: { "enable-background": "new 0 0 24 24", fill: "#fff", height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ I: "g", V: [{ I: "path", X: { d: "M16.24,9.17L13.41,12l2.83,2.83l-1.41,1.41L12,13.41l-2.83,2.83l-1.41-1.41L10.59,12L7.76,9.17l1.41-1.41L12,10.59 l2.83-2.83L16.24,9.17z M4.93,4.93c-3.91,3.91-3.91,10.24,0,14.14c3.91,3.91,10.24,3.91,14.14,0c3.91-3.91,3.91-10.24,0-14.14 C15.17,1.02,8.83,1.02,4.93,4.93z M18.36,5.64c3.51,3.51,3.51,9.22,0,12.73s-9.22,3.51-12.73,0s-3.51-9.22,0-12.73 C9.15,2.13,14.85,2.13,18.36,5.64z" } }] }] }; + case "OPEN_IN_NEW": return Zx() + } + }; + kT = function (a) { + bT.call(this, a, !1, !0); this.isCounterfactual = this.B = this.isVisible = this.isInitialized = this.shouldShowOverflowButton = this.shouldHideDismissButton = !1; this.Y = !0; this.overflowButton = new g.T({ I: "button", Na: ["ytp-featured-product-overflow-icon", "ytp-button"], X: { "aria-haspopup": "true" } }); this.overflowButton.hide(); g.P(this, this.overflowButton); this.badge.element.classList.add("ytp-suggested-action"); this.thumbnailImage = new g.T({ I: "img", S: "ytp-suggested-action-badge-img", X: { src: "{{url}}" } }); + this.thumbnailImage.hide(); g.P(this, this.thumbnailImage); this.thumbnailIcon = new g.T({ I: "div", S: "ytp-suggested-action-badge-icon" }); this.thumbnailIcon.hide(); g.P(this, this.thumbnailIcon); this.banner = new g.T({ + I: "a", S: "ytp-suggested-action-container", V: [this.thumbnailImage, this.thumbnailIcon, { + I: "div", S: "ytp-suggested-action-details", V: [{ I: "text", S: "ytp-suggested-action-title", va: "{{title}}" }, { I: "text", S: "ytp-suggested-action-subtitle", va: "{{subtitle}}" }, { + I: "text", S: "ytp-suggested-action-metadata-text", + va: "{{metadata}}" + }] + }, this.dismissButton, this.overflowButton] + }); g.P(this, this.banner); this.banner.Ja(this.C.element); this.T(this.J, "videodatachange", this.onVideoDataChange); this.T(this.J, g.sD("suggested_action_view_model"), this.Maa); this.T(this.J, g.tD("suggested_action_view_model"), this.Naa); this.T(this.overflowButton.element, "click", this.I5); this.T(a, "featuredproductdismissed", this.Ru); this.J.createServerVe(this.banner.element, this.banner, !0) + }; + lT = function (a) { a.isInitialized && (a.enabled = a.isVisible, a.ra = a.isVisible, aT(a), a.Vl(), g.Mx(a.thumbnailImage, a.isVisible), a.shouldHideDismissButton || g.Mx(a.dismissButton, a.isVisible), a.shouldShowOverflowButton && g.Mx(a.overflowButton, a.isVisible)) }; + mT = function () { kT.apply(this, arguments) }; + zNa = function (a) { oS.call(this, a); this.j = new mT(this.api); g.P(this, this.j); g.GR(this.api, this.j.element, 4) }; + nT = function (a) { + oS.call(this, a); var b = this; this.j = ""; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "internalaudioformatchange", function (c, d) { if (d) { d = b.api.getAvailableAudioTracks(); d = g.w(d); for (var e = d.next(); !e.done; e = d.next())if (e.value.getLanguageInfo().getId() === c) { b.j = c; break } } }); + this.events.T(a, "videoplayerreset", function () { b.j && ANa(b) }); + this.events.T(a, "videodatachange", function (c, d) { b.onVideoDataChange(c, d) }) + }; + ANa = function (a) { var b = a.api.Vc(); b && (b.getVideoData().pfa = a.j) }; + g.oT = function (a, b, c, d, e, f, h) { g.kS.call(this, g.lS({ "aria-haspopup": "true" }), b, a); this.Fb = d; this.K = !1; this.C = null; this.options = {}; this.B = new g.dT(c, void 0, a, e, f, h); g.P(this, this.B); this.listen("keydown", this.J5); this.listen("click", this.open) }; + BNa = function (a) { if (a.C) { var b = a.options[a.C]; b.element.getAttribute("aria-checked"); b.element.setAttribute("aria-checked", "false"); a.C = null } }; + g.pT = function (a, b) { g.eT(a.B); for (var c = {}, d = !1, e = 0; e < b.length; e++) { var f = b[e], h = a.options[f], l = f === a.C; l && (d = !0); h && h.priority === -e ? (a.options[f].Tj(a.ll(f, !0)), delete a.options[f]) : h = a.Gz(f, -e, l); c[f] = h; a.B.Uc(h, !0) } d || (a.C = null); b = g.w(Object.keys(a.options)); for (d = b.next(); !d.done; d = b.next())a.options[d.value].dispose(); a.options = c }; + qT = function (a, b) { + g.oT.call(this, "Sleep timer", g.BS.SLEEP_TIMER, a, b); this.J = a; this.Y = {}; this.G = this.mA("Off"); this.N = this.j = ""; a.L("web_settings_menu_icons") && this.setIcon({ + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + d: "M16.67,4.31C19.3,5.92,21,8.83,21,12c0,4.96-4.04,9-9,9c-2.61,0-5.04-1.12-6.72-3.02C5.52,17.99,5.76,18,6,18 c6.07,0,11-4.93,11-11C17,6.08,16.89,5.18,16.67,4.31 M14.89,2.43C15.59,3.8,16,5.35,16,7c0,5.52-4.48,10-10,10 c-1,0-1.97-0.15-2.89-0.43C4.77,19.79,8.13,22,12,22c5.52,0,10-4.48,10-10C22,7.48,19,3.67,14.89,2.43L14.89,2.43z M12,6H6v1h4.5 L6,10.99v0.05V12h6v-1H7.5L12,7.01V6.98V6L12,6z", + fill: "#fff" + } + }] + }); this.D = new g.T({ I: "div", Na: ["ytp-menuitem-label-wrapper"], V: [{ I: "div", va: "End of video" }, { I: "div", Na: ["ytp-menuitem-sublabel"], va: "{{content}}" }] }); g.P(this, this.D); this.listen("click", this.onClick); this.T(a, "videodatachange", this.onVideoDataChange); this.T(a, "presentingplayerstatechange", this.Ta); this.T(a, "settingsMenuVisibilityChanged", this.kca); a.createClientVe(this.element, this, 218889); this.Ta(); this.J.ib("onSleepTimerFeatureAvailable") + }; + CNa = function (a) { var b = "Off 10 15 20 30 45 60".split(" "), c; ((c = a.J.getVideoData()) == null ? 0 : c.isLivePlayback) || b.push("End of video"); c = a.J.getPlaylist(); var d; c && ((d = c.listId) == null ? void 0 : d.type) !== "RD" && b.push("End of playlist"); g.pT(a, g.Al(b, a.mA)); a.Y = g.dc(b, a.mA, a); b = a.mA("End of video"); a.options[b] && a.options[b].Tj(a.D) }; + DNa = function (a, b) { var c = a.Y[b], d = c === "End of video" || c === "End of playlist"; c === "Off" && (a.j = ""); a.J.getPlayerState() !== 0 && a.J.getPlayerState() !== 5 || !d ? (a.G = b, g.oT.prototype.Hg.call(a, b), a.Ti(b), a.J.ib("onSleepTimerSettingsChanged", c)) : a.J.ib("innertubeCommand", { openPopupAction: { popupType: "TOAST", popup: { notificationActionRenderer: { responseText: { simpleText: "Video has already ended" } } } } }) }; + rT = function (a) { + oS.call(this, a); var b = this; a.addEventListener("settingsMenuInitialized", function () { b.menuItem || (b.menuItem = new qT(b.api, b.api.Lm()), g.P(b, b.menuItem)) }); + a.addEventListener("openSettingsMenuItem", function (c) { if (c === "menu_item_sleep_timer") { if (!b.menuItem) { var d; (d = b.api.Lm()) == null || d.pd() } b.menuItem.open() } }); + fR(a, "resetSleepTimerMenuSettings", function () { b.resetSleepTimerMenuSettings() }); + fR(a, "setSleepTimerTimeLeft", function (c) { b.setSleepTimerTimeLeft(c) }); + fR(a, "setVideoTimeLeft", function (c) { b.setVideoTimeLeft(c) }) + }; + g.tT = function (a, b, c, d, e) { b = b === void 0 ? !1 : b; d = d === void 0 ? !1 : d; e = e === void 0 ? !1 : e; g.Fx.call(this); this.Y = e; this.N = !1; this.D = new Ws(this); this.G = this.K = null; this.C = this.B = !1; g.P(this, this.D); this.target = a; this.j = b; this.Z = c || a; this.N = d; b && (g.lc && this.target.setAttribute("draggable", "true"), e || (this.target.style.touchAction = "none")); sT(this) }; + uT = function (a) { g.Ys(a.D, !a.j) }; + sT = function (a) { a.G = null; a.K = null; a.T(vT("over"), a.Ux); a.T("touchstart", a.LN); a.j && a.T(vT("down"), a.T$) }; + ENa = function (a, b) { for (var c = 0; c < b.changedTouches.length; c++) { var d = b.changedTouches[c]; if (d.identifier === a.K) return d } return null }; + vT = function (a) { return window.navigator.msPointerEnabled ? "MSPointer" + a.charAt(0).toUpperCase() + a.substr(1) : "mouse" + a }; + wT = function (a) { return a && FNa ? Yd(a) || document : document }; + xT = function (a, b) { g.T.call(this, { I: "div", Na: ["ytp-overlay", "ytp-speedmaster-overlay"], V: [{ I: "div", S: "ytp-speedmaster-user-edu", V: [{ I: "div", S: "ytp-speedmaster-label", va: b }, { I: "div", S: "ytp-speedmaster-icon", va: "{{icon}}" }] }] }); this.J = a; this.j = this.Ea("ytp-speedmaster-user-edu"); this.updateValue("icon", osa()); g.np(this.j, "ytp-speedmaster-has-icon"); this.J.createClientVe(this.j, this, 173040, !0); this.gi() }; + zT = function (a) { + oS.call(this, a); var b = this; this.D = this.C = !1; this.Ra = g.AC(this.api.U().experiments, "speedmaster_touch_activation_ms") || 500; this.Ba = g.AC(this.api.U().experiments, "speedmaster_cancellation_movement_dp") || 10; this.Ka = g.AC(this.api.U().experiments, "speedmaster_playback_rate") || 2; this.B = new g.OE(a); g.P(this, this.B); this.Y = "2x"; this.speedmasterUserEdu = new xT(a, this.Y); g.P(this, this.speedmasterUserEdu); g.GR(this.api, this.speedmasterUserEdu.element, 4); this.j = new g.tT(this.api.qb().Tz, !0, null, + !1, !0); g.P(this, this.j); this.delay = new g.fp(this.Ga, this.Ra, this); g.P(this, this.delay); this.B.T(a, "videodatachange", function () { yT(b) }, this); + this.B.T(a, "presentingplayerstatechange", function () { yT(b) }, this); + this.B.T(a, "autonavvisibility", function () { yT(b) }, this); + this.api.bj().subscribe("visibilitystatechange", function () { yT(b) }); + this.B.T(a, "rootnodemousedown", function (c) { b.N = c }); + this.L("web_speedmaster_spacebar_control") && (this.B.T(a, "keyboardserviceglobalkeydown", function (c, d) { b.qa = d; GNa(b, c, !0) }, this), this.B.T(a, "keyboardserviceglobalkeyup", function (c) { GNa(b, c, !1) }, this)) + }; + AT = function (a) { a.delay.stop(); a.j.unsubscribe("dragmove", a.K, a); a.j.unsubscribe("dragend", a.G, a); a.C && (a.C = !1, a.speedmasterUserEdu.gi(), a.api.setPlaybackRate(a.Fa), a.api.showControls(), a.Ma && a.api.pauseVideo()) }; + GNa = function (a, b, c) { c ? b.keyCode !== 32 || b.repeat || a.C || !a.D || g.gp(a.delay) : AT(a) }; + yT = function (a) { var b, c; var d = !!a.Y && !((b = a.api.getVideoData()) == null ? 0 : b.isLivePlayback) && !a.api.Df() && a.api.getPresentingPlayerType() !== 2 && !g.U(a.api.getPlayerStateObject(), 2) && !((c = g.nR(a.api)) == null ? 0 : c.Og()) && !a.api.jd() && BT(a.api.bj()); a.D !== d && (a.D = d, a.D ? a.j.subscribe("dragstart", a.ra, a) : (a.j.unsubscribe("dragstart", a.ra, a), a.j.unsubscribe("dragmove", a.K, a), a.j.unsubscribe("dragend", a.G, a), AT(a))) }; + CT = function (a) { + oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); fR(this.api, "addPlayerResponseForAssociation", function (c) { b.api.addPlayerResponseForAssociation(c) }); + fR(this.api, "finishSegmentByCpn", function (c, d) { return b.api.finishSegmentByCpn(c, d) }); + this.events.T(a, "modulecreated", function (c) { if (c === "ad" && (c = b.api.getVideoData(1)) && (c = c.getPlayerResponse())) { var d; c = (d = c.adPlacements) != null ? d : []; d = g.w(c); for (var e = d.next(); !e.done; e = d.next()) { var f = c = void 0, h = void 0; if (e = (c = e.value.adPlacementRenderer) == null ? void 0 : (f = c.renderer) == null ? void 0 : (h = f.instreamVideoAdRenderer) == null ? void 0 : h.playerVars) c = xr(e), b.api.addPlayerResponseForAssociation({ playerVars: c }) } } }); + this.events.T(a, "videodatachange", function (c, d) { b.onVideoDataChange(c, d) }) + }; + DT = function (a, b, c) { g.lb.call(this, b, a); this.j = c }; + g.ET = function (a) { GF.call(this); var b = this; this.j = a; this.G = {}; this.listener = function (c) { b.dispatchEvent(new DT(b, c.type, c)) } }; + FT = function (a) { this.data = window.Float32Array ? new Float32Array(a) : Array(a); this.B = this.j = a - 1 }; + HNa = function (a) { return a.data[a.j] || 0 }; + GT = function (a) { g.O.call(this); this.C = a; this.j = new Map; this.B = new g.fp(this.sample, 250, this); g.P(this, this.B); this.start() }; + HT = function (a, b) { if ((a = a.j.get(b)) == null) a = void 0; else { a = a.buffer; for (b = []; a.B !== a.j;)a.B = (a.B + 1) % a.data.length, b.push(a.data[a.B]); a = b } return a || [] }; + IT = function (a, b) { var c; return ((c = a.j.get(b)) == null ? void 0 : HNa(c.buffer)) || 0 }; + INa = function (a) { this.j = a; this.YA = NaN; this.buffer = new FT(100) }; + LNa = function (a) { + var b = a.Vc(), c = a.getVideoData(), d = a.Ke(), e = d.Ib(), f = a.U(), h = b.vF(), l = b.bU, m = IT(l, "bandwidth") * 8 / 1024, n = IT(l, "networkactivity") / 1024, p = IT(l, "bufferhealth"); if (b.Ae) { var q = b.videoData.useInnertubeDrmService() ? "IT/" : ""; q += b.Ae.j.getInfo() + "/" + uL(b.hx()); q += "/" + b.Ae.getInfo() } else q = ""; var r = q, t = b.getPlayerState().state.toString(16), u = d.getCurrentTime().toFixed(2), y = lF(d.Eh(), ",", 3); q = ""; if (c.isDaiEnabled()) { + c.enableServerStitchedDai && (q += c.bE ? "DS" : "SS"); q = c.oi() ? q + "LIFA, " : q + "DAI, "; + var A = JNa(b); A && (q += A) + } var D; ((D = a.getVideoData(1)) == null ? 0 : g.jQ(D)) ? (q += "SSAP, ", (D = JNa(b)) && (q += D)) : gQ(c) && (q += "SABR, "); if (c.fetchType) { switch (c.fetchType) { case "onesie": D = "o"; break; case "gp": D = "gp"; break; default: D = "gvi" }q += "vd:" + D + ", " } f.wd && (q = f.wd.Bo ? q + "wa, " : q + "w, "); q += "s:" + t + " t:" + u + " b:" + y + " "; d.isSeeking() && (q += "S"); d.isPaused() && (q += "P"); d.isEnded() && (q += "E"); a.isOrchestrationLeader() && (q += " L"); (d = b.jF()) && (q += " l:" + d.toFixed()); d = b.getCurrentTime(); f = c.eD; d && d > f.start && d < f.end && (q += + " as"); d = q; q = g.tr(kA)("_start", void 0); f = []; t = g.w(["pl_i", "vir", "or_p", "orfb", "pbs"]); for (u = t.next(); !u.done; u = t.next())u = u.value, (y = g.tr(kA)(u, void 0)) && q && (y -= q, f.push(u + ":" + Math.round(y))); q = f.join(" "); f = g.aP(); t = g.FR(a).a$; u = c.C && !c.C.j ? "display:none" : ""; if ((y = c.clientPlaybackNonce) && y.length == 16) { + y += "AAAA"; D = 0; A = ""; for (var F = 0; F < 20; F++)if (D = (D << 6) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".indexOf(y.charAt(F)), F % 5 == 4) { + for (var H = "", M = 0; M < 6; M++)H = "0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(D & + 31) + H, D >>= 5; A += H + } y = A.substr(0, 4) + " " + A.substr(4, 4) + " " + A.substr(8, 4) + " " + (A.substr(12, 4) + " " + A.substr(16, 4)) + } else y = ""; m = { + video_id_and_cpn: String(c.videoId) + " / " + y, codecs: "", dims_and_frames: "", bandwidth_kbps: m.toFixed(0) + " Kbps", buffer_health_seconds: p.toFixed(2) + " s", date: "" + (new Date).toString(), drm_style: r ? "" : "display:none", drm: r, debug_info: d, extra_debug_info: "", bandwidth_style: u, network_activity_style: u, network_activity_bytes: n.toFixed(0) + " KB", shader_info: t, shader_info_style: t ? "" : "display:none", + playback_categories: "" + }; n = e.clientWidth + "x" + e.clientHeight + (f > 1 ? "*" + f.toFixed(2) : ""); p = "-"; h.totalVideoFrames && (p = (h.droppedVideoFrames || 0) + " dropped of " + h.totalVideoFrames); m.dims_and_frames = n + " / " + p; a = a.getVolume(); h = PLa(c); var N; n = ((N = c.D) == null ? 0 : N.audio.j) ? "DRC" : Math.round(a * h) + "%"; N = Math.round(a) + "% / " + n; a = c.Hj.toFixed(1); isFinite(Number(a)) && (N += " (content loudness " + a + "dB)"); m.volume = N; m.resolution = e.videoWidth + "x" + e.videoHeight; if (e = c.B) { + if (N = e.video) a = N.fps, a > 1 && (m.resolution += "@" + a), + (a = g.JT(b)) && a.video && (m.resolution += " / " + a.video.width + "x" + a.video.height, a.video.fps > 1 && (m.resolution += "@" + a.video.fps)), m.codecs = KNa(e), !c.D || e.audio && e.video ? e.M_ && (m.codecs += " / " + e.M_ + "A") : m.codecs += " / " + KNa(c.D), N.B || N.primaries ? (a = N.B || "unknown", a === "smpte2084" ? a += " (PQ)" : a === "arib-std-b67" && (a += " (HLG)"), m.color = a + " / " + (N.primaries || "unknown"), m.color_style = "") : m.color_style = "display:none"; if (e.debugInfo) for (m.fmt_debug_info = "", e = g.w(e.debugInfo), N = e.next(); !N.done; N = e.next())N = N.value, + m.fmt_debug_info += N.label + ":" + N.text + " "; m.fmt_debug_info_style = m.fmt_debug_info && m.fmt_debug_info.length > 0 ? "" : "display:none" + } e = c.isLivePlayback; N = c.Wd; m.live_mode_style = e || N ? "" : "display:none"; m.live_latency_style = e ? "" : "display:none"; if (N) m.live_mode = "Post-Live" + (iQ(c) ? " Manifestless" : ""); else if (e) { + N = IT(l, "livelatency"); m.live_latency_secs = N.toFixed(2) + "s"; e = iQ(c) ? "Manifestless, " : ""; c.Ka && (e += "Windowed, "); a = "Uncertain"; if (N >= 0 && N < 120) if (c.latencyClass && c.latencyClass !== "UNKNOWN") switch (c.latencyClass) { + case "NORMAL": a = + "Optimized for Normal Latency"; break; case "LOW": a = "Optimized for Low Latency"; break; case "ULTRALOW": a = "Optimized for Ultra Low Latency"; break; default: a = "Unknown Latency Setting" + } else a = c.isLowLatencyLiveStream ? "Optimized for Low Latency" : "Optimized for Smooth Streaming"; e += a; (N = b.getPlaylistSequenceForTime(b.getCurrentTime())) && (e += ", seq " + N.sequence); m.live_mode = e + } b.isGapless() && (m.playback_categories += "Gapless "); m.playback_categories_style = m.playback_categories ? "" : "display:none"; m.bandwidth_samples = + HT(l, "bandwidth"); m.network_activity_samples = HT(l, "networkactivity"); m.live_latency_samples = HT(l, "livelatency"); m.buffer_health_samples = HT(l, "bufferhealth"); b = g.YQ(c); if (c.cotn || b) m.cotn_and_local_media = (c.cotn ? c.cotn : "null") + " / " + b; m.cotn_and_local_media_style = m.cotn_and_local_media ? "" : "display:none"; dQ(c, "web_player_release_debug") ? (m.release_name = "youtube.player.web_20240730_01_RC00", m.release_style = "") : m.release_style = "display:none"; m.debug_info && q.length > 0 && m.debug_info.length + q.length <= 60 ? + m.debug_info += " " + q : m.extra_debug_info = q; m.extra_debug_info_style = m.extra_debug_info && m.extra_debug_info.length > 0 ? "" : "display:none"; return m + }; + KNa = function (a) { var b = /codecs="([^"]*)"/.exec(a.mimeType); return b && b[1] ? b[1] + " (" + a.itag + ")" : a.itag }; + KT = function (a, b, c, d, e) { g.T.call(this, { I: "div", S: "ytp-horizonchart" }); this.K = b; this.sampleCount = c; this.D = d; this.G = e; this.index = 0; this.heightPx = -1; this.C = this.B = null; this.j = Math.round(a / c); this.element.style.width = this.j * this.sampleCount + "px"; this.element.style.height = this.K + "em" }; + LT = function (a, b) { + if (a.heightPx === -1) { var c = null; try { c = g.je("CANVAS"), a.B = c.getContext("2d") } catch (l) { } if (a.B) { var d = a.j * a.sampleCount; a.C = c; a.C.width = d; a.C.style.width = d + "px"; a.element.appendChild(a.C) } else for (a.sampleCount = Math.floor(a.sampleCount / 4), a.j *= 4, c = 0; c < a.sampleCount; c++)d = g.je("SPAN"), d.style.width = a.j + "px", d.style.left = a.j * c + "px", a.element.appendChild(d) } c = a.element.clientHeight || 24; c !== a.heightPx && (a.heightPx = c, a.B && (c = (window.devicePixelRatio || 1) > 1 ? 2 : 1, a.C.height = a.heightPx * c, a.C.style.height = + a.heightPx + "px", a.B.scale(1, c))); b = g.w(b); for (d = b.next(); !d.done; d = b.next()) { + c = a; var e = a.index, f = d.value; for (d = 0; d + 2 < c.D.length && c.D[d + 1] < f;)d++; f = Math.min(1, (f - c.D[d]) / (c.D[d + 1] - c.D[d])); if (c.B) c.B.fillStyle = c.G[d], c.B.fillRect(e * c.j, 0, c.j, c.heightPx), c.B.fillStyle = c.G[d + 1], c.B.fillRect(e * c.j, c.heightPx * (1 - f), c.j, c.heightPx); else { + e = c.element.children[e]; var h = window.devicePixelRatio || 1; f = Math.min(c.heightPx, Math.round(c.heightPx * f * h) / h) || 0; e.style.height = f + "px"; e.style.backgroundColor = c.G[d + 1]; e.style.borderTop = + "solid " + (c.heightPx - f) + "px " + c.G[d] + } a.index = (a.index + 1) % a.sampleCount + } b = a.index; a.B ? a.B.clearRect(b * a.j, 0, a.j, a.heightPx) : (a = a.element.children[b], a.style.height = "0px", a.style.borderTop = "") + }; + MT = function (a) { + var b = null; b = { I: "button", Na: ["ytp-sfn-close", "html5-video-info-panel-close", "ytp-button"], X: { title: "close" }, va: "[X]" }; g.T.call(this, { + I: "div", Na: ["html5-video-info-panel", "ytp-sfn"], V: [b, { + I: "div", Na: ["html5-video-info-panel-content", "ytp-sfn-content"], V: [{ I: "div", V: [{ I: "div", va: "Video ID / sCPN" }, { I: "span", va: "{{video_id_and_cpn}}", S: "ytp-sfn-cpn" }] }, { I: "div", V: [{ I: "div", va: "Viewport / Frames" }, { I: "span", va: "{{dims_and_frames}}" }] }, { + I: "div", V: [{ I: "div", va: "Current / Optimal Res" }, { + I: "span", + va: "{{resolution}}" + }] + }, { I: "div", V: [{ I: "div", va: "Volume / Normalized" }, { I: "span", va: "{{volume}}" }] }, { I: "div", V: [{ I: "div", va: "Codecs" }, { I: "span", va: "{{codecs}}" }] }, { I: "div", X: { style: "{{shader_info_style}}" }, V: [{ I: "div", va: "Shader Info" }, { I: "span", va: "{{shader_info}}" }] }, { I: "div", X: { style: "{{color_style}}" }, V: [{ I: "div", va: "Color" }, { I: "span", va: "{{color}}" }] }, { I: "div", X: { style: "{{drm_style}}" }, V: [{ I: "div", va: "Protected" }, { I: "span", va: "{{drm}}" }] }, { + I: "div", X: { style: "{{bandwidth_style}}" }, V: [{ I: "div", va: "Connection Speed" }, + { I: "span", V: [{ I: "span", va: "{{bandwidth_chart}}" }, { I: "span", va: "{{bandwidth_kbps}}" }] }] + }, { I: "div", X: { style: "{{network_activity_style}}" }, V: [{ I: "div", va: "Network Activity" }, { I: "span", V: [{ I: "span", va: "{{network_activity_chart}}" }, { I: "span", va: "{{network_activity_bytes}}" }] }] }, { I: "div", V: [{ I: "div", va: "Buffer Health" }, { I: "span", V: [{ I: "span", va: "{{buffer_health_chart}}" }, { I: "span", va: "{{buffer_health_seconds}}" }] }] }, { + I: "div", X: { style: "{{live_latency_style}}" }, V: [{ I: "div", va: "Live Latency" }, { + I: "span", V: [{ + I: "span", + va: "{{live_latency_chart}}" + }, { I: "span", va: "{{live_latency_secs}}" }] + }] + }, { I: "div", X: { style: "{{live_mode_style}}" }, V: [{ I: "div", va: "Live Mode" }, { I: "span", va: "{{live_mode}}" }] }, { I: "div", X: { style: "{{playback_categories_style}}" }, V: [{ I: "div", va: "Playback Categories" }, { I: "span", va: "{{playback_categories}}" }] }, { I: "div", X: { style: "{{fmt_debug_info_style}}" }, V: [{ I: "div", va: "Format Debug Info" }, { I: "span", va: "{{fmt_debug_info}}" }] }, { I: "div", V: [{ I: "div", va: "Mystery Text" }, { I: "span", va: "{{debug_info}}" }] }, { + I: "div", + X: { style: "{{extra_debug_info_style}}" }, V: [{ I: "div", va: "" }, { I: "span", V: [{ I: "span", va: "{{extra_debug_info}}" }] }] + }, { I: "div", V: [{ I: "div", va: "Date" }, { I: "span", va: "{{date}}" }] }, { I: "div", X: { style: "{{cotn_and_local_media_style}}" }, V: [{ I: "div", va: "COTN / Local Media" }, { I: "span", va: "{{cotn_and_local_media}}" }] }, { I: "div", X: { style: "{{release_style}}" }, V: [{ I: "div", va: "Player Release" }, { I: "span", va: "{{release_name}}" }] }] + }] + }); this.Ua = a; this.position = 0; this.G = !0; b ? (a = this.Ea("ytp-sfn-close"), this.T(a, "click", this.hide)) : + this.T(this.element, "click", this.hide); a = [0, 18750, 37500, 81250, 128E3, 256E3, 512E3, 2048E3, 8192E3, 32768E3, 131072E3]; b = "#000 #d53e4f #f46d43 #fdae61 #fee08b #e6f598 #abdda4 #66c2a5 #3288bd #124588 #fff".split(" "); var c = a.map(function (d) { return d / 4 }); + this.Y = {}; this.j = new KT(300, 1, 150, a, b); g.P(this, this.j); this.updateValue("bandwidth_chart", this.j); this.C = new KT(300, 1, 150, [0, 3, 10, 15, 30, 60, 90], "#000 #66c2a5 #abdda4 #e6f598 #fdae61 #f46d43 #a8330f".split(" ")); g.P(this, this.C); this.updateValue("live_latency_chart", this.C); this.B = new KT(300, 1, 150, [0, 15, 30, 60, 90, 120], "#000 #fdae61 #e6f598 #66c2a5 #3288bd #fff".split(" ")); g.P(this, this.B); this.updateValue("buffer_health_chart", this.B); this.K = new KT(300, 1, 150, c, b); g.P(this, this.K); this.updateValue("network_activity_chart", + this.K); this.delay = new g.fp(this.Ta, 500, this); g.P(this, this.delay); this.D = new g.fp(this.N, 2E4, this); g.P(this, this.D) + }; + ONa = function (a) { + oS.call(this, a); var b = this; fR(a, "getStatsForNerds", function () { return LNa(b.api) }); + gR(a, "showVideoInfo", function () { MNa(b, !0) }); + gR(a, "hideVideoInfo", function () { MNa(b, !1) }); + gR(a, "isVideoInfoVisible", function () { return NNa(b) }) + }; + MNa = function (a, b) { var c = NNa(a); a.j || (a.j = new MT(a.api), g.P(a, a.j), g.GR(a.api, a.j.element, 4)); g.Mx(a.j, b); var d = BR(a.api.Bb()); d && d.loaded && c !== b && d.iU(); b && a.api.oa("sfn", {}, !0) }; + NNa = function (a) { var b; return !((b = a.j) == null || !b.Hb) }; + NT = function () { g.O.call(this); this.B = null; this.startTime = this.duration = 0; this.delay = new g.ep(this.j, null, this); g.P(this, this.delay) }; + PNa = function (a, b) { if (b.I === "path") return b.X.d; if (b.V) for (var c = 0; c < b.V.length; c++) { var d = b.V[c]; if (d && typeof d !== "string" && (d = PNa(a, d))) return d } }; + TNa = function (a, b, c) { c = PNa(a, c); var d = b.getElementsByTagName("path")[0], e = d.getAttribute("d"); if (d.getAttribute("id")) { var f = Ix(); b = b.getElementsByTagName("use"); for (var h = 0; h < b.length; h++)b[h].setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + f); d.setAttribute("id", f) } var l = QNa(e), m = QNa(c); RNa(a, function (n) { d.setAttribute("d", SNa(l, m, n)) }, 200) }; + RNa = function (a, b, c) { a.B = b; a.startTime = (0, g.Zt)(); a.duration = c; a.j() }; + QNa = function (a) { var b = []; a = a.match(UNa); for (var c = 0; c < a.length; c++) { var d = a[c] === " " ? NaN : Number(a[c]); b.push(isNaN(d) ? a[c] : d) } return b }; + SNa = function (a, b, c) { for (var d = "", e = 0; e < a.length; e++) { var f = a[e]; d = typeof f === "number" ? d + (f + (b[e] - f) * c) : d + f } return d }; + OT = function (a) { + g.T.call(this, { I: "button", Na: ["ytp-size-button", "ytp-button"], X: { title: "{{title}}", "aria-keyshortcuts": "t", "data-priority": "7", "data-title-no-tooltip": "{{data-title-no-tooltip}}" }, va: "{{icon}}" }); this.api = a; this.Dk = null; this.transition = new NT; g.P(this, this.transition); this.T(a, "sizestylechange", this.Ta); this.T(a, "fullscreentoggled", this.Ta); this.T(a, "presentingplayerstatechange", this.Ta); a.createClientVe(this.element, this, 139116); this.Ta(); this.listen("click", this.onClick); wR(a, this.element, + this) + }; + VNa = function (a) { oS.call(this, a); var b = this; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "standardControlsInitialized", function () { b.button = new OT(a); g.P(b, b.button); a.Cz(b.button) }) }; + WNa = function (a) { + oS.call(this, a); var b = this; gR(this.api, "getPlaybackRate", function () { return b.api.getPlaybackRate() }); + gR(this.api, "setPlaybackRate", function (c) { typeof c === "number" && b.api.setPlaybackRate(c) }) + }; + PT = function (a) { + oS.call(this, a); var b = this; this.useLivingRoomPoToken = !1; this.Lb = null; this.D = !1; this.B = null; this.C = !1; var c = a.U().getWebPlayerContextConfig(); this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "spsumpstatuschange", function (d) { + b.pj = d.pj; a.U().Ac() && b.api.oa("sps", { status: b.pj || "" }); if (b.L("html5_handle_sps_status")) if (b.pj === 1) b.api.tC(0); else if (b.pj === 2 || b.pj === 3) if (b.D && !b.B && XNa(b), b.pj === 3) { + var e = b.api.vA(); e++; var f; d = (f = d.F1) != null ? f : Infinity; if (e < d) { + b.api.mB(!0); var h; + (h = b.B) == null || h.then(function () { b.api.mB(!1) }); + b.api.tC(e) + } else b.api.Lf("ump.spsrejectfailure", 1, "HTML5_SPS_UMP_STATUS_REJECTED") + } + }); + this.events.T(a, "spsumpreject", function (d, e) { b.C = e; d && b.D && !b.B && XNa(b); b.B || b.api.oa("stp", { s: +b.D, b: +b.C }) }); + this.useLivingRoomPoToken = !(c == null || !c.useLivingRoomPoToken); a.addEventListener("csiinitialized", function () { b.Lb = a.Wh(); var d = (b.L("html5_generate_session_po_token") || b.L("html5_generate_content_po_token")) && !b.useLivingRoomPoToken; try { if (d) { b.Lb.wg("pot_isc"); YNa(b); var e = g.AC(b.api.U().experiments, "html5_webpo_kaios_defer_timeout_ms"); e ? g.Kr(function () { ZNa(b) }, e) : b.L("html5_webpo_idle_priority_job") ? g.vt(g.xt(), function () { ZNa(b) }) : ZNa(b) } } catch (f) { f instanceof Error && g.fx(f) } }); + a.BT(this) + }; + $Na = function (a, b) { var c = jO(b.experiments, "html5_web_po_request_key"); return c ? c : g.OC(b) ? a.L("html5_po_token_enable_webpo_experimental") ? "UE0a2bupPZ6aUyyLkkEY" : "Z1elNkAKLpSR3oPOUMSN" : "O43z0dpjhgX20SCx4KAo" }; + YNa = function (a) { + function b(m) { g.fx(m) } + function c(m) { (m = aOa[m]) && a.Lb.wg(m) } + if (a.L("html5_use_shared_owl_instance") && typeof g.La("yt.jnn.mod") !== "undefined") { var d = g.La("yt.jnn.mod"); if (d = xua(d)) { a.j = d; return } } d = a.api.U(); var e = $Na(a, d); try { + var f = uha(e), h = ZIa(d.experiments), l = new Zk({ + cC: e, onEvent: c, onError: b, Yw: f, Lz: h, ZR: function () { a.api.oa("itr", {}) }, + sda: d.experiments.kb("html5_web_po_disable_remote_logging") + }); a.j = l; g.P(a, l) + } catch (m) { m instanceof Error && g.fx(m) } + }; + ZNa = function (a) { var b = a.api.U(); a.Lb.wg("pot_ist"); var c; (c = a.j) == null || c.start(); a.L("html5_bandaid_attach_content_po_token") || (QT(a), XNa(a), b = g.AC(b.experiments, "html5_session_po_token_interval_time_ms") || 0, b > 0 && (a.G = g.Lr(function () { QT(a) }, b)), a.D = !0) }; + QT = function (a) { var b, c, d, e; g.J(function (f) { if (!a.L("html5_generate_session_po_token") || a.useLivingRoomPoToken) return f.return(); b = a.api.U(); c = g.pr("EOM_VISITOR_DATA") || g.pr("VISITOR_DATA"); d = b.gm ? b.datasyncId : c; e = jO(b.experiments, "html5_mock_content_binding_for_session_token") || b.livingRoomPoTokenId || d; b.Uf = bOa(a, e); g.ua(f) }) }; + bOa = function (a, b) { if (!a.j) return ""; try { var c = a.j.isReady(); a.Lb.wg(c ? "pot_cms" : "pot_csms"); var d = a.j.lG({ Ar: b, hk: { pE: b, v_: 150, UI: !0, JM: !0 } }); a.Lb.wg(c ? "pot_cmf" : "pot_csmf"); if (c && a.L("html5_handle_sps_status")) { var e; (e = a.B) == null || e.resolve(); a.B = null; if (a.C) { a.C = !1; var f, h = (f = g.qR(a.api.app)) == null ? void 0 : f.ya; h && h.mB(!1) } } return d } catch (l) { return g.fx(l), "" } }; + XNa = function (a) { a.j && (a.L("html5_handle_sps_status") && (a.B = new FF), a.j.ready().then(function () { a.Lb.wg("pot_if"); QT(a) })) }; + cOa = function (a) { + oS.call(this, a); var b = this; this.freePreviewWatchedDuration = null; this.freePreviewUsageDetails = []; this.events = new g.OE(a); g.P(this, this.events); this.events.T(a, "heartbeatRequest", function (c) { + if (b.freePreviewUsageDetails.length || b.freePreviewWatchedDuration !== null) c.heartbeatRequestParams || (c.heartbeatRequestParams = {}), c.heartbeatRequestParams.unpluggedParams || (c.heartbeatRequestParams.unpluggedParams = {}), b.freePreviewUsageDetails.length > 0 ? c.heartbeatRequestParams.unpluggedParams.freePreviewUsageDetails = + b.freePreviewUsageDetails : c.heartbeatRequestParams.unpluggedParams.freePreviewWatchedDuration = { seconds: "" + b.freePreviewWatchedDuration } + }); + fR(a, "setFreePreviewWatchedDuration", function (c) { b.freePreviewWatchedDuration = c }); + fR(a, "setFreePreviewUsageDetails", function (c) { b.freePreviewUsageDetails = c }) + }; + RT = function (a) { + g.O.call(this); this.features = []; var b = this.j, c = new PS(a), d = new pS(a), e = new WS(a), f = new PT(a); var h = g.MC(a.U()) ? void 0 : new HS(a); var l = new US(a), m = new ONa(a), n = new WNa(a), p = new OS(a); var q = g.MC(a.U()) ? new cOa(a) : void 0; var r = a.L("html5_enable_ssap") ? new CT(a) : void 0; var t = a.L("web_cinematic_watch_settings") && (t = a.U().getWebPlayerContextConfig()) != null && t.cinematicSettingsAvailable ? new ES(a) : void 0; var u = new NS(a); var y = a.L("enable_courses_player_overlay_purchase") ? new ZMa(a) : void 0; + var A = g.bP(a.U()) ? new VMa(a) : void 0; var D = new IS(a); var F = a.U().D ? new PMa(a) : void 0; var H = a.L("web_player_move_autonav_toggle") && a.U().ge ? new IMa(a) : void 0; var M = g.bP(a.U()) ? new QS(a) : void 0; var N = a.L("web_enable_speedmaster") && g.bP(a.U()) ? new zT(a) : void 0; var Q = a.U().Xk ? void 0 : new VNa(a); var Z = a.L("report_pml_debug_signal") ? new EMa(a) : void 0; var fa = new VS(a), pa = new ZS(a); var Y = a.L("enable_web_player_player_in_bar_feature") && g.hz(a.U()) ? new pNa(a) : void 0; var S = a.U().playerStyle === "flix" ? new aNa(a) : + void 0; var W = navigator.mediaSession && window.MediaMetadata && a.U().Nj ? new SS(a) : void 0; var v = a.L("html5_enable_drc") && !a.U().K ? new GS(a) : void 0; var V = new rS(a); var cb = a.U(); var zb = cb.K && ((zb = cb.getWebPlayerContextConfig()) == null ? void 0 : zb.houseBrandEnvironment) === "apps-elements" ? new $Ma(a) : void 0; cb = g.bP(a.U()) ? new zNa(a) : void 0; var Ra = a.L("html5_enable_d6de4") ? new XS(a) : void 0; var db = g.bP(a.U()) && a.L("web_sleep_timer") ? new rT(a) : void 0; var ab = g.IO(a.U()) ? new RMa(a) : void 0; a = a.L("html5_enable_audio_track_stickiness") ? + new nT(a) : void 0; b.call(this, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M, N, Q, Z, fa, pa, Y, S, W, v, V, zb, cb, Ra, db, ab, void 0, a) + }; + ST = function () { this.B = this.j = NaN }; + dOa = function (a, b) { this.W = a; this.timerName = ""; this.C = !1; this.B = NaN; this.D = new ST; this.j = b || null; this.C = !1 }; + eOa = function (a, b, c) { + var d = g.OO(b.Da) && !b.Da.K; if (b.Da.Yj && (KO(b.Da) || b.Da.Ma === "shortspage" || hP(b.Da) || d) && !a.C) { + a.C = !0; a.K = b.clientPlaybackNonce; g.pr("TIMING_ACTION") || or("TIMING_ACTION", a.W.csiPageType); a.W.csiServiceName && or("CSI_SERVICE_NAME", a.W.csiServiceName); if (a.j) { d = a.j.Wh(); for (var e = g.w(Object.keys(d)), f = e.next(); !f.done; f = e.next())f = f.value, pA(f, d[f], a.timerName); d = g.tr(Eta)(a.j.tJ); g.qA(d, a.timerName); d = a.j; d.B = {}; d.tJ = {} } g.qA({ playerInfo: { visibilityState: g.tr(Dta)() }, playerType: "LATENCY_PLAYER_HTML5" }, + a.timerName); a.G !== b.clientPlaybackNonce || Number.isNaN(a.B) || (sA("_start", a.timerName) ? c = g.tr(kA)("_start", a.timerName) + a.B : g.fx(new g.pt("attempted to log gapless pbs before CSI timeline started", { cpn: b.clientPlaybackNonce }))); c && !sA("pbs", a.timerName) && a.tick("pbs", c) + } + }; + fOa = function (a, b, c, d, e, f, h) { + a = (a === c ? "video" : "ad") + "_to_" + (b === c ? "video" : "ad"); if (a !== "video_to_ad" || f != null && f.Ba) { + f = a === "ad_to_video" ? f : d; c = f == null ? void 0 : f.uJ; var l = {}; if (d == null ? 0 : d.K) l.cttAuthInfo = { token: d.K, videoId: d.videoId }; e && (l.startTime = e); rA(a, l); var m, n, p; d = { targetVideoId: (m = d == null ? void 0 : d.videoId) != null ? m : "empty_video", targetCpn: b, adVideoId: (n = f == null ? void 0 : f.videoId) != null ? n : "empty_video", adClientPlaybackNonce: (p = c == null ? void 0 : c.cpn) != null ? p : f == null ? void 0 : f.clientPlaybackNonce }; + c && (d.adBreakType = c.adBreakType, d.adType = c.adType); g.qA(d, a); pA("pbs", h != null ? h : (0, g.Zt)(), a) + } + }; + TT = function (a) { Ota(); Nta(); a.timerName = "" }; + gOa = function (a) { if (a.j) { var b = a.j; b.B = {}; b.tJ = {} } a.C = !1; a.G = void 0; a.B = NaN }; + hOa = function (a, b) { + g.Fx.call(this); this.Da = a; this.startSeconds = 0; this.shuffle = !1; this.index = 0; this.title = ""; this.length = 0; this.items = []; this.loaded = !1; this.sessionData = this.j = null; this.dislikes = this.likes = this.views = 0; this.order = []; this.author = ""; this.Z = {}; this.B = 0; if (a = b.session_data) this.sessionData = vr(a, "&"); this.index = Math.max(0, Number(b.index) || 0); this.loop = !!b.loop; this.startSeconds = Number(b.startSeconds) || 0; this.title = b.playlist_title || ""; this.description = b.playlist_description || ""; this.author = + b.author || b.playlist_author || ""; b.video_id && (this.items[this.index] = b); if (a = b.api) typeof a === "string" && a.length === 16 ? b.list = "PL" + a : b.playlist = a; if (a = b.list) switch (b.listType) { case "user_uploads": this.listId = new AP("UU", "PLAYER_" + a); break; default: var c = b.playlist_length; c && (this.length = Number(c) || 0); this.listId = g.BP(a); if (a = b.video) this.items = a.slice(0), this.loaded = !0 } else if (b.playlist) { + a = b.playlist.toString().split(","); this.index > 0 && (this.items = []); a = g.w(a); for (c = a.next(); !c.done; c = a.next())(c = + c.value) && this.items.push({ video_id: c }); this.length = this.items.length; if (a = b.video) this.items = a.slice(0), this.loaded = !0 + } this.setShuffle(!!b.shuffle); if (a = b.suggestedQuality) this.quality = a; this.Z = wP(b, "playlist_"); this.C = (b = b.thumbnail_ids) ? b.split(",") : [] + }; + iOa = function (a) { return !!(a.playlist || a.list || a.api) }; + jOa = function (a) { var b = a.index + 1; return b >= a.length ? 0 : b }; + kOa = function (a) { var b = a.index - 1; return b < 0 ? a.length - 1 : b }; + g.UT = function (a, b, c, d) { b = b !== void 0 ? b : a.index; b = a.items && b in a.items ? a.items[a.order[b]] : null; var e = null; b && (c && (b.autoplay = "1"), d && (b.autonav = "1"), e = new g.WP(a.Da, b), g.P(a, e), e.zn = !0, e.startSeconds = a.startSeconds || e.clipStart || 0, a.listId && (e.playlistId = a.listId.toString())); return e }; + lOa = function (a, b) { a.index = g.Dd(b, 0, a.length - 1); a.startSeconds = 0 }; + mOa = function (a, b) { if (b.video && b.video.length) { a.title = b.title || ""; a.description = b.description; a.views = b.views; a.likes = b.likes; a.dislikes = b.dislikes; a.author = b.author || ""; var c = b.loop; c && (a.loop = c); c = g.UT(a); a.items = []; for (var d = g.w(b.video), e = d.next(); !e.done; e = d.next())if (e = e.value) e.video_id = e.encrypted_id, a.items.push(e); a.length = a.items.length; (b = b.index) ? a.index = b : a.findIndex(c); a.setShuffle(!1); a.loaded = !0; a.B++; a.j && a.j() } }; + pOa = function (a, b) { + var c, d, e, f, h, l, m; return g.J(function (n) { + if (n.j == 1) { + c = g.IA(); var p = a.U(), q = { context: g.dR(a), playbackContext: { contentPlaybackContext: { ancestorOrigins: p.ancestorOrigins } } }; if (p.L("embeds_web_enable_havs_getembeddedplayer")) { var r = p.getWebPlayerContextConfig(); if (r == null ? 0 : r.encryptedHostFlags) q.playbackContext.contentPlaybackContext.encryptedHostFlags = r.encryptedHostFlags; if (r == null ? 0 : r.hideInfo) q.playerParams = { showinfo: !1 } } p = p.embedConfig; r = b.docid || b.video_id || b.videoId || b.id; if (!r) { + r = + b.raw_embedded_player_response; if (!r) { var t = b.embedded_player_response; t && (r = JSON.parse(t)) } if (r) { var u, y, A, D, F, H; r = ((H = g.R((u = r) == null ? void 0 : (y = u.embedPreview) == null ? void 0 : (A = y.thumbnailPreviewRenderer) == null ? void 0 : (D = A.playButton) == null ? void 0 : (F = D.buttonRenderer) == null ? void 0 : F.navigationEndpoint, g.mQ)) == null ? void 0 : H.videoId) || null } else r = null + } u = (u = r) ? u : void 0; y = a.playlistId ? a.playlistId : b.list; A = b.listType; if (y) { + var M; A === "user_uploads" ? M = { username: y } : M = { playlistId: y }; nOa(p, u, b, M); q.playlistRequest = + M + } else b.playlist ? (M = { templistVideoIds: b.playlist.toString().split(",") }, nOa(p, u, b, M), q.playlistRequest = M) : u && (M = { videoId: u }, p && (M.serializedThirdPartyEmbedConfig = p), q.singleVideoRequest = M); d = q; e = g.yz(oOa); g.va(n, 2); return g.G(n, g.xA(c, d, e), 4) + } if (n.j != 2) return f = n.B, h = a.U(), b.raw_embedded_player_response = f, h.Ga = Es(b, g.IO(h)), h.C = h.Ga === "EMBEDDED_PLAYER_MODE_PFL", f && (l = f, l.trackingParams && RK(l.trackingParams)), n.return(new g.WP(h, b)); m = g.xa(n); m instanceof Error || (m = Error("b259802748")); g.ex(m); return n.return(a) + }) + }; + nOa = function (a, b, c, d) { c.index && (d.playlistIndex = String(Number(c.index) + 1)); d.videoId = b ? b : ""; a && (d.serializedThirdPartyEmbedConfig = a) }; + g.WT = function (a, b) { VT.get(a); VT.set(a, b) }; + g.XT = function (a) { g.Fx.call(this); this.loaded = !1; this.player = a }; + qOa = function () { this.B = []; this.j = [] }; + g.ZT = function (a, b) { return b ? a.j.concat(a.B) : a.j }; + g.$T = function (a, b) { switch (b.kind) { case "asr": rOa(b, a.B); break; default: rOa(b, a.j) } }; + rOa = function (a, b) { g.Kb(b, function (c) { return c ? a.toString() === c.toString() : !1 }) || b.push(a) }; + g.aU = function (a) { g.O.call(this); this.W = a; this.B = new qOa; this.G = []; this.Z = []; this.D = new g.oj }; + g.bU = function (a, b, c) { g.aU.call(this, a); this.videoData = b; this.audioTrack = c; this.j = null; this.C = !1; this.G = b.gw; this.Z = b.HD; this.C = g.RQ(b) }; + sOa = function () { this.sj = !1 }; + tOa = function (a) { var b = a === void 0 ? {} : a; a = b.hasSubfragmentedFmp4 === void 0 ? !1 : b.hasSubfragmentedFmp4; b = b.BF === void 0 ? !1 : b.BF; var c = new sOa; c.sj = a || b; return c }; + g.uOa = function (a) { + this.Da = a; this.N = new sOa; this.Nv = this.Mv = !1; this.hq = 2; this.Va = 20971520; this.Fa = 8388608; this.Ga = 120; this.yq = g.AC(this.Da.experiments, "html5_min_readbehind_secs"); this.aE = g.AC(this.Da.experiments, "html5_min_readbehind_cap_secs"); this.Xk = this.Da.L("html5_offline_reset_media_stream_on_unresumable_slices"); this.ub = NaN; this.gw = this.fm = this.Xw = 2; this.al = cU(this, "html5_request_size_min_kb", 64) * 1024; this.Wa = 2097152; this.wB = cU(this, "html5_bypass_contention_secs"); this.ew = 1048576; this.qm = !1; + this.Zk = cU(this, "html5_repredict_interval_ms", 1800); this.VD = cU(this, "html5_head_miss_secs", 5); this.XE = cU(this, "html5_min_upgrade_health_secs", 10); this.Kb = 15; this.Ui = 1; this.Z = 1.15; this.Y = 1.05; this.hm = 1; this.bE = cU(this, "html5_min_seconds_between_format_selections", 8); this.UD = cU(this, "html5_max_buffer_health_for_downgrade_secs", 15); this.Zs = iO; this.Mj = this.Fd = !1; this.Jq = 6; this.C = !1; this.Vk = g.AC(this.Da.experiments, "html5_min_startup_buffered_media_duration_secs"); this.Ov = g.AC(this.Da.experiments, "html5_post_interrupt_readahead"); + this.WA = this.Da.L("html5_allow_onesie_for_ssap"); this.FC = this.Da.L("html5_disable_classic_alr"); this.Qv = g.AC(this.Da.experiments, "html5_probe_primary_delay_base_ms") || 5E3; this.xw = 100; this.Ej = 10; this.TF = 6; this.qw = cU(this, "html5_ssdai_failure_retry_limit", 3); this.pm = this.Da.experiments.kb("html5_clone_original_for_fallback_location"); this.qo = !1; this.Rc = g.AC(this.Da.experiments, "html5_subsegment_readahead_target_buffer_health_secs"); this.Zj = g.AC(this.Da.experiments, "html5_subsegment_readahead_timeout_secs"); + this.ID = g.AC(this.Da.experiments, "html5_subsegment_readahead_min_buffer_health_secs"); this.Yj = g.AC(this.Da.experiments, "html5_subsegment_readahead_min_buffer_health_secs_on_timeout"); this.KD = g.AC(this.Da.experiments, "html5_subsegment_readahead_min_load_speed"); this.ww = g.AC(this.Da.experiments, "html5_subsegment_readahead_load_speed_check_interval"); this.MD = g.AC(this.Da.experiments, "html5_subsegment_readahead_seek_latency_fudge"); this.Hj = cU(this, "html5_hopeless_secs", 15); this.Cp = 1; this.ge = !1; this.hD = + this.Da.L("html5_restrict_streaming_xhr_on_sqless_requests"); this.XD = g.AC(this.Da.experiments, "html5_max_headm_for_streaming_xhr"); this.cH = this.Da.L("html5_pipeline_manifestless_allow_nonstreaming"); this.sI = this.Da.L("html5_prefer_server_bwe3"); this.PD = this.Da.L("html5_last_slice_transition"); this.ED = this.Da.L("html5_store_xhr_headers_readable"); this.ow = this.Tf = this.vk = !1; this.Zp = g.AC(this.Da.experiments, "html5_max_drift_per_track_secs"); this.Fq = this.Da.L("html5_no_placeholder_rollbacks"); this.GD = + this.Da.L("html5_subsegment_readahead_enable_mffa"); this.wh = this.Da.L("html5_allow_video_keyframe_without_audio"); this.rG = this.Da.L("html5_enable_vp9_fairplay"); this.Jb = !0; this.Qf = this.Xa = this.Zd = !1; this.Cn = !0; this.hw = !1; this.D = ""; this.QC = 1048576; this.Pf = []; this.VC = this.Da.L("html5_woffle_resume"); this.Yl = this.Da.L("html5_abs_buffer_health"); this.LD = this.Da.L("html5_interruption_resets_seeked_time"); this.YD = g.AC(this.Da.experiments, "html5_max_live_dvr_window_plus_margin_secs") || 46800; this.Ra = !1; this.Ap = + this.Da.L("html5_log_additional_source_buffer_updates"); this.yp = this.Da.L("html5_explicitly_dispose_xhr"); this.Rv = !1; this.gm = !this.Da.L("html5_encourage_array_coalescing"); this.nm = !1; this.fD = this.Da.L("html5_restart_on_unexpected_detach"); this.wj = 0; this.Ob = ""; this.FD = this.Da.L("html5_filter_non_efficient_formats_for_safari"); this.Da.L("html5_format_hybridization"); this.yA = this.Da.L("html5_abort_before_separate_init"); this.jD = ps(); this.CD = this.Da.L("html5_serialize_server_stitched_ad_request"); this.JB = + this.Da.L("html5_skip_buffer_check_seek_to_head"); this.kf = !1; this.Zl = this.Da.L("html5_attach_po_token_to_bandaid"); this.iq = g.AC(this.Da.experiments, "html5_max_redirect_response_length") || 8192; this.fl = this.Da.L("html5_rewrite_timestamps_for_webm"); this.Tb = this.Da.L("html5_only_media_duration_for_discontinuities"); this.dD = g.AC(this.Da.experiments, "html5_resource_bad_status_delay_scaling") || 1; this.Da.L("html5_onesie_live"); this.OD = this.Da.L("html5_onesie_premieres"); this.jz = this.Da.L("html5_drop_onesie_for_live_mode_mismatch"); + this.ZF = g.AC(this.Da.experiments, "html5_onesie_live_ttl_secs") || 8; this.Wq = g.AC(this.Da.experiments, "html5_attach_num_random_bytes_to_bandaid"); this.jG = g.AC(this.Da.experiments, "html5_onesie_request_timeout_ms") || 3E3; this.j = !1; this.yw = this.Da.L("html5_update_container_type_on_codec_family_change"); this.Rf = this.Da.L("html5_apply_ssap_slice_info_adjustment"); this.gD = this.Da.L("html5_enable_sabr_host_fallback"); this.qa = !1; this.OC = this.Da.L("html5_disable_ssap_append_pause"); this.Bn = this.Da.L("html5_init_source_buffer_after_metadata"); + this.HD = this.Da.L("html5_gapless_fallback_on_append_error"); this.Aw = !1; this.Ka = this.Da.L("html5_ssdai_use_post_for_media") && this.Da.L("gab_return_sabr_ssdai_config"); this.QD = this.Da.L("html5_use_post_for_media"); this.Wc = this.Da.L("html5_use_live_ump_heartbeat"); this.Jw = this.Da.L("html5_use_sps_ump_part"); this.JD = this.Da.L("html5_handle_sps_status"); this.Bj = this.Da.L("html5_enable_sps_non_fatal_logs"); this.BD = this.Da.L("html5_enable_sps_rebuffer_logs"); this.useUmp = this.Da.L("html5_use_ump"); this.fb = + this.Ma = !1; this.rI = this.Da.Tf; this.bD = this.Da.L("html5_reset_primary_stats_on_redirector_failure"); this.UC = this.Da.L("html5_remap_to_original_host_when_redirected"); this.tm = this.zj = this.B = this.En = !1; this.Wi = this.Da.L("html5_enable_sabr_format_selection"); this.Dn = this.Da.L("html5_sabr_support_quality_constraints"); this.WC = this.Da.L("html5_sabr_remove_all_quality_constraints"); this.WB = this.Da.L("html5_iterative_seeking_buffered_time"); this.Xl = this.Da.L("html5_use_network_error_code_enums"); this.NC = + this.Da.L("html5_disable_overlapping_requests"); this.K = !1; this.enableServerDrivenRequestCancellation = this.Da.L("html5_enable_server_driven_request_cancellation"); this.iD = this.Da.L("html5_enable_sabr_request_timing"); this.wp = this.Da.L("html5_enable_server_format_filter"); this.iz = this.Da.L("html5_drc_edit_sync_workaround"); this.XC = this.Da.L("html5_enable_lawnmower"); this.aD = this.Da.L("html5_enable_lawnmower_messaging"); this.Fi = this.Da.Ac() ? g.AC(this.Da.experiments, "html5_continuous_goodput_probe_interval_ms") : + 0; this.ND = g.AC(this.Da.experiments, "html5_jumbo_ull_nonstreaming_mffa_ms") || NaN; this.Tq = g.AC(this.Da.experiments, "html5_normal_latency_mffa_ms") || NaN; this.SF = g.AC(this.Da.experiments, "html5_mffa_ms_proxima_override") || this.Tq; this.TD = this.Da.L("html5_live_defrag_only_h264_playbacks"); this.RD = this.Da.L("html5_live_defrag_only_h264_formats"); this.TC = this.Da.L("html5_record_now"); this.Sf = !1; this.zn = g.AC(this.Da.experiments, "html5_drm_byterate_soft_cap"); this.An = g.AC(this.Da.experiments, "html5_drm_live_byterate_soft_cap"); + this.Bp = this.Uv = !1; this.Ba = this.Da.L("html5_sabr_log_request_creation"); this.wc = this.Da.L("html5_sabr_report_request_cancellation_info"); this.Uf = this.fz = this.uw = !1; this.pw = this.Da.L("html5_spoof_4k"); this.lq = cU(this, "html5_min_media_duration_for_cabr_slice"); this.ZD = this.gm ? 0 : cU(this, "html5_min_media_duration_for_append_prop"); this.YC = this.Da.L("html5_remove_defrag_without_frame_level_streaming"); this.Ie = !0; this.ZB = this.Da.L("html5_consume_all_buffered_bytes_one_poll"); this.PC = this.Da.L("html5_disable_urgent_adaptation"); + this.nB = this.Da.L("html5_apply_constraints_in_client_for_sabr"); this.mw = this.Da.L("html5_send_video_playback_ustreamer_config"); this.Pp = cU(this, "html5_max_discontinuity_rewrite_count"); this.zp = cU(this, "html5_fixed_media_duration_for_request"); this.bk = this.Da.L("html5_use_init_selected_audio"); this.Ya = !1; this.jf = cU(this, "html5_sabr_request_limit_per_period"); this.Lv = this.xp = this.G = this.lw = !1; this.yc = this.Da.L("html5_sabr_live_partial_segment"); this.ze = this.Da.L("html5_sabr_dispose_media_objects"); + this.yn = !1; this.Fj = this.Da.L("html5_fix_hbr_reselection_qoe_restart_for_sabr"); this.Pv = this.Nj = !1; this.cD = this.Da.L("html5_enable_d6de4"); this.VA = this.Da.L("html5_account_for_delayed_buffer_range_creation"); this.SD = this.Da.L("html5_ssap_keep_only_ssap_eos_check"); this.Da.L("html5_high_res_seek_logging"); this.ob = this.Da.L("html5_update_buffer_timeline_until_update_end"); this.Ig = this.yb = !1; this.DD = this.Da.L("html5_enable_ssap_multi_audio_format_filtering"); this.eD = this.Da.L("html5_enable_po_token_live_caption"); + this.Bw = this.nw = this.ra = this.Ab = !1; this.jw = this.Da.L("html5_sabr_fail_request_after_handle_available_slices"); this.Zq = g.AC(this.Da.experiments, "html5_override_micro_discontinuities_threshold_ms"); this.Tv = !1; this.Ed = this.Da.L("html5_append_pause_high_res_logging"); this.zw = this.bl = this.Sv = !1 + }; + vOa = function (a, b, c) { + c = c === void 0 ? !1 : c; b.video.j > 1080 && !a.Mv && (a.Va = 36700160, a.Fa = 5242880, a.Wa = Math.max(4194304, a.Wa), a.Mv = !0); b.video.j > 2160 && !a.Nv && (a.Va = 104857600, a.ub = 13107200, a.Nv = !0); g.AC(a.Da.experiments, "html5_samsung_kant_limit_max_bitrate") !== 0 ? b.isEncrypted() && g.ks() && g.is("samsung") && (g.is("kant") || g.is("muse")) && (a.ub = g.AC(a.Da.experiments, "html5_samsung_kant_limit_max_bitrate")) : b.isEncrypted() && g.ks() && g.is("kant") && (a.ub = 1310720); a.zn !== 0 && b.isEncrypted() && (a.ub = a.zn); a.An !== 0 && b.isEncrypted() && + c && (a.ub = a.An); b.ub && (a.ew = Math.max(a.al, Math.min(a.Wa, 5 * b.ub))) + }; + wOa = function (a) { cU(a, "html5_max_platform_audio_megabytes") <= 0 || !a.B || !g.OC(a.Da) || (a.Fa = Math.max(cU(a, "html5_max_platform_audio_megabytes") * 1048576, a.Fa)) }; + dU = function (a) { return a.B && a.Wi }; + eU = function (a) { return a.B && a.zj && a.playbackStartPolicy }; + xOa = function (a, b, c, d) { a.zj && (a.playbackStartPolicy = b, a.qI = c, a.dI = d) }; + cU = function (a, b, c) { return g.AC(a.Da.experiments, b) || (c === void 0 ? 0 : c) }; + g.yOa = function (a, b) { return hF(a.info.mimeType) ? b ? a.info.itag === b : !0 : !1 }; + g.zOa = function (a, b) { + if (a.j != null && g.MC(b.U()) && !a.j.isManifestless && a.j.j.rawcc != null) return !0; if (!a.Vb()) return !1; b = !!a.j && a.j.isManifestless && Object.values(a.j.j).some(function (c) { return g.yOa(c, "386") }); + a = !!a.j && !a.j.isManifestless && aIa(a.j); return b || a + }; + g.fU = function (a, b, c, d, e, f) { g.aU.call(this, a); this.videoId = c; this.rZ = e; this.eventId = f; this.K = {}; this.j = null; a = d || g.zr(b).hl || ""; a = a.split("_").join("-"); this.C = g.Ar(b, { hl: a }) }; + iU = function (a, b) { var c = this; this.currentState = 0; this.onSuccess = []; this.onFailure = []; this.currentState = a; this.result = b.result; this.error = b.error; b.promise && b.promise.then(function (d) { gU(c, d) }, function (d) { hU(c, d) }) }; + jU = function (a) { return new iU(1, { result: a }) }; + kU = function (a) { return new iU(0, { promise: a }) }; + lU = function (a) { return new iU(2, { error: a }) }; + nU = function (a, b) { + var c = kU(); a.onSuccess.push(function (d) { gU(c, d) }); + a.onFailure.push(function (d) { try { var e = b(d); gU(c, e) } catch (f) { hU(c, f) } }); + mU(a); return c + }; + gU = function (a, b) { + if (b && typeof b === "object") { + if ("then" in b) { + b.then(function (c) { gU(a, c) }, function (c) { hU(a, c) }); + return + } if (b instanceof iU) { + b.mf(function (c) { gU(a, c) }); + nU(b, function (c) { hU(a, c) }); + return + } + } a.currentState = 1; a.result = b; mU(a) + }; + hU = function (a, b) { a.currentState = 2; a.error = b; mU(a) }; + mU = function (a) { if (a.currentState === 1) { var b = a.onSuccess; a.onSuccess = []; a.onFailure = []; b = g.w(b); for (var c = b.next(); !c.done; c = b.next())c = c.value, c(a.result) } else if (a.currentState === 2) for (b = a.onFailure, a.onSuccess = [], a.onFailure = [], b = g.w(b), c = b.next(); !c.done; c = b.next())c = c.value, c(a.error) }; + AOa = function (a, b) { this.B = a; this.j = b; this.onFailure = void 0 }; + BOa = function (a, b) { return { Ez: a.Ez && b.Ez, wd: a.wd && b.wd, sync: a.sync && b.sync, streaming: a.streaming && b.streaming } }; + oU = function (a, b) { + var c = COa, d = this; this.path = a; this.C = b; this.D = c; this.capabilities = { Ez: !!this.C, wd: "WebAssembly" in window, sync: "WebAssembly" in window, streaming: "WebAssembly" in window && "instantiateStreaming" in WebAssembly && "compileStreaming" in WebAssembly }; this.G = new AOa([{ + name: "compileStreaming", condition: function (e) { return !!d.B && e.streaming }, + bx: function () { return WebAssembly.compileStreaming(fetch(d.path)) }, + onFailure: function () { return d.capabilities.streaming = !1 } + }, + { + name: "sync", condition: function (e) { return e.sync }, + bx: function () { return DOa(d).mf(function (e) { return new WebAssembly.Module(e) }) }, + onFailure: function () { return d.capabilities.sync = !1 } + }, + { + name: "async", condition: function () { return !0 }, + bx: function () { return DOa(d).mf(function (e) { return WebAssembly.compile(e) }) }, + onFailure: function () { return d.capabilities.wd = !1 } + }]); + this.K = new AOa([{ + name: "instantiateStreaming", condition: function (e) { return e.wd && e.streaming && !d.B && !d.j }, + bx: function (e, f) { return WebAssembly.instantiateStreaming(fetch(d.path), f).then(function (h) { d.j = jU(h.module); return { instance: h.instance, Bo: !1 } }) }, + onFailure: function () { return d.capabilities.streaming = !1 } + }, + { + name: "sync", condition: function (e) { return e.wd && e.sync }, + bx: function (e, f) { return EOa(d, e).mf(function (h) { return { instance: new WebAssembly.Instance(h, f), Bo: !1 } }) }, + onFailure: function () { return d.capabilities.sync = !1 } + }, + { + name: "async", condition: function (e) { return e.wd }, + bx: function (e, f) { + return EOa(d, e).mf(function (h) { return WebAssembly.instantiate(h, f) }).mf(function (h) { + return { + instance: h, + Bo: !1 + } + }) + }, + onFailure: function () { return d.capabilities.wd = !1 } + }, + { + name: "asmjs", condition: function (e) { return e.Ez }, + bx: function (e, f) { return kU(d.C(f).then(function (h) { return { instance: { exports: h }, Bo: !0 } })) }, + onFailure: function () { return d.capabilities.Ez = !1 } + }], function (e, f, h) { return d.D(h, e.instance.exports) }) + }; + HOa = function (a) { var b = FOa; return b.instantiate(a ? BOa(b.capabilities, a) : b.capabilities, new GOa) }; + DOa = function (a) { + if (a.B) return a.B; var b = fetch(a.path).then(function (c) { return c.arrayBuffer() }).then(function (c) { + a.B = jU(c); + return c + }).then(void 0, function (c) { + g.fx(Error("wasm module fetch failure: " + c.message, { cause: c })); + a.B = void 0; throw c; + }); + a.B = kU(b); return a.B + }; + EOa = function (a, b) { + if (!b.wd) return lU(Error("wasm unavailable")); if (a.j) return a.j; a.j = nU(a.compile(b).mf(function (c) { a.j = jU(c); return c }), function (c) { + g.fx(Error("wasm module compile failure: " + c.message, { cause: c })); + a.j = void 0; throw c; + }); + return a.j + }; + IOa = function () { }; + JOa = function () { }; + GOa = function () { this.env = new IOa; this.wasi_snapshot_preview1 = new JOa }; + COa = function (a, b) { a = Math.floor(Math.random() * 256); var c = Math.floor(Math.random() * 256), d = 0; try { d = b.malloc(16); (new Uint8Array(b.memory.buffer, d, 16)).fill(a); if (b.sentinel(d, 16, c) !== c * 16 % 256) return !1; for (var e = new Uint8Array(b.memory.buffer, d, 16), f = 0; f < 16; f++)if (e[f] !== (a + c) % 256) return !1; return !0 } finally { d !== 0 && b.free(d) } }; + pU = function (a, b) { this.instance = a; this.Bo = b; this.exports = this.instance.exports }; + LOa = function (a, b, c) { c = c === void 0 ? !1 : c; var d = qU.zC(); return KOa(a, b, { Ez: c, wd: !0, sync: !0, streaming: !0 }).mf(function (e) { qU.fA(e.Bo ? "winitjs" : "winit", d); return e }) }; + KOa = function (a, b, c) { FOa || (FOa = new oU(a, b)); return HOa(c).mf(function (d) { return new pU(d.instance, d.Bo) }) }; + MOa = function (a, b) { + g.O.call(this); var c = this; this.J = a; this.j = b; this.tJ = {}; this.B = {}; this.C = null; this.D = new Set; this.G = new g.OE(this); this.hd = { hoa: function () { return c.j } }; + this.K = this.J.L("web_player_defer_modules"); this.He = new Map; g.P(this, this.G); this.G.T(a, "videodatachange", this.onVideoDataChange) + }; + g.rU = function (a) { return a.He.get("captions") }; + SOa = function (a, b) { + switch (b) { + case "ad": return NOa(a); case "annotations_module": return a.J.jd() ? a = !1 : (b = a.J, a = b.U(), b = b.getVideoData(), a = a.C || b.IU || a.controlsType === "3" ? !1 : a.Ka.isEmpty() && a.playerStyle !== "annotation-editor" && a.playerStyle !== "live-dashboard" ? !!b.Xa || !!g.OQ(b) || !!g.PQ(b) : !0), a; case "asmjs": return a.J.U().L("html5_allow_asmjs"); case "creatorendscreen": return OOa(a); case "embed": return g.IO(a.J.U()); case "endscreen": return g.POa(a); case "heartbeat": return a.HT(); case "inline_preview": return a.J.U().showInlinePreviewUi; + case "kids": return VO(a.J.U()); case "remote": return a.J.U().Mj; case "miniplayer": return a.J.U().showMiniplayerUiWhenMinimized; case "offline": return a.J.U().Ej; case "captions": return QOa(a); case "unplugged": return g.PO(a.J.U()); case "ux": return a.J.U().Ya; case "webgl": return ROa(a); case "ypc": return a.JH(); case "ypc_clickwrap": return a = a.J.getVideoData(), a.Fi && !a.SF; case "yto": return !!a.J.getVideoData().Ga.includes("yto"); default: return g.ex(Error("Module descriptor " + b + " does not match")), !1 + } + }; + sU = function (a, b, c, d, e) { var f; c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; var h = a.He.get(b); if (!h || d) if (e || (e = function () { sU(a, b, c, d) }), f || (f = function () { a.J.Dg(b) }), h = h || TOa(a, b, SOa(a, b), e, f)) a.He.set(b, h), h.create(), a.J.publish("modulecreated", b), c && a.J.Ai("onApiChange") }; + VOa = function (a) { + var b = b === void 0 ? !1 : b; var c, d, e, f, h; return g.J(function (l) { + if (l.j == 1) return (c = a.He.get("asmjs")) && !b ? l.return(c) : (d = VT.get("asmjs")) != null ? (e = d, l.Ha(2)) : g.G(l, new Promise(function (m, n) { UOa(a, "asmjs", function () { var p = VT.get("asmjs"); p ? m(p) : n("cannot load module asmjs") }, n) }), 3); + l.j != 2 && (e = l.B); f = e; if (!f) return l.return(Promise.reject("cannot load module asmjs")); h = new f(a.J); a.He.set("asmjs", h); h.create(); return l.return(h) + }) + }; + YOa = function (a) { WOa(a) && a.eP(); XOa(a) && (sU(a, "captions", !0), sU(a, "endscreen"), a.qJ(), sU(a, "creatorendscreen", !0)) }; + XOa = function (a) { var b = a.J.getVideoData(), c = a.K && !b.isInlinePlaybackNoAd; a.J.L("html5_defer_modules_on_ads_only") && !b.isAd() && (c = !1); return c }; + WOa = function (a) { + a = a.J.getVideoData(); var b; if (b = a.L("web_player_defer_ad")) { + if (g.Mb(a.Ga, "ad") || DLa(a) || a.enableServerStitchedDai) a = !1; else { + b = a.playerResponse; a = a.startSeconds; var c = b == null ? void 0 : b.adPlacements; if (b = c) { + b = Number.MAX_VALUE; c = g.w(c); for (var d = c.next(); !d.done; d = c.next())if (d = d.value.adPlacementRenderer) { + var e = void 0, f = (e = d.config) == null ? void 0 : e.adPlacementConfig; e = void 0; if (((e = f) == null ? void 0 : e.kind) === "AD_PLACEMENT_KIND_MILLISECONDS") { + var h = e = void 0; f = Number((e = f) == null ? void 0 : (h = + e.adTimeOffset) == null ? void 0 : h.offsetStartMilliseconds) || 0; h = e = void 0; d = Number(((e = d.renderer) == null ? void 0 : (h = e.adBreakServiceRenderer) == null ? void 0 : h.prefetchMilliseconds) || 0); d = f - d; d < b && (b = d) + } + } b = b - 5E3 <= a * 1E3 + } a = b ? !1 : !0 + } b = a + } return b + }; + QOa = function (a) { var b = a.J.getVideoData(); return !!b.ze || !!b.captionTracks.length || g.zOa(b, a.J) }; + g.POa = function (a) { var b = a.J.U(); if (b.C || hP(b) || b.K || !b.Ed && !b.Ig) return !1; var c = a.J.getPresentingPlayerType(); if (c === 2) return !1; if (c === 3) return b.L("desktop_enable_autoplay"); a = a.J.getVideoData(); if (!a) return !1; c = !a.isLiveDefaultBroadcast || b.L("allow_poltergust_autoplay"); c = a.isLivePlayback && (!b.L("allow_live_autoplay") || !c); b = a.isLivePlayback && b.L("allow_live_autoplay_on_mweb"); return !c || b }; + g.ER = function (a) { return a.He.get("webgl") }; + ROa = function (a) { var b = a.J.getVideoData(); a = a.J.U(); var c = g.mna(), d = a.L("enable_spherical_kabuki"), e; if ((e = a.getWebPlayerContextConfig()) == null ? 0 : e.embedsEnableEmc3ds) return !1; e = g.fP(a); if (g.MQ(b)) return c || d || e; if (g.KQ(b)) return e || c || d; if (g.LQ(b)) return e || c || !1; if (g.yQ(b)) return e || !1; c = b.B && b.B.video && b.B.video.isHdr(); return e && !g.BQ(b) && !c && a.L("enable_webgl_noop") }; + NOa = function (a) { if (a.J.U().C) return !1; a = a.J.getVideoData(1); var b = a.getPlayerResponse(); if (b) { var c = b.adPlacements; if (c) for (var d = 0; d < c.length; d++)if (c[d].adPlacementRenderer) return !0; if (b.adSlots) return !0 } return g.jQ(a) ? !0 : !1 }; + OOa = function (a) { if (a.J.jd()) return !1; a = a.J; var b = a.U(); if (b.C) return !1; var c; if (((c = b.getWebPlayerContextConfig()) == null ? 0 : c.embedsEnableEmc3ds) || b.controlsType === "3") return !1; if (b.playerStyle === "creator-endscreen-editor") return !0; c = a.getVideoData(); return !!c && (!!g.NLa(c) || !!g.OLa(c)) }; + TOa = function (a, b, c, d, e) { try { if (c) { var f = VT.get(b); if (f) return new f(a.J); UOa(a, b, d, e) } else a.J.Dg(b) } catch (h) { a.J.Dg(b), g.ex(h) } return null }; + tU = function (a, b, c) { if (a.J.U().L("html5_dispose_modules_in_order")) for (var d = g.w(ZOa), e = d.next(); !e.done; e = d.next()) { e = e.value; var f = a.He.get(e); f && (c || f.jn(b)) && (g.fb(f), a.He.delete(e)) } else for (d = g.w(a.He), e = d.next(); !e.done; e = d.next())f = g.w(e.value), e = f.next().value, (f = f.next().value) && (c || f.jn(b)) && (g.fb(f), a.He.delete(e)) }; + uU = function (a) { return a.He.get("ad") }; + $Oa = function (a) { if (VO(a.J.U())) return a.He.get("kids") }; + BR = function (a) { if (a.J.U().Mj) return a.He.get("remote") }; + g.vU = function (a) { if (g.PO(a.J.U())) return a.He.get("unplugged") }; + mMa = function (a) { if (a.J.U().Ya) return a.He.get("ux") }; + aPa = function (a) { if (a.J.U().showMiniplayerUiWhenMinimized) return a.He.get("miniplayer") }; + wU = function (a) { if (a.J.U().Ej) return a.He.get("offline") }; + g.xU = function (a) { return a.He.get("annotations_module") }; + bPa = function (a) { return a.He.get("creatorendscreen") }; + dPa = function (a, b) { var c = a.j.startsWith("https://") ? a.j + "lib.wasm" : a.j.split("/").slice(0, 4).join("/") + "/wasm/lib.wasm"; return LOa(c, function (d) { var e = a.He.get("asmjs"); return e ? Promise.resolve(e.DZ(d)) : cPa(a).then(function (f) { return f.DZ(d) }) }, b) }; + cPa = function (a) { var b, c; return g.J(function (d) { if (d.j == 1) return g.G(d, VOa(a), 2); c = b = d.B; return d.return(c) }) }; + UOa = function (a, b, c, d) { if (a.j) { var e = ePa[b]; fPa(a, a.j + e, function () { a.D.add(e); c.call(a) }, d) } }; + fPa = function (a, b, c, d) { + function e() { a.La() || d.call(a) } + function f() { a.La() || c.call(a) } + for (var h = g.ae("SCRIPT"), l = !1, m, n = 0; n < h.length; n++) { var p = h[n]; if (p.src === b || p.getAttribute("data-original-src") === b) m = p } m || (m = g.je("SCRIPT"), m.setAttribute("data-original-src", b), l = !0); var q = m.onload; m.onload = function (y) { ve(f); q && q.apply(window, [y]) }; + var r = m.onerror; m.onerror = function (y) { if (Math.random() < .01) { var A = new g.pt("Unable to load player module", b, document.location && document.location.origin); g.ex(A) } ve(e); r && r(y) }; + var t = m, u = t.onreadystatechange; t.onreadystatechange = function (y) { switch (t.readyState) { case "loaded": case "complete": ve(f) }u && u(y) }; + l && ((h = a.J.U().cspNonce) && m.setAttribute("nonce", h), g.Pd(m, g.Kq(b)), h = g.ae("HEAD")[0] || document.body, h.insertBefore(m, h.firstChild), a.addOnDisposeCallback(function () { m.parentNode && m.parentNode.removeChild(m) })) + }; + gPa = function (a, b, c, d, e) { + g.Fx.call(this); var f = this; this.target = a; this.hJ = b; this.B = 0; this.K = !1; this.D = new g.Gd(NaN, NaN); this.j = new g.OE(this); this.Ba = this.C = this.N = null; g.P(this, this.j); b = d || e ? 4E3 : 3E3; this.Y = new g.fp(function () { yU(f, 1, !1) }, b, this); + g.P(this, this.Y); this.qa = new g.fp(function () { yU(f, 2, !1) }, b, this); + g.P(this, this.qa); this.ra = new g.fp(function () { yU(f, 512, !1) }, b, this); + g.P(this, this.ra); this.Fa = 3E3; d || (this.C = this.j.T(a, "mouseover", this.Ux), this.j.T(a, "mousemove", this.L5), this.j.T(a, "mouseleave", this.U$)); km ? this.j.T(a, "keypress", this.l$) : this.j.T(a, "focusin", this.C8); this.G = this.j.T(a, "mousedown", this.SV); this.Z = this.j.T(a, "touchstart", this.TV, void 0, !0); yU(this, 640, !0) + }; + hPa = function (a) { yU(a, 4, !1); a.N && (a.j.Oc(a.N), a.N = null, a.C = a.j.T(a.target, "mouseover", a.Ux)); a.C && (a.j.Oc(a.C), a.C = a.j.T(a.target, "mouseover", a.Ux)) }; + yU = function (a, b, c) { a.La(); var d = !a.B; c ? (a.B |= b, b & 1 && a.Y.start(), b & 2 && a.qa.start()) : (a.B &= ~b, b & 1 && a.Y.stop(), b & 2 && a.qa.stop(), b & 512 && a.ra.stop()); a.B & 512 && !(a.B & 128) && g.gp(a.ra, a.Fa); b = !a.B; d !== b && a.publish("autohideupdate", b) }; + g.AU = function (a) { g.T.call(this, { I: "button", Na: ["ytp-large-play-button", "ytp-button"], X: { "aria-label": "Play", title: "Play" }, V: ["{{largePlayButtonChildren}}"] }); this.api = a; this.T(a, "videodatachange", this.Ta); this.T(a, "basechromeinitialized", this.cfa); a = this.api.U(); a.Z && zU && (this.listen("click", this.t9, this), this.listen("touchstart", this.fda, this)); g.OO(a) && g.np(this.element, "ytp-large-play-button-red-bg"); this.api.createClientVe(this.element, this, 28572); this.Ta() }; + g.BU = function (a) { + var b = a.U(), c = ["ytp-cued-thumbnail-overlay"]; b.K && c.push("ytp-exp-contain-thumbnail"); b.L("web_player_show_frame_zero_when_cued") && c.push("ytp-exp-frame0"); g.T.call(this, { I: "div", Na: c, V: [{ I: "div", S: "ytp-cued-thumbnail-overlay-image" }] }); b = this.Ea("ytp-cued-thumbnail-overlay"); c = new g.AU(a); g.P(this, c); c.Ja(b); this.D = new g.OE(this); g.P(this, this.D); this.api = a; this.G = this.Ea("ytp-cued-thumbnail-overlay-image"); this.C = c; this.B = new g.Dy(this, 250); g.P(this, this.B); this.j = new g.fp(this.Ta, + 0, this); g.P(this, this.j); this.Ta(); this.T(a, "appresize", this.kc); this.T(a, "presentingplayerstatechange", this.onStateChange); this.T(a, "ypcStateChanged", this.Lca); KO(a.U()) && this.T(a, "videoplayerreset", this.onReset) + }; + iPa = function (a) { if (!a.api.L("web_player_show_frame_zero_when_cued")) return !1; var b = a.api.getCurrentTime(); a = a.api.getPlayerStateObject(); a = g.U(a, 64) && g.U(a, 1); return b === 0 && a }; + g.CU = function (a) { + g.T.call(this, { + I: "div", Na: ["ytp-error"], X: { role: "alert" }, V: [{ + I: "div", S: "ytp-error-content", V: [{ I: "div", S: "ytp-error-icon-container", V: [{ I: "svg", X: { fill: "#fff", viewBox: "0 0 48 48" }, V: [{ I: "path", X: { d: "M0 0h48v48H0V0z", fill: "none" } }, { I: "path", X: { d: "M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z", "fill-opacity": "0.7" } }] }] }, { + I: "div", S: "ytp-error-content-wrap", + V: [{ I: "div", S: "ytp-error-content-wrap-reason", va: "{{content}}" }, { I: "div", S: "ytp-error-content-wrap-subreason", va: "{{subreason}}" }] + }] + }] + }); this.api = a; this.keys = []; this.C = !1; a.createClientVe(this.element, this, 216103); this.api.logVisibility(this.element, this.Hb) + }; + g.DU = function (a) { a = a.split(jPa); for (var b = [], c = 0; c < a.length; c += 3) { var d = a[c++].split("\n"); b.push(d[0]); for (var e = 1; e < d.length; e++)b.push({ I: "br" }), b.push(d[e]); c < a.length && b.push({ I: "a", X: { href: a[c], target: a[c + 1] }, va: a[c + 2] }) } return { I: "span", V: b } }; + FU = function (a, b, c, d, e, f, h) { d = d === void 0 ? !1 : d; e = e === void 0 ? !1 : e; h = h === void 0 ? !0 : h; e || (e = a.api.U().D); var l = a.api.getVideoData(); b = g.DD(g.EU[b] || "", d ? { CPN: l.clientPlaybackNonce } : {}).split(/\$(BEGIN|END)_LINK/); d = []; f && d.push({ I: "h2", va: f }); d.push(b[0]); h && d.push({ I: "br" }); d.push({ I: "a", X: { href: c, target: e ? "_blank" : null }, S: "ytp-error-link", va: b[2] }); a.C = !0; d.push(b[4]); return { I: "span", V: d } }; + kPa = function (a, b) { for (var c = a.element.getElementsByTagName("a"), d = 0; d < c.length; d++) { var e = a.T(c[d], "click", b); a.keys.push(e) } }; + lPa = function (a) { for (var b = 0; b < a.keys.length; b++)a.Oc(a.keys[b]); a.keys = [] }; + mPa = function (a) { + g.T.call(this, { I: "div", S: "ytp-paid-content-overlay", X: { "aria-live": "assertive", "aria-atomic": "true" } }); this.J = a; this.videoId = null; this.C = !1; this.innertubeCommand = this.Ee = this.j = null; var b = a.U(); a.L("enable_new_paid_product_placement") && !g.dP(b) ? (this.B = new g.T({ + I: "a", S: "ytp-paid-content-overlay-link", X: { href: "{{href}}", target: "_blank" }, V: [{ I: "div", S: "ytp-paid-content-overlay-icon", va: "{{icon}}" }, { I: "div", S: "ytp-paid-content-overlay-text", va: "{{text}}" }, { + I: "div", S: "ytp-paid-content-overlay-chevron", + va: "{{chevron}}" + }] + }), this.T(this.B.element, "click", this.onClick)) : this.B = new g.T({ I: "div", Na: ["ytp-button", "ytp-paid-content-overlay-text"], va: "{{text}}" }); this.D = new g.Dy(this.B, 250, !1, 100); g.P(this, this.B); this.B.Ja(this.element); g.P(this, this.D); this.J.createServerVe(this.element, this); this.T(a, "videodatachange", this.onVideoDataChange); this.T(a, "presentingplayerstatechange", this.O5) + }; + oPa = function (a, b) { var c = ALa(b), d = BLa(b); b.Fi && a.J.oo() || (a.j ? b.videoId && b.videoId !== a.videoId && (g.ip(a.j), a.videoId = b.videoId, a.C = !!d, a.C && c && nPa(a, d, c, b)) : c && d && nPa(a, d, c, b)) }; + nPa = function (a, b, c, d) { + a.j && a.j.dispose(); a.j = new g.fp(a.Nb, b, a); g.P(a, a.j); d = CQ(d); b = d == null ? void 0 : d.navigationEndpoint; var e; d = d == null ? void 0 : (e = d.icon) == null ? void 0 : e.iconType; var f; e = (f = g.R(b, g.ky)) == null ? void 0 : f.url; a.J.setTrackingParams(a.element, (b == null ? void 0 : b.clickTrackingParams) || null); b && !e ? (a.innertubeCommand = b, e = "#!") : a.innertubeCommand = null; var h; a.B.update({ + href: (h = e) != null ? h : "#", text: c, icon: d === "MONEY_HAND" ? { + I: "svg", X: { fill: "none", height: "100%", viewBox: "0 0 24 24", width: "100%" }, + V: [{ + I: "path", X: { + d: "M6 9H5V5V4H6H19V5H6V9ZM21.72 16.04C21.56 16.8 21.15 17.5 20.55 18.05C20.47 18.13 18.42 20.01 14.03 20.01C13.85 20.01 13.67 20.01 13.48 20C11.3 19.92 8.51 19.23 5.4 18H2V10H5H6H7V6H21V13H16.72C16.37 13.59 15.74 14 15 14H12.7C13.01 14.46 13.56 15 14.5 15H15.02C16.07 15 17.1 14.64 17.92 13.98C18.82 13.26 20.03 13.22 20.91 13.84C21.58 14.32 21.9 15.19 21.72 16.04ZM15 10C15 9.45 14.55 9 14 9C13.45 9 13 9.45 13 10H15ZM20 11C19.45 11 19 11.45 19 12H20V11ZM19 7C19 7.55 19.45 8 20 8V7H19ZM8 8C8.55 8 9 7.55 9 7H8V8ZM8 10H12C12 8.9 12.9 8 14 8C15.1 8 16 8.9 16 10V10.28C16.59 10.63 17 11.26 17 12H18C18 10.9 18.9 10 20 10V9C18.9 9 18 8.1 18 7H10C10 8.1 9.1 9 8 9V10ZM5 13.5V11H3V17H5V13.5ZM20.33 14.66C19.81 14.29 19.1 14.31 18.6 14.71C17.55 15.56 16.29 16 15.02 16H14.5C12.62 16 11.67 14.46 11.43 13.64L11.24 13H15C15.55 13 16 12.55 16 12C16 11.45 15.55 11 15 11H6V13.5V17.16C8.9 18.29 11.5 18.93 13.52 19C17.85 19.15 19.85 17.34 19.87 17.32C20.33 16.9 20.62 16.4 20.74 15.84C20.84 15.37 20.68 14.91 20.33 14.66Z", + fill: "white" + } + }] + } : null, chevron: e || a.innertubeCommand ? g.Ux() : null + }) + }; + pPa = function (a, b) { a.j && (g.U(b, 8) && a.C ? (a.C = !1, a.pd(), a.j.start()) : (g.U(b, 2) || g.U(b, 64)) && a.videoId && (a.videoId = null)) }; + GU = function (a) { g.T.call(this, { I: "div", S: "ytp-spinner", V: [zS(), { I: "div", S: "ytp-spinner-message", va: "If playback doesn't begin shortly, try restarting your device." }] }); this.api = a; this.message = this.Ea("ytp-spinner-message"); this.j = new g.fp(this.show, 500, this); g.P(this, this.j); this.T(a, "presentingplayerstatechange", this.onStateChange); this.T(a, "playbackstalledatstart", this.B); this.zd(a.getPlayerStateObject()) }; + HU = function (a) { + var b = [{ I: "div", Na: ["ytp-unmute-icon"], V: [{ I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 21.48,17.98 c 0,-1.77 -1.02,-3.29 -2.5,-4.03 v 2.21 l 2.45,2.45 c .03,-0.2 .05,-0.41 .05,-0.63 z m 2.5,0 c 0,.94 -0.2,1.82 -0.54,2.64 l 1.51,1.51 c .66,-1.24 1.03,-2.65 1.03,-4.15 0,-4.28 -2.99,-7.86 -7,-8.76 v 2.05 c 2.89,.86 5,3.54 5,6.71 z M 9.25,8.98 l -1.27,1.26 4.72,4.73 H 7.98 v 6 H 11.98 l 5,5 v -6.73 l 4.25,4.25 c -0.67,.52 -1.42,.93 -2.25,1.18 v 2.06 c 1.38,-0.31 2.63,-0.95 3.69,-1.81 l 2.04,2.05 1.27,-1.27 -9,-9 -7.72,-7.72 z m 7.72,.99 -2.09,2.08 2.09,2.09 V 9.98 z" } }] }] }, + { I: "div", Na: ["ytp-unmute-text"], va: "Tap to unmute" }]; b.push({ I: "div", Na: ["ytp-unmute-box"], V: [] }); g.hS.call(this, a, { I: "button", Na: ["ytp-unmute", "ytp-popup", "ytp-button", "ytp-unmute-animated", "ytp-unmute-shrink"], V: [{ I: "div", S: "ytp-unmute-inner", V: b }] }, 100); this.j = this.clicked = !1; this.api = a; this.api.createClientVe(this.element, this, 51663); this.T(a, "onMutedAutoplayChange", this.onMutedAutoplayChange, this); this.T(a, "presentingplayerstatechange", this.Lk); this.listen("click", this.onClick, this); a = a.isMutedByMutedAutoplay() && + !g.IO(this.api.U()); g.Mx(this, a); a && qPa(this); this.C = a + }; + qPa = function (a) { a.j || (a.j = !0, a.api.logVisibility(a.element, !0)) }; + g.IU = function (a) { + g.OE.call(this); var b = this; this.api = a; this.tR = !1; this.Ao = null; this.cP = !1; this.xg = null; this.dP = this.SM = !1; this.nU = this.oU = null; this.XZ = NaN; this.mU = this.IE = !1; this.qG = 0; this.gO = []; this.BS = !1; this.FK = { height: 0, width: 0 }; this.z2 = 480; this.tfa = ["ytp-player-content", "html5-endscreen", "ytp-overlay"]; this.jL = { HA: !1 }; var c = a.U(), d = a.qb(); this.FK = a.getPlayerSize(); this.ZW = new g.fp(this.LR, 0, this); g.P(this, this.ZW); c.disableOrganicUi || (this.Mn = new g.BU(a), g.P(this, this.Mn), g.GR(a, this.Mn.element, + 4)); if (rPa(this)) { var e = new GU(a); g.P(this, e); e = e.element; g.GR(a, e, 4) } var f = a.getVideoData(); this.Jg = new gPa(d, function (l) { return b.hJ(l) }, f, c.Zj, !1); + g.P(this, this.Jg); this.Jg.subscribe("autohideupdate", this.yB, this); if (!c.disablePaidContentOverlay) { var h = new mPa(a); g.P(this, h); g.GR(a, h.element, 4) } this.rU = new HU(a); g.P(this, this.rU); g.GR(this.api, this.rU.element, 2); this.BQ = this.api.isMutedByMutedAutoplay(); this.T(a, "onMutedAutoplayChange", this.onMutedAutoplayChange); this.PM = new g.fp(this.Us, 200, this); g.P(this, this.PM); this.XF = f.videoId; this.K1 = new g.fp(function () { b.qG = 0 }, 350); + g.P(this, this.K1); this.AJ = new g.fp(function () { b.mU || sPa(b) }, 350, this); + g.P(this, this.AJ); f = a.getRootNode(); f.setAttribute("aria-label", "YouTube Video Player"); switch (c.color) { case "white": g.np(f, "ytp-color-white") }this.T(a, "appresize", this.kc); this.T(a, "presentingplayerstatechange", this.Lk); this.T(a, "videodatachange", this.onVideoDataChange); this.T(a, "videoplayerreset", this.xba); this.T(a, "autonavvisibility", function () { b.Vq() }); + this.T(a, "sizestylechange", function () { b.Vq() }); + this.T(d, "click", this.Vba, this); this.T(d, "dblclick", this.Wba, this); this.T(d, "mousedown", this.Zba, this); c.Ab && (this.T(d, "gesturechange", this.Xba, this), this.T(d, "gestureend", this.Yba, this)); this.oG = [d.Tz]; this.Mn && this.oG.push(this.Mn.element); e && this.oG.push(e) + }; + tPa = function (a, b) { if (!b) return !1; var c = a.api.Ke(); if (c.cw() && (c = c.Ib()) && g.qe(c, b)) return c.controls; for (c = 0; c < a.oG.length; c++)if (g.qe(a.oG[c], b)) return !1; c = g.w(a.tfa); for (var d = c.next(); !d.done; d = c.next())if (g.mp(b, d.value)) return !1; return b === a.api.getRootNode() ? !1 : !0 }; + uPa = function (a) { var b = a.api.getPresentingPlayerType() === 2 && (a.api.qb().AK || a.api.U().disableOrganicUi || !1) && a.api.U().B && zU && bQ >= 11; a = a.api.U().Z && zU; return !(!b && !a) }; + JU = function (a, b) { return !a.api.isInline() && !tPa(a, Us(b)) && g.$y(b) }; + sPa = function (a) { a.Jg.Gv(); if (a.SM && a.dP) a.dP = !1; else if (!a.api.U().Ra && !a.Dr()) { var b = a.api.getPlayerStateObject(); g.U(b, 2) && g.zR(a.api) || a.KH(b); !a.api.U().Ab || b.isCued() || g.U(b, 1024) ? a.Us() : a.PM.isActive() ? (a.CQ(), a.PM.stop()) : a.PM.start() } }; + vPa = function (a, b) { var c; if ((c = a.api.getVideoData()) == null ? 0 : c.mutedAutoplay) { var d, e; if ((d = b.target) == null ? 0 : (e = d.className) == null ? 0 : e.includes("ytp-info-panel")) return !1 } return g.$y(b) && a.api.isMutedByMutedAutoplay() ? (a.api.unMute(), a.api.getPresentingPlayerType() === 2 && a.api.playVideo(), b = a.api.getPlayerStateObject(), !g.U(b, 4) || g.U(b, 8) || g.U(b, 2) || a.Us(), !0) : !1 }; + wPa = function (a, b, c) { a.api.isFullscreen() ? c < 1 - b && a.api.toggleFullscreen() : c > 1 + b && a.api.toggleFullscreen() }; + rPa = function (a) { var b = js() && kna() >= 67 && !a.api.U().Z; a = a.api.U().disableOrganicUi; return !g.is("tizen") && !lO && !b && !a }; + KU = function (a, b) { b = b === void 0 ? 2 : b; g.Fx.call(this); this.api = a; this.j = null; this.Hd = new Ws(this); g.P(this, this.Hd); this.B = Zsa; this.Hd.T(this.api, "presentingplayerstatechange", this.P5); this.j = this.Hd.T(this.api, "progresssync", this.Tc); this.ip = b; this.ip === 1 && this.Tc() }; + g.LU = function (a) { g.T.call(this, { I: "div", V: [{ I: "div", S: "ytp-bezel-text-wrapper", V: [{ I: "div", S: "ytp-bezel-text", va: "{{title}}" }] }, { I: "div", S: "ytp-bezel", X: { role: "status", "aria-label": "{{label}}" }, V: [{ I: "div", S: "ytp-bezel-icon", va: "{{icon}}" }] }] }); this.J = a; this.B = new g.fp(this.show, 10, this); this.j = new g.fp(this.hide, 500, this); g.P(this, this.B); g.P(this, this.j); this.hide() }; + NU = function (a, b, c) { + if (b <= 0) { c = ey(); b = "muted"; var d = 0 } else c = c ? { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "M8,21 L12,21 L17,26 L17,10 L12,15 L8,15 L8,21 Z M19,14 L19,22 C20.48,21.32 21.5,19.77 21.5,18 C21.5,16.26 20.48,14.74 19,14 Z", fill: "#fff" } }] } : { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", Fc: !0, X: { + d: "M8,21 L12,21 L17,26 L17,10 L12,15 L8,15 L8,21 Z M19,14 L19,22 C20.48,21.32 21.5,19.77 21.5,18 C21.5,16.26 20.48,14.74 19,14 Z M19,11.29 C21.89,12.15 24,14.83 24,18 C24,21.17 21.89,23.85 19,24.71 L19,26.77 C23.01,25.86 26,22.28 26,18 C26,13.72 23.01,10.14 19,9.23 L19,11.29 Z", + fill: "#fff" + } + }] + }, d = Math.floor(b), b = d + "volume"; MU(a, c, b, d + "%") + }; + xPa = function (a, b) { b = b ? { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 17,24 V 12 l -8.5,6 8.5,6 z m .5,-6 8.5,6 V 12 l -8.5,6 z" } }] } : osa(); var c = a.J.getPlaybackRate(), d = g.DD("Speed is $RATE", { RATE: String(c) }); MU(a, b, d, c + "x") }; + yPa = function (a, b) { b = b ? "Subtitles/closed captions on" : "Subtitles/closed captions off"; MU(a, LMa(), b) }; + MU = function (a, b, c, d) { d = d === void 0 ? "" : d; a.updateValue("label", c === void 0 ? "" : c); a.updateValue("icon", b); g.ip(a.j); a.B.start(); a.updateValue("title", d); g.rp(a.element, "ytp-bezel-text-hide", !d) }; + zPa = function (a, b) { + g.T.call(this, { + I: "button", Na: ["ytp-button", "ytp-cards-button"], X: { "aria-label": "Show cards", "aria-owns": "iv-drawer", "aria-haspopup": "true", "data-tooltip-opaque": String(g.IO(a.U())) }, V: [{ + I: "span", S: "ytp-cards-button-icon-default", V: [{ I: "div", S: "ytp-cards-button-icon", V: [a.U().L("player_new_info_card_format") ? rsa() : { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M18,8 C12.47,8 8,12.47 8,18 C8,23.52 12.47,28 18,28 C23.52,28 28,23.52 28,18 C28,12.47 23.52,8 18,8 L18,8 Z M17,16 L19,16 L19,24 L17,24 L17,16 Z M17,12 L19,12 L19,14 L17,14 L17,12 Z" } }] }] }, + { I: "div", S: "ytp-cards-button-title", va: "Info" }] + }, { + I: "span", S: "ytp-cards-button-icon-shopping", V: [{ + I: "div", S: "ytp-cards-button-icon", V: [{ + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", S: "ytp-svg-shadow", X: { d: "M 27.99,18 A 9.99,9.99 0 1 1 8.00,18 9.99,9.99 0 1 1 27.99,18 z" } }, { + I: "path", S: "ytp-svg-fill", X: { + d: "M 18,8 C 12.47,8 8,12.47 8,18 8,23.52 12.47,28 18,28 23.52,28 28,23.52 28,18 28,12.47 23.52,8 18,8 z m -4.68,4 4.53,0 c .35,0 .70,.14 .93,.37 l 5.84,5.84 c .23,.23 .37,.58 .37,.93 0,.35 -0.13,.67 -0.37,.90 L 20.06,24.62 C 19.82,24.86 19.51,25 19.15,25 c -0.35,0 -0.70,-0.14 -0.93,-0.37 L 12.37,18.78 C 12.13,18.54 12,18.20 12,17.84 L 12,13.31 C 12,12.59 12.59,12 13.31,12 z m .96,1.31 c -0.53,0 -0.96,.42 -0.96,.96 0,.53 .42,.96 .96,.96 .53,0 .96,-0.42 .96,-0.96 0,-0.53 -0.42,-0.96 -0.96,-0.96 z", + "fill-opacity": "1" + } + }, { I: "path", S: "ytp-svg-shadow-fill", X: { d: "M 24.61,18.22 18.76,12.37 C 18.53,12.14 18.20,12 17.85,12 H 13.30 C 12.58,12 12,12.58 12,13.30 V 17.85 c 0,.35 .14,.68 .38,.92 l 5.84,5.85 c .23,.23 .55,.37 .91,.37 .35,0 .68,-0.14 .91,-0.38 L 24.61,20.06 C 24.85,19.83 25,19.50 25,19.15 25,18.79 24.85,18.46 24.61,18.22 z M 14.27,15.25 c -0.53,0 -0.97,-0.43 -0.97,-0.97 0,-0.53 .43,-0.97 .97,-0.97 .53,0 .97,.43 .97,.97 0,.53 -0.43,.97 -0.97,.97 z", fill: "#000", "fill-opacity": "0.15" } }] + }] + }, { + I: "div", + S: "ytp-cards-button-title", va: "Shopping" + }] + }] + }); this.J = a; this.C = b; this.j = null; this.B = new g.Dy(this, 250, !0, 100); g.P(this, this.B); g.rp(this.C, "ytp-show-cards-title", g.IO(a.U())); this.hide(); this.listen("click", this.onClicked); this.listen("mouseover", this.Taa); this.GH(!0) + }; + APa = function (a, b) { + g.T.call(this, { I: "div", S: "ytp-cards-teaser", V: [{ I: "div", S: "ytp-cards-teaser-box" }, { I: "div", S: "ytp-cards-teaser-text", V: a.U().L("player_new_info_card_format") ? [{ I: "button", S: "ytp-cards-teaser-info-icon", X: { "aria-label": "Show cards", "aria-haspopup": "true" }, V: [rsa()] }, { I: "span", S: "ytp-cards-teaser-label", va: "{{text}}" }, { I: "button", S: "ytp-cards-teaser-close-button", X: { "aria-label": "Close" }, V: [g.Vx()] }] : [{ I: "span", S: "ytp-cards-teaser-label", va: "{{text}}" }] }] }); var c = this; this.J = a; this.Yg = + b; this.D = new g.Dy(this, 250, !1, 250); this.j = null; this.N = new g.fp(this.jba, 300, this); this.K = new g.fp(this.hba, 2E3, this); this.G = []; this.B = null; this.Y = new g.fp(function () { c.element.style.margin = "0" }, 250); + this.onClickCommand = this.C = null; g.P(this, this.D); g.P(this, this.N); g.P(this, this.K); g.P(this, this.Y); a.U().L("player_new_info_card_format") ? (g.np(a.getRootNode(), "ytp-cards-teaser-dismissible"), this.T(this.Ea("ytp-cards-teaser-close-button"), "click", this.Q5), this.T(this.Ea("ytp-cards-teaser-info-icon"), "click", this.eU), this.T(this.Ea("ytp-cards-teaser-label"), "click", this.eU)) : this.listen("click", this.eU); this.T(b.element, "mouseover", this.VV); this.T(b.element, "mouseout", this.UV); this.T(a, "cardsteasershow", + this.vca); this.T(a, "cardsteaserhide", this.Nb); this.T(a, "cardstatechange", this.v3); this.T(a, "presentingplayerstatechange", this.v3); this.T(a, "appresize", this.MN); this.T(a, "onShowControls", this.MN); this.T(a, "onHideControls", this.y7); this.listen("mouseenter", this.R5) + }; + BPa = function (a) { + g.T.call(this, { I: "button", Na: [OU.BUTTON, OU.TITLE_NOTIFICATIONS], X: { "aria-pressed": "{{pressed}}", "aria-label": "{{label}}" }, V: [{ I: "div", S: OU.TITLE_NOTIFICATIONS_ON, X: { title: "Stop getting notified about every new video", "aria-label": "Notify subscriptions" }, V: [g.Yx()] }, { I: "div", S: OU.TITLE_NOTIFICATIONS_OFF, X: { title: "Get notified about every new video", "aria-label": "Notify subscriptions" }, V: [{ I: "svg", X: { fill: "#fff", height: "24px", viewBox: "0 0 24 24", width: "24px" }, V: [{ I: "path", X: { d: "M18 11c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2v-5zm-6 11c.14 0 .27-.01.4-.04.65-.14 1.18-.58 1.44-1.18.1-.24.15-.5.15-.78h-4c.01 1.1.9 2 2.01 2z" } }] }] }] }); + this.api = a; this.j = !1; a.createClientVe(this.element, this, 36927); this.listen("click", this.onClick, this); this.updateValue("pressed", !1); this.updateValue("label", "Get notified about every new video") + }; + CPa = function (a, b) { a.j = b; a.element.classList.toggle(OU.NOTIFICATIONS_ENABLED, a.j); var c = a.api.getVideoData(); c ? (b = b ? c.OD : c.MD) ? (a = a.api.Im()) ? wA(a, b) : g.ex(Error("No innertube service available when updating notification preferences.")) : g.ex(Error("No update preferences command available.")) : g.ex(Error("No video data when updating notification preferences.")) }; + EPa = function (a, b, c) { var d = d === void 0 ? 800 : d; var e = e === void 0 ? 600 : e; a = DPa(a, b); if (a = g.Md(a, "loginPopup", "width=" + d + ",height=" + e + ",resizable=yes,scrollbars=yes")) kqa(function () { c() }), a.moveTo((screen.width - d) / 2, (screen.height - e) / 2) }; + DPa = function (a, b) { var c = document.location.protocol; return Pfa(c + "//" + a + "/signin?context=popup", "feature", b, "next", c + "//" + location.hostname + "/post_login") }; + g.PU = function (a, b, c, d, e, f, h, l, m, n, p, q) { + a = a.charAt(0) + a.substring(1).toLowerCase(); c = c.charAt(0) + c.substring(1).toLowerCase(); if (b === "0" || b === "-1") b = null; if (d === "0" || d === "-1") d = null; var r = p.U(), t = r.userDisplayName && g.OO(r); g.T.call(this, { + I: "div", Na: ["ytp-button", "ytp-sb"], V: [{ + I: "div", S: "ytp-sb-subscribe", X: t ? { title: g.DD("Subscribe as $USER_NAME", { USER_NAME: r.userDisplayName }), "aria-label": "Subscribe to channel", "data-tooltip-image": iP(r), "data-tooltip-opaque": String(g.IO(r)), tabindex: "0", role: "button" } : + { "aria-label": "Subscribe to channel" }, V: [{ I: "div", S: "ytp-sb-text", V: [{ I: "div", S: "ytp-sb-icon" }, a] }, b ? { I: "div", S: "ytp-sb-count", va: b } : ""] + }, { + I: "div", S: "ytp-sb-unsubscribe", X: t ? { title: g.DD("Subscribed as $USER_NAME", { USER_NAME: r.userDisplayName }), "aria-label": "Unsubscribe to channel", "data-tooltip-image": iP(r), "data-tooltip-opaque": String(g.IO(r)), tabindex: "0", role: "button" } : { "aria-label": "Unsubscribe to channel" }, V: [{ I: "div", S: "ytp-sb-text", V: [{ I: "div", S: "ytp-sb-icon" }, c] }, d ? { + I: "div", S: "ytp-sb-count", + va: d + } : ""] + }], X: { "aria-live": "polite" } + }); var u = this; this.channelId = h; this.J = p; this.C = q; var y = this.Ea("ytp-sb-subscribe"), A = this.Ea("ytp-sb-unsubscribe"); f && g.np(this.element, "ytp-sb-classic"); if (e) { + l ? this.j() : this.B(); var D = function () { + if (r.Ba) { + var H = u.channelId; if (m || n) { + var M = { c: H }; var N; g.WK.isInitialized() && (N = RBa(M)); M = N || ""; if (N = p.getVideoData()) if (N = N.subscribeCommand) { var Q = p.Im(); Q ? (wA(Q, N, { botguardResponse: M, feature: m }), p.ib("SUBSCRIBE", H)) : g.ex(Error("No innertube service available when updating subscriptions.")) } else g.ex(Error("No subscribe command in videoData.")); + else g.ex(Error("No video data available when updating subscription.")) + } A.focus(); A.removeAttribute("aria-hidden"); y.setAttribute("aria-hidden", "true") + } else EPa(g.YO(u.J.U()), "sb_button", u.D) + }, F = function () { + var H = u.channelId; + if (m || n) { var M = p.getVideoData(); wA(p.Im(), M.unsubscribeCommand, { feature: m }); p.ib("UNSUBSCRIBE", H) } y.focus(); y.removeAttribute("aria-hidden"); A.setAttribute("aria-hidden", "true") + }; + this.T(y, "click", D); this.T(A, "click", F); this.T(y, "keypress", function (H) { H.keyCode === 13 && D(H) }); + this.T(A, "keypress", function (H) { H.keyCode === 13 && F(H) }); + this.T(p, "SUBSCRIBE", this.j); this.T(p, "UNSUBSCRIBE", this.B); this.C && t && (uMa(p), wR(p, y, this), wR(p, A, this)) + } else g.np(y, "ytp-sb-disabled"), g.np(A, "ytp-sb-disabled") + }; + HPa = function (a) { + g.T.call(this, { + I: "div", S: "ytp-title-channel", V: [{ I: "div", S: "ytp-title-beacon" }, { I: "a", S: "ytp-title-channel-logo", X: { href: "{{channelLink}}", target: a.U().Y, role: "link", "aria-label": "{{channelLogoLabel}}", tabIndex: "0" } }, { + I: "div", S: "ytp-title-expanded-overlay", X: { "aria-hidden": "{{flyoutUnfocusable}}" }, V: [{ + I: "div", S: "ytp-title-expanded-heading", V: [{ + I: "div", S: "ytp-title-expanded-title", V: [{ + I: "a", va: "{{expandedTitle}}", X: { + href: "{{channelTitleLink}}", target: a.U().Y, "aria-hidden": "{{shouldHideExpandedTitleForA11y}}", + tabIndex: "{{channelTitleFocusable}}" + } + }] + }, { I: "div", S: "ytp-title-expanded-subtitle", va: "{{expandedSubtitle}}", X: { "aria-hidden": "{{shouldHideExpandedSubtitleForA11y}}" } }] + }] + }] + }); var b = this; this.api = a; this.channel = this.Ea("ytp-title-channel"); this.B = this.Ea("ytp-title-channel-logo"); this.channelName = this.Ea("ytp-title-expanded-title"); this.G = this.Ea("ytp-title-expanded-overlay"); this.C = this.j = this.subscribeButton = null; this.D = !1; a.createClientVe(this.B, this, 36925); a.createClientVe(this.channelName, this, + 37220); g.IO(this.api.U()) && FPa(this); this.T(a, "videodatachange", this.Ta); this.T(a, "videoplayerreset", this.Ta); this.T(this.channelName, "click", function (c) { b.api.logClick(b.channelName); g.Md(GPa(b)); c.preventDefault() }); + this.T(this.B, "click", this.yaa); this.Ta() + }; + IPa = function (a) { + if (!a.api.U().Tb) { + var b = a.api.getVideoData(), c = new g.PU("Subscribe", null, "Subscribed", null, !0, !1, b.Wl, b.subscribed, "channel_avatar", null, a.api, !0); a.api.createServerVe(c.element, a); var d; a.api.setTrackingParams(c.element, ((d = b.subscribeButtonRenderer) == null ? void 0 : d.trackingParams) || null); a.T(c.element, "click", function () { a.api.logClick(c.element) }); + a.subscribeButton = c; g.P(a, a.subscribeButton); a.subscribeButton.Ja(a.G); a.subscribeButton.hide(); var e = new BPa(a.api); a.j = e; g.P(a, e); e.Ja(a.G); e.hide(); a.T(a.api, "SUBSCRIBE", function () { b.hm && (e.show(), a.api.logVisibility(e.element, !0)) }); + a.T(a.api, "UNSUBSCRIBE", function () { b.hm && (e.hide(), a.api.logVisibility(e.element, !1), CPa(e, !1)) }) + } + }; + FPa = function (a) { + var b = a.api.U(); IPa(a); a.updateValue("flyoutUnfocusable", "true"); a.updateValue("channelTitleFocusable", "-1"); a.updateValue("shouldHideExpandedTitleForA11y", "true"); a.updateValue("shouldHideExpandedSubtitleForA11y", "true"); b.B || b.Wa || (a.T(a.channel, "mouseenter", a.yP), a.T(a.channel, "mouseleave", a.UO), a.T(a.channel, "focusin", a.yP), a.T(a.channel, "focusout", function (c) { a.channel.contains(c.relatedTarget) || a.UO() })); + a.C = new g.fp(function () { a.isExpanded() && (a.api.logVisibility(a.channelName, !1), a.subscribeButton && (a.subscribeButton.hide(), a.api.logVisibility(a.subscribeButton.element, !1)), a.j && (a.j.hide(), a.api.logVisibility(a.j.element, !1)), a.channel.classList.remove("ytp-title-expanded"), a.channel.classList.add("ytp-title-show-collapsed")) }, 500); + g.P(a, a.C); a.T(a.channel, JPa, function () { KPa(a) }); + a.T(a.api, "onHideControls", a.iT); a.T(a.api, "appresize", a.iT); a.T(a.api, "fullscreentoggled", a.iT) + }; + KPa = function (a) { a.channel.classList.remove("ytp-title-show-collapsed"); a.channel.classList.remove("ytp-title-show-expanded") }; + LPa = function (a) { var b = a.api.getPlayerSize(); return g.IO(a.api.U()) && b.width >= 524 }; + GPa = function (a) { var b = a.api.U(), c = a.api.getVideoData(), d = g.jP(b) + c.Ab; g.bR(c) && (d = "https://music.youtube.com" + c.Ab); if (!g.IO(b)) return d; b = {}; g.iR(a.api, "addEmbedsConversionTrackingParams", [b]); a.api.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(b, "emb_ch_name_ex"); return g.Ti(d, b) }; + QU = function (a) { var b = g.lS({ "aria-haspopup": "true" }); g.kS.call(this, b, a); this.listen("keydown", this.j) }; + RU = function (a, b) { a.element.setAttribute("aria-haspopup", String(b)) }; + MPa = function (a, b) { + g.T.call(this, { + I: "div", S: "ytp-user-info-panel", X: { "aria-label": "User info" }, V: a.U().Ba && !a.L("embeds_web_always_enable_signed_out_state") ? [{ I: "div", S: "ytp-user-info-panel-icon", va: "{{icon}}" }, { I: "div", S: "ytp-user-info-panel-content", V: [{ I: "div", S: "ytp-user-info-panel-info", X: { tabIndex: "{{userInfoFocusable}}", role: "text" }, va: "{{watchingAsUsername}}" }, { I: "div", S: "ytp-user-info-panel-info", X: { tabIndex: "{{userInfoFocusable2}}", role: "text" }, va: "{{watchingAsEmail}}" }] }] : [{ + I: "div", S: "ytp-user-info-panel-icon", + va: "{{icon}}" + }, { I: "div", S: "ytp-user-info-panel-content", V: [{ I: "div", V: [{ I: "text", X: { tabIndex: "{{userInfoFocusable}}" }, va: "Signed out" }] }, { I: "div", S: "ytp-user-info-panel-login", V: [{ I: "a", X: { tabIndex: "{{userInfoFocusable2}}", role: "button" }, va: a.U().Tb ? "" : "Sign in on YouTube" }] }] }] + }); this.Ua = a; this.j = b; a.U().Ba || a.U().Tb || (a = this.Ea("ytp-user-info-panel-login"), this.T(a, "click", this.T5)); this.closeButton = new g.T({ I: "button", Na: ["ytp-collapse", "ytp-button"], X: { title: "Close" }, V: [g.dy()] }); this.closeButton.Ja(this.element); + g.P(this, this.closeButton); this.T(window, "blur", this.hide); this.T(document, "click", this.S5); this.Ta() + }; + OPa = function (a, b, c) { + g.dT.call(this, a); this.Fb = b; this.le = c; this.getVideoUrl = new QU(6); this.ao = new QU(5); this.Un = new QU(4); this.uc = new QU(3); this.mH = new g.kS(g.lS({ href: "{{href}}", target: this.J.U().Y }, void 0, !0), 2, "Troubleshoot playback issue"); this.showVideoInfo = new g.kS(g.lS(), 1, "Stats for nerds"); this.Uz = new g.Nx({ I: "div", Na: ["ytp-copytext", "ytp-no-contextmenu"], X: { draggable: "false", tabindex: "1" }, va: "{{text}}" }); this.AX = new cT(this.J, this.Uz); this.jI = this.pu = null; g.IO(this.J.U()) && (this.closeButton = + new g.T({ I: "button", Na: ["ytp-collapse", "ytp-button"], X: { title: "Close" }, V: [g.dy()] }), g.P(this, this.closeButton), this.closeButton.Ja(this.element), this.closeButton.listen("click", this.B7, this)); g.IO(this.J.U()) && (this.Rl = new g.kS(g.lS(), 8, "Account"), g.P(this, this.Rl), this.Uc(this.Rl, !0), this.Rl.listen("click", this.lca, this), a.createClientVe(this.Rl.element, this.Rl, 137682)); this.J.U().Bn && (this.Ll = new vS("Loop", 7), g.P(this, this.Ll), this.Uc(this.Ll, !0), this.Ll.listen("click", this.aba, this), a.createClientVe(this.Ll.element, + this.Ll, 28661)); g.P(this, this.getVideoUrl); this.Uc(this.getVideoUrl, !0); this.getVideoUrl.listen("click", this.Raa, this); a.createClientVe(this.getVideoUrl.element, this.getVideoUrl, 28659); g.P(this, this.ao); this.Uc(this.ao, !0); this.ao.listen("click", this.Saa, this); a.createClientVe(this.ao.element, this.ao, 28660); g.P(this, this.Un); this.Uc(this.Un, !0); this.Un.listen("click", this.Qaa, this); a.createClientVe(this.Un.element, this.Un, 28658); g.P(this, this.uc); this.Uc(this.uc, !0); this.uc.listen("click", this.Paa, + this); g.P(this, this.mH); this.Uc(this.mH, !0); this.mH.listen("click", this.Rba, this); g.P(this, this.showVideoInfo); this.Uc(this.showVideoInfo, !0); this.showVideoInfo.listen("click", this.mca, this); g.P(this, this.Uz); this.Uz.listen("click", this.Daa, this); g.P(this, this.AX); b = document.queryCommandSupported && document.queryCommandSupported("copy"); Eaa("Chromium") >= 43 && (b = !0); Eaa("Firefox") <= 40 && (b = !1); b && (this.pu = new g.T({ I: "textarea", S: "ytp-html5-clipboard", X: { readonly: "", tabindex: "-1" } }), g.P(this, this.pu), + this.pu.Ja(this.element)); var d; (d = this.Rl) == null || d.setIcon(vsa()); var e; (e = this.Ll) == null || e.setIcon({ I: "svg", X: { fill: "none", height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ I: "path", X: { d: "M7 7H17V10L21 6L17 2V5H5V11H7V7ZM17 17H7V14L3 18L7 22V19H19V13H17V17Z", fill: "white" } }] }); this.uc.setIcon({ + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + "clip-rule": "evenodd", d: "M20 10V8H17.19C16.74 7.22 16.12 6.54 15.37 6.04L17 4.41L15.59 3L13.42 5.17C13.39 5.16 13.37 5.16 13.34 5.16C13.18 5.12 13.02 5.1 12.85 5.07C12.79 5.06 12.74 5.05 12.68 5.04C12.46 5.02 12.23 5 12 5C11.51 5 11.03 5.07 10.58 5.18L10.6 5.17L8.41 3L7 4.41L8.62 6.04H8.63C7.88 6.54 7.26 7.22 6.81 8H4V10H6.09C6.03 10.33 6 10.66 6 11V12H4V14H6V15C6 15.34 6.04 15.67 6.09 16H4V18H6.81C7.85 19.79 9.78 21 12 21C14.22 21 16.15 19.79 17.19 18H20V16H17.91C17.96 15.67 18 15.34 18 15V14H20V12H18V11C18 10.66 17.96 10.33 17.91 10H20ZM16 15C16 17.21 14.21 19 12 19C9.79 19 8 17.21 8 15V11C8 8.79 9.79 7 12 7C14.21 7 16 8.79 16 11V15ZM10 14H14V16H10V14ZM10 10H14V12H10V10Z", + fill: "white", "fill-rule": "evenodd" + } + }] + }); this.mH.setIcon(psa()); this.showVideoInfo.setIcon(qsa()); this.T(a, "onLoopChange", this.onLoopChange); this.T(a, "videodatachange", this.onVideoDataChange); NPa(this); this.AM(this.J.getVideoData()) + }; + SU = function (a, b) { var c = !1; if (a.pu) { var d = a.pu.element; d.value = b; d.select(); try { c = document.execCommand("copy") } catch (e) { } } c ? a.Fb.Nb() : (a.Uz.Dd(b, "text"), g.hT(a.Fb, a.AX), AS(a.Uz.element), a.pu && (a.pu = null, NPa(a))); return c }; + NPa = function (a) { var b = !!a.pu; a.uc.Tj(b ? "Copy debug info" : "Get debug info"); RU(a.uc, !b); a.Un.Tj(b ? "Copy embed code" : "Get embed code"); RU(a.Un, !b); a.getVideoUrl.Tj(b ? "Copy video URL" : "Get video URL"); RU(a.getVideoUrl, !b); a.ao.Tj(b ? "Copy video URL at current time" : "Get video URL at current time"); RU(a.ao, !b); a.Un.setIcon(b ? msa() : null); a.getVideoUrl.setIcon(b ? Wx() : null); a.ao.setIcon(b ? Wx() : null) }; + PPa = function (a) { return g.IO(a.J.U()) ? a.Rl : a.Ll }; + RPa = function (a, b) { g.fT.call(this, a); this.le = b; this.D = new g.OE(this); this.ra = new g.fp(this.Aca, 1E3, this); this.Ba = this.C = null; g.P(this, this.D); g.P(this, this.ra); a.createClientVe(this.element, this, 28656); g.np(this.element, "ytp-contextmenu"); QPa(this); this.hide() }; + QPa = function (a) { g.Ys(a.D); var b = a.J.U(); b.playerStyle === "gvn" || b.B || b.Wa || (b = a.J.qb(), a.D.T(b, "contextmenu", a.Baa), a.D.T(b, "touchstart", a.V5, null, !0), a.D.T(b, "touchmove", a.H0, null, !0), a.D.T(b, "touchend", a.H0, null, !0)) }; + SPa = function (a) { a.J.isFullscreen() ? g.GR(a.J, a.element, 10) : a.Ja(document.body) }; + TU = function (a, b, c) { + c = c === void 0 ? 240 : c; g.T.call(this, { I: "button", Na: ["ytp-button", "ytp-copylink-button"], X: { title: "{{title-attr}}", "data-tooltip-opaque": String(g.IO(a.U())) }, V: [{ I: "div", S: "ytp-copylink-icon", va: "{{icon}}" }, { I: "div", S: "ytp-copylink-title", va: "Copy link", X: { "aria-hidden": "true" } }] }); this.api = a; this.Ne = b; this.j = c; this.visible = !1; this.tooltip = this.Ne.Re(); b = a.U(); this.tooltip.element.setAttribute("aria-live", "polite"); g.rp(this.element, "ytp-show-copylink-title", g.IO(b)); a.createClientVe(this.element, + this, 86570); this.listen("click", this.onClick); this.T(a, "videodatachange", this.Ta); this.T(a, "videoplayerreset", this.Ta); this.T(a, "appresize", this.Ta); this.Ta(); this.addOnDisposeCallback(g.vR(this.tooltip, this.element)) + }; + TPa = function (a) { var b = a.api.U(), c = a.api.getVideoData(), d = a.api.qb().getPlayerSize().width; b = b.C; return !!c.videoId && d >= a.j && c.hq && !g.aR(c) && !a.api.jd() && !b }; + UPa = function (a) { a.updateValue("icon", Sx()); if (a.api.U().B) a.tooltip.LH(a.element, "Link copied to clipboard"); else { a.updateValue("title-attr", "Link copied to clipboard"); a.tooltip.Vh(); a.tooltip.LH(a.element); var b = a.listen("mouseleave", function () { a.Oc(b); a.Ta(); a.tooltip.Cm() }) } }; + VPa = function (a, b) { + return g.J(function (c) { + if (c.j == 1) return g.va(c, 2), g.G(c, navigator.clipboard.writeText(b), 4); if (c.j != 2) return c.return(!0); g.xa(c); var d = c.return, e = !1, f = g.je("TEXTAREA"); f.value = b; f.setAttribute("readonly", ""); var h = a.api.getRootNode(); h.appendChild(f); if (ru) { var l = window.getSelection(); l.removeAllRanges(); var m = document.createRange(); m.selectNodeContents(f); l.addRange(m); f.setSelectionRange(0, b.length) } else f.select(); try { e = document.execCommand("copy") } catch (n) { } h.removeChild(f); + return d.call(c, e) + }) + }; + UU = function (a) { + g.T.call(this, { + I: "div", S: "ytp-doubletap-ui-legacy", V: [{ I: "div", S: "ytp-doubletap-fast-forward-ve" }, { I: "div", S: "ytp-doubletap-rewind-ve" }, { I: "div", S: "ytp-doubletap-static-circle", V: [{ I: "div", S: "ytp-doubletap-ripple" }] }, { I: "div", S: "ytp-doubletap-overlay-a11y" }, { + I: "div", S: "ytp-doubletap-seek-info-container", V: [{ I: "div", S: "ytp-doubletap-arrows-container", V: [{ I: "span", S: "ytp-doubletap-base-arrow" }, { I: "span", S: "ytp-doubletap-base-arrow" }, { I: "span", S: "ytp-doubletap-base-arrow" }] }, { + I: "div", + S: "ytp-doubletap-tooltip", V: [{ I: "div", S: "ytp-chapter-seek-text-legacy", va: "{{seekText}}" }, { I: "div", S: "ytp-doubletap-tooltip-label", va: "{{seekTime}}" }] + }] + }] + }); this.J = a; this.D = new g.fp(this.show, 10, this); this.B = new g.fp(this.hide, 700, this); this.K = this.C = 0; this.G = !1; this.j = this.Ea("ytp-doubletap-static-circle"); g.P(this, this.D); g.P(this, this.B); this.hide(); this.N = this.Ea("ytp-doubletap-fast-forward-ve"); this.Y = this.Ea("ytp-doubletap-rewind-ve"); this.J.createClientVe(this.N, this, 28240); this.J.createClientVe(this.Y, + this, 28239); this.J.logVisibility(this.N, !0); this.J.logVisibility(this.Y, !0); this.G = a.L("web_show_cumulative_seek_time") + }; + VU = function (a, b, c) { a.C = b === a.K ? a.C + c : c; a.K = b; var d = a.J.qb().getPlayerSize(); a.G ? a.B.stop() : g.ip(a.B); a.D.start(); a.element.setAttribute("data-side", b === -1 ? "back" : "forward"); g.np(a.element, "ytp-time-seeking"); a.j.style.width = "110px"; a.j.style.height = "110px"; b === 1 ? (a.j.style.right = "", a.j.style.left = d.width * .8 - 30 + "px") : b === -1 && (a.j.style.right = "", a.j.style.left = d.width * .1 - 15 + "px"); a.j.style.top = d.height * .5 + 15 + "px"; WPa(a, a.G ? a.C : c) }; + XPa = function (a, b, c) { g.ip(a.B); a.D.start(); switch (b) { case -1: b = "back"; break; case 1: b = "forward"; break; default: b = "" }a.element.setAttribute("data-side", b); a.j.style.width = "0"; a.j.style.height = "0"; g.np(a.element, "ytp-chapter-seek"); a.updateValue("seekText", c); a.updateValue("seekTime", "") }; + WPa = function (a, b) { b = g.DD("$TOTAL_SEEK_TIME seconds", { TOTAL_SEEK_TIME: b.toString() }); a.updateValue("seekTime", b) }; + YPa = function (a) { + bT.call(this, a, !1, !0); this.Fa = []; this.Ob = []; this.Y = !0; this.badge.element.classList.add("ytp-featured-product"); this.Ga = new g.T({ I: "div", S: "ytp-featured-product-open-in-new" }); g.P(this, this.Ga); this.countdownTimer = new g.T({ I: "text", S: "ytp-featured-product-countdown", va: "{{content}}" }); this.countdownTimer.hide(); g.P(this, this.countdownTimer); this.B = new g.T({ + I: "div", S: "ytp-featured-product-trending", V: [{ I: "div", S: "ytp-featured-product-trending-icon" }, { + I: "text", S: "ytp-featured-product-trending-text", + va: "{{trendingOffer}}" + }] + }); this.B.hide(); g.P(this, this.B); this.overflowButton = new g.T({ I: "button", Na: ["ytp-featured-product-overflow-icon", "ytp-button"], X: { "aria-haspopup": "true" } }); this.overflowButton.hide(); g.P(this, this.overflowButton); this.infoButton = new g.T({ I: "button", Na: ["ytp-featured-product-info-icon", "ytp-button"] }); this.infoButton.hide(); g.P(this, this.infoButton); this.N = new g.T({ I: "text", S: "ytp-featured-product-exclusive-countdown", va: "{{content}}", X: { id: "exclusiveCountdown", "aria-hidden": "true" } }); + this.N.hide(); g.P(this, this.N); this.K = new g.T({ I: "div", S: "ytp-featured-product-exclusive-container", X: { "aria-labelledby": "exclusiveBadge exclusiveCountdown" }, V: [{ I: "div", S: "ytp-featured-product-exclusive-badge-container", V: [{ I: "div", S: "ytp-featured-product-exclusive-badge", V: [{ I: "text", S: "ytp-featured-product-exclusive-badge-text", va: "{{exclusive}}", X: { id: "exclusiveBadge", "aria-hidden": "true" } }] }] }, this.N] }); this.K.hide(); g.P(this, this.K); this.banner = new g.T({ + I: "a", S: "ytp-featured-product-container", + V: [{ I: "div", S: "ytp-featured-product-thumbnail", V: [{ I: "img", X: { src: "{{thumbnail}}" } }, this.Ga] }, { + I: "div", S: "ytp-featured-product-details", V: [{ I: "text", S: "ytp-featured-product-title", va: "{{title}}" }, this.J.L("web_player_enable_featured_product_banner_promotion_text_on_desktop") ? { + I: "div", S: "ytp-featured-product-price-container", X: { "aria-label": "{{priceA11yText}}" }, V: [{ I: "text", S: "ytp-featured-product-price-when-promotion-text-enabled", va: "{{price}}", X: { "aria-hidden": "true" } }, { + I: "text", S: "ytp-featured-product-promotion-text", + va: "{{promotionText}}", X: { "aria-hidden": "true" } + }] + } : { I: "div", X: { "aria-label": "{{priceA11yText}}" }, V: [{ I: "text", S: "ytp-featured-product-price", va: "{{price}}", X: { "aria-hidden": "true" } }, { I: "text", S: "ytp-featured-product-sales-original-price", va: "{{salesOriginalPrice}}", X: { "aria-hidden": "true" } }, { I: "text", S: "ytp-featured-product-price-drop-reference-price", va: "{{priceDropReferencePrice}}", X: { "aria-hidden": "true" } }] }, this.J.L("web_player_enable_featured_product_banner_promotion_text_on_desktop") ? { + I: "div", + S: "ytp-featured-product-when-promotion-text-enabled", V: [{ I: "text", S: "ytp-featured-product-affiliate-disclaimer-when-promotion-text-enabled", va: "{{affiliateDisclaimer}}" }, this.B, { I: "text", S: "ytp-featured-product-vendor-when-promotion-text-enabled", va: "{{vendor}}" }] + } : { + I: "div", V: [{ I: "text", S: "ytp-featured-product-affiliate-disclaimer", va: "{{affiliateDisclaimer}}" }, this.J.L("web_player_enable_featured_product_banner_exclusives_on_desktop") ? this.K : null, this.B, { + I: "text", S: "ytp-featured-product-vendor", + va: "{{vendor}}" + }, this.countdownTimer] + }] + }, this.infoButton, this.dismissButton, this.overflowButton] + }); g.P(this, this.banner); this.banner.Ja(this.C.element); this.T(this.J, g.sD("featured_product"), this.bea); this.T(this.J, g.tD("featured_product"), this.bC); this.T(this.J, "videodatachange", this.onVideoDataChange); this.T(this.infoButton.element, "click", this.Uaa); this.T(this.overflowButton.element, "click", this.W5); this.T(a, "featuredproductdismissed", this.Ru) + }; + ZPa = function (a) { var b, c; a = (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : c.itemData; var d, e, f; return (a == null || !a.affiliateDisclaimer) && (a == null ? 0 : (d = a.exclusivesData) == null ? 0 : d.exclusiveOfferLabelText) && (a == null ? 0 : (e = a.exclusivesData) == null ? 0 : e.expirationTimestampMs) && (a == null ? 0 : (f = a.exclusivesData) == null ? 0 : f.exclusiveOfferCountdownText) ? !0 : !1 }; + aQa = function (a) { + var b, c, d, e, f = (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : (d = c.itemData) == null ? void 0 : (e = d.exclusivesData) == null ? void 0 : e.expirationTimestampMs; b = (Number(f) - Date.now()) / 1E3; if (b > 0) { + if (b < 604800) { + var h, l, m, n; c = (h = a.j) == null ? void 0 : (l = h.bannerData) == null ? void 0 : (m = l.itemData) == null ? void 0 : (n = m.exclusivesData) == null ? void 0 : n.exclusiveOfferCountdownText; if (c !== void 0) for (h = Date.now(), l = g.w(c), m = l.next(); !m.done; m = l.next())if (m = m.value, m !== void 0 && m.text !== void 0 && (n = Number(m.textDisplayStartTimestampMs), + !isNaN(n) && h >= n)) { m.insertCountdown ? (b = m.text.replace(/\$0/, String(IK({ seconds: b }))), a.N.Dd(b)) : a.N.Dd(m.text); a.N.show(); break } + } var p, q, r, t; a.K.update({ exclusive: (p = a.j) == null ? void 0 : (q = p.bannerData) == null ? void 0 : (r = q.itemData) == null ? void 0 : (t = r.exclusivesData) == null ? void 0 : t.exclusiveOfferLabelText }); a.K.show(); WU(a); var u; (u = a.Tb) == null || u.start() + } else $Pa(a) + }; + $Pa = function (a) { var b; (b = a.Tb) == null || b.stop(); a.N.hide(); a.K.hide(); XU(a) }; + bQa = function (a) { var b, c, d = (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : c.itemData; return a.J.L("web_player_enable_featured_product_banner_promotion_text_on_desktop") && (d == null || !d.priceReplacementText) && (d == null ? 0 : d.promotionText) ? d == null ? void 0 : d.promotionText.content : null }; + cQa = function (a) { var b, c, d = (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : c.itemData, e, f; if (!(d != null && d.priceReplacementText || a.J.L("web_player_enable_featured_product_banner_promotion_text_on_desktop")) && (d == null ? 0 : (e = d.dealsData) == null ? 0 : (f = e.sales) == null ? 0 : f.originalPrice)) { var h, l; return d == null ? void 0 : (h = d.dealsData) == null ? void 0 : (l = h.sales) == null ? void 0 : l.originalPrice } return null }; + dQa = function (a) { var b, c, d = (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : c.itemData, e, f, h, l; if (!((d == null ? 0 : d.priceReplacementText) || a.J.L("web_player_enable_featured_product_banner_promotion_text_on_desktop") || (d == null ? 0 : (e = d.dealsData) == null ? 0 : (f = e.sales) == null ? 0 : f.originalPrice)) && (d == null ? 0 : (h = d.dealsData) == null ? 0 : (l = h.priceDrop) == null ? 0 : l.referencePrice)) { var m, n; return d == null ? void 0 : (m = d.dealsData) == null ? void 0 : (n = m.priceDrop) == null ? void 0 : n.referencePrice } return null }; + eQa = function (a) { + var b, c, d = (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : c.itemData; if (d == null ? 0 : d.priceReplacementText) return d == null ? void 0 : d.priceReplacementText; if ((d == null ? 0 : d.promotionText) && a.J.L("web_player_enable_featured_product_banner_promotion_text_on_desktop")) { var e; return (d == null ? void 0 : d.price) + " " + (d == null ? void 0 : (e = d.promotionText) == null ? void 0 : e.content) } var f, h; if (d == null ? 0 : (f = d.dealsData) == null ? 0 : (h = f.sales) == null ? 0 : h.originalPrice) { + var l, m; return d == null ? void 0 : (l = d.dealsData) == + null ? void 0 : (m = l.sales) == null ? void 0 : m.salesPriceAccessibilityLabel + } var n, p; if (d == null ? 0 : (n = d.dealsData) == null ? 0 : (p = n.priceDrop) == null ? 0 : p.referencePrice) { var q, r; return (d == null ? void 0 : d.price) + " " + (d == null ? void 0 : (q = d.dealsData) == null ? void 0 : (r = q.priceDrop) == null ? void 0 : r.referencePrice) } return d == null ? void 0 : d.price + }; + fQa = function (a) { if (a.J.L("web_player_enable_featured_product_banner_promotion_text_on_desktop")) { var b, c, d; return a.B.Hb ? null : (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : (d = c.itemData) == null ? void 0 : d.vendorName } var e, f, h, l, m, n; return a.B.Hb || a.K.Hb || ((e = a.j) == null ? 0 : (f = e.bannerData) == null ? 0 : (h = f.itemData) == null ? 0 : h.affiliateDisclaimer) ? null : (l = a.j) == null ? void 0 : (m = l.bannerData) == null ? void 0 : (n = m.itemData) == null ? void 0 : n.vendorName }; + hQa = function (a, b) { + YU(a); if (b) { + var c = g.pQ.getState().entities; c = GK(c, "featuredProductsEntity", b); if (c != null && c.productsData) { + b = []; c = g.w(c.productsData); for (var d = c.next(); !d.done; d = c.next()) { + d = d.value; var e = void 0; if ((e = d) != null && e.identifier && d.featuredSegments) { + a.Fa.push(d); var f = void 0; e = g.w((f = d) == null ? void 0 : f.featuredSegments); for (f = e.next(); !f.done; f = e.next()) { + var h = f.value; f = gQa(h.startTimeSec); f !== void 0 && (h = gQa(h.endTimeSec), b.push(new g.qD(f * 1E3, h === void 0 ? 0x7ffffffffffff : h * 1E3, { + id: d.identifier, + namespace: "featured_product" + }))) + } + } + } a.J.lf(b) + } + } + }; + XU = function (a) { if (a.trendingOfferEntityKey) { var b = g.pQ.getState().entities; if (b = GK(b, "trendingOfferEntity", a.trendingOfferEntityKey)) { var c, d, e; b.encodedSkuId !== ((c = a.j) == null ? void 0 : (d = c.bannerData) == null ? void 0 : (e = d.itemData) == null ? void 0 : e.encodedOfferSkuId) ? WU(a) : (a.B.update({ trendingOffer: b.shortLabel + " \u2022 " + b.countLabel }), a.B.show(), a.banner.update({ vendor: fQa(a) })) } else WU(a) } else WU(a) }; + WU = function (a) { a.B.hide(); a.banner.update({ vendor: fQa(a) }) }; + YU = function (a) { a.Fa = []; a.bC(); a.J.rf("featured_product") }; + iQa = function (a) { var b, c, d, e, f = (b = a.j) == null ? void 0 : (c = b.bannerData) == null ? void 0 : (d = c.itemData) == null ? void 0 : (e = d.hiddenProductOptions) == null ? void 0 : e.dropTimestampMs; b = (Number(f) - Date.now()) / 1E3; a.countdownTimer.Dd(IK({ seconds: b })); if (b > 0) { var h; (h = a.Kb) == null || h.start() } }; + jQa = function (a) { var b; (b = a.Kb) == null || b.stop(); a.countdownTimer.hide() }; + gQa = function (a) { if (a !== void 0 && a.trim() !== "" && (a = Math.trunc(Number(a.trim())), !(isNaN(a) || a < 0))) return a }; + oQa = function (a, b, c) { + g.T.call(this, { I: "div", Na: ["ytp-info-panel-action-item"], V: [{ I: "div", S: "ytp-info-panel-action-item-disclaimer", va: "{{disclaimer}}" }, { I: "a", Na: ["ytp-info-panel-action-item-button", "ytp-button"], X: { role: "button", href: "{{url}}", target: "_blank", rel: "noopener" }, V: [{ I: "div", S: "ytp-info-panel-action-item-icon", va: "{{icon}}" }, { I: "div", S: "ytp-info-panel-action-item-label", va: "{{label}}" }] }] }); this.J = a; this.j = c; this.disclaimer = this.Ea("ytp-info-panel-action-item-disclaimer"); this.button = + this.Ea("ytp-info-panel-action-item-button"); this.qe = !1; this.J.createServerVe(this.element, this, !0); this.listen("click", this.onClick); a = ""; c = g.R(b == null ? void 0 : b.onTap, ix); var d = g.R(c, g.ky); this.qe = !1; d ? (a = d.url || "", a.startsWith("//") && (a = "https:" + a), this.qe = !0, g.Kd(this.button, g.rd(a))) : (d = g.R(c, kQa)) && !this.j ? ((a = d.phoneNumbers) && a.length > 0 ? (a = "sms:" + a[0], d.messageText && (a += "?&body=" + encodeURI(d.messageText))) : a = "", this.qe = !0, g.Kd(this.button, g.rd(a, [lQa]))) : (c = g.R(c, mQa)) && !this.j && (a = c.phoneNumber ? + "tel:" + c.phoneNumber : "", this.qe = !0, g.Kd(this.button, g.rd(a, [nQa]))); var e; if (c = (e = b.disclaimerText) == null ? void 0 : e.content) { this.button.style.borderBottom = "1px solid white"; this.button.style.paddingBottom = "16px"; var f; this.update({ label: (f = b.bodyText) == null ? void 0 : f.content, icon: Zx(), disclaimer: c }) } else { this.disclaimer.style.display = "none"; var h; this.update({ label: (h = b.bodyText) == null ? void 0 : h.content, icon: Zx() }) } this.J.setTrackingParams(this.element, b.trackingParams || null); this.qe && (this.B = { externalLinkData: { url: a } }) + }; + pQa = function (a, b) { + var c = Ix(); g.hS.call(this, a, { I: "div", S: "ytp-info-panel-detail-skrim", V: [{ I: "div", S: "ytp-info-panel-detail", X: { role: "dialog", id: c }, V: [{ I: "div", S: "ytp-info-panel-detail-header", V: [{ I: "div", S: "ytp-info-panel-detail-title", va: "{{title}}" }, { I: "button", Na: ["ytp-info-panel-detail-close", "ytp-button"], X: { "aria-label": "Close" }, V: [g.Vx()] }] }, { I: "div", S: "ytp-info-panel-detail-body", va: "{{body}}" }, { I: "div", S: "ytp-info-panel-detail-items" }] }] }, 250); this.j = b; this.items = this.Ea("ytp-info-panel-detail-items"); + this.C = new g.OE(this); this.itemData = []; this.D = c; b = this.Ea("ytp-info-panel-detail-close"); this.T(b, "click", this.Nb); b = this.Ea("ytp-info-panel-detail-skrim"); this.T(b, "click", this.Nb); b = this.Ea("ytp-info-panel-detail"); this.T(b, "click", function (d) { d.stopPropagation() }); + g.P(this, this.C); this.J.createServerVe(this.element, this, !0); this.T(a, "videodatachange", this.onVideoDataChange); this.onVideoDataChange("newdata", a.getVideoData()); this.hide() + }; + qQa = function (a, b) { a = g.w(a.itemData); for (var c = a.next(); !c.done; c = a.next())c = c.value, c.J.logVisibility(c.element, b) }; + tQa = function (a, b) { + g.T.call(this, { I: "div", S: "ytp-info-panel-preview", X: { "aria-live": "assertive", "aria-atomic": "true", "aria-owns": b.getId(), "aria-haspopup": "true", "data-tooltip-opaque": String(g.IO(a.U())) }, V: [{ I: "div", S: "ytp-info-panel-preview-text", va: "{{text}}" }, { I: "div", S: "ytp-info-panel-preview-chevron", va: "{{chevron}}" }] }); var c = this; this.J = a; this.Ee = this.j = this.videoId = null; this.D = this.showControls = this.B = !1; this.T(this.element, "click", function () { a.logClick(c.element); a.Dr(); iS(b) }); + this.C = new g.Dy(this, 250, !1, 100); g.P(this, this.C); this.J.createServerVe(this.element, this, !0); this.T(a, "videodatachange", this.onVideoDataChange); this.T(a, "presentingplayerstatechange", this.Z5); this.T(this.J, "paidcontentoverlayvisibilitychange", this.g0); this.T(this.J, "infopaneldetailvisibilitychange", this.g0); var d = a.getVideoData() || {}; rQa(d) && sQa(this, d); this.T(a, "onShowControls", this.Y5); this.T(a, "onHideControls", this.X5) + }; + sQa = function (a, b) { if (!b.Fi || !a.J.oo()) { var c = b.ZD || 1E4, d = rQa(b); a.j ? b.videoId && b.videoId !== a.videoId && (g.ip(a.j), a.videoId = b.videoId, d ? (uQa(a, c, b), a.pd()) : (a.Nb(), a.j.dispose(), a.j = null)) : d && (b.videoId && (a.videoId = b.videoId), uQa(a, c, b), a.pd()) } }; + rQa = function (a) { var b, c, d, e; return !!((b = a.Pf) == null ? 0 : (c = b.title) == null ? 0 : c.content) || !!((d = a.Pf) == null ? 0 : (e = d.bodyText) == null ? 0 : e.content) }; + uQa = function (a, b, c) { a.j && a.j.dispose(); a.j = new g.fp(a.gea, b, a); g.P(a, a.j); var d; b = ((d = c.Pf) == null ? void 0 : d.trackingParams) || null; a.J.setTrackingParams(a.element, b); var e; var f, h; if (c == null ? 0 : (f = c.Pf) == null ? 0 : (h = f.title) == null ? 0 : h.content) { var l; d = (e = c.Pf) == null ? void 0 : (l = e.title) == null ? void 0 : l.content; var m, n; if ((m = c.Pf) == null ? 0 : (n = m.bodyText) == null ? 0 : n.content) d += " \u2022 "; e = d } else e = ""; var p, q; c = ((p = c.Pf) == null ? void 0 : (q = p.bodyText) == null ? void 0 : q.content) || ""; a.update({ text: e + c, chevron: g.Ux() }) }; + vQa = function (a, b) { a.j && (g.U(b, 8) ? (a.B = !0, a.pd(), a.j.start()) : (g.U(b, 2) || g.U(b, 64)) && a.videoId && (a.videoId = null)) }; + ZU = function (a) { var b = null; try { b = a.toLocaleString("en", { style: "percent" }) } catch (c) { b = a.toLocaleString(void 0, { style: "percent" }) } return b }; + $U = function (a, b) { var c = 0; a = g.w(a); for (var d = a.next(); !(d.done || d.value.startTime > b); d = a.next())c++; return c === 0 ? c : c - 1 }; + wQa = function (a, b) { for (var c = 0, d = g.w(a), e = d.next(); !e.done; e = d.next()) { e = e.value; if (b < e.timeRangeStartMillis) return null; if (b >= e.timeRangeStartMillis && b < e.timeRangeStartMillis + e.j) break; c++ } c + 1 < a.length && a[c + 1].timeRangeStartMillis <= b && c++; return c < a.length ? c : null }; + xQa = function (a, b) { b = $U(a, b) + 1; return b < a.length ? b : -1 }; + yQa = function (a, b) { return $U(a, b) - 1 }; + zQa = function (a, b) { return new g.qD(a, b, { namespace: "timedMarkerCueRange", priority: 9, id: "tm_" + a }) }; + BQa = function (a, b, c, d, e, f, h, l) { + g.OE.call(this); var m = this; this.api = a; this.contextMenu = c; this.Jg = d; this.le = e; this.j = f; this.K = h; this.progressBar = l; this.G = new g.fp(function () { AQa(m, !1) }, 1E3); + this.B = ""; this.C = { EK: !1 }; this.D = !1; g.P(this, this.G); this.T(b, "mousedown", function () { aV(m, !1) }); + this.T(c.element, "mousedown", function () { aV(m, !1) }); + this.T(b, "keydown", this.VY); this.T(c.element, "keydown", this.VY); this.T(b, "keyup", this.WY); this.T(c.element, "keyup", this.WY) + }; + CQa = function (a) { var b, c = (b = a.api.getVideoData()) == null ? void 0 : b.oi(); return a.api.getPresentingPlayerType(c) !== 2 }; + aV = function (a, b) { a.D = b; g.rp(a.api.getRootNode(), "ytp-probably-keyboard-focus", b); g.rp(a.contextMenu.element, "ytp-probably-keyboard-focus", b) }; + cV = function (a, b, c, d) { var e = g.rU(a.api.Bb()); if (e && e.loaded) { var f = a.api.getSubtitlesUserSettings(); e = void 0; for (var h = 0; h < g.bV.length; h++) { var l = g.bV[h]; if (l.option === b) { e = l.options; break } } h = void 0; for (l = 0; l < e.length; l++)e[l].option === f[b] && (h = l); if (d) if (c) { if (h === 0) return } else if (h === e.length - 1) return; d = {}; d[b] = e[(h + (c ? e.length - 1 : 1)) % e.length].option; a.api.updateSubtitlesUserSettings(d); AQa(a, !0); a.G.start() } }; + AQa = function (a, b) { g.rU(a.api.Bb()) && a.api.setOption("captions", "sampleSubtitles", b) }; + g.dV = function (a, b) { + g.T.call(this, { I: "button", Na: ["ytp-button", "ytp-overflow-button"], X: { title: "More", "aria-haspopup": "true", "aria-owns": b.element.id }, V: [{ I: "div", S: "ytp-overflow-icon", V: [{ I: "svg", X: { height: "100%", viewBox: "-5 -5 36 36", width: "100%" }, V: [{ I: "path", X: { d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z", fill: "#fff" } }] }] }] }); var c = this; this.J = a; this.zi = b; this.j = this.visible = !1; a.createClientVe(this.element, + this, 16499); this.T(a, "videoplayerreset", this.Ta); this.T(a, "appresize", this.Ta); this.T(a, "fullscreentoggled", this.Ta); this.T(a, "presentingplayerstatechange", this.Ta); this.Ta(); wR(a, this.element, this); this.listen("click", function () { a.logClick(c.element); iS(b, c.element, !1) }); + this.T(b.closeButton, "click", function () { c.focus() }) + }; + DQa = function (a) { + g.hS.call(this, a, { I: "div", S: "ytp-overflow-panel", X: { id: Ix(), role: "dialog" }, V: [{ I: "div", S: "ytp-overflow-panel-content", V: [{ I: "div", S: "ytp-overflow-panel-action-buttons", va: "{{buttons}}" }] }, { I: "button", Na: ["ytp-overflow-panel-close", "ytp-button"], X: { title: "Close" }, V: [g.Vx()] }] }, 250); this.actionButtons = []; this.j = this.Ea("ytp-overflow-panel-content"); this.closeButton = this.Ea("ytp-overflow-panel-close"); this.T(this.closeButton, "click", this.Nb); wR(a, this.closeButton, this); this.listen("click", + this.a6); this.T(a, "videoplayerreset", this.hide); this.T(a, "fullscreentoggled", this.onFullscreenToggled); this.hide() + }; + EQa = function (a, b) { a.actionButtons.includes(b) || (a.actionButtons.push(b), a.updateValue("buttons", a.actionButtons)) }; + FQa = function (a, b) { a = g.w(a.actionButtons); for (var c = a.next(); !c.done; c = a.next())c.value.Mc(b) }; + GQa = function (a, b, c) { + var d = g.UT(b, c), e = d.gh("default.jpg"); g.T.call(this, { + I: "a", Na: ["ytp-video-menu-item", "ytp-button"], X: { role: "menuitemradio", "aria-label": d.title, href: a.U().getVideoUrl(d.videoId, b.listId ? b.listId.toString() : null) }, V: [{ I: "div", S: "ytp-video-menu-item-index", va: String(c + 1) }, { I: "div", S: "ytp-video-menu-item-now-playing", va: "\u25b6" }, { I: "div", S: "ytp-video-menu-item-thumbnail", X: { style: e ? "background-image: url(" + e + ");" : void 0 } }, { I: "div", S: "ytp-video-menu-item-title", va: d.title }, { + I: "div", + S: "ytp-video-menu-item-author", va: d.author + }] + }); this.api = a; this.index = c; this.listen("click", this.onClick) + }; + HQa = function (a) { + g.hS.call(this, a, { + I: "div", S: "ytp-playlist-menu", X: { role: "dialog", id: Ix() }, V: [{ I: "div", S: "ytp-playlist-menu-header", V: [{ I: "div", S: "ytp-playlist-menu-title", V: [a.U().C ? { I: "span", S: "ytp-playlist-menu-title-name", va: "{{title}}" } : { I: "a", S: "ytp-playlist-menu-title-name", X: { href: "{{playlisturl}}" }, va: "{{title}}" }, { I: "button", Na: ["ytp-playlist-menu-close", "ytp-button"], X: { "aria-label": "Close" }, V: [g.Vx()] }] }, { I: "div", S: "ytp-playlist-menu-subtitle", va: "{{subtitle}}" }] }, { + I: "div", S: "ytp-playlist-menu-items", + X: { role: "menu" } + }] + }, 250); this.api = a; this.C = this.selected = this.D = this.playlist = null; this.items = this.Ea("ytp-playlist-menu-items"); this.j = new g.OE(this); this.playlistData = []; var b = this.Ea("ytp-playlist-menu-close"); this.T(b, "click", this.Nb); b = this.Ea("ytp-playlist-menu-title-name"); a.U().C || (this.C = this.T(b, "click", this.zca)); g.P(this, this.j); this.hide() + }; + eV = function (a, b) { + g.T.call(this, { + I: "button", Na: ["ytp-playlist-menu-button", "ytp-button"], X: { title: "{{title}}", "aria-owns": String(b.element.id), "aria-haspopup": "true", "aria-label": "Playlist" }, V: [{ + I: "div", S: "ytp-playlist-menu-button-icon", V: [{ + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", Fc: !0, X: { + d: "m 22.53,21.42 0,6.85 5.66,-3.42 -5.66,-3.42 0,0 z m -11.33,0 9.06,0 0,2.28 -9.06,0 0,-2.28 0,0 z m 0,-9.14 13.6,0 0,2.28 -13.6,0 0,-2.28 0,0 z m 0,4.57 13.6,0 0,2.28 -13.6,0 0,-2.28 0,0 z", + fill: "#fff" + } + }] + }] + }, { I: "div", S: "ytp-playlist-menu-button-text", va: "{{text}}" }] + }); var c = this; this.api = a; this.playlist = null; this.visible = !1; a.createClientVe(this.element, this, 70344); this.T(a, "videodatachange", this.j); this.T(a, "videoplayerreset", this.j); this.T(a, "onPlaylistUpdate", this.j); this.T(a, "presentingplayerstatechange", this.Ta); this.T(a, "appresize", this.Ta); this.hide(); this.j(); wR(a, this.element, this); this.listen("click", function () { a.logClick(c.element); iS(b, c.element, !1) }) + }; + IQa = function (a, b) { + g.T.call(this, { + I: "div", S: "ytp-promotooltip-wrapper", V: [{ I: "div", S: "ytp-promotooltip-container", V: [{ I: "div", S: "ytp-promotooltip-content", V: [{ I: "div", S: "ytp-promotooltip-title", va: "{{title}}" }, { I: "div", S: "ytp-promotooltip-details", va: "{{details}}" }] }, { I: "div", S: "ytp-promotooltip-buttons", V: [{ I: "div", S: "ytp-promotooltip-dismiss-button", va: "{{dismissButtonText}}", X: { tabindex: "0" } }, { I: "div", S: "ytp-promotooltip-accept-button", va: "{{acceptButtonText}}", X: { tabindex: "0", "aria-haspopup": "true" } }] }] }, + { I: "div", S: "ytp-promotooltip-pointer" }] + }); var c = this; this.tooltipRenderer = a; this.J = b; this.targetElement = this.B = null; this.title = this.Ea("ytp-promotooltip-title"); this.details = this.Ea("ytp-promotooltip-details"); this.acceptButton = this.Ea("ytp-promotooltip-accept-button"); this.dismissButton = this.Ea("ytp-promotooltip-dismiss-button"); this.j = this.D = !1; this.C = !0; this.Y = this.G = this.N = this.K = !1; this.hd = { zH: function (d) { c.zH(d) } }; + g.Mx(this, !1); a = this.tooltipRenderer.trackingParams || null; if (this.j = !!a) this.J.createServerVe(this.element, this, !0), this.J.setTrackingParams(this.element, a); this.T(b, "onShowControls", this.c6); this.T(b, "onHideControls", this.b6); this.T(b, "resize", this.kc); this.T(this.acceptButton, "click", this.aaa); this.T(this.dismissButton, "click", this.Haa); this.T(document, "click", this.d6) + }; + JQa = function (a) { var b = document.querySelectorAll('[data-tooltip-target-id="' + a.tooltipRenderer.targetId + '"]'); b = b.length > 0 ? b[0] : null; var c = g.de("ytp-chrome-bottom"), d = g.de("ytp-ad-module"); a.C = !(c == null || !c.contains(b)); a.K = !(d == null || !d.contains(b)); a.N = !(b == null || !b.hasAttribute("data-tooltip-target-fixed")); return b }; + MQa = function (a, b, c) { + if (!a.D) { + if (b) { + a.tooltipRenderer = b; b = a.tooltipRenderer.text; var d = !1, e; (b == null ? 0 : (e = b.runs) == null ? 0 : e.length) && b.runs[0].text && (a.update({ title: b.runs[0].text.toString() }), d = !0); g.Bm(a.title, d); b = a.tooltipRenderer.detailsText; e = !1; var f; if ((b == null ? 0 : (f = b.runs) == null ? 0 : f.length) && b.runs[0].text) { + d = b.runs[0].text.toString(); f = d.indexOf("$TARGET_ICON"); if (f > -1) if (a.tooltipRenderer.targetId) { + b = []; d = d.split("$TARGET_ICON"); var h = new g.Jx({ + I: "span", S: "ytp-promotooltip-details-icon", + V: [KQa[a.tooltipRenderer.targetId]] + }); g.P(a, h); for (var l = [], m = g.w(d), n = m.next(); !n.done; n = m.next())n = new g.Jx({ I: "span", S: "ytp-promotooltip-details-component", va: n.value }), g.P(a, n), l.push(n); d.length === 2 ? (b.push(l[0].element), b.push(h.element), b.push(l[1].element)) : d.length === 1 && (f === 0 ? (b.push(h.element), b.push(l[0].element)) : (b.push(l[0].element), b.push(h.element))); f = b.length ? b : null + } else f = null; else f = d; if (f) { + if (typeof f !== "string") for (g.me(a.details), e = g.w(f), f = e.next(); !f.done; f = e.next())a.details.appendChild(f.value); + else a.update({ details: f }); e = !0 + } + } g.Bm(a.details, e); e = a.tooltipRenderer.acceptButton; f = !1; var p, q, r; ((p = g.R(e, g.nI)) == null ? 0 : (q = p.text) == null ? 0 : (r = q.runs) == null ? 0 : r.length) && g.R(e, g.nI).text.runs[0].text && (a.update({ acceptButtonText: g.R(e, g.nI).text.runs[0].text.toString() }), f = !0); g.Bm(a.acceptButton, f); p = a.tooltipRenderer.dismissButton; q = !1; var t, u, y; ((t = g.R(p, g.nI)) == null ? 0 : (u = t.text) == null ? 0 : (y = u.runs) == null ? 0 : y.length) && g.R(p, g.nI).text.runs[0].text && (a.update({ dismissButtonText: g.R(p, g.nI).text.runs[0].text.toString() }), + q = !0); g.Bm(a.dismissButton, q) + } c && (a.B = c); a.targetElement = JQa(a); a.G = !1; a.J.U().L("web_player_hide_nitrate_promo_tooltip") || g.Mx(a, !0); LQa(a); a.Hb && !a.Y && (a.Y = !0, a.hd.zH(0)); a.j && a.J.logVisibility(a.element, a.Hb) + } + }; + fV = function (a) { g.Mx(a, !1); a.j && a.J.logVisibility(a.element, a.Hb) }; + NQa = function (a) { var b, c, d, e = ((b = g.R(a.acceptButton, g.nI)) == null ? void 0 : (c = b.text) == null ? void 0 : (d = c.runs) == null ? void 0 : d.length) && !!g.R(a.acceptButton, g.nI).text.runs[0].text, f, h, l; b = ((f = g.R(a.dismissButton, g.nI)) == null ? void 0 : (h = f.text) == null ? void 0 : (l = h.runs) == null ? void 0 : l.length) && !!g.R(a.dismissButton, g.nI).text.runs[0].text; return e || b }; + LQa = function (a) { + var b; if (!(b = !a.targetElement)) { b = a.targetElement; var c = window.getComputedStyle(b); b = c.display === "none" || c.visibility === "hidden" || b.getAttribute("aria-hidden") === "true" } if (b || a.J.isMinimized()) g.Mx(a, !1); else if (b = g.Am(a.targetElement), b.width && b.height) { + a.J.zy(a.element, a.targetElement); var d = a.J.qb().getPlayerSize().height; c = g.Am(a.Ea("ytp-promotooltip-container")).height; a.C ? a.element.style.top = d - c - b.height - 12 + "px" : a.N || (d = a.J.Zn().height - c - b.height - 12, a.element.style.top = d + "px"); + d = a.Ea("ytp-promotooltip-pointer"); var e = g.tm(a.targetElement, a.J.getRootNode()), f = Number(a.element.style.left.replace(/[^\d\.]/g, "")); a = a.J.isFullscreen() ? 18 : 12; d.style.left = e.x - f + b.width / 2 - a + "px"; d.style.top = c + "px" + } else g.Mx(a, !1) + }; + gV = function (a) { g.T.call(this, { I: "button", Na: ["ytp-replay-button", "ytp-button"], X: { title: "Replay" }, V: [g.ay()] }); this.J = a; this.T(a, "presentingplayerstatechange", this.onStateChange); this.listen("click", this.onClick, this); this.zd(a.getPlayerStateObject()); wR(this.J, this.element, this) }; + hV = function (a, b) { + b = b === void 0 ? 240 : b; g.T.call(this, { I: "button", Na: ["ytp-button", "ytp-search-button"], X: { title: "Search", "data-tooltip-opaque": String(g.IO(a.U())) }, V: [{ I: "div", S: "ytp-search-icon", va: "{{icon}}" }, { I: "div", S: "ytp-search-title", va: "Search" }] }); this.api = a; this.B = b; this.visible = !1; this.updateValue("icon", { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", S: "ytp-svg-fill", X: { d: "M21.24,19.83l-5.64-5.64C16.48,13.02,17,11.57,17,10c0-3.87-3.13-7-7-7s-7,3.13-7,7c0,3.87,3.13,7,7,7 c1.57,0,3.02-0.52,4.19-1.4l5.64,5.64L21.24,19.83z M5,10c0-2.76,2.24-5,5-5s5,2.24,5,5c0,2.76-2.24,5-5,5S5,12.76,5,10z" } }] }); + a.createClientVe(this.element, this, 184945); this.listen("click", this.onClick); this.j(); this.T(a, "appresize", this.j); this.T(a, "videodatachange", this.j); wR(a, this.element, this) + }; + g.iV = function (a, b, c, d) { + d = d === void 0 ? 240 : d; g.T.call(this, { I: "button", Na: ["ytp-button", "ytp-share-button"], X: { title: "Share", "aria-haspopup": "true", "aria-owns": c.element.id, "data-tooltip-opaque": String(g.IO(a.U())) }, V: [{ I: "div", S: "ytp-share-icon", va: "{{icon}}" }, { I: "div", S: "ytp-share-title", va: "Share" }] }); this.api = a; this.Ne = b; this.B = c; this.C = d; this.visible = !1; this.tooltip = this.Ne.Re(); this.j = !1; a.createClientVe(this.element, this, 28664); this.listen("click", this.onClick); this.T(a, "videodatachange", this.Ta); + this.T(a, "videoplayerreset", this.Ta); this.T(a, "appresize", this.Ta); this.T(a, "presentingplayerstatechange", this.Ta); this.Ta(); this.addOnDisposeCallback(g.vR(this.tooltip, this.element)) + }; + OQa = function (a) { var b = a.api.U(), c = a.api.getVideoData(), d = g.IO(b) && g.CR(a.api) && g.U(a.api.getPlayerStateObject(), 128); b = b.C || b.disableSharing && a.api.getPresentingPlayerType() !== 2 || !c.showShareButton || c.hq || d || g.aR(c) || a.j; d = a.api.qb().getPlayerSize().width; return !!c.videoId && d >= a.C && !b }; + PQa = function (a, b) { b.name !== "InvalidStateError" && b.name !== "AbortError" && (b.name === "NotAllowedError" ? (a.Ne.Dr(), iS(a.B, a.element, !1)) : g.ex(b)) }; + RQa = function (a, b) { + var c = Ix(), d = a.U(); c = { + I: "div", S: "ytp-share-panel", X: { id: Ix(), role: "dialog", "aria-labelledby": c }, V: [{ + I: "div", S: "ytp-share-panel-inner-content", V: [{ I: "div", S: "ytp-share-panel-title", X: { id: c }, va: "Share" }, { I: "a", Na: ["ytp-share-panel-link", "ytp-no-contextmenu"], X: { href: "{{link}}", target: d.Y, title: "Share link", "aria-label": "{{shareLinkWithUrl}}" }, va: "{{linkText}}" }, { + I: "label", S: "ytp-share-panel-include-playlist", V: [{ + I: "input", S: "ytp-share-panel-include-playlist-checkbox", X: { + type: "checkbox", + checked: "true" + } + }, "Include playlist"] + }, { I: "div", S: "ytp-share-panel-loading-spinner", V: [zS()] }, { I: "div", S: "ytp-share-panel-service-buttons", va: "{{buttons}}" }, { I: "div", S: "ytp-share-panel-error", va: "An error occurred while retrieving sharing information. Please try again later." }] + }, { I: "button", Na: ["ytp-share-panel-close", "ytp-button"], X: { title: "Close" }, V: [g.Vx()] }] + }; g.hS.call(this, a, c, 250); var e = this; this.moreButton = null; this.api = a; this.tooltip = b.Re(); this.C = []; this.G = this.Ea("ytp-share-panel-inner-content"); + this.closeButton = this.Ea("ytp-share-panel-close"); this.T(this.closeButton, "click", this.Nb); this.addOnDisposeCallback(g.vR(this.tooltip, this.closeButton)); this.D = this.Ea("ytp-share-panel-include-playlist-checkbox"); this.T(this.D, "click", this.Ta); this.j = this.Ea("ytp-share-panel-link"); this.addOnDisposeCallback(g.vR(this.tooltip, this.j)); this.api.createClientVe(this.j, this, 164503); this.T(this.j, "click", function (f) { + f.preventDefault(); e.api.logClick(e.j); var h = e.api.getVideoUrl(!0, !0, !1, !1); h = QQa(e, h); + g.yS(h, e.api, f) && e.api.ib("SHARE_CLICKED") + }); + this.listen("click", this.e6); this.T(a, "videoplayerreset", this.hide); this.T(a, "fullscreentoggled", this.onFullscreenToggled); this.T(a, "onLoopRangeChange", this.B$); this.hide() + }; + TQa = function (a, b) { + SQa(a); for (var c = b.links || b.shareTargets, d = 0, e = {}, f = 0; f < c.length && d < 2; e = { Nx: void 0, fn: void 0 }, f++) { + e.Nx = c[f]; a: switch (e.Nx.img || e.Nx.iconId) { + case "facebook": var h = { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 38 38", width: "100%" }, V: [{ I: "rect", X: { fill: "#fff", height: "34", width: "34", x: "2", y: "2" } }, { + I: "path", X: { + d: "M 34.2,0 3.8,0 C 1.70,0 .01,1.70 .01,3.8 L 0,34.2 C 0,36.29 1.70,38 3.8,38 l 30.4,0 C 36.29,38 38,36.29 38,34.2 L 38,3.8 C 38,1.70 36.29,0 34.2,0 l 0,0 z m -1.9,3.8 0,5.7 -3.8,0 c -1.04,0 -1.9,.84 -1.9,1.9 l 0,3.8 5.7,0 0,5.7 -5.7,0 0,13.3 -5.7,0 0,-13.3 -3.8,0 0,-5.7 3.8,0 0,-4.75 c 0,-3.67 2.97,-6.65 6.65,-6.65 l 4.75,0 z", + fill: "#39579b" + } + }] + }; break a; case "twitter": h = { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 38 38", width: "100%" }, V: [{ I: "rect", X: { fill: "#fff", height: "34", width: "34", x: "2", y: "2" } }, { + I: "path", X: { + d: "M 34.2,0 3.8,0 C 1.70,0 .01,1.70 .01,3.8 L 0,34.2 C 0,36.29 1.70,38 3.8,38 l 30.4,0 C 36.29,38 38,36.29 38,34.2 L 38,3.8 C 38,1.70 36.29,0 34.2,0 l 0,0 z M 29.84,13.92 C 29.72,22.70 24.12,28.71 15.74,29.08 12.28,29.24 9.78,28.12 7.6,26.75 c 2.55,.40 5.71,-0.60 7.41,-2.06 -2.50,-0.24 -3.98,-1.52 -4.68,-3.56 .72,.12 1.48,.09 2.17,-0.05 -2.26,-0.76 -3.86,-2.15 -3.95,-5.07 .63,.28 1.29,.56 2.17,.60 C 9.03,15.64 7.79,12.13 9.21,9.80 c 2.50,2.75 5.52,4.99 10.47,5.30 -1.24,-5.31 5.81,-8.19 8.74,-4.62 1.24,-0.23 2.26,-0.71 3.23,-1.22 -0.39,1.23 -1.17,2.09 -2.11,2.79 1.03,-0.14 1.95,-0.38 2.73,-0.77 -0.47,.99 -1.53,1.9 -2.45,2.66 l 0,0 z", + fill: "#01abf0" + } + }] + }; break a; default: h = null + }if (h) { + var l = e.Nx.sname || e.Nx.serviceName; e.fn = new g.T({ I: "a", Na: ["ytp-share-panel-service-button", "ytp-button"], X: { href: e.Nx.url, target: "_blank", title: l }, V: [h] }); e.fn.listen("click", function (p) { + return function (q) { + var r = p.Nx.url; if (g.$y(q)) { + var t = t === void 0 ? {} : t; t.target = t.target || "YouTube"; t.width = t.width || "600"; t.height = t.height || "600"; var u = t; u || (u = {}); t = window; var y = r instanceof g.kd ? r : g.rd(typeof r.href != "undefined" ? r.href : String(r)); var A = self.crossOriginIsolated !== + void 0, D = "strict-origin-when-cross-origin"; window.Request && (D = (new Request("/")).referrerPolicy); var F = D === "unsafe-url"; D = u.noreferrer; if (A && D) { if (F) throw Error("Cannot use the noreferrer option on a page that sets a referrer-policy of `unsafe-url` in modern browsers!"); D = !1 } r = u.target || r.target; A = []; for (var H in u) switch (H) { + case "width": case "height": case "top": case "left": A.push(H + "=" + u[H]); break; case "target": case "noopener": case "noreferrer": break; case "attributionsrc": A.push(H + (u[H] ? "=" + u[H] : + "")); break; default: A.push(H + "=" + (u[H] ? 1 : 0)) + }H = A.join(","); gc() && t.navigator && t.navigator.standalone && r && r != "_self" ? (H = g.je("A"), H.href = Iba(y), H.target = r, D && (H.rel = "noreferrer"), ((u = u.attributionsrc) || u === "") && H.setAttribute("attributionsrc", u), u = document.createEvent("MouseEvent"), u.initMouseEvent("click", !0, !0, t, 1), H.dispatchEvent(u), t = {}) : D ? (t = Jba("", t, r, H), u = g.ld(y), t && (t.opener = null, u === "" && (u = "javascript:''"), u = xd(''), (y = t.document) && y.write && (y.write(g.wd(u)), y.close()))) : ((t = Jba(y, t, r, H)) && u.noopener && (t.opener = null), t && u.noreferrer && (t.opener = null)); t && (t.opener || (t.opener = window), t.focus()); q.preventDefault() + } + } + }(e)); + e.fn.addOnDisposeCallback(g.vR(a.tooltip, e.fn.element)); l === "Facebook" ? a.api.createClientVe(e.fn.element, e.fn, 164504) : l === "Twitter" && a.api.createClientVe(e.fn.element, e.fn, 164505); a.T(e.fn.element, "click", function (p) { return function () { a.api.logClick(p.fn.element) } }(e)); + a.api.logVisibility(e.fn.element, !0); a.C.push(e.fn); d++ + } + } var m = b.more || b.moreLink, n = new g.T({ + I: "a", Na: ["ytp-share-panel-service-button", "ytp-button"], V: [{ + I: "span", S: "ytp-share-panel-service-button-more", V: [{ + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 38 38", width: "100%" }, V: [{ I: "rect", X: { fill: "#fff", height: "34", width: "34", x: "2", y: "2" } }, { + I: "path", X: { + d: "M 34.2,0 3.8,0 C 1.70,0 .01,1.70 .01,3.8 L 0,34.2 C 0,36.29 1.70,38 3.8,38 l 30.4,0 C 36.29,38 38,36.29 38,34.2 L 38,3.8 C 38,1.70 36.29,0 34.2,0 Z m -5.7,21.85 c 1.57,0 2.85,-1.27 2.85,-2.85 0,-1.57 -1.27,-2.85 -2.85,-2.85 -1.57,0 -2.85,1.27 -2.85,2.85 0,1.57 1.27,2.85 2.85,2.85 z m -9.5,0 c 1.57,0 2.85,-1.27 2.85,-2.85 0,-1.57 -1.27,-2.85 -2.85,-2.85 -1.57,0 -2.85,1.27 -2.85,2.85 0,1.57 1.27,2.85 2.85,2.85 z m -9.5,0 c 1.57,0 2.85,-1.27 2.85,-2.85 0,-1.57 -1.27,-2.85 -2.85,-2.85 -1.57,0 -2.85,1.27 -2.85,2.85 0,1.57 1.27,2.85 2.85,2.85 z", + fill: "#4e4e4f", "fill-rule": "evenodd" + } + }] + }] + }], X: { href: m, target: "_blank", title: "More" } + }); n.listen("click", function (p) { var q = m; a.api.logClick(a.moreButton.element); q = QQa(a, q); g.yS(q, a.api, p) && a.api.ib("SHARE_CLICKED") }); + n.addOnDisposeCallback(g.vR(a.tooltip, n.element)); a.api.createClientVe(n.element, n, 164506); a.T(n.element, "click", function () { a.api.logClick(n.element) }); + a.api.logVisibility(n.element, !0); a.C.push(n); a.moreButton = n; a.updateValue("buttons", a.C) + }; + QQa = function (a, b) { var c = {}; g.IO(a.api.U()) && (g.iR(a.api, "addEmbedsConversionTrackingParams", [c]), a.api.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(c, "emb_share"), b = g.Ti(b, c)); return b }; + SQa = function (a) { for (var b = g.w(a.C), c = b.next(); !c.done; c = b.next())c = c.value, c.detach(), g.fb(c); a.C = [] }; + jV = function (a) { return a === void 0 || a.startSec === void 0 || a.endSec === void 0 ? !1 : !0 }; + UQa = function (a, b) { a.startSec += b; a.endSec += b }; + WQa = function (a) { bT.call(this, a); this.B = this.j = this.isContentForward = this.N = !1; VQa(this); this.T(this.J, "changeProductsInVideoVisibility", this.zba); this.T(this.J, "videodatachange", this.onVideoDataChange) }; + XQa = function (a) { a.K && a.Ma.element.removeChild(a.K.element); a.K = void 0 }; + ZQa = function (a, b) { + return b.map(function (c) { var d, e; if ((c = (d = g.R(c, YQa)) == null ? void 0 : (e = d.thumbnail) == null ? void 0 : e.thumbnails) && c.length !== 0) return c[0].url }).filter(function (c) { return c !== void 0 }).map(function (c) { + c = new g.T({ + I: "img", + S: "ytp-suggested-action-product-thumbnail", X: { alt: "", src: c } + }); g.P(a, c); return c + }) + }; + $Qa = function (a, b) { a.isContentForward = b; g.rp(a.badge.element, "ytp-suggested-action-badge-content-forward", b) }; + kV = function (a) { var b = a.isContentForward && !a.DM(); g.rp(a.badge.element, "ytp-suggested-action-badge-preview-collapsed", b && a.j); g.rp(a.badge.element, "ytp-suggested-action-badge-preview-expanded", b && a.B) }; + lV = function (a, b, c) { return new g.qD(a * 1E3, b * 1E3, { priority: 9, namespace: c }) }; + aRa = function (a) { a.J.rf("shopping_overlay_visible"); a.J.rf("shopping_overlay_preview_collapsed"); a.J.rf("shopping_overlay_preview_expanded"); a.J.rf("shopping_overlay_expanded") }; + VQa = function (a) { + a.T(a.J, g.sD("shopping_overlay_visible"), function () { a.If(!0) }); + a.T(a.J, g.tD("shopping_overlay_visible"), function () { a.If(!1) }); + a.T(a.J, g.sD("shopping_overlay_expanded"), function () { a.ra = !0; aT(a) }); + a.T(a.J, g.tD("shopping_overlay_expanded"), function () { a.ra = !1; aT(a) }); + a.T(a.J, g.sD("shopping_overlay_preview_collapsed"), function () { a.j = !0; kV(a) }); + a.T(a.J, g.tD("shopping_overlay_preview_collapsed"), function () { a.j = !1; kV(a) }); + a.T(a.J, g.sD("shopping_overlay_preview_expanded"), function () { a.B = !0; kV(a) }); + a.T(a.J, g.tD("shopping_overlay_preview_expanded"), function () { a.B = !1; kV(a) }) + }; + dRa = function (a) { + g.T.call(this, { I: "div", S: "ytp-shorts-title-channel", V: [{ I: "a", S: "ytp-shorts-title-channel-logo", X: { href: "{{channelLink}}", target: a.U().Y, "aria-label": "{{channelLogoLabel}}" } }, { I: "div", S: "ytp-shorts-title-expanded-heading", V: [{ I: "div", S: "ytp-shorts-title-expanded-title", V: [{ I: "a", va: "{{expandedTitle}}", X: { href: "{{channelTitleLink}}", target: a.U().Y, tabIndex: "0" } }] }] }] }); var b = this; this.api = a; this.j = this.Ea("ytp-shorts-title-channel-logo"); this.channelName = this.Ea("ytp-shorts-title-expanded-title"); + this.subscribeButton = null; a.createClientVe(this.j, this, 36925); this.T(this.j, "click", function (c) { b.api.logClick(b.j); g.Md(bRa(b)); c.preventDefault() }); + a.createClientVe(this.channelName, this, 37220); this.T(this.channelName, "click", function (c) { b.api.logClick(b.channelName); g.Md(bRa(b)); c.preventDefault() }); + cRa(this); this.T(a, "videodatachange", this.Ta); this.T(a, "videoplayerreset", this.Ta); this.Ta() + }; + cRa = function (a) { + if (!a.api.U().Tb) { + var b = a.api.getVideoData(), c = new g.PU("Subscribe", null, "Subscribed", null, !0, !1, b.Wl, b.subscribed, "channel_avatar", null, a.api, !0); a.api.createServerVe(c.element, a); var d; a.api.setTrackingParams(c.element, ((d = b.subscribeButtonRenderer) == null ? void 0 : d.trackingParams) || null); a.T(c.element, "click", function () { a.api.logClick(c.element) }); + a.subscribeButton = c; g.P(a, a.subscribeButton); a.subscribeButton.Ja(a.element) + } + }; + bRa = function (a) { var b = a.api.U(), c = a.api.getVideoData(); c = g.jP(b) + c.Ab; if (!g.IO(b)) return c; b = {}; g.iR(a.api, "addEmbedsConversionTrackingParams", [b]); a.api.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(b, "emb_ch_name_ex"); return g.Ti(c, b) }; + mV = function (a) { + g.hS.call(this, a, { I: "button", Na: ["ytp-skip-intro-button", "ytp-popup", "ytp-button"], V: [{ I: "div", S: "ytp-skip-intro-button-text", va: "Skip Intro" }] }, 100); var b = this; this.C = !1; this.j = new g.fp(function () { b.hide() }, 5E3); + this.Qf = this.Bj = NaN; g.P(this, this.j); this.K = function () { b.show() }; + this.G = function () { b.hide() }; + this.D = function () { var c = b.J.getCurrentTime(); c > b.Bj / 1E3 && c < b.Qf / 1E3 && b.show() }; + this.T(this.J, "videodatachange", function (c, d) { b.ju(c, d) }); + this.T(this.element, "click", function () { b.J.seekTo(b.Qf / 1E3) }); + this.hide() + }; + nV = function (a) { g.T.call(this, { I: "button", Na: ["ytp-airplay-button", "ytp-button"], X: { title: "AirPlay", "data-priority": "9" }, va: "{{icon}}" }); this.J = a; this.listen("click", this.onClick); this.T(a, "airplayactivechange", this.Ta); this.T(a, "airplayavailabilitychange", this.Ta); this.Ta(); wR(a, this.element, this) }; + fRa = function (a) { g.T.call(this, { I: "div", S: "ytp-gradient-bottom" }); this.canvas = g.je("CANVAS"); this.j = this.canvas.getContext("2d"); this.B = NaN; this.canvas.width = 1; eRa(this, a.qb().getPlayerSize().height) }; + eRa = function (a, b) { if (a.j) { b = Math.floor(b * .4); b = Math.max(b, 47); var c = b + 2; if (a.B !== c) { a.B = c; a.canvas.height = c; a.j.clearRect(0, 0, 1, c); var d = a.j.createLinearGradient(0, 2, 0, 2 + b), e = b - 42; d.addColorStop(0, "rgba(0, 0, 0, 0)"); d.addColorStop(e / b, "rgba(0, 0, 0, 0.3)"); d.addColorStop(1, "rgba(0, 0, 0, 0.68)"); a.j.fillStyle = d; a.j.fillRect(0, 2, 1, b); a.element.style.height = c + "px"; try { a.element.style.backgroundImage = "url(" + a.canvas.toDataURL() + ")" } catch (f) { } } } }; + oV = function (a, b, c, d) { + g.T.call(this, { I: "div", S: "ytp-chapter-container", V: [{ I: "button", Na: ["ytp-chapter-title", "ytp-button"], V: [{ I: "span", X: { "aria-hidden": "true" }, S: "ytp-chapter-title-prefix", va: "\u2022" }, { I: "div", S: "ytp-chapter-title-content", va: "{{title}}", X: { "aria-label": "{{ariaLabel}}", title: d } }, { I: "div", S: "ytp-chapter-title-chevron", V: [{ I: "svg", X: { height: "100%", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", X: { d: "M9.71 18.71l-1.42-1.42 5.3-5.29-5.3-5.29 1.42-1.42 6.7 6.71z", fill: "#fff" } }] }] }] }] }); + this.J = a; this.D = b; this.G = ""; this.currentIndex = 0; this.B = void 0; this.C = !0; this.Y = this.Ea("ytp-chapter-container"); this.j = this.Ea("ytp-chapter-title"); this.qa = this.Ea("ytp-chapter-title-content"); this.updateVideoData("newdata", this.J.getVideoData()); this.T(a, "videodatachange", this.updateVideoData); this.T(this.Y, "click", this.onClick); this.T(a, g.sD(c), this.Tc); this.T(a, "onLoopRangeChange", this.Tc); this.T(a, "innertubeCommand", this.onClickCommand); (a = this.J.L("web_disable_channels_chapter_entrypoint") && + g.QO(this.J.U())) && g.rp(this.j, "ytp-profile-page", !0); this.J.L("web_fitted_chapter_button_killswitch") || g.rp(this.j, "fitted-chapter-button", !0); g.IO(this.J.U()) || a || wR(this.J, this.qa, this) + }; + pV = function (a, b) { oV.call(this, a, b, "chapterCueRange", "View chapter") }; + gRa = function (a, b, c, d, e) { var f = b.Tx / b.rows, h = Math.min(c / (b.mG / b.columns), d / f), l = b.mG * h, m = b.Tx * h; l = Math.floor(l / b.columns) * b.columns; m = Math.floor(m / b.rows) * b.rows; var n = l / b.columns, p = m / b.rows, q = -b.column * n, r = -b.row * p; e && f <= 45 && (p -= 1 / h); n -= 2 / h; a = a.style; a.width = n + "px"; a.height = p + "px"; e || (d = (d - p) / 2, c = (c - n) / 2, a.marginTop = Math.floor(d) + "px", a.marginBottom = Math.ceil(d) + "px", a.marginLeft = Math.floor(c) + "px", a.marginRight = Math.ceil(c) + "px"); a.background = "url(" + b.url + ") " + q + "px " + r + "px/" + l + "px " + m + "px" }; + hRa = function (a) { return a.L("web_big_boards") ? a.isMinimized() ? a.L("web_big_boards_enable_in_miniplayer") : a.isInline() ? a.L("web_big_boards_enable_in_inline") : !0 : !1 }; + qV = function (a, b) { + g.T.call(this, { I: "div", S: "ytp-storyboard-framepreview", V: [{ I: "div", S: "ytp-storyboard-framepreview-timestamp", va: "{{timestamp}}" }, { I: "div", S: "ytp-storyboard-framepreview-img" }] }); this.api = a; this.D = this.Ea("ytp-storyboard-framepreview-img"); this.B = null; this.C = NaN; this.events = new g.OE(this); this.j = new g.Dy(this, 100); g.P(this, this.events); g.P(this, this.j); this.T(this.api, "presentingplayerstatechange", this.G); b && this.T(this.element, "click", function () { b.Zw() }); + hRa(this.api) && g.np(this.element, "ytp-storyboard-framepreview-big-boards") + }; + iRa = function (a, b) { var c = !!a.B; a.B = b; a.B ? (c || (a.events.T(a.api, "videodatachange", function () { iRa(a, a.api.zk()) }), a.events.T(a.api, "progresssync", a.Cg), a.events.T(a.api, "appresize", a.K)), a.C = NaN, jRa(a), a.j.show(200)) : (c && g.Ys(a.events), a.j.hide(), a.j.stop()) }; + jRa = function (a) { var b = a.B, c = a.api.getCurrentTime(), d = a.api.qb().getPlayerSize(), e = OP(b, d.width); e = OKa(b, e, c); a.update({ timestamp: g.Zy(c) }); e !== a.C && (a.C = e, MKa(b, e, d.width), b = KKa(b, e, d.width), gRa(a.D, b, d.width, d.height)) }; + kRa = function (a, b) { + g.T.call(this, { I: "button", Na: ["ytp-fullscreen-button", "ytp-button"], X: { title: "{{title}}", "aria-keyshortcuts": "f", "data-priority": "10", "data-title-no-tooltip": "{{data-title-no-tooltip}}" }, va: "{{icon}}" }); this.J = a; this.Ne = b; this.message = null; this.j = g.vR(this.Ne.Re(), this.element); this.B = new g.fp(this.u7, 2E3, this); g.P(this, this.B); this.T(a, "fullscreentoggled", this.hn); this.T(a, "presentingplayerstatechange", this.Ta); this.T(a, "resize", this.Ta); this.listen("click", this.onClick); g.Ms() && + (b = this.J.qb(), this.T(b, Ena(), this.XR), this.T(b, Dna(document), this.ly)); a.U().Ab || a.U().Z || this.disable(); a.createClientVe(this.element, this, 139117); this.Ta(); this.hn(a.isFullscreen()) + }; + rV = function (a, b) { + g.T.call(this, { + I: "button", Na: ["ytp-button", "ytp-jump-button"], X: { title: "{{title}}", "aria-keyshortcuts": "{{aria-keyshortcuts}}", "data-title-no-tooltip": "{{data-title-no-tooltip}}" }, V: [b > 0 ? { + I: "svg", X: { height: "100%", mlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", Na: ["ytp-circle-arrow", "ytp-svg-fill"], X: { d: "m19,12c0,2.1 -0.93,4.07 -2.55,5.4c-1.62,1.34 -3.76,1.87 -5.86,1.46c-2.73,-0.53 -4.92,-2.72 -5.45,-5.45c-0.41,-2.1 .12,-4.24 1.46,-5.86c1.33,-1.62 3.3,-2.55 5.4,-2.55l1.27,0l-0.85,.85l1.41,1.41l3.35,-3.35l-3.35,-3.35l-1.41,1.41l1.01,1.03l-1.43,0c-2.7,0 -5.23,1.19 -6.95,3.28c-1.72,2.08 -2.4,4.82 -1.88,7.52c0.68,3.52 3.51,6.35 7.03,7.03c0.6,.11 1.19,.17 1.78,.17c2.09,0 4.11,-0.71 5.74,-2.05c2.09,-1.72 3.28,-4.25 3.28,-6.95l-2,0z" } }, + { I: "text", Na: ["ytp-jump-button-text", "ytp-svg-fill"], X: { x: "7.05", y: "15.05" } }] + } : { + I: "svg", X: { height: "100%", mlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", Na: ["ytp-circle-arrow", "ytp-svg-fill"], X: { d: "m18.95,6.28c-1.72,-2.09 -4.25,-3.28 -6.95,-3.28l-1.43,0l1.02,-1.02l-1.41,-1.41l-3.36,3.35l3.35,3.35l1.41,-1.41l-0.85,-0.86l1.27,0c2.1,0 4.07,.93 5.4,2.55c1.34,1.62 1.87,3.76 1.46,5.86c-0.53,2.73 -2.72,4.92 -5.45,5.45c-2.11,.41 -4.24,-0.12 -5.86,-1.46c-1.62,-1.33 -2.55,-3.3 -2.55,-5.4l-2,0c0,2.7 1.19,5.23 3.28,6.95c1.62,1.34 3.65,2.05 5.74,2.05c0.59,0 1.19,-0.06 1.78,-0.17c3.52,-0.68 6.35,-3.51 7.03,-7.03c0.52,-2.7 -0.17,-5.44 -1.88,-7.52z" } }, + { I: "text", Na: ["ytp-jump-button-text", "ytp-svg-fill"], X: { x: "6.5", y: "15" } }] + }] + }); var c = this; this.J = a; this.j = b; this.B = new g.fp(function () { c.C ? (c.C = !1, c.B.start()) : c.element.classList.remove("ytp-jump-spin", "backwards") }, 250); + this.C = !1; (b = b > 0) ? this.J.createClientVe(this.element, this, 36843) : this.J.createClientVe(this.element, this, 36844); var d = g.DD(b ? "Seek forward $SECONDS seconds. (\u2192)" : "Seek backwards $SECONDS seconds. (\u2190)", { SECONDS: Math.abs(this.j).toString() }); this.update({ title: d, "data-title-no-tooltip": d, "aria-keyshortcuts": b ? "\u2192" : "\u2190" }); this.D = this.element.querySelector(".ytp-jump-button-text"); this.D.textContent = Math.abs(this.j).toString(); this.listen("click", this.onClick, this); wR(a, this.element, + this) + }; + lRa = function (a, b) { b ? a.element.classList.add("ytp-jump-button-enabled") : a.element.classList.remove("ytp-jump-button-enabled"); a.J.logVisibility(a.element, b); a.J.Vh() }; + sV = function (a, b) { oV.call(this, a, b, "timedMarkerCueRange", "View key moments"); this.T(a, g.tD("timedMarkerCueRange"), this.Tc); this.T(a, "updatemarkervisibility", this.updateVideoData) }; + mRa = function (a) { var b, c = (b = a.J.getVideoData()) == null ? void 0 : b.jf; if (c) for (a = a.D.Ka, c = g.w(c), b = c.next(); !b.done; b = c.next())if (b = a[b.value]) { var d = void 0, e = void 0, f = void 0; if (((d = b.onTap) == null ? void 0 : (e = d.innertubeCommand) == null ? void 0 : (f = e.changeEngagementPanelVisibilityAction) == null ? void 0 : f.targetId) !== "engagement-panel-macro-markers-problem-walkthroughs") return b } }; + tV = function (a) { + g.T.call(this, { I: "button", Na: ["ytp-miniplayer-button", "ytp-button"], X: { title: "{{title}}", "aria-keyshortcuts": "i", "data-priority": "5", "data-title-no-tooltip": "{{data-title-no-tooltip}}", "data-tooltip-target-id": "ytp-miniplayer-button" }, V: [wsa()] }); this.J = a; this.visible = !1; this.listen("click", this.onClick); this.T(a, "fullscreentoggled", this.Ta); this.updateValue("title", g.xR(a, "Miniplayer", "i")); this.update({ "data-title-no-tooltip": "Miniplayer" }); wR(a, this.element, this); a.createClientVe(this.element, + this, 62946); this.Ta() + }; + nRa = function (a, b, c) { + c = c === void 0 ? !1 : c; g.T.call(this, { I: "button", Na: ["ytp-mute-button", "ytp-button"], X: a.U().Va ? { title: "{{title}}", "aria-keyshortcuts": "m", "data-title-no-tooltip": "{{data-title-no-tooltip}}" } : { "aria-disabled": "true", "aria-haspopup": "true" }, va: "{{icon}}" }); this.J = a; this.Ga = c; this.j = null; this.D = this.Y = this.G = this.ra = NaN; this.Ba = this.K = null; this.C = []; this.B = []; this.visible = !1; this.N = null; c = this.J.U(); this.updateValue("icon", ey()); this.tooltip = b.Re(); this.j = new g.Jx({ + I: "svg", X: { + height: "100%", + version: "1.1", viewBox: "0 0 36 36", width: "100%" + }, V: [{ I: "defs", V: [{ I: "clipPath", X: { id: "ytp-svg-volume-animation-mask" }, V: [{ I: "path", X: { d: "m 14.35,-0.14 -5.86,5.86 20.73,20.78 5.86,-5.91 z" } }, { I: "path", X: { d: "M 7.07,6.87 -1.11,15.33 19.61,36.11 27.80,27.60 z" } }, { I: "path", S: "ytp-svg-volume-animation-mover", X: { d: "M 9.09,5.20 6.47,7.88 26.82,28.77 29.66,25.99 z" } }] }, { I: "clipPath", X: { id: "ytp-svg-volume-animation-slash-mask" }, V: [{ I: "path", S: "ytp-svg-volume-animation-mover", X: { d: "m -11.45,-15.55 -4.44,4.51 20.45,20.94 4.55,-4.66 z" } }] }] }, + { I: "path", Fc: !0, Na: ["ytp-svg-fill", "ytp-svg-volume-animation-speaker"], X: { "clip-path": "url(#ytp-svg-volume-animation-mask)", d: "M8,21 L12,21 L17,26 L17,10 L12,15 L8,15 L8,21 Z M19,14 L19,22 C20.48,21.32 21.5,19.77 21.5,18 C21.5,16.26 20.48,14.74 19,14 Z", fill: "#fff" } }, { I: "path", Fc: !0, Na: ["ytp-svg-fill", "ytp-svg-volume-animation-hider"], X: { "clip-path": "url(#ytp-svg-volume-animation-slash-mask)", d: "M 9.25,9 7.98,10.27 24.71,27 l 1.27,-1.27 Z", fill: "#fff" } }] + }); g.P(this, this.j); this.K = this.j.Ea("ytp-svg-volume-animation-speaker"); + this.Ba = this.K.getAttribute("d"); this.C = g.ce("ytp-svg-volume-animation-mover", this.j.element); this.B = g.ce("ytp-svg-volume-animation-hider", this.j.element); this.Fa = new NT; g.P(this, this.Fa); this.qa = new NT; g.P(this, this.qa); this.listen("click", this.kba); this.T(a, "appresize", this.WV); this.T(a, "onVolumeChange", this.onVolumeChange); var d = null; c.Va ? this.addOnDisposeCallback(g.vR(b.Re(), this.element)) : (b = "Your browser doesn't support changing the volume. $BEGIN_LINKLearn More$END_LINK".split(/\$(BEGIN|END)_LINK/), + d = new g.hS(a, { I: "span", Na: ["ytp-popup", "ytp-generic-popup"], X: { tabindex: "0" }, V: [b[0], { I: "a", X: { href: "https://support.google.com/youtube/?p=noaudio", target: c.Y }, va: b[2] }, b[4]] }, 100, !0), g.P(this, d), d.hide(), d.subscribe("show", function (e) { a.NE(d, e) }), g.GR(a, d.element, 4)); + this.message = d; a.createClientVe(this.element, this, 28662); this.WV(a.qb().getPlayerSize()); this.setVolume(a.getVolume(), a.isMuted()) + }; + qRa = function (a, b) { a.ra = b; var c = a.Ba; b && (c += SNa(oRa, pRa, b)); a.K.setAttribute("d", c) }; + rRa = function (a, b) { a.Y = b; for (var c = 20 * b, d = 0; d < a.C.length; d++)a.C[d].setAttribute("transform", "translate(" + c + ", " + c + ")"); var e; b === 1 ? e = ey() : e = a.j; for (c = 0; c < a.B.length; c++) { d = a.B[c]; var f = void 0; if ((f = d) == null ? 0 : f.style) d.style.display = b === 0 ? "none" : "" } e !== a.N && (a.updateValue("icon", e), a.N = e) }; + g.uV = function (a, b) { + g.T.call(this, { I: "button", Na: ["ytp-play-button", "ytp-button"], X: { title: "{{title}}", "aria-keyshortcuts": "k", "data-title-no-tooltip": "{{data-title-no-tooltip}}" }, va: "{{icon}}" }); this.J = a; this.j = null; this.transition = new NT; this.tooltip = b.Re(); g.P(this, this.transition); a.createClientVe(this.element, this, 36842); a.logVisibility(this.element, !0); this.T(a, "fullscreentoggled", this.onVideoDataChange); this.T(a, "presentingplayerstatechange", this.onStateChange); this.T(a, "videodatachange", this.onVideoDataChange); + this.zd(a.getPlayerStateObject()); this.listen("click", this.Us, this); this.addOnDisposeCallback(g.vR(b.Re(), this.element)) + }; + sRa = function (a) { switch (a) { case 1: return $x(); case 2: return usa(); case 3: return g.ay(); case 4: return ysa(); default: return null } }; + g.vV = function (a, b, c) { + g.T.call(this, { I: "a", Na: [c ? "ytp-next-button" : "ytp-prev-button", "ytp-button"], X: { role: "button", title: "{{title}}", href: "{{url}}", "data-preview": "{{preview}}", "data-tooltip-text": "{{text}}", "data-duration": "{{duration}}", "aria-disabled": "{{disabled}}", "data-next": "{{next}}", "data-prev": "{{prev}}", "data-title-no-tooltip": "{{data-title-no-tooltip}}", "aria-keyshortcuts": "{{aria-keyshortcuts}}" }, V: [c ? Xx() : xsa()] }); var d = this; this.J = a; this.j = c; this.playlist = this.videoData = null; this.K = + !1; this.D = this.G = this.B = null; this.C = !1; this.tooltip = b.Re(); c ? a.createClientVe(this.element, this, 6193) : a.createClientVe(this.element, this, 6194); this.T(a, "fullscreentoggled", this.onVideoDataChange); this.T(a, "videodatachange", this.onVideoDataChange); this.T(a, "onPlaylistUpdate", this.onVideoDataChange); this.T(a, "onLoopRangeChange", this.onVideoDataChange); this.j || this.T(a, "appresize", this.ON); this.T(a, "mdxpreviousnextchange", function () { tRa(d); d.ON() }); + this.onVideoDataChange() + }; + uRa = function (a) { a.playlist && a.playlist.unsubscribe("shuffle", a.onVideoDataChange, a) }; + vRa = function (a) { return !!a.playlist && !a.j && !!a.videoData && !a.videoData.isLivePlayback && a.J.getCurrentTime() >= 3 && a.J.getPresentingPlayerType() !== 2 }; + wRa = function (a) { var b = BR(a.J.Bb()); return b ? a.j ? b.Gl() : b.Yp() : !1 }; + tRa = function (a) { + var b = { duration: null, preview: null, text: null, title: null, url: null, "data-title-no-tooltip": null, "aria-keyshortcuts": null }, c = a.playlist != null && a.playlist.Gl(); c = g.CR(a.J) && (!a.j || c); var d = a.j && g.HR(a.J), e = wRa(a), f = a.j && a.J.getPresentingPlayerType() === 5, h = g.xR(a.J, "Next", "SHIFT+n"), l = g.xR(a.J, "Previous", "SHIFT+p"); if (f) b.title = "Start video"; else if (a.C) b.title = "Replay"; else if (c) { + var m = null; a.playlist && (m = g.UT(a.playlist, a.j ? jOa(a.playlist) : kOa(a.playlist))); if (m) { + if (m.videoId) { + var n = a.playlist.listId; + b.url = a.J.U().getVideoUrl(m.videoId, n ? n.toString() : void 0) + } b.text = m.title; b.duration = m.lengthText ? m.lengthText : m.lengthSeconds ? g.Zy(m.lengthSeconds) : null; b.preview = m.gh("mqdefault.jpg") + } a.j ? (b.title = h, b["data-title-no-tooltip"] = "Next", b["aria-keyshortcuts"] = "SHIFT+n") : (b.title = l, b["data-title-no-tooltip"] = "Previous", b["aria-keyshortcuts"] = "SHIFT+p") + } else if (d) { + if (l = (m = a.videoData) == null ? void 0 : g.nQ(m)) b.url = l.El(), b.text = l.title, b.duration = l.lengthText ? l.lengthText : l.lengthSeconds ? g.Zy(l.lengthSeconds) : + null, b.preview = l.gh("mqdefault.jpg"); b.title = h; b["data-title-no-tooltip"] = "Next"; b["aria-keyshortcuts"] = "SHIFT+n" + } b.disabled = !d && !c && !e && !f; a.update(b); a.K = !!b.url; d || c || a.C || e || f ? a.B || (a.B = g.vR(a.tooltip, a.element), a.G = a.listen("click", a.onClick, a)) : a.B && (a.B(), a.B = null, a.Oc(a.G), a.G = null); a.tooltip.Vh() + }; + yRa = function (a, b) { + g.T.call(this, { + I: "div", S: "ytp-fine-scrubbing", V: [{ I: "div", S: "ytp-fine-scrubbing-draggable", V: [{ I: "div", S: "ytp-fine-scrubbing-thumbnails", X: { tabindex: "0", role: "slider", type: "range", "aria-label": "Click or scroll the panel for the precise seeking.", "aria-valuemin": "{{ariamin}}", "aria-valuemax": "{{ariamax}}", "aria-valuenow": "{{arianow}}", "aria-valuetext": "{{arianowtext}}" } }] }, { I: "div", X: { "aria-hidden": "true" }, S: "ytp-fine-scrubbing-cursor" }, { + I: "div", S: "ytp-fine-scrubbing-seek-time", X: { "aria-hidden": "true" }, + va: "{{seekTime}}" + }, { I: "div", S: "ytp-fine-scrubbing-play", V: [$x()], X: { title: "Play from this position", role: "button" } }, { I: "div", S: "ytp-fine-scrubbing-dismiss", V: [g.Vx()], X: { title: "Exit precise seeking", role: "button" } }] + }); var c = this; this.api = a; this.G = this.Ea("ytp-fine-scrubbing-thumbnails"); this.dismissButton = this.Ea("ytp-fine-scrubbing-dismiss"); this.Ba = this.Ea("ytp-fine-scrubbing-draggable"); this.playButton = this.Ea("ytp-fine-scrubbing-play"); this.thumbnails = []; this.B = []; this.Ka = this.j = 0; this.Ma = void 0; + this.qa = NaN; this.Ra = this.Y = this.C = this.N = 0; this.D = []; this.interval = this.frameCount = 0; this.K = 160; this.scale = 1; this.Va = 0; this.isEnabled = this.Ga = !1; xRa(this, this.api.getCurrentTime()); this.addOnDisposeCallback(g.vR(b, this.dismissButton)); this.addOnDisposeCallback(g.vR(b, this.playButton)); this.Fa = new g.tT(this.Ba, !0); this.Fa.subscribe("dragstart", this.RN, this); this.Fa.subscribe("dragmove", this.QN, this); this.Fa.subscribe("dragend", this.g6, this); this.T(a, "SEEK_COMPLETE", this.DB); a.L("web_fix_fine_scrubbing_false_play") && + this.T(a, "rootnodemousedown", function (d) { c.ra = d }); + this.G.addEventListener("keydown", function () { }); + g.P(this, this.Fa); this.api.createClientVe(this.element, this, 153154); this.api.createClientVe(this.G, this, 152789); this.api.createClientVe(this.dismissButton, this, 153156); this.api.createClientVe(this.playButton, this, 153155) + }; + xRa = function (a, b) { var c = g.Zy(b), d = g.DD("Seek to $PROGRESS", { PROGRESS: g.Zy(b, !0) }); a.update({ ariamin: 0, ariamax: Math.floor(a.api.getDuration()), arianow: Math.floor(b), arianowtext: d, seekTime: c }) }; + zRa = function (a) { a.qa = NaN; a.Y = 0; a.N = a.C }; + CRa = function (a) { + var b = a.api.zk(); if (b) { + var c = 90 * a.scale, d = OP(b, 160 * a.scale); if (b = b.levels[d]) { + a.K = b.width; if (!a.D.length) { d = []; for (var e = PP(b, b.sz()), f = b.columns * b.rows, h = b.frameCount, l = 0; l <= e; l++)for (var m = h < f ? Math.ceil(h / b.columns) : b.rows, n = 0; n < b.rows; n++) { var p = h < b.columns ? h : b.columns, q = { url: b.Ce(l), column: 0, columns: p, row: n, rows: m, mG: b.width * p, Tx: b.height * m }; d.push(q); h -= p; if (h <= 1) break } a.D = d; a.frameCount = b.WJ(); a.interval = b.j / 1E3 || a.api.getDuration() / a.frameCount } for (; a.thumbnails.length > a.D.length;)d = + void 0, (d = a.thumbnails.pop()) == null || d.dispose(); for (; a.thumbnails.length < a.D.length;)d = new ARa, a.thumbnails.push(d), d.Ja(a.G), g.P(a, d); for (d = 0; d < a.D.length; d++)e = a.thumbnails[d].element, f = a.D[d], h = a.K * a.scale, l = f.Tx / f.rows, m = c / l, e.style.background = "url(" + f.url + ") 0 " + -f.row * f.Tx / f.rows * m + "px/" + h * b.columns + "px " + l * f.rows * m + "px", e.style.width = h * f.columns + "px", e.style.height = c + "px"; wV(a, a.api.getCurrentTime()); for (c = a.api.getVideoData().Xk; a.B.length > c.length;)d = void 0, (d = a.B.pop()) == null || d.dispose(); + for (; a.B.length < c.length;)d = new BRa, a.B.push(new BRa), g.P(a, d); for (d = 0; d < c.length; d++)e = c[d], a.B[d].update({ chapterTitle: e.title }), e = Math.round(e.startTime / b.j), f = Math.floor(e / b.rows), g.jm(a.B[d].element, "transform", "translateX(" + e % b.rows * a.K * a.scale + "px)"), f < a.thumbnails.length && a.thumbnails[f] && a.B[d].Ja(a.thumbnails[f].element); a.Ga = !0 + } + } + }; + wV = function (a, b) { a.ra && (a.ra.HA = !0); a.update({ seekTime: g.Zy(b) }); var c = a.K * a.scale; b = b < a.interval / 2 ? -b * c / a.interval * 2 + a.j / 2 : -b * c / a.interval - c / 2 + a.j / 2; b = g.Dd(b, DRa(a), a.j / 2); a.N = b; a.C = a.N; g.jm(a.Ba, "transform", "translateX(" + (a.N - a.j / 2) + "px)"); g.jm(a.Ba, "padding", "0px " + a.j / 2 + "px"); g.jm(a.G, "position", "relative") }; + ERa = function (a, b) { var c = a.K * a.scale; b -= a.j / 2; return b > -c ? -b / c * a.interval * .5 : -(b + c / 2) / c * a.interval }; + DRa = function (a) { return -((a.G.offsetWidth || (a.frameCount - 1) * a.K * a.scale) - a.j / 2) }; + ARa = function () { g.T.call(this, { I: "div", S: "ytp-fine-scrubbing-thumbnail" }) }; + BRa = function () { g.T.call(this, { I: "div", S: "ytp-fine-scrubbing-chapter-title", V: [{ I: "div", S: "ytp-fine-scrubbing-chapter-title-content", va: "{{chapterTitle}}" }] }) }; + FRa = function (a) { + g.T.call(this, { + I: "div", S: "ytp-heat-map-chapter", V: [{ + I: "svg", S: "ytp-heat-map-svg", X: { height: "100%", preserveAspectRatio: "none", version: "1.1", viewBox: "0 0 1000 100", width: "100%" }, V: [{ I: "defs", V: [{ I: "clipPath", X: { id: "{{id}}" }, V: [{ I: "path", S: "ytp-heat-map-path", X: { d: "", fill: "white" } }] }] }, { I: "rect", S: "ytp-heat-map-graph", X: { "clip-path": "url(#hm_1)", fill: "white", "fill-opacity": "0.4", height: "100%", width: "100%", x: "0", y: "0" } }, { + I: "rect", S: "ytp-heat-map-hover", X: { + "clip-path": "url(#hm_1)", fill: "white", + "fill-opacity": "0.7", height: "100%", width: "100%", x: "0", y: "0" + } + }, { I: "rect", S: "ytp-heat-map-play", X: { "clip-path": "url(#hm_1)", height: "100%", x: "0", y: "0" } }] + }] + }); this.api = a; this.K = this.Ea("ytp-heat-map-svg"); this.C = this.Ea("ytp-heat-map-path"); this.G = this.Ea("ytp-heat-map-graph"); this.D = this.Ea("ytp-heat-map-play"); this.B = this.Ea("ytp-heat-map-hover"); this.qe = !1; this.j = 60; a = "" + g.Ta(this); this.update({ id: a }); a = "url(#" + a + ")"; this.G.setAttribute("clip-path", a); this.D.setAttribute("clip-path", a); this.B.setAttribute("clip-path", + a); this.api.L("web_heat_map_v2") && g.np(this.api.getRootNode(), "ytp-heat-map-v2") + }; + GRa = function (a, b) { b > 0 && (a.j = b, a.K.style.height = a.j + "px") }; + xV = function () { + g.T.call(this, { I: "div", S: "ytp-chapter-hover-container", V: [{ I: "div", S: "ytp-progress-bar-padding" }, { I: "div", S: "ytp-progress-list", V: [{ I: "div", Na: ["ytp-play-progress", "ytp-swatch-background-color"] }, { I: "div", S: "ytp-progress-linear-live-buffer" }, { I: "div", S: "ytp-load-progress" }, { I: "div", S: "ytp-hover-progress" }, { I: "div", S: "ytp-ad-progress-list" }] }] }); this.startTime = NaN; this.title = ""; this.index = NaN; this.width = 0; this.D = this.Ea("ytp-progress-linear-live-buffer"); this.C = this.Ea("ytp-ad-progress-list"); + this.G = this.Ea("ytp-load-progress"); this.K = this.Ea("ytp-play-progress"); this.B = this.Ea("ytp-hover-progress"); this.j = this.Ea("ytp-chapter-hover-container") + }; + yV = function (a, b) { g.jm(a.j, "width", b) }; + HRa = function (a, b) { g.jm(a.j, "margin-right", b + "px") }; + IRa = function () { this.B = this.position = this.C = this.j = this.D = this.width = NaN }; + JRa = function () { g.T.call(this, { I: "div", S: "ytp-timed-marker" }); this.j = this.timeRangeStartMillis = NaN; this.title = ""; this.onActiveCommand = void 0 }; + g.AV = function (a, b) { + g.Nx.call(this, { + I: "div", S: "ytp-progress-bar-container", X: { "aria-disabled": "true" }, V: [{ I: "div", Na: ["ytp-heat-map-container"], V: [{ I: "div", S: "ytp-heat-map-edu" }] }, { + I: "div", Na: ["ytp-progress-bar"], X: { tabindex: "0", role: "slider", "aria-label": "Seek slider", "aria-valuemin": "{{ariamin}}", "aria-valuemax": "{{ariamax}}", "aria-valuenow": "{{arianow}}", "aria-valuetext": "{{arianowtext}}" }, V: [{ I: "div", S: "ytp-chapters-container" }, { I: "div", S: "ytp-timed-markers-container" }, { I: "div", S: "ytp-clip-start-exclude" }, + { I: "div", S: "ytp-clip-end-exclude" }, { I: "div", S: "ytp-scrubber-container", V: [{ I: "div", Na: ["ytp-scrubber-button", "ytp-swatch-background-color"], V: [{ I: "div", S: "ytp-scrubber-pull-indicator" }] }] }] + }, { I: "div", Na: ["ytp-fine-scrubbing-container"], V: [{ I: "div", S: "ytp-fine-scrubbing-edu" }] }, { I: "div", S: "ytp-bound-time-left", va: "{{boundTimeLeft}}" }, { I: "div", S: "ytp-bound-time-right", va: "{{boundTimeRight}}" }, { I: "div", S: "ytp-clip-start", X: { title: "{{clipstarttitle}}" }, va: "{{clipstarticon}}" }, { + I: "div", S: "ytp-clip-end", + X: { title: "{{clipendtitle}}" }, va: "{{clipendicon}}" + }] + }); this.api = a; this.kf = !1; this.Tf = this.Va = this.N = this.Sf = 0; this.Ie = null; this.Ma = {}; this.Ob = {}; this.clipEnd = Infinity; this.Ab = this.Ea("ytp-clip-end"); this.yc = new g.tT(this.Ab, !0); this.wc = this.Ea("ytp-clip-end-exclude"); this.Rc = this.Ea("ytp-clip-start-exclude"); this.clipStart = 0; this.Kb = this.Ea("ytp-clip-start"); this.Wc = new g.tT(this.Kb, !0); this.qa = this.fb = 0; this.progressBar = this.Ea("ytp-progress-bar"); this.yb = {}; this.Ka = {}; this.Tb = this.Ea("ytp-chapters-container"); + this.Rf = this.Ea("ytp-timed-markers-container"); this.j = []; this.K = []; this.ze = {}; this.Pf = null; this.Wa = -1; this.ob = this.Ba = 0; this.Y = null; this.Uf = this.Ea("ytp-scrubber-button"); this.Ig = this.Ea("ytp-scrubber-container"); this.Xa = new g.Gd; this.Qf = new IRa; this.C = new dz(0, 0); this.Db = null; this.D = this.jf = !1; this.wh = null; this.ra = this.Ea("ytp-heat-map-container"); this.Ed = this.Ea("ytp-heat-map-edu"); this.G = []; this.heatMarkersDecorations = []; this.Ya = this.Ea("ytp-fine-scrubbing-container"); this.Zd = this.Ea("ytp-fine-scrubbing-edu"); + this.B = void 0; this.Fa = this.Fd = this.Ga = !1; this.tooltip = b.Re(); this.addOnDisposeCallback(g.vR(this.tooltip, this.Ab)); g.P(this, this.yc); this.yc.subscribe("hoverstart", this.d0, this); this.yc.subscribe("hoverend", this.b0, this); this.T(this.Ab, "click", this.kM); this.addOnDisposeCallback(g.vR(this.tooltip, this.Kb)); g.P(this, this.Wc); this.Wc.subscribe("hoverstart", this.d0, this); this.Wc.subscribe("hoverend", this.b0, this); this.T(this.Kb, "click", this.kM); KRa(this); this.T(a, "resize", this.kc); this.T(a, "presentingplayerstatechange", + this.C9); this.T(a, "videodatachange", this.ju); this.T(a, "videoplayerreset", this.B9); this.T(a, "cuerangesadded", this.gfa); this.T(a, "cuerangesremoved", this.wda); this.T(a, "onLoopRangeChange", this.XV); this.T(a, "innertubeCommand", this.onClickCommand); this.T(a, g.sD("timedMarkerCueRange"), this.yca); this.T(a, "updatemarkervisibility", this.x3); var c; ((c = a.getVideoData()) == null ? 0 : c.oi()) && a.L("html5_lifa_ad_disable_progress_bar") && this.T(a, "serverstitchedvideochange", this.ifa); this.updateVideoData(a.getVideoData(), + !0); this.XV(a.getLoopRange()); zV(this) && !this.B && (this.B = new yRa(this.api, this.tooltip), a = g.sm(this.element).x || 0, this.B.kc(a, this.N), this.B.Ja(this.Ya), g.P(this, this.B), this.T(this.B.dismissButton, "click", this.Zw), this.T(this.B.playButton, "click", this.BP), this.T(this.B.element, "dblclick", this.BP)); this.api.createClientVe(this.ra, this, 139609, !0); this.api.createClientVe(this.Ed, this, 140127, !0); this.api.createClientVe(this.Zd, this, 151179, !0); this.api.L("web_modern_miniplayer") && (this.element.hidden = + !0) + }; + KRa = function (a) { if (a.j.length === 0) { var b = new xV; a.j.push(b); g.P(a, b); b.Ja(a.Tb, 0) } for (; a.j.length > 1;)a.j.pop().dispose(); yV(a.j[0], "100%"); a.j[0].startTime = 0; a.j[0].title = "" }; + LRa = function (a) { var b = b === void 0 ? NaN : b; var c = new FRa(a.api); a.G.push(c); g.P(a, c); c.Ja(a.ra); b >= 0 && (c.element.style.width = b + "px") }; + MRa = function (a) { for (; a.K.length;)a.K.pop().dispose() }; + ORa = function (a) { var b, c, d, e, f; return (f = g.R((e = g.R((b = a.getWatchNextResponse()) == null ? void 0 : (c = b.playerOverlays) == null ? void 0 : (d = c.playerOverlayRenderer) == null ? void 0 : d.decoratedPlayerBarRenderer, EP)) == null ? void 0 : e.playerBar, NRa)) == null ? void 0 : f.chapters }; + PRa = function (a) { for (var b = a.j, c = [], d = 0; d < b.length; d++)if (!isNaN(b[d].startTime)) { var e = b[d].startTime; e = new g.qD(e, d === b.length - 1 ? Infinity : b[d + 1].startTime, { namespace: "chapterCueRange", priority: 9, id: "c_" + e }); c.push(e) } a.api.rf("chapterCueRange"); a.api.lf(c) }; + XRa = function (a, b) { + var c, d = (c = a.yb[b]) == null ? void 0 : c.chapters; d && (QRa(a, d), a.api.getVideoData().Xk = a.j, PRa(a)); var e; if ((c = (e = a.yb[b]) == null ? void 0 : e.markers) && b !== "HEATSEEKER") { + MRa(a); e = g.w(c); for (c = e.next(); !c.done; c = e.next())if (d = c.value, c = new JRa, d = g.R(d, g.RRa)) { var f = void 0; c.title = ((f = d.title) == null ? void 0 : f.simpleText) || ""; f = void 0; c.timeRangeStartMillis = (f = d.timeRangeStartMillis) != null ? f : NaN; var h = f = void 0; c.onActiveCommand = (h = (f = d) == null ? void 0 : f.onActiveCommand) != null ? h : void 0; SRa(a, c) } TRa(a, + a.K); e = a.K; c = a.ze; d = []; for (f = 0; f < e.length; f++)!isNaN(e[f].timeRangeStartMillis) && e[f].onActiveCommand && (h = zQa(e[f].timeRangeStartMillis, f === e.length - 1 ? Infinity : e[f + 1].timeRangeStartMillis), d.push(h), c[h.id] = e[f].onActiveCommand); a.api.lf(d) + } var l; if (b = g.R((l = a.yb[b]) == null ? void 0 : l.heatmap, URa)) { + l = b.heatMarkers || []; var m; e = (m = b.minHeightDp) != null ? m : 0; var n; m = (n = b.maxHeightDp) != null ? n : 60; n = a.j.length; c = null; for (d = 0; d < n; d++) { + h = a.j[d].startTime; var p = d === n - 1 ? Infinity : a.j[d + 1].startTime; d === a.G.length && + LRa(a); f = []; c && f.push(c); for (var q = g.w(l), r = q.next(); !r.done; r = q.next()) { r = r.value; var t = void 0, u = void 0, y = (u = (t = g.R(r, VRa)) == null ? void 0 : t.timeRangeStartMillis) != null ? u : -1; y >= h && y <= p && f.push(r) } m > 0 && (a.ra.style.height = m + "px"); h = a.G[d]; p = f; r = e; u = m; y = d === 0; y = y === void 0 ? !1 : y; GRa(h, u); q = p; t = h.j; y = y === void 0 ? !1 : y; var A = 1E3 / q.length, D = []; D.push({ x: 0, y: 100 }); for (var F = 0; F < q.length; F++) { + var H = void 0, M = ((H = g.R(q[F], VRa)) == null ? void 0 : H.heatMarkerIntensityScoreNormalized) || 0; H = (F + .5) * A; M = 100 - g.Dd(M * 100, r / + t * 100, u / t * 100); F !== 0 || y || D.push({ x: 0, y: M }); D.push({ x: H, y: M }); F === q.length - 1 && D.push({ x: 1E3, y: M }) + } D.push({ x: 1E3, y: 100 }); q = D; p = p.length === 0 ? "" : uua(q); h.C.setAttribute("d", p); h.qe = p !== ""; g.rp(h.api.getRootNode(), "ytp-heat-map", h.qe); g.rp(h.api.getRootNode(), "ytp-heat-map-played_bar", h.api.L("web_player_heat_map_played_bar") && p !== ""); f.length > 0 && (c = f[f.length - 1]) + } g.BV(a); l = []; b = g.w(b.heatMarkersDecorations || []); for (e = b.next(); !e.done; e = b.next())if (e = g.R(e.value, WRa)) m = e.label, d = c = n = void 0, l.push({ + visibleTimeRangeStartMillis: (n = + e.visibleTimeRangeStartMillis) != null ? n : -1, visibleTimeRangeEndMillis: (c = e.visibleTimeRangeEndMillis) != null ? c : -1, decorationTimeMillis: (d = e.decorationTimeMillis) != null ? d : NaN, label: m ? g.Qx(m) : "" + }); a.heatMarkersDecorations = l + } + }; + SRa = function (a, b) { a.K.push(b); g.P(a, b); b.Ja(a.Rf, a.Rf.children.length) }; + TRa = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { c = c.value; var d = CV(a, c.timeRangeStartMillis / (a.C.j * 1E3), DV(a)); g.jm(c.element, "transform", "translateX(" + d + "px) scaleX(0.6)") } }; + QRa = function (a, b) { + var c = 0, d = !1; b = g.w(b); for (var e = b.next(); !e.done; e = b.next()) { + e = e.value; if (g.R(e, YRa)) { + e = g.R(e, YRa); var f = { startTime: NaN, title: null, onActiveCommand: void 0 }, h = e.title; f.title = h ? g.Qx(h) : ""; h = e.timeRangeStartMillis; h != null && (f.startTime = h); f.onActiveCommand = e.onActiveCommand; e = f; c === 0 && e.startTime !== 0 && (a.j[c].startTime = 0, a.j[c].title = "", a.j[c].onActiveCommand = e.onActiveCommand, c++, d = !0); a.j.length <= c && (f = new xV, a.j.push(f), g.P(a, f), f.Ja(a.Tb, a.Tb.children.length)); a.j[c].startTime = + e.startTime; a.j[c].title = e.title ? e.title : ""; a.j[c].onActiveCommand = e.onActiveCommand; a.j[c].index = d ? c - 1 : c + } c++ + } for (; c < a.j.length;)a.j.pop().dispose(); g.BV(a); EV(a) + }; + g.BV = function (a) { + a.Ba = a.j.length - 1; a.ob = 0; ZRa(a, !0) && ZRa(a, !1); for (var b = 0, c = 0; c < a.j.length; c++)if (a.j[c].width === 0) { if (c === a.j.length - 1) for (var d = a.j.length - 1; d >= 0; d--)if (a.j[d].width > 0) { HRa(a.j[d], 0); var e = Math.floor(a.j[d].width); a.j[d].width = e; yV(a.j[d], e + "px"); break } a.j[c].width = 0; yV(a.j[c], "0") } else c === a.j.length - 1 ? (d = Math.floor(a.j[c].width + b), a.j[c].width = d, yV(a.j[c], d + "px")) : (b = a.j[c].width + b, d = Math.round(b), b -= d, a.j[c].width = d, yV(a.j[c], d + "px")); c = 0; if (a.G.length === a.j.length) for (b = 0; b < + a.G.length; b++)d = a.j[b].width, a.G[b].element.style.width = d + "px", a.G[b].element.style.left = c + "px", c += d + (a.D ? 3 : 2) + }; + ZRa = function (a, b) { + var c = 0, d = !1, e = a.j.length, f = a.C.j * 1E3; f === 0 && (f = a.api.getProgressState().seekableEnd * 1E3); if (f > 0 && a.N > 0) { + for (var h = a.N - (a.D ? 3 : 2) * a.Ba, l = a.ob === 0 ? 3 : h * a.ob, m = g.w(a.j), n = m.next(); !n.done; n = m.next())n.value.width = 0; for (; c < e;) { + m = f - a.j[c].startTime; c < e - 1 && (m = a.j[c + 1].startTime - a.j[c].startTime, HRa(a.j[c], a.D ? 3 : 2)); g.rp(a.j[c].j, "ytp-exp-chapter-hover-container", a.j.length > 1); n = (f === 0 ? 0 : m / f * h) + a.j[c].width; if (n > l) a.j[c].width = n; else { + a.j[c].width = 0; var p = a, q = c, r = p.j[q - 1]; r !== void 0 && r.width > + 0 ? r.width += n : q < p.j.length - 1 && (p.j[q + 1].width += n); HRa(p.j[q], 0); b && (a.Ba--, m / f > a.ob && (a.ob = m / f), d = !0) + } c++ + } + } return d + }; + EV = function (a) { if (a.N) { var b = a.api.getProgressState(), c = a.api.getVideoData(); if (!(c && c.enableServerStitchedDai && c.enablePreroll) || isFinite(b.current)) { var d; c = ((d = a.api.getVideoData()) == null ? 0 : $Q(d)) && b.airingStart && b.airingEnd ? $Ra(a, b.airingStart, b.airingEnd) : $Ra(a, b.seekableStart, b.seekableEnd); d = ez(c, b.loaded, 0); b = ez(c, b.current, 0); var e = a.C.B !== c.B || a.C.j !== c.j; a.C = c; FV(a, b, d); e && aSa(a); bSa(a) } } }; + $Ra = function (a, b, c) { return cSa(a) ? new dz(Math.max(b, a.Db.startTimeMs / 1E3), Math.min(c, a.Db.endTimeMs / 1E3)) : new dz(b, c) }; + dSa = function (a, b) { var c; if (((c = a.Db) == null ? void 0 : c.type) === "repeatChapter" || (b == null ? void 0 : b.type) === "repeatChapter") b && (b = a.j[$U(a.j, b.startTimeMs)], g.rp(b.j, "ytp-repeating-chapter", !1)), a.Db && (b = a.j[$U(a.j, a.Db.startTimeMs)], g.rp(b.j, "ytp-repeating-chapter", !0)), a.j.forEach(function (d) { g.rp(d.j, "ytp-exp-chapter-hover-container", !a.Db) }) }; + HV = function (a, b) { var c = $sa(a.C, b.B); if (a.j.length > 1) { c = GV(a, b.C, !0); for (var d = 0, e = 0; e < c; e++)a.j[e].width > 0 && (d += a.j[e].width, d += a.D ? 3 : 2); c = (a.j[c].startTime + (b.C - d) / a.j[c].width * ((c === a.j.length - 1 ? a.C.j * 1E3 : a.j[c + 1].startTime) - a.j[c].startTime)) / 1E3 || 0 } return c }; + eSa = function (a, b, c) { return c >= a.j.length ? !1 : Math.abs(b - a.j[c].startTime / 1E3) / a.C.j * (a.N - (a.D ? 3 : 2) * a.Ba) < 4 }; + aSa = function (a) { a.Uf.style.removeProperty("height"); for (var b = g.w(Object.keys(a.Ma)), c = b.next(); !c.done; c = b.next())fSa(a, c.value); IV(a); FV(a, a.qa, a.fb) }; + DV = function (a) { var b = a.Xa.x; b = g.Dd(b, 0, a.N); a.Qf.update(b, a.N); return a.Qf }; + KV = function (a) { return (a.D ? 135 : 90) - JV(a) }; + JV = function (a) { var b = 48, c = a.api.U(); a.D ? b = 54 : g.IO(c) && !c.B && (b = 40); return b }; + FV = function (a, b, c) { + a.qa = b; a.fb = c; var d = DV(a), e = a.C.j, f = $sa(a.C, a.qa), h = g.DD("$PLAY_PROGRESS of $DURATION", { PLAY_PROGRESS: g.Zy(f, !0), DURATION: g.Zy(e, !0) }), l = $U(a.j, f * 1E3); l = a.j[l].title; a.update({ ariamin: Math.floor(a.C.B), ariamax: Math.floor(e), arianow: Math.floor(f), arianowtext: l ? l + " " + h : h }); e = a.clipStart; f = a.clipEnd; a.Db && a.api.getPresentingPlayerType() !== 2 && (e = a.Db.startTimeMs / 1E3, f = a.Db.endTimeMs / 1E3); e = ez(a.C, e, 0); l = ez(a.C, f, 1); h = a.api.getVideoData(); f = g.Dd(b, e, l); c = (h == null ? 0 : g.YQ(h)) ? 1 : g.Dd(c, + e, l); b = CV(a, b, d); g.jm(a.Ig, "transform", "translateX(" + b + "px)"); LV(a, d, e, f, "PLAY_PROGRESS"); (h == null ? 0 : $Q(h)) ? (b = a.api.getProgressState().seekableEnd) && LV(a, d, f, ez(a.C, b), "LIVE_BUFFER") : LV(a, d, e, c, "LOAD_PROGRESS"); if (a.api.L("web_player_heat_map_played_bar")) { var m; (m = a.G[0]) != null && m.D.setAttribute("width", (f * 100).toFixed(2) + "%") } + }; + LV = function (a, b, c, d, e) { + var f = a.j.length, h = b.j - a.Ba * (a.D ? 3 : 2), l = c * h; c = GV(a, l); var m = d * h; h = GV(a, m); e === "HOVER_PROGRESS" && (h = GV(a, b.j * d, !0), m = b.j * d - gSa(a, b.j * d) * (a.D ? 3 : 2)); d = Math.max(l - hSa(a, c), 0); for (l = c; l < f; l++)a.j[l].Ib(e).style.left = c === l ? d + "px" : "0"; b = CV(a, a.qa, b); for (f = c; f < h; f++) { l = a.j[f].Ib(e); var n = a.j[f].width, p = f === c ? n - d : n; MV(a, l, p, n); iSa(a, l, p, n, f, b, e) } f = a.j[h].width; m = g.Dd(m - hSa(a, h), 0, f); c === h && (m -= d); d = a.j[h].Ib(e); MV(a, d, m, f); iSa(a, d, m, f, h, b, e); m = a.j.length; for (h += 1; h < m; h++)jSa(a, h, e); + for (h = 0; h < c; h++)jSa(a, h, e) + }; + hSa = function (a, b) { if (b >= a.j.length) return a.N; for (var c = 0, d = 0; d < b;)c += a.j[d].width, d++; return c }; + jSa = function (a, b, c) { c = a.j[b].Ib(c); MV(a, c, 0, a.j[b].width) }; + iSa = function (a, b, c, d, e, f, h) { a.api.L("enable_cairo_refresh_signature_moments_web") && h === "PLAY_PROGRESS" && (c = !d || a.api.U().B ? 1 : c / d, a.Rc.clientWidth > 0 || a.wc.clientWidth > 0 ? (f = b.clientWidth / c, a = -1 * a.Rc.clientWidth / c) : (f /= c, a = -1 * a.j[e].element.offsetLeft / c), g.jm(b, "background-size", f + "px"), g.jm(b, "background-position-x", a + "px")) }; + MV = function (a, b, c, d, e) { e || a.api.U().B ? b.style.width = c + "px" : g.jm(b, "transform", "scalex(" + (d ? c / d : 0) + ")") }; + GV = function (a, b, c) { var d = 0; (c === void 0 ? 0 : c) && (b -= gSa(a, b) * (a.D ? 3 : 2)); c = g.w(a.j); for (var e = c.next(); !e.done; e = c.next()) { e = e.value; if (b > e.width) b -= e.width; else break; d++ } return d === a.j.length ? d - 1 : d }; + CV = function (a, b, c) { for (var d = b * a.C.j * 1E3, e = -1, f = g.w(a.j), h = f.next(); !h.done; h = f.next())h = h.value, d > h.startTime && h.width > 0 && e++; return b * (c.j - (a.D ? 3 : 2) * a.Ba) + (a.D ? 3 : 2) * (e < 0 ? 0 : e) + c.D }; + gSa = function (a, b) { for (var c = a.j.length, d = 0, e = g.w(a.j), f = e.next(); !f.done; f = e.next())if (f = f.value, f.width !== 0) if (b > f.width) b -= f.width, b -= a.D ? 3 : 2, d++; else break; return d === c ? c - 1 : d }; + g.kSa = function (a, b, c, d) { var e = a.N !== c, f = a.D !== d; a.Sf = b; a.N = c; a.D = d; zV(a) && (b = a.B) != null && (b.scale = d ? 1.5 : 1); aSa(a); a.j.length === 1 && (a.j[0].width = c || 0); e && g.BV(a); a.B && f && zV(a) && (a.B.isEnabled && (c = a.D ? 135 : 90, d = c - JV(a), a.Ya.style.height = c + "px", g.jm(a.ra, "transform", "translateY(" + -d + "px)"), g.jm(a.progressBar, "transform", "translateY(" + -d + "px)")), CRa(a.B)) }; + IV = function (a) { + var b = !!a.Db && a.api.getPresentingPlayerType() !== 2, c = a.clipStart, d = a.clipEnd, e = !0, f = !0; b && a.Db ? (c = a.Db.startTimeMs / 1E3, d = a.Db.endTimeMs / 1E3) : (e = c > a.C.B, f = a.C.j > 0 && d < a.C.j); var h, l; if (((h = a.Db) == null ? 0 : h.postId) || ((l = a.Db) == null ? void 0 : l.type) === "repeatChapter") f = e = !1; g.rp(a.element, "ytp-loop-range-enabled", b); g.rp(a.element, "ytp-clip-start-enabled", e); g.rp(a.element, "ytp-clip-end-enabled", f); b = e ? ez(a.C, c, 0) : 0; d = f ? ez(a.C, d, 1) : 1; a.Kb.style.left = Math.round(b * 1E3) / 10 + "%"; a.Ab.style.left = + Math.round(d * 1E3) / 10 + "%"; a.Rc.style.width = Math.round(b * 1E3) / 10 + "%"; a.wc.style.left = Math.round(d * 1E3) / 10 + "%"; a.wc.style.width = Math.round((1 - d) * 1E3) / 10 + "%" + }; + bSa = function (a) { var b; if ((b = a.api.getVideoData()) == null || !$Q(b)) { b = DV(a); LV(a, b, a.qa, Math.max(b.B, a.qa), "HOVER_PROGRESS"); for (var c = GV(a, b.j * a.qa, !0), d = GV(a, b.C, !0), e = c; e <= d; e++)g.rp(a.j[e].B, "ytp-hover-progress-light", b.B > a.qa); g.rp(a.Uf, "ytp-scrubber-button-hover", c === d && a.j.length > 1); if (a.api.L("web_player_heat_map_played_bar")) { var f; (f = a.G[0]) != null && f.B.setAttribute("width", (b.B * 100).toFixed(2) + "%") } } }; + fSa = function (a, b) { var c = a.Ma[b]; b = a.Ob[b]; var d = DV(a), e = ez(a.C, c.start / 1E3, 0), f = yva(c, a.D) / d.width; var h = ez(a.C, c.end / 1E3, 1); f !== Number.POSITIVE_INFINITY && (e = g.Dd(e, 0, h - f)); h = Math.min(h, e + f); c.color && (b.style.background = c.color); c = e; b.style.left = Math.max(c * d.j + d.D, 0) + "px"; MV(a, b, g.Dd((h - c) * d.j + d.D, 0, d.width), d.width, !0) }; + lSa = function (a, b) { var c = b.getId(); a.Ma[c] === b && (g.pe(a.Ob[c]), delete a.Ma[c], delete a.Ob[c]) }; + zV = function (a) { var b = g.bP(a.api.U()) && (a.api.L("web_enable_pip_on_miniplayer") || a.api.L("web_enable_auto_pip")), c; return !((c = a.api.getVideoData()) == null ? 0 : c.isLivePlayback) && !a.api.isMinimized() && !a.api.isInline() && (!a.api.Dj() || !b) }; + NV = function (a) { a.B && (a.B.disable(), a.Va = 0, a.ra.style.removeProperty("transform"), a.progressBar.style.removeProperty("transform"), a.Ya.style.removeProperty("height"), a.element.parentElement && a.element.parentElement.style.removeProperty("height")) }; + mSa = function (a, b) { var c = b / KV(a) * JV(a); g.jm(a.progressBar, "transform", "translateY(" + -b + "px)"); g.jm(a.ra, "transform", "translateY(" + -b + "px)"); g.jm(a.Ya, "transform", "translateY(" + c + "px)"); a.Ya.style.height = b + c + "px"; a.element.parentElement && (a.element.parentElement.style.height = JV(a) - c + "px") }; + nSa = function (a, b) { b ? a.Y || (a.element.removeAttribute("aria-disabled"), a.Y = new g.tT(a.progressBar, !0), a.Y.subscribe("hovermove", a.Cba, a), a.Y.subscribe("hoverend", a.Bba, a), a.Y.subscribe("dragstart", a.Aba, a), a.Y.subscribe("dragmove", a.Eba, a), a.Y.subscribe("dragend", a.Dba, a), a.wh = a.listen("keydown", a.j6)) : a.Y && (a.element.setAttribute("aria-disabled", "true"), a.Oc(a.wh), a.Y.cancel(), a.Y.dispose(), a.Y = null) }; + cSa = function (a) { var b; return !((b = a.Db) == null || !b.postId) && a.api.getPresentingPlayerType() !== 2 }; + OV = function (a, b) { g.T.call(this, { I: "button", Na: ["ytp-remote-button", "ytp-button"], X: { title: "Play on TV", "aria-haspopup": "true", "data-priority": "8" }, va: "{{icon}}" }); this.J = a; this.Fb = b; this.j = null; this.T(a, "onMdxReceiversChange", this.Ta); this.T(a, "presentingplayerstatechange", this.Ta); this.T(a, "appresize", this.Ta); a.createClientVe(this.element, this, 139118); this.Ta(); this.listen("click", this.B, this); wR(a, this.element, this) }; + PV = function (a, b) { + g.T.call(this, { I: "button", Na: ["ytp-button", "ytp-settings-button"], X: { "aria-expanded": "false", "aria-haspopup": "true", "aria-controls": Ix(), title: "Settings", "data-tooltip-target-id": "ytp-settings-button" }, V: [g.cy()] }); this.J = a; this.Fb = b; this.B = !0; this.listen("click", this.C); this.T(a, "onPlaybackQualityChange", this.updateBadge); this.T(a, "videodatachange", this.updateBadge); this.T(a, "webglsettingschanged", this.updateBadge); this.T(a, "appresize", this.j); wR(a, this.element, this); this.J.createClientVe(this.element, + this, 28663); this.updateBadge(); this.j(a.qb().getPlayerSize()) + }; + oSa = function (a, b) { a.B = !!b; a.j(a.J.qb().getPlayerSize()) }; + QV = function (a, b) { + vS.call(this, "Annotations", g.BS.Z3); this.J = a; this.Fb = b; this.j = !1; a.L("web_settings_menu_icons") && this.setIcon({ + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + d: "M17.5,7c1.93,0,3.5,1.57,3.5,3.5c0,1-0.53,4.5-0.85,6.5h-2.02l0.24-1.89l0.14-1.09l-1.1-0.03C15.5,13.94,14,12.4,14,10.5 C14,8.57,15.57,7,17.5,7 M6.5,7C8.43,7,10,8.57,10,10.5c0,1-0.53,4.5-0.85,6.5H7.13l0.24-1.89l0.14-1.09l-1.1-0.03 C4.5,13.94,3,12.4,3,10.5C3,8.57,4.57,7,6.5,7 M17.5,6C15.01,6,13,8.01,13,10.5c0,2.44,1.95,4.42,4.38,4.49L17,18h4c0,0,1-6,1-7.5 C22,8.01,19.99,6,17.5,6L17.5,6z M6.5,6C4.01,6,2,8.01,2,10.5c0,2.44,1.95,4.42,4.38,4.49L6,18h4c0,0,1-6,1-7.5 C11,8.01,8.99,6,6.5,6L6.5,6z", + fill: "white" + } + }] + }); this.T(a, "videodatachange", this.Ta); this.T(a, "onApiChange", this.Ta); this.subscribe("select", this.onSelect, this); this.Ta() + }; + RV = function (a, b) { + g.oT.call(this, "Audio track", g.BS.AUDIO, a, b); this.J = a; this.tracks = {}; this.countLabel = new g.T({ I: "div", V: [{ I: "span", va: "Audio track" }, { I: "span", S: "ytp-menuitem-label-count", va: "{{content}}" }] }); a.L("web_settings_menu_icons") && this.setIcon({ + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + d: "M11.72,11.93C13.58,11.59,15,9.96,15,8c0-2.21-1.79-4-4-4C8.79,4,7,5.79,7,8c0,1.96,1.42,3.59,3.28,3.93 C4.77,12.21,2,15.76,2,20h18C20,15.76,17.23,12.21,11.72,11.93z M8,8c0-1.65,1.35-3,3-3s3,1.35,3,3s-1.35,3-3,3S8,9.65,8,8z M11,12.9c5.33,0,7.56,2.99,7.94,6.1H3.06C3.44,15.89,5.67,12.9,11,12.9z M16.68,11.44l-0.48-0.88C17.31,9.95,18,8.77,18,7.5 c0-1.27-0.69-2.45-1.81-3.06l0.49-0.88C18.11,4.36,19,5.87,19,7.5C19,9.14,18.11,10.64,16.68,11.44z M18.75,13.13l-0.5-0.87 C19.95,11.28,21,9.46,21,7.5s-1.05-3.78-2.75-4.76l0.5-0.87C20.75,3.03,22,5.19,22,7.5S20.76,11.97,18.75,13.13z", + fill: "white" + } + }] + }); g.P(this, this.countLabel); this.Tj(this.countLabel); this.T(a, "videodatachange", this.Ta); this.T(a, "onPlaybackAudioChange", this.Ta); this.Ta() + }; + SV = function (a, b) { vS.call(this, "Autoplay", g.BS.f4); this.J = a; this.Fb = b; this.j = !1; this.C = []; this.T(a, "presentingplayerstatechange", this.B); this.subscribe("select", this.onSelect, this); a.createClientVe(this.element, this, 113682); this.B() }; + pSa = function (a, b) { g.kS.call(this, g.lS({ "aria-haspopup": "false" }), 0, "More options"); this.J = a; this.Fb = b; this.T(this.element, "click", this.onClick); this.Fb.Uc(this) }; + qSa = function (a, b) { + var c; g.bP(a.U()) && (c = { I: "div", S: "ytp-panel-footer-content", V: [{ I: "span", va: "Adjust download quality from your " }, { I: "a", S: "ytp-panel-footer-content-link", va: "Settings", X: { href: "/account_downloads" } }] }); g.oT.call(this, "Quality", g.BS.N6, a, b, void 0, void 0, c); this.J = a; this.Ba = {}; this.Y = {}; this.D = {}; this.Fa = new Set; this.j = this.G = !1; this.N = "unknown"; this.qa = ""; this.ra = new g.vv; g.P(this, this.ra); this.G = this.J.L("web_player_use_new_api_for_quality_pullback"); this.j = this.J.L("web_player_enable_premium_hbr_playback_cap"); + a.L("web_settings_menu_icons") && this.setIcon({ I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ I: "path", X: { d: "M15,17h6v1h-6V17z M11,17H3v1h8v2h1v-2v-1v-2h-1V17z M14,8h1V6V5V3h-1v2H3v1h11V8z M18,5v1h3V5H18z M6,14h1v-2v-1V9H6v2H3v1 h3V14z M10,12h11v-1H10V12z", fill: "white" } }] }); g.np(this.B.element, "ytp-quality-menu"); this.T(a, "videodatachange", this.yD); this.T(a, "videoplayerreset", this.yD); this.T(a, "onPlaybackQualityChange", this.YV); this.yD(); a.createClientVe(this.element, this, 137721) + }; + sSa = function (a, b, c) { var d = a.Ba[b], e = g.RE[b]; return rSa(a, d ? d.qualityLabel : e ? e + "p" : "Auto", b, c) }; + tSa = function (a, b, c, d, e) { var f = (b = a.j ? a.D[b] : a.Y[b]) && b.quality, h = b && b.qualityLabel; h = h ? h : "Auto"; d && (h = "(" + h); a = rSa(a, h, f || "", e); d && a.V.push(")"); (d = (d = b && b.paygatedQualityDetails) && d.paygatedIndicatorText) && c && a.V.push({ I: "div", S: "ytp-premium-label", va: d }); return a }; + rSa = function (a, b, c, d) { b = { I: "span", Na: d, V: [b] }; var e; d = "ytp-swatch-color"; if (a.G || a.j) d = "ytp-swatch-color-white"; c === "highres" ? e = "8K" : c === "hd2880" ? e = "5K" : c === "hd2160" ? e = "4K" : c.indexOf("hd") === 0 && c !== "hd720" && (e = "HD"); e && (b.V.push(" "), b.V.push({ I: "sup", S: d, va: e })); return b }; + TV = function (a, b, c, d) { g.T.call(this, { I: "div", S: "ytp-input-slider-section", V: [{ I: "input", S: "ytp-input-slider", X: { type: "range", min: "{{minvalue}}", max: "{{maxvalue}}", step: "{{stepvalue}}", value: "{{slidervalue}}" } }] }); this.D = a; this.K = b; this.N = c; this.initialValue = d; this.j = this.Ea("ytp-input-slider"); this.B = d ? d : a; this.init(); this.T(this.j, "input", this.G) }; + uSa = function (a, b) { a.j.style.setProperty("--yt-slider-shape-gradient-percent", (b - a.D) / (a.K - a.D) * 100 + "%") }; + UV = function (a) { TV.call(this, a.getAvailablePlaybackRates()[0], a.getAvailablePlaybackRates()[a.getAvailablePlaybackRates().length - 1], .05, a.getPlaybackRate()); this.J = a; this.C = g.je("P"); this.qa = mba(this.Y, this); g.np(this.j, "ytp-speedslider"); g.np(this.C, "ytp-speedslider-text"); a = this.C; var b = this.j; b.parentNode && b.parentNode.insertBefore(a, b.nextSibling); this.C.textContent = this.B + "x"; this.T(this.j, "change", this.ra) }; + VV = function (a, b, c, d, e, f, h) { + g.T.call(this, { I: "div", S: "ytp-slider-section", X: { role: "slider", "aria-valuemin": "{{minvalue}}", "aria-valuemax": "{{maxvalue}}", "aria-valuenow": "{{valuenow}}", "aria-valuetext": "{{valuetext}}", tabindex: "0" }, V: [{ I: "div", S: "ytp-slider", V: [{ I: "div", S: "ytp-slider-handle" }] }] }); this.N = a; this.Y = b; this.B = c; this.C = d; this.qa = e; this.Ga = f; this.range = this.C - this.B; this.Ma = this.Ea("ytp-slider-section"); this.D = this.Ea("ytp-slider"); this.ra = this.Ea("ytp-slider-handle"); this.K = new g.tT(this.D, + !0); this.j = h ? h : c; g.P(this, this.K); this.K.subscribe("dragmove", this.l6, this); this.T(this.element, "keydown", this.m6); this.T(this.element, "wheel", this.k6); this.init() + }; + WV = function (a) { VV.call(this, .05, .05, a.getAvailablePlaybackRates()[0], a.getAvailablePlaybackRates()[a.getAvailablePlaybackRates().length - 1], 150, 20, a.getPlaybackRate()); this.J = a; this.G = g.je("P"); this.Fa = mba(this.Ba, this); g.np(this.D, "ytp-speedslider"); g.np(this.G, "ytp-speedslider-text"); a = this.G; var b = this.D; b.parentNode && b.parentNode.insertBefore(a, b.nextSibling); vSa(this); this.T(this.J, "onPlaybackRateChange", this.updateValues) }; + vSa = function (a) { a.G.textContent = wSa(a, a.j) + "x" }; + wSa = function (a, b) { a = Number(g.Dd(b, a.B, a.C).toFixed(2)); b = Math.floor((a + .001) * 100 % 5 + 2E-15); var c = a; b !== 0 && (c = a - b * .01); return Number(c.toFixed(2)) }; + xSa = function (a) { g.Nx.call(this, { I: "div", S: "ytp-speedslider-component" }); a.L("web_settings_use_input_slider") ? this.j = new UV(a) : this.j = new WV(a); g.P(this, this.j); this.element.appendChild(this.j.element) }; + ySa = function (a) { var b = new xSa(a); cT.call(this, a, b, "Custom"); g.P(this, b) }; + zSa = function (a, b) { + var c = new ySa(a); g.oT.call(this, "Playback speed", g.BS.Q6, a, b, XV(a) ? void 0 : "Custom", XV(a) ? void 0 : function () { g.hT(b, c) }); + g.P(this, c); this.Y = new UV(a); g.P(this, this.Y); a.L("web_settings_menu_icons") && this.setIcon({ + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + d: "M10,8v8l6-4L10,8L10,8z M6.3,5L5.7,4.2C7.2,3,9,2.2,11,2l0.1,1C9.3,3.2,7.7,3.9,6.3,5z M5,6.3L4.2,5.7C3,7.2,2.2,9,2,11 l1,.1C3.2,9.3,3.9,7.7,5,6.3z M5,17.7c-1.1-1.4-1.8-3.1-2-4.8L2,13c0.2,2,1,3.8,2.2,5.4L5,17.7z M11.1,21c-1.8-0.2-3.4-0.9-4.8-2 l-0.6,.8C7.2,21,9,21.8,11,22L11.1,21z M22,12c0-5.2-3.9-9.4-9-10l-0.1,1c4.6,.5,8.1,4.3,8.1,9s-3.5,8.5-8.1,9l0.1,1 C18.2,21.5,22,17.2,22,12z", + fill: "white" + } + }] + }); this.J = a; this.N = null; XV(a) ? (this.j = g.DD("Custom ($CURRENT_CUSTOM_SPEED)", { CURRENT_CUSTOM_SPEED: this.J.getPlaybackRate().toString() }), this.D = this.J.getPlaybackRate()) : this.D = this.j = null; this.G = this.J.getAvailablePlaybackRates(); this.T(a, "presentingplayerstatechange", this.Ta); var d; this.J.L("html5_lifa_ui_disablement") && ((d = this.J.getVideoData()) == null ? 0 : d.oi()) && this.T(a, "serverstitchedvideochange", this.Ta); this.Ta() + }; + BSa = function (a, b) { var c = ASa(b); a.options[c] ? a.Ti(c) : b === a.D && a.j && (a.Ti(a.j), a.Dd(b.toString())) }; + DSa = function (a) { g.pT(a, a.G.map(ASa)); a.j = null; a.D = null; var b = a.J.getPlaybackRate(); if (!a.G.includes(b) || XV(a.J)) CSa(a, b), g.oT.prototype.Hg.call(a, a.j) }; + CSa = function (a, b) { a.D = b; a.j = g.DD("Custom ($CURRENT_CUSTOM_SPEED)", { CURRENT_CUSTOM_SPEED: b.toString() }); b = a.G.map(ASa); b.unshift(a.j); g.pT(a, b) }; + ASa = function (a) { return a.toString() }; + XV = function (a) { return a.L("web_settings_menu_surface_custom_playback") }; + ESa = function (a) { return a.L("web_settings_menu_surface_custom_playback") && a.L("web_settings_use_input_slider") }; + GSa = function (a, b, c, d) { + var e = new g.dT(b, void 0, "Video Override"); g.oT.call(this, d.text || "", a, b, c, "Video Override", function () { g.hT(c, e) }); + var f = this; g.np(this.element, "ytp-subtitles-options-menu-item"); this.N = d.option.toString(); a = d.options; this.settings = g.dc(a, this.ZV, this); this.G = e; g.P(this, this.G); b = new g.kS({ I: "div", S: "ytp-menuitemtitle", va: "Allow for a different caption style if specified by the video." }, 0); g.P(this, b); this.G.Uc(b, !0); this.D = new g.kS({ I: "div", S: "ytp-menuitem", X: { role: "menuitemradio", tabindex: "0" }, V: [{ I: "div", S: "ytp-menuitem-label", va: "On" }] }, -1); g.P(this, this.D); this.G.Uc(this.D, !0); this.T(this.D.element, "click", + function () { FSa(f, !0) }); + this.j = new g.kS({ I: "div", S: "ytp-menuitem", X: { role: "menuitemradio", tabindex: "0" }, V: [{ I: "div", S: "ytp-menuitem-label", va: "Off" }] }, -2); g.P(this, this.j); this.G.Uc(this.j, !0); this.T(this.j.element, "click", function () { FSa(f, !1) }); + g.pT(this, g.Al(a, this.ZV)) + }; + FSa = function (a, b) { a.publish("settingChange", a.N + "Override", !b); a.Fb.hj() }; + YV = function (a, b) { + g.dT.call(this, a, void 0, "Options"); var c = this; this.Nu = {}; for (var d = 0; d < g.bV.length; d++) { var e = g.bV[d], f = new GSa(-d, a, b, e); g.P(this, f); f.subscribe("settingChange", this.Mk, this); this.Nu[e.option.toString()] = f; this.Uc(f, !0) } a = new g.kS(g.lS(), -g.bV.length, "Reset"); g.P(this, a); a.listen("click", function () { c.Mk("reset", !0) }); + this.Uc(a, !0) + }; + ZV = function (a, b) { g.oT.call(this, "Auto-translate", 0, a, b); this.J = a; this.languages = {}; a.createClientVe(this.element, this, 127301); a.logVisibility(this.element, !0) }; + HSa = function (a, b) { a.languages = g.dc(b, a.j, a); g.pT(a, g.Al(b, a.j)) }; + JSa = function (a, b) { + var c = new YV(a, b), d = ["This setting only applies to the current video. Adjust caption visibility in ", " for all videos."], e; g.bP(a.U()) && (e = { I: "div", S: "ytp-panel-footer-content", V: [{ I: "span", va: d[0] }, { I: "a", S: "ytp-panel-footer-content-link", va: "Settings", X: { href: "/account_playback" } }, { I: "span", va: d[1] }] }); g.oT.call(this, "Subtitles/CC", g.BS.SUBTITLES, a, b, "Options", function () { g.hT(b, c) }, e); + var f = this; this.J = a; this.Fb = b; this.tracks = {}; this.N = new g.fp(function () { ISa(f, !1) }, 3E3); + g.P(this, this.N); this.countLabel = new g.T({ I: "div", V: [{ I: "span", va: "Subtitles/CC" }, { I: "span", S: "ytp-menuitem-label-count", va: "{{content}}" }] }); g.P(this, this.countLabel); this.Tj(this.countLabel); a.L("web_settings_menu_icons") && this.setIcon(KMa.includes("en") ? { + I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ + I: "path", X: { + d: "M6,14v-4c0-0.55,.45-1,1-1h3c0.55,0,1,.45,1,1v1H9.5v-0.5h-2v3h2V13H11v1c0,.55-0.45,1-1,1H7C6.45,15,6,14.55,6,14z M14,15h3c0.55,0,1-0.45,1-1v-1h-1.5v0.5h-2v-3h2V11H18v-1c0-0.55-0.45-1-1-1h-3c-0.55,0-1,.45-1,1v4C13,14.55,13.45,15,14,15z M20,4H4v16h16V4 M21,3v18H3V3.01C3,3,3,3,3.01,3H21L21,3z", + fill: "white" + } + }] + } : { I: "svg", X: { height: "24", viewBox: "0 0 24 24", width: "24" }, V: [{ I: "path", X: { d: "M5,11h2v2H5V11z M15,15H5v2h10V15z M19,15h-2v2h2V15z M19,11H9v2h10V11z M22,6H2v14h20V6z M3,7h18v12H3V7z", fill: "white" } }] }); this.j = new ZV(a, b); g.P(this, this.j); this.j.subscribe("select", this.n6, this); this.G = c; g.P(this, this.G); this.G.subscribe("settingChange", this.Mk, this); b.subscribe("show", this.jca, this); this.T(a, "videodatachange", this.Ta); this.T(a, "onApiChange", this.Ta); this.T(a, "onCaptionsTrackListChanged", + this.Ta); this.T(a, "captionschanged", this.Ta); a.createClientVe(this.element, this, 127300); this.Ta() + }; + KSa = function (a) { return Object.values(a.tracks).find(function (b) { return b.languageCode === "en" && b.kind === "asr" }) }; + $V = function (a, b) { a.J.setOption("captions", "track", b) }; + ISa = function (a, b) { a.J.setOption("captions", "sampleSubtitles", b) }; + LSa = function (a) { + g.fT.call(this, a, "ytp-settings-menu"); var b = this; this.Oe = new g.dT(this.J); this.US = this.settingsButton = null; this.isInitialized = this.PL = !1; g.P(this, this.Oe); this.hide(); g.hT(this, this.Oe); a.createClientVe(this.element, this, 108341, !0); this.subscribe("show", function (c) { b.If(c) }); + this.T(a, "highlightSettingsMenu", function () { b.PL = !0; b.pd() }); + this.J.L("web_player_enable_open_menu_item_from_command") && this.T(a, "openSettingsMenuItem", function (c) { if (c && (b.PL = !0, b.pd(), c === "menu_item_video_quality_advanced")) { var d; (d = b.US) == null || d.open() } }) + }; + MSa = function (a, b) { a.settingsButton = b; a.element.id = b.element.getAttribute("aria-controls") }; + aW = function (a, b) { + g.T.call(this, { I: "button", Na: ["ytp-subtitles-button", "ytp-button"], X: { title: "{{title}}", "aria-keyshortcuts": "c", "aria-pressed": "{{pressed}}", "data-priority": "3", "data-title-no-tooltip": "{{data-title-no-tooltip}}" }, V: [LMa()] }); this.J = a; this.tooltip = b.Re(); this.T(a, "videodatachange", this.Ta); this.T(a, "appresize", this.Ta); this.T(a, "promotooltipacceptbuttonclicked", this.j); this.T(a, "onApiChange", this.Ta); this.T(a, "onCaptionsTrackListChanged", this.Ta); this.T(a, "captionschanged", this.Ta); + this.J.createClientVe(this.element, this, 127299); this.Ta(); this.listen("click", this.onClick); this.addOnDisposeCallback(g.vR(b.Re(), this.element)) + }; + NSa = function (a) { return g.rU(a.J.Bb()) != null ? g.rU(a.J.Bb()).LT() ? !!a.J.getOption("captions", "tracklist", { includeAsr: !0 }).length : !0 : !1 }; + g.cW = function (a, b, c) { + c = c === void 0 ? 350 : c; g.T.call(this, { I: "div", Na: ["ytp-time-display", "notranslate"], V: [{ I: "span", S: "ytp-time-clip-icon", va: "{{clipicon}}" }, { I: "span", V: [{ I: "span", S: "ytp-time-current", va: "{{currenttime}}" }, { I: "span", S: "ytp-time-separator", va: " / " }, { I: "span", S: "ytp-time-duration", va: "{{duration}}" }] }, { I: "span", S: "ytp-clip-watch-full-video-button-separator", va: "\u2022" }, { I: "span", S: "ytp-clip-watch-full-video-button", va: "{{watchfullvideo}}" }] }); this.api = a; this.N = c; this.liveBadge = new g.T({ + I: "button", + Na: ["ytp-live-badge", "ytp-button"], X: { disabled: "true" }, va: "{{content}}" + }); this.j = null; this.KF = this.B = !1; this.K = this.G = null; this.isPremiere = !1; this.Db = this.D = this.C = null; this.Y = this.Ea("ytp-clip-watch-full-video-button"); this.liveBadge.Dd("Live"); g.P(this, this.liveBadge); this.liveBadge.Ja(this.element); this.tooltip = b.Re(); this.listen("click", this.onClick); this.T(this.Y, "click", this.Hca); this.T(a, "presentingplayerstatechange", this.Tc); this.T(a, "appresize", this.Tc); this.T(a, "onLoopRangeChange", this.onLoopRangeChange); + this.T(a, "videodatachange", this.onVideoDataChange); (b = a.getVideoData()) && this.updateVideoData(b); this.Tc(); a = a.getLoopRange(); b = this.Db !== a; this.Db = a; b && bW(this); this.api.L("web_modern_miniplayer") && (this.element.hidden = !0) + }; + bW = function (a) { + a.updateValue("clipicon", { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 24 24", width: "100%" }, V: [{ I: "path", X: { d: "M22,3h-4l-5,5l3,3l6-6V3L22,3z M10.79,7.79C10.91,7.38,11,6.95,11,6.5C11,4.01,8.99,2,6.5,2S2,4.01,2,6.5S4.01,11,6.5,11 c0.45,0,.88-0.09,1.29-0.21L9,12l-1.21,1.21C7.38,13.09,6.95,13,6.5,13C4.01,13,2,15.01,2,17.5S4.01,22,6.5,22s4.5-2.01,4.5-4.5 c0-0.45-0.09-0.88-0.21-1.29L12,15l6,6h4v-2L10.79,7.79z M6.5,8C5.67,8,5,7.33,5,6.5S5.67,5,6.5,5S8,5.67,8,6.5S7.33,8,6.5,8z M6.5,19C5.67,19,5,18.33,5,17.5S5.67,16,6.5,16S8,16.67,8,17.5S7.33,19,6.5,19z" } }] }); + a.KF && !a.B ? a.updateValue("watchfullvideo", "Watch live stream") : a.updateValue("watchfullvideo", "Watch full video"); g.rp(a.element, "ytp-clip", dW(a)); g.rp(a.element, "ytp-live", eW(a)) + }; + eW = function (a) { var b = a.api.U().L("enable_linear_program_progress"); return a.KF && !dW(a) && (!b || !a.B) }; + dW = function (a) { return !!a.Db && !!a.Db.postId && a.api.getPresentingPlayerType() !== 2 && (!a.Db.type || a.Db.type === "clips") }; + PSa = function (a, b) { + g.T.call(this, { I: "div", S: "ytp-volume-panel", X: { title: "Volume", role: "slider", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": "{{valuenow}}", "aria-valuetext": "{{valuetext}}", tabindex: "0" }, V: [{ I: "div", S: "ytp-volume-slider", V: [{ I: "div", S: "ytp-volume-slider-handle" }] }] }); var c = this; this.api = a; this.K = b; this.Sm = !1; this.Y = this.volume = 0; this.G = null; this.B = this.j = this.isDragging = !1; this.K = b; this.C = a.Hh(); this.N = this.Ea("ytp-volume-slider"); this.qa = this.Ea("ytp-volume-slider-handle"); + this.D = new g.tT(this.N, !0); g.P(this, this.D); this.D.subscribe("dragstart", this.pca, this); this.D.subscribe("dragmove", this.p6, this); this.D.subscribe("dragend", this.oca, this); this.T(a, "onVolumeChange", this.onVolumeChange); this.T(a, "appresize", this.aW); this.T(a, "fullscreentoggled", this.ly); this.T(a, "onShowControls", this.tX); this.T(a, "onHideControls", this.tX); this.T(this.element, "keydown", this.q6); this.T(this.element, "focus", function () { fW(c, c.j, c.isDragging, !0, c.api.Sm()) }); + this.T(this.element, "blur", function () { fW(c, c.j, c.isDragging, !1, c.api.Sm()) }); + this.aW(a.qb().getPlayerSize()); OSa(this, a.getVolume(), a.isMuted()); wR(a, this.element, this) + }; + OSa = function (a, b, c) { var d = Math.floor(b), e = d + "% volume" + (c ? " muted" : ""); c = c ? 0 : b / 100; a.updateValue("valuenow", d); a.updateValue("valuetext", e); a.qa.style.left = (a.C ? 60 : 40) * c + "px"; a.volume = b }; + QSa = function (a, b) { g.rp(a.element, "ytp-volume-control-hover", b); fW(a, b, a.isDragging, a.B, a.api.Sm()) }; + fW = function (a, b, c, d, e) { var f = a.j || a.isDragging || a.B || a.Sm; a.j = b; a.isDragging = c; a.B = d; a.Sm = e; b = a.j || a.isDragging || a.B || a.Sm; f !== b && (b ? a.G = a.T(a.element, "wheel", a.o6) : (a.Oc(a.G), a.G = null), g.rp(a.K, "ytp-volume-slider-active", b)) }; + gW = function (a, b) { + var c = a.U(), d = ["ytp-youtube-button", "ytp-button", "yt-uix-sessionlink"]; c.C && d.push("no-link"); var e = { title: "{{title}}", target: c.Y, "data-priority": "4", "data-sessionlink": "feature=player-button" }; c.C || (e.href = "{{url}}"); g.T.call(this, { I: "a", Na: d, X: e, va: "{{logoSvg}}" }); this.j = null; this.api = a; this.visible = !1; c.C || (this.j = this.listen("click", this.onClick)); this.T(a, "videodatachange", this.onVideoDataChange); this.T(a, "videoplayerreset", this.onVideoDataChange); this.T(a, "onLoopRangeChange", + this.onVideoDataChange); this.T(a, "appresize", this.kc); this.onVideoDataChange(); c.C || this.addOnDisposeCallback(g.vR(b.Re(), this.element)); this.kc() + }; + RSa = function (a, b, c) { + g.OE.call(this); var d = this; this.J = a; this.Ne = b; this.Jg = c; this.fb = NaN; this.Wa = this.Xa = null; this.B = new LSa(this.J); this.progressBar = new g.AV(this.J, this.Ne); this.qa = this.Y = this.G = null; this.Ba = new g.cW(this.J, this.Ne); this.Va = this.playButton = this.D = this.K = this.Ra = this.Ma = null; this.Ya = new kRa(this.J, this.Ne); this.Z = new g.ep(this.r6, null, this); this.ra = null; c = a.U(); this.Jg.subscribe("autohideupdate", this.yB, this); var e = !a.getPlayerStateObject().isCued(), f; a.U().L("html5_player_dynamic_bottom_gradient") ? + this.Wa = f = new fRa(a) : f = new g.T({ I: "div", S: "ytp-gradient-bottom" }); g.P(this, f); g.GR(a, f.element, 9); this.Ga = new g.Dy(f, 250, e, 100); g.P(this, this.Ga); this.C = new g.T({ I: "div", S: "ytp-chrome-bottom", V: [{ I: "div", S: "ytp-chrome-controls" }] }); g.P(this, this.C); g.GR(a, this.C.element, 9); this.Fa = new g.Dy(this.C, 250, e, 100); g.P(this, this.Fa); this.Ka = this.C.element.children[0]; g.P(this, this.B); g.GR(a, this.B.element, 6); this.B.subscribe("show", function (l) { d.J.GH(!l); a.zT(d.B, l) }); + g.P(this, this.progressBar); this.progressBar.Ja(this.C.element, 0); e = new qV(a, b); g.P(this, e); g.GR(a, e.element, 4); e = new g.Jx({ I: "div", S: "ytp-left-controls" }); g.P(this, e); e.Ja(this.Ka); f = new g.vV(a, b, !1); g.P(this, f); f.Ja(e.element); a.L("web_render_jump_buttons") && (this.Y = new rV(a, g.AC(a.U().experiments, "web_jump_button_backward_amount") || -10), g.P(this, this.Y), this.Y.Ja(e.element)); c.Ra || (this.playButton = new g.uV(a, b), g.P(this, this.playButton), this.playButton.Ja(e.element)); a.L("web_render_jump_buttons") && + (this.qa = new rV(a, g.AC(a.U().experiments, "web_jump_button_forward_amount") || 10), g.P(this, this.qa), this.qa.Ja(e.element)); f = new g.vV(a, b, !0); g.P(this, f); f.Ja(e.element); f = new g.T({ I: "span", S: "ytp-volume-area" }); g.P(this, f); f.Ja(e.element); if (!c.Wc && (this.G = new nRa(a, b), g.P(this, this.G), this.G.Ja(f.element), c.Va && !c.Z)) { + var h = new PSa(a, this.C.element); this.Va = h; g.P(this, h); h.Ja(f.element); f = new g.tT(f.element); g.P(this, f); f.subscribe("hoverstart", function () { var l; (l = d.Va) == null || QSa(l, !0) }); + f = new g.tT(e.element); g.P(this, f); f.subscribe("hoverend", function () { var l; (l = d.Va) == null || QSa(l, !1) }) + } g.P(this, this.Ba); + this.Ba.Ja(e.element); this.j = new g.Jx({ I: "div", S: "ytp-right-controls" }); g.P(this, this.j); this.Ma = new pV(a, this.progressBar); g.P(this, this.Ma); this.Ma.Ja(e.element); c.L("web_key_moments_markers") && (this.Ra = new sV(a, this.progressBar), g.P(this, this.Ra), this.Ra.Ja(e.element)); this.j.Ja(this.Ka); e = new aW(a, b); g.P(this, e); e.Ja(this.j.element); e = new PV(a, this.B); g.P(this, e); MSa(this.B, e); e.Ja(this.j.element); e = a.getVideoData(); if (c.An || e.Ff && c.controlsType === "1") this.K = new gW(a, b), g.P(this, this.K), this.K.Ja(this.j.element); + c.showMiniplayerButton && (this.D = new tV(a), g.P(this, this.D), this.D.Ja(this.j.element)); c.Mj && (b = new OV(a, this.B), g.P(this, b), b.Ja(this.j.element)); c.qm && (b = new nV(a), g.P(this, b), b.Ja(this.j.element)); g.P(this, this.Ya); this.Ya.Ja(this.j.element); g.P(this, this.Z); this.T(a, "appresize", this.kc); this.T(a, "fullscreentoggled", this.kc); this.T(a, "presentingplayerstatechange", this.xU); this.T(a, "videodatachange", this.onVideoDataChange); this.kc() + }; + SSa = function (a, b) { a.J.getPlayerStateObject().isCued() || b ? b && (a.Fa.hide(), a.Ga.hide(), a.G && a.G.Mc(!1), a.K && a.K.Mc(!1), a.D && a.D.Mc(!1), a.J.Cm(a.Ib())) : b || (a.Fa.show(), a.Ga.show(), a.G && a.G.Mc(!0), a.K && a.K.Mc(!0), a.D && a.D.Mc(!0), a.yB()) }; + USa = function (a) { var b = a.J.qb().getPlayerSize().width; return Math.max(b - TSa(a) * 2, 100) }; + TSa = function (a) { var b = a.J.Hh(), c = a.J.getVideoData().Ff, d = 0; a.J.Hh() && a.J.jd() && (d = (a.J.qb().getPlayerSize().width - a.J.getVideoContentRect().width) / 2); return 12 * (c ? 0 : b ? 2 : 1) + d }; + VSa = function (a) { var b = a.J.Hh() ? 72 : 50; a = a.J.U(); g.bP(a) && (b = 62, g.OO(a) && (b = 54)); return b }; + WSa = function (a) { + bT.call(this, a, !1); var b = this; this.suggestedActions = {}; this.T(this.J, "videodatachange", this.onVideoDataChange); this.T(this.J, g.sD("suggested_action_button_visible"), function (c) { c = c.id; b.text = c; qNa(b); b.onClickCommand = b.suggestedActions[c]; b.enabled = !0; b.If() }); + this.T(this.J, g.tD("suggested_action_button_visible"), function (c) { b.enabled = !1; b.If(); b.J.removeCueRange(c.id) }) + }; + XSa = function (a) { a.suggestedActions = {}; a.J.rf("suggested_action_button_visible") }; + iW = function (a) { g.T.call(this, { I: "div", S: hW.TITLE, V: [{ I: "div", S: hW.TEXT, V: [{ I: "a", Na: [hW.LINK, hW.SESSIONLINK], X: { target: a.U().Y, href: "{{url}}", "data-sessionlink": "feature=player-title", tabIndex: "{{channelTitleFocusable}}" }, va: "{{title}}" }, { I: "div", S: hW.SUBTEXT, V: ["{{subtextElement}}"] }] }] }); this.api = a; this.j = null; this.link = this.Ea(hW.LINK); a.createClientVe(this.element, this, 23851); this.T(a, "videodatachange", this.Ta); this.T(a, "videoplayerreset", this.Ta); this.Ta() }; + YSa = function (a) { a.updateValue("channelLink", ""); a.updateValue("channelName", ""); g.OO(a.api.U()) ? a.updateValue("channelTitleFocusable", "0") : a.updateValue("channelTitleFocusable", "-1") }; + g.jW = function (a, b) { + g.T.call(this, { + I: "div", V: [{ I: "div", S: "ytp-tooltip-text-wrapper", X: { "aria-hidden": "{{ariaHidden}}" }, V: [{ I: "div", S: "ytp-tooltip-edu", V: [{ I: "svg", X: { height: "100%", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", X: { d: "M14.1 36.75 12 34.65 24 22.65 36 34.65 33.9 36.75 24 26.85ZM14.1 24.1 12 22 24 10 36 22 33.9 24.1 24 14.2Z" } }] }, { I: "span", va: "{{eduText}}" }] }, { I: "div", S: "ytp-tooltip-image" }, { I: "div", S: "ytp-tooltip-title", V: [{ I: "span", va: "{{title}}" }] }, { I: "span", S: "ytp-tooltip-text", va: "{{text}}" }] }, + { I: "div", S: "ytp-tooltip-bg", V: [{ I: "div", S: "ytp-tooltip-duration", va: "{{duration}}" }] }] + }); var c = this; this.api = a; this.Va = b; this.env = this.api.U(); this.Ka = this.env.B; this.bg = this.Ea("ytp-tooltip-bg"); this.Ra = this.Ea("ytp-tooltip-edu"); this.image = this.Ea("ytp-tooltip-image"); this.text = this.Ea("ytp-tooltip-text"); this.title = this.Ea("ytp-tooltip-title"); this.ra = function (d) { (d = d.relatedTarget) && g.qe(c.j, d) || c.gi() }; + this.G = function (d) { c.type === 3 && c.gi(); (d = d.currentTarget) && d.nodeType === 1 && !c.type && (d.removeEventListener("mouseover", c.G), d.addEventListener("mouseout", c.ra), d.removeEventListener("focus", c.G), d.addEventListener("blur", c.ra), ZSa(c, d, 2)) }; + this.Fa = function () { c.gi() }; + this.j = null; this.K = new g.Dy(this, 100); this.type = null; this.qa = !1; this.B = null; this.D = NaN; this.C = ""; this.bW = this.api.qb().getPlayerSize().width; this.Y = !0; this.scale = 1; this.N = 160; this.Ba = 90; this.Ga = new g.fp(this.q$, 250, this); this.Ma = new g.fp(this.gi, 5E3, this); g.P(this, this.K); g.P(this, this.Ga); g.P(this, this.Ma); FO && (a = this.Ea("ytp-tooltip-text"), a.setAttribute("role", "text"), a.setAttribute("aria-live", "polite")); hRa(this.api) && (this.N = 243, this.Ba = 141, g.np(this.api.getRootNode(), "ytp-bigboards")) + }; + g.vR = function (a, b) { + if (a.Ka) return function () { }; + b.addEventListener("mouseover", a.G); b.addEventListener("focus", a.G); var c = b.getAttribute("title"); c && !b.hasAttribute("aria-label") && b.setAttribute("aria-label", c); return function () { a.j === b && a.gi(); b.removeEventListener("mouseover", a.G); b.removeEventListener("focus", a.G) } + }; + ZSa = function (a, b, c, d) { + if (b && !b.hasAttribute) a = new g.pt("showElementTooltip called with non-element.", b.toString()), g.ex(a); else { + isNaN(a.D) || (a.D = NaN, a.bg.style.background = ""); a.j = b; a.qa = !!d; d ? a.C = d : (a.C = b.getAttribute("title"), b.removeAttribute("title")); g.lp(a.element, "ytp-tooltip"); g.np(a.element, "ytp-rounded-tooltip"); var e = b.getAttribute("data-tooltip-image"); e && (a.image.style.backgroundImage = "url(" + e + ")"); d ? a.update({ ariaHidden: "false" }) : a.update({ ariaHidden: "true" }); g.rp(a.element, "ytp-tooltip-image-enabled", + !!e); b = b.getAttribute("data-tooltip-opaque"); g.rp(a.element, "ytp-tooltip-opaque", !!b); a.type = c; a.api.addEventListener("appresize", a.Fa); a.Y && ($Sa(a), a.K.show(0)) + } + }; + $Sa = function (a) { + if (a.j) { + var b = a.j.getAttribute("data-tooltip-text"); if (a.C && a.j.getAttribute("aria-label") !== a.C) var c = a.C; var d = a.j.getAttribute("aria-keyshortcuts"), e = a.j.getAttribute("data-title-no-tooltip"); d && e && (c = g.DD("$BUTTON_TITLE keyboard shortcut $SHORTCUT_KEY", { BUTTON_TITLE: e, SHORTCUT_KEY: d })); c && a.j.setAttribute("aria-label", c); if (b && !a.qa) { + d = a.j; a.updateValue("text", b); c = d.getAttribute("data-duration"); a.update({ title: a.C, duration: c }); d = d.getAttribute("data-preview"); e = a.N * a.scale; var f = + a.Ba * a.scale; a.bg.style.width = e + "px"; a.bg.style.height = f + "px"; a.bg.style.backgroundImage = d ? "url(" + d + ")" : ""; a.bg.style.backgroundSize = e + "px " + f + "px"; g.op(a.element, ["ytp-text-detail", "ytp-preview"]); g.rp(a.element, "ytp-has-duration", !!c) + } else a.updateValue("text", a.C), g.qp(a.element, ["ytp-text-detail", "ytp-preview", "ytp-has-duration"]); aTa(a, !!b) + } + }; + aTa = function (a, b, c, d) { var e = Math.min(a.bW, 300 * a.scale); a.element.style.maxWidth = b ? "" : e + "px"; a.Va.zy(a.element, a.j, c, a.type === 1, d); a.element.style.top ? g.np(a.element, "ytp-bottom") : a.element.style.bottom && g.np(a.element, "ytp-top"); a.type === 3 && a.Ma.start() }; + bTa = function (a, b) { g.rp(a.element, "ytp-preview", b >= 0); if (!(b < 0 || b === a.D)) { a.D = b; b = a.N * a.scale; var c = a.Ba * a.scale, d = KKa(a.B, a.D, b); gRa(a.bg, d, b, c, !0); a.Ga.start() } }; + cTa = function (a) { var b = a.j; a.type === 3 && a.Ma.stop(); a.api.removeEventListener("appresize", a.Fa); a.qa || b.setAttribute("title", a.C); a.C = ""; a.j = null }; + eTa = function (a) { + g.T.call(this, { I: "button", Na: ["ytp-watch-later-button", "ytp-button"], X: { title: "{{title}}", "data-tooltip-image": "{{image}}", "data-tooltip-opaque": String(g.IO(a.U())) }, V: [{ I: "div", S: "ytp-watch-later-icon", va: "{{icon}}" }, { I: "div", S: "ytp-watch-later-title", va: "Watch later" }] }); this.J = a; this.icon = null; this.visible = this.isRequestPending = this.j = !1; uMa(a); a.createClientVe(this.element, this, 28665); this.listen("click", this.onClick, this); this.T(a, "videoplayerreset", this.onReset); this.T(a, "appresize", + this.AD); this.T(a, "videodatachange", this.AD); this.T(a, "presentingplayerstatechange", this.AD); this.AD(); a = this.J.U(); var b = g.ct("yt-player-watch-later-pending"); a.D && b ? (aCa(), dTa(this)) : this.Ta(2); g.rp(this.element, "ytp-show-watch-later-title", g.IO(a)); wR(this.J, this.element, this) + }; + fTa = function (a) { var b = a.J.getPlayerSize(), c = a.J.U(), d = a.J.getVideoData(), e = g.IO(c) && g.CR(a.J) && g.U(a.J.getPlayerStateObject(), 128), f = c.C; return c.Ie && b.width >= 240 && !d.isAd() && d.Ie && !e && !g.aR(d) && !a.J.jd() && !f }; + gTa = function (a, b) { EPa(g.YO(a.J.U()), "wl_button", function () { aCa({ videoId: b }); window.location.reload() }) }; + dTa = function (a) { + if (!a.isRequestPending) { + a.isRequestPending = !0; a.Ta(3); var b = a.J.getVideoData(); b = a.j ? b.removeFromWatchLaterCommand : b.addToWatchLaterCommand; var c = a.J.Im(), d = a.j ? function () { a.j = !1; a.isRequestPending = !1; a.Ta(2); a.J.U().N && a.J.ib("WATCH_LATER_VIDEO_REMOVED") } : function () { + a.j = !0; + a.isRequestPending = !1; a.Ta(1); a.J.U().B && a.J.LH(a.element); a.J.U().N && a.J.ib("WATCH_LATER_VIDEO_ADDED") + }; + wA(c, b).then(d, function () { a.isRequestPending = !1; a.Ta(4, "An error occurred. Please try again later."); a.J.U().N && a.J.ib("WATCH_LATER_ERROR", "An error occurred. Please try again later.") }) + } + }; + hTa = function (a, b) { + if (b !== a.icon) { + switch (b) { + case 3: var c = zS(); break; case 1: c = Sx(); break; case 2: c = { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M18,8 C12.47,8 8,12.47 8,18 C8,23.52 12.47,28 18,28 C23.52,28 28,23.52 28,18 C28,12.47 23.52,8 18,8 L18,8 Z M16,19.02 L16,12.00 L18,12.00 L18,17.86 L23.10,20.81 L22.10,22.54 L16,19.02 Z" } }] }; break; case 4: c = { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", + Fc: !0, X: { d: "M7,27.5h22L18,8.5L7,27.5z M19,24.5h-2v-2h2V24.5z M19,20.5h-2V16.5h2V20.5z", fill: "#fff" } + }] + } + }a.updateValue("icon", c); a.icon = b + } + }; + g.kW = function () { g.IU.apply(this, arguments); this.IK = (this.Wr = g.IO(this.api.U())) && (this.api.U().B || vs() || ts()); this.PO = 48; this.QO = 69; this.yE = this.Ii = null; this.Pu = []; this.QM = this.Di = this.RM = this.Uw = this.le = null; this.aI = []; this.contextMenu = this.Eg = this.overflowButton = this.zi = this.Yg = this.searchButton = this.copyLinkButton = this.shareButton = this.pp = this.Ug = this.title = this.channelAvatar = this.OB = this.tooltip = null; this.xO = !1; this.ZG = this.Kx = this.VE = this.WE = null; this.AS = this.tR = this.cP = !1 }; + iTa = function (a) { var b = a.api.U(), c = g.U(a.api.getPlayerStateObject(), 128); return b.D && c && !a.api.isFullscreen() }; + jTa = function (a) { + if (a.Og() && !a.api.jd() && a.zi) { var b = a.api.L("web_player_hide_overflow_button_if_empty_menu"); !a.pp || b && !fTa(a.pp) || EQa(a.zi, a.pp); !a.shareButton || b && !OQa(a.shareButton) || EQa(a.zi, a.shareButton); !a.copyLinkButton || b && !TPa(a.copyLinkButton) || EQa(a.zi, a.copyLinkButton) } else { + if (a.zi) { b = a.zi; for (var c = g.w(b.actionButtons), d = c.next(); !d.done; d = c.next())d.value.detach(); b.actionButtons = [] } a.searchButton && !g.qe(a.Ug.element, a.searchButton.element) && a.searchButton.Ja(a.Ug.element); a.pp && !g.qe(a.Ug.element, + a.pp.element) && a.pp.Ja(a.Ug.element); a.shareButton && !g.qe(a.Ug.element, a.shareButton.element) && a.shareButton.Ja(a.Ug.element); a.copyLinkButton && !g.qe(a.Ug.element, a.copyLinkButton.element) && a.copyLinkButton.Ja(a.Ug.element) + } + }; + kTa = function (a, b, c) { b = c ? b.lastElementChild : b.firstElementChild; for (var d = null; b;) { if (nm(b, "display") !== "none" && b.getAttribute("aria-hidden") !== "true") { var e = void 0; b.tabIndex >= 0 ? e = b : e = kTa(a, b, c); e && (d ? c ? e.tabIndex > d.tabIndex && (d = e) : e.tabIndex < d.tabIndex && (d = e) : d = e) } b = c ? b.previousElementSibling : b.nextElementSibling } return d }; + lTa = function (a, b, c) { + if (a.api.U().L("web_player_nitrate_promo_tooltip")) { + var d = a.api.getVideoData(1); if (d == null ? 0 : d.tooltipRenderer) { + d = d.tooltipRenderer; var e; if (e = !a.ZG) { if (!(b = !b)) { var f, h, l; b = ((f = d.tooltipDisplayStrategy) == null ? void 0 : f.type) !== "TOOLTIP_DISPLAY_TYPE_DO_NOT_SHOW_IMMEDIATELY" && ((h = d.promoConfig) == null ? void 0 : h.promoId) !== "dtip-edu-player-iseecaptions" && ((l = d.promoConfig) == null ? void 0 : l.promoId) !== "dtip-edu-player-tc-m2" } e = b } e && (a.ZG = new IQa(d, a.api), g.P(a, a.ZG), g.GR(a.api, a.ZG.element, + 9)); var m; (m = a.ZG) == null || MQa(m, d, c) + } + } + }; + g.lW = function (a) { g.XT.call(this, a); this.chrome = null; this.load() }; + mW = function (a, b, c, d) { + function e(h) { var l = !(h.status !== 204 && h.status !== 200 && !h.response), m; h = { succ: "" + +l, rc: h.status, lb: ((m = h.response) == null ? void 0 : m.byteLength) || 0, rt: ((0, g.Zt)() - f).toFixed(), shost: g.Ni(a), trigger: b }; mTa(h, a); c && c(h); d && !l && d(new FE("pathprobe.net", h)) } + var f = (0, g.Zt)(); g.Ur(a, { format: "RAW", responseType: "arraybuffer", timeout: 1E4, onFinish: e, onTimeout: e }) + }; + mTa = function (a, b) { var c; ((c = window.performance) == null ? 0 : c.getEntriesByName) && (b = performance.getEntriesByName(b)) && b.length && (b = b[0], a.pedns = (b.domainLookupEnd - b.startTime).toFixed(), a.pecon = (b.connectEnd - b.domainLookupEnd).toFixed(), a.perqs = (b.requestStart - b.connectEnd).toFixed(), nTa && (a.perqsa = b.requestStart + (performance.timeOrigin || performance.timing.navigationStart))) }; + nW = function (a) { + g.O.call(this); var b = this; this.W = a; this.j = new Map; this.D = []; this.B = this.W.experiments.kb("html5_onesie_trusted_hosts_for_all") || !OJ(); this.Y = g.AC(this.W.experiments, "html5_onesie_prewarm_interval_ms"); this.Z = new g.fp(this.N, this.Y, this); this.K = -1; this.hd = { + Lna: function () { return b.j }, + Rna: function () { return b.G }, + Mna: function () { return oTa } + }; + g.P(this, this.Z); pTa(this, g.ct("yt-player-bandaid-host")); this.G = this.load(); this.Y && this.G.then(function () { b.N() }) + }; + pTa = function (a, b) { var c = b == null ? void 0 : b.primary; a.C(0, c); c = c ? qTa(c) : void 0; a.C(2, c); a.C(1, b == null ? void 0 : b.secondary) }; + oW = function (a, b) { return new g.IL("https://" + b + a.W.al.baseUrl) }; + rTa = function (a, b) { a = "https://" + KL(b.location) + "/initplayback?c=" + g.hO(a.W) + "&owc=1"; mW(a, "pw", function (c) { c.ht = b.j }) }; + pW = function (a, b, c, d) { mW("https://" + b + "/videoplayback?probe=1", c, function (e) { !d.L("html5_onesie_host_racing") || d.videoData.isLivePlayback || d.L("html5_onesie_probe_ec_hosts") || d.JK || d.vQ(); a.D.push(e) }, function (e) { a.D.push(e.details) }) }; + qTa = function (a) { return a.replace(/(\d+)---/g, function (b, c) { b = Number(c); return (b === 1 ? 2 : b - 1) + "---" }) }; + tTa = function (a, b) { + var c, d, e, f, h, l, m, n; return g.J(function (p) { + if (p.j == 1) { c = oW(a, "redirector.googlevideo.com"); c.set("alr", "yes"); c.set("id", "" + Math.round(Math.random() * 1E5)); if (b === 1 || b === 2) c.set("cmo=sensitive_content", "yes"), c.set("sc", "yes"); b === 2 && c.set("cmo=td", "c.youtube.com"); d = { format: "RAW", timeout: 5E3 }; return g.G(p, Xr(c.Ce(), d), 2) } e = p.B; if (e.xhr.status !== 200 || !e.xhr.responseText) return p.return(Promise.reject(new g.pt("b204258371_no_host", c.Ce(), e.xhr.status))); f = new g.IL(e.xhr.responseText); + h = KL(f); l = f.get("ms"); m = oW(a, h); n = f.get("mm"); m.set("ms", l); m.set("mm", n); return h && sTa(h) ? b !== 2 || qW(h) ? p.return(m) : p.return(Promise.reject(new g.pt("b204258371_untrusted", h, l))) : p.return(Promise.reject(new g.pt("b204258371_invalid", h, l))) + }) + }; + uTa = function (a) { var b = a.D; a.D = []; return b }; + sTa = function (a) { return /.*(\.c\.youtube\.com|.*\.googlevideo\.com)/.test(a) }; + qW = function (a) { var b = /sn-[^.]*-/; return /.*\.c\.youtube\.com/.test(a) && !b.test(a) }; + vTa = function (a, b) { this.location = a; this.j = b }; + wTa = function () { for (var a = rW.length; a < 4; a++) { var b = g.je("VIDEO"); b.load(); rW.push(new g.ET(b)) } }; + xTa = function (a, b, c, d) { + var e = c.getVideoData(), f = b.getVideoData(); if (c.getPlayerState().isError()) return { msg: "player-error" }; var h = f.C; if (b.Wf() > d / 1E3 + 1) return { msg: "in-the-past" }; if (f.isLivePlayback && !isFinite(d)) return { msg: "live-infinite" }; (d = b.Ke()) && d.isView() && (d = d.mediaElement); if (d && d.mx().length > 12 && g.BQ(e)) return { msg: "played-ranges" }; if (!e.C) return null; if (!h) return { msg: "no-pvd-formats" }; if (!e.C.j || !h.j) return { msg: "non-dash" }; d = h.videoInfos[0]; var l = e.C.videoInfos[0]; a.G && rQ(f) && (d = b.hA(), l = + c.hA()); if (!d || !l) return { msg: "no-video-info" }; if (a.C && (ZE(d) || ZE(l))) return { msg: "av1" }; b = a.B && f.Bk() && vF(); if (l.containerType !== d.containerType) if (b) f.oa("sgap", { ierr: "container" }); else return { msg: "container" }; if (g.BQ(f) && g.BQ(e)) return { msg: "content-protection" }; h = h.j[0]; e = e.C.j[0]; c = h.audio; var m = e.audio; if (c.sampleRate !== m.sampleRate && !g.KE) if (b) f.oa("sgap", { ierr: "srate" }); else return { msg: "sample-rate", ci: h.itag, cr: c.sampleRate, ni: e.itag, nr: m.sampleRate }; return (c.numChannels || 2) !== (m.numChannels || + 2) ? { msg: "channel-count" } : a.D && f.Bk() && d.video.fps !== l.video.fps ? { msg: "fps" } : null + }; + yTa = function (a, b, c) { var d = a.getVideoData(), e = b.getVideoData(); if (!d.U().supportsGaplessShorts()) return { nq: "env" }; if (d.Pk || e.Pk) return { nq: "autoplay" }; if (!d.Y) return { nq: "client" }; if (!c.j && !a.Do()) return { nq: "no-empty" }; a = xTa(c, a, b, Infinity); return a != null ? { nq: a.msg } : null }; + sW = function (a) { g.O.call(this); this.app = a; this.D = this.C = this.xb = this.j = null; this.B = 1; this.events = new g.OE(this); this.events.T(this.app.Ua, g.tD("gaplessshortslooprange"), this.N); g.P(this, this.events) }; + zTa = function () { this.j = this.C = this.G = this.D = this.B = !1 }; + ATa = function (a) { var b = new zTa; b.B = a.L("h5_gapless_support_types_diff"); b.D = a.L("h5_gapless_error_on_fps_diff"); b.G = a.L("html5_gapless_use_format_info_fix"); b.C = a.L("html5_gapless_disable_on_av1"); b.j = a.L("html5_gapless_one_queued_player_only"); return b }; + g.tW = function (a, b, c, d) { d = d === void 0 ? !1 : d; GF.call(this); this.mediaElement = a; this.start = b; this.end = c; this.j = d }; + BTa = function (a, b, c, d, e, f) { + f = f === void 0 ? 0 : f; g.O.call(this); var h = this; this.policy = a; this.j = b; this.B = c; this.Ad = e; this.G = f; this.D = this.C = null; this.currentVideoDuration = this.K = -1; this.N = !1; this.Rq = new FF; this.un = d - b.Dc() * 1E3; this.Rq.then(void 0, function () { }); + this.timeout = new g.fp(function () { h.Sg("timeout") }, 1E4); + g.P(this, this.timeout); this.Z = isFinite(d); this.status = { status: 0, error: null } + }; + HTa = function (a) { + var b, c, d, e, f, h, l, m, n, p; return g.J(function (q) { + if (q.j == 1) { if (a.La()) return q.return(Promise.reject(Error(a.status.error || "disposed"))); a.timeout.start(); b = g.uW.zC(); return g.G(q, a.Rq, 2) } g.uW.fA("gtfta", b); c = a.j.Ke(); if (c.isEnded()) return a.Sg("ended_in_finishTransition"), q.return(Promise.reject(Error(a.status.error || ""))); if (!a.D || !yF(a.D)) return a.Sg("next_mse_closed"), q.return(Promise.reject(Error(a.status.error || ""))); if (a.B.Lr() !== a.D) return a.Sg("next_mse_mismatch"), q.return(Promise.reject(Error(a.status.error || + ""))); d = CTa(a); e = d.Q_; f = d.GX; h = d.O_; a.j.Rj(!1, !0); l = DTa(c, e, h, !a.B.getVideoData().isAd()); a.B.setMediaElement(l); m = a.j.oF(); a.Ad.U().L("html5_mse_reuse_dropped_frames_fix") && m && a.B.EH(m.SB, m.TB); a.Z && (a.B.seekTo(a.B.getCurrentTime() + .001, { xx: !0, kU: 3, Zc: "gapless_pseudo" }), l.play(), as()); n = c.uc(); n.cpn = a.j.getVideoData().clientPlaybackNonce; n.st = "" + e; n.et = "" + h; a.B.oa("gapless", n); a.j.oa("gaplessTo", { cpn: a.B.getVideoData().clientPlaybackNonce }); p = a.j.getPlayerType() === a.B.getPlayerType(); ETa(a.j, f, !1, + p, a.B.getVideoData().clientPlaybackNonce); ETa(a.B, a.B.getCurrentTime(), !0, p, a.j.getVideoData().clientPlaybackNonce); a.B.G2 = !0; a.Ad.U().L("html5_gapless_monitor_pbs") && a.G === 1 && FTa(a.B); g.De(function () { !a.B.getVideoData().Ba && a.B.getPlayerState().isOrWillBePlaying() && GTa(a.B) }); + vW(a, 6); a.dispose(); return q.return(Promise.resolve()) + }) + }; + MTa = function (a) { if (a.B.getVideoData().C) { var b = a.Ad.U().L("html5_gapless_suspend_next_loader") && a.G === 1; ITa(a.B, a.D, b, JTa(a)); vW(a, 3); KTa(a); var c = LTa(a); b = c.GT; c = c.o2; b.subscribe("updateend", a.wz, a); c.subscribe("updateend", a.wz, a); a.wz(b); a.wz(c) } }; + KTa = function (a) { a.j.unsubscribe("internalvideodatachange", a.Jn, a); a.B.unsubscribe("internalvideodatachange", a.Jn, a); a.Ad.U().L("html5_gapless_use_format_info_fix") && (a.j.unsubscribe("internalvideoformatchange", a.Jn, a), a.B.unsubscribe("internalvideoformatchange", a.Jn, a)); a.j.unsubscribe("mediasourceattached", a.Jn, a); a.B.unsubscribe("statechange", a.cW, a) }; + DTa = function (a, b, c, d) { a = a.isView() ? a.mediaElement : a; return new g.tW(a, b, c, d) }; + vW = function (a, b) { b <= a.status.status || (a.status = { status: b, error: null }, b === 5 && a.Rq.resolve()) }; + JTa = function (a) { return a.Ad.U().L("html5_gapless_no_clear_buffer_timeline") && a.G === 1 && gQ(a.j.getVideoData()) }; + CTa = function (a) { var b = a.j.Ke(); b = b.isView() ? b.start : 0; var c = a.j.getVideoData().isLivePlayback ? Infinity : wW(a.j, !0); c = Math.min(a.un / 1E3, c) + b; var d = a.Z ? 100 : 0; a = c - a.B.Wf() + d; return { R7: b, Q_: a, GX: c, O_: Infinity } }; + LTa = function (a) { return { GT: a.C.j.Jd, o2: a.C.B.Jd } }; + OTa = function (a) { g.O.call(this); var b = this; this.app = a; this.G = this.B = this.j = null; this.Z = !1; this.C = this.D = null; this.N = ATa(this.app.U()); this.K = function () { g.De(function () { NTa(b) }) } }; + PTa = function (a, b, c, d, e) { + d = d === void 0 ? 0 : d; e = e === void 0 ? 0 : e; a.Do() || xW(a); a.D = new FF; a.j = b; var f = c, h = e === 0; h = h === void 0 ? !0 : h; var l = a.app.Vc(), m = l.getVideoData().isLivePlayback ? Infinity : wW(l, !0) * 1E3; f > m && (f = m - 200, a.Z = !0); h && l.getCurrentTime() >= f / 1E3 ? a.K() : (a.B = l, h && (h = f, f = a.B, a.app.Ua.addEventListener(g.sD("vqueued"), a.K), h = isFinite(h) || h / 1E3 > f.getDuration() ? h : 0x8000000000000, a.G = new g.qD(h, 0x8000000000000, { namespace: "vqueued" }), f.addCueRange(a.G))); h = d /= 1E3; f = b.getVideoData().j; d && f && a.B && (l = d, m = 0, + b.getVideoData().isLivePlayback && (h = Math.min(c / 1E3, wW(a.B, !0)), m = Math.max(0, h - a.B.getCurrentTime()), l = Math.min(d, wW(b) + m)), h = wIa(f, l) || d, h !== d && a.j.oa("qvaln", { st: d, at: h, rm: m, ct: l })); b = h; d = a.j; d.getVideoData().Ed = !0; d.getVideoData().Y = !0; g.yW(d, !0); f = {}; a.B && (f = g.XI(a.B.hc().provider), h = a.B.getVideoData().clientPlaybackNonce, f = { crt: (f * 1E3).toFixed(), cpn: h }); d.oa("queued", f); b !== 0 && d.seekTo(b + .01, { xx: !0, kU: 3, Zc: "videoqueuer_queued" }); a.C = new BTa(a.N, a.app.Vc(), a.j, c, a.app, e); c = a.C; c.status.status !== + Infinity && (vW(c, 1), c.j.subscribe("internalvideodatachange", c.Jn, c), c.B.subscribe("internalvideodatachange", c.Jn, c), c.Ad.U().L("html5_gapless_use_format_info_fix") && (c.j.subscribe("internalvideoformatchange", c.Jn, c), c.B.subscribe("internalvideoformatchange", c.Jn, c)), c.j.subscribe("mediasourceattached", c.Jn, c), c.B.subscribe("statechange", c.cW, c), c.j.subscribe("newelementrequired", c.n0, c), c.Jn()); return a.D + }; + NTa = function (a) { + var b, c, d, e, f, h, l, m, n; g.J(function (p) { + switch (p.j) { + case 1: if (a.La() || !a.D || !a.j) return p.return(); a.Z && zW(a.app.Vc(), !0, !1); c = a.app.U().L("html5_force_csdai_gapful_transition") && ((b = a.app.Vc()) == null ? void 0 : b.getVideoData().isDaiEnabled()); d = null; if (!a.C || c) { p.Ha(2); break } g.va(p, 3); return g.G(p, HTa(a.C), 5); case 5: g.wa(p, 2); break; case 3: d = e = g.xa(p); case 2: if (!a.j) return p.return(); g.uW.ev("vqsp", function () { AW(a.app, a.j) }); + f = a.j.Ke(); a.app.U().L("html5_gapless_seek_on_negative_time") && f && f.getCurrentTime() < -.01 && a.j.seekTo(0); g.uW.ev("vqpv", function () { a.app.playVideo() }); + if (d || c) a.j ? (h = d ? d.message : "forced", (l = a.B) == null || l.oa("gapfulfbk", { r: h }), QTa(a.j, h)) : (m = a.B) == null || m.oa("gapsp", {}); n = a.D; xW(a); n && n.resolve(); return p.return(Promise.resolve()) + } + }) + }; + xW = function (a, b) { b = b === void 0 ? !1 : b; if (a.B) { if (a.G) { var c = a.B; a.app.Ua.removeEventListener(g.sD("vqueued"), a.K); c.removeCueRange(a.G) } a.B = null; a.G = null } a.C && (a.C.status.status !== 6 && (c = a.C, c.status.status !== Infinity && c.G !== 1 && c.Sg("Canceled")), a.C = null); a.D = null; a.j && !b && a.j !== g.qR(a.app, 1) && a.j !== a.app.Vc() && a.j.dispose(); a.j && b && BW(a.j); a.j = null; a.Z = !1 }; + RTa = function (a) { var b; return ((b = a.C) == null ? void 0 : b.currentVideoDuration) || -1 }; + STa = function (a, b, c) { if (a.Do()) return "qie"; if (a.j == null || a.j.La() || a.j.getVideoData() == null) return "qpd"; if (b.videoId !== a.j.nf()) return "vinm"; if (RTa(a) <= 0) return "ivd"; if (c !== 1) return "upt"; var d; (d = a.C) == null ? a = void 0 : d.getStatus().status !== 5 ? a = "niss" : xTa(d.policy, d.j, d.B, d.un) != null ? a = "pge" : (c = LTa(d), b = c.GT, a = g.AC(d.Ad.U().experiments, "html5_shorts_gapless_next_buffer_in_seconds"), d = d.K + a, c = nF(c.o2.oe(), d), b = nF(b.oe(), d), a = !(a > 0) || c && b ? null : "neb"); return a != null ? a : null }; + TTa = function () { var a = Cna(); return !(!a || a === "visible") }; + VTa = function (a) { var b = UTa(); b && document.addEventListener(b, a, !1) }; + WTa = function (a) { var b = UTa(); b && document.removeEventListener(b, a, !1) }; + UTa = function () { if (document.visibilityState) var a = "visibilitychange"; else { if (!document[Js + "VisibilityState"]) return ""; a = Js + "visibilitychange" } return a }; + XTa = function () { + g.Fx.call(this); var a = this; this.fullscreen = 0; this.D = this.C = this.pictureInPicture = this.j = this.B = this.inline = !1; this.G = function () { a.If() }; + VTa(this.G); this.K = this.getVisibilityState(this.ji(), this.isFullscreen(), this.isMinimized(), this.isInline(), this.Dj(), this.NA(), this.UA(), this.Dk()) + }; + BT = function (a) { return !(a.isMinimized() || a.isInline() || a.isBackground() || a.Dj() || a.NA() || a.UA() || a.Dk()) }; + CW = function (a, b) { + g.O.call(this); var c = this; this.policy = a; this.gb = b; this.B = 0; this.j = null; this.uf = []; this.C = null; this.hd = { Yn: function () { return c.gb } }; + this.gb.length === 1 || g.Bl(this.gb, function (d) { return !!d.range }) + }; + DW = function (a, b, c) { + a.j && (WJ(a.j, b), b = a.j, a.j = null); for (var d = 0, e = 0, f = g.w(a.gb), h = f.next(); !h.done; h = f.next())if (h = h.value, h.range && d + h.B <= a.B) d += h.B; else { + if (QM(h) && !c && a.B + b.totalLength - e < d + h.B) { a.j = b.split(e).qn; break } a: { var l = a; var m = h, n = a.B - d, p = b.totalLength - e; m.range && (p = Math.min(m.B - n, p)); m = rEa(m, m.Ub + n, p, m.range ? m.Ub + n + p === m.range.length : !!c); n = XJ(b, e, p); m = new iN(m, n); if (l.policy.useUmp && l.uf.length && (n = kN(l.uf[l.uf.length - 1], m))) { l.uf[l.uf.length - 1] = n; l = p; break a } l.uf.push(m); l = p } a.B += l; e += + l; d += h.B; if (e === b.totalLength) break + } + }; + EW = function (a) { g.O.call(this); this.D = a; this.logger = new g.MN("onesie"); this.fd = new Map; this.B = this.j = !1; this.Ge = this.manifest = null; this.C = !1 }; + YTa = function (a, b, c) { a.fd.get(b).Cg = c }; + GW = function (a, b) { a.fd.has(b) && (FW ? a.fd.get(b).Gj.clear() : a.fd.get(b).uf = new VJ, ZTa(a, b), a.B = !0) }; + $Ta = function (a) { for (var b = g.w(a.fd), c = b.next(); !c.done; c = b.next()) { var d = g.w(c.value); c = d.next().value; d = d.next().value; d.dE || GW(a, c) } }; + aUa = function (a, b) { b = a.fd.get(b); if (!b) return 0; a = 0; if (b.gb.length > 0) { b = g.w(b.gb); for (var c = b.next(); !c.done; c = b.next()) { var d = void 0; a += ((d = c.value.range) == null ? void 0 : d.length) || 0 } return a } if (b.kG.length > 0) for (c = g.w(b.kG), d = c.next(); !d.done; d = c.next())a += d.value.Is || 0; return a + b.xZ }; + bUa = function (a, b) { if (FW) { var c = 0; a = a.fd.get(b); if (a == null || !a.Gj) return 0; a = g.w(a.Gj.values()); for (b = a.next(); !b.done; b = a.next())c += b.value.data.totalLength; return c } return ((c = a.fd.get(b)) == null ? void 0 : c.uf.totalLength) || 0 }; + HW = function (a, b) { a = a.fd.get(b); if (FW) { if (a == null || !a.dE) return !1; b = a.Gj.size > 0; return a.Sx.length > 0 || b } return !(a == null || !a.dE) && !(a == null || !a.uf.totalLength) }; + cUa = function (a, b) { var c = a.fd.get(b), d = aUa(a, b), e = !d && !!c.bytesReceived; if (FW) { var f; if ((f = a.manifest) == null ? 0 : f.Vb) { a = g.w(c.Gj.values()); for (b = a.next(); !b.done; b = a.next())if (!b.value.Ex) return !1; return e } } else if (f = a.Bx(b), e && a.j && f !== void 0) return f; return (e || c.bytesReceived === d) && c.Hz + bUa(a, b) === c.bytesReceived }; + dUa = function (a, b, c) { a.fd.set(b, { uf: new VJ, Hz: 0, bytesReceived: 0, xZ: 0, QS: !1, Ng: !1, Bx: !1, Gh: c, sT: [], gb: [], kG: [], dE: !1, Gj: new Map, OH: new Map, Sx: [] }); a.logger.debug(function () { return "[initStream] formatId: " + b }) }; + eUa = function (a, b, c, d) { c.gb.push.apply(c.gb, g.x(d)); if (FW) { c.OH.has(b) || c.OH.set(b, []); var e; (e = c.OH.get(b)).push.apply(e, g.x(d)) } else if (c.eg) for (a = g.w(d), b = a.next(); !b.done; b = a.next())c.eg.gb.push(b.value); else { c.eg = new CW(a.Ge, [].concat(g.x(c.gb))); var f; ((f = a.Ge) == null ? 0 : f.ze) && g.P(a, c.eg) } }; + fUa = function (a, b, c) { + var d, e = (d = a.manifest) == null ? void 0 : d.K.get(b); if (!e) return []; if (c.Co) { var f; return ((f = e.jx(0, c.clipId)) == null ? void 0 : f.gb) || [] } if (e.Rm()) { + var h = c.startMs, l = c.durationMs, m = 1E3, n; if (((n = a.Ge) == null ? 0 : n.B) && c.timeRange) { var p; h = (p = c.timeRange.Tg) != null ? p : -1; var q; l = (q = c.timeRange.JE) != null ? q : -1; var r; m = (r = c.timeRange.Ts) != null ? r : -1 } if (c.lC < 0 || c.Kq < 0 || l < 0 || h < 0 || c.Is < 0 || m < 0) return GW(a, b), []; a = NM(c.lC, c.Is); b = c.rL || 0; return [new PM(3, e, a, "makeSliceInfosMediaBytes", c.Kq - 1, h / m, l / m, b, + a.length - b, void 0, c.Sj, c.clipId)] + } if (c.Kq < 0) return GW(a, b), []; var t; return ((t = a.manifest) == null ? 0 : t.Vb) ? (b = e.Uj, n = b * e.info.ub, p = ((h = a.Ge) == null ? 0 : h.yc) ? c.rL : void 0, ((m = a.Ge) == null ? 0 : m.zw) && c.timeRange && !p && (l = c.timeRange.Tg / c.timeRange.Ts), [new PM(3, e, void 0, "makeSliceInfosMediaBytes", c.Kq, l, b, p, n, !0, c.Sj, c.clipId)]) : [] + }; + gUa = function (a, b, c) { a.manifest = b; a.Ge = c; b = g.w(a.fd); for (c = b.next(); !c.done; c = b.next()) { var d = g.w(c.value); c = d.next().value; d = d.next().value; for (var e = g.w(d.sT), f = e.next(); !f.done; f = e.next()) { f = f.value; var h = fUa(a, c, f); eUa(a, f.bq, d, h) } } }; + hUa = function (a, b, c, d) { + a.logger.debug(function () { return "[addStreamData] formatId: " + c + ",headerId: " + b + " bytes: " + d.totalLength }); + (a = a.fd.get(c)) && !a.Ng && (FW ? (a.Gj.has(b) || a.Gj.set(b, { data: new VJ, bJ: 0, Ex: !1 }), WJ(a.Gj.get(b).data, d)) : WJ(a.uf, d), a.bytesReceived += d.totalLength, a.QS = !0) + }; + ZTa = function (a, b) { + a.logger.debug(function () { return "[closeStream] formatId: " + b }); + var c = a.fd.get(b); c && !c.Ng && (c.Ng = !0, c.Cg && c.Cg(), iUa(a) && a.D.W_()) + }; + iUa = function (a) { a = g.w(a.fd.values()); for (var b = a.next(); !b.done; b = a.next())if (!b.value.Ng) return !1; return !0 }; + IW = function (a, b) { var c, d; (c = window.h5vcc) == null || (d = c.settings) == null || d.set(a, b) }; + jUa = function () { + var a = window.H5vccPlatformService, b = ""; if (a && a.has("dev.cobalt.coat.clientloginfo") && (a = a.open("dev.cobalt.coat.clientloginfo", function () { }))) { + var c = a.send(new ArrayBuffer(0)); + c && (b = String.fromCharCode.apply(String, g.x(new Uint8Array(c)))); a.close() + } return b + }; + oUa = function (a) { + var b = a.experiments, c = b.kb.bind(b); kUa = c("html5_use_async_stopVideo"); lUa = c("html5_pause_for_async_stopVideo"); mUa = c("html5_not_reset_media_source"); Twa = c("html5_rebase_video_to_ad_timeline"); zF = c("html5_not_reset_media_source"); nUa = c("html5_not_reset_media_source"); tF = c("html5_retain_source_buffer_appends_for_debugging"); FNa = c("web_enable_auto_pip") || c("web_enable_pip_on_miniplayer"); c("html5_mediastream_applies_timestamp_offset") && (JW = !0); var d = g.AC(b, "html5_cobalt_override_quic"); + d && IW("QUIC", +(d > 0)); (d = g.AC(b, "html5_cobalt_audio_write_ahead_ms")) && IW("Media.AudioWriteDurationLocal", d); (d = c("html5_cobalt_enable_decode_to_texture")) && IW("Media.PlayerConfiguration.DecodeToTexturePreferred", d ? 1 : 0); (d = c("html5_cobalt_enable_media_element_buffered_range")) && IW("MediaElement.EnableUsingMediaSourceBufferedRange", +d); Error.stackTraceLimit = 50; var e = g.AC(b, "html5_idle_rate_limit_ms"); e && Object.defineProperty(window, "requestIdleCallback", { + value: function (f) { + return window.setTimeout(f, + e) + } + }); + eJa(a.G); FW = c("html5_use_ump_request_slicer"); nTa = c("html5_record_now"); c("html5_disable_streaming_xhr") && (iO = !1); c("html5_pr_start_secs") && (bMa = !0); g.AC(a.experiments, "html5_byterate_soft_cap_mweb") && (pL = !0); c("html5_use_non_active_broadcast_for_post_live") && (dN = !0) + }; + pUa = function (a) { return a.slice(12).replace(/_[a-z]/g, function (b) { return b.toUpperCase().replace("_", "") }).replace("Dot", ".") }; + qUa = function (a) { if (a.experiments.kb("html5_cobalt_auto_apply_h5vcc_flags")) for (var b in a.experiments.flags) if (b.startsWith("cobalt_h5vcc")) { var c = pUa(b), d = g.AC(a.experiments, b); c && d && IW(c, d) } }; + KW = function (a, b, c, d, e) { e = e === void 0 ? [] : e; g.O.call(this); this.W = a; this.pc = b; this.C = c; this.segments = e; this.j = void 0; this.B = new Map; e.length && (this.j = e[0]) }; + rUa = function (a) { if (!(a.segments.length < 2)) { var b = a.segments.shift(); if (b) { var c = b.j, d = []; if (c.size) { c = g.w(c.values()); for (var e = c.next(); !e.done; e = c.next()) { e = g.w(e.value); for (var f = e.next(); !f.done; f = e.next()) { f = f.value; for (var h = g.w(f.segments), l = h.next(); !l.done; l = h.next())(l = LW(l.value)) && d.push(l); f.removeAll() } } } (c = LW(b)) && d.push(c); d = g.w(d); for (c = d.next(); !c.done; c = d.next())a.B.delete(c.value); b.dispose() } } }; + MW = function (a, b, c, d) { if (!a.j || b > c) return !1; b = new KW(a.W, b, c, a.j, d); d = g.w(d); for (c = d.next(); !c.done; c = d.next()) { c = c.value; var e = LW(c); e && e !== LW(a.j) && a.B.set(e, [c]) } a = a.j; a.j.has(b.Ze()) ? a.j.get(b.Ze()).push(b) : a.j.set(b.Ze(), [b]); return !0 }; + NW = function (a, b) { return a.B.get(b) }; + sUa = function (a, b, c) { a.B.set(b, c) }; + OW = function (a, b, c, d, e, f) { return new tUa(c, c + (d || 0), !d, b, a, e, f) }; + tUa = function (a, b, c, d, e, f, h) { g.O.call(this); this.pc = a; this.B = b; this.C = c; this.type = d; this.D = e; this.videoData = f; this.XK = h; this.j = new Map; AQ(f) }; + LW = function (a) { return a.videoData.clientPlaybackNonce }; + uUa = function (a) { if (a.j.size) for (var b = g.w(a.j.values()), c = b.next(); !c.done; c = b.next()) { c = g.w(c.value); for (var d = c.next(); !d.done; d = c.next())d.value.dispose() } a.j.clear() }; + vUa = function (a) { this.end = this.start = a }; + g.PW = function (a, b, c) { + g.O.call(this); var d = this; this.api = a; this.W = b; this.ea = c; this.Ga = new Map; this.Ya = new Map; this.Ma = new Map; this.B = new Map; this.D = []; this.G = []; this.C = new Map; this.wc = new Map; this.Y = new Map; this.Tb = NaN; this.Jb = this.Xa = this.Ob = null; this.Kb = new g.fp(function () { wUa(d, d.Tb, d.Ob || void 0) }); + this.events = new g.OE(this); this.Ab = 15E3; this.Z = new g.fp(function () { d.Ba = !0; var e = d.ea, f = d.Ab; e.oa("sdai", { aftimeout: f }); e.Id(new FE("ad.fetchtimeout", { timeout: f })); xUa(d); d.wF(!1) }, this.Ab); + this.Ba = !1; this.K = new Map; this.yb = []; this.ra = null; this.ze = new Set; this.Fa = []; this.yc = []; this.Fd = []; this.Zd = []; this.j = void 0; this.Wa = 0; this.Ra = !0; this.qa = !1; this.Ka = []; this.Ed = new Set; this.ge = new Set; this.Ie = new Set; this.wl = 0; this.fb = new Set; this.Wc = 0; this.On = this.Rc = !1; this.Sb = this.N = ""; this.ob = null; this.hd = { + mna: function () { return d.B }, + xna: function () { return d.D }, + nna: function () { return d.C }, + m8: function (e) { d.onCueRangeEnter(d.B.get(e)) }, + gna: function (e) { d.onCueRangeExit(d.B.get(e)) }, + rpa: function (e, f) { d.B.set(e, f) }, + tpa: function (e) { d.Sb = e }, + eF: function () { return d.eF() } + }; + this.ea.getPlayerType(); yUa(this.ea, this); this.Va = this.W.Ac(); g.P(this, this.Kb); g.P(this, this.events); g.P(this, this.Z); this.events.T(this.api, g.sD("serverstitchedcuerange"), this.onCueRangeEnter); this.events.T(this.api, g.tD("serverstitchedcuerange"), this.onCueRangeExit) + }; + CUa = function (a, b, c, d, e, f, h, l) { + var m = zUa(a, f, f + e); a.Ba && a.ea.oa("sdai", { adaftto: 1 }); a.On && a.ea.oa("sdai", { adfbk: 1, enter: f, len: e, aid: l }); var n = a.ea; h = h === void 0 ? f + e : h; f === h && !e && a.W.L("html5_allow_zero_duration_ads_on_timeline") && a.ea.oa("sdai", { attl0d: 1 }); f > h && QW(a, { reason: "enterTime_greater_than_return", pc: f, Xd: h }); var p = n.Xc() * 1E3; f < p && QW(a, { reason: "enterTime_less_than_minSeekableTime", enterMs: f, minSkMs: p }, a.W.L("html5_report_ssdai_timeline_error_as_fatal")); n = n.getDuration() * 1E3; h > n && QW(a, { + reason: "parent_return_greater_than_content_duration", + Xd: h, Xoa: n + }); n = null; p = g.Yb(a.G, { Xd: f }, function (q, r) { return q.Xd - r.Xd }); + p >= 0 && (n = a.G[p], n.Xd > f && AUa(a, b.video_id || "", f, h, n)); if (m && n) for (p = 0; p < a.Fa.length; p++) { if (a.Fa[p].identifier === m.identifier) { a.Fa.splice(p, 1); break } } else if (m) return a.ea.oa("sdai", { rejectAttl: 1 }), l && !Em(a.Zd, function (q) { return q === l }) && (a.ea.oa("sdai", { rejectAdBreakAttl: 1 }), a.Zd.push(l)), RW(a), ""; + m = "ss_childplayback_" + BUa++; a.W.L("html5_enable_ssap_entity_id") ? (b = new g.WP(a.W, b), p = b.clientPlaybackNonce) : (b.cpn || (b.cpn = g.Sv(16)), p = b.cpn, b = new g.WP(a.W, b)); b.rd = m; c = { rd: m, playerType: d, durationMs: e, pc: f, Xd: h, cpn: p, videoData: b, errorCount: 0, ssdaiAdsConfig: c }; g.bc(a.G, c, function (q, r) { return q.pc === r.pc ? q.durationMs - r.durationMs : q.pc - r.pc }); + a.C.set(p, c); a.wc.set(m, c); a.ea.oa("sdai", { attlDone: h - f, acpn: p }); l ? c.xm = l : n ? c.xm = n.xm : c.xm = c.cpn; if (f = c.xm) (d = a.Y.get(f)) ? (d.push(c), g.$b(d, function (q, r) { return q.pc - r.pc })) : a.Y.set(f, [c]); + a.Z.isActive() && (a.Ba = !1, a.Z.stop(), xUa(a), a.wF(!0)); return m + }; + SW = function (a, b, c) { return { ssvc: b, cpn: (c == null ? void 0 : c.cpn) || "", vid: (c == null ? void 0 : c.videoData.videoId) || "", ct: (a.ea.getCurrentTime() || 0).toFixed(3), cmt: (a.ea.Wf() || 0).toFixed(3) } }; + UW = function (a, b, c) { + var d = a.qa, e = a.eF(), f = a.N; a.N = ""; var h = b.Vg - c.Vg; Math.abs(h) > .5 && a.ea.oa("sdai", { ttdtb: 1, delta: h, cpn: e.cpn, enter: b.adCpn, exit: c.adCpn, seek: d, skip: f }); a.api.L("html5_ssdai_enable_media_end_cue_range") && a.api.Zy(); if (b.isAd && c.isAd) { e = !!f; if (b.adCpn && c.adCpn) { var l = a.C.get(b.adCpn); var m = a.C.get(c.adCpn) } e ? a.ea.oa("sdai", { igtransskip: 1, enter: b.adCpn, exit: c.adCpn, seek: d, skip: f }) : DUa(a, m, l, c.Vg, b.Vg, d, e) } else if (!b.isAd && c.isAd) { + a.Sb = e.cpn; a.api.publish("serverstitchedvideochange"); + l = SW(a, "a2c"); a.ea.oa("sdai", l); a.wl = 0; if (l = c.je) a.Wa = l.end; var n; c.adCpn && (n = a.C.get(c.adCpn)); n && TW(a.ea, n, e, c.Vg, b.Vg, d, !!f) + } else if (b.isAd && !c.isAd) { var p; b.adCpn && (p = a.C.get(b.adCpn)); p && (a.Wa = 0, a.Sb = p.cpn, a.api.publish("serverstitchedvideochange", p.rd, p.vr), n = SW(a, "c2a", p), a.ea.oa("sdai", n), a.wl = 1, TW(a.ea, e, p, c.Vg, b.Vg, d, !!f)) } + }; + EUa = function (a, b, c) { + c = (b + (c === void 0 ? 0 : c)) * 1E3; var d = g.Yb(a.G, { pc: c }, function (e, f) { return e.pc - f.pc }); + d = d < 0 ? (d + 2) * -1 : d; return d >= 0 && (a = a.G[d], a.Xd >= c) ? { Ln: a, Qu: b } : { Ln: void 0, Qu: b } + }; + GUa = function (a, b) { var c = ""; (b = FUa(a, b)) && (c = b.getId()); return c ? a.C.get(c) : void 0 }; + FUa = function (a, b) { if (a.Sb) { var c = a.B.get(a.Sb); if (c && c.start - 200 <= b && c.end + 200 >= b) return c } a = g.w(a.B.values()); for (c = a.next(); !c.done; c = a.next())if (c = c.value, c.start <= b && c.end >= b) return c }; + wUa = function (a, b, c) { var d = a.Jb || a.api.Vc().getPlayerState(); VW(a, !0); a.ea.seekTo(b, c); a = a.api.Vc(); b = a.getPlayerState(); d.isOrWillBePlaying() && !b.isOrWillBePlaying() ? a.playVideo() : d.isPaused() && !b.isPaused() && a.pauseVideo() }; + VW = function (a, b) { a.Tb = NaN; a.Ob = null; a.Kb.stop(); a.Xa && b && HUa(a.Xa); a.Jb = null; a.Xa = null }; + IUa = function (a) { + var b = b === void 0 ? -1 : b; var c = c === void 0 ? Infinity : c; for (var d = [], e = g.w(a.G), f = e.next(); !f.done; f = e.next())f = f.value, (f.pc < b || f.Xd > c) && d.push(f); a.G = d; d = g.w(a.B.values()); for (e = d.next(); !e.done; e = d.next())e = e.value, e.start >= b && e.end <= c && (a.ea.removeCueRange(e), a.B.delete(e.getId()), a.ea.oa("sdai", { rmAdCR: 1 })); d = EUa(a, b / 1E3); b = d.Ln; d = d.Qu; if (b && (d = d * 1E3 - b.pc, e = b.pc + d, b.durationMs = d, b.Xd = e, d = a.B.get(b.cpn))) { + e = g.w(a.D); for (f = e.next(); !f.done; f = e.next())f = f.value, f.start === d.end ? f.start = + b.pc + b.durationMs : f.end === d.start && (f.end = b.pc); d.start = b.pc; d.end = b.pc + b.durationMs + } if (b = EUa(a, c / 1E3).Ln) { var h; d = "playback_timelinePlaybackId_" + b.rd + "_video_id_" + ((h = b.videoData) == null ? void 0 : h.videoId) + "_durationMs_" + b.durationMs + "_enterTimeMs_" + b.pc + "_parentReturnTimeMs_" + b.Xd; a.Kl("Invalid_clearEndTimeMs_" + c + "_that_falls_during_" + d + "._Child_playbacks_can_only_have_duration_updated_not_their_start.") } + }; + JUa = function (a) { a.Ga.clear(); a.Ya.clear(); a.Ma.clear(); a.B.clear(); a.D = []; a.G = []; a.C.clear(); a.wc.clear(); a.Y.clear(); a.K.clear(); a.yb = []; a.ra = null; a.ze.clear(); a.Fa = []; a.yc = []; a.Fd = []; a.Zd = []; a.Ka = []; a.Ed.clear(); a.ge.clear(); a.Ie.clear(); a.fb.clear(); a.Ba = !1; a.j = void 0; a.Wa = 0; a.Ra = !0; a.qa = !1; a.wl = 0; a.Wc = 0; a.Rc = !1; a.On = !1; a.N = ""; a.Z.isActive() && RW(a) }; + LUa = function (a, b, c, d, e, f) { if (!a.On) if (!a.W.L("html5_ssdai_use_media_time") && g.KUa(a, c)) a.Va && a.ea.oa("sdai", { gdu: "undec", seg: c, itag: e }); else if (b = WW(a, b, c, d, f), !(a.ea.getVideoData().oi() && (b == null ? 0 : b.SA))) return b }; + WW = function (a, b, c, d, e) { var f; a.W.L("html5_ssdai_use_media_time") || (f = a.K.get(c)); if (!f) { if (f = XW(a, b)) return f; var h = YW(a, c - 1, d != null ? d : 2); if (e) return a.ea.oa("sdai", { misscue: e, sq: c, type: d, prevsstate: h == null ? void 0 : h.Az, prevrecord: a.K.has(c - 1) }), a.W.L("html5_ssdai_use_media_time") ? XW(a, b - 5) : a.K.get(c - 1); if ((h == null ? void 0 : h.Az) === 2 && (a.ea.oa("sdai", { adnf: 1, sq: c, type: d, prevrecord: a.K.has(c - 1) }), !a.W.L("html5_ssdai_use_media_time"))) return a.K.get(c - 1) } return f }; + XW = function (a, b) { b += a.du(); if (a.W.L("html5_lifa_overdecorate_fix")) a: { var c = 1; c = c === void 0 ? 0 : c; var d = b * 1E3; a = g.w(a.G); for (var e = a.next(); !e.done; e = a.next()) { e = e.value; var f = e.vr ? e.vr * 1E3 : e.pc; if (d >= e.pc - c * 1E3 && d <= f + e.durationMs + c * 1E3) { b = { Ln: e, Qu: b }; break a } } b = { Ln: void 0, Qu: b } } else b = EUa(a, b, 1); return b.Ln }; + MUa = function (a) { if (a.Ka.length) for (var b = g.w(a.Ka), c = b.next(); !c.done; c = b.next())a.onCueRangeExit(c.value); b = g.w(a.B.values()); for (c = b.next(); !c.done; c = b.next())a.ea.removeCueRange(c.value); b = g.w(a.D); for (c = b.next(); !c.done; c = b.next())a.ea.removeCueRange(c.value); a.B.clear(); a.D = []; a.Ga.clear(); a.Ya.clear(); a.Ma.clear(); a.j || (a.Ra = !0) }; + DUa = function (a, b, c, d, e, f, h) { if (b && c) { a.Sb = c.cpn; a.api.publish("serverstitchedvideochange", c.rd, c.vr); var l = SW(a, "a2a", c); a.ea.oa("sdai", l); a.wl++; TW(a.ea, b, c, d || 0, e || 0, !!f, !!h) } else a.ea.oa("sdai", { misspbkonadtrans: 1, enter: (c == null ? void 0 : c.cpn) || "", exit: (b == null ? void 0 : b.cpn) || "", seek: f, skip: h }) }; + YW = function (a, b, c) { if (c === 1) { if (a.Ga.has(b)) return a.Ga.get(b) } else { if (c === 2 && a.Ya.has(b)) return a.Ya.get(b); if (c === 3 && a.Ma.has(b)) return a.Ma.get(b) } }; + OUa = function (a, b, c, d) { if (d) for (d = 0; d < a.D.length;) { var e = a.D[d]; if (e.start < b && e.end > c) { var f = e.end; e.end = b; NUa(a, c, f) } else if (e.start >= b && e.start < c && e.end > c) e.start = c; else if (e.end > b && e.end <= c && e.start < b) e.end = b; else if (e.start >= b && e.end <= c) { a.ea.removeCueRange(e); if (a.Ka.includes(e)) a.onCueRangeExit(e); a.D.splice(d, 1); continue } d++ } else NUa(a, b, c) }; + NUa = function (a, b, c) { + b = a.sJ(b, c); c = !0; g.bc(a.D, b, function (h, l) { return h.start - l.start }); + for (var d = 0; d < a.D.length;) { if (d > 0) { var e = a.D[d], f = a.D[d - 1]; if (Math.round(f.end / 1E3) >= Math.round(e.start / 1E3)) { f.end = e.end; e !== b ? a.ea.removeCueRange(e) : c = !1; a.D.splice(d, 1); continue } } d++ } if (c) for (a.ea.addCueRange(b), b = a.ea.RE("serverstitchedcuerange", 36E5), b = g.w(b), c = b.next(); !c.done; c = b.next())a.B.delete(c.value.getId()) + }; + ZW = function (a, b, c) { if (c === void 0 || !c) { c = g.w(a.yb); for (var d = c.next(); !d.done; d = c.next()) { d = d.value; if (b >= d.start && b <= d.end) return; if (b === d.end + 1) { d.end += 1; return } } a.yb.push(new vUa(b)) } }; + g.KUa = function (a, b) { a = g.w(a.yb); for (var c = a.next(); !c.done; c = a.next())if (c = c.value, b >= c.start && b <= c.end) return !0; return !1 }; + AUa = function (a, b, c, d, e) { var f; b = { reason: "overlapping_playbacks", Qoa: b, pc: c, Xd: d, ena: e.rd, fna: ((f = e.videoData) == null ? void 0 : f.videoId) || "", bna: e.durationMs, cna: e.pc, dna: e.Xd }; QW(a, b) }; + QW = function (a, b, c) { a = a.ea; a.oa("timelineerror", b); b = new FE("dai.timelineerror", b); c ? a.Lf("dai.timelineerror", 1, "RETRYABLE_ERROR", EE(b.details)) : a.Id(b) }; + PUa = function (a, b) { var c = []; a = a.Y.get(b); if (!a) return []; a = g.w(a); for (b = a.next(); !b.done; b = a.next())b = b.value, b.cpn && c.push(b.cpn); return c }; + QUa = function (a, b, c) { var d = 0; a = a.Y.get(c); if (!a) return -1; a = g.w(a); for (c = a.next(); !c.done; c = a.next()) { if (c.value.cpn === b) return d; d++ } return -1 }; + RUa = function (a, b) { var c = []; a = a.Y.get(b); if (!a) return []; a = g.w(a); for (var d = a.next(); !d.done; d = a.next())b = void 0, (d = (b = d.value.videoData) == null ? void 0 : b.videoId) && c.push(d); return c }; + SUa = function (a, b) { var c = 0; a = a.Y.get(b); if (!a) return 0; a = g.w(a); for (b = a.next(); !b.done; b = a.next())b = b.value, b.durationMs !== 0 && b.Xd !== b.pc && c++; return c }; + TUa = function (a, b, c) { var d = !1; if (c && (c = a.Y.get(c))) { c = g.w(c); for (var e = c.next(); !e.done; e = c.next())e = e.value, e.durationMs !== 0 && e.Xd !== e.pc && (e = e.cpn, b === e && (d = !0), d && !a.ge.has(e) && (a.ea.oa("sdai", { decoratedAd: e }), a.ge.add(e))) } }; + xUa = function (a) { a.Va && a.ea.oa("sdai", { adf: "0_" + ((new Date).getTime() / 1E3 - a.Wc) + "_isTimeout_" + a.Ba }) }; + zUa = function (a, b, c) { if (a.Fa.length) for (var d = g.w(a.Fa), e = d.next(), f = {}; !e.done; f = { Xz: void 0 }, e = d.next()) { f.Xz = e.value; e = f.Xz.startSecs * 1E3; var h = f.Xz.Dh * 1E3 + e; if (b > e && b < h || c > e && c < h) return Em(a.Fd, function (l) { return function (m) { return m.identifier === l.Xz.identifier } }(f)) || (a.ea.oa("sdai", { adskip: b }), a.Fd.push(f.Xz)), f.Xz } }; + RW = function (a) { a.Ba = !1; a.Z.isActive() && xUa(a); a.Z.stop(); a.wF(!1) }; + WUa = function (a, b, c) { + g.O.call(this); var d = this; this.api = a; this.timeline = b; this.ea = c; this.Np = new Map; this.pk = new Map; this.bI = new Map; this.events = new g.OE(this); this.wl = 0; this.TK = this.Sb = ""; this.TG = []; this.Jk = new Set; this.nL = new g.fp(function () { d.api.playVideo(1); d.api.oa("ssap", { nve: "" + d.Sb }); UUa(d, 4) }, 3E4); + this.Sy = ""; this.NH = new Set; this.t2 = !0; this.UM = new Map; this.WL = new Set; this.iY = !1; this.ax = ""; this.WQ = !1; this.UZ = ""; this.hd = { + zna: function () { return d.pk }, + m8: function (e) { if (e = d.pk.get(e)) d.onCueRangeEnter(e) }, + onCueRangeEnter: function (e) { d.onCueRangeEnter(e) } + }; + this.ea.getPlayerType(); VUa(this); this.events.T(this.api, g.sD("ssap"), this.onCueRangeEnter); this.events.T(this.api, "internalAbandon", this.BG); g.P(this, this.nL); this.IT = this.api.U().L("html5_enable_ssap_gapful_switch"); this.Vda = g.AC(a.U().experiments, "html5_ssap_segment_end_media_threshold_ms") || 200 + }; + XUa = function (a, b, c, d) { for (var e = a.ea.rA(), f = g.w(d), h = f.next(); !h.done; h = f.next()) { var l = h.value; l.C || ((h = LW(l), l = l.getVideoData(), h && l && e.rJ(h, l, 2), l) ? h || (l = void 0, a.api.oa("ssap", { macac: h, maccc: (l = a.timeline.j) == null ? void 0 : LW(l) })) : (l = void 0, a.api.oa("ssap", { mvac: h, mvcc: (l = a.timeline.j) == null ? void 0 : LW(l) }))) } return MW(a.timeline, b, c, d) }; + ZUa = function (a) { var b = a.ea.Wf(); return (b = $W(a, b)) ? YUa(a, b.Yh() / 1E3) : !1 }; + YUa = function (a, b) { + if (a.Jk.has(a.Sb)) return !1; var c = 0, d = 0, e = NW(a.timeline, a.Sb); if (e == null ? 0 : e.length) for (e = g.w(e), e = e.next(); !e.done; e = e.next()) { d = e.value; c = d.Ze(); d = d.Yh(); break } if (d > 0 && d > b * 1E3 + a.Vda) return !1; if (d = $Ua(a, c)) { + b = !1; c = void 0; d = g.w(d.segments); for (e = d.next(); !e.done; e = d.next()) { e = e.value; if (b) { c = e; break } LW(e) === a.Sb && (b = !0) } d = void 0; if (c) d = LW(c); else if (b) { var f; d = (f = a.timeline.j) == null ? void 0 : LW(f) } if (d) return a.finishSegmentByCpn(a.Sb, d, 2, void 0), !0; var h; a.api.oa("ssap", { + mfnc: 1, mfncc: (h = + a.timeline.j) == null ? void 0 : LW(h) + }) + } return !1 + }; + aX = function (a, b) { a = NW(a.timeline, b); return (a == null ? 0 : a.length) ? a[0].Ze() : 0 }; + cX = function (a, b) { var c = c === void 0 ? !1 : c; var d = a.timeline.j; if (!d) return { clipId: "", Nl: 0 }; var e = aVa(a, b, c); if (e) return { clipId: LW(e) || "", Nl: e.Ze() }; a.api.oa("mci", { cs: LW(d), mt: b, tl: bX(a), invt: !!c }); return { clipId: "", Nl: 0 } }; + dX = function (a) { var b = a.timeline.j; if (!b) return 0; a = 0; if (b.j.size === 0) return (b.Yh() - b.Ze()) / 1E3; b = b.j.values(); b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { c = g.w(c.value); for (var d = c.next(); !d.done; d = c.next())d = d.value, a += (d.Yh() - d.Ze()) / 1E3 } return a }; + bVa = function (a, b) { return (a = $W(a, b * 1E3)) ? a.Ze() : 0 }; + cVa = function (a, b) { var c = NW(a.timeline, b); b = 0; if (c == null ? 0 : c.length) for (a = g.w(c), c = a.next(); !c.done; c = a.next())c = c.value, b += (c.Yh() - c.Ze()) / 1E3; else return dX(a); return b }; + $W = function (a, b) { if (a = NW(a.timeline, a.Sb)) { a = g.w(a); for (var c = a.next(); !c.done; c = a.next())if (c = c.value, c.Ze() <= b && c.Yh() >= b) return c } }; + dVa = function (a) { var b = a.ea.getVideoData(); a.Sb && (a = a.Np.get(a.Sb)) && (b = a); return b }; + $Ua = function (a, b, c) { c = c === void 0 ? !1 : c; var d = a.timeline.j; if (d) { d = d.j; var e = Array.from(d.keys()); g.$b(e); b = g.Yb(e, b); b = d.get(e[b < 0 ? (b + 2) * -1 : b]); if (!c && b) { c = g.w(b); for (b = c.next(); !b.done; b = c.next())if (b = b.value, b.Ze() !== b.Yh()) return b; return a.timeline } return b && b.length > 0 ? b[b.length - 1] : void 0 } }; + aVa = function (a, b, c) { c = c === void 0 ? !1 : c; var d = $Ua(a, b, c); if (d) { if (a = d.segments, a.length) { for (var e = g.w(a), f = e.next(); !f.done; f = e.next())if (f = f.value, f.Ze() <= b && f.Yh() > b) return f; if (c && d.Ze() === d.Yh()) return a[0] } } else a.api.oa("ssap", { ctnf: 1 }) }; + UUa = function (a, b) { var c; if (a.Sy) for (c = a.TG.shift(); c && c !== a.Sy;)c = a.TG.shift(); else c = a.TG.shift(); if (c) { if (a.Jk.has(c)) eVa(a, c); else if (a.api.L("html5_ssap_support_more_transition_reasons") ? b === 3 || b === 4 : b === 3) a.nL.stop(), a.api.playVideo(1); a.bI.set(a.Sb, b); a.api.oa("ssap", { onvftn: 1 }); fVa(a, c); return !1 } a.api.oa("ssap", { onvftv: 1 }); a.nL.stop(); return !0 }; + eVa = function (a, b) { b = NW(a.timeline, b); if (b == null ? 0 : b.length) a.api.pauseVideo(), a.nL.start(b[0].XK) }; + fVa = function (a, b) { + var c = a.ea.getVideoData(), d = c.clientPlaybackNonce, e = a.Sb, f = !1; if (e === "") { e = d; f = !0; var h = a.ea.bj().isBackground() || a.ea.getPlayerState().isSuspended(); a.api.U().L("html5_ssap_tiny_seek_on_initial_transition") && !h && a.ea.seekTo(.001) } else e === void 0 && ((h = a.ea.rA().Mg) && a.timeline.B.has(h) && (e = h), a.api.oa("ssap", { mcc: e + ";" + b }), a.ea.Id(new FE("ssap.timelineerror", { e: "missing_current_cpn", pcpn: e, ccpn: b }))); if (e === b) f && c && gVa(a, c, f); else { + h = a.bI.get(e); if (!(f || h && hVa(a, h))) { + var l = a.api.Zy(a.Sb); + a.api.oa("ssap", { nmec: l, cpc: a.Sb, ec: b }) + } a.Sb = b; iVa(a); b = NW(a.timeline, a.Sb); if (b == null ? 0 : b.length) { + b = b[0]; l = b.getType(); e !== d && (a.TK = e, c = a.Np.get(e)); h ? a.bI.delete(e) : h = f ? 1 : 2; a.api.L("html5_ssap_support_more_transition_reasons") && a.api.oa("ssapt", { ostro: h, pcpn: e, ccpn: a.Sb }); a: { var m = a.Sb; if (!a.pk.has(m)) for (var n = g.w(a.pk), p = n.next(); !p.done; p = n.next()) { var q = g.w(p.value); p = q.next().value; q = q.next().value; if (q.getId().includes(m)) { m = p; break a } } } p = m; n = a.api.U().L("html5_ssap_insert_su_before_nonvideo") && + p !== a.Sb; q = a.ea.rA(); if (q.Mg !== p) { var r = q.hc(q.Mg); m = q.hc(p); q.Mg = p; m !== r && (r.qoe && (p = r.qoe, p.provider.W.Ac() && p.oa("ssap", { qoesus: "1", vid: p.provider.videoData.videoId }), n && (n = g.XI(p.provider), jVa(p, n, "SU")), isNaN(p.K) || g.Nr(p.K)), m.resume()) } m = Math.max(0, eX(a, e)); n = a.ea.getCurrentTime(); n = Math.max(0, n - aX(a, a.Sb) / 1E3); p = b.getVideoData(); q = a.ea.rA(); r = e; var t = a.Sb, u = hVa(a, h), y = a.ea.getPlayerState(); if (r !== t) { + var A = q.hc(r), D = q.hc(t), F, H = r === ((F = A.getVideoData()) == null ? void 0 : F.clientPlaybackNonce), + M; F = t === ((M = D.getVideoData()) == null ? void 0 : M.clientPlaybackNonce); var N; M = H ? ((N = A.getVideoData()) == null ? void 0 : N.videoId) || "" : "nvd"; var Q; N = F ? ((Q = D.getVideoData()) == null ? void 0 : Q.videoId) || "" : "nvd"; H && (Q = A.qoe) != null && (fX(Q, 4, u ? 4 : 0, t, N, m), Q.reportStats()); F && (gX(D), (Q = D.qoe) != null && (fX(Q, 4, u ? 5 : 1, r, M, n), Q.reportStats()), kVa(D, new g.Oy(y, D.Ee)), lVa(D)); mVa(q, r) + } a.api.L("html5_ssap_support_more_transition_reasons") && a.api.oa("ssapt", { ostri: h, pcpn: e, ccpn: a.Sb }); var Z; fOa(e, a.Sb, d, p, (Z = a.UM.get(e)) != null ? + Z : (0, g.Zt)(), c); a.UM.delete(e); f ? c = void 0 : c || a.api.oa("ssap", { pvdm: e + ";" + a.Sb, pvdmc: a.Sb === d ? "1" : "0" }); a.api.oa("ssap", { tpac: e + ";" + a.Sb, tpcc: d, tpv: (p == null ? 0 : p.qe()) ? "1" : "0" }, !1, 1); a.api.publish("videodatachange", "newdata", p, l, c, h); b.C || a.ea.getVideoData().publish("dataupdated"); a.Jk.delete(e); a.Sy = ""; p && l === 1 ? gVa(a, p) : a.ea.oa("ssap", { nis: a.Sb }); l === 2 ? a.wl++ : a.wl = 0 + } + } + }; + gVa = function (a, b, c) { c = c === void 0 ? !1 : c; if (b.startSeconds && a.t2) { var d = b.startSeconds; b = NW(a.timeline, b.clientPlaybackNonce); if (b == null ? 0 : b.length) d += b[0].Ze() / 1E3, a.api.L("htm5_ssap_ignore_initial_seek_if_too_big") && d >= a.WP() || (a.ea.seekTo(d, { RT: !0 }), a.t2 = !1, a.ea.oa("ssap", { is: a.Sb, co: c ? "1" : "0", tse: d.toFixed() })) } }; + nVa = function (a, b, c) { b = NW(a.timeline, b); if (b != null && b.length && (b = $Ua(a, b[0].Ze()))) { b = g.w(b.segments); for (var d = b.next(); !d.done; d = b.next()) { d = d.value; if (LW(d) === c) break; if (d = LW(d)) { var e = a.pk.get(d); e && a.api.L("html5_ssap_remove_cue_ranges_fix") && a.ea.removeCueRange(e); a.pk.delete(d) } } } }; + oVa = function (a, b, c) { aVa(a, b) || a.ea.oa("ssap", { ilgsk: b.toFixed(), mep: c ? "1" : "0", tl: bX(a) }) }; + iVa = function (a) { var b = a.Sb, c = a.Np.get(b) || a.ea.getVideoData(); c && (a = a.ea.getCurrentTime() - aX(a, b) / 1E3, c.Vk = a > 0 ? a : 0) }; + eX = function (a, b) { b = b || a.Sb; var c = a.Np.get(b); return c ? c.Vk : b !== a.ea.getVideoData().clientPlaybackNonce ? 0 : a.ea.getVideoData().Vk }; + bX = function (a) { + var b = a.Sb; b || (b = a.ea.getVideoData().clientPlaybackNonce); var c, d, e = Array.from((d = (c = a.timeline.j) == null ? void 0 : c.j.values()) != null ? d : []); c = []; if (e == null ? 0 : e.length) for (d = g.w(e), e = d.next(); !e.done; e = d.next())if (e = e.value, e.length && e[0] && (e = e[0].segments, e.length)) { + e = g.w(e); for (var f = e.next(); !f.done; f = e.next()) { + var h = f.value; f = "st." + h.Ze() + ";"; f += "et." + h.Yh() + ";"; var l = LW(h); l && (f += "cpn." + l + ";", f += "a." + (b === l ? 1 : 0) + ";"); if (h = h.getVideoData()) l = void 0, f += "vid." + ((l = h.videoId) != null ? l : + "nvd"); c.push(f) + } + } return (c.length ? c.join(",") : "empty." + b) + ";cpcpn." + a.Cl() + }; + VUa = function (a) { a.ea.jH(Array.from(a.pk.values())); a.pk.clear() }; + hVa = function (a, b) { return a.api.L("html5_ssap_support_more_transition_reasons") ? b === 3 || b === 5 || b === 6 || b === 7 : b === 3 }; + qVa = function (a, b, c) { + g.O.call(this); var d = this; this.api = a; this.W = b; this.j = c; this.K = new Map; this.B = []; this.C = this.N = null; this.qa = NaN; this.G = this.D = this.Y = null; this.Z = new g.fp(function () { pVa(d, d.qa, d.Y || void 0) }); + this.ra = []; this.Ba = new g.fp(function () { var e = d.ra.pop(); if (e) { var f = e.rd, h = e.playerVars; e = e.playerType; h && (h.prefer_gapless = !0, d.api.preloadVideoByPlayerVars(h, e, NaN, "", f), d.ra.length && g.gp(d.Ba, 4500)) } }); + this.events = new g.OE(this); c.getPlayerType(); g.P(this, this.Z); g.P(this, this.Ba); g.P(this, this.events); this.events.T(this.api, g.sD("childplayback"), this.onCueRangeEnter); this.events.T(this.api, "onQueuedVideoLoaded", this.onQueuedVideoLoaded); this.events.T(this.api, "presentingplayerstatechange", this.Lk) + }; + uVa = function (a, b, c, d, e, f) { + var h = b.cpn, l = b.docid || b.video_id || b.videoId || b.id, m = a.j; f = f === void 0 ? e + d : f; if (e > f) return hX(a, "enterAfterReturn enterTimeMs=" + e + " is greater than parentReturnTimeMs=" + f.toFixed(3), h, l), ""; var n = m.Xc() * 1E3; if (e < n) return hX(a, "enterBeforeMinSeekable enterTimeMs=" + e + " is less than parentMinSeekableTimeMs=" + n, h, l), ""; n = m.getDuration() * 1E3; if (f > n) return m = "returnAfterDuration parentReturnTimeMs=" + f.toFixed(3) + " is greater than parentDurationMs=" + n + ". And timestampOffset in seconds is " + + m.Dc(), hX(a, m, h, l), ""; n = null; for (var p = g.w(a.B), q = p.next(); !q.done; q = p.next()) { q = q.value; if (e >= q.pc && e < q.Xd) return hX(a, "overlappingEnter", h, l), ""; if (f <= q.Xd && f > q.pc) return hX(a, "overlappingReturn", h, l), ""; if (f === q.pc) return hX(a, "outOfOrder", h, l), ""; e === q.Xd && (n = q) } h = "cs_childplayback_" + rVa++; l = { je: iX(d, !0), un: Infinity, target: null }; var r = { rd: h, playerVars: b, playerType: c, durationMs: d, pc: e, Xd: f, Pt: l }; a.B = a.B.concat(r).sort(function (y, A) { return y.pc - A.pc }); + n ? sVa(a, n, { je: iX(n.durationMs, !0), un: n.Pt.un, target: r }) : (b = { je: iX(e, !1), un: e, target: r }, a.K.set(b.je, b), m.addCueRange(b.je)); b = !0; if (a.j === a.api.Vc() && (m = m.getCurrentTime() * 1E3, m >= r.pc && m < r.Xd)) { + var t = a.api.Vc().getPlayerState(), u = m - r.pc; ve(function () { tVa(a, r, u / 1E3, {}, t) }); + b = !1 + } b && (a.ra.unshift(r), g.gp(a.Ba, 0)); return h + }; + iX = function (a, b) { return new g.qD(Math.max(0, a - 5E3), b ? 0x8000000000000 : a - 1, { namespace: "childplayback", priority: 9 }) }; + vVa = function (a, b, c, d) { a.C = d; a.api.HJ(a.j, c, b) }; + wVa = function (a, b, c, d) { a.C = d; d = b.rd; var e = b.playerVars, f = b.playerType; a.N = b; e && (a.W.L("html5_enable_ssap_entity_id") && (e.cached_load = !0), a.api.enqueueVideoByPlayerVars(e, f, c, d)) }; + sVa = function (a, b, c) { var d = b.Pt; b.Pt = c; jX(a, b) && (c = a.api.Vc(), d.je === a.C && kX(a), c.removeCueRange(d.je), c.addCueRange(b.Pt.je)) }; + kX = function (a) { a.N = null; a.C = null; a.api.Do() || a.api.clearQueue() }; + xVa = function (a, b) { jX(a, b) || hX(a, "childPlaybackIsNotPresenting"); return b.Xd === b.pc + b.durationMs ? (a = a.api.Vc(), b.pc + a.getCurrentTime() * 1E3) : b.Xd }; + yVa = function (a, b) { var c = 0; a = g.w(a.B); for (var d = a.next(); !d.done; d = a.next()) { d = d.value; var e = d.pc / 1E3 + c, f = e + d.durationMs / 1E3; if (e > b) break; if (f > b) return { Ln: d, Qu: b - e }; c = f - d.Xd / 1E3 } return { Ln: null, Qu: b - c } }; + pVa = function (a, b, c) { c = c === void 0 ? {} : c; var d = a.G || a.api.Vc().getPlayerState(); lX(a, !0); b = isFinite(b) ? b : a.j.Wn(); var e = yVa(a, b); b = e.Ln; e = e.Qu; var f = b && !jX(a, b) || !b && a.j !== a.api.Vc(), h = e * 1E3; h = a.C && a.C.start <= h && h <= a.C.end; !f && h || kX(a); b ? tVa(a, b, e, c, d) : zVa(a, e, c, d) }; + zVa = function (a, b, c, d) { var e = a.j, f = a.api.Vc(); e !== f && a.api.Hy(); e.seekTo(b, Object.assign({}, { Zc: "application_timelinemanager" }, c)); AVa(a, d) }; + tVa = function (a, b, c, d, e) { var f = jX(a, b); if (!f) { b.playerVars.prefer_gapless = !0; a.W.L("html5_enable_ssap_entity_id") && (b.playerVars.cached_load = !0); var h = new g.WP(a.W, b.playerVars); h.rd = b.rd; a.api.Iu(h, b.playerType) } h = a.api.Vc(); f || h.addCueRange(b.Pt.je); h.seekTo(c, Object.assign({}, { Zc: "application_timelinemanager" }, d)); AVa(a, e) }; + AVa = function (a, b) { a = a.api.Vc(); var c = a.getPlayerState(); b.isOrWillBePlaying() && !c.isOrWillBePlaying() ? a.playVideo() : b.isPaused() && !c.isPaused() && a.pauseVideo() }; + lX = function (a, b) { a.qa = NaN; a.Y = null; a.Z.stop(); a.D && b && HUa(a.D); a.G = null; a.D = null }; + jX = function (a, b) { a = a.api.Vc(); return !!a && a.getVideoData().rd === b.rd }; + BVa = function (a) { + var b = a.B.find(function (e) { return jX(a, e) }); + if (b) { var c = a.api.Vc(); kX(a); var d = new g.LF(8); b = xVa(a, b) / 1E3; zVa(a, b, {}, d); c.oa("forceParentTransition", { childPlayback: 1 }); a.j.oa("forceParentTransition", { parentPlayback: 1 }) } + }; + DVa = function (a, b, c) { + b = b === void 0 ? -1 : b; c = c === void 0 ? Infinity : c; for (var d = b, e = c, f = g.w(a.K), h = f.next(); !h.done; h = f.next()) { var l = g.w(h.value); h = l.next().value; l = l.next().value; l.un >= d && l.target && l.target.Xd <= e && (a.j.removeCueRange(h), a.K.delete(h)) } d = b; e = c; f = []; h = g.w(a.B); for (l = h.next(); !l.done; l = h.next())if (l = l.value, l.pc >= d && l.Xd <= e) { var m = a; m.N === l && kX(m); jX(m, l) && m.api.Hy() } else f.push(l); a.B = f; d = yVa(a, b / 1E3); b = d.Ln; d = d.Qu; b && (d *= 1E3, CVa(a, b, d, b.Xd === b.pc + b.durationMs ? b.pc + d : b.Xd)); (b = yVa(a, c / 1E3).Ln) && + hX(a, "Invalid clearEndTimeMs=" + c + " that falls during playback={timelinePlaybackId=" + (b.rd + " video_id=" + b.playerVars.video_id + " durationMs=" + b.durationMs + " enterTimeMs=" + b.pc + " parentReturnTimeMs=" + b.Xd + "}.Child playbacks can only have duration updated not their start.")) + }; + CVa = function (a, b, c, d) { b.durationMs = c; b.Xd = d; d = { je: iX(c, !0), un: c, target: null }; sVa(a, b, d); jX(a, b) && a.api.Vc().getCurrentTime() * 1E3 > c && (b = xVa(a, b) / 1E3, c = a.api.Vc().getPlayerState(), zVa(a, b, {}, c)) }; + hX = function (a, b, c, d) { a.j.oa("timelineerror", { e: b, cpn: c ? c : void 0, videoId: d ? d : void 0 }) }; + FVa = function (a) { a && a !== "web" && EVa.includes(a) }; + oX = function (a, b) { + g.O.call(this); var c = this; this.data = []; this.C = a || NaN; this.B = b || null; this.j = new g.fp(function () { mX(c); nX(c) }); + g.P(this, this.j) + }; + GVa = function (a) { mX(a); return a.data.map(function (b) { return b.value }) }; + mX = function (a) { + var b = (0, g.Zt)(); a.data.forEach(function (c) { c.expire < b && pX(a, c, !0) }); + a.data = g.kn(a.data, function (c) { return !(c.expire < b) }) + }; + pX = function (a, b, c) { c && a.B && a.B(b.value) }; + nX = function (a) { a.j.stop(); var b = Infinity; for (var c = g.w(a.data), d = c.next(); !d.done; d = c.next())d = d.value, d.expire < b && (b = d.expire); b && isFinite(b) && (b = Math.max(b - Date.now(), 100), a.j.start(b)) }; + qX = function () { g.O.call(this); this.j = new oX(5, null); g.P(this, this.j); this.B = new oX(15, null); g.P(this, this.B) }; + HVa = function (a, b) { return b ? !!a.j.get(b) : !1 }; + IVa = function (a, b) { a.dataset.version = b }; + LVa = function (a) { + g.T.call(this, { I: "div", Na: ["html5-video-player"], X: { tabindex: a.U().disableOrganicUi ? "" : "-1", id: a.webPlayerContextConfig ? a.webPlayerContextConfig.rootElementId : a.config.attrs.id }, V: [{ I: "div", S: g.rX.VIDEO_CONTAINER, X: { "data-layer": "0" } }] }); var b = this; this.app = a; this.Tz = this.Ea(g.rX.VIDEO_CONTAINER); this.RB = new g.gm(0, 0, 0, 0); this.Cc = null; this.cM = new g.gm(0, 0, 0, 0); this.nQ = this.wR = this.vR = NaN; this.AK = this.ZL = this.NS = this.pX = !1; this.aP = NaN; this.bR = !1; this.hG = null; this.VR = function () { b.element.focus({ preventScroll: !0 }) }; + this.GL = function () { b.app.Ua.publish("playerUnderlayVisibilityChange", "visible"); b.Cc.classList.remove(g.rX.VIDEO_CONTAINER_TRANSITIONING); b.Cc.removeEventListener(CS, b.GL); b.Cc.removeEventListener("transitioncancel", b.GL) }; + var c = this.element.addEventListener, d = this.element.removeEventListener; this.addEventListener = function (f, h, l) { c.apply(b.element, [f, h, l]) }; + this.removeEventListener = function (f, h, l) { d.apply(b.element, [f, h, l]) }; + var e = a.U(); e.transparentBackground && this.Bt("ytp-transparent"); e.controlsType === "0" && this.Bt("ytp-hide-controls"); g.np(this.element, "ytp-exp-bottom-control-flexbox"); g.np(this.element, "ytp-modern-caption"); e.L("enable_new_paid_product_placement") && !g.dP(e) && g.np(this.element, "ytp-exp-ppp-update"); e.L("html5_enable_ssap") && g.np(this.element, "ytp-ssap"); e.L("enable_cairo_refresh_web") && g.np(this.element, "ytp-cairo-refresh"); e.L("enable_cairo_refresh_signature_moments_web") && g.np(this.element, "ytp-cairo-refresh-signature-moments"); + IVa(this.element, JVa(a)); this.s2 = !1; this.UE = new g.Id(NaN, NaN); KVa(this); this.T(a.Ua, "onMutedAutoplayChange", this.onMutedAutoplayChange) + }; + KVa = function (a) { + function b() { a.Cc && sX(a); tX(a) !== a.bR && a.resize() } + function c(h, l) { a.ju(h, l) } + function d(h) { h.getVideoData() && a.updateVideoData(h.getVideoData()) } + function e() { a.cM = new g.gm(0, 0, 0, 0); a.RB = new g.gm(0, 0, 0, 0) } + var f = a.app.Ua; f.addEventListener("initializingmode", e); f.addEventListener("videoplayerreset", d); f.addEventListener("videodatachange", c); f.addEventListener("presentingplayerstatechange", b); a.addOnDisposeCallback(function () { f.removeEventListener("initializingmode", e); f.removeEventListener("videoplayerreset", d); f.removeEventListener("videodatachange", c); f.removeEventListener("presentingplayerstatechange", b) }) + }; + NVa = function (a) { var b = g.qR(a.app), c = b = b ? b.getVideoData() : null; if (b == null ? 0 : g.jQ(b)) c = a.app.Ua.getVideoData(); if (c) { if (g.KQ(c) || g.LQ(c) || g.MQ(c)) return 16 / 9; if (qQ(c) && c.C.j) return a = c.C.videoInfos[0].video, MVa(a.width, a.height) } return (a = a.Cc) ? MVa(a.videoWidth, a.videoHeight) : 16 / 9 }; + OVa = function (a, b, c, d) { var e = c, f = MVa(b.width, b.height); a.pX ? e = c < f ? Infinity : 0 : isNaN(a.nQ) ? isNaN(a.wR) || (e = a.wR) : e = a.nQ; isFinite(e) || (e = Math.max(c, f)); a = e > f ? { width: b.width, height: b.width / e, aspectRatio: e } : e < f ? { width: b.height * e, height: b.height, aspectRatio: e } : { width: b.width, height: b.height, aspectRatio: f }; d || isNaN(c) || (c > e ? a.width = a.height * c : c < e && (a.height = a.width / c), a.aspectRatio = c); return a }; + MVa = function (a, b) { return Math.abs(PVa * b - a) < 1 || Math.abs(PVa / a - b) < 1 ? PVa : a / b }; + tX = function (a) { if (a.app.getAppState() === 1) return !1; if (a.app.getAppState() === 6) return !0; var b = g.qR(a.app); if (!b || b.oo()) return !1; a = a.app.Ua.getPlayerStateObject(); b = !g.U(a, 2) || b && b.getVideoData().Y; var c = g.U(a, 1024); return a && b && !c && !a.isCued() }; + sX = function (a) { var b = a.app.U().controlsType === "3" && !a.AK && tX(a) && !a.app.tB || !1; a.Cc.controls = b; a.Cc.tabIndex = b ? 0 : -1; b ? a.Cc.removeEventListener("focus", a.VR) : a.Cc.addEventListener("focus", a.VR) }; + QVa = function (a) { + var b = a.ai(), c = 1, d = !1, e = OVa(a, b, a.getVideoAspectRatio()), f = a.app.U(), h = f.L("enable_desktop_player_underlay"), l = nna(), m = g.AC(f.experiments, "player_underlay_min_player_width"); m = h && a.NS && a.getPlayerSize().width > m; if (tX(a)) { + var n = NVa(a); var p = isNaN(n) || g.tu || uX && g.Rt || m; ru && !g.kc(601) ? n = e.aspectRatio : p = p || f.controlsType === "3"; p ? m ? (p = f.L("place_shrunken_video_on_left_of_player"), n = a.getPlayerSize().width * .02, p = p ? n : a.getPlayerSize().width - b.width - n, p = new g.gm(p, 0, b.width, b.height)) : p = new g.gm(0, + 0, b.width, b.height) : (c = e.aspectRatio / n, p = new g.gm((b.width - e.width / c) / 2, (b.height - e.height) / 2, e.width / c, e.height), c === 1 && g.Rt && (n = p.width - b.height * n, n > 0 && (p.width += n, p.height += n))); g.rp(a.element, "ytp-fit-cover-video", Math.max(p.width - e.width, p.height - e.height) < 1); if (l || a.s2) a.Cc.style.display = ""; a.bR = !0 + } else { p = -b.height; ru ? p *= window.devicePixelRatio : g.eP && (p -= window.screen.height); p = new g.gm(0, p, b.width, b.height); if (l || a.s2) a.Cc.style.display = "none"; a.bR = !1 } hm(a.cM, p) || (a.cM = p, g.PO(f) ? (a.Cc.style.setProperty("width", + p.width + "px", "important"), a.Cc.style.setProperty("height", p.height + "px", "important")) : g.um(a.Cc, p.getSize()), d = new g.Gd(p.left, p.top), g.qm(a.Cc, Math.round(d.x), Math.round(d.y)), d = !0); b = new g.gm((b.width - e.width) / 2, (b.height - e.height) / 2, e.width, e.height); hm(a.RB, b) || (a.RB = b, d = !0); g.jm(a.Cc, "transform", c === 1 ? "" : "scaleX(" + c + ")"); h && m !== a.ZL && (m && (a.Cc.addEventListener(CS, a.GL), a.Cc.addEventListener("transitioncancel", a.GL), a.Cc.classList.add(g.rX.VIDEO_CONTAINER_TRANSITIONING)), a.ZL = m, a.app.Ua.publish("playerUnderlayVisibilityChange", + a.ZL ? "transitioning" : "hidden")); return d + }; + RVa = function () { this.csn = g.Ww(); this.clientPlaybackNonce = null; this.elements = new Set; this.C = new Set; this.j = new Set; this.B = new Set }; + SVa = function (a) { if (a.csn !== g.Ww()) if (a.csn === "UNDEFINED_CSN") a.csn = g.Ww(); else { var b = g.Ww(), c = g.Vw(); if (b && c) { a.csn = b; for (var d = g.w(a.elements), e = d.next(); !e.done; e = d.next())(e = e.value.visualElement) && e.isClientVe() && b && c && (g.Pr("combine_ve_grafts") ? QK(OK(), e, c) : g.tr(g.sx)(void 0, b, c, e)) } if (b) for (a = g.w(a.j), c = a.next(); !c.done; c = a.next())(c = c.value.visualElement) && c.isClientVe() && g.zx(b, c) } }; + TVa = function (a, b) { this.Kc = a; this.policy = b; this.playbackRate = 1 }; + UVa = function (a, b) { var c = Math.min(2.5, zO(a.Kc)); a = vX(a); return b - c * a }; + WVa = function (a, b, c, d, e) { e = e === void 0 ? !1 : e; if (a.policy.zp) return Math.ceil(a.policy.zp * b); a.policy.Yl && (d = Math.abs(d)); d /= a.playbackRate; var f = 1 / CO(a.Kc); c = Math.max(.9 * (d - 3), zO(a.Kc) + 2048 * f) / f * .8 / (b + c); c = Math.min(c, d); a.policy.Hj > 0 && e && (c = Math.max(c, a.policy.Hj)); return VVa(a, c, b) }; + VVa = function (a, b, c) { return Math.ceil(Math.max(Math.max(a.policy.al, a.policy.gw * c), Math.min(Math.min(a.policy.Wa, 31 * c), Math.ceil(b * c)))) || a.policy.al }; + XVa = function (a, b, c) { c = WVa(a, b.j.info.ub, c.j.info.ub, 0); var d = zO(a.Kc) + c / CO(a.Kc); return Math.max(d, d + a.policy.XE - c / b.j.info.ub) }; + vX = function (a) { return CO(a.Kc, !a.policy.Mj, a.policy.ew) }; + wX = function (a) { return vX(a) / a.playbackRate }; + YVa = function (a, b, c) { var d = a.policy.playbackStartPolicy.resumeMinReadaheadPolicy || [], e = a.policy.playbackStartPolicy.startMinReadaheadPolicy || []; a = Infinity; b = g.w(b && d.length > 0 ? d : e); for (d = b.next(); !d.done; d = b.next())d = d.value, e = d.minReadaheadMs || 0, c < (d.minBandwidthBytesPerSec || 0) || a > e && (a = e); return a < Infinity ? a / 1E3 : a }; + ZVa = function (a, b, c, d) { + var e = this; this.K = a; this.manifest = b; this.policy = c; this.logger = d; this.vy = []; this.kd = []; this.B = -1; this.Qb = null; this.G = this.timestampOffset = 0; this.bd = null; this.j = 10; this.hd = { XP: function (f) { return e.XP(f) } }; + this.C = b.Vb ? 0 : 1; c.Zq > 0 && (this.j = c.Zq) + }; + cWa = function (a, b, c, d, e) { + if (!e.info.Se) { if (c.length === 0) c.push(e); else { var f; (a = (f = c.pop()) == null ? void 0 : kN(f, e)) ? c.push(a) : c.push(e) } return d } var h; (c = (h = c.pop()) == null ? void 0 : kN(h, e)) || (c = e); if (a.policy.yc && c.info.Ub) return a.logger && a.logger({ incompleteSegment: c.info.Sc() }), d; h = a.XP(c); d = h.formatId; e = h.Pa; f = h.clipId; c = h.b8; h = h.startTimeMs; !a.policy.Rf && a.policy.j && a.bd && (f = aX(a.bd, f), h += f); d = { formatId: d, startTimeMs: h, durationMs: c, pn: e, Yi: e, IB: h, HB: c }; e = $Va(b, d.startTimeMs); (c = e >= 0 ? b[e] : null) && aWa(a, + c, d) ? d = c : (e += 1, b.splice(e, 0, d)); c = 0; for (f = e + 1; f < b.length; f++) { h = a; var l = b[f], m = d, n = l.startTimeMs + l.durationMs, p = m.startTimeMs + m.durationMs; p >= n + h.j ? h = !0 : p + h.j < l.startTimeMs ? h = !1 : bWa(h, l.formatId, m.formatId) ? (m.durationMs = n - m.startTimeMs, m.HB = m.durationMs, m.Yi = l.Yi, h = !0) : (l.startTimeMs = p, l.IB = p, l.pn = m.Yi + 1, h = !1); if (!h) break; c++ } c && b.splice(e + 1, c); return e + }; + $Va = function (a, b) { + a = g.Yb(a, { startTimeMs: b }, function (c, d) { return c.startTimeMs - d.startTimeMs }); + return a >= 0 ? a : -a - 2 + }; + dWa = function (a, b) { + if (a.Qb) { + var c = a.Qb.oe(); if (c.length !== 0) { + if (a.policy.VA && a.D && b) { var d = a.D, e = d.info.We; !nF(c, e) && d.info.D > 0 && (0, g.Zt)() - a.G < 5E3 && (a.logger && a.logger({ dend: d.info.Sc() }), c = Fwa(c, e, e + .01)) } d = []; for (var f = e = 0; e < c.length && f < a.kd.length;) { + var h = c.start(e), l = c.end(e), m = a.kd[f].startTimeMs / 1E3, n = (a.kd[f].startTimeMs + a.kd[f].durationMs) / 1E3; if (m <= l && n >= h) { + var p = 0; if (a.bd) { var q = cX(a.bd, m * 1E3); q && (p = q.Nl / 1E3) } q = Object.assign({}, a.kd[f]); var r = a.manifest.K.get(hIa(a.kd[f].formatId)), t = Math.max(m, + h); h = r.index.Li(t + a.j / 1E3 - p); m = r.index.getStartTime(h) + p; var u = h + +(Math.abs(m - t) > a.j / 1E3); t = u + a.C; u = (r.index.getStartTime(u) + p) * 1E3; a.policy.lw && f === a.B && !b ? (a.logger && a.logger({ pEvict: "1", og: q.startTimeMs, adj: m * 1E3 }), q.pn = h + a.C, q.startTimeMs = m * 1E3) : (q.pn = t, q.startTimeMs = u); q.IB = q.startTimeMs; h = void 0; m = ((h = a.D) == null ? void 0 : h.info.duration) || 11; f === a.B && l < n && n - l <= m * 1.01 && (l = n); h = Math.min(n, l); m = r.index.Li(h - a.j / 1E3 - p); t = a.policy; (t.j || t.Da.L("html5_sabr_include_tail_media_chunk")) && r.index.po(m + + 1) && r.index.UJ(m + 1) + p <= h && (m += 1); t = r.index.UJ(m) + p; m -= +(Math.abs(t - h) > a.j / 1E3); h = m + a.C; p = (r.index.UJ(m) + p) * 1E3; q.Yi = h; q.durationMs = p - q.startTimeMs; q.HB = q.durationMs; q.pn <= q.Yi && d.push(q) + } n < l ? f += 1 : e += 1 + } a.kd = d + } + } + }; + eWa = function (a) { + var b = [], c = [].concat(g.x(a.vy)); a.kd.forEach(function (h) { b.push(Object.assign({}, h)) }); + for (var d = a.B, e = g.w(a.K.DY()), f = e.next(); !f.done; f = e.next())d = cWa(a, b, c, d, f.value); b.forEach(function (h) { h.startTimeMs && (h.startTimeMs += a.timestampOffset * 1E3, h.IB && (h.IB += a.timestampOffset * 1E3)) }); + return { kd: b, vy: c } + }; + aWa = function (a, b, c) { + var d = b.startTimeMs + b.durationMs, e = c.startTimeMs + c.durationMs; if (c.startTimeMs - d > a.j) return !1; if (bWa(a, b.formatId, c.formatId)) return b.durationMs = Math.max(d, e) - b.startTimeMs, b.HB = b.durationMs, b.Yi = Math.max(b.Yi, c.Yi), !0; if (Math.abs(b.startTimeMs - c.startTimeMs) <= a.j) { + if (b.durationMs > c.durationMs + a.j) { + a = b.formatId; var f = b.pn, h = b.Yi; b.formatId = c.formatId; b.durationMs = c.durationMs; b.pn = c.pn; b.HB = c.durationMs; b.Yi = c.Yi; c.formatId = a; c.startTimeMs = e; c.IB = e; c.durationMs = d - e; c.HB = c.durationMs; + c.pn = f; c.Yi = h; return !1 + } b.formatId = c.formatId; return !0 + } d > c.startTimeMs && (b.durationMs = c.startTimeMs - b.startTimeMs, b.HB = b.durationMs); return !1 + }; + bWa = function (a, b, c) { return b.itag !== c.itag || b.xtags !== c.xtags ? !1 : a.manifest.Vb || b.lmt === c.lmt }; + fWa = function (a, b, c) { if (a.logger) { for (var d = [], e = 0; e < b.length; e++) { var f = b[e], h = void 0; if ((h = f.DS) == null ? 0 : h.Tg) { var l = h = void 0, m = void 0; d.push("i." + ((h = f.formatId) == null ? void 0 : h.itag) + "_st." + (f.startTimeMs + "_psst.") + (((l = f.DS) == null ? void 0 : l.Tg) + "_psd.") + ((m = f.DS) == null ? void 0 : m.JE)) } h = void 0; d.push("i." + ((h = f.formatId) == null ? void 0 : h.itag) + "_st." + (f.startTimeMs + "_e." + (f.startTimeMs + f.durationMs) + "_d." + f.durationMs) + ("_sn." + f.pn) + ("_en." + f.Yi)) } a.logger({ p: "" + c, br: d.join(";") }) } }; + gWa = function (a) { a.kd = []; a.vy = []; a.B = -1; a.D = void 0 }; + hWa = function (a, b) { + var c = a.kd.some(function (e) { return e.pn <= b + a.C && e.Yi >= b + a.C }), d = a.vy.some(function (e) { return e.info.Pa === b }); + return c || d + }; + xX = function (a, b, c, d, e) { this.ya = a; this.manifest = b; this.videoTrack = c; this.audioTrack = d; this.policy = e; this.seekCount = this.j = 0; this.G = !1; this.B = this.manifest.isManifestless && !this.manifest.Wd; this.D = null; this.C = 0 }; + iWa = function (a, b, c) { if (!a.policy.K) { a = b.j.index; var d = b.B.Pa; a.po(d) || c && c.Pa === d ? (b.G = !a.po(d), b.qa = !a.po(d)) : (b.G = !0, b.qa = !0) } }; + kWa = function (a) { var b = Math.max(a.videoTrack.D.C || 0, a.audioTrack.D.C || 0); jWa(a.videoTrack); jWa(a.audioTrack); a.policy.K || zIa(a.manifest); a.manifest.isManifestless && !a.policy.K && (a.B = !0, a.C = 0); var c = a.ya; c.policy.yb || (c.currentTime = b); a.G = !0; a.D = new FF; return a.D }; + mWa = function (a, b, c, d, e) { var f = a.policy.yc ? e : void 0; if (!b.j.jg()) { if (!(f = c === 0 || !!b.C.length && b.C[0] instanceof yX)) a: { if (b.C.length && (f = b.C[0], f instanceof zX && f.rh && f.Ei)) { f = !0; break a } f = !1 } f || a.policy.B || AX(b); return c } var h = BX(b, c); if (!isNaN(h)) return h; if (a.ya.XQ(c * 1E3)) return c; e.XA || (b.lk(), a.policy.bl ? a.ya.qv(!1) : a.ya.qv(!0)); return d && (a = oF(d.oe(), c), !isNaN(a)) ? (CX(b, a + lWa, f), c) : CX(b, c, f) }; + pWa = function (a, b, c, d) { + if (a.policy.K) !d || !a.B && a.policy.Jb || g.De(function () { DX(a) }); + else { + if (a.isSeeking() && a.j) { + var e = nWa(a, b, c); if (e !== -1) { + a.videoTrack.G = !1; a.audioTrack.G = !1; a.B = !0; a.C = 0; g.De(function () { a.ya.oa("seekreason", { reason: "behindMinSq", tgt: e }); oWa(a, e) }); + return + } + } c ? a.videoTrack.qa = !1 : a.audioTrack.qa = !1; var f = a.policy.JB || !a.B; BX(a.videoTrack, a.j) >= 0 && BX(a.audioTrack, a.j) >= 0 && f ? ((a.videoTrack.G || a.audioTrack.G) && a.ya.oa("iterativeSeeking", { status: "done", count: a.seekCount }), a.videoTrack.G = !1, a.audioTrack.G = !1) : d && g.De(function () { + if (a.B || !a.policy.Jb) DX(a); else { + var h = b.startTime, l = b.duration; if (!a.policy.K) { + var m = c ? a.videoTrack.G : a.audioTrack.G, n = a.videoTrack.K !== -1 && a.audioTrack.K !== -1, p = a.j >= h && a.j < h + l + .1, q = !a.videoTrack.qa && !a.audioTrack.qa, r = a.policy.WB && + BX(a.videoTrack, h) && BX(a.audioTrack, h); m && n && q && (p || r ? ((c ? a.videoTrack : a.audioTrack).G = !1, a.videoTrack.G || a.audioTrack.G || (a.ya.oa("iterativeSeeking", { status: "done", target: h, originalTime: h + a.ya.Dc(), count: a.seekCount }), a.seekCount = 0)) : a.seekCount < 8 ? (a.seekCount++, a.ya.oa("iterativeSeeking", { status: "inprogress", count: a.seekCount, target: a.j, actual: h, duration: l, isVideo: c }), a.seek(a.j, {})) : (a.ya.oa("iterativeSeeking", { status: "incomplete", count: a.seekCount, target: a.j, actual: h }), a.seekCount = 0, a.videoTrack.G = + !1, a.audioTrack.G = !1, EX(a.ya, h + .1, { xx: !0, Zc: "chunkSelectorSynchronizeMedia", Fp: !0 }))) + } + } + }) + } + }; + nWa = function (a, b, c) { if (!a.isSeeking()) return -1; c = (c ? a.videoTrack : a.audioTrack).j.index; var d = c.Li(a.j); return (c.po(a.manifest.df) || b.Pa === a.manifest.df) && d < a.manifest.df ? a.manifest.Xc() : -1 }; + oWa = function (a, b, c) { a.B && a.videoTrack.K !== -1 && a.audioTrack.K !== -1 && (a.B = !1, a.j = b, EX(a.ya, b + .1, { xx: !0, Zc: "chunkSelectorSynchronize", Fp: !0, seekSource: c })) }; + DX = function (a) { + var b = a.videoTrack.K !== -1, c = a.audioTrack.K !== -1; if (!b || !c) if (b = !b && FX(a.videoTrack), c = !c && FX(a.audioTrack), b || c) { + c = b ? a.videoTrack : a.audioTrack; b = b ? a.audioTrack : a.videoTrack; c.K = FX(c).info.Pa; if (a.policy.K) { var d; b.K = ((d = FX(b)) == null ? void 0 : d.info.Pa) || b.K } if (b.K !== -1) { + var e = Math.max(b.j.index.getStartTime(b.K), c.j.index.getStartTime(c.K)); FN(a.manifest) && Math.abs(e - FN(a.manifest)) > 432E3 && AIa(a.manifest); a.C && (e = a.C, a.C = 0); g.De(function () { a.policy.K || oWa(a, e, 102) }); + a.ya.oa("initManifestlessSync", { st: e, ost: e + a.ya.Dc(), a: a.audioTrack.K, v: a.videoTrack.K }); a.D && (a.D.resolve(e + .1), a.D = null); a.policy.K && oWa(a, e, 102) + } + } + }; + HX = function (a, b) { + var c = this; this.Cb = a; this.requestNumber = ++qWa; this.j = this.now(); this.qa = this.G = NaN; this.N = this.j; this.B = this.Ob = this.D = 0; this.K = this.j; this.Ra = this.Ga = this.Va = this.yc = this.wc = this.Fa = this.ra = this.C = 0; this.Z = void 0; this.Ya = 0; this.Y = this.isActive = !1; this.Ab = this.ob = 0; this.hd = { zoa: function () { return c.Lp } }; + this.Kc = b.Kc; this.snapshot = pJa(this.Kc); this.policy = this.Kc.Ra; this.Qp = !!b.Qp; this.hv = b.hv; b.DJ && (GX || (GX = jK("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.")), this.Z = new Uint8Array(2048)); var d; this.Lp = (d = b.Lp) != null ? d : !1; mJa(this.Kc) + }; + rWa = function (a) { a.Va = Math.max(a.Va, a.D - a.wc); a.Ga = Math.max(a.Ga, a.N - a.yc); a.Fa = 0 }; + IX = function (a, b, c) { nJa(a.Kc, b); if (a.Z) { if (a.Ya + 20 > a.Z.length) { var d = new Uint8Array(a.Z.length * 2); d.set(a.Z); a.Z = d } sWa(a, Math.ceil(b) - Math.ceil(a.N)); sWa(a, Math.max(0, Math.ceil(c / 1024) - Math.ceil(a.D / 1024))) } d = b - a.N; var e = c - a.D; a.Ob = e; a.Ra = Math.max(a.Ra, e / (d + .01) * 1E3); a.N = b; a.D = c; a.Fa && c > a.Fa && rWa(a) }; + sWa = function (a, b) { for (; b > 31;)a.Z[a.Ya++] = GX[(b & 31) + 32], b >>= 5; a.Z[a.Ya++] = GX[b] }; + tWa = function (a) { return a.Z ? g.gK(a.Z.subarray(0, a.Ya)) : "" }; + uWa = function (a, b) { a.url = b; window.performance && !performance.onresourcetimingbufferfull && (performance.onresourcetimingbufferfull = function () { performance.clearResourceTimings() }) }; + JX = function (a, b) { HX.call(this, a, b); this.yb = this.Kb = !1; this.Ma = this.Ba = Infinity; this.Ka = NaN; this.Jb = !1; this.Xa = NaN; this.Tb = 0; this.dA = b.dA || 1; this.zS = b.zS || this.dA; this.Ml = b.Ml; this.Pa = b.Pa; this.hh = b.hh; vWa(this); this.dT(this.j); this.Wa = (this.Xa - this.j) / 1E3 }; + wWa = function (a, b, c) { a.Qp || (b = Math.max(b, .01), vO(a.Kc, b, c, b)) }; + xWa = function (a, b) { return b ? a.LK() && !a.policy.j ? !0 : b >= 2048 : !1 }; + yWa = function (a) { return (a.K - a.j) / 1E3 }; + vWa = function (a) { a.Ka = a.j + a.snapshot.delay * 1E3; a.Jb = !1 }; + BWa = function (a, b) { if (a.Ml && a.Pa !== void 0 && a.hh !== void 0) { var c = Math, d = c.min, e = a.Ba; var f = a.Ml; var h = a.j; if (zWa(f, a.Pa)) f = b; else { var l = 0; f.sj && (l = .2); f = h + (f.Vj + l) * 1E3 } a.Ba = d.call(c, e, f); c = Math; d = c.min; e = a.Ma; f = a.Ml; h = a.j; l = AWa(f, a.Pa, a.hh); l !== 2 && (b = l ? b : h + f.Vj * 1E3, f.sj && (b += f.Vj * 1E3)); a.Ma = d.call(c, e, b); a.Ba <= a.j ? vWa(a) : (a.Ka = a.Ba, a.Jb = !0) } }; + CWa = function (a) { a.Ml && BWa(a, a.now()); return a.Jb }; + DWa = function (a, b) { + if (b + 1 <= a.totalLength) { var c = bK(a, b); c = c < 128 ? 1 : c < 192 ? 2 : c < 224 ? 3 : c < 240 ? 4 : 5 } else c = 0; if (c < 1 || !(b + c <= a.totalLength)) return [-1, b]; if (c === 1) a = bK(a, b++); else if (c === 2) c = bK(a, b++), a = bK(a, b++), a = (c & 63) + 64 * a; else if (c === 3) { c = bK(a, b++); var d = bK(a, b++); a = bK(a, b++); a = (c & 31) + 32 * (d + 256 * a) } else if (c === 4) { c = bK(a, b++); d = bK(a, b++); var e = bK(a, b++); a = bK(a, b++); a = (c & 15) + 16 * (d + 256 * (e + 256 * a)) } else c = b + 1, a.focus(c), ZJ(a, c, 4) ? a = mBa(a).getUint32(c - a.C, !0) : (d = bK(a, c + 2) + 256 * bK(a, c + 3), a = bK(a, c) + 256 * (bK(a, c + 1) + + 256 * d)), b += 5; return [a, b] + }; + KX = function (a) { this.Cb = a; this.j = new VJ }; + LX = function (a, b) { this.info = a; this.callback = b; this.state = 1; this.KB = this.zQ = !1; this.eg = null }; + EWa = function (a) { return g.Bl(a.info.gb, function (b) { return b.type === 3 }) }; + FWa = function (a, b, c, d) { + var e = this; d = d === void 0 ? {} : d; this.policy = b; this.Cb = c; this.status = 0; this.j = new VJ; this.B = 0; this.La = this.D = this.C = !1; this.xhr = new XMLHttpRequest; this.xhr.open(d.method || "GET", a); if (d.headers) for (a = d.headers, b = g.w(Object.keys(a)), c = b.next(); !c.done; c = b.next())c = c.value, this.xhr.setRequestHeader(c, a[c]); this.xhr.withCredentials = !0; this.xhr.onreadystatechange = function () { return e.BB() }; + this.xhr.onload = function () { return e.onDone() }; + this.xhr.onerror = function () { return e.onError() }; + this.xhr.fetch(function (f) { e.j.append(f); e.B += f.length; f = (0, g.Zt)(); e.Cb.Bs(f, e.B) }, function () { }, d.body || null) + }; + GWa = function (a, b) { this.B = (new TextEncoder).encode(a); this.j = (new TextEncoder).encode(b) }; + BKa = function (a, b) { var c, d, e; return g.J(function (f) { if (f.j == 1) { if (!b) return f.return(b); c = MX.zC(); d = new g.PJ(a.B); return g.G(f, d.encrypt(b, a.j), 2) } e = f.B; MX.fA("woe", c, Math.ceil(b.byteLength / 16)); return f.return(e) }) }; + GKa = function (a, b) { var c, d, e; return g.J(function (f) { if (f.j == 1) { if (!b) return f.return(b); c = MX.zC(); d = new g.PJ(a.B); return g.G(f, d.decrypt(b, a.j), 2) } e = f.B; MX.fA("wod", c, Math.ceil(b.byteLength / 16)); return f.return(e) }) }; + HWa = function (a, b) { + var c = this; this.j = a; this.Cb = b; this.loaded = this.status = 0; this.error = ""; a = MM(this.j.get("range") || ""); if (!a) throw Error("bad range"); this.range = a; this.B = new VJ; this.Hs().then(function () { c.Cb.Oo() }, function (d) { + c.error = "" + d || "unknown_err"; + c.Cb.Oo() + }) + }; + JWa = function (a, b, c, d) { + var e = this; d = d === void 0 ? {} : d; this.policy = b; this.Cb = c; this.N = d; this.status = 0; this.response = void 0; this.B = 0; this.G = this.K = !1; this.errorMessage = ""; this.Y = function (f) { + if (f) if (e.status = f.status, f.ok && f.body && e.status !== 204) e.status = e.status || 242, e.C = f.body.getReader(), e.La() ? e.C.cancel().catch(function () { }) : (e.responseHeaders = f.headers, e.Cb.Wu(), IWa(e)); + else e.onDone(); else e.onError(Error("null_response")) + }; + this.Z = function (f) { var h = (0, g.Zt)(); e.La() || (f.done ? (e.C = void 0, e.onDone()) : (f = f.value, e.B += f.length, e.j.append(f), IWa(e), e.Cb.Bs(h, e.B))) }; + this.onError = function (f) { e.errorMessage = String(f); e.K = !0; e.onDone() }; + this.j = new VJ; this.D = window.AbortController ? new AbortController : void 0; this.start(a) + }; + IWa = function (a) { a.C.read().then(a.Z, a.onError).then(void 0, Gt) }; + KWa = function (a, b, c) { + var d = this; c = c === void 0 ? {} : c; this.Cb = b; this.B = this.status = 0; this.La = this.j = !1; this.xhr = new XMLHttpRequest; this.xhr.open(c.method || "GET", a); if (c.headers) { a = c.headers; b = g.w(Object.keys(a)); for (var e = b.next(); !e.done; e = b.next())e = e.value, this.xhr.setRequestHeader(e, a[e]) } this.xhr.responseType = "arraybuffer"; this.xhr.withCredentials = !0; this.xhr.onreadystatechange = function (f) { d.BB(f) }; + a = JK(function (f) { d.onDone(f) }); + this.xhr.addEventListener("load", a, !1); this.xhr.addEventListener("error", a, !1); c.body ? this.xhr.send(c.body) : this.xhr.send(); this.xhr.addEventListener("progress", JK(function (f) { d.Cg(f) }), !1) + }; + NX = function (a, b, c, d, e) { if (LL(a.base)) return new HWa(a, c); a = a.Ce(); return d ? VBa() ? new FWa(a, b, c, e) : new JWa(a, b, c, e) : new KWa(a, c, e) }; + OX = function (a, b, c, d, e, f, h, l, m) { m = m === void 0 ? !1 : m; g.O.call(this); this.Cb = a; this.policy = b; this.ke = c; this.resource = d; this.timing = e; this.logger = f; this.C = h; this.uy = l; this.G = m; this.lastError = null; this.j = 0; this.D = !1; this.B = new g.fp(this.zda, this.policy.Zk, this) }; + LWa = function (a) { a.resource.Z = (0, g.Zt)(); a = PX(a); a.B = (0, g.Zt)(); a.started += 1 }; + MWa = function (a, b, c) { a.timing.HR((0, g.Zt)(), b, c); b = a.resource; b.B = 0; b.G = 0; b.K = 0; DM(PX(a)); if ((b = a.uy) != null && (a = a.ke.base, !((0, g.Zt)() < b.K + 3E5 || LL(a)) && (c = KL(a)) && sTa(c) && b.B === qW(c))) { var d; ML(a) && (d = KL(NL(a))); g.bt("yt-player-bandaid-host", { primary: c, secondary: d }, 864E3); b.K = (0, g.Zt)(); pTa(b, { primary: c, secondary: d }) } }; + QX = function (a) { if (a.lastError === "ump.spsrejectfailure") a.timing.Y || hEa(a.resource, !1, a.ke, a.policy, a.C); else { if (a.lastError === "net.timeout") a.timing.qL((0, g.Zt)()); else { var b = a.timing; IX(b, (0, g.Zt)(), b.D) } if (a.lastError === "net.nocontent") ++a.resource.K; else { if ((b = a.lastError === "net.timeout" || a.lastError === "net.connect" || a.lastError === "net.closed") && !LL(a.ke.base)) { var c = PX(a); c.timedOut += 1 } else c = PX(a), c.j += 1; a.timing.Y || hEa(a.resource, b, a.ke, a.policy, a.C) } } a.Cb.zd(5) }; + RX = function (a, b, c, d, e) { return b >= 400 ? (a.lastError = "net.badstatus", !0) : (e === void 0 ? 0 : e) ? (a.lastError = "ump.spsrejectfailure", !0) : c || d !== void 0 && d ? !1 : (a.lastError = b === 204 ? "net.nocontent" : "net.connect", !0) }; + PX = function (a) { return EM(a.C, KL(a.ke.base)) }; + NWa = function (a) { var b = a.timing.qr(); b.shost = KL(a.ke.base); return b }; + OWa = function (a, b) { return (a == null ? void 0 : a.maxWidth) > (b == null ? void 0 : b.maxWidth) || (a == null ? void 0 : a.maxHeight) > (b == null ? void 0 : b.maxHeight) }; + PWa = function (a, b) { + for (var c = g.w(b.keys()), d = c.next(); !d.done; d = c.next())if (d = b.get(d.value), d.length !== 0) { + g.$b(d, function (l, m) { return m.maxFramerate - l.maxFramerate }); + for (var e = [d[0]], f = 0, h = 1; h < d.length; h++)OWa(d[h], e[f]) && (e.push(d[h]), f++); a = a.concat(e) + } return a + }; + RWa = function (a, b) { var c = []; b = g.w(b); for (var d = b.next(); !d.done; d = b.next()) { d = d.value; var e = QWa[d] || 0; a.j && e > a.j || c.push(d) } return c }; + VWa = function (a, b, c) { var d = SWa[a] || []; c.L("html5_shorts_onesie_mismatched_fix") && (d = TWa[a] || []); b.push.apply(b, g.x(d)); c.L("html5_early_media_for_drm") && b.push.apply(b, g.x(UWa[a] || [])) }; + aXa = function (a, b) { + var c = uQ(a), d = a.U(), e = d.G; d = d.L("html5_shorts_onesie_mismatched_fix"); var f = a.Bk(); if (d) { if (!e.B) { if (f && SX) return SX; if (TX) return TX } } else if (TX && !e.B) return TX; var h = [], l = [], m = {}, n = UX.concat(WWa); d && (n = UX.concat(XWa)); a.L("html5_early_media_for_drm") && (n = n.concat(YWa), a.L("allow_vp9_1080p_mq_enc") && n.push(ZWa)); var p = [].concat(g.x($Wa)); c.Z && (p[0] = ["141"]); n = g.w(n); for (var q = n.next(); !q.done; q = n.next()) { + var r = !1; q = g.w(q.value); for (var t = q.next(); !t.done; t = q.next()) { + t = t.value; var u = + lP(t, f && d); if (u && u.video && !(ZE(u) && !c.Ga && u.video.j > c.wj)) { var y = g.AC(a.U().experiments, "html5_drm_byterate_soft_cap"); y > 0 && Dwa(u) && u.ub > y || (r ? (h.push(t), VWa(t, h, a)) : (u = AL(c, u, e), u === !0 ? (r = !0, h.push(t), VWa(t, h, a)) : m[t] = u)) } + } + } p = g.w(p); for (n = p.next(); !n.done; n = p.next())for (n = g.w(n.value), r = n.next(); !r.done; r = n.next())if (r = r.value, (q = NJa(r)) && q.audio && (a.L("html5_onesie_51_audio") || !$E(q) && !aF(q))) if (q = AL(c, q, e), q === !0) { l.push(r); VWa(r, l, a); break } else m[r] = q; c.B && b("orfmts", m); if (d) return e.B && (e.B = + !1, SX = TX = void 0), f ? SX = { video: h, audio: l } : TX = { video: h, audio: l }; TX = { video: h, audio: l }; e.B = !1; return TX + }; + eXa = function (a) { + var b = {}, c = a.ea, d = a.Da, e = c.getVideoData(), f = aL(0), h = c.getPlayerSize(), l = c.getVisibilityState(); f && (b.n$ = f, b.lastManualDirection = WBa(), f = Ona() || 0, f > 0 && (f = (d.L("html5_use_date_now_for_local_storage") ? Date.now() : (0, g.Zt)()) - f, d.L("html5_use_date_now_for_local_storage") ? f > 0 && (b.timeSinceLastManualFormatSelectionMs = f) : b.timeSinceLastManualFormatSelectionMs = f)); b.wea = aL(); f = d.L("html5_use_streamer_bandwidth_for_low_latency_live") && e.isLowLatencyLiveStream; if (d.schedule.Z && !f) { + var m; f = d.L("html5_disable_bandwidth_cofactors_for_sabr_live") ? + !((m = a.Ge) == null || !m.Mj) : !1; b.q7 = CO(d.schedule, !f) + } m = g.aP(); var n = g.RE.medium, p = Math.floor(n * 16 / 9); f = e.Bk() ? n : p; n = e.Bk() ? p : n; b.A7 = Math.max(h.width * m, f); b.z7 = Math.max(h.height * m, n); b.visibility = l; b.Lea = Wv(); b.d8 = g.XI(c.hc().provider) * 1E3; d.L("html5_sabr_support_quality_constraints") && a.Oz && (b.Oz = a.Oz); d.L("html5_enable_sabr_drm_hd720p") && a.sabrLicenseConstraint && (b.sabrLicenseConstraint = a.sabrLicenseConstraint); if (d.L("html5_enable_platform_backpressure_with_sabr")) { + if (b.Ww = 3, a.nH || (b.Ww ^= 1), !a.qH || + sQ(e)) b.Ww ^= 2 + } else { if (d.L("html5_onesie_media_capabilities") || d.L("html5_enable_server_format_filter")) b.Ww = 3; d.L("html5_onesie_audio_only_playback") && sQ(e) && (b.Ww = 1) } h = e.kf ? e.kf : uQ(e); if (d.L("html5_onesie_media_capabilities")) { + l = d.G; m = []; f = []; n = d.L("html5_shorts_onesie_mismatched_fix"); e = e.Bk(); var q = UX.concat(WWa); n && (q = UX.concat(XWa)); d.L("html5_early_media_for_drm") && (q = q.concat(YWa), d.L("allow_vp9_1080p_mq_enc") && q.push(ZWa)); p = [].concat(g.x($Wa)); h.Z && (p[0] = ["141"]); q = g.w(q); for (var r = q.next(); !r.done; r = + q.next()) { r = g.w(r.value); for (var t = r.next(); !t.done; t = r.next()) { t = t.value; var u = lP(t, e && n); if (u && u.video) { var y = g.AC(d.experiments, "html5_drm_byterate_soft_cap"); if (!(y > 0 && Dwa(u) && u.ub > y) && AL(h, u, l) === !0) { m.push({ videoCodec: bXa[VE[t]], maxWidth: u.video.width, maxHeight: u.video.height, maxFramerate: u.video.fps }); break } } } } e = g.w(p); for (n = e.next(); !n.done; n = e.next())for (n = g.w(n.value), p = n.next(); !p.done; p = n.next())if (p = p.value, (q = NJa(p)) && q.audio && (d.L("html5_onesie_51_audio") || !$E(q) && !aF(q)) && AL(h, q, l) === + !0) { f.push({ audioCodec: cXa[VE[p]], numChannels: q.audio.numChannels }); break } b.mediaCapabilities = { videoFormatCapabilities: m, audioFormatCapabilities: f } + } var A; if ((A = a.Ge) == null ? 0 : A.B && A.wp) { + A = d.G; l = []; m = []; f = new Map; if ((e = A.j) && e.size > 0) for (e = g.w(e.values()), n = e.next(); !n.done; n = e.next())p = n.value, p.Gh ? m.push({ audioCodec: cXa[p.rb], numChannels: p.numChannels, spatialCapabilityBitmask: dXa[p.rb] }) : (q = bXa[p.rb], n = { + videoCodec: q, maxWidth: p.maxWidth || 0, maxHeight: p.maxHeight || 0, maxFramerate: p.maxFramerate || 0, is10BitSupported: p.JF || + !1 + }, p.maxBitrateBps && (n.maxBitrateBps = p.maxBitrateBps, r = lP(p.itag), t = void 0, ((t = r) == null ? 0 : t.video) && AL(h, r, A) === !0 && (r = r.ub * 8, r > n.maxBitrateBps && (n.maxBitrateBps = r))), p = q + "_" + p.JF, q = f.get(p) || [], q.push(n), f.set(p, q)); l = PWa(l, f); b.mediaCapabilities = { videoFormatCapabilities: l, audioFormatCapabilities: m, hdrModeBitmask: 3 } + } var D; if ((D = a.Ge) == null ? 0 : D.B) { b.So = h.So; var F; b.wj = (F = a.Ge) == null ? void 0 : F.wj } d.Tf && (b.a8 = d.Tf); b.MS = a.AE; b.Ly = a.Ly; if (d.L("html5_fix_time_since_last_seek_reporting") ? a.jq !== void 0 : + a.jq) b.Mea = (0, g.Zt)() - a.jq; a.isPrefetch && d.L("html5_report_prefetch_requests") && (b.isPrefetch = !0); iO || (b.R$ = !0); D = zO(d.schedule) * 1E3; D > 0 && (b.F7 = D); var H; ((H = a.Ge) == null ? 0 : H.Uv) && a.Wx && a.Wx < Infinity && (b.Wx = a.Wx); c = c.getPlaybackRate(); c !== 1 && (b.playbackRate = c); var M; ((M = a.Ge) == null ? 0 : M.wc) && a.Gq && (b.Lw = a.Lw, b.Vy = a.Vy, b.Gq = a.Gq); d.L("allow_proxima_live_latency") && (bL() === 1 && (b.p$ = 1), d.L("html5_sabr_force_proxima") && (b.o$ = 1), a = g.AC(d.experiments, "html5_sabr_force_max_network_interruption_duration_ms"), + b.D$ = a > 0 ? a : d.schedule.interruptions[0] || 0); return b + }; + VX = function (a, b, c, d, e, f) { + var h = {}; b && (h.MB = b); if (!a) return h; h.playbackCookie = c == null ? void 0 : c.playbackCookie; e && (h.SS = e); h.aN = []; h.tM = []; if (g.jQ(a) && a.sabrContextUpdates.size > 0) for (b = g.w(a.sabrContextUpdates.values()), c = b.next(); !c.done; c = b.next())fXa(h, c.value, d); gQ(a) && !g.jQ(a) && a.L("html5_enable_sabr_request_pipelining") && f && fXa(h, f, d); a.WA && (h.nea = a.WA); d = a.U().j; h.clientInfo = { clientName: gXa[d.c.toUpperCase()] || 0 }; d.cbrand && (h.clientInfo.deviceMake = d.cbrand); d.cmodel && (h.clientInfo.deviceModel = + d.cmodel); d.cver && (h.clientInfo.clientVersion = d.cver); d.cos && (h.clientInfo.osName = d.cos); d.cosver && (h.clientInfo.osVersion = d.cosver); a.mp && (h.mp = a.mp); return h + }; + fXa = function (a, b, c) { var d = b.type || 0; (c == null ? 0 : c.has(d)) ? a.tM.push(b) : a.aN.push(d) }; + zX = function (a, b, c, d, e, f) { + var h = f === void 0 ? {} : f; var l = h.VG === void 0 ? [] : h.VG; var m = h.SH === void 0 ? !1 : h.SH; var n = h.Kw === void 0 ? 0 : h.Kw; var p = h.poToken === void 0 ? "" : h.poToken; var q = h.uy === void 0 ? void 0 : h.uy; var r = h.dH === void 0 ? "" : h.dH; var t = h.rh === void 0 ? 0 : h.rh; var u = h.Ei === void 0 ? new Uint8Array(0) : h.Ei; var y = h.KM === void 0 ? !1 : h.KM; f = h.qq === void 0 ? 0 : h.qq; h = h.MB === void 0 ? void 0 : h.MB; LX.call(this, b, e); var A = this; this.policy = a; this.logger = new g.MN("dash/request"); this.Pz = this.Ag = 0; this.Y1 = !1; this.Sr = this.aq = + null; this.hZ = !1; this.Ei = this.rh = null; this.YM = this.q3 = !1; this.cJ = null; this.qq = this.Sp = 0; this.Au = !1; this.hd = { + zd: function (F) { A.zd(F) }, + foa: function () { return A.eg }, + Cpa: function (F) { A.eg = F }, + Bpa: function (F) { A.Ag = F }, + Apa: function (F) { A.Cd.lastError = F }, + mQ: function () { return A.xhr } + }; + this.timing = new JX(this, c); this.SH = m; this.rh = t; this.Ei = u; this.ke = g.ZM(this.info, this.policy, d); this.ke.set("rn", this.Vp().toString()); this.ke.set("rbuf", (n * 1E3).toFixed().toString()); this.SH && this.ke.set("smb", "1"); this.policy.Zl && p && this.ke.set("pot", p); r && this.ke.set("bbs", r); this.policy.useUmp && !LL(this.ke.base) && (this.Tl = new KX(this), this.ke.set("ump", "1"), this.ke.set("srfvp", "1")); if (a = this.policy.Zs ? this.policy.hD && !isNaN(this.info.hh) && this.info.hh > this.policy.XD ? !1 : !0 : !1) b = null, this.policy.RD && + this.policy.vk ? b = [1] : y && (b = []), b != null && (this.policy.YC && b.push(2), this.ke.set("defsel", b.join(","))); this.Cd = new OX(this, this.policy, this.ke, this.info.resource, this.timing, this.logger, d, q); this.VG = l || null; this.KB = hXa(this); LWa(this.Cd); d = void 0; if (this.policy.QD || this.Tl || this.policy.Ka) d = { method: "POST" }, l = (0, g.WX)([120, 0]), q = {}, this.policy.cD && h && (h = VX(void 0, h), q.BC = h), this.policy.mw && this.Ei && (q.videoPlaybackUstreamerConfig = this.Ei), this.policy.Ka && (h = this.info.D) && Object.assign(q, h), Object.keys(q).length > + 0 ? d.body = g.CK(q, g.kL) : d.body = l; if (this.rh && this.Ei) { this.ke.set("iwts", "1"); d = { method: "POST" }; h = { Ly: this.rh * 1E3 }; var D; l = (D = this.info.D) == null ? void 0 : D.dn; D = g.CK({ zr: h, dn: l || void 0, videoPlaybackUstreamerConfig: this.Ei }, g.kL); d.body = D } try { + this.xhr = NX(this.ke, this.policy.N, this.timing, a, d), this.Cd.B.start(), f && (this.Ou = new g.fp(this.A_, f, this), this.Ou.start(f + (this.timing.Kc.N.fh() || 0) * 1E3)), this.policy.TC && uWa(this.timing, this.Ce()), this.logger.debug(function () { + return "Sent, itag=" + A.ke.get("itag") + + " seg=" + A.info.gb[0].Pa + " range=" + A.ke.get("range") + " time=" + Math.round(A.info.gb[0].We) + "-" + Math.round(g.Ib(A.info.gb).Mf) + " rtp=" + (A.timing.gK() - Date.now()).toFixed(0) + }), g.De(function () { }) + } catch (F) { iXa(this, F, !0) } + }; + hXa = function (a) { if (!(YM(a.info) && a.info.Lp() && a.policy.ge && a.VG) || a.info.resource.B >= 2 || aL() > 0 || !bCa()) return !1; var b = a.ke.get("aitags"); if (!b) return !1; b = Sd(b).split(","); for (var c = [], d = g.w(a.VG), e = d.next(); !e.done; e = d.next())e = e.value, g.Mb(b, e) && c.push(e); if (!c.length) return !1; a.ke.set("altitags", g.Rd(c.join(","))); return !0 }; + iXa = function (a, b, c) { c = c === void 0 ? !1 : c; g.ex(b); a.Cd.lastError = "player.exception"; a.errorMessage = b.name + "_" + b.message; c ? g.De(function () { QX(a.Cd) }) : QX(a.Cd) }; + jXa = function (a) { if (a.policy.FC) return !1; var b = a.xhr.getResponseHeader("content-type"), c = a.xhr.dF(); c = !c || c <= a.policy.iq; return (!a.xhr.CC() || !b || b.indexOf("text/plain") !== -1) && c }; + kXa = function (a, b) { var c = eK(b); return mD(c) ? (a.logger.debug(function () { return "Redirecting to " + c }), c) : "" }; + lXa = function (a, b) { a.timing.Y = !0; a.timing.policy.j && a.timing.fv(); if (a.policy.Wc) { var c; (c = a.Ou) == null || c.stop() } DW(a.eg, b, !1) }; + mXa = function (a, b) { a.info = b; if (a.eg) { var c = a.eg; b = b.gb; (b.length !== c.gb.length || b.length < c.uf.length) && DIa("dash/request", 260511119, "" + b.length, "" + c.gb.length, "" + c.uf.length); c.gb = b; for (var d = b[0].range, e = new VJ, f = 0; f < c.uf.length; f++)WJ(e, c.uf[f].j); for (f = 0; f < c.uf.length; f++) { c.uf[f].info = b[f]; var h = b[f].range; c.uf[f].j = XJ(e, h.start - d.start, h.length) } } a.KB = !1 }; + nXa = function (a) { a.Sp && (a.xhr.status = a.Sp, a.Ag = a.Sp) }; + XX = function (a) { this.B = {}; this.logger = new g.MN(a) }; + oXa = function (a) { return a.itag + ";" + (a.lmt || 0) + ";" + (a.xtags || "") }; + YX = function (a, b) { HX.call(this, a, b); this.Ma = !0; this.Ba = !1; this.Wa = this.Ka = 0; this.Xa = NaN }; + pXa = function (a) { XX.call(this, "sabr"); this.Cb = a }; + ZX = function (a, b, c, d, e, f, h, l) { + g.O.call(this); this.policy = a; this.info = b; this.manifest = c; this.Cb = e; this.B_ = l; this.logger = new g.MN("sabr"); this.Tl = new KX(this); this.Mda = new pXa(this); this.ag = new EW(this); this.state = 1; this.S1 = !1; this.fT = 0; this.clipId = ""; this.uv = this.mj = -1; this.I1 = 0; this.Au = this.VW = !1; this.policy.iD ? this.Pd = new YX(this, f) : this.Pd = new JX(this, f); e = this.policy; e = HM(b.resource, qXa(b, e, d), e); b.Xr() && e.set("probe", "1"); this.ke = e; this.ke.set("rn", "" + this.Vp()); gUa(this.ag, c, a); this.Cd = new OX(this, + this.policy, this.ke, b.resource, this.Pd, this.logger, d, h, this.policy.enableServerDrivenRequestCancellation); LWa(this.Cd); var m; if ((m = this.policy) == null ? 0 : m.ze) g.P(this, this.ag), g.P(this, this.Cd); a = b.B; b = { method: "POST", body: a }; a && (this.I1 = a.length); try { this.xhr = NX(this.ke, this.policy.N, this.Pd, iO, b), this.Cd.B.start() } catch (n) { g.fx(n) } + }; + rXa = function (a, b) { var c = -1, d = -1, e = -1, f; if ((f = a.eT) == null ? 0 : f.items) for (a = g.w(a.eT.items), f = a.next(); !f.done; f = a.next())f = f.value, b < f.xR || f.xR < c || (c = f.xR, d = f.hL, e = f.minReadaheadMs); return { m$: c, hL: d, yR: e } }; + sXa = function (a) { this.j = a; this.Y = this.Ka = this.N = this.Ga = this.D = this.G = this.K = this.Fa = this.Z = this.Ma = this.ra = this.Ba = this.qa = 0; this.ticks = {} }; + $X = function (a) { a.qa || (a.qa = (0, g.Zt)(), gG("mb_s", a.qa, a.j)) }; + tXa = function (a) { a.Ba || (a.Ba = (0, g.Zt)(), gG("ovfs_rp", a.Ba, a.j)) }; + uXa = function (a) { a.ra || (a.ra = (0, g.Zt)(), gG("oafs_rp", a.ra, a.j)) }; + vXa = function (a) { a.G || (a.G = (0, g.Zt)(), gG("vda", a.G, a.j), a.D && At(g.xt(), 4)) }; + wXa = function (a) { a.D || (a.D = (0, g.Zt)(), gG("ada", a.D, a.j), a.G && At(g.xt(), 4)) }; + xXa = function (a) { a.Ga || (a.Ga = (0, g.Zt)(), gG("vis_a", a.Ga, a.j)) }; + yXa = function (a) { a.N || (a.N = (0, g.Zt)(), gG("ais_a", a.N, a.j)) }; + zXa = function (a) { a.Ka || (a.Ka = (0, g.Zt)(), gG("vrb_f", a.Ka, a.j)) }; + AXa = function (a) { a.Y || (a.Y = (0, g.Zt)(), gG("arb_f", a.Y, a.j)) }; + BXa = function (a, b, c) { var d = b instanceof ZX && !a.C && !a.B, e = !a.C && (c == null ? void 0 : c.info.video); c = !a.B && (c == null ? void 0 : c.info.audio); b.state === 3 ? ((e || d) && a.tick("vrr"), (c || d) && a.tick("arr")) : b.state === 4 ? e ? (a.C = b.Ce(), At(g.xt(), 4)) : c && (a.B = b.Ce()) : b instanceof zX && b.Gx() && e && At(g.xt(), 4) }; + CXa = function (a) { return !!a.B && !!a.C }; + DXa = function (a, b, c, d, e, f) { + g.Fx.call(this); var h = this; this.ya = a; this.manifest = b; this.policy = c; this.videoTrack = d; this.audioTrack = e; this.qa = this.j = null; this.G = this.N = NaN; this.Z = 0; this.Y = NaN; this.K = null; this.Ba = new Map; this.ra = this.C = this.D = NaN; this.hd = { joa: function () { return h.B } }; + this.B = f ? 1 : 0 + }; + FXa = function (a, b, c) { + if (c && !a.Ba.has(b.Pa)) { for (var d = b.startTime, e = [], f = 0; f < c.j.length; f++) { var h = c.j[f], l = d; d = l + c.B[f]; e.push({ startTime: l, endTime: d, adCpn: h }) } a.Ba.set(b.Pa, e) } a.policy.kf && (d = a.qa && b.Pa === a.qa.Pa + 1, a.qa = b, e = a.j && b.Pa === a.j.Pa + 1, e = a.j && d && e && a.j.Zg.event !== "stop" && a.j.Zg.event !== "predictStart", f = b.Zg || null, h = a.videoTrack.j.index.qd(), a.policy.Ab && (h = Math.max(a.videoTrack.j.index.qd(), a.audioTrack.j.index.qd())), h = b.Pa >= h, l = a.manifest.isManifestless && a.policy.Rv, f ? (a.j = { + Zg: f, Pa: b.Pa, + AF: !!c + }, h ? aY(a, f, b.Pa) : l && (d ? e ? aY(a, f, b.Pa) : f.event === "continue" || f.event === "stop" ? EXa(a, b) : aY(a, f, b.Pa) : aY(a, f, b.Pa))) : (e && EXa(a, b), a.B === 4 && bY(a, 5, "qend"))) + }; + aY = function (a, b, c) { b.startSecs += isNaN(a.Z) ? 0 : a.Z; a = a.manifest; a.Ga.push(b); a.publish("cuepointsadded", c) }; + HXa = function (a, b, c) { if (a.B !== 0 && c && b.gb[0].zg()) { var d = b.gb[0].Pa, e = b.gb[0].We; b = b.eq(); GXa(a, d, e, b, c) } }; + GXa = function (a, b, c, d, e) { + var f; b !== ((f = a.j) == null ? void 0 : f.Pa) || a.B === 1 || d || a.j.Zg.event === "predictStart" || a.oa("sdai", { undecevt: 1, sq: b, mt: c, evt: a.j.Zg.event }); b > a.G && (a.G = NaN, a.N = NaN); if (a.j && a.j.Pa === b) a: { + d = a.j; if (a.policy.Ab) { if (a.ra === b) break a; a.ra = b } f = d.Zg; var h = e.Su(f); a.oa("sdai", { onqevt: f.event, sq: b, mt: c, gab: h, cst: f.startSecs }); if (h) f.event !== "predictStart" ? d.AF ? bY(a, 4, "cue") : (a.G = b, a.N = c, a.oa("sdai", { joinad: a.B, sg: a.G, st: a.N.toFixed(3) }), a.Y = Date.now(), bY(a, 2, "join"), e.pK(d.Zg)) : (a.policy.G ? + (a.C = Math.floor(c - f.j / 1E3), a.oa("sdai", { onpred: c, est: a.C })) : (a.D = b + Math.max(Math.ceil(-f.j / 5E3), 1), a.oa("sdai", { onpred: b, est: a.D })), a.Y = Date.now(), bY(a, 3, "predict"), e.pK(d.Zg)); else if (a.B === 1) { var l; ((l = a.K) == null ? 0 : l.qP(c)) ? (IXa(a.ya, c, c, b), bY(a, 4, "sk2had")) : bY(a, 5, "nogab") } else f.event === "predictStart" && (a.policy.G && a.C > 0 ? (b = Math.floor(c - f.j / 1E3), a.C !== b && a.oa("sdai", { updateSt: b, old: a.C }), a.C = b) : a.D > 0 && (b += Math.max(Math.ceil(-f.j / 5E3), 1), a.D !== b && (a.oa("sdai", { updateSt: b, old: a.D }), a.D = b))) + } else a.B === + 1 && bY(a, 5, "noad") + }; + LXa = function (a, b, c) { if (a.B === 1 || a.B === 2) return !1; if (a.B !== 0 && b === a.audioTrack) { if (a.policy.G) { a = a.videoTrack; var d; return !((d = a.Z) == null || !hWa(d, c)) || JXa(a.D, c) } d = KXa(a.videoTrack); if (c > (d ? d.Pa : -1)) return !1 } return !0 }; + cY = function (a, b, c) { return (c < 0 || c === a.G) && !isNaN(a.N) ? a.N : b }; + EXa = function (a, b) { if (a.j) { var c = a.j.Zg.Dh - (b.startTime + a.Z - a.j.Zg.startSecs); c <= 0 || (c = new ZL(a.j.Zg.startSecs - (isNaN(a.Z) ? 0 : a.Z), c, a.j.Zg.context, a.j.Zg.identifier, "stop", a.j.Zg.j + b.duration * 1E3), a.oa("cuepointdiscontinuity", { segNum: b.Pa }), aY(a, c, b.Pa)) } }; + bY = function (a, b, c) { a.B !== b && (a.oa("sdai", { setsst: b, old: a.B, r: c }), a.B = b) }; + dY = function (a, b, c, d) { (d === void 0 ? 0 : d) ? bY(a, 1, "seek") : b > 0 && Math.abs(b - c) >= 5 && a.B === 4 && bY(a, 5, "sk2t." + b.toFixed(2) + ";ct." + c.toFixed(2)) }; + eY = function (a, b, c) { this.audio = a; this.video = b; this.reason = c }; + fY = function (a, b, c) { this.j = a; this.reason = b; this.token = c; this.videoId = void 0 }; + gY = function (a, b, c) { g.O.call(this); this.policy = a; this.D = b; this.oa = c; this.C = new Map; this.G = 0; this.K = !1; this.j = ""; this.B = !1 }; + hY = function (a, b, c) { if (c === void 0 ? 0 : c) a.K = !0; ++a.G; c = 6E4 * Math.pow(2, a.G); c = (0, g.Zt)() + c; a.C.set(b.info.id, c) }; + iY = function (a) { for (var b = g.w(a.C.entries()), c = b.next(); !c.done; c = b.next()) { var d = g.w(c.value); c = d.next().value; d = d.next().value; d < (0, g.Zt)() && a.C.delete(c) } return a.C }; + MXa = function (a) { return a.K && iY(a).size > 0 }; + jY = function (a, b) { a.j !== b && (a.j = b, a.B = !0) }; + NXa = function (a, b) { + var c; b && (c = g.Kb(a.D.j, function (e) { return e.id === b })); + if (!c && (c = g.Kb(a.D.j, function (e) { var f; return !((f = e.dc) == null || !f.isDefault) }), a.policy.bk && b)) { + var d; + a.oa("iaf", { id: b, sid: (d = c) == null ? void 0 : d.id }) + } return c + }; + OXa = function (a, b, c, d, e, f) { + var h = this; f = f === void 0 ? [] : f; this.ya = a; this.Ba = b; this.policy = c; this.manifest = d; this.K = e; this.fb = f; this.logger = new g.MN("dash/abr"); this.j = VP; this.C = this.N = null; this.Y = -1; this.Ka = !1; this.nextVideo = this.B = null; this.D = []; this.Va = new Set; this.Ma = {}; this.Xa = new sO(1); this.Z = 0; this.Wa = this.ra = this.qa = !1; this.Fa = 0; this.Ya = !1; this.Ga = new Set; this.Ra = !1; this.hd = { U1: function () { kY(h) } }; + this.G = new gY(this.policy, e, function (l, m) { h.ya.oa(l, m) }) + }; + TXa = function (a, b, c) { lY(a, b); PXa(a, c); a.N = a.B; QXa(a); RXa(a); a.C = a.nextVideo; a.N = a.B; return SXa(a) }; + WXa = function (a, b) { + if (UXa(a, b)) return null; if (b.reason === "m" && b.isLocked()) return a.logger.debug(function () { return "User sets constraint to: " + vL(b) }), lY(a, b), a.Z = a.D.length - 1, kY(a), mY(a), a.ra = a.ra || a.C !== a.nextVideo, a.C = a.nextVideo, new eY(a.B, a.C, b.reason); + b.reason === "r" && (a.Y = -1); lY(a, b); mY(a); if (b.reason === "r" && a.nextVideo === a.C) return new eY(a.B, a.nextVideo, b.reason); VXa(a); return null + }; + XXa = function (a, b, c) { a.B = a.manifest.j[b]; a.N = a.B; return new eY(a.N, a.C, c ? "t" : "m") }; + YXa = function (a, b) { if (b.info.video) { if (a.C !== b) return a.C = b, SXa(a) } else a.Wa = a.N !== b, a.N = b; return null }; + ZXa = function (a, b) { if (b.j.info.video && b.Se) { var c = (b.Ub + b.B) / b.duration, d = b.j.info.ub; c && d && (a.Xa.zm(1, c / d), a.policy.C && c / d > 1.5 && a.ya.oa("overshoot", { sq: b.Pa, br: c, max: d })) } }; + nY = function (a, b, c) { hY(a.G, b, c === void 0 ? !1 : c); a.Y = -1; lY(a, a.j) }; + oY = function (a, b) { return new eY(a.N, a.C, b || a.j.reason) }; + VXa = function (a) { if (a.C && a.nextVideo && pY(a, a.C.info) < pY(a, a.nextVideo.info)) { var b = a.j.reason; a.qa = a.qa || b === "r" || b === "u" || b === "v" } }; + SXa = function (a) { a.Ka ? a.Ka = !1 : a.Y = (0, g.Zt)(); a.qa = !1; a.Ra = !1; return new eY(a.N, a.C, a.j.reason) }; + $Xa = function (a, b) { var c = {}; b = g.w(b); for (var d = b.next(); !d.done; d = b.next())if ((d = d.value) && d.video) { var e = d.video.j, f = c[e], h = f && ZE(f) && f.video.j > a.policy.wj, l = e <= a.policy.wj ? ZE(d) : XE(d); if (!f || h || l) c[e] = d } return c }; + lY = function (a, b) { + a.j = b; var c = a.K.videoInfos; if (!a.j.isLocked()) { + var d = (0, g.Zt)(); c = g.kn(c, function (r) { if (r.ub > this.policy.ub) return !1; var t = this.manifest.j[r.id]; return iY(this.G).get(r.id) > d ? !1 : t.resource.B > 4 || t.K > 4 ? (this.logger.debug(function () { return "Remove " + jF(r) + "; 4 load failures" }), !1) : this.Ga.has(+r.itag) ? !1 : !0 }, a); + MXa(a.G) && (c = g.kn(c, function (r) { return r.video.width <= 854 && r.video.height <= 480 })) + } c.length || (c = a.K.videoInfos); + var e = g.kn(c, b.D, b); if (a.j.isLocked() && a.G.j) { + var f = g.Kb(c, function (r) { return r.id === a.G.j }); + f ? e = [f] : jY(a.G, "") + } f = b.reason === "m" || b.reason === "s"; a.policy.FD && uX && g.Rt && (!f || b.j < 1080) && (e = e.filter(function (r) { return r.video && (!r.B || r.B.powerEfficient) })); + if (e.length > 0) if (vF()) { var h = $Xa(a, e); e = e.filter(function (r) { return !!r && !!r.video && r.rb === h[r.video.j].rb }) } else { + var l, m, n = (l = e[0]) == null ? void 0 : (m = l.video) == null ? void 0 : m.j; + if (n) { + b = e.filter(function (r) { return !!r && !!r.video && r.video.j === n }); + var p = $Xa(a, b)[n].rb; e = e.filter(function (r) { return !!r && !!r.video && r.rb === p }) + } + } e.length || (e = [c[0]]); + e.sort(function (r, t) { return pY(a, r) - pY(a, t) }); + c = {}; for (b = 1; b < e.length; c = { yO: void 0, eO: void 0 }, b++)c.eO = e[b - 1], c.yO = e[b], c.eO.video.width > c.yO.video.width ? (g.Nb(e, b), b--) : pY(a, c.eO) * a.policy.Z > pY(a, c.yO) && (g.Nb(e, b - 1), b--); var q = e[e.length - 1]; a.Ya = !!a.C && !!a.C.info && a.C.info.rb !== q.rb; a.logger.debug(function () { return "Constraint: " + vL(a.j) + ", " + e.length + " fmts selectable, max selectable fmt: " + jF(q) }); + a.D = e; a.Va.clear(); c = !1; for (b = 0; b < e.length; b++)c ? a.Va.add(e[b].itag) : e[b].video.j >= 1080 && (c = !0); vOa(a.policy, q, a.manifest.Vb) + }; + PXa = function (a, b) { + if (a.policy.bk) { var c = NXa(a.G, b); b || c || (c = aYa(a)); c = c || a.K.j[0] } else b ? a.B = a.manifest.j[b] : (c = g.Kb(a.K.j, function (d) { return !!d.dc && d.dc.isDefault })) || (c = aYa(a)), c = c || a.K.j[0]; + a.B = a.manifest.j[c.id]; kY(a) + }; + bYa = function (a, b) { for (var c = 0; c + 1 < a.D.length && a.D[c].video.quality === "tiny";)c++; var d = wX(a.Ba) / a.policy.Z; return pY(a, b.info) + pY(a, a.D[c]) > d }; + kY = function (a) { + if (!a.B || !a.policy.D && !a.B.info.dc) { + var b = a.K.j; a.B && (b = b.filter(function (d) { return d.audio.j === a.B.info.audio.j }), b.length || (b = a.K.j)); + a.B = a.manifest.j[b[0].id]; if (b.length > 1) { var c = !1; if (c = a.policy.Zd ? !0 : a.j.isLocked() ? a.j.j < 240 : bYa(a, a.B)) a.B = a.manifest.j[g.Ib(b).id] } + } + }; + mY = function (a) { + if (!a.nextVideo || !a.policy.D) if (a.j.isLocked()) a.nextVideo = a.j.j <= 360 ? a.manifest.j[a.D[0].id] : a.manifest.j[g.Ib(a.D).id], a.logger.debug(function () { return "Select max fmt: " + jF(a.nextVideo.info) }); + else { + for (var b = Math.min(a.Z, a.D.length - 1), c = wX(a.Ba), d = pY(a, a.B.info), e = c / a.policy.Y - d; b > 0 && !(pY(a, a.D[b]) <= e); b--); for (var f = c / a.policy.Z - d; b < a.D.length - 1 && !(pY(a, a.D[b + 1]) >= f); b++); a.nextVideo = a.manifest.j[a.D[b].id]; a.Z !== b && a.logger.info(function () { return "Adapt to: " + jF(a.nextVideo.info) + ", bandwidth: " + c.toFixed(0) + ", bandwidth to downgrade: " + e.toFixed(0) + ", bandwidth to upgrade: " + f.toFixed(0) + ", constraint: " + vL(a.j) }); + a.Z = b + } + }; + QXa = function (a) { + var b = a.policy.Y, c = wX(a.Ba), d = c / b - pY(a, a.B.info); b = g.Lb(a.D, function (e) { return pY(this, e) < d }, a); + b < 0 && (b = 0); a.Z = b; a.nextVideo = a.manifest.j[a.D[b].id]; a.logger.info(function () { return "Initial selected fmt: " + jF(a.nextVideo.info) + ", bandwidth: " + c.toFixed(0) + ", max video byterate: " + d.toFixed(0) }) + }; + RXa = function (a) { + if (a.fb.length) { + var b = a.fb, c = function (d, e) { + if (d.info.rb === "f" || b.includes(eF(d.info, a.manifest.Vb))) return d; for (var f = {}, h = 0; h < e.length; f = { EP: void 0, hU: void 0 }, h++) { + var l = a.manifest.j[e[h].id]; if (b.includes(eF(l.info, a.manifest.Vb))) { + var m = d.info.rb, n = l.info.rb; if (m === n || vF()) { + if (d.info.j !== l.info.j) return a.ya.oa("ombifa", { mismatch: "xtag", f: d.info.id, t: l.info.id }), d; f.EP = d.info.itag; f.hU = l.info.itag; a.ya.oa("ombifa", { f: f.EP, t: f.hU }); a.logger.info(function (p) { + return function () { + return "Initial format selection changed from " + + p.EP + " to " + p.hU + " based on prefetched media." + } + }(f)); + a.Ka = !0; return l + } a.ya.oa("ombifa", { mismatch: "efficient", fc: m, tc: n }) + } + } a.ya.oa("ombifa", { mismatch: "unselectable", fmts: b.join(".") }); return d + }; + a.nextVideo = c(a.nextVideo, a.K.videoInfos); a.B = c(a.B, a.K.j) + } + }; + pY = function (a, b) { if (!a.Ma[b.id]) { var c = a.manifest.j[b.id].index.wY(a.Fa, 15); c = b.Hw && a.C && a.C.index.isLoaded() ? c || b.Hw : c || b.ub; a.Ma[b.id] = c } c = a.Ma[b.id]; a.Va.has(b.itag) && (c *= 1.5); return c *= Math.max(1, a.Xa.fh() || 0) }; + cYa = function (a, b) { + a = aba(a.manifest.j, function (c) { return c.info.itag === b }); + if (!a) throw Error("Itag " + b + " from server not known."); return a + }; + dYa = function (a) { var b = []; if (a.j.reason === "m" || a.j.reason === "s") return b; if (fIa(a.manifest)) { for (var c = Math.max(0, a.Z - 2); c < a.Z && c < a.D.length; c++)b.push(a.D[c].itag); b.reverse() } return b }; + UXa = function (a, b) { var c; return qL(a.j, b) && (!a.G.j || !a.j.isLocked() || ((c = a.nextVideo) == null ? void 0 : c.info.id) === a.G.j) }; + aYa = function (a) { + var b = g.Kb(a.K.j, function (d) { return d.audio.j }), c = g.Kb(a.K.j, function (d) { return !d.audio.j }); + if (!b) return null; if (!a.policy.rI) return c; a.policy.iz && b && (a.ya.oa("drcwr", { d: b.itag, dd: b.approxDurationMs, nd: c ? c.itag : "", ndd: (c == null ? 0 : c.approxDurationMs) ? c.approxDurationMs : "" }), c && Math.abs(c.approxDurationMs - b.approxDurationMs) > 1E3 && (b = c)); return b + }; + eYa = function (a) { var b = a === void 0 ? {} : a; a = b.sj === void 0 ? !1 : b.sj; var c = b.vk === void 0 ? !1 : b.vk; b = b.Zs === void 0 ? !1 : b.Zs; return a ? b ? 3 : 2 : c ? -1 : 1 }; + gYa = function (a, b, c) { + var d = this; this.policy = a; this.j = b; this.Fa = c; this.D = this.B = 0; this.Gf = null; this.qa = new Set; this.Y = []; this.indexRange = this.initRange = null; this.Z = new FF; this.ra = this.Ba = !1; this.hd = { + Zna: function () { return d.C }, + vna: function () { return d.chunkSize }, + pna: function () { return d.N }, + ona: function () { return d.K } + }; + (b = fYa(this)) ? (this.chunkSize = b.csz, this.C = Math.floor(b.clen / b.csz), this.N = b.ck, this.K = b.civ) : (this.chunkSize = a.QC, this.C = 0, this.N = g.Sv(16), this.K = g.Sv(16)); this.G = new Uint8Array(this.chunkSize); this.N && this.K && (this.crypto = new GWa(this.N, this.K)) + }; + fYa = function (a) { if (a.policy.Pf && a.policy.VC) for (var b = g.w(a.policy.Pf), c = b.next(), d = {}; !c.done; d = { TO: void 0, iP: void 0 }, c = b.next())if (c = g.zr(c.value), d.TO = +c.clen, d.iP = +c.csz, d.TO > 0 && d.iP > 0 && a.policy.D === c.docid && a.j.info.id === c.fmtid && a.j.info.lastModified === +c.lmt) return a = {}, a.clen = d.TO, a.csz = d.iP, a.ck = c.ck, a.civ = c.civ, a }; + qY = function (a) { return !!a.Gf && a.Gf.Mi() }; + lYa = function (a, b) { + if (!qY(a) && !a.La()) { + if (!(a.Ba || (a.Ba = !0, a.C > 0))) { var c = hYa(a); c = MP(a.policy.D, a.j.info, rY(a), c, a.policy.fb); iYa(a, c) } if (b.info.type === 1) { if (a.Gf) { sY(a, Error("Woffle: Expect INIT slices to always start us off")); return } a.initRange = NM(0, b.j.totalLength) } else if (b.info.type === 2) a.Gf && a.Gf.type === 1 || sY(a, Error("Woffle: Index before init")), a.indexRange = NM(a.initRange.end + 1, b.j.totalLength); else if (b.info.type === 3) { + if (!a.Gf) { + sY(a, Error("Woffle: Expect MEDIA slices to always have lastSlice")); + return + } if (a.Gf.type === 3 && !SM(a.Gf, b.info) && (a.Y = [], b.info.Pa !== TM(a.Gf) || b.info.Ub !== 0)) return; if (b.info.Se) { c = g.w(a.Y); for (var d = c.next(); !d.done; d = c.next())jYa(a, d.value); a.Y = [] } else { a.Y.push(b); a.Gf = b.info; return } + } else { sY(a, Error("Woffle: Unexpected slice type")); return } a.Gf = b.info; jYa(a, b); kYa(a) + } + }; + jYa = function (a, b) { + var c = 0, d = $J(b.j); if (a.D < a.C) { c = a.C * a.chunkSize; var e, f = (((e = b.info.range) == null ? void 0 : e.start) || 0) + b.info.Ub; c -= f; if (c >= d.length) return; if (c < 0) throw Error("Missing data"); a.D = a.C; a.B = 0 } for (e = {}; c < d.length; e = { iN: void 0 })if (e.iN = Math.min(d.length - c, a.G.byteLength - a.B), f = new Uint8Array(d.buffer, d.byteOffset + c, e.iN), a.G.set(f, a.B), a.B += e.iN, c += e.iN, a.B === a.G.length) { + if (b.info === a.Gf && qY(a) && c === d.length) break; e = hYa(a); e = MP(a.policy.D, a.j.info, rY(a), e, a.policy.fb, a.D, a.G, a.crypto); + a.qa.add(e); iYa(a, e); a.La() || (e = hYa(a), a.Fa(rY(a), e !== void 0 ? (e.downloadedEndTime || 0) * e.averageByteRate : e.maxKnownEndTime * e.averageByteRate, e.maxKnownEndTime * e.averageByteRate)); a.G = new Uint8Array(a.chunkSize); a.B = 0; a.D += 1 + } + }; + kYa = function (a) { + if (qY(a)) if (a.Gf && a.indexRange) if (a.B) { var b = new Uint8Array(a.G.buffer, 0, a.B), c = mYa(a), d = a.policy.D; Promise.all(a.qa).then(function () { var e = MP(d, a.Gf.j.info, rY(a, !0), c, a.policy.fb, a.D, b, a.crypto); iYa(a, e, !0) }) } else sY(a, new tY("Woffle: Expect always re-mark currentChunkOffset at EOS")); + else sY(a, new tY("Woffle: Expect at EOS to always have lastSlice or indexRange")) + }; + hYa = function (a) { return { downloadedEndTime: Math.round(a.Gf ? a.Gf.Mf : 0), maxKnownEndTime: Math.round(a.j.index.Xt()), averageByteRate: Math.round(a.j.info.Hw) } }; + mYa = function (a) { return { downloadedEndTime: -1, maxKnownEndTime: Math.round(a.j.index.Xt()), averageByteRate: Math.round(a.j.info.Hw) } }; + rY = function (a, b) { + b === void 0 || !b || a.indexRange && a.initRange && a.Gf || sY(a, new tY("Woffle: Expect isFinal to always have indexRange and initRange and lastSlice")); b = { lmt: a.j.info.lastModified, docid: a.policy.D, fmtid: a.j.info.id, type: a.j.info.mimeType.split(";")[0], csz: a.chunkSize, clen: a.D * a.chunkSize + a.B }; a.crypto && (b.ck = a.N, b.civ = a.K); var c = "local://localhost/videoplayback?" + wr(b), d, e; b = { + itag: +a.j.info.itag, mimeType: a.j.info.mimeType, bitrate: a.j.info.ub * 8, lastModified: String(a.j.info.lastModified), initRange: (d = + a.initRange) == null ? void 0 : iEa(d), indexRange: (e = a.indexRange) == null ? void 0 : iEa(e), url: c + }; if (d = a.j.info.j) b.xtags = d; if (d = a.j.info.video) if (b.quality = d.quality, b.qualityLabel = d.qualityLabel, b.width = d.width, b.height = d.height, d = d.fps) b.fps = d; if (a = a.j.info.audio) { if (d = a.sampleRate) b.audioSampleRate = String(d); if (a = a.numChannels) b.audioChannels = a } return b + }; + iYa = function (a, b, c) { c = c === void 0 ? !1 : c; b.then(function (d) { a.qa.delete(b); (c || d === 4) && a.Z.resolve(d) }, function (d) { a.Z.reject(d) }) }; + sY = function (a, b) { g.IP(a.policy.D) !== 4 && (g.JP(a.policy.D, 4), g.fx(b), a.Z.reject(new tY(b.message))) }; + tY = function (a, b) { a = Error.call(this, a); this.message = a.message; "stack" in a && (this.stack = a.stack); this.j = b === void 0 ? !1 : b }; + nYa = function (a) { a = g.mM(a, 1886614376); for (var b = g.w(a), c = b.next(); !c.done; c = b.next()); return g.Al(a, function (d) { return HDa(d) }) }; + oYa = function (a) { + var b = Cl(a, function (e, f) { return e + f.length }, 0); + b = new Uint8Array(b); var c = 0; a = g.w(a); for (var d = a.next(); !d.done; d = a.next())d = d.value, b.set(d, c), c += d.length; return b + }; + pYa = function (a, b, c, d, e, f) { this.ids = a; this.j = b; this.B = c; this.D = d; this.C = e; this.Az = f }; + uY = function (a, b, c) { this.initData = a; this.contentType = b; this.isPrefetch = c; this.j = this.cryptoPeriodIndex = NaN; this.C = []; this.Le = !1; this.B = null; if ((b == null ? void 0 : b.toLowerCase()) === "webm" || a.length === 16) this.Le = !0 }; + rYa = function (a) { + a: { var b = a.initData; try { for (var c = 0, d = new DataView(b.buffer); c < d.byteLength - 8;) { var e = d.getUint32(c); if (e <= 1) break; if (d.getUint32(c + 4) === 1886614376) { var f = 32; if (d.getUint8(c + 8) > 0) { var h = d.getUint32(c + 28); f += h * 16 + 4 } var l = d.getUint32(c + f - 4); try { var m = qYa(b.subarray(c + f, c + f + l)); if (m !== null) { var n = m; break a } } catch (p) { } } c += e } n = null; break a } catch (p) { n = null; break a } n = void 0 } if (n != null) for (b = If(fg(n, 7)), b == null || a.Le || (a.cryptoPeriodIndex = b), b = If(fg(n, 10)), b != null && b > 0 && !a.Le && (a.j = b), n = Zda(n, + 2, ag(n.sb) & 34 ? $da : aea, void 0 === fea ? 2 : 5), n = g.w(n), b = n.next(); !b.done; b = n.next())a.C.push(g.Te(bf(b.value), 4)) + }; + sYa = function (a) { return isNaN(a.cryptoPeriodIndex) ? g.Te(a.initData) : "" + a.cryptoPeriodIndex }; + vY = function (a, b, c) { var d = c === void 0 ? {} : c; c = d.videoDuration === void 0 ? 0 : d.videoDuration; var e = d.YG === void 0 ? void 0 : d.YG; d = d.CK === void 0 ? !1 : d.CK; this.videoId = a; this.status = b; this.videoDuration = c; this.YG = e; this.CK = d }; + tYa = function (a, b, c, d, e) { this.videoId = a; this.DP = b; this.B = c; this.bytesDownloaded = d; this.j = e }; + wY = function (a) { this.j = a; this.offset = 0 }; + uYa = function (a) { if (a.offset >= a.j.totalLength) throw Error(); return bK(a.j, a.offset++) }; + vYa = function (a, b) { b = b === void 0 ? !1 : b; var c = uYa(a); if (c === 1) { b = -1; for (c = 0; c < 7; c++) { var d = uYa(a); b === -1 && d !== 255 && (b = 0); b > -1 && (b = b * 256 + d) } return b } d = 128; for (var e = 0; e < 6 && d > c; e++)c = c * 256 + uYa(a), d *= 128; return b ? c : c - d }; + wYa = function (a) { try { var b = vYa(a, !0), c = vYa(a, !1); return { id: b, size: c } } catch (d) { return { id: -1, size: -1 } } }; + xYa = function (a) { for (var b = new wY(a), c = -1, d = 0, e = 0; !d || !e;) { var f = wYa(b), h = f.id; f = f.size; if (h < 0) return; if (h === 176) { if (f !== 2) return; d = b.Km() } else if (h === 186) { if (f !== 2) return; e = b.Km() } h === 374648427 ? c = b.Km() + f : h !== 408125543 && h !== 174 && h !== 224 && b.skip(f) } b = aK(a, 0, c); c = new DataView(b.buffer); c.setUint16(d, 3840); c.setUint16(e, 2160); d = new VJ([b]); WJ(d, a); return d }; + zYa = function (a, b, c) { + var d = this; this.ya = a; this.policy = b; this.K = c; this.logger = new g.MN("dash"); this.B = []; this.j = null; this.Ba = -1; this.Y = 0; this.Ga = NaN; this.qa = 0; this.C = NaN; this.Z = this.Ka = 0; this.Wa = -1; this.Ma = this.G = this.D = this.Fa = null; this.Xa = this.Va = NaN; this.N = this.ra = this.Ya = this.fb = null; this.ob = !1; this.Ra = this.timestampOffset = 0; this.hd = { DY: function () { return d.B } }; + if (this.policy.D) { + var e = this.K, f = this.policy.D; this.policy.fb && a.oa("atv", { ap: this.policy.fb }); this.N = new gYa(this.policy, e, function (h, l, m) { xY(a, new vY(d.policy.D, 2, { YG: new tYa(f, h, e.info, l, m) })) }); + this.N.Z.promise.then(function (h) { d.N = null; h === 1 ? xY(a, new vY(d.policy.D, h)) : d.ya.oa("offlineerr", { status: h.toString() }) }, function (h) { + var l = (h.message || "none").replace(/[+]/g, "-").replace(/[^a-zA-Z0-9;.!_-]/g, "_"); + h instanceof tY && !h.j ? (d.logger.info(function () { return "Assertion failed: " + l }), d.ya.oa("offlinenwerr", { em: l }), yYa(d), xY(a, new vY(d.policy.D, 4))) : (d.logger.info(function () { return "Failed to write to disk: " + l }), d.ya.oa("dldbwerr", { em: l }), yYa(d), xY(a, new vY(d.policy.D, 4, { CK: !0 }))) + }) + } + }; + AYa = function (a) { return a.B.length ? a.B[0] : null }; + JXa = function (a, b) { return a.B.some(function (c) { return c.info.Pa === b }) }; + HYa = function (a, b, c, d) { + d = d === void 0 ? 0 : d; if (a.G) { var e = a.G.Ub + a.G.B; if (c.info.Ub > 0) if (c.info.Pa === a.G.Pa && c.info.Ub < e) { if (c.info.Ub + c.info.B <= e) return; c = LHa(c, e - c.info.Ub)[1] } else if (c.info.Pa >= 0 && a.G.Pa >= 0 && !SM(a.G, c.info)) throw new g.pt("improper_continuation", a.G.Sc(), c.info.Sc()); e = a.G; var f = c.info; (e.Pa !== f.Pa && f.Pa !== e.Pa + 1 || e.type !== f.type ? 0 : SM(e, f) || (Math.abs(e.We - f.We) <= 1E-6 && e.Pa === f.Pa ? 0 : lEa(e, f))) || BYa(a, "d") } else if (c.info.Ub > 0) throw new g.pt("continuation_of_null", c.info.Sc()); a.G = c.info; + a.K = c.info.j; if (c.info.Ub === 0) { if (a.j) if (!a.ya.isOffline() || a.policy.Xk) a.ya.oa("slice_not_fully_processed", { buffered: a.j.info.Sc(), push: c.info.Sc() }); else throw new g.pt("slice_not_fully_processed", a.j.info.Sc(), c.info.Sc()); yY(a); a.Ka = d } else { if (a.Ka && d && a.Ka !== d) throw a = new g.pt("lmt_mismatch", c.info.Pa, a.Ka, d), a.level = "WARNING", a; !c.info.j.Rm() && a.D && (d = c.info, e = a.D.mj, d.C = "updateWithEmsg", d.Pa = e) } if (a.j) { d = kN(a.j, c); if (!d) throw new g.pt("failed_to_merge", a.j.info.Sc(), c.info.Sc()); a.j = d } else a.j = + c; a: { + c = g.bF(a.j.info.j.info); if (a.j.info.type !== 3) { if (!a.j.info.Se) break a; a.j.info.type === 6 ? CYa(a, b, a.j) : DYa(a, a.j); a.j = null } for (; a.j;) { + d = a.j.j.totalLength; if (a.Ba <= 0 && a.Y === 0) { + var h = a.j.j; e = f = -1; if (c) { for (var l = 0; l + 8 < h.totalLength;) { var m = oBa(h, l), n = oBa(h, l + 4); l += m || 1; if (n === 1836019558) f = l; else if (n === 1835295092) { e = l; break } } e < 0 && (f = -1) } else { + h = new wY(h); for (m = l = !1; ;) { + n = h.Km(); var p = wYa(h), q = p.id; p = p.size; if (!(q > 0)) break; if (q !== 408125543) if (q === 524531317) l = !0, p >= 0 && (e = h.Km() + p, m = !0); else { + if (l && (q === + 160 || q === 163) && (f < 0 && (f = n), m)) break; q === 163 && (f = Math.max(0, f), e = h.Km() + p); if (q === 160) { f < 0 && (e = f = h.Km() + p); break } h.skip(p) + } + } f < 0 && (e = -1) + } if (f < 0) break; a.Ba = f; a.Y = e - f + } if (a.Ba > d) break; a.Ba ? (d = EYa(a, a.Ba), d.G && FYa(a, d), CYa(a, b, d), GYa(a, d), a.Ba = 0) : a.Y && (d = EYa(a, a.Y < 0 ? Infinity : a.Y), a.Y -= d.j.totalLength, GYa(a, d)) + } + } a.j && a.j.info.Se && (GYa(a, a.j), a.j = null) + }; + DYa = function (a, b) { !b.info.j.Rm() && b.info.Ub === 0 && (g.bF(b.info.j.info) || b.info.j.info.Le()) && QHa(b); if (b.info.type === 1) try { FYa(a, b), IYa(a, b) } catch (e) { g.ex(e); var c = UM(b.info); c.hms = "1"; a.ya.handleError("fmt.unparseable", c || {}, 1) } c = b.info.j; c.rQ(b); a.N && lYa(a.N, b); if (c.jg() && a.policy.B) a: { a = a.ya.manifest; b = b.info.clipId; c = dF(c.info, a.Vb); if (b) { var d = gIa(a, c); if (a.Wa[d]) break a; a.Wa[d] = b } a.Va.push(c) } }; + yYa = function (a) { var b; (b = a.N) == null || b.dispose(); a.N = null }; + JYa = function (a) { + var b = a.B.reduce(function (c, d) { return c + d.j.totalLength }, 0); + a.j && (b += a.j.j.totalLength); return b + }; + KYa = function (a) { if (a.ra && !a.policy.Fq) { var b = a.ya; b.manifest.isManifestless && HN(b.manifest, a.ra.Pa, !!a.K.info.video) } a.ra = null; a.D = null; a.G = a.fb; a.C = a.G ? a.C - a.qa : NaN; yY(a) }; + EYa = function (a, b) { var c = a.j; b = Math.min(b, c.j.totalLength); if (b === c.j.totalLength) return a.j = null, c; c = LHa(c, b); a.j = c[1]; return c[0] }; + FYa = function (a, b) { + var c = jN(b); if (YE(b.info.j.info) && b.info.j.info.video.primaries === "bt2020") { var d = new nM(c); pM(d, [408125543, 374648427, 174, 224, 21936, 21937]) && (d = d.start + d.pos, c.getUint8(d) === 129 && c.getUint8(d + 1) === 1 && c.setUint8(d + 1, 9)) } d = b.info.j.info; XE(d) && !YE(d) && (d = jN(b), (new nM(d)).Co(), tM([408125543, 374648427, 174, 224], 21936, d)); b.info.j.info.zg() && (d = b.info.j, d.info && d.info.video && d.info.video.projectionType === "MESH" && !d.B && (g.bF(d.info) ? d.B = RDa(c) : d.info.Le() && (d.B = YDa(c)))); b.info.j.info.Le() && + b.info.zg() && (c = jN(b), (new nM(c)).Co(), tM([408125543, 374648427, 174, 224], 30320, c) && tM([408125543, 374648427, 174, 224], 21432, c)); if (a.policy.jD && b.info.j.info.Le()) { c = jN(b); var e = new nM(c); if (pM(e, [408125543, 374648427, 174, 29637])) { d = sM(e, !0); e = e.start + e.pos; for (var f = 0; f < d - 1; f++)c.setUint8(e + f, 0); c.setUint8(e + d - 1, 1) } } if (a.Gh() && g.bF(b.info.j.info)) { + d = jN(b); c = g.dM(d, 0, 1701606260); f = g.dM(d, 0, 1836476516); if (c && f) { + c.skip(2); var h = TL(c), l = VL(c); d = []; e = []; var m = [], n = []; if (h) for (h = 0; h < l; ++h)d.push(WL(c)), e.push(WL(c)), + m.push(TL(c)), n.push(TL(c)); else for (h = 0; h < l; ++h)d.push(UL(c)), e.push(UL(c)), m.push(TL(c)), n.push(TL(c)); c = g.eM(f); c = new ODa(e[0] / c, d[0] / c) + } else c = null; if (c) { if (g.bF(b.info.j.info)) for (d = jN(b), e = g.dM(d, 0, 1701082227); e;)f = e, f.type = 1936419184, f.data.setUint32(f.offset + 4, 1936419184), e = g.dM(d, e.offset + e.size, 1701082227); a.ob = !0; b.info.j.D = c } + } b.info.j.Rm() || b.info.j.j || b.info.j.indexRange || oN(b) + }; + CYa = function (a, b, c) { + if (c.info.j.Rm()) { + if (a.ob && LYa(c) && (b = jN(c), b = g.dM(b, 0, 1953658222))) { b.skip(1); var d = SL(b) << 16 | TL(b), e = d & 1, f = d & 4; if (d & 256) { var h = d & 512, l = d & 1024; d &= 2048; var m = VL(b); m < 2 || (e && b.skip(4), f && b.skip(4), e = VL(b), b.skip((m - 1) * (4 + (h ? 4 : 0) + (l ? 4 : 0) + (d ? 4 : 0)) - 4), b.data.setUint32(b.offset + b.j, e)) } } if (b = a.Fa && !!a.Fa.K.D) if (b = c.info.zg()) b = OHa(c), h = a.Fa, JW ? (l = 1 / b, b = zY(a, b) >= zY(h) + l) : b = a.getDuration() >= h.getDuration(), b = !b; b && LYa(c) && (b = a.Fa, JW ? (l = OHa(c), h = 1 / l, l = zY(a, l), b = zY(b) + h - l) : b = b.getDuration() - + a.getDuration(), b = 1 + b / c.info.duration, QDa(jN(c), b)) + } else { + h = !1; a.D || (QHa(c), c.B && (a.D = c.B, h = !0, f = c.info, d = c.B.mj, f.C = "updateWithEmsg", f.Pa = d, f = c.B, f.Mi && (d = a.K.index, d.B = !f.Mi, d.C = "emsg"), f = c.info.j.info, d = jN(c), g.bF(f) ? lM(d, 1701671783) : f.Le() && tM([408125543], 307544935, d))); a: if ((f = nN(c, a.policy.Tb)) && PHa(c)) l = MYa(a, c), a.Z += l, f -= l, a.qa += f, a.C = a.policy.fl ? a.C + f : NaN; else { + if (a.policy.ow) { + if (d = m = a.ya.Fp(lN(c), 1), a.C >= 0 && c.info.type !== 6) { + if (a.policy.fl && isNaN(a.Va)) { + g.fx(new g.pt("Missing duration while processing previous chunk", + c.info.Sc())); a.ya.isOffline() && !a.policy.Xk || NYa(a, c, d); BYa(a, "m"); break a + } var n = m - a.C, p = n - a.Z, q = c.info.Pa, r = a.Ma ? a.Ma.Pa : -1, t = a.Xa, u = a.Va, y = a.policy.Zp && n > a.policy.Zp, A = Math.abs(p) > 10, D = Math.abs(a.C - d) < 1E-7; if (Math.abs(p) > 1E-4) { + a.Ra += 1; var F = (e = a.D) == null ? void 0 : bM(e); e = { audio: "" + +a.Gh(), sq: q.toFixed(), sliceStart: m, lastSq: r.toFixed(), lastSliceStart: t, lastSliceDuration: u, totalDrift: (n * 1E3).toFixed(), segDrift: (p * 1E3).toFixed(), skipRewrite: "" + +(y || A) }; if (F == null ? 0 : F.length) e.adCpn = F[0]; a.ya.handleError("qoe.avsync", + e); a.Wa = q + } y || A || D || (d = a.C); e = MYa(a, c, m); f -= e; a.Z = n + e; a.policy.C && (p && !D || e) && (n = (l = a.D) == null ? void 0 : bM(l), a.ya.oa("discontinuityRewrite", { adCpn: (n == null ? 0 : n.length) ? n.join(".") : "", itag: c.info.j.info.itag, sq: c.info.Pa, originalStartTime: m, rewrittenStartTime: d, startTimeAdjustment: d - m, segDrift: (p * 1E3).toFixed(), originalDuration: f + e, rewrittenDuration: f, durationAdjustment: e })) + } + } else d = isNaN(a.C) ? c.info.startTime : a.C; NYa(a, c, d) && (a.qa += f, a.C = d + f, a.policy.Pp && a.Ra >= a.policy.Pp && (a.Ra = 0, a.ya.Iq({ resetForRewrites: "count" }))) + } a.Ma = + c.info; a.Va = mN(c); c.C >= 0 && (a.Xa = c.C); if (h && a.D) { h = OYa(a, !0); VM(c.info, h); a.j && VM(a.j.info, h); b = g.w(b); for (l = b.next(); !l.done; l = b.next())l = l.value, e = void 0, a.policy.K && l.Pa !== ((e = a.D) == null ? void 0 : e.mj) || VM(l, h); (c.info.Se || a.j && a.j.info.Se) && c.info.type !== 6 || (a.ra = h, b = a.ya, b.manifest.isManifestless && PYa(b, h, null, !!a.K.info.video), a.policy.kf || QYa(a)) } + } IYa(a, c); a.timestampOffset && NHa(c, a.timestampOffset) + }; + GYa = function (a, b) { + if (b.info.Se) { + a.fb = b.info; if (a.D) { + var c = a.D, d = OYa(a, !1), e = null; if (a.D.AF()) { + e = c.data["Stitched-Video-Id"] ? c.data["Stitched-Video-Id"].split(",").slice(0, -1) : []; var f = bM(c), h = []; if (c.data["Stitched-Video-Duration-Us"]) for (var l = g.w(c.data["Stitched-Video-Duration-Us"].split(",").slice(0, -1)), m = l.next(); !m.done; m = l.next())h.push((Number(m.value) || 0) / 1E6); l = []; if (c.data["Stitched-Video-Start-Frame-Index"]) { + m = g.w(c.data["Stitched-Video-Start-Frame-Index"].split(",").slice(0, -1)); for (var n = + m.next(); !n.done; n = m.next())l.push(Number(n.value) || 0) + } l = []; if (c.data["Stitched-Video-Start-Time-Within-Ad-Us"]) for (m = g.w(c.data["Stitched-Video-Start-Time-Within-Ad-Us"].split(",").slice(0, -1)), n = m.next(); !n.done; n = m.next())l.push((Number(n.value) || 0) / 1E6); e = new pYa(e, f, h, l, g.MDa(c), g.NDa(c)) + } a.ya.hS(a.K, d, e); a.ra || a.policy.kf || QYa(a); a.ra = null + } yY(a) + } a.N && lYa(a.N, b); if (c = a.Ro()) if (c = kN(c, b, a.policy.gm)) { a.B.pop(); a.B.push(c); return } a.B.push(b) + }; + yY = function (a) { a.j = null; a.Ba = -1; a.Y = 0; a.D = null; a.Ga = NaN; a.qa = 0; a.ra = null }; + BYa = function (a, b) { b = { rst4disc: b, cd: a.Z.toFixed(3), sq: a.Ma ? a.Ma.Pa : -1 }; a.C = NaN; a.Z = 0; a.Wa = -1; a.Ma = null; a.Xa = NaN; a.Va = NaN; a.Ya = null; a.ya.oa("mdstm", b) }; + IYa = function (a, b) { if (a.K.info.me) { if (b.info.j.info.Le()) { var c = new nM(jN(b)); if (pM(c, [408125543, 374648427, 174, 28032, 25152, 20533, 18402])) { var d = sM(c, !0); c = d !== 16 ? null : xM(c, d) } else c = null; d = "webm" } else b.info.G = nYa(jN(b)), c = oYa(b.info.G), d = "cenc"; c && c.length && (c = new uY(c, d), a.policy.rG && g.bF(b.info.j.info) && (d = WDa(jN(b))) && (c.B = d), c.Le = b.info.j.info.Le(), b.B && b.B.cryptoPeriodIndex && (c.cryptoPeriodIndex = b.B.cryptoPeriodIndex), b.B && b.B.B && (c.j = b.B.B), a.ya.py(c)) } }; + QYa = function (a) { var b = a.D, c = KDa(b); c && (c.startSecs += a.Ga, a.ya.gS(a.K, c, b.mj, b.AF())) }; + OYa = function (a, b) { var c, d = a.D; if (c = KDa(d)) c.startSecs += a.Ga; return new PL(d.mj, a.Ga, b ? d.Uj : a.qa, d.ingestionTime, "sq/" + d.mj, void 0, void 0, b, c) }; + NYa = function (a, b, c) { if (!MHa(b, c)) return b = UM(b.info), b.smst = "1", a.ya.handleError("fmt.unparseable", b || {}, 1), !1; isNaN(a.Ga) && (a.Ga = c); return !0 }; + MYa = function (a, b, c) { + var d = 0; if (b.info.j.info.Le() && !PHa(b)) return 0; if (a.Fa && !a.Gh()) { + var e = 0; c && g.bF(b.info.j.info) ? e = c - a.C : b.info.j.info.Le() && (e = a.Z); var f = b.info.Pa; c = nN(b, a.policy.Tb); var h = a.Fa; var l = h.Wa; h = h.Z; var m = Math.abs(h - e) > .02; if ((f === l || f > l && f > a.Wa) && m) { + d = Math.max(.95, Math.min(1.05, (c - (h - e)) / c)); if (g.bF(b.info.j.info)) QDa(jN(b), d); else if (b.info.j.info.Le() && (f = e - h, !g.bF(b.info.j.info) && (b.info.j.info.Le(), d = new nM(jN(b)), l = b.G ? d : new nM(new DataView(b.info.j.j.buffer)), nN(b, !0)))) { + var n = + f * 1E3, p = zM(l); l = d.pos; d.pos = 0; if (d.j.getUint8(d.pos) === 160 || AM(d)) if (rM(d, 160)) if (sM(d, !0), rM(d, 155)) { if (f = d.pos, m = sM(d, !0), d.pos = f, n = n * 1E9 / p, p = uM(d), n = p + Math.max(-p * .7, Math.min(p, n)), n = Math.sign(n) * Math.floor(Math.abs(n)), !(Math.ceil(Math.log(n) / Math.log(2) / 8) > m)) { d.pos = f + 1; for (f = m - 1; f >= 0; f--)d.j.setUint8(d.pos + f, n & 255), n >>>= 8; d.pos = l } } else d.pos = l; else d.pos = l; else d.pos = l + } d = nN(b, a.policy.Tb); d = c - d + } d && b.info.j.info.Le() && a.ya.oa("webmDurationAdjustment", { durationAdjustment: d, videoDrift: e + d, audioDrift: h }) + } return d + }; + LYa = function (a) { return a.info.j.Rm() && a.info.Pa === a.info.j.index.qd() }; + zY = function (a, b) { b = (b = b === void 0 ? 0 : b) ? Math.round(a.timestampOffset * b) / b : a.timestampOffset; a.K.D && b && (b += a.K.D.j); return b + a.getDuration() }; + RYa = function (a, b) { b < 0 || (a.B.forEach(function (c) { NHa(c, b) }), a.timestampOffset = b) }; + yX = function (a, b, c, d, e) { + LX.call(this, c, e); var f = this; this.policy = a; this.formatId = b; this.ag = d; this.lastError = null; this.Cg = function () { f.La() || (f.ag.fd.has(f.formatId) ? (f.isComplete() || f.j.start(), HW(f.ag, f.formatId) && f.vB(2), f.ag.Ng(f.formatId) && (cUa(f.ag, f.formatId) ? f.zd(4) : (f.lastError = "net.closed", f.zd(5)))) : (f.lastError = "player.exception", f.zd(5))) }; + this.j = new g.fp(function () { f.isComplete() || (f.lastError = "net.timeout", f.zd(5)) }, this.policy.jG); + this.j.start(); YTa(this.ag, this.formatId, this.Cg); g.De(this.Cg) + }; + AY = function (a, b, c, d) { + g.O.call(this); var e = this; this.ya = a; this.policy = b; this.j = c; this.timing = d; this.logger = new g.MN("dash"); this.C = []; this.ra = []; this.B = this.Qb = null; this.Ma = !1; this.Ka = this.Ra = 0; this.K = -1; this.qa = !1; this.Fa = -1; this.Ba = this.Ga = null; this.Y = NaN; this.hd = { + YP: function () { return e.D }, + Xna: function () { return e.C }, + tna: function () { return e.Z } + }; + this.D = new zYa(a, b, c); this.policy.B && (this.Z = new ZVa(this.D, this.ya.getManifest(), this.policy, function (f) { e.policy.Bp && e.ya.oa("buftl", f) })); + this.ub = c.info.ub; this.N = this.policy.ra ? !1 : c.OA(); this.isManifestless = c.OA(); this.G = this.N; g.P(this, this.Ga) + }; + BY = function (a, b, c) { c = c === void 0 ? !1 : c; b && JW && RYa(a.D, b.kQ()); if (!c) { var d; (d = a.Z) == null || gWa(d) } a.Qb = b; (b = a.Z) != null && (b.Qb = a.Qb) }; + CY = function (a) { var b = a.Qb && a.Qb.Jr(); if (a.policy.Aw) { if ((a = a.Z) == null) a = void 0; else { var c; a = (c = a.D) == null ? void 0 : c.info } return a || null } return b }; + SYa = function (a) { for (var b = {}, c = 0; c < a.ra.length; c++)b["r" + c] = a.ra[c]; return b }; + TYa = function (a, b) { isNaN(a.Y) || a.ya.oa("aswr", { sq: b.info.gb[0].Pa, id: b.info.gb[0].j.info.itag, xtag: b.info.gb[0].j.info.j, ep: Date.now() - a.Y }); a.C.push(b); a.B = g.Ib(b.info.gb); a.ra.push(b.Sc()); a.ra.length > 4 && a.ra.shift() }; + UYa = function (a, b) { if (b.Ol()) { var c = b.Uk(); c = g.w(c); for (var d = c.next(); !d.done; d = c.next())d = d.value, a.policy.C && b instanceof yX && a.ya.oa("omblss", { s: d.info.Sc() }), DY(a, b.info.gb, d, b.hQ()) } }; + DY = function (a, b, c, d) { + d = d === void 0 ? 0 : d; isNaN(a.Y) || (a.ya.oa("aswm", { sq: b[0].Pa, id: b[0].j.info.itag, xtag: b[0].j.info.j, ep: Date.now() - a.Y }), a.Y = NaN); switch (c.info.type) { + case 1: case 2: VYa(a, c); break; case 4: var e = c.info.j, f = e.MV(c), h; ((h = a.B) == null ? 0 : h.type === 4) && sEa(c.info, a.B) && (a.B = e.fC(a.B).pop()); c = g.w(f); for (e = c.next(); !e.done; e = c.next())DY(a, b, e.value, d); break; case 3: c.info.j.info.video ? (e = a.timing, e.Fa || (e.Fa = (0, g.Zt)(), gG("fvb_r", e.Fa, e.j))) : (e = a.timing, e.K || (e.K = (0, g.Zt)(), gG("fab_r", e.K, e.j))); + HYa(a.D, b, c, d); a.policy.B && WYa(a); break; case 6: HYa(a.D, b, c, d), a.B = c.info + } + }; + VYa = function (a, b) { if (b.info.type === 1) if (b.info.j.info.video) { var c = a.timing; c.Ma || (c.Ma = (0, g.Zt)(), gG("vis_r", c.Ma, c.j)) } else c = a.timing, c.Z || (c.Z = (0, g.Zt)(), gG("ais_r", c.Z, c.j)); DYa(a.D, b); a = a.ya; a.videoTrack.j.jg() && a.audioTrack.j.jg() && a.policy.B && !a.manifest.Vb && (b = a.audioTrack.getDuration(), c = a.videoTrack.getDuration(), Math.abs(b - c) > 1 && a.oa("trBug", { af: "" + dF(a.audioTrack.j.info, !1), vf: "" + dF(a.videoTrack.j.info, !1), a: "" + b, v: "" + c })) }; + FX = function (a) { return AYa(a.D) }; + WYa = function (a) { a.C.length ? a.B = g.Ib(g.Ib(a.C).info.gb) : a.D.B.length ? a.B = a.D.Ro().info : a.B = CY(a) }; + EY = function (a, b) { + var c = { kd: [], Qo: [] }, d; if ((a = a.Z) == null) a = void 0; else { + fWa(a, a.kd, "og"); dWa(a, b); fWa(a, a.kd, "trim"); var e = eWa(a); b = e.kd; e = e.vy; for (var f = [], h = 0; h < e.length; h++) { + var l = e[h], m = a.policy.Ya && l.C !== -1 ? l.C : l.info.startTime, n = { Tg: (m + a.timestampOffset) * 1E3, JE: (a.policy.Ya && l.D !== -1 ? l.D : l.info.duration) * 1E3, Ts: 1E3 }, p = void 0, q = (p = a.Qb) == null ? void 0 : p.oe(); p = void 0; if (a.policy.Tv && q && q.length > 0) { var r = mF(q, m); r >= 0 && (p = (q.end(r) - m) * 1E3) } f.push({ + formatId: dF(l.info.j.info, a.manifest.Vb), Sj: l.info.Sj, + sequenceNumber: l.info.Pa + a.C, OJ: n, c_: l.info.B, u8: p + }) + } a = { kd: b, Qo: f } + } return (d = a) != null ? d : c + }; + BX = function (a, b, c) { c = c === void 0 ? !1 : c; if (a.Qb) { var d = a.Qb.oe(), e = oF(d, b), f = NaN, h = CY(a); h && (f = oF(d, h.j.index.getStartTime(h.Pa))); if (e === f && a.B && a.B.B && XYa(YYa(a), 0)) return b } a = ZYa(a, b, c); return a >= 0 ? a : NaN }; + CX = function (a, b, c) { + a.j.jg(); var d = ZYa(a, b); if (d >= 0) return d; if ((d = a.Z) != null) { var e = b; d.policy.yc && c != null && c.XA || (d.vy = []); dWa(d, !0); d.B = $Va(d.kd, e * 1E3) } c = Math; d = c.min; e = a.D; if (e.N) if (e = e.N, e.Gf && e.Gf.type === 3) e = e.Gf.startTime; else if (e.C > 0) { var f = e.j.index; f = g.Yb(f.offsets.subarray(0, f.count), e.C * e.chunkSize); e = e.j.index.getStartTime(f >= 0 ? f : Math.max(0, -f - 2)) } else e = 0; else e = Infinity; b = d.call(c, b, e); if (a.policy.j) { + var h, l; c = (h = a.ya.Bf()) == null ? void 0 : (l = cX(h, b)) == null ? void 0 : l.clipId; a.B = a.j.Mr(b, + void 0, c).gb[0] + } else a.B = a.policy.ra ? null : a.j.Mr(b).gb[0]; FY(a) && a.Qb && a.Qb.abort(); a.Ka = 0; return a.B ? a.B.startTime : b + }; + jWa = function (a) { a.N = !0; a.G = !0; a.K = -1; CX(a, Infinity) }; + GY = function (a) { for (var b = 0, c = g.w(a.C), d = c.next(); !d.done; d = c.next())b += uEa(d.value.info); return b += JYa(a.D) }; + IY = function (a, b) { b = b === void 0 ? !1 : b; var c = a.ya.getCurrentTime(), d = a.D.Ro(), e = (d == null ? void 0 : d.info.Mf) || 0; a.policy.Nj && (d == null ? 0 : d.info.j.OA()) && !d.info.Se && (e = d.info.We); if (a.policy.j && d && d.info.clipId) { var f, h = (((f = a.ya.Bf()) == null ? void 0 : aX(f, d.info.clipId)) || 0) / 1E3; e += h } if (!a.Qb) return a.policy.B && b && !isNaN(c) && d ? e - c : 0; if ((f = CY(a)) && HY(a, f)) return f.Mf; f = a.Qb.oe(!0); return b && d ? (b = 0, a.policy.B && (b = qF(f, e + .02)), b + e - c) : qF(f, c) }; + $Ya = function (a, b) { if (a.C.length) { if (a.C[0].info.gb[0].startTime <= b) return; AX(a) } for (var c = a.D, d = c.B.length - 1; d >= 0; d--)c.B[d].info.startTime > b && c.B.pop(); WYa(a); a.B && b < a.B.startTime && (a.Ka = 0, a.j.jg() ? a.B = a.j.Mr(b, !0).gb[0] : a.B = null) }; + aZa = function (a, b, c, d) { AX(a); for (var e = a.D, f = null, h = e.B.length - 1; h >= 0; h--) { var l = e.B[h]; l.info.Pa >= b && (e.B.pop(), e.C -= nN(l, e.policy.Tb), f = l.info) } f && (e.G = e.B.length > 0 ? e.B[e.B.length - 1].info : e.Ya, e.B.length !== 0 || e.G || BYa(e, "r")); e.ya.oa("mdstm", { rollbk: 1, itag: f ? f.j.info.itag : "", popped: f ? f.Pa : -1, sq: b, lastslc: e.G ? e.G.Pa : -1, lastfraget: e.C.toFixed(3) }); a.policy.B ? a.B = null : d > c ? CX(a, d) : a.B = a.j.vt(b - 1, !1).gb[0] }; + KY = function (a, b) { + var c; for (c = 0; c < a.C.length && b !== a.C[c]; c++); if (c === a.C.length) JY(a, b); else { + for (; c < a.C.length;)JY(a, a.C.pop()); var d = KXa(a); d && d.j.Fx() && Em(b.info.gb, function (e) { return tEa(e, d) }) ? (a.B = d, a.policy.C && a.ya.oa("cer", { + lsr: "lsp", + lsp: d.Sc() + })) : (RM(b.info.gb[0]) ? (a.B = b.eg && b.eg.C ? qEa(b.eg.C) : pEa(b.info.gb[0]), a.policy.C && a.ya.oa("cer", { lsr: a.B.Sc(), lsp: d == null ? void 0 : d.Sc() })) : (a.B = null, a.policy.C && a.ya.oa("cer", { lsr: "null", lsp: d == null ? void 0 : d.Sc() })), a.ya.isOffline() && !a.policy.Xk || JY(a, b, !0)) + } + }; + HY = function (a, b) { if (!b) return !1; if (a.policy.j) { var c; if ((a = (c = a.ya.Bf()) == null ? void 0 : c.ea.getVideoData().clientPlaybackNonce) && b.clipId !== a) return !1 } return b.Mi() }; + FY = function (a) { var b; !(b = a.j.info.rb === "f") && (b = a.policy.D) && (b = a.D, b = !!b.N && qY(b.N)); if (b) return !0; b = CY(a); if (!b) return !1; var c = HY(a, b) && b.Se; return a.isManifestless && a.Fa > 0 ? c || b.Pa >= a.Fa : c }; + LY = function (a) { var b; return FY(a) || HY(a, (b = a.D.Ro()) == null ? void 0 : b.info) }; + YYa = function (a) { + var b = [], c = CY(a); c && b.push(c); b = g.Sb(b, a.D.Yn()); c = g.w(a.C); for (var d = c.next(); !d.done; d = c.next()) { d = d.value; for (var e = g.w(d.info.gb), f = e.next(), h = {}; !f.done; h = { pH: void 0 }, f = e.next())h.pH = f.value, d.zQ && (b = g.kn(b, function (l) { return function (m) { return !sEa(m, l.pH) } }(h))), (RM(h.pH) || h.pH.type === 4) && b.push(h.pH) } a.B && !kEa(a.B, g.Ib(b), a.B.j.Rm()) && b.push(a.B); + return b + }; + XYa = function (a, b) { if (!a.length) return !1; for (b += 1; b < a.length; b++)if (!lEa(a[b - 1], a[b])) return !1; return !0 }; + ZYa = function (a, b, c) { c = c === void 0 ? !1 : c; if (!a.B || !a.B.B) return NaN; a = YYa(a); a: { b += .02; var d = c; d = d === void 0 ? !1 : d; for (var e = -1, f = 0; f < a.length; ++f) { var h = a[f]; if (h.We <= b) if (d) e = f; else if (h.startTime + h.duration >= b) { b = f; break a } } b = e } return b < 0 ? NaN : XYa(a, c ? b : 0) ? a[b].startTime : NaN }; + MY = function (a) { return !(!a.B || a.B.j === a.j) }; + bZa = function (a) { return MY(a) && a.j.jg() && a.B.j.info.ub < a.j.info.ub }; + cZa = function (a, b, c) { if (a.policy.Nj) return IY(a, !0) < c; var d = KXa(a); return d && !HY(a, d) ? d.Mf > b && d.Mf < b + c : !1 }; + KXa = function (a) { var b = a.D.Ro(); return b ? b.info : CY(a) }; + AX = function (a) { for (var b = g.w(a.C), c = b.next(); !c.done; c = b.next())JY(a, c.value); a.C = []; a.B = null }; + NY = function (a) { var b; (b = a.Z) == null || gWa(b) }; + dZa = function (a, b, c) { b.zQ && ((c === void 0 ? 0 : c) || !b.info.gb[0].j.Fx()) && (a.logger.debug(function () { return "Rolling back request with segNum " + b.info.gb[0].Pa }), KYa(a.D)) }; + JY = function (a, b, c) { dZa(a, b, c === void 0 ? !1 : c); b.dispose() }; + eZa = function (a) { return !!a.B && a.B.Pa !== -1 && a.B.Pa < a.j.index.Vn() }; + fZa = function (a) { var b = a.B; b && b.Pa === -1 && (a = a.D.Ro()) && RM(a.info) && (a = a.info.Pa, b.C = "updateLastSliceRequested", b.Pa = a) }; + gZa = function (a) { return Em(a.C, function (b) { return b.KB }) }; + hZa = function (a, b) { a.B && (a.B.j = b) }; + OY = function (a) { var b = FX(a), c = a.ya.Bf(); if (a = b && c && !a.policy.OC && b.info.clipId) { a: if (b = b.info.clipId, c.IT && c.ax && c.ax !== b) c = !1; else { if (b = c.pk.get(b)) if (b = b.getId().split(","), b.length > 1) for (a = 0; a < b.length; a++) { var d = a < b.length - 1 ? b[a + 1] : ""; if (c.Jk.has(b[a])) { c = b[a] === c.Sb && !c.Jk.has(d); break a } } c = !0 } a = !c } return a ? !0 : !1 }; + iZa = function (a) { return a.Qb ? a.Qb.RF() : !1 }; + jZa = function (a, b) { var c = FX(a); return c && c.info.type !== 6 ? !LXa(b, a, c.info.Pa) : !1 }; + kZa = function (a) { var b = CY(a), c, d = (c = a.Qb) == null ? void 0 : c.oe(); c = NaN; b && d && FY(a) && (c = oF(d, (b.We + b.Mf) / 2)); return !isNaN(c) }; + lZa = function (a) { var b = a === void 0 ? {} : a; a = b.vk; var c = b.sj; var d = b.Vj; var e = b.qd; b = b.gx; this.vk = a; this.sj = c; this.Vj = d; this.qd = e; this.gx = b }; + zWa = function (a, b) { if (b < 0) return !0; var c = a.qd(); return b < c || b === c && !a.vk || b === c && (a = a.gx()) && b === a.Pa ? !0 : !1 }; + AWa = function (a, b, c) { if (!zWa(a, b)) return 0; if (!a.sj || !isNaN(c) && c > 0) return 2; if (b < 0) return 1; c = a.qd(); return b < c || b === c && (a = a.gx()) && b === a.Pa && !a.pending ? 2 : 1 }; + PY = function (a, b, c) { g.O.call(this); this.ya = a; this.policy = b; this.Kc = c; this.B = 0; this.j = !1; this.delay = new g.fp(this.C, this.policy.Fi, this); g.P(this, this.delay) }; + mZa = function (a, b) { LL(b.j) || (a.resource = b, a.B = 0, g.gp(a.delay)) }; + nZa = function (a, b, c, d, e) { + var f = this; this.ya = a; this.policy = b; this.Kc = c; this.resource = d; this.Xj = e; this.done = !1; this.onTimeout = function () { f.done || (f.done = !0, f.onError("net.timeout")) }; + this.size = Math.ceil(Math.min(1E5, .1 * CO(this.Kc))); this.timing = new JX(this, { + Kc: this.Kc, dA: this.size, Qp: !0, hv: function () { }, + DJ: this.policy.C + }); a = HM(this.resource, this.Xj, this.policy).base.clone(); JL(a); a.path !== "/videogoodput" && (a.path = "/videogoodput", a.url = ""); this.location = new BM(a); this.location.set("rn", "" + this.timing.requestNumber); this.location.set("range", "0-" + (this.size - 1)); this.xhr = NX(this.location, this.policy.N, this.timing, this.policy.Zs, {}); setTimeout(this.onTimeout, 1E4) + }; + oZa = function (a, b, c) { var d = a.kx(); if (a.isComplete() || !d || a.info.resource.Xj(b, c) || d < 2) return 0; a = EM(c, IM(a.info.resource, !0, b)); return a.j || a.timedOut || a.started ? 0 : 2 }; + pZa = function (a, b, c) { if (!(b.Qv && a.isComplete() && a.canRetry() && a.info.resource.Xj(b, c)) || a.info.resource.N) return 0; a = EM(c, IM(a.info.resource, !1, b)); return a.B + b.Qv * fEa(a, !0) > (0, g.Zt)() ? 0 : 1 }; + QY = function (a, b, c, d, e, f, h, l, m, n, p, q, r, t) { + t = t === void 0 ? null : t; g.O.call(this); var u = this; this.ya = a; this.policy = b; this.videoTrack = c; this.audioTrack = d; this.D = e; this.j = f; this.timing = h; this.G = l; this.schedule = m; this.manifest = n; this.C = p; this.Y = q; this.KM = r; this.Ei = t; this.qa = !1; this.dH = ""; this.Ml = null; this.hh = NaN; this.ra = !1; this.B = null; this.rh = this.Z = NaN; this.qq = this.K = 0; this.logger = new g.MN("dash"); this.hd = { YQ: function (y, A) { return u.YQ(y, A) } }; + this.policy.Wq > 0 && (this.dH = g.Sv(this.policy.Wq)); this.policy.Fi && (this.N = new PY(this.ya, this.policy, this.schedule), g.P(this, this.N)) + }; + sZa = function (a, b, c) { + var d = b.B ? b.B.j.resource : b.j.resource; var e = a.D, f; (f = !a.policy.UC) || (f = KL(d.j) === KL(d.C)); f ? d = !1 : (e = EM(e, KL(d.C)), f = 6E4 * Math.pow(e.D, 1.6), (0, g.Zt)() < e.B + f ? d = !1 : (e.B = (0, g.Zt)(), e.D += 1, d.j = d.C.clone(), d = !0)); d && a.ya.oa("hostch", {}, !0); if (qZa(a, b, c)) { + if (b.N) a.manifest.isLive ? (c = a.manifest.df && a.manifest.C ? b.j.vt(a.manifest.df, !1) : b.j.Mr(Infinity), c.hh = a.hh) : c = b.j.vt(0, !1), a.Y ? c.hh === 0 && (c.G = a.Y.Z) : c.G = a.Z; else if (d = b.B, d.j.jg()) { + e = d.Mf - a.ya.getCurrentTime(); var h = !d.range || d.B === + 0 && d.Ub === 0 ? 0 : d.range.length - (d.Ub + d.B); f = d.j; a.YQ(b, e) && h === 0 && (a.manifest.isManifestless ? f = b.j : (f = d.startTime + RY, d.B && (f += d.duration), CX(b, f), d = b.B, f = d.j)); f.Rm() ? (h = a.C, e = WVa(a.G, f.info.ub, c.j.info.ub, e, h.D.length > 0 && h.Z === 0 && a.ya.Yr), c = d, f = MY(b), d = c.j.rz(c, e), (e = d.C) && d.gb.length > 1 && (f || d.resource.B || d.gb[0].j !== c.j ? d = c.j.rz(c, d.gb[0].B) : (f = d.gb[d.gb.length - 1], h = f.B / e, !f.Se && h < .4 && (d = c.j.rz(c, e - f.B)))), c = d) : (d.Pa < 0 && (c = UM(d), c.pr = "" + b.C.length, a.ya.isSeeking() && (c.sk = "1"), c.snss = d.C, a.ya.oa("nosq", + c)), c = f.vD(d)); if (a.policy.Ma) for (d = g.w(c.gb), e = d.next(); !e.done; e = d.next())e.value.type = 6 + } else d.j.Rm() ? (c = WVa(a.G, b.j.info.ub, c.j.info.ub, 0), c = d.j.rz(d, c)) : c = d.j.vD(d); if (a.B) { + var l = c.gb[0].j.info.id; d = a.j; e = c.gb[0].Pa; d = e < 0 && !isNaN(d.G) ? d.G : e; e = cY(a.j, c.gb[0].We, d); var m = b === a.audioTrack ? 1 : 2; h = c.gb[0].j.info.rb; f = l.split(";")[0]; a: { + var n = a.j; if (n.j) { var p = n.j.Zg.event; if (n.j.Pa === d) { n = p === "predictStart" ? void 0 : n.j.Zg.event; break a } if (n.j.Pa === d - 1) { n = p === "start" || p === "continue" ? p : void 0; break a } } n = + void 0 + } if (a.policy.Ka && a.j.B !== 0) { var q = a.B.nK(e, d, l, m, h, n); d < 0 && m === 2 && dY(a.j, 0, 0, !0); if (q) { var r; l = ((r = q.dn) == null ? void 0 : r.Nt) || ""; var t; r = ((t = q.dn) == null ? void 0 : t.UT) || -1; a.ya.oa("sdai", { ssdaiinfo: "1", ds: l, skipsq: r, itag: f, f: h, sg: d, st: e.toFixed(3) }); c.D = q } } else if (t = a.B.iA(e, d, l, m, h, n), d < 0 && m === 2 && dY(a.j, 0, 0, !0), t) { + r = { dec_sq: d, itag: f, st: e.toFixed(3) }; if (a.policy.CD && b.isRequestPending(d - 1)) { a.ya.oa("sdai", { wt_daistate_on_sg: d - 1 }); return } a.ya.oa("sdai", r); t && (c.j = new g.IL(t)); a.policy.C && (t = c.resource.dK("id") || + "", r = ((q = c.j) == null ? void 0 : q.get("id")) || "", t !== r && a.ya.oa("stmidmismatch", { cid: t, aid: r })) + } else a.j.B !== 5 && a.ya.oa("sdai", { nodec_sq: d, itag: f, st: e.toFixed(3) }) + } a.policy.nm && c.gb[0].Pa !== -1 && c.gb[0].Pa < a.manifest.df && (c = b.j.vt(a.manifest.df, !1)); TYa(b, rZa(a, c)); $X(a.timing); var u; (u = a.N) == null || mZa(u, c.resource) + } + }; + qZa = function (a, b, c) { + if (a.policy.Sf && a.policy.JD) return !1; var d; var e = a.j, f = ((d = b.B) == null ? void 0 : d.Pa) || -1; e.B === 3 && f + 1 >= e.D ? (e.oa("sdai", { haltrq: f + 1, est: e.D }), d = !1) : d = e.B !== 2; if (!d || !JM(b.B ? b.B.j.resource : b.j.resource, a.policy, a.D) || a.ya.isSuspended && (!DO(a.schedule) || a.ya.zJ)) return !1; if (a.policy.D && LP >= 5) return g.gp(a.ya.fG), !1; if (a.manifest.isManifestless) { + if (b.C.length > 0 && b.B && b.B.Pa === -1 || b.C.length >= a.policy.Cp || !a.policy.cH && b.C.length > 0 && !a.policy.N.sj) return !1; if (b.N) return !a.manifest.isLive || + !isNaN(a.hh) + } if (gZa(b)) return a.logger.debug("Pending request with server-selectable format found"), !1; if (!b.B) { if (!b.j.jg()) return !1; CX(b, a.ya.getCurrentTime()) } if (FX(b) && (b.Ro() !== FX(b) || a.ya.isSuspended)) return !1; e = (d = a.policy.wB) && !b.C.length && IY(b, !0) < Math.min(d, IY(c)); d = b.C.length + c.C.length; f = !a.policy.NC && ((b.C.length ? b.C[0].Gx() : !1) || (c.C.length ? c.C[0].Gx() : !1) || a.manifest.isLive); (e || f) && --d; if (d + 1 >= a.policy.hq) return !1; d = b.B; if (!d) return !0; d.type === 4 && d.j.jg() && (b.B = g.Ib(d.j.fC(d)), d = b.B); + if (!d.Mi() && !d.j.ut(d)) return !1; f = a.manifest.Wd || a.manifest.C; if (a.manifest.isManifestless && f) { f = b.j.index.qd(); var h = c.j.index.qd(); f = Math.min(f, h); if (b.j.index.XJ() > 0 && f > 0 && d.Pa >= f) return b.Fa = f, c.Fa = f, !1 } if (d.j.info.audio && d.type === 4 || d.Mi()) return !1; f = !b.G && !c.G; if (e = !e) e = d.Mf, e = !!(c.B && !HY(c, c.B) && c.B.Mf < e); h = b === a.videoTrack && a.policy.Ma; return e && (!a.manifest.isManifestless || c.B && c.B.Mf && d.Mf) && f && !h || a.policy.Jb && !b.G && c.G ? !1 : RM(d) && d.Mf > tZa(a, b) ? (tZa(a, b), !1) : (a = b.Qb) && a.isLocked() ? !1 : !0 + }; + tZa = function (a, b) { var c = a.j; c = c.j ? c.j.Zg : null; if (a.policy.Ma && c) return c.startSecs + c.Dh + 15; b = SY(a.ya, b); a.policy.Kb > 0 && (c = ((0, g.Zt)() - a.ya.jq) / 1E3, b = Math.min(b, a.policy.Kb + a.policy.Ui * c)); c = a.ya.getCurrentTime() + b; return a.policy.Ov && (b = uZa(a.ya) + a.policy.Ov, b < c) ? (a.ya.oa("mrl", { ori: c, mod: b }, !0), a.policy.LD && (a = a.ya, c = (0, g.Zt)(), a.jq = c), b) : c }; + vZa = function (a, b, c) { if (c !== 0) { a: if (b = b.info, c = c === 2, b.j) b = null; else { var d = b.gb[0]; if (b.range) var e = NM(b.range.start, Math.min(4096, b.C)); else { if (b.B && b.B.indexOf("/range/") >= 0 || b.resource.dK("defrag") === "1" || b.resource.dK("otf") === "1") { b = null; break a } e = NM(0, 4096) } e = new WM([new PM(5, d.j, e, "createProbeRequestInfo" + d.C, d.Pa)], b.B); e.Xj = c; e.j = b.j; b = e } b && rZa(a, b) } }; + rZa = function (a, b) { + a.ya.rK(b); var c = uEa(b), d = a.ya.eK(); c = { Kc: a.schedule, dA: c, zS: UVa(a.G, c), Lp: QM(b.gb[0]), Qp: LL(b.resource.j), DJ: a.policy.C, hv: function (e, f) { a.ya.hH(e, f) } }; + a.Ml && (c.Pa = b.gb[0].Pa, c.hh = b.hh, c.Ml = a.Ml); d = { Kw: vEa(b, a.ya.getCurrentTime()), VG: a.policy.ge && YM(b) && b.gb[0].j.info.video ? dYa(a.C) : void 0, SH: a.policy.Ma, poToken: a.ya.Yt(), uy: a.ya.tA(), dH: a.dH, rh: isNaN(a.rh) ? null : a.rh, Ei: a.Ei, KM: a.KM, qq: a.qq, MB: d }; return new zX(a.policy, b, c, a.D, function (e, f) { + try { + a: { + var h = e.info.gb[0].j, l = h.info.video ? a.videoTrack : a.audioTrack; if (!(e.state >= 2) || e.isComplete() || e.kx() || !(!a.ya.Qa || a.ya.isSuspended || IY(l) > 3)) { + var m = oZa(e, a.policy, a.D); m === 1 && (a.ra = !0); vZa(a, e, m); if (e.isComplete() || + e.La() && f < 3) { if (a.policy.C) { var n = e.timing.qr(); n.rst = e.state; n.strm = e.xhr.CC(); n.cncl = e.xhr && e.Cd.D ? 1 : 0; a.ya.oa("rqs", n) } e.Y1 && a.ya.oa("sbwe3", {}, !0) } if (!a.La() && e.state >= 2) { + BXa(a.timing, e, h); var p = a.ya; a.rh && e.cJ && p && (a.rh = NaN, a.ya.DT(e.cJ), a.ya.sE(), a.ya.oa("cabrUtcSeek", { mediaTimeSeconds: e.cJ })); e.kC && (e.Sp > 0 && a.ya.oa("sError", { errorHttpResponseCode: e.Sp.toString() }), a.rh && e.kC && !e.kC.action && (a.ya.Ku(a.rh), a.rh = NaN, a.ya.oa("cabrUtcSeekFallback", { targetUtcTimeSeconds: a.rh }))); a.policy.Jw && e.pj && + a.ya.Vm(e.pj); a.policy.Wc && (a.qq = e.qq); if (e.state === 3) { KY(l, e); YM(e.info) && TY(a, l, h, !0); if (a.B) { var q = e.info.iA(); q && a.B.Fl(e.info.gb[0].Pa, h.info.id, q, e.info.gb[0].startTime) } a.ya.Ue() } else if (e.isComplete() && e.info.gb[0].type === 5) { if (e.state !== 4) e.Qm() && a.ya.handleError(e.Xh(), e.Hr()); else { var r = (e.info.gb[0].j.info.video ? a.videoTrack : a.audioTrack).C[0] || null; r && r instanceof zX && r.kx() && r.cI(!0) } e.dispose() } else { + e.Qm() || wZa(a, e); var t; ((t = e.bB) == null ? 0 : t.itagDenylist) && a.ya.yL(e.bB.itagDenylist); + if (e.state === 4) xZa(a, e), a.j && HXa(a.j, e.info, a.B); else if (a.policy.Zs && e.Ol() && !e.isComplete() && !xZa(a, e) && !e.Qm()) break a; e.Qm() && (yZa(a, e), isNaN(a.rh) || (a.ya.Ku(a.rh), a.rh = NaN)); a.ya.Ue(); var u = pZa(e, a.policy, a.D); vZa(a, e, u) + } + } + } + } + } catch (y) { f = a.qa ? 1 : 0, a.qa = !0, e = GE(f), f = HE(y, f), a.ya.handleError(f.errorCode, f.details, f.severity), e || a.ya.lk() } + }, d) + }; + wZa = function (a, b) { + if (b.KB && b.state >= 2 && b.state !== 3) { + var c = b.xhr.getResponseHeader("X-Response-Itag"); if (c) { + a.logger.debug(function () { return "Applying streamer-selected format " + c }); + var d = cYa(a.C, c), e = b.info.C; e && (e -= d.ZP(), d.C = !0, b.info.gb[0].j.C = !1, mXa(b, d.jx(e)), UY(a.ya, a.videoTrack, d), hZa(a.videoTrack, d), a.ya.uS(d.info.video.quality), (e = b.hQ()) && d.info.lastModified && d.info.lastModified !== +e && KY(a.videoTrack, b)) + } else b.KB = !1 + } + }; + yZa = function (a, b) { + var c = b.info.gb[0].j, d = b.Xh(); if (LL(c.resource.j)) { var e = g.Ue(b.Xf(), 3); a.ya.oa("dldbrerr", { em: e || "none" }) } e = b.info.gb[0].Pa; var f = cY(a.j, b.info.gb[0].We, e); d === "net.badstatus" && (a.K += 1); if (b.canRetry() && zZa(a.ya)) { + if (!(b.info.resource.B >= a.policy.qw && a.B && b.info.eq() && d === "net.badstatus" && a.B.FE(f, e))) { + e = (c.info.video && c.resource.B > 1 || b.Ag === 410 || b.Ag === 500 || b.Ag === 503) && !(iY(a.C.G).size > 0) && !LL(c.resource.j); f = b.Hr(); var h = c.info.video ? a.videoTrack : a.audioTrack; e && (f.stun = "1"); + a.ya.handleError(d, f); a.La() || (e && (a.logger.debug(function () { return "Stunning format " + c.info.id }), nY(a.C, c)), KY(h, b), a.ya.Ue()) + } + } else h = 1, a.B && b.info.eq() && d === "net.badstatus" && a.B.FE(f, e) && (h = 0), a.manifest.isLive && b.Xh() === "net.badstatus" && a.K <= a.policy.Ej * 2 ? (zIa(a.manifest), a.manifest.Wd || a.manifest.isPremiere ? EX(a.ya, 0, { Zc: "badStatusWorkaround" }) : a.manifest.C ? EX(a.ya, a.manifest.Ra, { + Zc: "badStatusWorkaround", + Fp: !0 + }) : VY(a.ya)) : a.ya.handleError(d, b.Hr(), h) + }; + xZa = function (a, b) { + if (a.policy.useUmp && b.La()) return !1; try { + var c = b.info.gb[0].j, d = c.info.video ? a.videoTrack : a.audioTrack; if (a.manifest.isManifestless && d) { a.K = 0; d.N && (b.La(), b.isComplete() || b.Ol(), d.N = !1); b.LP() && a.ya.mJ.zm(1, b.LP()); var e = b.XJ(), f = b.tY(); IN(a.manifest, e, f) } if (b.info.Lp() && !XM(b.info)) for (var h = g.w(b.Uk()), l = h.next(); !l.done; l = h.next())VYa(d, l.value); for (a.ya.getCurrentTime(); d.C.length && d.C[0].state === 4;) { var m = d.C.shift(); UYa(d, m); d.Ra = m.mY() } d.C.length && UYa(d, d.C[0]); var n = !!FX(d); + n && b instanceof yX && (c.info.Gh() ? uXa(a.timing) : tXa(a.timing)); return n + } catch (p) { b = b.Hr(); b.origin = "hrhs"; a: { a = a.ya; c = p; if (c instanceof Error) { b.msg || (b.msg = "" + c.message); b.name || (b.name = "" + c.name); if (c instanceof g.pt && c.args) for (d = g.w(Object.entries(c.args)), e = d.next(); !e.done; e = d.next())f = g.w(e.value), e = f.next().value, f = f.next().value, b["arg" + e] = "" + f; g.fx(c); if (c.level === "WARNING") { a.ea.Iq(b); break a } } a.handleError("fmt.unplayable", b, 1) } return !1 } + }; + AZa = function (a) { + var b = a.videoTrack.j.index; a.Ml = new lZa({ + vk: a.policy.vk, sj: a.policy.N.sj, Vj: b.Vj, qd: function () { return b.qd() }, + gx: function () { return b.gx() } + }) + }; + TY = function (a, b, c, d) { if (!(c.jg() || c.TA() || c.C || !JM(c.resource, a.policy, a.D) || c.info.rb === "f" || a.policy.B)) { if (d) { d = a.G; var e = c.info; d = VVa(d, e.video ? d.policy.Xw : d.policy.fm, e.ub) } else d = 0; d = c.jx(d); a = rZa(a, d); XM(d) && TYa(b, a); c.C = !0 } }; + WY = function (a, b, c, d, e, f, h, l) { + g.O.call(this); var m = this; this.ya = a; this.Ge = b; this.videoTrack = c; this.audioTrack = d; this.manifest = e; this.Y = f; this.isAudioOnly = h; this.Fa = l; this.B = VP; this.Ba = !1; this.logger = new g.MN("sabr"); this.Z = this.ra = this.qa = !1; this.videoInfos = this.G = this.Y.videoInfos; this.C = this.N = this.Y.j; this.j = new gY(b, f, function (n, p) { m.ya.oa(n, p) }); + BZa(this) && wOa(this.Ge); CZa(this); this.isAudioOnly && DZa(this, this.manifest.j["0"]) + }; + BZa = function (a) { a = g.w(a.N); for (var b = a.next(); !b.done; b = a.next())if (aF(b.value)) return !0; return !1 }; + EZa = function (a, b) { var c = []; b = g.w(b); for (var d = b.next(); !d.done; d = b.next())c.push(dF(d.value, a.manifest.Vb)); return c }; + DZa = function (a, b, c) { b !== a.D && (a.D && (a.Ba = !0), a.D = b, a.xL(b, a.videoTrack, c)) }; + IZa = function (a, b) { a.logger.debug("setConstraint: " + vL(b)); a.Ge.j && (a.ra = b.reason === "m" || b.reason === "l" ? !0 : !1); b.reason === "m" ? b.isLocked() && FZa(a, b.j) : GZa(a, b) ? HZa(a, b.B, b.j) : a.videoInfos = a.G; a.B = b }; + GZa = function (a, b) { return a.Ge.Dn && b.reason === "b" || a.Ge.WC ? !1 : a.Ge.nB ? !0 : b.reason === "l" || b.reason === "b" || b.reason === "o" }; + JZa = function (a, b) { return b.isLocked() && a.j.B || a.B === void 0 ? !1 : qL(b, a.B) }; + KZa = function (a, b) { var c, d = (c = a.D) == null ? void 0 : c.info.video.j; return a.Ba ? !0 : a.D ? b !== d ? !0 : !a.j.B || a.Ge.Fj && a.j.j === a.D.info.itag ? !1 : !0 : !1 }; + FZa = function (a, b) { + var c = a.j.j; if (c) { + a.videoInfos = a.G; var d = g.Kb(a.videoInfos, function (e) { return e.id === c }); + d && d.video.j === b ? a.videoInfos = [d] : (d = a.videoInfos.map(function (e) { return e.id }), a.ya.oa("sabrpf", { + pfid: "" + c, + vfids: "" + d.join(".") + }), HZa(a, b, b), jY(a.j, "")) + } else HZa(a, b, b) + }; + HZa = function (a, b, c) { a.videoInfos = a.G; a.videoInfos = g.kn(a.videoInfos, function (d) { return d.video.j >= b && d.video.j <= c }) }; + CZa = function (a) { var b = null; if (b = a.Ge.bk ? NXa(a.j, a.Fa) : g.Kb(a.N, function (c) { var d; return !((d = c.dc) == null || !d.isDefault) })) a.C = [b] }; + LZa = function (a, b) { return a.map(function (c) { return eF(c, b) }) }; + MZa = function (a) { + var b; if ((b = a.B) == null ? 0 : b.isLocked()) return a.videoInfos; var c = iY(a.j); b = g.kn(a.videoInfos, function (d) { return d.ub > a.Ge.ub ? !1 : !c.has(d.id) }); + MXa(a.j) && (b = g.kn(b, function (d) { return d.video.width <= 854 && d.video.height <= 480 })); + return b + }; + NZa = function (a, b, c) { + var d = a.manifest, e = a.ea.getVideoData(), f = g.jQ(e), h = eXa({ Da: e.U(), ea: a.ea, AE: a.AE, Ge: a.Ge, jq: a.jq, Wx: a.Wx, Lw: a.Lw, Vy: a.Vy, Gq: a.Gq, isPrefetch: a.isPrefetch, nH: a.nH, qH: a.qH, Oz: a.Oz, sabrLicenseConstraint: e.sabrLicenseConstraint, Ly: a.Ly }), l = VX(e, a.MB, a.nextRequestPolicy, a.Ak, a.SS, a.Ada), m = a.xH, n = a.yH; if (n === void 0 && m === void 0) { var p; n = d.Vb; n = (m = (p = a.CO) == null ? void 0 : p.video) ? [dF(m.info, n)] : []; var q; p = d.Vb; m = (m = (q = a.CO) == null ? void 0 : q.audio) ? [dF(m.info, p)] : [] } if (e.Ei) var r = e.Ei; e = { + zr: h, + Qo: a.Qo, xH: m, yH: n, videoPlaybackUstreamerConfig: r, BC: l + }; a.dn && (e.dn = a.dn); if (f && b) { + f = new Map; var t = g.w(d.Va); for (h = t.next(); !h.done; h = t.next())h = h.value, (l = d.Wa[gIa(d, h)] || "") ? (f.has(l) || f.set(l, []), f.get(l).push(h)) : c && c("ssap", { nocid4fmt: (h.itag || "") + "_" + (h.lmt || 0) + "_" + (h.xtags || "") }); d = new Map; t = g.w(a.kd); for (h = t.next(); !h.done; h = t.next())h = h.value, l = h.startTimeMs || 0, q = void 0, r = (q = b) == null ? void 0 : cX(q, l), q = r.clipId, r = r.Nl, q ? (d.has(q) || (n = f.get(q) || [], d.set(q, { clipId: q, kd: [], Ax: n })), r !== 0 && (h.startTimeMs = + l - r), d.get(q).kd.push(h)) : c && (q = void 0, c("ssap", { nocid4range: "1", fmt: ((q = h.formatId) == null ? void 0 : q.itag) || "", st: l.toFixed(3), d: (h.durationMs || 0).toFixed(3), timeline: bX(b) })); e.QH = []; d = g.w(d.entries()); for (f = d.next(); !f.done; f = d.next())f = g.w(f.value), f.next(), f = f.next().value, e.QH.push(f); if (a.kd.length && !e.QH.length) { + if (c) { + e = ""; a = g.w(a.kd); for (d = a.next(); !d.done; d = a.next())d = d.value, h = t = f = void 0, e += "fmt." + (((f = d.formatId) == null ? void 0 : f.itag) || "") + "_" + (((t = d.formatId) == null ? void 0 : t.lmt) || 0) + "_" + + (((h = d.formatId) == null ? void 0 : h.xtags) || "") + ";st." + (d.startTimeMs || 0).toFixed(3) + ";d." + (d.durationMs || 0).toFixed(3) + ";"; c("ssap", { nobfrange: "1", br: e, timeline: bX(b) }) + } return + } a.UK && (e.UK = a.UK); a.RK && (e.RK = a.RK) + } else e.kd = a.kd, e.Ax = d.Va, f && ((t = a.kd) == null ? void 0 : t.length) > 0 && !b && c && c("ssap", { bldmistlm: "1" }); return e + }; + XY = function (a, b, c) { var d = this; this.requestType = a; this.resource = b; this.Cb = c; this.B = null; this.hd = { yoa: function () { var e; return (e = d.data) == null ? void 0 : e.isPrefetch } } }; + OZa = function (a, b, c) { + if (a.Xr()) return !0; a.data = b; a.j = NZa(b, c, function (d, e) { var f; (f = a.Cb) == null || f.Gk(d, e) }); + if (!a.j) return !1; a.B = g.CK(a.j, BCa); return !0 + }; + qXa = function (a, b, c) { a.Xj === void 0 && (a.Xj = a.resource.Xj(b, c)); return a.Xj }; + PZa = function (a) { var b, c; return ((b = a.j) == null ? void 0 : (c = b.zr) == null ? void 0 : c.MS) || 0 }; + QZa = function (a) { var b, c; return !!((b = a.j) == null ? 0 : (c = b.zr) == null ? 0 : c.Ly) }; + RZa = function (a) { + var b = {}, c = [], d = []; if (!a.data) return b; for (var e = 0; e < a.data.kd.length; e++) { var f = a.data.kd[e], h = void 0; c.push("i." + ((h = f.formatId) == null ? void 0 : h.itag) + "_st." + (f.startTimeMs + "_e." + (f.startTimeMs + f.durationMs) + "_d." + f.durationMs) + ("_sn." + f.pn) + ("_en." + f.Yi)) } for (e = 0; e < a.data.Qo.length; e++) { + f = a.data.Qo[e]; var l = h = void 0, m = void 0, n = void 0; d.push("i." + ((h = f.formatId) == null ? void 0 : h.itag) + "_sn." + f.sequenceNumber + "_sl." + (f.Sj || NaN) + "_lb." + f.c_ + "_tr.s_" + ((l = f.OJ) == null ? void 0 : l.Tg) + "_d_" + + ((m = f.OJ) == null ? void 0 : m.JE) + "_t_" + ((n = f.OJ) == null ? void 0 : n.Ts)) + } b.ptime = PZa(a); b.rtype = a.requestType; b.brl = c.join(";"); b.ps = d.join(";"); return b + }; + YY = function (a, b) { this.wd = a; this.cipher = this.wd.exports.AES128CTRCipher_create(b.byteOffset) }; + SZa = function (a) { return function (b) { return { profile: a, Kn: Math.ceil(b.byteLength / 16) } } }; + ZY = function (a, b) { this.key = a; this.subtleCrypto = b; this.j = !1 }; + TZa = function (a, b) { b = b === void 0 ? window.crypto.subtle : b; return jU().mf(function () { return b.importKey("raw", a, "AES-CTR", !1, ["encrypt"]).catch(function (c) { return Promise.reject(c.name + ": " + c.message) }) }).mf(function (c) { return new ZY(c, b) }) }; + $Y = function (a) { this.j = !1; this.B = new KJ(a) }; + aZ = function (a, b) { this.wd = a; var c = a.xE(b); this.j = new YY(a, c != null ? c : b); c && a.exports.free(c.byteOffset) }; + UZa = function (a, b) { var c = this; var d = d === void 0 ? globalThis.crypto.subtle : d; this.key = a; this.subtleCrypto = d; b == null || b.mf(function (e) { c.wd = e }) }; + XZa = function (a, b, c) { return a.wd && !a.wd.Bo ? nU(VZa(a, b, c), function () { return WZa(a, b, c) }) : WZa(a, b, c) }; + VZa = function (a, b, c) { if (!a.wd) return lU("wasm unavailable"); a.C || (a.C = new aZ(a.wd, a.key)); return a.C.encrypt(b, c) }; + WZa = function (a, b, c) { a.j || (a.j = new $Y(a.key)); return a.j.encrypt(b, c) }; + YZa = function (a, b, c) { a.B || (a.B = TZa(a.key, a.subtleCrypto)); return a.B.mf(function (d) { return d.encrypt(b, c) }) }; + ZZa = function (a, b) { this.j = a; this.wd = b; this.iv = (0, g.WX)(Rv(16)) }; + $Za = function (a, b) { var c; return g.J(function (d) { (0, g.Zt)(); c = jJa(a.j); return d.return(c.encrypt(b, a.iv)) }) }; + a_a = function (a, b) { var c; return g.J(function (d) { (0, g.Zt)(); var e = a.j; e.D || (e.D = new gBa(e.C)); c = e.D; return d.return(jBa(c, b, a.iv)) }) }; + b_a = function (a, b, c) { var d; return g.J(function (e) { (0, g.Zt)(); d = jJa(a.j); return e.return(d.decrypt(b, c)) }) }; + c_a = function (a) { this.Wm = a; this.B = !1; this.j = [] }; + cZ = function (a) { for (; a.j.length && !a.j[0].isEncrypted;) { var b = a.j.shift(), c = b.videoId, d = b.bq, e = b.formatId, f = b.buffer; b = b.F8; if (f) b = void 0, (b = bZ(a.Wm.Jc, c)) == null || hUa(b, d, e, f); else if (b) a.Wm.Jc.uq(c, d, e); else if (d = a.Wm, d.j[e].bZ = !0, c = bZ(d.Jc, c), c == null ? 0 : c.fd.has(e)) c == null || ZTa(c, e) } }; + g.f_a = function (a) { + this.data = a; this.j = 0; this.D = !1; this.C = 0; this.error = !1; this.register = this.B = 0; if (dZ.length === 0) { dZ.length = 288; dZ.fill(8); for (a = 144; a < 280; a++)dZ[a] = a <= 255 ? 9 : 7; d_a.length = 32; d_a.fill(5); eZ.length = 286; eZ.fill(0); for (a = 261; a < 285; a++)eZ[a] = Math.floor((a - 261) / 4); fZ[257] = 3; for (a = 258; a < 285; a++) { var b = fZ[a - 1]; b += 1 << eZ[a - 1]; fZ[a] = b } fZ[285] = 258; for (a = 0; a < 30; a++)e_a[a] = a <= 3 ? 0 : Math.floor((a - 2) / 2); for (a = gZ[0] = 1; a < 30; a++)b = gZ[a - 1], b += 1 << e_a[a - 1], gZ[a] = b } a = 100 + 7 * this.data.length; this.data[0] === 31 && + this.data[1] === 139 && (a = (new DataView(this.data.buffer, this.data.byteOffset + this.data.length - 4)).getUint32(0, !0), this.data = this.data.subarray(10, this.data.length - 8)); this.output = new Uint8Array(a) + }; + g.l_a = function (a) { + for (; !a.D && !a.error;) { + var b = a; b.D = !!hZ(b, 1); switch (hZ(b, 2)) { + case 2: var c = [], d = []; d.length = 19; d.fill(0); var e = hZ(b, 5) + 257; var f = hZ(b, 5) + 1; for (var h = hZ(b, 4) + 4, l = 0; l < h; l++)d[g_a[l]] = hZ(b, 3); d = h_a(d); for (h = e + f; c.length < h;) { l = i_a(b, d); switch (l) { case 16: l = c[c.length - 1]; var m = hZ(b, 2) + 3; break; case 17: l = 0; m = hZ(b, 3) + 3; break; case 18: l = 0; m = hZ(b, 7) + 11; break; default: m = 1 }for (; m > 0; m--)c.push(l) } c.length !== h ? b.error = !0 : (f = c.slice(-f), c.length = e, j_a(b, c, f)); break; case 1: j_a(b, dZ, d_a); break; case 0: k_a(b, + b.j & 7); c = hZ(b, 16); e = hZ(b, 16); (c ^ e) !== 65535 && (b.error = !0); b.output.set(b.data.subarray(b.B, b.B + c), b.C); b.B += c; b.C += c; break; default: b.error = !0 + }a.C > a.output.length && (a.output = new Uint8Array(a.C * 2), a.C = 0, a.B = 0, a.D = !1, a.j = 0, a.register = 0) + } a.output.length !== a.C && (a.output = a.output.subarray(0, a.C)); return a.error ? new Uint8Array(0) : a.output + }; + j_a = function (a, b, c) { + b = h_a(b); c = h_a(c); for (var d = a.data, e = a.output, f = a.C, h = a.register, l = a.j, m = a.B; ;) { + if (l < 15) { if (m > d.length) { a.error = !0; break } h |= (d[m + 1] << 8) + d[m] << l; m += 2; l += 16 } var n = b[h & 127]; if (n < 0) for (h >>= 7; n < 0;)n = b[(h & 1) - n], h >>= 1; else h >>= n & 15; l -= n & 15; n >>= 4; if (n < 256) e[f++] = n; else if (a.register = h, a.j = l, a.B = m, n > 256) { + h = fZ[n]; h += hZ(a, eZ[n]); m = i_a(a, c); l = gZ[m]; l += hZ(a, e_a[m]); if (m_a && h < l) l = f - l, e.copyWithin(f, l, l + h); else for (m = f + h, n = f; n < m; n += 4)e[n] = e[n - l], e[n + 1] = e[n - l + 1], e[n + 2] = e[n - l + 2], e[n + 3] = e[n - l + 3]; + f += h; h = a.register; l = a.j; m = a.B + } else break + } a.C = f + }; + i_a = function (a, b) { if (a.j < 7) { var c = a.data, d = a.B; d > c.length && (a.error = !0); a.register |= (c[d + 1] << 8) + c[d] << a.j; a.B += 2; a.j += 16 } c = b[a.register & 127]; if (c >= 0) return k_a(a, c & 15), c >> 4; for (k_a(a, 7); c < 0;)c = b[hZ(a, 1) - c]; return c >> 4 }; + hZ = function (a, b) { for (; a.j < b;) { if (a.B >= a.data.length) return a.error = !0, 0; a.register |= a.data[a.B++] << a.j; a.j += 8 } var c = a.register & (1 << b) - 1; a.register >>= b; a.j -= b; return c }; + k_a = function (a, b) { a.j -= b; a.register >>= b }; + h_a = function (a) { for (var b = [], c = g.w(a), d = c.next(); !d.done; d = c.next())d = d.value, b[d] || (b[d] = 0), b[d]++; var e = b[0] = 0; c = []; var f = 0; d = 0; for (var h = 1; h < b.length; h++)b[h] ? d = h : b[h] = 0, e = e + b[h - 1] << 1, c[h] = e, h > 7 && (f += b[h]); for (e = 1; e < f;)e <<= 1; b = 128; d = new Int16Array(128 + (e + d) * 2); for (f = 0; f < a.length; f++)if (h = a[f]) { for (var l = c[h]++, m = e = 0; m < h; m++)e = e << 1 | l >> m & 1; l = f << 4 | h; if (h <= 7) for (m = 1 << 7 - h; m--;)d[m << h | e] = l; else { m = e & 127; h -= 7; for (e >>= 7; h--;) { d[m] || (d[m] = -b, b += 2); var n = e & 1; e >>= 1; m = n - d[m] } d[m] = l } } return d }; + n_a = function (a) { var b, c, d, e, f, h, l; return g.J(function (m) { switch (m.j) { case 1: if (!("DecompressionStream" in window)) return m.return(g.l_a(new g.f_a(a))); b = new DecompressionStream("gzip"); c = b.writable.getWriter(); c.write(a); c.close(); d = b.readable.getReader(); e = new VJ([]); case 2: return g.G(m, d.read(), 5); case 5: f = m.B; h = f.value; if (l = f.done) { m.Ha(4); break } e.append(h); m.Ha(2); break; case 4: return m.return($J(e)) } }) }; + iZ = function (a, b) { this.j = a; this.wd = b }; + o_a = function (a) { return nU(nU(nU(lU(), function () { return a.wd.mf(function (b) { return a.wZ(a.j, b) }) }), function () { return a.vZ(a.j) }), function () { return a.uZ(a.j) }) }; + p_a = function (a) { XX.call(this, "onesie"); this.Jc = a; this.j = {}; this.C = !0; this.D = null; this.queue = new c_a(this); this.G = {} }; + q_a = function (a) { var b = a.queue; b.j.length && b.j[0].isEncrypted && !b.B && (b.j.length = 0); b = g.w(Object.keys(a.j)); for (var c = b.next(); !c.done; c = b.next()) { c = c.value; var d = a.j[c]; if (!d.bZ) { var e = a.queue; e.j.push({ videoId: d.videoId, formatId: c, isEncrypted: !1 }); e.B || cZ(e) } } }; + t_a = function (a, b) { + var c = b.totalLength, d = !1; switch (a.D) { + case 0: a.Jc.L("html5_future_ump_fetcher_inflate") ? nU(r_a(a, b, a.C).mf(function (e) { s_a(a.Jc, e) }), function (e) { a.Jc.Zi(e) }) : a.BL(b, a.C).then(function (e) { s_a(a.Jc, e) }, function (e) { a.Jc.Zi(e) }); + break; case 2: a.Md("ormk"); b = $J(b); a.queue.decrypt(b); break; default: d = !0 + }a.Jc.Om && a.Jc.oa("ombup", "id.11;pt." + a.D + ";len." + c + (d ? ";ignored.1" : "")); a.D = null + }; + r_a = function (a, b, c) { + a.Jc.BL(); b = $J(b); b = jU(b); c && (b = b.mf(function (d) { return nU(u_a(a.Jc, d, a.iv), function (e) { return lU({ name: "DecryptError", message: e }) }) })); + a.Jc.enableCompression && (b = b.mf(function (d) { return nU(o_a(new iZ(d, a.Jc.U().bk)), function (e) { return lU({ name: "DecompressError", message: e }) }) })); + return nU(b.mf(function (d) { return uK(d, vCa) }), function (d) { + var e, f, h, l = { + name: (f = d.name) != null ? f : "unknown", + message: (h = d.message) != null ? h : "unknown", wasm: a.Jc.U().wd ? ((e = a.Jc.U().wd) == null ? 0 : e.Bo) ? "1js" : "1" : "0", enc: a.C, gz: a.Jc.enableCompression + }; l.webcrypto = "" + +!!OJ(); l.enc = "" + +a.C; return lU(new FE("onesie.response.parse", l)) + }).mf(function (d) { + if (d.KL !== 1) throw d = { + st: d.KL, + webcrypto: "" + +!!OJ(), textencoder: "" + +!!g.Ja.TextEncoder + }, new FE("onesie.response.badproxystatus", d); if (d.BK !== 200) throw new FE("onesie.response.badstatus", { st: d.BK }); return g.gK(d.body) + }) + }; + v_a = function (a) { return new Promise(function (b) { setTimeout(b, a) }) }; + w_a = function (a, b) { var c = a.U(); c = a.Ed && c.L("html5_onesie_preload_use_content_owner"); var d = a.vS, e = jO(b.W.experiments, "debug_bandaid_hostname"); if (e) b = oW(b, e); else if ((c === void 0 ? 0 : c) && (d == null ? 0 : d.url) && !b.B) { var f = KL(new g.IL(d.url)); b = oW(b, f) } else b = (f = b.j.get(0)) == null ? void 0 : f.location.clone(); if (b && a.videoId) { f = rO(a.videoId); a = []; if (f) for (f = g.w(f), c = f.next(); !c.done; c = f.next())a.push(c.value.toString(16).padStart(2, "0")); b.set("id", a.join("")); return b } }; + x_a = function (a, b, c) { c = c === void 0 ? 0 : c; var d, e; return g.J(function (f) { if (f.j == 1) return d = [], d.push(b.load()), c > 0 && d.push(v_a(c)), g.G(f, Promise.race(d), 2); e = w_a(a, b); return f.return(e) }) }; + y_a = function (a, b, c, d) { + d = d === void 0 ? !1 : d; a.set("cpn", b.clientPlaybackNonce); a.set("opr", "1"); var e = b.U(); a.set("por", "1"); OJ() || a.set("onem", "1"); b.startSeconds > 0 && a.set("osts", "" + b.startSeconds); d || (e.L("html5_onesie_disable_partial_segments") && a.set("oses", "1"), b = e.L("html5_gapless_onesie_no_media_bytes") && rQ(b) && b.Ed, c && !b ? (b = c.audio, a.set("pvi", c.video.join(",")), e.L("html5_onesie_disable_audio_bytes") || a.set("pai", b.join(",")), iO || a.set("osh", "1")) : (a.set("oad", "0"), a.set("ovd", "0"), a.set("oaad", + "0"), a.set("oavd", "0"))) + }; + z_a = function (a, b, c, d, e) { + e = e === void 0 ? !1 : e; var f = b.Zk, h = "https://youtubei.googleapis.com/youtubei/" + f.innertubeApiVersion + "/player"; f.LQ && d || (h = h + "?key=" + f.innertubeApiKey); f = [{ name: "Content-Type", value: "application/json" }]; d && f.push({ name: "Authorization", value: "Bearer " + d }); f.push({ name: "User-Agent", value: g.wb() }); g.pr("EOM_VISITOR_DATA") ? f.push({ name: "X-Goog-EOM-Visitor-Id", value: g.pr("EOM_VISITOR_DATA") }) : (c = c.visitorData || g.pr("VISITOR_DATA")) && f.push({ name: "X-Goog-Visitor-Id", value: c }); (b = jO(b.experiments, + "debug_sherlog_username")) && f.push({ name: "X-Youtube-Sherlog-Username", value: b }); a = jK(JSON.stringify(a)); return { url: h, EQ: f, postBody: a, kda: e, xC: e } + }; + B_a = function (a, b, c, d, e, f) { var h = g.CK(a, uCa, a.xC ? void 0 : c.wd), l = { encryptedClientKey: b.j.encryptedClientKey, X1: !0, UX: !0, sP: A_a(c, !!a.xC), H3: c.experiments.kb("html5_use_jsonformatter_to_parse_player_response") }; if (a.xC) l.afa = h; else { a = b.encrypt(h); var m; a = ((m = c.wd) == null ? void 0 : m.CR(a)) || a; m = l.VX = a; (0, g.Zt)(); m = fBa(new eBa(b.j.C), m, b.iv); l.mZ = m; l.iv = b.iv } b = d.getVideoData(); c = eXa({ Da: c, ea: d, AE: b.startSeconds * 1E3, nH: !0, qH: !0 }); return { MQ: l, zr: c, onesieUstreamerConfig: e, mp: f, BC: VX(b) } }; + C_a = function (a, b, c) { var d, e, f; return g.J(function (h) { if (h.j == 1) return d = g.CK(b, uCa), g.G(h, $Za(c, d), 2); if (h.j != 3) return e = h.B, g.G(h, a_a(c, e), 3); f = h.B; return h.return({ VX: e, encryptedClientKey: c.j.encryptedClientKey, iv: c.iv, mZ: f, X1: !0, UX: !0, sP: A_a(a, !!b.xC), H3: a.experiments.kb("html5_use_jsonformatter_to_parse_player_response") }) }) }; + D_a = function (a, b, c, d, e, f) { var h, l, m; return g.J(function (n) { if (n.j == 1) return g.G(n, C_a(c, a, b), 2); h = n.B; l = d.getVideoData(); m = eXa({ Da: c, ea: d, AE: l.startSeconds * 1E3, nH: !0, qH: !0 }); return n.return({ MQ: h, zr: m, onesieUstreamerConfig: e, mp: f, BC: VX(l) }) }) }; + A_a = function (a, b) { a = CO(a.schedule, !0); b = b || !!OJ() && a > 1572864; return "DecompressionStream" in window || !b }; + kZ = function (a, b) { + g.O.call(this); var c = this; this.ea = a; this.playerRequest = b; this.W = this.ea.U(); this.videoData = this.ea.getVideoData(); this.logger = new g.MN("onesie"); this.Om = this.W.Ac(); this.jP = this.W.al; this.NG = new ZZa(this.jP.j, this.W.bk); this.xhr = null; this.state = 1; this.Rq = new FF; this.gZ = !1; this.playerResponse = ""; this.Tl = new KX(this); this.Wm = new p_a(this); this.iI = this.W.L("html5_onesie_check_timeout"); this.NO = new g.fp(this.v7, 500, this); this.OG = new g.fp(this.vQ, 1E4, this); this.JL = new g.fp(function () { + if (!c.isComplete()) { + var d = + jZ(c); c.Zi(new FE("net.timeout", d)) + } + }, g.AC(this.W.experiments, "html5_onesie_request_timeout_ms")); + this.K0 = new g.fp(this.I$, 2E3, this); this.Xu = ""; this.JK = this.HZ = !1; this.BA = this.ea.tA(); this.wS = ""; this.rH = this.L("html5_onesie_wait_for_media_availability"); this.enableCompression = this.sR = this.MA = !1; this.TH = []; this.uv = this.mj = -1; g.P(this.videoData, this); g.P(this, this.NO); g.P(this, this.OG); g.P(this, this.K0); a = mO(); iO && a && !this.W.L("html5_disable_onesie_media_bytes") && (this.cg = new Map); this.hY = new Map; this.P_ = new Map; this.J1 = new Map + }; + bZ = function (a, b) { var c; return (c = a.cg) == null ? void 0 : c.get(b) }; + F_a = function (a, b, c) { var d; return g.J(function (e) { if (e.j == 1) return a.Md("oprd_s"), E_a(a) ? g.G(e, b_a(a.NG, b, c), 3) : (d = a.NG.decrypt(b, c), e.Ha(2)); e.j != 2 && (d = e.B); a.Md("oprd_c"); return e.return(d) }) }; + u_a = function (a, b, c) { a.Md("oprd_s"); var d = a.NG; d.B || (d.B = new UZa(d.j.j, d.wd)); d = d.B; a: { if (b.length <= 131072 && d.wd && !d.wd.Bo) { var e = VZa(d, b, c); if (e.currentState === 1) { b = e; break a } } b.length <= 32768 ? b = WZa(d, b, c) : (e = YZa(d, b, c), b = e.currentState === 1 ? e : XZa(d, b, c)) } a.Md("oprd_c"); return b }; + G_a = function (a) { return a.L("html5_onesie_host_probing") || a.Om ? iO : !1 }; + s_a = function (a, b) { a.Md("oprr"); a.playerResponse = b; a.sR || (a.rH = !1); lZ(a) }; + lZ = function (a) { + if (!a.playerResponse) return !1; if (a.MA) return !0; var b = a.videoData.L("html5_onesie_audio_only_playback") && sQ(a.videoData); if (a.cg && a.rH) { if (!a.cg.has(a.Xu)) return !1; var c = a.cg.get(a.Xu), d; if (d = c) { d = !1; for (var e = g.w(c.fd.keys()), f = e.next(); !f.done; f = e.next())if (f = c.fd.get(f.value)) for (var h = g.w(f.kG), l = h.next(); !l.done; l = h.next())l.value.Is > 0 && (f.Gh ? d = !0 : b = !0); d = !(b && d) } if (d) return !1 } a.Md("ofr"); a.Rq.resolve(a.playerResponse); if (!a.iI) { var m; (m = a.JL) == null || m.start(); a.OG.start() } return a.MA = + !0 + }; + I_a = function (a) { + if (a.cg && !a.L("html5_onesie_media_capabilities")) { + a.Md("ogsf_s"); var b = aXa(a.ea.getVideoData(), function (d, e) { a.oa(d, e) }), c = H_a(a.ea); + b.video = RWa(c, b.video); a.Md("ogsf_c"); if (b.video.length) return b; a.oa("ombspf", "l." + c.B + ";u." + c.j + ";o." + c.C + ";r." + c.reason) + } + }; + E_a = function (a, b) { return a.L("html5_onesie_sync_request_encryption") || (b == null ? 0 : b.xC) || g.dP(a.W) && a.L("html5_embed_onesie_use_sync_encryption") ? !1 : !!OJ() }; + jZ = function (a) { if (!a.Pd) return {}; var b = a.Pd.qr(); b.d = tWa(a.Pd); b.shost = a.V1; b.ty = "o"; return b }; + J_a = function (a, b) { var c, d; (d = (a = (c = a.cg) == null ? void 0 : c.get(b)) == null) || (b = a.C ? !1 : a.C = !0, d = !b); return !d }; + K_a = function (a, b, c, d, e, f, h, l, m, n, p) { + g.O.call(this); var q = this; this.ea = a; this.ya = b; this.policy = c; this.audioTrack = d; this.videoTrack = e; this.manifest = f; this.Kc = h; this.ra = l; this.C = m; this.timing = n; this.Z = p; this.j = []; this.G = {}; this.Ma = this.Ka = !1; this.Ak = new Set; this.D = this.Ga = this.Y = this.Gq = 0; this.K = null; this.hd = { + eoa: function () { return q.j }, + Ana: function () { return q.G }, + Oma: function () { q.j.length = 0 }, + Ona: function () { return q.Ak }, + Kna: function () { return q.Y }, + ypa: function (r) { q.Y = r }, + Dpa: function (r) { q.D = r } + }; + this.videoData = this.ea.getVideoData(); this.policy.Fi && (this.Fa = new PY(this.ya, this.policy, this.Kc), g.P(this, this.Fa)) + }; + N_a = function (a, b) { b = b === void 0 ? !1 : b; if (L_a(a, b)) { a.policy.Ba && a.ya.oa("sabrcrq", { create: 1 }); var c = new XY(0, a.manifest.Y, a); a.policy.jf > 0 && a.D++; b = M_a(a, c, b); a.j.push(b); var d; (d = a.Fa) == null || mZa(d, a.manifest.Y) } }; + Q_a = function (a, b) { + var c = EY(a.audioTrack, a.ya.isSeeking()), d = EY(a.videoTrack, a.ya.isSeeking()), e = [].concat(g.x(c.kd), g.x(d.kd)), f = [].concat(g.x(c.Qo), g.x(d.Qo)), h = !mZ(a, a.audioTrack), l = !mZ(a, a.videoTrack), m = rO(a.ya.Yt()), n = a.ya.eK(), p, q, r = a.ea, t = a.manifest, u; var y = a.policy.K && ((u = a.ya) == null ? void 0 : u.PF()); u = a.ya.getCurrentTime() || 0; u = O_a(a, u); var A = a.ya.Dc() || 0; u += A; A = JQ(a.videoData) || g.IQ(a.videoData); var D = 0; y ? (A && (D = Number.MAX_SAFE_INTEGER), a.videoData.Ka && (D = Math.ceil(a.videoData.Ra * 1E3))) : D = + Math.ceil(u * 1E3); y = Math.min(Number.MAX_SAFE_INTEGER, D); u = a.B; A = a.Ak; D = a.policy; var F = a.ya.jq, H = uZa(a.ya) * 1E3, M = (p = a.Ba) == null ? void 0 : p.Lw; p = (q = a.Ba) == null ? void 0 : q.Vy; var N; q = Number((N = a.C.D) == null ? void 0 : N.info.itag) || 0; var Q; N = Number((Q = a.C.K) == null ? void 0 : Q.info.itag) || 0; b = { ea: r, manifest: t, kd: e, Qo: f, AE: y, nextRequestPolicy: u, Ak: A, Ge: D, jq: F, Wx: H, Lw: M, Vy: p, Gq: a.Gq, isPrefetch: b || a.ya.isSuspended, nH: h, qH: l, SS: m, UK: q, RK: N, MB: n }; if (e = a.ea.lx()) b.Ly = e * 1E3; if (a.policy.Wi) { + e = a.C; f = e.qa; if (e.Ge.j && !f && e.Ge.DD) for (h = + g.w(e.C), l = h.next(); !l.done; l = h.next())if (l.value.dc) { f = !0; break } e = e.Ge.j && !f ? [] : EZa(e, e.C); b.xH = e; e = a.C; e.Ge.j && !e.ra ? e = [] : (f = MZa(e), f.length === 0 && (f = e.G), e = EZa(e, f)); b.yH = e + } else a.rK(a.videoTrack.j), a.rK(a.audioTrack.j), b.CO = oY(a.ra); a.policy.Dn && (e = a.ea.IP().T0, b.Oz = e.j); if (a.policy.G) { c = P_a(a, c.kd, d.kd); var Z; if (d = (Z = a.K) == null ? void 0 : Z.iQ(c)) b.dn = d } a.policy.qa && a.j.length > 0 && a.j[0].FO() && (b.Ada = a.j[0].fQ()); return b + }; + O_a = function (a, b) { if (a.ya.isSeeking()) return b; var c = a.ea.Ke(); if (!c) return b; c = c.Eh(); if (c.length === 0 || nF(c, b)) return b; for (var d = b, e = Infinity, f = 0; f < c.length; f++)if (!(c.start(f) > b)) { var h = b - c.end(f); h < e && (e = h, d = c.end(f)) } d !== b && a.ya.oa("sundrn", { bre: d, lt: b }); return d }; + P_a = function (a, b, c) { var d = a.ya.getCurrentTime() || 0; b = R_a(a, b, d); a = R_a(a, c, d); return Math.min(b, a) }; + R_a = function (a, b, c) { a = a.ya.Dc() || 0; b = g.w(b); for (var d = b.next(); !d.done; d = b.next()) { var e = d.value; d = e.startTimeMs ? e.startTimeMs / 1E3 - a : 0; e = d + (e.durationMs ? e.durationMs / 1E3 : 0); if (d <= c && c <= e) return e } return c }; + L_a = function (a, b) { + if (a.policy.jf > 0) { var c = Math.floor((0, g.Zt)() / 1E4); if (c === a.Ga) { if (a.D >= a.policy.jf) { if (a.D === a.policy.jf) { var d = { reason: "toomanyrequests" }; d.limit = a.D; a.ya.handleError("player.exception", d); a.D += 1 } return !1 } } else a.Ga = c, a.D = 0 } b = !b && !DO(a.Kc); if (a.ya.isSuspended && (a.ya.zJ || b) || a.qa && (0, g.Zt)() < a.qa || a.j.length > 0 && (!a.policy.qa || a.j.length !== 1 || !a.j[0].FO()) || (d = a.manifest.Y) == null || !JM(d, a.policy, a.G)) return !1; d = a.policy.SD && a.policy.j && a.ya.Bf(); if (LY(a.audioTrack) && LY(a.videoTrack) && + !d) return !1; if (a.policy.j && a.N && !a.ya.Bf()) return a.Gk("ssap", { pauseontlm: 1 }), !1; if (a.policy.fz && mZ(a, a.audioTrack) && mZ(a, a.videoTrack)) return a.policy.C && a.ya.oa("sabrHeap", { a: "" + GY(a.audioTrack), v: "" + GY(a.videoTrack) }), !1; if (d = a.policy.G) d = !1, a.Z.B === 2 ? d = !0 : a.Z.B === 3 && (b = P_a(a, EY(a.audioTrack, a.ya.isSeeking()).kd, EY(a.videoTrack, a.ya.isSeeking()).kd), c = a.Z, b >= c.C ? (c.oa("sdai", { haltrq: b, est: c.C }), b = !0) : b = !1, b && (d = !0)), d && a.policy.Ba && a.ya.oa("sabrcrq", { waitad: 1 }); if (d) return !1; if (!a.B) return a.policy.Ba && + a.ya.oa("sabrcrq", { nopolicy: 1 }), !0; if (a.ea.lx()) return a.policy.Ba && a.ya.oa("sabrcrq", { utc: 1 }), !0; if (a.C.Z) return a.policy.Ba && a.ya.oa("sabrcrq", { audio: 1 }), !0; if (!a.B.targetAudioReadaheadMs || !a.B.targetVideoReadaheadMs) return a.policy.Ba && a.ya.oa("sabrcrq", { noreadahead: 1 }), !0; if (a.policy.K && a.ya.PF()) return a.policy.Ba && a.ya.oa("sabrcrq", { seekToHead: 1 }), !0; d = Math.min(SY(a.ya, a.audioTrack) * 1E3, a.B.targetAudioReadaheadMs); b = Math.min(SY(a.ya, a.videoTrack) * 1E3, a.B.targetVideoReadaheadMs); var e = Math.min(d, + b); c = IY(a.audioTrack, !0) * 1E3; var f = IY(a.videoTrack, !0) * 1E3; var h = c > e; e = f > e; if ((!h || !e) && a.policy.C && a.policy.Uf) { var l = a.ya.uc(); l.car = c; l.vac = f; l.mar = d; l.mvr = b; l.tar = a.B.targetAudioReadaheadMs; l.tvr = a.B.targetVideoReadaheadMs; a.ya.oa("sabrrnm", l) } !(d = h && e) && (d = a.policy.j) && (a = a.ya, a.Qa && a.Qa.j && a.Qa.B && a.wb && !JN(a.manifest) ? (d = a.getCurrentTime(), c = a.Qa.j.oe(), b = a.Qa.B.oe(), c = c ? oF(c, d) : d, d = b ? oF(b, d) : d, d = Math.min(c, d), isNaN(d) ? d = !1 : (a = dX(a.wb), d = d >= a - .01)) : d = !1); return d ? !1 : !0 + }; + M_a = function (a, b, c) { + var d = { + Kc: a.Kc, hv: function (m, n) { a.ea.hH(m, n) }, + Lp: a.policy.yn, DJ: a.policy.C + }, e = qXa(b, a.policy, a.G) ? 2 : 1; e !== a.Y && (a.Y = e, S_a(a)); c = Q_a(a, c); if ((a.policy.j || a.policy.qa) && a.policy.C && c.Ak) { for (var f = e = "", h = g.w(c.Ak), l = h.next(); !l.done; l = h.next())l = l.value, a.videoData.sabrContextUpdates.has(l) ? e += "_" + l : f += "_" + l; a.ya.oa("sabrbldrqs", { ctxts: e, misctxts: f }) } OZa(b, c, a.ya.Bf()) || !a.policy.j && !a.policy.qa || a.ya.handleError("player.exception", { reason: "buildsabrrequestdatafailed" }, 1); d = new ZX(a.policy, b, a.manifest, a.G, a, d, a.ya.tA(), a.policy.Rf ? a.ya.Bf() : void 0); + $X(a.timing); a.policy.Ba && a.ya.oa("sabrcrq", { rn: d.Vp(), probe: b.Xr() }); return d + }; + V_a = function (a, b) { + if (b.La() || a.La()) a.policy.K || a.ya.Ue(); else { + if (a.policy.C && b.isComplete() && b instanceof ZX) { var c = a.ya, d = c.oa; var e = Object.assign(b.Pd.qr(), { rst: b.state, strm: b.xhr.CC(), d: tWa(b.Pd), cncl: b.xhr && b.Cd.D ? 1 : 0, rqb: b.I1 }); e = Object.assign(RZa(b.info), e); d.call(c, "rqs", e) } if (b.isComplete() && b.Xr()) b.dispose(); else { + if (b.MZ()) b instanceof ZX && BXa(a.timing, b), S_a(a), T_a(a); else if (b.Qm()) c = a.ea.lx(), b instanceof ZX && QZa(b.info) && c && a.ya.Ku(c), b instanceof kZ ? a.j.pop() : (c = 1, b.canRetry() && zZa(a.ya) && + (U_a(a, b), c = 0), a.ya.handleError(b.Xh(), b.Hr(), c)); else { if (a.ya.isSuspended && !b.isComplete()) return; T_a(a) } b.La() || b instanceof kZ || (b.isComplete() ? c = pZa(b, a.policy, a.G) : (c = oZa(b, a.policy, a.G), c === 1 && (a.Ka = !0)), c !== 0 && (b = new XY(1, b.info.resource), b.Xj = c === 2, M_a(a, b))) + } a.ya.Ue() + } + }; + T_a = function (a) { for (; a.j.length && a.j[0].yQ(a.nf());) { var b = a.j.shift(); W_a(a, b); a.policy.ze && b instanceof ZX && b.dispose(); if (a.policy.G) { var c = a; if (!c.policy.Ab && b.yQ(c.nf())) { var d = b.Vp(); if (c.Ra !== d) { var e = b.IY(); b = e.mj; var f = e.uv; e = e.eq; !c.K || f < 0 || (c.Ra = d, d = cY(c.Z, f / 1E3, b), f = c.ya.Dc() || 0, GXa(c.Z, b, d - f, e, c.K)) } } } } a.j.length && W_a(a, a.j[0]) }; + W_a = function (a, b) { + if (a.policy.Wi) { + var c = new Set(b.Gr(a.nf())); c = g.w(c); for (var d = c.next(); !d.done; d = c.next()) { + var e = d.value; if (!(d = !(b instanceof kZ))) { var f = a.C, h = f.manifest.Vb; d = LZa(f.C, h); f = LZa(f.videoInfos, h); d = d.includes(e) || f.includes(e) } if (d && (d = b.Yn(e, a.nf()), b.Ol(e, a.nf()))) { + e = b.Uk(e, a.nf()); if (a.policy.j && (f = d[0].j.info, (h = a.ya.Bf()) && f)) { + var l = b.kY(); if (h.api.L("html5_ssap_set_format_info_for_all") || l !== h.ea.getVideoData().clientPlaybackNonce) if (h = NW(h.timeline, l)) if (h = h[0].getVideoData()) f.Gh() ? + h.D = f : h.B = f + } e = g.w(e); for (f = e.next(); !f.done; f = e.next()) { f = f.value; a.policy.C && b instanceof kZ && a.ya.oa("omblss", { s: f.info.Sc() }); h = f.info.j.info.Gh(); var m = f.info.j; if (h) { l = void 0; var n = a.C, p = (l = b.dQ(a.nf())) == null ? void 0 : l.token; n.Z = !1; m !== n.K && (n.K = m, n.xL(m, n.audioTrack, p)) } else l = void 0, DZa(a.C, m, (l = b.dQ(a.nf())) == null ? void 0 : l.token); l = h ? a.audioTrack : a.videoTrack; b instanceof kZ && (l.N = !1, b instanceof kZ && (h ? uXa(a.timing) : tXa(a.timing))); DY(l, d, f) } + } + } + } else for (d = b.jY() || oY(a.ra), c = new Set(b.Gr(a.nf())), + a.policy.j ? e = c : e = [((f = d.video) == null ? void 0 : eF(f.info, a.manifest.Vb)) || "", ((h = d.audio) == null ? void 0 : eF(h.info, a.manifest.Vb)) || ""], d = g.w(e), e = d.next(); !e.done; e = d.next())if (e = e.value, c.has(e) && b.Ol(e, a.nf())) for (f = b.Uk(e, a.nf()), f = g.w(f), h = f.next(); !h.done; h = f.next())h = h.value, a.policy.C && b instanceof kZ && a.ya.oa("omblss", { s: h.info.Sc() }), l = b.Yn(e, a.nf()), m = (n = h.info.j.info.Gh()) ? a.audioTrack : a.videoTrack, b instanceof kZ && (m.N = !1, b instanceof kZ && (n ? uXa(a.timing) : tXa(a.timing))), DY(m, l, h) + }; + U_a = function (a, b) { a.policy.qa ? a.j.splice(a.j.indexOf(b)).forEach(function (c) { c.dispose() }) : (a.j.pop(), b == null || b.dispose()) }; + X_a = function (a, b) { for (var c = [], d = 0; d < a.j.length; d++)b && a.j[d] instanceof kZ ? c.push(a.j[d]) : a.j[d].dispose(); a.j = c }; + Y_a = function (a, b, c) { b.nO(c.Gt, c.version) ? a.videoData.WA = c.version || "" : a.ya.oa("ssap", { v: c.version, tlnu: 1 }) }; + S_a = function (a) { a.Ak.clear(); if (a.videoData.sabrContextUpdates.size > 0) for (var b = g.w(a.videoData.sabrContextUpdates.keys()), c = b.next(); !c.done; c = b.next()) { c = c.value; var d = void 0; ((d = a.videoData.sabrContextUpdates.get(c)) == null ? 0 : d.sendByDefault) && a.Ak.add(c) } if (a.policy.qa && a.j.length) for (b = g.w(a.j), c = b.next(); !c.done; c = b.next())(c = c.value.fQ()) && c.type && c.sendByDefault && a.Ak.add(c.type) }; + Z_a = function (a) { a.policy.wc && (a.Ba = void 0, a.Gq = 0) }; + $_a = function (a, b) { if (b.Qm() || b.La()) { var c = a.ya, d = c.oa, e = b.state; a = a.nf(); var f, h; if ((b = (f = b.cg) == null ? void 0 : f.get(a)) == null) b = void 0; else { f = 0; a = b.Gr(); for (var l = 0; l < a.length; l++) { var m = void 0; f += ((m = b.fd.get(a[l])) == null ? void 0 : m.bytesReceived) || 0 } b = f } b = (h = b) != null ? h : -1; d.call(c, "sabromb", { s: e, tbytes: b }) } else a.j.push(b), b.TH.push(a), $X(a.timing), a.policy.Ig && b.L0 && a.xq(b.L0) }; + mZ = function (a, b) { return !a.ya.Ep && FX(b) && (b.Ro() !== FX(b) || a.ya.isSuspended) }; + a0a = function (a) { var b = ""; a = g.w(a); for (var c = a.next(); !c.done; c = a.next()) { c = c.value; b += ".cid." + c.clipId; if (c.Yq) { var d = c.Yq; b += ".vid." + d.V3 + (".pst." + d.Y0) + (".ps." + d.Z0) + (".lst." + d.x$) + (".ld." + d.k_) + (".ls." + d.l_) } c.GR && (b += ".nonv." + c.GR.XK) } return b }; + b0a = function (a, b, c, d, e) { this.ya = a; this.policy = b; this.schedule = c; this.Pz = d; this.Y = e; this.qa = NaN; this.B = this.N = this.D = null; this.j = this.G = this.K = this.startTimeSecs = NaN; this.C = !1; this.Z = NaN }; + c0a = function (a, b, c, d, e, f) { return b.qo && b.wh && c === 3 ? new b0a(a, b, d, e, f) : null }; + d0a = function (a, b) { if (a.policy.GD) { var c = b.info.ub, d = CO(a.schedule); b = b.index.Vj; c = Math.max(1, d / c); a.Z = Math.round(Math.max(((c - 1) * b + a.policy.Rc) / c, b - a.policy.Zj) * 1E3) } }; + g0a = function (a, b) { + var c = Date.now() / 1E3, d = c - a.startTimeSecs, e = c - a.K, f = e >= a.policy.ww, h = !1; if (f) { var l = 0; !isNaN(b) && b > a.G && (l = b - a.G, a.G = b); l / e < a.policy.KD && (h = !0); a.K = c } c = d >= a.policy.Zj && !a.C; if (!f && !c && e0a(a, b)) return NaN; c && (a.C = !0); a: { + d = h; c = (0, g.Zt)() / 1E3 - (a.Pz.fh() || 0) - a.N.j - a.policy.Rc; f = a.B.startTime; c = f + c; if (d) { if (isNaN(b)) { nZ(a, NaN, "n", b); f = NaN; break a } d = b - a.policy.Yj; d < c && (c = d) } else a.C && (d = c + a.policy.Rc - a.qa + a.policy.MD, isNaN(b) || (d = Math.max(d, Math.min(c, b - a.policy.Yj))), c = d); f = c = Math.max(c, + f) + } a.j = f; if (isNaN(a.j)) return a.clear(), NaN; if (!h && e0a(a, b)) return f0a(a, b), NaN; if (a.j <= a.B.startTime) return nZ(a, NaN, "y", b), a.clear(), NaN; if (!a.Y(a.j, !1)) return !f0a(a, b) && h && (nZ(a, NaN, "t", b), a.clear()), NaN; h = a.j; nZ(a, h, "s", b); a.clear(); return h + }; + f0a = function (a, b) { return a.Y(a.j, !0) ? !1 : (nZ(a, NaN, "ns", b), a.clear(), !0) }; + e0a = function (a, b) { return isNaN(b) ? !0 : isNaN(a.j) ? !1 : b < a.j + (a.C ? a.policy.Yj : a.policy.ID) }; + nZ = function (a, b, c, d) { var e = a.D.Hr(); e.ssr_sk = (b * 1E3).toFixed(0); e.ssr_t = (a.j * 1E3).toFixed(0); e.ssr_r = c; e.ssr_st = (a.startTimeSecs * 1E3).toFixed(0); e.ssr_n = (0, g.Zt)().toFixed(0); e.ssr_f = (a.N.j * 1E3).toFixed(0); e.ssr_fa = a.C ? "1" : "0"; e.ssr_o = (a.Pz.fh() * 1E3 || 0).toFixed(0); e.ssr_v = (d * 1E3).toFixed(0); b = a.B.j.index; b.po(a.B.Pa, !0) && (e.ssr_ist = (b.getStartTime(a.B.Pa) * 1E3).toFixed(0), e.ssr_id = (b.getDuration(a.B.Pa) * 1E3).toFixed(0)); a.ya.oa("ssr", e) }; + h0a = function () { var a = {}; if (window.performance) { var b = window.performance.memory; b && (a.jsTotal = b.totalJSHeapSize, a.jsUsed = b.usedJSHeapSize, a.msTotal = b.mediaSourceSizeLimit, a.msUsed = b.usedMediaSourceMemorySize) } var c; if ((c = window.h5vcc) == null ? 0 : c.cVal) a.cbFree = window.h5vcc.cVal.getValue("Memory.CPU.Free"), a.cbUsed = window.h5vcc.cVal.getValue("Memory.CPU.Used"); return a }; + g.pZ = function (a, b, c, d, e, f, h, l, m, n) { + l = l === void 0 ? !1 : l; g.O.call(this); var p = this; this.ea = a; this.schedule = b; this.policy = c; this.manifest = d; this.ra = m; this.wc = n; this.timing = new sXa(this.wc); this.Y = new TVa(this.schedule, this.policy); this.Qa = null; this.yb = new g.fp(this.Ue, 0, this); this.fG = new g.fp(this.Ue, 1E3, this); this.Tb = new g.fp(this.Ue, void 0, this); this.Xa = new g.fp(this.Ue, 1E4, this); this.Kb = new g.fp(this.Yca, 250, this); this.N = this.currentTime = NaN; this.Ma = this.Ka = this.Ga = this.Ep = 0; this.Yr = this.zJ = this.isSuspended = + !1; this.Va = ""; this.mJ = new sO(5); this.yc = {}; this.timestampOffset = NaN; this.Jb = !1; this.fb = 0; this.K = null; this.Ba = NaN; this.ob = this.Ra = !1; this.logger = new g.MN("dash"); this.jq = 0; this.Wa = !1; this.Ya = 0; this.Ob = Infinity; this.hd = { + getAudioTrack: function () { return p.audioTrack }, + getManifest: function () { return p.manifest }, + ioa: function () { return p.Z }, + Ue: function () { p.Ue() }, + QB: function () { p.Ep = 0; p.QB() }, + epa: function (q) { return oZ(p, p.videoTrack, p.Qa.B, q) } + }; + a = m && m.Gr(); m && (gUa(m, this.manifest, this.policy), this.Ba = Date.now()); this.j = new OXa(this, this.Y, c, this.manifest, e, a); c = TXa(this.j, f, h && h.id); this.audioTrack = new AY(this, this.policy, c.audio, this.timing); this.videoTrack = new AY(this, this.policy, c.video, this.timing); this.videoTrack.D.Fa = this.audioTrack.YP(); this.Fa = { updateend: this.s6, error: this.maa }; g.P(this, this.yb); g.P(this, this.fG); g.P(this, this.Tb); g.P(this, this.Xa); c = this.policy.TD && this.policy.vk ? !Cwa(this.videoTrack.j.info) : !1; this.Ab = eYa({ + sj: this.policy.N.sj || + c, vk: this.policy.vk && !c, Zs: this.policy.Zs + }); this.G = c0a(this, this.policy, this.Ab, this.schedule, this.mJ, function (q, r) { return i0a(p, q, r) }); + this.C = new DXa(this, this.manifest, this.policy, this.videoTrack, this.audioTrack, l); this.Lg = new xX(this, this.manifest, this.videoTrack, this.audioTrack, this.policy); l = this.policy.mw ? this.ea.getVideoData().Ei : null; this.D = new QY(this, this.policy, this.videoTrack, this.audioTrack, this.yc, this.C, this.timing, this.Y, this.schedule, this.manifest, this.j, this.G, c, l); g.P(this, this.D); this.B = new WY(this, this.policy, this.videoTrack, this.audioTrack, this.manifest, e, sQ(this.ea.getVideoData()), h == null ? void 0 : h.id); g.P(this, + this.B); IZa(this.B, f); this.Z = new K_a(this.ea, this, this.policy, this.audioTrack, this.videoTrack, this.manifest, this.schedule, this.j, this.B, this.timing, this.C); g.P(this, this.Z); this.qa = this.ea.Ad.Mu.Yw; this.policy.K || j0a(this); this.logger.debug("Created") + }; + j0a = function (a) { var b, c; if ((b = a.qa) == null ? 0 : (c = b.bB) == null ? 0 : c.itagDenylist) { var d; a.yL((d = a.qa) == null ? void 0 : d.bB.itagDenylist) } var e; if ((e = a.qa) == null ? 0 : e.playbackStartPolicy) { var f, h; xOa(a.policy, (f = a.qa) == null ? void 0 : f.playbackStartPolicy, 3, (h = a.qa) == null ? void 0 : h.Vp()) } if (a.policy.Uf) { b = a.nf(); var l; (c = b ? (l = a.qa) == null ? void 0 : l.P_.get(b) : void 0) && a.Z.wq(c) } if (!a.manifest.qa) { var m; l = (m = a.qa) == null ? void 0 : m.f_; (l == null ? 0 : l.xK) && (l == null ? 0 : l.yK) && a.manifest.Vb && IN(a.manifest, l.xK, l.yK) } }; + k0a = function (a, b) { if (a.policy.j && !a.policy.WA) return !1; var c = eF(b.j.info, a.manifest.Vb), d, e = ((d = a.ra) == null ? void 0 : d.Yn(c)) || []; if (e.length === 0) return a.oa("ombmsi", {}), !1; e = new WM(e); if (d = !a.policy.ra || isFinite(a.getCurrentTime()) || a.ea.lx()) { a: { d = a.getCurrentTime(); e = g.w(e.gb); for (var f = e.next(); !f.done; f = e.next())if (f = f.value, f.type === 3 && d >= f.We && d <= f.Mf) { d = !0; break a } d = !1 } d = !d } if (d) return a.oa("ostmf", { ct: a.getCurrentTime(), a: b.j.info.Gh() }), !1; (a = a.ra) != null && (a.fd.get(c).dE = !0); return !0 }; + l0a = function (a) { + if (!a.manifest.Vb) return !0; var b = a.ea.getVideoData(); if (b.L("html5_skip_live_preroll_onesie") && qZ(a.ea) || b.L("html5_skip_live_preroll_onesie_post_live") && qZ(a.ea) && (b.Wd || b.isPremiere)) return a.oa("ombpa", {}), !1; var c, d; if (a.policy.jz && !!((c = a.qa) == null ? 0 : (d = c.f_) == null ? 0 : d.Zca) !== a.manifest.Wd) return a.oa("ombplmm", {}), !1; c = b.Ob || b.liveUtcStartSeconds || b.ge; if (a.manifest.Wd && c) return a.oa("ombplst", {}), !1; if (a.manifest.qa) return a.oa("ombab", {}), !1; c = Date.now(); if (JN(a.manifest) && + !isNaN(a.Ba) && c - a.Ba > a.policy.ZF * 1E3) return a.oa("ombttl", {}), !1; if (!(a = a.manifest.df && a.manifest.C || !a.policy.OD && a.manifest.isPremiere || xQ(b)) && (a = b.L("html5_disable_onesie_media_for_mosaic"))) { var e; a = !((e = b.playerResponse) == null || !e.compositePlayabilityStatus) } return a || b.L("html5_disable_onesie_media_for_ssdai") && b.isDaiEnabled() && b.enableServerStitchedDai ? !1 : !0 + }; + m0a = function (a, b) { + var c = b.j, d = a.manifest.Vb; if (l0a(a)) if (a.ra && a.ra.fd.has(eF(c.info, d))) { + if (d = eF(c.info, d), k0a(a, b)) { + var e = new WM(a.ra.Yn(d)), f = function (h) { try { if (h.Qm()) a.handleError(h.Xh(), h.Hr()), KY(b, h), YM(h.info) && TY(a.D, b, c, !0), a.Ue(); else if (xZa(a.D, h)) { var l; (l = a.C) == null || HXa(l, h.info, a.K); a.Ue() } } catch (m) { h = HE(m), a.handleError(h.errorCode, h.details, h.severity), a.lk() } }; + c.C = !0; XM(e) && (TYa(b, new yX(a.policy, d, e, a.ra, f)), $X(a.timing)) + } + } else a.oa("ombfmt", {}) + }; + rZ = function (a, b) { b = b || a.videoTrack && a.videoTrack.B && a.videoTrack.B.startTime || a.getCurrentTime(); var c = UY, d = a.videoTrack, e = a.j; b = e.nextVideo && e.nextVideo.index.Li(b) || 0; e.Fa !== b && (e.Ma = {}, e.Fa = b, lY(e, e.j)); b = !e.j.isLocked() && e.Y > -1 && (0, g.Zt)() - e.Y < e.policy.bE * 1E3; var f = e.nextVideo && pY(e, e.nextVideo.info) * 3 < wX(e.Ba); if (!b || f) kY(e), mY(e), e.ra = e.ra || e.nextVideo !== e.C; e.nextVideo && !e.nextVideo.index.isLoaded() && (e.Fa = -1); c(a, d, e.nextVideo); UY(a, a.audioTrack, a.j.B) }; + sZ = function (a, b) { a.zJ = b; a.policy.Ma || (a.logger.debug("Suspended."), a.isSuspended = !0, a.policy.uw && (a.fG.stop(), a.yb.stop())) }; + IXa = function (a, b, c, d) { a.policy.G && a.qv(!1); aZa(a.videoTrack, d, c, b); aZa(a.audioTrack, d, c, b); HN(a.manifest, d, !0); HN(a.manifest, d, !1); a.oa("sdai", { rollbk2_seg: d, rbt: c.toFixed(3), lt: b.toFixed(3) }); a.policy.G && tZ(a) }; + n0a = function (a) { a.logger.debug("Rebuffering."); a.Yr = !0; if (a.policy.Ra && a.Qa) { var b, c, d, e; a.oa("lr_rb", { c: a.getCurrentTime(), s: a.isSeeking(), ab: lF(a.Qa.j.oe()), ala: (b = CY(a.audioTrack)) == null ? void 0 : b.Sc(), alr: (c = a.audioTrack.B) == null ? void 0 : c.Sc(), vb: lF(a.Qa.B.oe()), vla: (d = CY(a.videoTrack)) == null ? void 0 : d.Sc(), vlr: (e = a.videoTrack.B) == null ? void 0 : e.Sc() }) } a.policy.BD && a.ea.vA() !== 0 && a.oa("sps_rebuffer", { c: a.getCurrentTime() }) }; + o0a = function (a) { a.policy.Xa = !1; try { a.QB() } catch (b) { g.ex(b) } }; + r0a = function (a, b, c, d) { + c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; a.policy.Ma && (a.logger.debug("disable updateMetadataWithoutMediaSource"), a.policy.Ka && a.oa("loader", { setsmb: 0 }), a.lk(), a.policy.Ma = !1); a.logger.debug("attaching media source"); p0a(a, d); if (dU(a.policy) && !vF() && a.policy.Bn) a.oa("ssap", { delaysb: 1 }), a.Qa = b; else { + if (!CF(b)) { + var e = FX(a.videoTrack); e = e ? e.info.j : a.videoTrack.j; var f = FX(a.audioTrack); f = f ? f.info.j : a.audioTrack.j; a.policy.j && a.oa("ssap", { initsb: 1, v: e.info.id, vf: e.info.rb, a: f.info.id, af: f.info.rb }); + Kwa(b, e.info, f.info, a.policy.Ob) + } q0a(a, b, c, d); try { a.Ue() } catch (h) { g.ex(h) } + } + }; + q0a = function (a, b, c, d) { c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; BY(a.videoTrack, b.B || null, d); BY(a.audioTrack, b.j || null, d); a.Qa = b; a.Qa.G = !0; c || a.resume(); g.Gx(b.j, a.Fa, a); g.Gx(b.B, a.Fa, a) }; + p0a = function (a, b) { b = b === void 0 ? !1 : b; a.Qa && a.Qa.j && a.Qa.B && (Hx(a.Qa.j, a.Fa, a), Hx(a.Qa.B, a.Fa, a)); BY(a.audioTrack, null, b); BY(a.videoTrack, null, b); a.Qa && (a.Qa.G = !1); a.Qa = null }; + s0a = function (a) { a.Qa && a.Qa.Ng() && (a.Zz(), a.policy.fD && a.handleError("fmt.unplayable", { unexpected: 1 }, 1)) }; + u0a = function (a, b) { + if (!a.La()) if (dU(a.policy)) { if (!JZa(a.B, b)) { var c = a.B.B; IZa(a.B, b); var d = !1; d = b.isLocked() && b.reason === "m" && KZa(a.B, b.j); var e = a.policy.Tf && b.reason === "l"; c = c.j > b.j && b.reason === "b"; d || e || c ? (a.ea.Iq({ reattachOnConstraint: d ? "u" : e ? "drm" : "perf", lo: b.B, up: b.j }), a.policy.Fj || (a.B.j.B = !1)) : (a.policy.Fj && (a.B.j.B = !1), tZ(a)) } } else if (!UXa(a.j, b) && a.videoTrack) { + a.logger.debug(function () { return "Setting constraint: r=" + b.reason + " u=" + b.j }); + c = a.j.j; t0a(a, WXa(a.j, b)); rZ(a); d = b.isLocked() && b.reason === "m" && a.j.ra; e = a.policy.Tf && b.reason === "l" && MY(a.videoTrack); c = c.j > b.j && b.reason === "b"; var f = a.j.Ya && !vF(); d || e || c || f ? a.ea.Iq({ reattachOnConstraint: d ? "u" : e ? "drm" : f ? "codec" : "perf" }) : tZ(a) + } + }; + v0a = function (a, b, c) { + if ((!a.Qa || yF(a.Qa) && !a.policy.qm) && !a.Lg.isSeeking() && (dU(a.policy) || MY(b) && b.j.jg() && a.j.qa)) { + var d = a.getCurrentTime() + XVa(a.Y, b, c); a.logger.debug(function () { return "Clearing back to " + d.toFixed(3) }); + $Ya(b, d) + } + }; + t0a = function (a, b) { + b && (a.logger.debug(function () { return "Logging new format: " + jF(b.video.info) }), w0a(a.ea, new fY(b.video, b.reason))); + if (a.j.Wa) { var c = oY(a.j, "a"); a.ea.oy(new fY(c.audio, c.reason)) } + }; + tZ = function (a) { g.gp(a.yb) }; + x0a = function (a, b) { + var c = (0, g.Zt)() - b, d = IY(a.audioTrack, !0) * 1E3, e = IY(a.videoTrack, !0) * 1E3; a.logger.debug(function () { return "Appends paused for " + c }); + if (a.policy.C && (a.oa("apdpe", { dur: c.toFixed(), abuf: d.toFixed(), vbuf: e.toFixed() }), eU(a.policy))) { var f = wX(a.Y); a.oa("sdps", { ct: b, ah: d.toFixed(), vh: e.toFixed(), mr: YVa(a.Y, a.Yr, f), bw: f.toFixed(), js: a.isSeeking(), re: +a.Yr, ps: (a.policy.qI || "").toString(), rn: (a.policy.dI || "").toString() }) } + }; + y0a = function (a) { + if (a.policy.j && OY(a.videoTrack) && OY(a.audioTrack)) return "ssap"; if (gZa(a.videoTrack)) return a.logger.debug("Pausing appends for server-selectable format"), "ssf"; if (a.policy.ob && iZa(a.videoTrack) && iZa(a.audioTrack)) return "updateEnd"; if (LY(a.audioTrack) || LY(a.videoTrack) && a.videoTrack.j.info.rb !== "f") return ""; if (a.Lg.isSeeking()) { + var b = a.Y; var c = a.videoTrack; var d = a.audioTrack; if (b.policy.B) { var e = b.policy.Vk; eU(b.policy) && (e = YVa(b, !1, wX(b))); b = e; c = IY(d, !0) >= b && IY(c, !0) >= b } else c.C.length || + d.C.length ? (e = c.j.info.ub + d.j.info.ub, e = 10 * (1 - wX(b) / e), b = Math.max(e, b.policy.Vk), c = IY(d, !0) >= b && IY(c, !0) >= b) : c = !0; if (!c) return "abr"; c = a.videoTrack; if (c.C.length > 0 && c.D.B.length === 1 && AYa(c.D).info.D < c.Ra) return "seek" + } if (a.policy.G && jZa(a.videoTrack, a.C) && jZa(a.audioTrack, a.C)) return "ssdai"; c = !a.policy.Jq || a.getCurrentTime() < 10; a.policy.xp || (c = c || a.videoTrack.j.info.video.j > 360); d = eU(a.policy) && a.policy.tm; if (!a.Yr || !d && c) return ""; c = a.policy.Jq; eU(a.policy) && (c = YVa(a.Y, a.Yr, wX(a.Y))); c = cZa(a.videoTrack, + a.getCurrentTime(), c) || cZa(a.audioTrack, a.getCurrentTime(), c); return eU(a.policy) ? c ? "mbnm" : "" : (a.videoTrack.C.length > 0 || a.audioTrack.C.length > 0 || qZa(a.D, a.videoTrack, a.audioTrack) || qZa(a.D, a.audioTrack, a.videoTrack)) && c ? "nord" : "" + }; + z0a = function (a) { if (a.G) { var b = a.G.Ue(a.audioTrack, pF(a.Qa.B.oe())); b && a.ea.seekTo(b, { xx: !0, Zc: "pollSubsegmentReadahead", Fp: !0 }) } }; + F0a = function (a, b, c) { + if (a.policy.ob && iZa(b)) return !1; if (c.RQ()) return !0; if (!c.gJ()) return !1; var d = FX(b); if (!d || d.info.type === 6) return !1; var e = a.policy.ZD; if (e && !d.info.Se) { var f = d.info.We - a.getCurrentTime(); if (d.info.D < f * e) return !1 } var h; if (a.policy.Sv || ((h = a.C) == null ? 0 : LXa(h, b, d.info.Pa))) a.policy.Ed && (a.Ma = 0); else return a.Lg.isSeeking() && tZ(a), a.policy.Ed && (a.Ma = a.Ma || (0, g.Zt)()), !1; if (!oZ(a, b, c, d.info)) return !1; if (a.manifest.B && d.info.Ub === 0) { + if (e = A0a(b, c, d)) f = CY(b), a.oa("initchg", { + it: d.info.j.info.id, + sr: !!f && f.j === d.info.j, ty: d.info.type, seg: d.info.Pa + }); f = g.bF(d.info.j.info); a.policy.Fd && f && !e && RHa(d) + } e = a.G && !!a.G.D && b.j.info.audio; f = a.manifest.isManifestless || d.G; if (!(a.manifest.B && d.info.Ub !== 0 || f && !e) && B0a(a, c, d)) return !0; if (e) return !1; e = SY(a, b); e = a.getCurrentTime() + e; if (d.info.We > e) return a.policy.B && C0a(a, b), !1; D0a(a, b); var l; a.policy.Ie && c === ((l = a.Qa) == null ? void 0 : l.j) && a.Wa && (c.oK() === 0 ? (a.Wa = !1, a.policy.Ie = !1) : a.Ya = c.oK()); if (!E0a(a, c, d)) return !1; a.policy.ob && d.info.Mi() ? d.isLocked = !0 : + (b.Os(d), ZXa(a.j, d.info), a.logger.debug(function () { return "Appended " + d.info.Sc() + ", buffered: " + lF(c.oe()) })); + return !0 + }; + C0a = function (a, b) { a.policy.Ed && (b === a.videoTrack ? a.Ka = a.Ka || (0, g.Zt)() : a.Ga = a.Ga || (0, g.Zt)()) }; + D0a = function (a, b) { a.policy.Ed && (b === a.videoTrack ? a.Ka = 0 : a.Ga = 0) }; + E0a = function (a, b, c) { + var d = a.policy.Ra ? (0, g.Zt)() : 0, e = c.G ? c.info.j.j : null, f = c.j; c.G && (f = G0a(a, c, f) || f); var h = $J(f); f = a.policy.Ra ? (0, g.Zt)() : 0; e = H0a(a, b, h, c.info, e); a.policy.Ra && (!c.info.Ub || c.info.Se || c.info.We < 10) && (b = b.uc({ as: c.info.Sc(), pdur: Math.round(f - d), adur: Math.round((0, g.Zt)() - f) }), b.omt = (a.getCurrentTime() + a.Dc()).toFixed(3), b.to = a.Dc(), a.oa("sba", b)); if (e === "s") return a.Ra && (a.logger.debug("Retry succeed, back to normal append logic."), a.Ra = !1, a.ob = !1), a.fb = 0, !0; if (e === "i" || e === "x") return I0a(a, + "checked", e, c.info), !1; if (e === "q") { if (!a.Ra) return a.logger.debug("QuotaExceeded, retrying."), a.Ra = !0, !1; if (!a.ob) return a.ob = !0, a.ea.seekTo(a.getCurrentTime(), { Zc: "quotaExceeded", Fp: !0 }), !1; c.info.zg() ? (b = a.policy, b.Va = Math.floor(b.Va * .8), b.Ga = Math.floor(b.Ga * .8)) : (b = a.policy, b.Fa = Math.floor(b.Fa * .8), b.Ga = Math.floor(b.Ga * .8)); dU(a.policy) ? hY(a.B.j, c.info.j, !1) : nY(a.j, c.info.j) } a.ea.Iq({ reattachOnAppend: e }); return !1 + }; + G0a = function (a, b, c) { var d; if (d = a.policy.pw && a.Qa && !a.Qa.qa && !a.ea.FJ()) b = b.info.j.info, d = b.Le() && XE(b) && b.video && b.video.width < 3840 && b.video.width > b.video.height; if (d && (a.Qa.qa = !0, LE('video/webm; codecs="vp09.00.50.08.01.01.01.01.00"; width=3840; height=2160'))) return c = xYa(c), a.policy.C && a.oa("sp4k", { s: !!c }), c }; + I0a = function (a, b, c, d) { var e = "fmt.unplayable", f = 1; c === "x" || c === "m" ? (e = "fmt.unparseable", dU(a.policy) ? !d.j.info.video || iY(a.B.j).size > 0 || hY(a.B.j, d.j, !1) : !d.j.info.video || iY(a.j.G).size > 0 || nY(a.j, d.j)) : c === "i" && (a.fb < 15 ? (a.fb++, e = "html5.invalidstate", f = 0) : e = "fmt.unplayable"); d = UM(d); var h; d.mrs = (h = a.Qa) == null ? void 0 : DF(h); d.origin = b; d.reason = c; a.handleError(e, d, f) }; + PYa = function (a, b, c, d, e) { + var f = a.manifest; var h = !1, l = -1; for (p in f.j) { var m = hF(f.j[p].info.mimeType) || f.j[p].info.zg(); if (d === m) if (m = f.j[p].index, m.po(b.Pa)) { if (!f.Xa) { h = m; m = b; var n = h.Tn(m.Pa); n && n.startTime !== m.startTime ? (h.segments = [], h.HN(m), h = !0) : h = !1 } h && (l = b.Pa) } else m.HN(b), h = !0 } if (l >= 0) { var p = {}; f.publish("clienttemp", "resetMflIndex", (p[d ? "v" : "a"] = l, p), !1) } f = h; pWa(a.Lg, b, d, f); a.C.hS(b, c, d, e); b.Pa === a.manifest.df && f && FN(a.manifest) && b.startTime > FN(a.manifest) && (a.manifest.Ra = b.startTime + (isNaN(a.timestampOffset) ? + 0 : a.timestampOffset), a.Lg.isSeeking() && a.Lg.j < a.manifest.Xc() && a.Lg.seek(a.manifest.Xc(), {})) + }; + oZ = function (a, b, c, d) { + b = CY(b); !b || b.Se || SM(b, d) || c.abort(); if (!c.iF() || vF()) try { var e = !1; a.policy.yw && (e = (b == null ? void 0 : b.j.info.rb) !== d.j.info.rb) && a.oa("ssap", { cdcchg: 1, last: (b == null ? void 0 : b.j.info.rb) || "", curr: d.j.info.rb || "" }); c.tU(d.j.info.containerType, d.j.info.mimeType, a.policy.yw && e) } catch (f) { return c = f, g.fx(c), a.oa("ctexp", { name: c.name, msg: c.message }), !1 } else d.j.info.containerType !== c.iF() && a.oa("ctu", { ct: vF(), prev_c: c.iF(), curr_c: d.j.info.containerType }); b = d.j.D; a.policy.Cn && b && (d = 0 + b.duration, + b = -b.j, 0 === c.YE() && d === c.PJ() || c.vT(0, d), b !== c.Dc() && (c.Nq(b), JW && RYa(a.audioTrack.YP(), c.kQ()))); return !0 + }; + B0a = function (a, b, c) { + c.info.j.jg(); var d = c.info.j.j; if (!d || !b.gJ() || b.ex() === d) return !1; var e = d, f = b.YJ(); if (a.policy.hw && f && b.isView() && g.bF(c.info.j.info)) { var h = new DataView(d.buffer, d.byteOffset, d.byteLength); (f = VDa(h, f)) ? e = new Uint8Array(f.buffer, f.byteOffset, f.byteLength) : a.oa("fenc", {}) } a.policy.pw && (f = G0a(a, c, new VJ([e]))) && (e = $J(f)); f = null; (h = c.info.j.jx(0, c.info.clipId)) && (f = h.gb[0]); a.policy.Ra && a.oa("sbi", b.uc({ as: c.info.Sc() })); a.policy.yA && b.abort(); d = H0a(a, b, e, f, d); if (d !== "s") return J0a(a, + d, c), !0; c.info.zg() ? xXa(a.timing) : yXa(a.timing); a.logger.debug(function () { return "Appended init for " + c.info.j.info.id }); + return b.Ek() + }; + A0a = function (a, b, c) { if (b.ex() == null) { a = CY(a); if (!(b = !a || a.j !== c.info.j)) { a: if (a = a.G, c = c.info.G, a.length !== c.length) c = !1; else { for (b = 0; b < a.length; b++)if (!g.ac(a[b], c[b])) { c = !1; break a } c = !0 } b = !c } return b } a = b.ex(); c.info.j.TA() && oN(c); c = c.info.j.j; return a !== c && !g.ac(a, c) }; + H0a = function (a, b, c, d, e) { + var f = 0; if (a.policy.j && d && d.clipId && a.wb) { var h; f = (((h = a.wb) == null ? void 0 : aX(h, d.clipId)) || 0) / 1E3 } try { + a.policy.j && b.Dc() !== f && b.Nq(f); var l, m = b === ((l = a.Qa) == null ? void 0 : l.j) ? a.audioTrack : a.videoTrack; if (a.policy.ob && (d == null ? 0 : d.Mi())) { + if ((d == null ? void 0 : d.qO) > 1) return "r"; m.Ga = new g.fp(function () { if (!a.La() && b.RF()) { var p; a.oa("nue", { ls: (p = b.Jr()) == null ? void 0 : p.Sc() }); b.Jr() && (b.Jr().qO += 1); b.kJ(); a.Qa && a.QB() } }, 2E4, a); + m.Ga.start() + } if (a.policy.Ap && (d == null ? 0 : d.Mi())) { + var n; if ((n = m.Ba) == null ? 0 : n.isActive()) g.hp(m.Ba), a.oa("sbac", { as: d.Sc() }); m.Ba = new g.fp(function () { a.oa("sbum5s", { as: d.Sc() }) }, 5E3, a); + m.Ba.start() + } a.policy.Bw && (d == null ? void 0 : d.j) instanceof $M && d.Mi() && a.oa("poseos", { itag: d.j.info.itag, seg: d.Pa, lseg: d.j.index.qd(), es: d.j.index.C }); b.appendBuffer(c, d, e) + } catch (p) { + if (p instanceof DOMException) { + if (p.code === 11) return "i"; if (p.code === 12) return "x"; if (p.code === 22 || p.message.indexOf("Not enough storage") === 0) return c = Object.assign({ + name: "QuotaExceededError", buffered: lF(b.oe()).replace(/,/g, "_"), vheap: GY(a.videoTrack), aheap: GY(a.audioTrack), message: g.Ue(p.message, 3), track: a.Qa ? b === a.Qa.B ? + "v" : "a" : "u" + }, h0a()), a.handleError("player.exception", c), "q"; g.ex(p) + } return "u" + } return a.Qa.Ng() ? "m" : "s" + }; + EX = function (a, b, c) { a.ea.seekTo(b, c) }; + xY = function (a, b) { a.ea.AL(b) }; + SY = function (a, b) { if (a.Ra && !a.Yr) return 3; if (a.isSuspended) return 1; var c; if ((c = a.Qa) == null ? 0 : c.Qa && c.Qa.streaming === !1) return 4; c = (b.j.info.audio ? a.policy.Fa : a.policy.Va) / (b.ub * a.policy.hm); if (a.policy.yq > 0 && a.Qa && yF(a.Qa) && (b = b.j.info.video ? a.Qa.B : a.Qa.j) && !b.Ek()) { b = b.oe(); var d = mF(b, a.getCurrentTime()); d >= 0 && (b = a.getCurrentTime() - b.start(d), c += Math.max(0, Math.min(b - a.policy.yq, a.policy.aE))) } a.policy.Ga > 0 && (c = Math.min(c, a.policy.Ga)); return c }; + L0a = function (a) { a.Va && !a.isSuspended && DO(a.schedule) && (K0a(a, a.Va), a.Va = "") }; + K0a = function (a, b) { mW(b, "cms", function (c) { a.policy.C && a.oa("pathprobe", c) }, function (c) { a.ea.handleError(c) }) }; + M0a = function (a, b) { if (a.Qa && a.Qa.G && !a.Qa.Ng() && (b.Kw = IY(a.videoTrack), b.B = IY(a.audioTrack), a.policy.C)) { var c = GY(a.videoTrack), d = GY(a.audioTrack), e = lF(a.Qa.B.oe(), "_", 5), f = lF(a.Qa.j.oe(), "_", 5); Object.assign(b.j, { lvq: c, laq: d, lvb: e, lab: f }) } b.bandwidthEstimate = vX(a.Y); a.logger.debug(function () { return EE(b.j) }) }; + N0a = function (a, b) { a.K = b; a.C && (a.C.K = b); a.K.FT(a.videoTrack.j.info.Le()); a.D.B = a.K; a.policy.G && (a.Z.K = a.K) }; + O0a = function (a, b) { if (a.Qa && a.Qa.B) { b -= isNaN(a.timestampOffset) ? 0 : a.timestampOffset; a.getCurrentTime() !== b && a.resume(); if (a.Lg.isSeeking() && a.Qa && !a.Qa.Ng()) { var c = a.getCurrentTime() <= b && b < a.getCurrentTime() + 10, d = nF(a.Qa.B.oe(), a.getCurrentTime() + RY); c && d && (a.Lg.G = !1) } a.Lg.isSeeking() || a.policy.yb || (a.currentTime = b); g.gp(a.fG) } }; + P0a = function (a, b) { + var c = YYa(a.videoTrack).find(function (d) { return d.startTime >= b && i0a(a, d.startTime, !1) }); + return c && c.startTime < b + c.duration * 1.5 ? c.startTime + .1 : 0 + }; + i0a = function (a, b, c) { if (!(a.videoTrack.j.jg() && a.audioTrack.j.jg() && a.Qa && a.Qa.B && a.Qa.j)) return !1; if (c && a.manifest.isManifestless && (a.videoTrack.K === -1 || a.audioTrack.K === -1)) return !0; var d = BX(a.videoTrack, b, c); if (isNaN(d)) return !1; a = BX(a.audioTrack, a.policy.wh ? b : d, c); return isNaN(a) ? !1 : !0 }; + VY = function (a) { a.lk(); a.Lg.isSeeking() && a.logger.debug("seeking cancelled by seek-to-head"); a.G && d0a(a.G, a.videoTrack.j); tZ(a); return kWa(a.Lg) }; + UY = function (a, b, c, d) { (d === void 0 ? 0 : d) && !b.Ma && (vF() || (d = b.Qb) && d.Jx(c.info) || Q0a(a, b, c), b.Ma = !0); b.j !== c && (a.logger.debug(function () { return "Setting target itag: " + c.info.id + " (was " + b.j.info.id + ")" }), b.j = c) }; + Q0a = function (a, b, c) { + if (a.Qa) { + var d = c.info.zg(), e = d ? a.Qa.B : a.Qa.j; e && Hx(e, a.Fa, a); a.oa("ssap", { reinitsb: 1, itag: c.info.id, mime: c.info.mimeType }); e = a.Qa; var f = c.info, h = a.policy.Ob; h = h === void 0 ? "" : h; if (e.Qa) { h = (c = f.zg()) ? f.mimeType + h : f.mimeType; var l = c ? "1" : "0"; e.vg && e.vg.webkitSourceAddId(l, h); var m = c ? e.B : e.j; m && Hx(m, e.D, e); (m = c ? e.Y : e.Z) && e.Qa.removeSourceBuffer(m); var n; m = (n = e.Qa) == null ? void 0 : n.addSourceBuffer(h); c ? e.Y = m : e.Z = m; n = new uF(m, e.vg, l, UE(h), f.rb, c); zF && g.Gx(n, e.D, e); c ? e.B = n : e.j = n; g.P(e, n) } d = + d ? a.Qa.B : a.Qa.j; BY(b, d || null); d && g.Gx(d, a.Fa, a) + } else a.oa("ssap", { missmse: 1 }) + }; + S0a = function (a, b) { var c = CY(b), d; (d = !c) || (c = Math.min(c.We + RY, c.Mf), d = b.Qb ? nF(b.Qb.oe(), c) : !0); d && R0a(a, b === a.audioTrack) }; + R0a = function (a, b) { if (a.policy.ob && a.Qa) { var c, d, e = b ? (c = a.Qa) == null ? void 0 : c.j : (d = a.Qa) == null ? void 0 : d.B; c = b ? a.audioTrack : a.videoTrack; if ((b = FX(c)) && (e == null ? 0 : e.RF())) { e.kJ(); var f; (f = c.Ga) == null || f.stop(); b.isLocked = !1; c.Os(b); ZXa(a.j, b.info); e = e.Jr(); (e == null ? void 0 : e.Sc()) !== b.info.Sc() && a.oa("oue", { bls: e == null ? void 0 : e.Sc(), tls: b.info.Sc() }) } } }; + T0a = function (a, b) { a.timestampOffset !== b && (a.timestampOffset = b, a.logger.debug(function () { return "Timestamps will be made relative to " + a.timestampOffset }), a.C.Z = a.timestampOffset, a.ea.tS(a.timestampOffset), a.manifest.isManifestless && (a.manifest.timestampOffset = a.timestampOffset), a.videoTrack.Nq(a.timestampOffset), a.audioTrack.Nq(a.timestampOffset)) }; + uZa = function (a) { + var b = a.Bl().filter(function (d) { return d.namespace === "ad" }); + b = g.w(b); for (var c = b.next(); !c.done; c = b.next())if (c = c.value, c.start / 1E3 > a.getCurrentTime()) return c.start / 1E3; return Infinity + }; + U0a = function (a) { var b = CY(a.videoTrack), c = CY(a.audioTrack); return b && !kZa(a.videoTrack) ? b.startTime : c && !kZa(a.audioTrack) ? c.startTime : NaN }; + J0a = function (a, b, c) { a.policy.HD && rQ(a.ea.getVideoData()) ? (a.ea.OF() || I0a(a, "sepInit", b, c.info), V0a(a.ea, "sie")) : I0a(a, "sepInit", b, c.info) }; + zZa = function (a) { return a.ea.vA() < a.Ob }; + g.uZ = function (a) { this.bd = a }; + vZ = function () { g.Fx.apply(this, arguments) }; + wZ = function (a, b, c, d) { + vZ.call(this); var e = this; this.C = -1; this.j = {}; this.D = new g.fp(this.G, 0, this); g.P(this, this.D); this.B = new g.fp(function () { e.La() || (e.D.start(Math.random() * c), e.B.start(b)) }, a, this); + g.P(this, this.B); d.subscribe("fairplay_next_need_key_info", this.K, this) + }; + W0a = function (a) { if (!(a.length <= 28)) for (var b = (0, g.WX)([60, 0, 75, 0, 73, 0, 68, 0, 62, 0]), c = 28; c < a.length;) { a: if (a.length - c < b.length) var d = !1; else { for (d = 0; d < b.length; ++d)if (a[c + d] !== b[d]) { d = !1; break a } d = !0 } if (d) { c += b.length; if (a.length <= c + 48) break; b = new Uint8Array(24); for (d = 0; d < 24; ++d)b[d] = a[c + d * 2]; a = eK(b); a = Ve(a); if (!a) break; c = a[0]; a[0] = a[3]; a[3] = c; c = a[1]; a[1] = a[2]; a[2] = c; c = a[4]; a[4] = a[5]; a[5] = c; c = a[6]; a[6] = a[7]; a[7] = c; return a } c++ } }; + xZ = function (a, b, c) { + vZ.call(this); var d = this; this.C = a; this.j = []; this.hd = { Cna: function () { return d.j.length } }; + this.D = c.kb("html5_ignore_widevine_key_rotation_license_requests"); this.B = new g.fp(function () { d.publish("log_qoe", { wvagt: "timer", reqlen: d.j ? d.j.length : -1 }); if (d.j) { if (d.j.length > 0) { var e = d.j.shift(); X0a(d, e.info) } d.j.length > 0 && (e = d.j[0].time - (0, g.Zt)(), d.B.start(Math.max(0, e))) } }, 0); + g.P(this, this.B); b.subscribe("widevine_set_need_key_info", this.G, this) + }; + X0a = function (a, b) { a: { var c = b.cryptoPeriodIndex; if (isNaN(c) && a.C.size > 0) c = !0; else { for (var d = g.w(a.C.values()), e = d.next(); !e.done; e = d.next())if (e.value.cryptoPeriodIndex === c) { c = !0; break a } c = !1 } } a.publish("log_qoe", { wvagt: "reqnews", canskip: c }); c || a.publish("rotated_need_key_info_ready", b) }; + Y0a = function (a) { var b = a.url; var c = a.interval; a = a.retries; this.url = b; this.interval = c; this.retries = a }; + Z0a = function (a, b) { this.statusCode = a; this.message = b; this.B = this.heartbeatParams = this.errorMessage = null; this.j = {}; this.nextFairplayKeyId = null }; + $0a = function (a) { + var b = cK(a.subarray(0, 16384)), c = b.indexOf("\r\n\r\n"); if (c === -1) return null; var d = b.indexOf("\r\n"), e = b.slice(0, d).match(/^GLS\/1.\d ([0-9]{1,3}) (\w+)$/); if (e == null) return null; e = e[1]; isFinite(e) && (e = String(e)); e = typeof e === "string" ? /^\s*-?0x/i.test(e) ? parseInt(e, 16) : parseInt(e, 10) : NaN; b = cM(b.slice(d + 2)); if (b == null) return null; a = new Z0a(e, a.subarray(c + 4)); a.statusCode !== 0 && (a.errorMessage = g.zwa(a.statusCode)); if (c = b["Heartbeat-Url"]) a.heartbeatParams = new Y0a({ + url: c, interval: Number(b["Heartbeat-Interval-Secs"]) || + 60, retries: Number(b["Heartbeat-Num-Retries"]) || 4 + }); if (c = b["Authorized-Format-Types"]) a.B = c.split(","); if (c = b["Key-Ids"]) { if (c) for (d = c.split(";"), c = {}, d = g.w(d), e = d.next(); !e.done; e = d.next())e = e.value.split(","), e.length === 2 && (c[e[1]] = e[0]); else c = {}; a.j = c } a.nextFairplayKeyId = b["Next-Key-Id"]; return a + }; + a1a = function (a, b, c) { c = c === void 0 ? "" : c; g.O.call(this); this.message = a; this.requestNumber = b; this.Xe = c; this.onError = this.onSuccess = null; this.j = new g.gi(5E3, 2E4, .2) }; + b1a = function (a, b, c) { a.onSuccess = b; a.onError = c }; + d1a = function (a, b, c) { + var d = { + format: "RAW", method: "POST", postBody: a.message, responseType: "arraybuffer", withCredentials: !0, timeout: 3E4, onSuccess: function (e) { if (!a.La()) if (e.status !== 0 && e.response) if (pA("drm_net_r", void 0, a.Xe), e = new Uint8Array(e.response), e = $0a(e)) a.onSuccess(e, a.requestNumber); else a.onError(a, "drm.net", "t.p"); else c1a(a, e) }, + onError: function (e) { c1a(a, e) } + }; + c && (b = Tfa(b, "access_token", c)); g.Ur(b, d) + }; + c1a = function (a, b) { if (!a.La()) a.onError(a, b.status ? "drm.net.badstatus" : "drm.net.connect", "t.r;c." + String(b.status), b.status) }; + f1a = function (a, b, c, d) { + var e = { + timeout: 3E4, onSuccess: function (f) { + if (!a.La()) { + pA("drm_net_r", void 0, a.Xe); var h = f.status === "LICENSE_STATUS_OK" ? 0 : 9999, l = null; if (f.license) try { l = Ve(f.license) } catch (u) { g.ex(u) } if (h !== 0 || l) { + l = new Z0a(h, l); h !== 0 && f.reason && (l.errorMessage = f.reason); if (f.authorizedFormats) { + h = {}; for (var m = [], n = {}, p = g.w(f.authorizedFormats), q = p.next(); !q.done; q = p.next())if (q = q.value, q.trackType && q.keyId) { + var r = e1a[q.trackType]; if (r) { + r === "HD" && f.isHd720 && (r = "HD720"); q.isHdr && (r += "HDR"); h[r] || + (m.push(r), h[r] = !0); var t = null; try { t = Ve(q.keyId) } catch (u) { g.ex(u) } t && (n[g.Te(t, 4)] = r) + } + } l.B = m; l.j = n + } f.nextFairplayKeyId && (l.nextFairplayKeyId = f.nextFairplayKeyId); f.sabrLicenseConstraint && (l.sabrLicenseConstraint = Ve(f.sabrLicenseConstraint)); f = l + } else f = null; if (f) a.onSuccess(f, a.requestNumber); else a.onError(a, "drm.net", "t.p;p.i") + } + }, + onError: function (f) { if (!a.La()) if (f && f.error) f = f.error, a.onError(a, "drm.net.badstatus", "t.r;p.i;c." + f.code + ";s." + f.status, f.code); else a.onError(a, "drm.net.badstatus", "t.r;p.i;c.n") }, + onTimeout: function () { a.onError(a, "drm.net", "rt.req." + a.requestNumber) } + }; + d && (e.XW = "Bearer " + d); g.Bv(c, "player/get_drm_license", b, e) + }; + g1a = function (a, b, c, d) { + g.Fx.call(this); this.videoData = a; this.W = b; this.Y = c; this.sessionId = d; this.G = {}; this.cryptoPeriodIndex = NaN; this.url = ""; this.requestNumber = 0; this.N = this.ra = !1; this.C = null; this.Fa = []; this.D = []; this.Z = !1; this.j = {}; this.Ba = NaN; this.status = ""; this.K = NaN; this.B = a.G; this.cryptoPeriodIndex = c.cryptoPeriodIndex; a = {}; Object.assign(a, this.W.j); a.cpn = this.videoData.clientPlaybackNonce; this.videoData.ra && (a.vvt = this.videoData.ra, this.videoData.mdxEnvironment && (a.mdx_environment = this.videoData.mdxEnvironment)); + this.W.Ba && (a.authuser = this.W.Ba); this.W.pageId && (a.pageid = this.W.pageId); isNaN(this.cryptoPeriodIndex) || (a.cpi = this.cryptoPeriodIndex.toString()); var e = (e = /_(TV|STB|GAME|OTT|ATV|BDP)_/.exec(g.wb())) ? e[1] : ""; e === "ATV" && (a.cdt = e); this.G = a; this.G.session_id = d; this.qa = !0; this.B.flavor === "widevine" && (this.G.hdr = "1"); this.B.flavor === "playready" && (b = Number(jO(b.experiments, "playready_first_play_expiration")), !isNaN(b) && b >= 0 && (this.G.mfpe = "" + b), this.qa = !1); b = ""; g.XN(this.B) ? WN(this.B) ? (d = c.B) && (b = "https://www.youtube.com/api/drm/fps?ek=" + + Rca(d)) : (b = c.initData.subarray(4), b = new Uint16Array(b.buffer, b.byteOffset, b.byteLength / 2), b = String.fromCharCode.apply(null, b).replace("skd://", "https://")) : b = this.B.B; this.baseUrl = b; this.fairplayKeyId = Vi(this.baseUrl, "ek") || ""; if (b = Vi(this.baseUrl, "cpi") || "") this.cryptoPeriodIndex = Number(b); this.Ga = this.videoData.L("html5_use_drm_retry"); this.Fa = c.Le ? [g.Te(c.initData, 4)] : c.C; yZ(this, { sessioninit: c.cryptoPeriodIndex }); this.status = "in" + }; + k1a = function (a, b) { + yZ(a, { createkeysession: 1 }); a.status = "gr"; pA("drm_gk_s", void 0, a.videoData.Ya); a.url = h1a(a); try { a.C = b.createSession(a.Y, function (c) { yZ(a, { m: c }) }) } catch (c) { + b = "t.g"; + c instanceof DOMException && (b += ";c." + c.code); a.publish("licenseerror", "drm.unavailable", 1, b, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK"); return + } a.C && (i1a(a.C, function (c, d) { j1a(a, c, d) }, function (c, d, e) { + if (!a.La()) { + d = void 0; + var f = 1; g.XN(a.B) && g.PO(a.W) && a.W.L("html5_enable_safari_fairplay") && e === 1212433232 && (d = "ERROR_HDCP", f = a.W.L("html5_safari_fairplay_ignore_hdcp") ? 0 : f); a.error("drm.keyerror", f, c, d) + } + }, function () { a.La() || (yZ(a, { onkyadd: 1 }), a.N || (a.publish("sessionready"), a.N = !0)) }, function (c) { a.tq(c) }), g.P(a, a.C)) + }; + h1a = function (a) { + var b = a.baseUrl; sva(b) || a.error("drm.net", 2, "t.x"); if (!Vi(b, "fexp")) { + var c = ["23898307", "23914062", "23916106", "23883098"].filter(function (e) { return a.W.experiments.experiments[e] }); + c.length > 0 && (a.G.fexp = c.join()) + } c = g.w(Object.keys(a.G)); for (var d = c.next(); !d.done; d = c.next())d = d.value, b = Tfa(b, d, a.G[d]); return b + }; + j1a = function (a, b, c) { + if (!a.La()) if (b) { + yZ(a, { onkmtyp: c }); a.status = "km"; switch (c) { case "license-renewal": case "license-request": case "license-release": break; case "individualization-request": l1a(a, b); return; default: a.publish("ctmp", "message_type", { t: c, l: b.byteLength }) }a.ra || (pA("drm_gk_f", void 0, a.videoData.Ya), a.ra = !0, a.publish("newsession", a)); if (TN(a.B) && (b = m1a(b), !b)) return; g.XN(a.B) && !a.videoData.useInnertubeDrmService() && (b = pBa(g.Te(b))); b = new a1a(b, ++a.requestNumber, a.videoData.Ya); b1a(b, function (d) { + n1a(a, + d) + }, function (d, e, f) { + if (!a.La()) { + var h = 0, l; + (l = d.j.B >= 3) || (l = a.Ga && (0, g.Zt)() - a.Ba > 36E4); l && (h = 1, e = "drm.net.retryexhausted"); yZ(a, { onlcsrqerr: e, info: f }); a.error(e, h, f); a.shouldRetry(GE(h), d) && o1a(a, d) + } + }); + g.P(a, b); p1a(a, b) + } else a.error("drm.unavailable", 1, "km.empty") + }; + l1a = function (a, b) { + yZ(a, { sdpvrq: 1 }); a.K = Date.now(); if (a.B.flavor !== "widevine") a.error("drm.provision", 1, "e.flavor;f." + a.B.flavor + ";l." + b.byteLength); else { + var c = { cpn: a.videoData.clientPlaybackNonce }; Object.assign(c, a.W.j); c = g.Ti("https://www.googleapis.com/certificateprovisioning/v1/devicecertificates/create?key=AIzaSyB-5OLKTx2iU5mko18DfdwK5611JIjbUhE", c); b = { format: "RAW", headers: { "content-type": "application/json" }, method: "POST", postBody: JSON.stringify({ signedRequest: cK(b) }), responseType: "arraybuffer" }; + g.Yr(c, b, 3, 500).then(JK(function (d) { d = d.xhr; if (!a.La()) { d = new Uint8Array(d.response); var e = cK(d); try { var f = JSON.parse(e) } catch (h) { } f && f.signedResponse ? (a.publish("ctmp", "drminfo", { provisioning: 1 }), f = (Date.now() - a.K) / 1E3, a.K = NaN, a.publish("ctmp", "provs", { et: f.toFixed(3) }), a.C && a.C.update(d)) : (f = f && f.error && f.error.message, d = "e.parse", f && (d += ";m." + f), a.error("drm.provision", 1, d)) } }), JK(function (d) { a.La() || a.error("drm.provision", 1, "e." + d.errorCode + ";c." + (d.xhr && d.xhr.status)) })) + } + }; + zZ = function (a) { var b; if (b = a.qa && a.C != null) a = a.C, b = !(!a.j || !a.j.keyStatuses); return b }; + p1a = function (a, b) { + a.status = "km"; pA("drm_net_s", void 0, a.videoData.Ya); if (a.videoData.useInnertubeDrmService()) { + var c = new g.Av(a.W.Zk), d = { context: g.Ku(c.config_ || g.Ju()) }; d.drmSystem = q1a[a.B.flavor]; d.videoId = a.videoData.videoId; d.cpn = a.videoData.clientPlaybackNonce; d.sessionId = a.sessionId; d.licenseRequest = g.Te(b.message); d.drmParams = a.videoData.drmParams; isNaN(a.cryptoPeriodIndex) || (d.isKeyRotated = !0, d.cryptoPeriodIndex = a.cryptoPeriodIndex); var e, f, h = !!((e = a.videoData.B) == null ? 0 : (f = e.video) == null ? + 0 : f.isHdr()); d.drmVideoFeature = h ? "DRM_VIDEO_FEATURE_PREFER_HDR" : "DRM_VIDEO_FEATURE_SDR"; if (d.context && d.context.client) { + if (e = a.W.j) d.context.client.deviceMake = e.cbrand, d.context.client.deviceModel = e.cmodel, d.context.client.browserName = e.cbr, d.context.client.browserVersion = e.cbrver, d.context.client.osName = e.cos, d.context.client.osVersion = e.cosver; d.context.user = d.context.user || {}; d.context.request = d.context.request || {}; a.videoData.ra && (d.context.user.credentialTransferTokens = [{ + token: a.videoData.ra, + scope: "VIDEO" + }]); d.context.request.mdxEnvironment = a.videoData.mdxEnvironment || d.context.request.mdxEnvironment; a.videoData.Jb && (d.context.user.kidsParent = { oauthToken: a.videoData.Jb }); g.XN(a.B) && (d.fairplayKeyId = g.Te(Sca(a.fairplayKeyId))); g.kP(a.W, g.VQ(a.videoData)).then(function (l) { f1a(b, d, c, l); a.status = "rs" }) + } else a.error("drm.net", 2, "t.r;ic.0") + } else g.kP(a.W, g.VQ(a.videoData)).then(function (l) { + d1a(b, a.url, l); + a.status = "rs" + }) + }; + n1a = function (a, b) { + if (!a.La()) if (yZ(a, { onlcsrsp: 1 }), a.status = "rr", b.statusCode !== 0) a.error("drm.auth", 1, "t.f;c." + b.statusCode, b.errorMessage || void 0); else { + pA("drm_kr_s", void 0, a.videoData.Ya); if (b.heartbeatParams && b.heartbeatParams.url && a.videoData.L("outertube_streaming_data_always_use_staging_license_service")) { var c = a.B.B.match(/(.*)youtube.com/g); c && (b.heartbeatParams.url = c[0] + b.heartbeatParams.url) } b.heartbeatParams && a.publish("newlicense", b.heartbeatParams); b.B && (a.D = b.B, a.videoData.useInnertubeDrmService() && + !a.videoData.VD && a.publish("newlicense", new Y0a({})), a.videoData.VD = !0, a.Z = Em(a.D, function (d) { return d.includes("HDR") })); + b.j && (a.W.L("html5_enable_vp9_fairplay") && WN(a.B) ? (c = g.Te(Sca(a.fairplayKeyId), 4), a.j[c] = { type: b.j[c], status: "unknown" }) : a.j = sc(b.j, function (d) { return { type: d, status: "unknown" } })); + UN(a.B) && !a.videoData.useInnertubeDrmService() ? b.message = Ve(cK(b.message)) : VN(a.B) && a.videoData.useInnertubeDrmService() && (b.message = pBa(g.Te(b.message))); a.C && (yZ(a, { updtks: 1 }), a.status = "ku", a.C.update(b.message).then(function () { pA("drm_kr_f", void 0, a.videoData.Ya); zZ(a) || (yZ(a, { ksApiUnsup: 1 }), a.publish("keystatuseschange", a)) }, function (d) { + d = "msuf.req." + a.requestNumber + ";msg." + g.Ue(d.message, 3); + a.error("drm.keyerror", 1, d) + })); + a.N && (a.Ba = (0, g.Zt)()); g.XN(a.B) && a.publish("fairplay_next_need_key_info", a.baseUrl, b.nextFairplayKeyId); a.W.L("html5_enable_vp9_fairplay") && WN(a.B) && a.publish("qualitychange", r1a(a.D)); b.sabrLicenseConstraint && a.publish("sabrlicenseconstraint", b.sabrLicenseConstraint) + } + }; + o1a = function (a, b) { + var c = b.j.getValue(); c = new g.fp(function () { p1a(a, b) }, c); + g.P(a, c); c.start(); g.hi(b.j); yZ(a, { rtyrq: 1 }) + }; + s1a = function (a, b) { for (var c = [], d = g.w(Object.keys(a.j)), e = d.next(); !e.done; e = d.next())e = e.value, c.push(e + "_" + a.j[e].type + "_" + a.j[e].status); return c.join(b) }; + t1a = function (a) { var b = {}; b[a.status] = zZ(a) ? s1a(a, ".") : a.D.join("."); return b }; + u1a = function (a, b) { switch (a) { case "highres": case "hd2880": a = "UHD2"; break; case "hd2160": case "hd1440": a = "UHD1"; break; case "hd1080": case "hd720": a = "HD"; break; case "large": case "medium": case "small": case "light": case "tiny": a = "SD"; break; default: return "" }b && (a += "HDR"); return a }; + v1a = function (a, b) { for (var c in a.j) if (a.j[c].status === "usable" && a.j[c].type === b) return !0; return !1 }; + w1a = function (a, b) { for (var c in a.j) if (a.j[c].type === b) return a.j[c].status }; + yZ = function (a, b) { var c = c === void 0 ? !1 : c; EE(b); (c || a.W.Ac()) && a.publish("ctmp", "drmlog", b) }; + x1a = function (a) { var b = a[0]; a[0] = a[3]; a[3] = b; b = a[1]; a[1] = a[2]; a[2] = b; b = a[4]; a[4] = a[5]; a[5] = b; b = a[6]; a[6] = a[7]; a[7] = b }; + r1a = function (a) { return g.Mb(a, "UHD2") || g.Mb(a, "UHD2HDR") ? "highres" : g.Mb(a, "UHD1") || g.Mb(a, "UHD1HDR") ? "hd2160" : g.Mb(a, "HD") || g.Mb(a, "HDHDR") ? "hd1080" : g.Mb(a, "HD720") || g.Mb(a, "HD720HDR") ? "hd720" : "large" }; + m1a = function (a) { for (var b = "", c = 0; c < a.length; c += 2)b += String.fromCharCode(a[c]); a = Pba(new DOMParser, xd(b)); return a ? (a = a.querySelector("Challenge")) && a.childNodes && a.childNodes.length !== 0 ? new Uint8Array((0, g.WX)(Xca(a.childNodes[0].nodeValue)).buffer) : null : null }; + AZ = function (a, b, c, d, e, f) { f = f === void 0 ? !1 : f; g.O.call(this); this.element = a; this.Z = b; this.initData = c; this.j = d; this.B = e; this.Y = f; this.sessionId = ""; this.N = this.K = this.C = this.G = null; this.D = new g.OE(this); g.P(this, this.D); y1a(this) }; + y1a = function (a) { + a.j ? (a.D.T(a.j, "message", a.t6), a.D.T(a.j, "keystatuseschange", a.tq), a.j.closed && a.j.closed.then(JK(function () { a.onClosed() }), null)) : a.B && (Xs(a.D, a.B, ["mskeymessage", + "webkitkeymessage"], a.v0), Xs(a.D, a.B, ["mskeyerror", "webkitkeyerror"], a.u0), Xs(a.D, a.B, ["mskeyadded", "webkitkeyadded"], a.t0)) + }; + i1a = function (a, b, c, d, e) { a.G = b; a.C = c; a.K = d; a.N = e }; + z1a = function (a, b, c) { g.ex(c); a.C && (c instanceof DOMException && (b += ";n." + c.name + ";m." + c.message), a.C(b)) }; + BZ = function (a, b, c, d) { d = d === void 0 ? !1 : d; g.O.call(this); this.element = a; this.j = b; this.oa = c; this.N = d; this.K = {}; this.D = null; this.G = new g.OE(this); this.C = this.B = null; g.P(this, this.G) }; + B1a = function (a, b) { b = A1a(b, a.j.fb); b = a.C.createSession("video/mp4", b); return new AZ(null, null, null, null, b, a.N) }; + C1a = function (a, b) { for (var c = new Uint8Array(270), d = 0; d < 135; d++)c[d * 2] = ''.charCodeAt(d); a = a.C.createSession("video/mp4", b, c); return new AZ(null, null, null, null, a) }; + D1a = function (a, b) { var c = a.K[b.sessionId]; !c && a.D && (c = a.D, a.D = null, c.sessionId = b.sessionId, a.K[b.sessionId] = c); return c }; + A1a = function (a, b) { + var c = a.subarray(4); c = new Uint16Array(c.buffer, c.byteOffset, c.byteLength / 2); c = String.fromCharCode.apply(null, c).match(/ek=([0-9a-f]+)/)[1]; for (var d = "", e = 0; e < c.length; e += 2)d += String.fromCharCode(parseInt(c.substr(e, 2), 16)); c = d; d = new ArrayBuffer(c.length * 2); e = new Uint16Array(d); for (var f = 0; f < c.length; f++)e[f] = c.charCodeAt(f); c = new Uint8Array(d); d = 0; f = new ArrayBuffer(a.byteLength + 4 + c.byteLength + 4 + b.byteLength); e = new Uint8Array(f); f = new DataView(f); e.set(a); d += a.byteLength; f.setUint32(d, + c.length, !0); d += 4; e.set(c, d); d += c.length; f.setUint32(d, b.byteLength, !0); e.set(b, d + 4); return e + }; + CZ = function () { this.keys = []; this.values = [] }; + G1a = function (a, b, c) { + g.Fx.call(this); this.element = a; this.videoData = b; this.W = c; this.j = this.videoData.G; this.drmSessionId = this.videoData.drmSessionId || g.uqa(); this.B = new Map; this.K = new CZ; this.N = new CZ; this.C = []; this.Ka = 2; this.ra = new g.OE(this); this.Ra = this.Ga = !1; this.heartbeatParams = null; this.Fa = this.Y = !1; this.G = null; this.Ma = !1; this.Ba = this.W.L("html5_eme_ignore_teardown_errors"); (a = this.element) && (a.addKey || a.webkitAddKey) || RN() || ZN(c.experiments); this.W.L("html5_enable_vp9_fairplay") && WN(this.j) ? + c = E1a : (c = this.videoData.Yj, c = this.j.flavor === "fairplay" || c ? VP : E1a); this.Z = c; this.D = new BZ(this.element, this.j, this.vL.bind(this), this.Ba); g.P(this, this.D); SN(this.j) && (this.qa = new BZ(this.element, this.j, this.vL.bind(this), this.Ba), g.P(this, this.qa)); g.P(this, this.ra); c = this.element; this.j.keySystemAccess ? this.ra.T(c, "encrypted", this.Laa) : Xs(this.ra, c, SN(this.j) ? ["msneedkey"] : ["needkey", "webkitneedkey"], this.mba); F1a(this); a: switch (c = this.j, a = this.W.experiments, b = this.B, c.flavor) { + case "fairplay": if (b = + /\sCobalt\/(\S+)\s/.exec(g.wb())) { a = []; b = g.w(b[1].split(".")); for (var d = b.next(); !d.done; d = b.next())d = parseInt(d.value, 10), d >= 0 && a.push(d); a = parseFloat(a.join(".")) } else a = NaN; a > 19.2999 ? (a = c.ww, c = c.uw, c >= a && (c = a * .75), b = (a - c) * .5, c = new wZ(b, a, a - b - c, this)) : c = null; break a; case "widevine": c = new xZ(b, this, a); break a; default: c = null + }if (this.G = c) g.P(this, this.G), this.G.subscribe("rotated_need_key_info_ready", this.RW, this), this.G.subscribe("log_qoe", this.vj, this); ZN(this.W.experiments); this.vj({ cks: this.j.getInfo() }) + }; + F1a = function (a) { + var b = a.D.tO(); b ? b.then(JK(function () { H1a(a) }), JK(function (c) { + if (!a.La()) { + g.ex(c); + var d = "t.a"; c instanceof DOMException && (d += ";n." + c.name + ";m." + c.message); a.publish("licenseerror", "drm.unavailable", 1, d, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK") + } + })) : (a.vj({ mdkrdy: 1 }), a.Y = !0); + a.qa && (b = a.qa.tO()) + }; + J1a = function (a, b, c) { a.Ra = !0; c = new uY(b, c); a.W.L("html5_eme_loader_sync") && (a.K.get(b) || a.K.set(b, c)); I1a(a, c) }; + I1a = function (a, b) { + if (!a.La()) { + a.vj({ onInitData: 1 }); if (a.W.L("html5_eme_loader_sync") && a.videoData.C && a.videoData.C.j) { var c = a.N.get(b.initData); b = a.K.get(b.initData); if (!c || !b) return; b = c; c = b.initData; a.K.remove(c); a.N.remove(c) } a.vj({ initd: b.initData.length, ct: b.contentType }); if (a.j.flavor === "widevine") if (a.Ga && !a.videoData.isLivePlayback) DZ(a); else { + if (!(a.W.L("vp9_drm_live") && a.videoData.isLivePlayback && b.Le)) { + a.Ga = !0; c = b.cryptoPeriodIndex; var d = b.j; rYa(b); b.Le || (d && b.j !== d ? a.publish("ctmp", "cpsmm", + { emsg: d, pssh: b.j }) : c && b.cryptoPeriodIndex !== c && a.publish("ctmp", "cpimm", { emsg: c, pssh: b.cryptoPeriodIndex })); a.publish("widevine_set_need_key_info", b) + } + } else a.RW(b) + } + }; + H1a = function (a) { + if (!a.La()) if (a.W.L("html5_drm_set_server_cert") || WN(a.j)) { + var b = a.D.setServerCertificate(); b ? b.then(JK(function (c) { a.W.Ac() && a.publish("ctmp", "ssc", { success: c }) }), JK(function (c) { + a.publish("ctmp", "ssce", { + n: c.name, + m: c.message + }) + })).then(JK(function () { K1a(a) })) : K1a(a) + } else K1a(a) + }; + K1a = function (a) { a.La() || (a.Y = !0, a.vj({ onmdkrdy: 1 }), DZ(a)) }; + L1a = function (a) { return a.j.flavor === "widevine" && a.videoData.L("html5_drm_cpi_license_key") }; + DZ = function (a) { if ((a.Ra || a.W.L("html5_widevine_use_fake_pssh")) && a.Y && !a.Fa) { for (; a.C.length;) { var b = a.C[0], c = L1a(a) ? sYa(b) : g.Te(b.initData); if (WN(a.j) && !b.B) a.C.shift(); else { if (a.B.get(c)) if (a.j.flavor !== "fairplay" || WN(a.j)) { a.C.shift(); continue } else a.B.delete(c); rYa(b); break } } a.C.length && a.createSession(a.C[0]) } }; + M1a = function (a) { var b; if (b = g.ks()) { var c; b = !((c = a.D.B) == null || !c.getMetrics) } b && (b = a.D.getMetrics()) && (b = g.gK(b), a.publish("ctmp", "drm", { metrics: b })) }; + N1a = function (a) { + g.O.call(this); var b = this; this.ea = a; this.Da = this.ea.U(); this.videoData = this.ea.getVideoData(); this.YF = 0; this.K = this.B = this.G = !1; this.D = 0; this.C = g.AC(this.Da.experiments, "html5_delayed_retry_count"); this.j = new g.fp(function () { EZ(b.ea) }, g.AC(this.Da.experiments, "html5_delayed_retry_delay_ms")); + g.P(this, this.j) + }; + T1a = function (a, b, c) { + var d = a.videoData.B, e = a.videoData.D; rQ(a.ea.getVideoData()) && a.Da.L("html5_gapless_fallback_on_qoe_restart") && V0a(a.ea, "pe"); a.Da.L("html5_lifa_disable_ssdai_on_decode_error") && a.videoData.oi() && (b === "fmt.decode" || b === "fmt.unplayable") && O1a(a.ea, c); if ((b === "progressive.net.retryexhausted" || b === "fmt.unplayable" || b === "fmt.decode") && !a.ea.Ok.G && d && d.itag === "22") return a.ea.Ok.G = !0, a.Id("qoe.restart", { reason: "fmt.unplayable.22" }), FZ(a.ea), !0; var f = !1; if (a.videoData.isExternallyHostedPodcast) { + if (f = + a.videoData.B4) c.mimeType = f.type, a.oa("3pp", { url: f.url }); c.ns = "3pp"; a.ea.Lf(b, 1, "VIDEO_UNAVAILABLE", EE((new FE(b, c, 1)).details)); return !0 + } var h = a.YF + 3E4 < (0, g.Zt)() || a.j.isActive(); if (a.Da.L("html5_empty_src") && a.videoData.isAd() && b === "fmt.unplayable" && /Empty src/.test("" + c.msg)) return c.origin = "emptysrc", a.Id("auth", c), !0; h || BT(a.ea.bj()) || (c.nonfg = "paused", h = !0, a.ea.pauseVideo()); (b === "fmt.decode" || b === "fmt.unplayable") && (e == null ? 0 : $E(e) || aF(e)) && (hJa(a.Da.G, e.rb), c.acfallexp = e.rb, f = h = !0); !h && a.C > + 0 && (a.j.start(), h = !0, c.delayed = "1", --a.C); e = a.ea.ya; !h && ((d == null ? 0 : ZE(d)) || (d == null ? 0 : XE(d))) && (hJa(a.Da.G, d.rb), f = h = !0, c.cfallexp = d.rb); if (a.Da.L("html5_ssap_ignore_decode_error_for_next_video") && g.jQ(a.videoData) && b === "fmt.unplayable" && c.cid && c.ccid && BT(a.ea.bj())) { if (c.cid !== c.ccid) return c.ignerr = "1", a.Id("ssap.transitionfailure", c), !0; a.Id("ssap.transitionfailure", c); if (P1a(a.ea)) return !0 } if (!h) return Q1a(a, c); if (a.Da.L("html5_ssap_skip_decoding_clip_with_incompatible_codec") && g.jQ(a.videoData) && + b === "fmt.unplayable" && c.cid && c.ccid && c.cid !== c.ccid && BT(a.ea.bj()) && (a.Id("ssap.transitionfailure", c), P1a(a.ea))) return !0; h = !1; a.G ? a.YF = (0, g.Zt)() : h = a.G = !0; var l = a.videoData; if (l.ob) { l = l.ob.pY(); var m = Date.now() / 1E3 + 1800; l = l < m } else l = !1; c.e = b; c.bkg = TTa(); l && (c.staleprog = "1"); a.Id("qoe.restart", c); if (l && R1a(a)) return S1a(a), !0; if (!(!g.is("philips") || b === "fmt.unplayable" && e && e.Ba || a.Da.j.cplatform === "GAME_CONSOLE")) try { window.close() } catch (n) { } d && ZE(d) && !a.Da.L("html5_allow_av1_retry_in_session") ? (f = + a.Da.G, f.Y = !0, f = f.B = !0) : e ? h || (b = (b = CY(e.videoTrack) || e.videoTrack.B) ? b.j : e.videoTrack.j, b.K += 1, dU(e.policy) ? hY(e.B.j, b, !0) : nY(e.j, b, !0)) : a.videoData.ob && a.videoData.ob.uT(); a.j.isActive() || EZ(a.ea, f); return !0 + }; + Q1a = function (a, b) { if (a.videoData.Ba) return !1; a.Da.Kb += 1; if (a.Da.Kb <= 10) return !1; b.exiled = "" + a.Da.Kb; a.Id("qoe.start15s", b); a.ea.publish("playbackstalledatstart"); return !0 }; + R1a = function (a) { return a.B ? !0 : a.Da.qa === "yt" ? a.videoData.Ba ? a.videoData.yc < 25 : !a.videoData.yc : !1 }; + S1a = function (a) { if (!a.B) { a.B = !0; var b = a.ea.getPlayerState(); b = b.isPaused() || b.isSuspended(); a.ea.Vo(); b && !WQ(a.videoData) || a.ea.publish("signatureexpired") } }; + U1a = function (a, b) { if ((a = a.ea.Ke()) && (b.errorCode === "fmt.unplayable" || b.errorCode === "html5.invalidstate")) { var c = a.Xh(); b.details.merr = c ? c.toString() : "0"; b.details.mmsg = a.Xf() } }; + V1a = function (a) { return a.errorCode === "net.badstatus" && (a.severity === 1 || !!a.details.fmt_unav) }; + W1a = function (a, b) { return a.Da.L("html5_use_network_error_code_enums") && b.details.rc === 403 || b.details.rc === "403" ? (a = b.errorCode, a === "net.badstatus" || a === "manifest.net.retryexhausted") : !1 }; + Y1a = function (a, b) { if (!W1a(a, b) && !a.B) return !1; b.details.sts = "19935"; if (R1a(a)) return GE(b.severity) && (b = Object.assign({ e: b.errorCode }, b.details), b = new FE("qoe.restart", b)), a.Id(b.errorCode, b.details), S1a(a), !0; (0, g.Zt)() - a.Da.Sf > 6048E5 && X1a(a, "signature"); return !1 }; + X1a = function (a, b) { try { window.location.reload(), a.Id("qoe.restart", { detail: "pr." + b }) } catch (c) { } }; + Z1a = function (a, b) { var c = a.Da.G; c.K = !1; c.B = !0; a.Id("qoe.restart", { e: b === void 0 ? "fmt.noneavailable" : b, detail: "hdr" }); EZ(a.ea, !0) }; + $1a = function (a, b, c, d, e) { this.videoData = a; this.j = b; this.reason = c; this.B = d; this.token = e }; + a2a = function (a, b, c) { this.W = a; this.MH = b; this.ea = c; this.Z = this.K = this.j = this.D = this.N = this.B = 0; this.G = !1; this.Y = g.AC(this.W.experiments, "html5_displayed_frame_rate_downgrade_threshold") || 45; this.C = new Map }; + c2a = function (a, b, c) { !a.W.L("html5_tv_ignore_capable_constraint") && g.OC(a.W) && (c = c.compose(b2a(a, b))); return c }; + e2a = function (a, b) { var c, d = d2a(a, (c = b.j) == null ? void 0 : c.videoInfos); c = a.ea.getPlaybackRate(); return c > 1 && d ? (a = cJa(a.W.G, b.j.videoInfos, c), new oL(0, a, !0, "o")) : new oL(0, 0, !1, "o") }; + d2a = function (a, b) { return b && g.OC(a.W) ? b.some(function (c) { return c.video.fps > 32 }) : !1 }; + f2a = function (a, b) { var c = a.ea.VJ(); a.L("html5_use_video_quality_cap_for_ustreamer_constraint") && c && c.BU > 0 && sL(b.videoData.ZB) && (a = c.BU, b.videoData.ZB = new oL(0, a, !1, "u")); return b.videoData.ZB }; + b2a = function (a, b) { + if (g.OC(a.W) && GL(a.W.G, HL.HEIGHT)) var c = b.j.videoInfos[0].video.j; else { + var d = !!b.j.j; var e; g.NO(a.W) && (e = window.screen && window.screen.width ? new g.Id(window.screen.width, window.screen.height) : null); e || (e = a.W.Dn ? a.W.Dn.clone() : a.MH.ai()); (qs || uX || d) && e.scale(g.aP()); d = e; sQ(b.videoData) || WQ(b.videoData); b = b.j.videoInfos; if (b.length) { + e = g.AC(a.W.experiments, "html5_override_oversend_fraction") || .85; var f = b[0].video; f.projectionType !== "MESH" && f.projectionType !== "EQUIRECTANGULAR" && f.projectionType !== + "EQUIRECTANGULAR_THREED_TOP_BOTTOM" || LO || (e = .45); a = g.AC(a.W.experiments, "html5_viewport_undersend_maximum"); for (f = 0; f < b.length; f++) { c = b[f]; var h = c.video; if (d === null || h.width * e < d.width && h.height * e < d.height) { a && f && h.width < d.width * a && h.height < d.height * a && (c = b[f - 1]); break } } d = c.video; c = new oL(0, c.itag === "93" ? g.RE[QE(d.width, d.height)] : d.j, !1, "r") + } else c = VP; c = c.j + } c && (c = Math.max(c, 360)); return new oL(0, c, !1, "r") + }; + g2a = function (a) { var b, c, d, e; return g.J(function (f) { switch (f.j) { case 1: return a.j.j && typeof ((b = navigator.mediaCapabilities) == null ? void 0 : b.decodingInfo) === "function" ? g.G(f, Promise.resolve(), 2) : f.return(Promise.resolve()); case 2: c = g.w(a.j.videoInfos), d = c.next(); case 3: if (d.done) { f.Ha(0); break } e = d.value; return g.G(f, Ewa(e), 4); case 4: d = c.next(), f.Ha(3) } }) }; + i2a = function (a, b) { if (!b.videoData.B || a.L("html5_disable_performance_downgrade")) return !1; g.Xa() - a.N > 6E4 && (a.B = 0); a.B++; a.N = g.Xa(); if (a.B !== 4) return !1; h2a(a, b.videoData.B); return !0 }; + k2a = function (a, b, c, d) { + if (!b || !c || !b.videoData.B) return !1; var e = g.AC(a.W.experiments, "html5_df_downgrade_thresh"), f = a.L("html5_log_media_perf_info"); if (!((0, g.Zt)() - a.D < 5E3 ? 0 : f || e > 0)) return !1; var h = ((0, g.Zt)() - a.D) / 1E3; a.D = (0, g.Zt)(); c = c.getVideoPlaybackQuality(); if (!c) return !1; var l = c.droppedVideoFrames - a.K, m = c.totalVideoFrames - a.Z; a.K = c.droppedVideoFrames; a.Z = c.totalVideoFrames; var n = c.displayCompositedVideoFrames === 0 ? 0 : c.displayCompositedVideoFrames || -1; f && a.W.Ac() && a.ea.oa("ddf", { + dr: c.droppedVideoFrames, + de: c.totalVideoFrames, comp: n + }); if (d) return a.j = 0, !1; if ((m - l) / h > a.Y || !e || g.OC(a.W)) return !1; a.j = (m > 60 ? l / m : 0) > e ? a.j + 1 : 0; if (a.j !== 3) return !1; h2a(a, b.videoData.B); a.ea.oa("dfd", Object.assign({ dr: c.droppedVideoFrames, de: c.totalVideoFrames }, j2a())); return !0 + }; + h2a = function (a, b) { + var c = a.W, d = b.rb, e = b.video.fps, f = b.video.j - 1, h = a.C; b = "" + d + (e > 49 ? "p60" : e > 32 ? "p48" : ""); if (c.L("html5_gradual_perf_cap")) if (f <= 0 && DIa("VideoPlayer", 321298775, b, f.toFixed(0)), c = ON(c, d, e, h), f > 0 && (c = Math.min(c, f)), !GZ.has(b) && dL().includes(b)) YBa(b, c, !0); else if (GZ.has(b) || h == null) { a: { var l = l === void 0 ? !0 : l; d = dL().slice(); if (l) { if (d.includes(b)) break a; d.push(b) } else { if (!d.includes(b)) break a; d.splice(d.indexOf(b), 1) } g.bt("yt-player-performance-cap-active-set", d, 2592E3) } NN.set(b, c) } else GZ.add(b), + h == null || h.set(b, c); else YBa(b, f); a.ea.gp() + }; + l2a = function (a, b) { if (!b.j.j) return a.G ? new oL(0, 360, !1, "b") : VP; for (var c = !1, d = !1, e = g.w(b.j.videoInfos), f = e.next(); !f.done; f = e.next())ZE(f.value) ? c = !0 : d = !0; c = c && d; d = 0; e = g.AC(a.W.experiments, "html5_performance_cap_floor"); e = a.W.B ? 240 : e; b = g.w(b.j.videoInfos); for (f = b.next(); !f.done; f = b.next()) { var h = f.value; if (!c || !ZE(h)) if (f = ON(a.W, h.rb, h.video.fps, a.C), h = h.video.j, Math.max(f, e) >= h) { d = h; break } } return new oL(0, d, !1, "b") }; + m2a = function (a, b) { var c = a.ea.bj(); return c.isInline() && !b.QD ? new oL(0, 480, !1, "v") : c.isBackground() && Wv() / 1E3 > 60 && !g.OC(a.W) ? new oL(0, 360, !1, "v") : VP }; + o2a = function (a, b, c) { if (a.W.experiments.kb("html5_disable_client_autonav_cap_for_onesie") && b.fetchType === "onesie" || g.OC(a.W) && (aL(-1) >= 1080 || b.osid)) return VP; var d = g.AC(a.W.experiments, "html5_autonav_quality_cap"), e = g.AC(a.W.experiments, "html5_autonav_cap_idle_secs"); return d && b.isAutonav && Wv() / 1E3 > e ? (c && (d = n2a(a, c, d)), new oL(0, d, !1, "e")) : VP }; + n2a = function (a, b, c) { if (a.L("html5_optimality_defaults_chooses_next_higher") && c) for (a = b.j.videoInfos, b = 1; b < a.length; b++)if (a[b].video.j < c) return a[b - 1].video.j; return c }; + p2a = function (a, b) { a.L("html5_log_media_perf_info") && (a.ea.oa("perfdb", j2a()), a.L("html5_gradual_perf_cap") && (a.ea.oa("sessionperfdb", Object.fromEntries(NN.entries())), a.ea.oa("playbackperfdb", Object.fromEntries(a.C.entries()))), a.ea.oa("hwc", { nch: navigator.hardwareConcurrency }, !0), b && a.ea.oa("mcdb", { itags: b.j.videoInfos.filter(function (c) { var d; return ((d = c.B) == null ? void 0 : d.smooth) === !1 }).map(function (c) { return c.itag }).join("-") })) }; + j2a = function () { return sc(cL(), function (a) { return "" + a }) }; + HZ = function (a) { + g.O.call(this); var b = this; this.provider = a; this.j = -1; this.G = !1; this.B = -1; this.playerState = new g.LF; this.networkErrorCount = this.rebufferTimeSecs = this.playTimeSecs = this.D = 0; this.encounteredSabrFallback = !1; this.seekCount = this.nonNetworkErrorCount = 0; this.delay = new g.fp(this.send, 6E4, this); this.C = !1; this.jsErrorCount = 0; this.hd = { zB: function () { b.zB() } }; + this.zB = function () { b.jsErrorCount++ }; + g.P(this, this.delay); window.addEventListener("error", this.zB); window.addEventListener("unhandledrejection", this.zB) + }; + q2a = function (a) { a.j >= 0 || (a.provider.ea.getVisibilityState() === 3 ? a.G = !0 : (a.j = g.XI(a.provider), a.delay.start())) }; + r2a = function (a) { if (!(a.B < 0)) { var b = g.XI(a.provider), c = b - a.D; a.D = b; a.playerState.state === 8 ? a.playTimeSecs += c : a.playerState.isBuffering() && !g.U(a.playerState, 16) && (a.rebufferTimeSecs += c) } }; + s2a = function (a) { var b; switch ((b = a.W.playerCanaryStage) == null ? void 0 : b.toLowerCase()) { case "xsmall": return "HTML5_PLAYER_CANARY_STAGE_XSMALL"; case "small": return "HTML5_PLAYER_CANARY_STAGE_SMALL"; case "medium": return "HTML5_PLAYER_CANARY_STAGE_MEDIUM"; case "large": return "HTML5_PLAYER_CANARY_STAGE_LARGE"; default: return "HTML5_PLAYER_CANARY_STAGE_UNSPECIFIED" } }; + u2a = function (a, b) { b ? t2a.test(a) : (a = g.zr(a), Object.keys(a).includes("cpn")) }; + w2a = function (a, b, c, d, e, f, h) { + var l = { format: "RAW" }, m = {}; if (Cr(a) && Dr()) { + if (h) { var n; ((n = v2a.uaChPolyfill) == null ? void 0 : n.state.type) !== 2 ? h = null : (h = v2a.uaChPolyfill.state.data.values, h = { "Synth-Sec-CH-UA-Arch": h.architecture, "Synth-Sec-CH-UA-Model": h.model, "Synth-Sec-CH-UA-Platform": h.platform, "Synth-Sec-CH-UA-Platform-Version": h.platformVersion, "Synth-Sec-CH-UA-Full-Version": h.uaFullVersion }); m = Object.assign(m, h); l.withCredentials = !0 } (h = g.pr("EOM_VISITOR_DATA")) ? m["X-Goog-EOM-Visitor-Id"] = h : d ? m["X-Goog-Visitor-Id"] = + d : g.pr("VISITOR_DATA") && (m["X-Goog-Visitor-Id"] = g.pr("VISITOR_DATA")); c && (m["X-Goog-PageId"] = c); (d = b.Ba) && !cP(b) && (m["X-Goog-AuthUser"] = d); e && (m.Authorization = "Bearer " + e); b.L("enable_datasync_id_header_in_web_vss_pings") && b.gm && b.datasyncId && (m["X-Yt-DataSync-Id"] = b.datasyncId); h || m["X-Goog-Visitor-Id"] || e || c || d ? l.withCredentials = !0 : b.L("html5_send_cpn_with_options") && t2a.test(a) && (l.withCredentials = !0) + } Object.keys(m).length > 0 && (l.headers = m); f && (l.onFinish = f); return Object.keys(l).length > 1 ? l : null + }; + x2a = function (a, b, c, d, e, f, h, l) { Dr() && c.token && (a = g.Ar(a, { ctt: c.token, cttype: c.jU, mdx_environment: c.mdxEnvironment })); f || l && d.L("nwl_skip_retry") ? (b == null ? b = {} : u2a(a, d.L("html5_assert_cpn_with_regex")), h ? yv().sendAndWrite(a, b) : yv().sendThenWrite(a, b, l)) : b ? (u2a(a, d.L("html5_assert_cpn_with_regex")), g.Ur(a, b)) : g.nv(a, e) }; + z2a = function (a) { for (var b = [], c = 0; c < a; c++) { for (var d = {}, e = Math.floor(Math.random() * 9 * y2a) + y2a, f = "", h = 0; h < 9; h++)f += "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(Math.random() * 52)]; d.videoDecoderName = f; d.elapsedTimeMs = e; b.push(d) } return b }; + g.KZ = function (a, b) { + g.O.call(this); var c = this; this.provider = a; this.logger = new g.MN("qoe"); this.j = {}; this.sequenceNumber = 1; this.K = NaN; this.Ee = "N"; this.Z = this.TB = this.SB = this.Jb = this.G = 0; this.Ra = this.Ka = this.wc = ""; this.Ob = this.Va = NaN; this.Kb = 0; this.yc = -1; this.Tb = 1; this.playTimeSecs = this.rebufferTimeSecs = 0; this.fb = this.isEmbargoed = this.Fa = this.isOffline = this.isBuffering = !1; this.Wc = []; this.qa = null; this.Xa = this.C = this.Ya = this.N = !1; this.B = -1; this.Wa = !1; this.Rc = new g.fp(this.E9, 750, this); this.Y = this.adCpn = + this.ra = this.contentCpn = ""; this.adFormat = void 0; this.Fd = 0; this.Zd = new Set("cl fexp drm drm_system drm_product ns el adformat live cat shbpslc".split(" ")); this.Ed = new Set(["gd"]); this.serializedHouseBrandPlayerServiceLoggingContext = ""; this.ob = !1; this.Ab = NaN; this.Ga = 0; this.yb = !1; this.Ba = 0; this.remoteConnectedDevices = []; this.remoteControlMode = void 0; this.hd = { + iM: function (e) { c.iM(e) }, + Qna: function () { return c.D }, + Hm: function () { return c.contentCpn }, + yna: function () { return c.ra }, + reportStats: function () { c.reportStats() }, + una: function () { return c.j.cat }, + dK: function (e) { return c.j[e] }, + moa: function () { return c.Ba } + }; + var d = g.AC(this.provider.W.experiments, "html5_qoe_proto_mock_length"); d && !IZ.length && (IZ = z2a(d)); g.P(this, this.Rc); try { navigator.getBattery().then(function (e) { c.qa = e }) } catch (e) { } g.JZ(this, 0, "vps", ["N"]); + a.W.Ac() && (this.Ga = (0, g.Zt)(), this.Ab = g.Lr(function () { var e = (0, g.Zt)(), f = e - c.Ga; f > 500 && c.oa("vmlock", { diff: f.toFixed() }); c.Ga = e }, 250)); + a.ea.Bf() && b && (this.Ba = b - Math.round(g.XI(a) * 1E3)); this.provider.videoData.lj && (this.remoteControlMode = A2a[this.provider.videoData.lj] || 0); this.provider.videoData.Qj && (a = fDa(this.provider.videoData.Qj), a == null ? 0 : a.length) && (this.remoteConnectedDevices = a) + }; + g.JZ = function (a, b, c, d) { var e = a.j[c]; e || (e = [], a.j[c] = e); e.push(b.toFixed(3) + ":" + d.join(":")) }; + B2a = function (a, b) { + var c = a.adCpn || a.provider.videoData.clientPlaybackNonce, d = a.provider.getCurrentTime(c); g.JZ(a, b, "cmt", [d.toFixed(3)]); d = a.provider.Wf(c); if (a.D && d * 1E3 > a.D.R_ + 100 && a.D) { + var e = a.D; c = e.isAd; d = d * 1E3 - e.R_; a.Ma = b * 1E3 - e.Jda - d - e.rda; e = (0, g.Zt)() - d; b = a.Ma; d = a.provider.videoData; var f = d.isAd(); if (c || f) { + f = (c ? "ad" : "video") + "_to_" + (f ? "ad" : "video"); var h = {}; d.K && (h.cttAuthInfo = { token: d.K, videoId: d.videoId }); h.startTime = e - b; rA(f, h); g.qA({ targetVideoId: d.videoId, targetCpn: d.clientPlaybackNonce }, + f); pA("pbs", e, f) + } else e = a.provider.ea.Wh(), e.K !== d.clientPlaybackNonce ? (e.G = d.clientPlaybackNonce, e.B = b) : d.Bk() || g.fx(new g.pt("CSI timing logged before gllat", { cpn: d.clientPlaybackNonce })); a.oa("gllat", { l: a.Ma.toFixed(), prev_ad: +c }); delete a.D + } + }; + LZ = function (a, b) { + b = b === void 0 ? NaN : b; b = b >= 0 ? b : g.XI(a.provider); var c = a.provider.ea.rF(), d = c.Vs - (a.Va || 0); d > 0 && g.JZ(a, b, "bwm", [d, (c.Fv - (a.Ob || 0)).toFixed(3)]); isNaN(a.Va) && c.Vs && a.isOffline && a.iM(!1); a.Va = c.Vs; a.Ob = c.Fv; isNaN(c.bandwidthEstimate) || g.JZ(a, b, "bwe", [c.bandwidthEstimate.toFixed(0)]); a.provider.W.Ac() && Object.keys(c.j).length !== 0 && a.oa("bwinfo", c.j); if (a.provider.W.Ac() || a.provider.W.L("html5_log_meminfo")) d = h0a(), Object.values(d).some(function (e) { return e !== void 0 }) && a.oa("meminfo", d); + a.qa && g.JZ(a, b, "bat", [a.qa.level, a.qa.charging ? "1" : "0"]); d = a.provider.ea.getVisibilityState(); a.yc !== d && (g.JZ(a, b, "vis", [d]), a.yc = d); B2a(a, b); (d = C2a(a.provider)) && d !== a.Kb && (g.JZ(a, b, "conn", [d]), a.Kb = d); D2a(a, b, c) + }; + D2a = function (a, b, c) { if (!isNaN(c.Kw)) { var d = c.Kw; c.B < d && (d = c.B); g.JZ(a, b, "bh", [d.toFixed(3)]) } }; + E2a = function (a, b) { + b = { cpn: a.provider.videoData.clientPlaybackNonce, sequenceNumber: b, serializedWatchEndpointLoggingContext: a.provider.videoData.A4 }; a.serializedHouseBrandPlayerServiceLoggingContext && (b.serializedHouseBrandPlayerServiceLoggingContext = Ve(a.serializedHouseBrandPlayerServiceLoggingContext) || void 0); a.provider.videoData.playerResponseCpn && (b.playerResponseCpn = a.provider.videoData.playerResponseCpn); IZ.length && (b.decoderInfo = IZ); a.provider.ea.Bf() && (b.transitionStitchType = 4, a.Ba && (b.timestampOffsetMsecs = + a.Ba)); a.remoteControlMode && (b.remoteControlMode = a.remoteControlMode); a.remoteConnectedDevices.length && (b.remoteConnectedDevices = a.remoteConnectedDevices); a = g.CK(b, ECa); return g.Te(a, 4) + }; + F2a = function (a, b, c) { + g.kP(a.provider.W, g.VQ(a.provider.videoData)).then(function (d) { + var e = !1; if (b.includes("&dt=") || b.includes("&cotn=")) { if (a.provider.W.L("kevlar_woffle") || a.provider.W.L("qoe_nwl_downloads")) e = !0 } else a.provider.W.L("qoe_with_networkless") && (e = !0); var f = a.provider.W.L("qoe_send_and_write"), h = a.provider.W; d = w2a(b, h, a.provider.W.pageId, a.provider.W.sendVisitorIdHeader ? a.provider.videoData.visitorData : void 0, d); h.L("html5_simplify_pings") && (d = d || {}); d ? (d.method = "POST", d.postBody = c, + x2a(b, d, { token: a.provider.videoData.K, jU: a.provider.videoData.xn, mdxEnvironment: a.provider.videoData.mdxEnvironment }, h, void 0, e, f && a.Fa)) : e ? (e = a.provider.W.L("networkless_ajax"), h = { method: "POST", postBody: c }, f && a.Fa ? yv().sendAndWrite(b, h) : e ? g.Ur(b, { method: "POST", postBody: c }) : yv().sendThenWrite(b, h)) : (f = c, f = f === void 0 ? "" : f, $pa(b, f) || g.nv(b, void 0, void 0, void 0, f)) + }) + }; + G2a = function (a) { + for (var b = 0, c = g.w(Object.keys(a.j)), d = c.next(); !d.done; d = c.next())d = d.value, b += d.length + Number(Cl(a.j[d], function (e, f) { return e + f.length }, 0)); + b > 96E3 && (new g.fp(a.reportStats, 0, a)).start() + }; + H2a = function (a) { + a.provider.videoData.Ed && MZ(a, "prefetch"); a.provider.videoData.yc && a.oa("reload", { r: a.provider.videoData.reloadReason, ct: a.provider.videoData.yc }); a.provider.videoData.yb && MZ(a, "monitor"); a.provider.videoData.isLivePlayback && MZ(a, "live"); iO && MZ(a, "streaming"); a.provider.videoData.lj && a.oa("ctrl", { mode: a.provider.videoData.lj }, !0); if (a.provider.videoData.Qj) { var b = a.provider.videoData.Qj.replace(/,/g, "_"); a.oa("ytp", { type: b }, !0) } a.provider.videoData.TW && (b = a.provider.videoData.TW.replace(/,/g, + "."), a.oa("ytrexp", { ids: b }, !0)); var c = a.provider.videoData; b = a.provider.W.L("enable_white_noise") || a.provider.W.L("enable_webgl_noop"); c = g.yQ(c) || g.KQ(c) || g.LQ(c) || g.MQ(c); (b || c) && (b = (0, g.NZ)()) && (a.j.gpu = [b]); WQ(a.provider.videoData) && g.JZ(a, g.XI(a.provider), "dt", ["1"]); a.provider.W.Ac() && (b = (0, g.Zt)() - a.provider.W.Sf, a.oa("playerage", { secs: Math.pow(1.6, Math.round(Math.log(b / 1E3) / Math.log(1.6))).toFixed() })); a.C = !0; a.K = g.Lr(function () { a.reportStats() }, 1E4) + }; + J2a = function (a, b, c) { var d = g.XI(a.provider); I2a(a, d, b, 0, c); LZ(a, d); G2a(a) }; + I2a = function (a, b, c, d, e) { var f = a.provider.W.j.cbrver; a.provider.W.j.cbr === "Chrome" && /^96[.]/.test(f) && c === "net.badstatus" && /rc\.500/.test(e) && K2a(a, 3); a.provider.W.L("html5_use_ump") && /b248180278/.test(e) && K2a(a, 4); f = a.provider.getCurrentTime(a.adCpn || a.provider.videoData.clientPlaybackNonce); d = d === 1 ? "fatal" : ""; c = [c, d, f.toFixed(3)]; d && (e += ";a6s." + KA()); e && c.push(L2a(e)); g.JZ(a, b, "error", c); a.C = !0 }; + M2a = function (a) { a.B >= 0 || (a.provider.W.Qf || a.provider.ea.getVisibilityState() !== 3 ? a.B = g.XI(a.provider) : a.Wa = !0) }; + jVa = function (a, b, c, d) { + if (c !== a.Ee) { + b < a.G || (a.Ee === "PL" ? a.playTimeSecs += b - a.G : a.Ee === "B" && a.isBuffering && (a.isBuffering = !1, a.rebufferTimeSecs += b - a.Jb, !a.fb && a.rebufferTimeSecs >= 10 && a.playTimeSecs <= 180 && (a.provider.ea.xG(), a.j.qoealert = ["1"], a.fb = !0)), c !== "B" || a.Ee !== "PL" && a.Ee !== "PB" || (a.isBuffering = !0), a.G = b); a.Ee === "PL" && (c === "B" || c === "S") || a.provider.W.Ac() ? LZ(a, b) : (a.ob || c !== "PL" || (a.ob = !0, D2a(a, b, a.provider.ea.rF())), B2a(a, b)); c === "PL" && g.gp(a.Rc); var e = [c]; c === "S" && d && e.push("ss." + d); g.JZ(a, + b, "vps", e); a.Ee = c; a.Jb = b; a.G = b; a.C = !0 + } + }; + MZ = function (a, b) { var c = a.j.cat || []; c.push(b); a.j.cat = c }; + fX = function (a, b, c, d, e, f) { var h = g.XI(a.provider); c !== 1 && c !== 3 && c !== 5 || g.JZ(a, h, "vps", [a.Ee]); var l = a.j.xvt || []; l.push("t." + h.toFixed(3) + ";m." + f.toFixed(3) + ";g." + b + ";tt." + c + ";np.0;c." + d + ";d." + e); a.j.xvt = l }; + K2a = function (a, b) { if (!a.Xa) { var c = a.j.fcnz; c || (c = [], a.j.fcnz = c); c.push(String(b)); a.Xa = !0 } }; + L2a = function (a) { /[^a-zA-Z0-9;.!_-]/.test(a) && (a = a.replace(/[+]/g, "-").replace(/[^a-zA-Z0-9;.!_-]/g, "_")); return a }; + N2a = function (a) { this.provider = a; this.N = !1; this.j = 0; this.D = -1; this.kq = NaN; this.C = 0; this.segments = []; this.K = this.G = 0; this.previouslyEnded = !1; this.Y = this.provider.ea.getVolume(); this.Z = this.provider.ea.isMuted() ? 1 : 0; this.B = OZ(this.provider) }; + PZ = function (a) { a.B.startTime = a.C; a.B.endTime = a.j; var b = !1; a.segments.length && g.Ib(a.segments).isEmpty() ? (a.segments[a.segments.length - 1].previouslyEnded && (a.B.previouslyEnded = !0), a.segments[a.segments.length - 1] = a.B, b = !0) : a.segments.length && a.B.isEmpty() || (a.segments.push(a.B), b = !0); b ? a.B.endTime === 0 && (a.previouslyEnded = !1) : a.B.previouslyEnded && (a.previouslyEnded = !0); a.G += a.j - a.C; a.B = OZ(a.provider); a.B.previouslyEnded = a.previouslyEnded; a.previouslyEnded = !1; a.C = a.j }; + P2a = function (a) { + O2a(a); a.K = g.Lr(function () { a.update() }, 100); + a.kq = g.XI(a.provider); a.B = OZ(a.provider) + }; + O2a = function (a) { g.Nr(a.K); a.K = NaN }; + Q2a = function (a, b, c) { c -= a.kq; return b === a.j && c > .5 }; + R2a = function (a, b, c, d) { + this.W = b; this.yc = c; this.segments = []; this.experimentIds = []; this.Ya = this.Tb = this.isFinal = this.delayThresholdMet = this.Ab = this.Ed = this.autoplay = this.autonav = !1; this.Rc = "yt"; this.K = []; this.G = this.Z = null; this.sendVisitorIdHeader = this.Xa = !1; this.N = this.pageId = ""; this.D = c === "watchtime"; this.C = c === "playback"; this.ra = c === "atr"; this.wh = c === "engage"; this.sendVisitorIdHeader = !1; this.uri = this.ra ? "/api/stats/" + c : "//" + b.En + "/api/stats/" + c; d && (this.Tb = d.fs, d.rtn && (this.G = d.rtn), this.D ? (this.playerState = + d.state, d.rti > 0 && (this.Z = d.rti)) : (this.Rf = d.mos, this.Ig = d.volume, d.at && (this.adType = d.at)), d.autonav && (this.autonav = d.autonav), d.inview != null && (this.Zd = d.inview), d.size && (this.Wc = d.size), d.playerwidth && (this.playerWidth = d.playerwidth), d.playerheight && (this.playerHeight = d.playerheight)); this.ze = g.Fc(b.j); this.N = jO(b.experiments, "html5_log_vss_extra_lr_cparams_freq"); if (this.N === "all" || this.N === "once") this.Ob = g.Fc(b.Ob); this.Qf = b.Rc; this.experimentIds = $Ia(b.experiments); this.Wa = b.zj; this.Rc = b.qa; this.region = + b.region; this.userAge = b.userAge; this.ob = b.Bj; this.Ie = Wv(); this.sendVisitorIdHeader = b.sendVisitorIdHeader; this.Ba = b.L("vss_pings_using_networkless") || b.L("kevlar_woffle"); this.Sf = b.L("vss_final_ping_send_and_write"); this.Ga = b.L("vss_use_send_and_write"); this.pageId = b.pageId; this.Tf = b.L("vss_playback_use_send_and_write"); b.livingRoomAppMode && (this.livingRoomAppMode = b.livingRoomAppMode); this.Pf = b.D && b.L("embeds_append_synth_ch_headers"); g.IO(b) && (this.Ka = b.Ga); g.Fs(g.RO(b)) && this.K.push(1); this.accessToken = + g.VQ(a); a.L("html5_add_per_destination_base_query_for_video_stats_urls") ? a.zp[this.yc] ? this.Fa = a.zp[this.yc] : a.zp.playback && (this.Fa = a.zp.playback) : a.Fa && (this.Fa = a.Fa); this.adFormat = a.adFormat; this.adQueryId = a.adQueryId; this.autoplay = UQ(a); this.C && (this.Ed = (a.L("html5_enable_log_server_autoplay") || a.L("enable_cleanup_masthead_autoplay_hack_fix")) && a.Lq && QQ(a) == "adunit" ? !0 : !1); this.autonav = a.isAutonav || this.autonav; this.contentVideoId = SQ(a); this.clientPlaybackNonce = a.clientPlaybackNonce; this.Ab = a.Ff; + a.K && (this.Y = a.K, this.Jb = a.xn); a.mdxEnvironment && (this.mdxEnvironment = a.mdxEnvironment); this.j = a.Vk; this.Kb = a.Kb; a.B && (this.ge = a.B.itag, a.D && a.D.itag !== this.ge && (this.yb = a.D.itag)); a.j && yL(a.j) && (this.offlineDownloadUserChoice = "1"); this.eventLabel = QQ(a); this.Ya = a.Ig ? !1 : a.Ui; this.jf = a.yn; if (b = DQ(a)) this.Uf = b; this.kf = a.Nv; this.Va = a.Va; this.eventId = a.eventId; this.playlistId = a.lZ || a.playlistId; this.VA = a.VA; this.lj = a.lj; this.Qj = a.Qj; this.Zp = a.Zp; this.subscribed = a.subscribed; this.videoId = a.videoId; this.videoMetadata = + a.videoMetadata; this.visitorData = a.visitorData; this.osid = a.osid; this.UC = a.UC; this.referrer = a.referrer; this.Cp = a.IW || a.Cp; this.fb = a.aD; this.wB = a.wB; this.userGenderAge = a.userGenderAge; this.Qv = a.Qv; this.embedsRct = a.embedsRct; this.embedsRctn = a.embedsRctn; g.IO(this.W) && a.mutedAutoplay && this.K.push(2); a.jd(new g.Id(this.playerWidth, this.playerHeight), !!this.playlistId) && this.K.push(3); g.bR(a) && this.K.push(4); this.Ra = a.DW; a.compositeLiveIngestionOffsetToken && (this.compositeLiveIngestionOffsetToken = a.compositeLiveIngestionOffsetToken) + }; + S2a = function (a, b) { var c = a.sendVisitorIdHeader ? a.visitorData : void 0; return g.kP(a.W, a.accessToken).then(function (d) { return w2a(a.uri, a.W, a.pageId, c, d, b, a.Pf) }) }; + V2a = function (a, b) { return function () { a.W.L("html5_simplify_pings") ? (a.j = a.Ma, a.Fd = b(), a.Ie = 0, a.send()) : S2a(a).then(function (c) { var d = T2a(a); d.cmt = d.len; d.lact = "0"; var e = b().toFixed(3); d.rt = Number(e).toString(); d = g.Ti(a.uri, d); a.W.L("vss_through_gel_double") && U2a(d); a.Ba ? (c == null && (c = {}), a.Ga ? yv().sendAndWrite(d, c) : yv().sendThenWrite(d, c)) : c ? g.Ur(d, c) : g.nv(d) }) } }; + T2a = function (a) { + var b = { ns: a.Rc, el: a.eventLabel, cpn: a.clientPlaybackNonce, ver: 2, cmt: a.B(a.j), fmt: a.ge, fs: a.Tb ? "1" : "0", rt: a.B(a.Fd), adformat: a.adFormat, content_v: a.contentVideoId, euri: a.Qf, lact: a.Ie, live: a.Uf, cl: (657810031).toString(), mos: a.Rf, state: a.playerState, volume: a.Ig }; a.subscribed && (b.subscribed = "1"); Object.assign(b, a.ze); a.N === "all" ? Object.assign(b, a.Ob) : a.N === "once" && a.C && Object.assign(b, a.Ob); a.autoplay && (b.autoplay = "1"); a.Ed && (b.sautoplay = "1"); a.Ab && (b.dni = "1"); !a.D && a.Ka && (b.epm = W2a[a.Ka]); + a.isFinal && (b["final"] = "1"); a.Ya && (b.splay = "1"); a.Kb && (b.delay = a.Kb); a.Wa && (b.hl = a.Wa); a.region && (b.cr = a.region); a.userGenderAge && (b.uga = a.userGenderAge); a.userAge !== void 0 && a.ob && (b.uga = a.ob + a.userAge); a.Ma !== void 0 && (b.len = a.B(a.Ma)); !a.D && a.experimentIds.length > 0 && (b.fexp = a.experimentIds.toString()); a.G !== null && (b.rtn = a.B(a.G)); a.Cp && (b.feature = a.Cp); a.lj && (b.ctrl = a.lj); a.Qj && (b.ytr = a.Qj); a.yb && (b.afmt = a.yb); a.offlineDownloadUserChoice && (b.ODUC = a.offlineDownloadUserChoice); a.wc && (b.lio = a.B(a.wc)); + a.D ? (b.idpj = a.jf, b.ldpj = a.kf, a.delayThresholdMet && (b.dtm = "1"), a.Z != null && (b.rti = a.B(a.Z)), a.Qv && (b.ald = a.Qv), a.compositeLiveIngestionOffsetToken && (b.clio = a.compositeLiveIngestionOffsetToken)) : a.adType !== void 0 && (b.at = a.adType); a.Wc && (a.C || a.D) && (b.size = a.Wc); a.C && a.K.length && (b.pbstyle = a.K.join(",")); a.Zd != null && (a.C || a.D) && (b.inview = a.B(a.Zd)); a.D && (b.volume = QZ(a, g.Al(a.segments, function (d) { return d.volume })), b.st = QZ(a, g.Al(a.segments, function (d) { return d.startTime })), b.et = QZ(a, g.Al(a.segments, function (d) { return d.endTime })), + Em(a.segments, function (d) { return d.playbackRate !== 1 }) && (b.rate = QZ(a, g.Al(a.segments, function (d) { return d.playbackRate }))), Em(a.segments, function (d) { return d.j !== "-" }) && (b.als = g.Al(a.segments, function (d) { return d.j }).join(",")), Em(a.segments, function (d) { return d.previouslyEnded }) && (b.pe = g.Al(a.segments, function (d) { return "" + +d.previouslyEnded }).join(","))); + b.muted = QZ(a, g.Al(a.segments, function (d) { return d.muted ? 1 : 0 })); + Em(a.segments, function (d) { return d.visibilityState !== 0 }) && (b.vis = QZ(a, g.Al(a.segments, function (d) { return d.visibilityState }))); + Em(a.segments, function (d) { return d.connectionType !== 0 }) && (b.conn = QZ(a, g.Al(a.segments, function (d) { return d.connectionType }))); + Em(a.segments, function (d) { return d.B !== 0 }) && (b.blo = QZ(a, g.Al(a.segments, function (d) { return d.B }))); + Em(a.segments, function (d) { return !!d.C }) && (b.blo = g.Al(a.segments, function (d) { return d.C }).join(",")); + Em(a.segments, function (d) { return !!d.compositeLiveStatusToken }) && (b.cbs = g.Al(a.segments, function (d) { return d.compositeLiveStatusToken }).join(",")); + Em(a.segments, function (d) { return d.G !== "-" }) && (b.cc = g.Al(a.segments, function (d) { return d.G }).join(",")); + Em(a.segments, function (d) { return d.clipId !== "-" }) && (b.clipid = g.Al(a.segments, function (d) { return d.clipId }).join(",")); + if (Em(a.segments, function (d) { return !!d.D })) { + var c = "au"; + a.C && (c = "au_d"); b[c] = g.Al(a.segments, function (d) { return d.D }).join(",") + } Dr() && a.Y && (b.ctt = a.Y, b.cttype = a.Jb, b.mdx_environment = a.mdxEnvironment); + a.wh && (b.etype = a.qa !== void 0 ? a.qa : 0); a.fb && (b.uoo = a.fb); a.livingRoomAppMode && a.livingRoomAppMode !== "LIVING_ROOM_APP_MODE_UNSPECIFIED" && (b.clram = X2a[a.livingRoomAppMode] || a.livingRoomAppMode); a.Fa ? Y2a(a, b) : (b.docid = a.videoId, b.referrer = a.referrer, b.ei = a.eventId, b.of = a.UC, b.osid = a.osid, b.vm = a.videoMetadata, a.adQueryId && (b.aqi = a.adQueryId), a.autonav && (b.autonav = "1"), a.playlistId && (b.list = a.playlistId), a.Zp && (b.ssrt = "1"), a.wB && (b.upt = a.wB)); a.C && (a.embedsRct && (b.rct = a.embedsRct), a.embedsRctn && (b.rctn = + a.embedsRctn), a.compositeLiveIngestionOffsetToken && (b.clio = a.compositeLiveIngestionOffsetToken)); a.Ra && (b.host_cpn = a.Ra); return b + }; + Y2a = function (a, b) { if (b && a.Fa) { var c = new Set(["q", "feature", "mos"]), d = new Set("autoplay cl len fexp delay el ns adformat".split(" ")), e = new Set(["aqi", "autonav", "list", "ssrt", "upt"]); a.Fa.ns === "3pp" && (b.ns = "3pp"); for (var f = g.w(Object.keys(a.Fa)), h = f.next(); !h.done; h = f.next())h = h.value, d.has(h) || c.has(h) || e.has(h) && !a.Fa[h] || (b[h] = a.Fa[h]) } }; + QZ = function (a, b) { return g.Al(b, a.B).join(",") }; + U2a = function (a) { a.indexOf("watchtime") !== -1 && g.Ht("gelDebuggingEvent", { vss3debuggingEvent: { vss2Ping: a } }) }; + Z2a = function (a, b) { a.attestationResponse && S2a(a).then(function (c) { c = c || {}; c.method = "POST"; c.postParams = { atr: a.attestationResponse }; a.Ba ? a.Ga ? yv().sendAndWrite(b, c) : yv().sendThenWrite(b, c) : g.Ur(b, c) }) }; + RZ = function (a) { g.O.call(this); this.provider = a; this.K = "paused"; this.D = NaN; this.N = [10, 10, 10, 40]; this.Y = this.Z = 0; this.ra = this.Fa = this.Ba = this.qa = this.C = !1; this.B = this.G = NaN; this.j = new N2a(a) }; + c3a = function (a) { + if (!a.C) { + a.provider.videoData.tH === 16623 && g.fx(Error("Playback for EmbedPage")); var b = SZ(a, "playback"); a: { + if (a.provider.W.L("web_player_use_server_vss_schedule")) { + var c, d = (c = a.provider.videoData.getPlayerResponse()) == null ? void 0 : c.playbackTracking, e = d == null ? void 0 : d.videostatsScheduledFlushWalltimeSeconds; d = d == null ? void 0 : d.videostatsDefaultFlushIntervalSeconds; if (e && e.length > 0 && d) { + c = []; var f = a.provider.videoData.yn, h = a.provider.videoData.Nv, l = -f; e = g.w(e); for (var m = e.next(); !m.done; m = + e.next())m = m.value, c.push(m - l), l = m; c.push(d + h - f); c.push(d); a.N = c; break a + } + } a.N = [10 + a.provider.videoData.yn, 10, 10, 40 + a.provider.videoData.Nv - a.provider.videoData.yn, 40] + } P2a(a.j); b.G = TZ(a); a.B > 0 && (b.j -= a.B); b.send(); a.provider.videoData.Bw && (b = a.provider.W, d = a.provider.videoData, c = { html5: "1", video_id: d.videoId, cpn: d.clientPlaybackNonce, ei: d.eventId, ptk: d.Bw, oid: d.hW, ptchn: d.fW, pltype: d.iW, content_v: SQ(d) }, d.pw && Object.assign(c, { m: d.pw }), b = g.Ti(b.Fa + "ptracking", c), $2a(a, b)); a.provider.videoData.Kb || (a3a(a), + b3a(a), a.Ys()); a.C = !0; b = a.j; b.j = b.provider.ea.Wf(); b.kq = g.XI(b.provider); !(b.C === 0 && b.j < 5) && b.j - b.C > 2 && (b.C = b.j); b.N = !0; a.provider.W.L("html5_log_vss_details") && a.provider.ea.oa("vssinit", {}) + } + }; + TZ = function (a, b) { + b = b === void 0 ? NaN : b; var c = g.XI(a.provider); b = isNaN(b) ? c : b; b = Math.ceil(b); var d = a.N[a.Z]; a.Z + 1 < a.N.length && a.Z++; var e = b + d; a.D = g.Kr(function () { if (!a.La()) { a.D = NaN; var f = d3a(a), h = e3a(a, f); h.Z = e; var l = a.Y > 1E3; !(f.length > 1) && f[0].isEmpty() || l || (h.G = TZ(a, e)); h.send(); a.Y++ } }, (e - c) * 1E3); + return a.G = e + }; + UZ = function (a) { g.Mr(a.D); a.D = NaN }; + d3a = function (a) { a.j.update(); a = a.j; a.segments.length && a.j === a.C || PZ(a); var b = a.segments; a.segments = []; return b }; + SZ = function (a, b) { var c = f3a(a.provider); Object.assign(c, { state: a.K }); b = new R2a(a.provider.videoData, a.provider.W, b, c); b.j = a.provider.ea.Wf(); c = a.provider.videoData.clientPlaybackNonce; a.provider.W.L("html5_ssap_vss_fix") && (b.j = a.provider.ea.RJ(c)); a.provider.videoData.isLivePlayback || (b.Ma = a.provider.ea.getDuration(c)); a.provider.videoData.j && (c = a.provider.videoData.j.bf(b.j)) && (b.wc = c - b.j); b.Fd = g.XI(a.provider); b.segments = [OZ(a.provider)]; return b }; + e3a = function (a, b) { var c = SZ(a, "watchtime"); g3a(a) && (c.delayThresholdMet = !0, a.Ba = !0); if (a.B > 0) { for (var d = g.w(b), e = d.next(); !e.done; e = d.next())e = e.value, e.startTime -= a.B, e.endTime -= a.B; c.j -= a.B } else c.j = a.j.WP(); c.segments = b; return c }; + VZ = function (a, b) { var c = h3a(a, !isNaN(a.G)); b && (a.G = NaN); return c }; + h3a = function (a, b) { var c = e3a(a, d3a(a)); !isNaN(a.G) && b && (c.Z = a.G); return c }; + g3a = function (a) { var b; if (b = a.provider.videoData.isLoaded() && a.provider.videoData.Kb && a.C && !a.Ba) b = a.j, b = b.G + b.provider.ea.Wf() - b.C >= a.provider.videoData.Kb; return !!b }; + a3a = function (a) { a.provider.videoData.youtubeRemarketingUrl && !a.Fa && ($2a(a, a.provider.videoData.youtubeRemarketingUrl), a.Fa = !0) }; + b3a = function (a) { a.provider.videoData.googleRemarketingUrl && !a.ra && ($2a(a, a.provider.videoData.googleRemarketingUrl), a.ra = !0) }; + i3a = function (a) { a.provider.W.L("html5_log_vss_details") && a.provider.ea.oa("vssfi", {}); if (!a.La() && a.C) { a.K = "paused"; var b = VZ(a); b.isFinal = !0; b.send(); a.dispose() } }; + j3a = function (a, b) { if (!a.La()) if (g.U(b.state, 2) || g.U(b.state, 512)) { if (a.K = "paused", g.Qy(b, 2) || g.Qy(b, 512)) g.Qy(b, 2) && (a.j.previouslyEnded = !0), a.C && (UZ(a), VZ(a).send(), a.G = NaN) } else if (g.U(b.state, 8)) { a.provider.W.L("html5_shorts_gapless_vss_pbs_fix") && rQ(a.provider.videoData) && !a.C && c3a(a); a.K = "playing"; var c = a.C && isNaN(a.D) ? TZ(a) : NaN; !isNaN(c) && (Py(b, 64) < 0 || Py(b, 512) < 0) && (a = h3a(a, !1), a.G = c, a.send()) } else a.K = "paused" }; + k3a = function (a, b, c) { if (!a.qa) { c || (c = SZ(a, "atr")); c.attestationResponse = b; try { c.send() } catch (d) { if (d.message !== "Unknown Error") throw d; } a.qa = !0 } }; + $2a = function (a, b) { var c = a.provider.W; g.kP(a.provider.W, g.VQ(a.provider.videoData)).then(function (d) { var e = a.provider.W.pageId, f = a.provider.W.sendVisitorIdHeader ? a.provider.videoData.visitorData : void 0, h = a.provider.W.L("vss_pings_using_networkless") || a.provider.W.L("kevlar_woffle"), l = a.provider.W.L("allow_skip_networkless"); d = w2a(b, c, e, f, d); x2a(b, d, { token: a.provider.videoData.K, jU: a.provider.videoData.xn, mdxEnvironment: a.provider.videoData.mdxEnvironment }, c, void 0, h && !l, !1, !0) }) }; + l3a = function () { this.endTime = this.startTime = -1; this.G = "-"; this.playbackRate = 1; this.visibilityState = 0; this.D = ""; this.B = 0; this.compositeLiveStatusToken = this.C = void 0; this.volume = this.connectionType = 0; this.muted = !1; this.j = this.clipId = "-"; this.previouslyEnded = !1 }; + WZ = function (a, b, c) { this.videoData = a; this.W = b; this.ea = c; this.j = void 0 }; + g.XI = function (a) { return m3a(a)() }; + m3a = function (a) { + if (!a.j) { + var b = g.Va(function (d) { var e = (0, g.Zt)(); d && e <= 631152E6 && (a.ea.oa("ytnerror", { issue: 28799967, value: "" + e }), e = (new Date).getTime() + 2); return e }, a.W.L("html5_validate_yt_now")), c = b(); + a.j = function () { return Math.round(b() - c) / 1E3 }; + a.ea.mS() + } return a.j + }; + f3a = function (a) { + var b = a.ea.Nr() || {}; b.fs = a.ea.IF(); b.volume = a.ea.getVolume(); b.muted = a.ea.isMuted() ? 1 : 0; b.mos = b.muted; b.clipid = a.ea.gA(); var c; b.playerheight = ((c = a.ea.getPlayerSize()) == null ? void 0 : c.height) || 0; var d; b.playerwidth = ((d = a.ea.getPlayerSize()) == null ? void 0 : d.width) || 0; a = a.videoData; c = {}; a.B && (c.fmt = a.B.itag, a.D && a.D.itag != a.B.itag && (c.afmt = a.D.itag)); c.ei = a.eventId; c.list = a.playlistId; c.cpn = a.clientPlaybackNonce; a.videoId && (c.v = a.videoId); a.al && (c.infringe = 1); (a.Ig ? 0 : a.Ui) && (c.splay = 1); + (d = DQ(a)) && (c.live = d); a.Lq && (c.sautoplay = 1); a.Pk && (c.autoplay = 1); a.VA && (c.sdetail = a.VA); a.Va && (c.partnerid = a.Va); a.osid && (c.osid = a.osid); a.LD && (c.cc = g.gKa(a.LD)); return Object.assign(b, c) + }; + C2a = function (a) { var b, c; if (b = ((c = navigator.connection) == null ? void 0 : c.type) || "") return n3a[b] || n3a.other; if (g.OC(a.W)) { a = navigator.userAgent; if (/[Ww]ireless[)]/.test(a)) return 3; if (/[Ww]ired[)]/.test(a)) return 30 } return 0 }; + OZ = function (a) { var b = new l3a, c; b.G = ((c = f3a(a).cc) == null ? void 0 : c.toString()) || "-"; b.playbackRate = a.ea.getPlaybackRate(); c = a.ea.getVisibilityState(); c !== 0 && (b.visibilityState = c); a.W.ob && (b.B = 1); b.C = a.videoData.fz; b.compositeLiveStatusToken = a.videoData.compositeLiveStatusToken; c = a.ea.getAudioTrack(); c.dc && c.dc.id && c.dc.id !== "und" && (b.D = c.dc.id); b.connectionType = C2a(a); b.volume = a.ea.getVolume(); b.muted = a.ea.isMuted(); b.clipId = a.ea.gA() || "-"; b.j = a.videoData.zW || "-"; return b }; + g.XZ = function (a, b) { + g.O.call(this); var c = this; this.provider = a; this.D = !1; this.C = new Map; this.Ee = new g.LF; this.hd = { + aoa: function () { return c.qoe }, + loa: function () { return c.j }, + Jna: function () { return c.B } + }; + this.provider.videoData.qe() && !this.provider.videoData.nm && (this.j = new RZ(this.provider), this.provider.W.L("html5_ssap_vss_fix") && (this.j.B = this.provider.videoData.Rf / 1E3), g.P(this, this.j), this.qoe = new g.KZ(this.provider, b), g.P(this, this.qoe), this.provider.videoData.enableServerStitchedDai && (this.Mg = this.provider.videoData.clientPlaybackNonce) && this.C.set(this.Mg, this.j)); if (a.W.playerCanaryState === "canary" || a.W.playerCanaryState === "holdback") this.B = new HZ(this.provider), g.P(this, this.B) + }; + o3a = function (a) { return !!a.j && !!a.qoe }; + gX = function (a) { a.B && q2a(a.B); a.qoe && M2a(a.qoe) }; + p3a = function (a) { + if (a.qoe) { + a = a.qoe; for (var b = a.provider.videoData, c = a.provider.W, d = g.w(c.wh), e = d.next(); !e.done; e = d.next())MZ(a, e.value); if (a.provider.L("html5_enable_qoe_cat_list")) for (d = g.w(b.Bp), e = d.next(); !e.done; e = d.next())MZ(a, e.value); else b.wh && MZ(a, a.provider.videoData.wh); b.Vb() && (d = b.j, iQ(b) && MZ(a, "manifestless"), d && GN(d) && MZ(a, "live-segment-" + GN(d).toFixed(1))); gQ(b) && MZ(a, "sabr"); b.oi() && MZ(a, "lifa"); b.gatewayExperimentGroup && (d = b.gatewayExperimentGroup, d === "EXPERIMENT_GROUP_SPIKY_AD_BREAK_EXPERIMENT" ? + d = "spkadtrt" : d === "EXPERIMENT_GROUP_SPIKY_AD_BREAK_CONTROL" && (d = "spkadctrl"), MZ(a, d)); c.qa !== "yt" && (a.j.len = [b.lengthSeconds.toFixed(2)]); b.cotn && !WQ(b) && a.iM(!0); c.Ac() && (d = jUa()) && a.oa("cblt", { m: d }); if (xQ(b)) { var f; ((f = c.getWebPlayerContextConfig()) == null ? 0 : f.enableProximaLowLatency) && c.L("html5_wpcc_proxima") ? MZ(a, "proximawpcc") : a.provider.ea.getProximaLatencyPreference() ? MZ(a, "proximaui") : MZ(a, "proximaexp") } + } + }; + lVa = function (a) { if (a.provider.ea.Bf()) { if (a.D) return; a.D = !0 } a.j && c3a(a.j); if (a.B) { a = a.B; var b = g.XI(a.provider); a.j < 0 && (a.j = b, a.delay.start()); a.B = b; a.D = b } }; + kVa = function (a, b) { + if (g.Qy(b, 1024) || g.Qy(b, 512) || g.Qy(b, 4)) { if (a.B) { var c = a.B; c.B >= 0 || (c.j = -1, c.delay.stop()) } a.qoe && (c = a.qoe, c.N || (c.B = -1)) } if (a.provider.videoData.enableServerStitchedDai && a.Mg) { var d; (d = a.C.get(a.Mg)) == null || j3a(d, b) } else a.j && j3a(a.j, b); if (a.qoe) { + d = a.qoe; c = b.state; var e = g.XI(d.provider), f = d.getPlayerState(c); jVa(d, e, f, c.seekSource || void 0); f = c.eh; g.U(c, 128) && f && (f.fM = f.fM || "", I2a(d, e, f.errorCode, f.cA, f.fM)); (g.U(c, 2) || g.U(c, 128)) && d.reportStats(e); c.isPlaying() && !d.N && (d.B >= 0 && + (d.j.user_intent = [d.B.toString()]), d.N = !0); G2a(d) + } a.B && (d = a.B, r2a(d), d.playerState = b.state, d.B >= 0 && g.Qy(b, 16) && d.seekCount++, b.state.isError() && d.send()); a.provider.ea.Bf() && (a.Ee = b.state) + }; + q3a = function (a) { if (a.provider.videoData.enableServerStitchedDai && a.Mg) { var b; (b = a.C.get(a.Mg)) != null && PZ(b.j) } else a.j && PZ(a.j.j) }; + r3a = function (a) { a.B && a.B.send(); if (a.qoe) { var b = a.qoe; if (b.C) { b.Ee === "PL" && (b.Ee = "N"); var c = g.XI(b.provider); g.JZ(b, c, "vps", [b.Ee]); b.N || (b.B >= 0 && (b.j.user_intent = [b.B.toString()]), b.N = !0); b.provider.W.Ac() && b.oa("finalized", {}); b.Fa = !0; b.reportStats(c) } } if (a.provider.videoData.enableServerStitchedDai) for (b = g.w(a.C.values()), c = b.next(); !c.done; c = b.next())i3a(c.value); else a.j && i3a(a.j); a.dispose() }; + s3a = function (a, b) { a.j && k3a(a.j, b) }; + t3a = function (a) { if (!a.j) return null; var b = SZ(a.j, "atr"); return function (c) { a.j && k3a(a.j, c, b) } }; + u3a = function (a, b, c, d) { + c.adFormat = c.wc; var e = b.ea; b = new RZ(new WZ(c, b.W, { + getDuration: function () { return c.lengthSeconds }, + getCurrentTime: function () { return e.getCurrentTime() }, + Wf: function () { return e.Wf() }, + RJ: function () { return e.RJ() }, + Bf: function () { return e.Bf() }, + rF: function () { return e.rF() }, + getPlayerSize: function () { return e.getPlayerSize() }, + getAudioTrack: function () { return c.getAudioTrack() }, + getPlaybackRate: function () { return e.getPlaybackRate() }, + vF: function () { return e.vF() }, + getVisibilityState: function () { return e.getVisibilityState() }, + Wh: function () { return e.Wh() }, + Nr: function () { return e.Nr() }, + getVolume: function () { return e.getVolume() }, + isMuted: function () { return e.isMuted() }, + IF: function () { return e.IF() }, + gA: function () { return e.gA() }, + getProximaLatencyPreference: function () { return e.getProximaLatencyPreference() }, + mS: function () { e.mS() }, + xG: function () { e.xG() }, + oa: function (f, h) { e.oa(f, h) } + })); + b.B = d; g.P(a, b); return b + }; + v3a = function () { this.Kw = 0; this.C = this.Fv = this.Vs = this.B = NaN; this.j = {}; this.bandwidthEstimate = NaN }; + YZ = function (a, b, c) { g.O.call(this); var d = this; this.W = a; this.ea = b; this.B = c; this.j = new Map; this.Mg = ""; this.hd = { Xn: function () { return Array.from(d.j.keys()) } } }; + mVa = function (a, b) { a.j.has(b) && (r3a(a.j.get(b)), a.j.delete(b)) }; + w3a = function () { this.j = g.rD; this.array = [] }; + y3a = function (a, b, c) { var d = []; for (b = x3a(a, b); b < a.array.length; ++b) { var e = a.array[b]; (e.end <= c || e.contains(c)) && d.push(e); if (e.start > c) break } return d }; + z3a = function (a, b) { var c = []; a = g.w(a.array); for (var d = a.next(); !d.done && !(d = d.value, d.contains(b) && c.push(d), d.start > b); d = a.next()); return c }; + A3a = function (a) { return a.array.slice(x3a(a, 0x7ffffffffffff), a.array.length) }; + x3a = function (a, b) { + a = Zb(a.array, function (c) { return b - c.start || 1 }); + return a < 0 ? -(a + 1) : a + }; + B3a = function (a, b) { var c = NaN; a = g.w(a.array); for (var d = a.next(); !d.done; d = a.next())if (d = d.value, d.contains(b) && (isNaN(c) || d.end < c) && (c = d.end), d.start > b && (isNaN(c) || d.start < c)) { c = d.start; break } return c }; + C3a = function (a, b) { a.array = a.array.filter(function (c) { return !b.has(c) }) }; + ZZ = function (a, b, c, d, e) { g.O.call(this); this.Y = a; this.Ba = b; this.K = c; this.qa = d; this.D = e; this.C = NaN; this.N = this.Z = this.started = !1; this.B = []; this.ra = new g.fp(this.sync, 250, this); g.P(this, this.ra); this.G = new g.fp(this.sync, 0, this); g.P(this, this.G); this.j = new w3a }; + D3a = function (a) { a.started = !0; a.sync() }; + E3a = function (a, b) { a.started && (a.sync(), g.U(b.xB, 16) && (b = B3a(a.j, Math.max(a.C - 2E3, 0)), !isNaN(b) && b < 0x7ffffffffffff && a.G.start())) }; + F3a = function (a, b) { b = g.w(b); for (var c = b.next(); !c.done; c = b.next()) { c = c.value; var d = c[1]; c[0] === 1 ? a.qa(g.sD(d.namespace), d) : a.qa(g.tD(d.namespace), d) } }; + G3a = function (a) { this.timeStamp = this.mediaTime = NaN; this.B = this.j = !1; this.C = .001; g.OC(a) && (this.C = .01) }; + $Z = function (a, b) { return b > a.mediaTime + a.C && b < a.mediaTime + 5 }; + Uwa = function (a, b, c, d) { if (d = d > 1) a.B = !0; if (a.j) b !== a.mediaTime && (a.j = !1); else if (b > 0 && a.mediaTime === b) return c - a.timeStamp > (d || !a.B ? 1500 : 400); a.mediaTime = b; a.timeStamp = c; return !1 }; + H3a = function (a, b) { this.videoData = a; this.j = b }; + I3a = function (a, b, c) { + return b.YI(c).then(function () { return as(new H3a(b, b.C)) }, function (d) { + d instanceof Error && g.fx(d); + var e = JE('video/mp4; codecs="avc1.42001E, mp4a.40.2"'), f = LE('audio/mp4; codecs="mp4a.40.2"'), h = e || f, l = b.isLivePlayback && !g.nO(a.G, !0); d = "fmt.noneavailable"; l ? d = "html5.unsupportedlive" : h || (d = "html5.missingapi"); h = l || !h ? 2 : 1; e = { buildRej: "1", a: b.sx(), d: !!b.Wc, drm: b.dj(), f18: b.Tf.indexOf("itag=18") >= 0, c18: e }; b.j && (b.dj() ? (e.f142 = !!b.j.j["142"], e.f149 = !!b.j.j["149"], e.f279 = !!b.j.j["279"]) : (e.f133 = !!b.j.j["133"], e.f140 = !!b.j.j["140"], e.f242 = !!b.j.j["242"]), e.cAAC = f, e.cAVC = LE('video/mp4; codecs="avc1.42001E"'), + e.cVP9 = LE('video/webm; codecs="vp9"')); b.G && (e.drmsys = b.G.keySystem, f = 0, b.G.j && (f = Object.keys(b.G.j).length), e.drmst = f); return new FE(d, e, h) + }) + }; + J3a = function (a) { this.G = a; this.C = this.B = 0; this.D = new FT(50) }; + b_ = function (a, b, c) { + g.Fx.call(this); this.videoData = a; this.experiments = b; this.K = c; this.B = []; this.D = 0; this.C = !0; this.G = !1; this.N = 0; c = new K3a; a.latencyClass === "ULTRALOW" && (c.D = !1); a.yb ? c.B = 3 : g.IQ(a) && (c.B = 2); a.latencyClass === "NORMAL" && (c.G = !0); var d = g.AC(b, "html5_liveness_drift_proxima_override"); if (xQ(a) && d) { c.j = d; var e; ((e = a.j) == null ? 0 : $Ha(e)) && c.j-- } gQ(a) && b.kb("html5_sabr_parse_live_metadata_playback_boundaries") && (c.N = !0); if (g.is("trident/") || g.is("edge/")) c.C = Math.max(c.C, g.AC(b, "html5_platform_minimum_readahead_seconds") || + 3); g.AC(b, "html5_minimum_readahead_seconds") && (c.C = g.AC(b, "html5_minimum_readahead_seconds")); g.AC(b, "html5_maximum_readahead_seconds") && (c.K = g.AC(b, "html5_maximum_readahead_seconds")); b.kb("html5_force_adaptive_readahead") && (c.D = !0); if (b = g.AC(b, "html5_liveness_drift_chunk_override")) c.j = b; wQ(a) && (c.j = (c.j + 1) / 5, a.latencyClass === "LOW" && (c.j *= 2)); this.policy = c; this.Z = this.policy.B !== 1; this.j = a_(this, L3a(this, isNaN(a.liveChunkReadahead) ? 3 : a.liveChunkReadahead, a)) + }; + M3a = function (a, b) { if (b) return b = a.videoData, b = L3a(a, isNaN(b.liveChunkReadahead) ? 3 : b.liveChunkReadahead, b), a_(a, b); if (a.B.length) { if (Math.min.apply(null, a.B) > 1) return a_(a, a.j - 1); if (a.policy.D) return a_(a, a.j + 1) } return a.j }; + N3a = function (a, b) { if (!a.B.length) return !1; var c = a.j; a.j = M3a(a, b === void 0 ? !1 : b); if (b = c !== a.j) a.B = [], a.D = 0; return b }; + c_ = function (a, b) { return b >= a.Wn() - O3a(a) }; + P3a = function (a, b, c) { b = c_(a, b); c || b ? b && (a.C = !0) : a.C = !1; a.Z = a.policy.B === 2 || a.policy.B === 3 && a.C }; + Q3a = function (a, b) { b = c_(a, b); a.G !== b && a.publish("livestatusshift", b); a.G = b }; + O3a = function (a) { var b = a.policy.j; a.G || (b = Math.max(b - 1, 0)); return b * d_(a) }; + L3a = function (a, b, c) { c.yb && b--; wQ(c) && (b = 1); if (xQ(c) && (a = g.AC(a.experiments, "html5_live_chunk_readahead_proxima_override"))) { b = a; var d; ((d = c.j) == null ? 0 : $Ha(d)) && b++ } return b }; + d_ = function (a) { return a.videoData.j ? GN(a.videoData.j) || 5 : 5 }; + a_ = function (a, b) { b = Math.max(Math.max(1, Math.ceil(a.policy.C / d_(a))), b); return Math.min(Math.min(8, Math.floor(a.policy.K / d_(a))), b) }; + K3a = function () { this.C = 0; this.K = Infinity; this.D = !0; this.j = 2; this.B = 1; this.N = this.G = !1 }; + g_ = function (a) { + g.O.call(this); this.ea = a; this.W = this.ea.U(); this.j = 0; this.B = null; this.K = this.D = 0; this.G = new g.fp(this.Ue, 1E3, this); this.ob = new e_({ delayMs: g.AC(this.W.experiments, "html5_seek_timeout_delay_ms") }); this.Ga = new e_({ delayMs: g.AC(this.W.experiments, "html5_long_rebuffer_threshold_ms") }); this.yb = f_(this, "html5_seek_set_cmt"); this.Va = f_(this, "html5_seek_jiggle_cmt"); this.Ya = f_(this, "html5_seek_new_elem"); this.Tb = f_(this, "html5_unreported_seek_reseek"); this.Ba = f_(this, "html5_long_rebuffer_jiggle_cmt"); + this.Ma = f_(this, "html5_long_rebuffer_ssap_clip_not_match"); this.Fa = new e_({ delayMs: 2E4 }); this.Wa = f_(this, "html5_seek_new_elem_shorts"); this.fb = f_(this, "html5_seek_new_media_source_shorts_reuse"); this.Xa = f_(this, "html5_seek_new_media_element_shorts_reuse"); this.Ra = f_(this, "html5_reseek_after_time_jump"); this.Z = f_(this, "html5_gapless_handoff_close_end_long_rebuffer"); this.qa = f_(this, "html5_gapless_slow_seek"); this.Y = f_(this, "html5_gapless_slice_append_stuck"); this.ra = f_(this, "html5_gapless_slow_start"); + this.N = f_(this, "html5_ads_preroll_lock_timeout"); this.Ob = f_(this, "html5_ssap_ad_longrebuffer_new_element"); this.Jb = new e_({ delayMs: g.AC(this.W.experiments, "html5_skip_slow_ad_delay_ms") || 5E3, Vz: !this.W.L("html5_report_slow_ads_as_error") }); this.Ab = new e_({ delayMs: g.AC(this.W.experiments, "html5_skip_slow_ad_delay_ms") || 5E3, Vz: !this.W.L("html5_skip_slow_buffering_ad") }); this.Kb = new e_({ delayMs: g.AC(this.W.experiments, "html5_slow_start_timeout_delay_ms") }); this.Ka = f_(this, "html5_slow_start_no_media_source"); + this.C = {}; g.P(this, this.G) + }; + f_ = function (a, b) { var c = g.AC(a.W.experiments, b + "_delay_ms"); a = a.W.L(b + "_cfl"); return new e_({ delayMs: c, Vz: a }) }; + R3a = function (a, b) { a.j = b }; + h_ = function (a, b, c, d, e, f, h, l) { b.test(c) ? (a.Id(e, b, h), b.Vz || f()) : (b.nM && b.B && !b.D ? (c = (0, g.Zt)(), d ? b.j || (b.j = c) : b.j = 0, f = !d && c - b.B > b.nM, c = b.j && c - b.j > b.bT || f ? b.D = !0 : !1) : c = !1, c && (l = Object.assign({}, a.uc(b), l), l.wn = h, l.we = e, l.wsuc = d, a.ea.oa("workaroundReport", l), d && (b.reset(), a.C[e] = !1))) }; + e_ = function (a) { var b = a === void 0 ? {} : a; a = b.delayMs === void 0 ? 0 : b.delayMs; var c = b.bT === void 0 ? 1E3 : b.bT; var d = b.nM === void 0 ? 3E4 : b.nM; b = b.Vz === void 0 ? !1 : b.Vz; this.j = this.B = this.C = this.startTimestamp = 0; this.D = !1; this.G = Math.ceil(a / 1E3); this.bT = c; this.nM = d; this.Vz = b }; + V3a = function (a) { + g.O.call(this); var b = this; this.ea = a; this.W = this.ea.U(); this.videoData = this.ea.getVideoData(); this.policy = new S3a; this.Fa = new g_(this.ea); this.K = this.j = this.ya = this.mediaElement = this.playbackData = null; this.B = NaN; this.D = 0; this.Ka = NaN; this.C = null; this.Ra = NaN; this.G = this.qa = null; this.ra = !1; this.ob = NaN; this.Jb = 0; this.Z = !1; this.Ma = new g.fp(function () { T3a(b, !1) }, 2E3); + this.Ab = new g.fp(function () { i_(b) }); + this.Wa = new g.fp(function () { b.ra = !0; U3a(b, {}) }); + this.timestampOffset = 0; this.N = !0; this.Va = 0; this.yb = NaN; this.Ga = new g.fp(function () { var c = b.W.Pf; c.j += 1E4 / 36E5; c.j - c.C > 1 / 6 && (sJa(c), c.C = c.j); b.Ga.start() }, 1E4); + this.Ya = this.Kb = !1; this.Y = 0; this.fb = !1; this.Ba = 0; g.P(this, this.Fa); g.P(this, this.Ma); g.P(this, this.Wa); g.P(this, this.Ab); g.P(this, this.Ga) + }; + Y3a = function (a, b) { + a.playbackData = b; a.videoData.isLivePlayback && (a.K = new J3a(function () { a: { if (a.playbackData && a.playbackData.j.j) { if (iQ(a.videoData) && a.ya) { var c = a.ya.mJ.fh() || 0; break a } if (a.videoData.j) { c = a.videoData.j.Ma; break a } } c = 0 } return c }), a.j = new b_(a.videoData, a.W.experiments, function () { return a.Vd(!0) })); + j_(a.ea) ? (b = W3a(a), b.eN ? (gQ(a.videoData) && a.L("html5_sabr_enable_utc_seek_requests") && a.dC(b.eN, b.startSeconds), a.D = b.startSeconds) : b.startSeconds > 0 && a.seekTo(b.startSeconds, { Zc: "seektimeline_startPlayback", seekSource: 15 }), a.N = !1) : X3a(a) || (a.D = a.D || (g.jQ(a.videoData) ? 0 : a.videoData.startSeconds) || 0) + }; + $3a = function (a, b) { (a.ya = b) ? Z3a(a, !0) : k_(a) }; + a4a = function (a, b) { + g.gp(a.Fa.G); a.L("html5_exponential_memory_for_sticky") && (b.state.isPlaying() ? g.gp(a.Ga) : a.Ga.stop()); if (a.mediaElement) if (b.xB.state === 8 && SF(b.state) && b.state.isBuffering()) { + b = a.mediaElement.getCurrentTime(); var c = a.mediaElement.Eh(); var d = a.L("manifestless_post_live_ufph") || a.L("manifestless_post_live") ? mF(c, Math.max(b - 3.5, 0)) : mF(c, b - 3.5); d >= 0 && b > c.end(d) - 1.1 && d + 1 < c.length && c.start(d + 1) - c.end(d) < 11 && (d = c.start(d + 1) + .2, Math.abs(a.yb - d) < .2 || (a.ea.oa("seekover", { b: lF(c, "_"), cmt: b }), + a.yb = d, a.seekTo(d, { xx: !0, Zc: "seektimeline_postLiveDisc" }))) + } else ((c = b.state) == null ? 0 : c.state === 8) && !a.Ya && (a.videoData.limitedPlaybackDurationInSeconds > 0 ? (l_(a.ea, a.getCurrentTime() + a.videoData.limitedPlaybackDurationInSeconds), a.Ya = !0) : a.videoData.isLivePlayback && a.videoData.endSeconds > 0 && (l_(a.ea, a.getCurrentTime() + a.videoData.endSeconds), a.Ya = !0)) + }; + c4a = function (a, b) { + var c = a.getCurrentTime(), d = a.isAtLiveHead(c); if (a.K && d) { var e = a.K; if (e.j && !(c >= e.B && c < e.C)) { var f = e.j.Li(c); f !== -1 && (e.B = e.j.getStartTime(f), e.C = e.B + e.j.getDuration(f), f = (0, g.Zt)() / 1E3 - e.j.bf(f), f -= e.G(), e.D.add(f)) } } a.j && (d && (e = a.j, f = b4a(a), e.D++, e.D < 3 || g.Xa() - e.N < 3E3 || (e.N = g.Xa(), e.B.push(f), e.B.length > 50 && e.B.shift())), e = a.j, P3a(e, c, b === void 0 ? !0 : b), Q3a(e, c), b && T3a(a, !0)); d !== a.Kb && (b = a.getCurrentTime() - a.ob <= 500, c = a.Jb >= 1E3, b || c || (b = a.ea.hc(), b.qoe && (b = b.qoe, c = g.XI(b.provider), + g.JZ(b, c, "lh", [d ? "1" : "0"])), a.Kb = d, a.Jb++, a.ob = a.getCurrentTime())) + }; + T3a = function (a, b) { if (a.j) { var c = a.j; var d = a.getCurrentTime(); !c_(c, d) && c.gq() ? (c.policy.G && (c.policy.j = Math.max(c.policy.j + 1, 10)), c = Infinity) : c = d < c.videoData.Xc() ? Math.min(c.videoData.Xc() + 10, c.Wn()) : NaN; if (!isNaN(c)) { if (a.ya && b && (b = a.Ma.isActive(), d = a.j.Wn(), (d = P0a(a.ya, d - a.Dc())) && !b)) { a.Ma.start(); a.ea.oa("inBufferPtl", { cmt: a.getCurrentTime(), seekTo: d + a.Dc() }); a.seekTo(d + a.Dc(), { Zc: "seektimeline_inBufferSeek" }); return } a.seekTo(c, { Zc: "seektimeline_pegToLive" }) } } }; + Z3a = function (a, b) { + if (a.j && a.ya) { + var c = !1; b ? c = !0 : a.videoData.isLowLatencyLiveStream || a.videoData.latencyClass === "LOW" || a.videoData.latencyClass === "ULTRALOW" ? c = N3a(a.j) : a.fb && (a.fb = !1, c = N3a(a.j, !0)); c && (b = a.ea.hc(), c = a.j, c = d_(c) * c.j, b.qoe && (b = b.qoe, g.JZ(b, g.XI(b.provider), "lra", [c]), b.oa("live-readahead-seconds", { v: c }))); b = a.ya; var d = a.j.j; a = a.j; a = (a.j - 1 + a.policy.j) * d_(a); c = NaN; var e = b.Ab; e === 2 || e === -1 ? wQ(b.ea.getVideoData()) && (c = b.policy.ND) : (--d, e = b.ea.getVideoData(), e.Vb() && e.latencyClass !== "ULTRALOW" && + !e.isLowLatencyLiveStream && (c = xQ(e) ? b.policy.SF : b.policy.Tq)); d = Math.max(d, 0); e = b.D; e.hh = d; e.Z = c; b.G && (b.G.qa = a) + } + }; + d4a = function (a, b) { a.D = b }; + U3a = function (a, b) { + e4a(a, b).then(void 0, function () { k_(a) }); + f4a(a).then(function (c) { g4a(a, c) }, function () { k_(a) }); + HUa(a.ea, b); a.W.Ac() && (b = a.uc(), b["native"] = "" + +a.Z, b.tgt = "" + a.B, b.otgt = "" + (a.B + a.timestampOffset), a.j && a.L("html5_high_res_seek_logging") && (b.tht = "" + a.j.K(), b.ht = "" + a.j.Wn(), b.adft = "" + O3a(a.j)), a.L("html5_sabr_parse_live_metadata_playback_boundaries") && a.videoData.j && gQ(a.videoData) && (b.minst = "" + a.videoData.j.Fa, b.cminst = "" + (a.videoData.j.Xc() + a.timestampOffset), b.maxst = "" + a.videoData.j.Z, b.hts = "" + a.videoData.j.Ba, b.cmaxst = "" + (a.videoData.j.Vd() + a.timestampOffset)), a.ea.oa("startSeek", b)) + }; + e4a = function (a, b) { a.qa || (a.ya ? isFinite(a.B) ? a.qa = a.ya.seek(a.B - a.timestampOffset, b) : (fQ(a.videoData), a.qa = VY(a.ya), XQ(a.videoData) || (a.B = a.ya.getCurrentTime() + a.timestampOffset)) : a.qa = He(a.B - a.timestampOffset)); return a.qa }; + f4a = function (a) { var b = a.C; b || (a.C = new FF, b = a.C, i_(a)); return b }; + m_ = function (a, b, c) { return isNaN(b) ? NaN : g.Dd(b, a.Xc(), a.Vd(c)) }; + i_ = function (a) { + if (a.C) if (a.videoData.isLivePlayback && a.videoData.C && !a.videoData.C.j && a.mediaElement && a.mediaElement.jl() > 0 && HF(a.mediaElement) > 0 && (a.B = m_(a, a.B, !1)), !a.mediaElement || !h4a(a)) a.Ab.start(750); else if (!isNaN(a.B) && isFinite(a.B)) { + var b = a.Ra - (a.B - a.timestampOffset); if (!(b === 0 || a.L("html5_enable_new_seek_timeline_logic") && Math.abs(b) < .005)) if (b = a.mediaElement.getCurrentTime() - a.B, Math.abs(b) <= a.Va || a.L("html5_enable_new_seek_timeline_logic") && Math.abs(b) < .005) a.C && a.C.resolve(a.mediaElement.getCurrentTime()); + else { if (a.videoData.RD) a.videoData.RD = !1; else if (!fQ(a.videoData) && a.B >= a.Vd() - .1) { a.B = a.Vd(); a.C.resolve(a.Vd()); zW(a.ea); return } try { var c = a.B - a.timestampOffset; a.mediaElement.seekTo(c); a.Fa.j = c; a.Ra = c; a.D = a.B; a.L("html5_enable_new_seek_timeline_logic") && (a.Z = !1) } catch (d) { } } + } + }; + h4a = function (a) { if (!a.mediaElement || a.mediaElement.jl() === 0 || a.mediaElement.hasError()) return !1; var b = a.mediaElement.getCurrentTime() > 0; if (!(a.videoData.C && a.videoData.C.j || a.videoData.isLivePlayback) && a.videoData.dj()) return b; if (a.B >= 0) { var c = a.mediaElement.uA(); if (c.length || !b) return nF(c, a.B - a.timestampOffset) } return b }; + g4a = function (a, b) { a.G && (a.G.resolve(b), a.ea.publish("SEEK_COMPLETE"), a.W.Ac() && (b = a.uc(), b["native"] = "" + +a.Z, b.otgt = "" + (a.B + a.timestampOffset), a.ea.oa("seekEnd", b))); k_(a) }; + k_ = function (a) { a.B = NaN; a.Ra = NaN; a.C = null; a.qa = null; a.G = null; a.ra = !1; a.Z = !1; a.Va = 0; a.Ma.stop(); a.Wa.stop() }; + j4a = function (a, b, c) { + var d = a.mediaElement, e = b.type; switch (e) { + case "seeking": var f = d.getCurrentTime() + a.timestampOffset; if (!a.C || a.Z && f !== a.B) { + var h = !!a.C; a.C = new FF; a.L("html5_enable_new_seek_timeline_logic") && a.C.then(function (m) { g4a(a, m) }, function () { k_(a) }); + if (a.videoData.isAd() && a.L("enabled_asd_timeline")) { var l; Vsa({ adCpn: a.videoData.clientPlaybackNonce, contentCpn: (l = a.videoData.DW) != null ? l : "" }, b.j); a.L("enable_ask_gating") && a.ea.tL() } a.Ra = f; R3a(a.Fa, d.getCurrentTime()); a.seekTo(f, { seekSource: 104, Zc: "seektimeline_mediaElementEvent" }); c && oVa(c, f * 1E3, !!h); a.Z = !0 + } break; case "seeked": a.C && a.C.resolve(a.mediaElement.getCurrentTime()); break; case "loadedmetadata": j_(a.ea) || i4a(a); i_(a); break; case "progress": i_(a); break; case "pause": a.Y = a.getCurrentTime() + }a.Y && + ((e === "play" || e === "playing" || e === "timeupdate" || e === "progress") && a.getCurrentTime() - a.Y > 10 && a.seekTo(a.Y, { Zc: "pauseJump" }), e !== "pause" && e !== "play" && e !== "playing" && e !== "progress" && (a.Y = 0)) + }; + k4a = function (a) { return (JQ(a.videoData) || !!a.videoData.liveUtcStartSeconds) && (!!a.videoData.liveUtcStartSeconds || X3a(a)) && !!a.videoData.j }; + X3a = function (a) { return !!a.videoData.startSeconds && isFinite(a.videoData.startSeconds) && a.videoData.startSeconds > 1E9 }; + W3a = function (a) { + var b = 0, c = NaN, d = ""; if (!a.N) return { startSeconds: b, eN: c, source: d }; a.videoData.Ka ? b = a.videoData.Ra : fQ(a.videoData) && (b = Infinity); if (g.IQ(a.videoData)) return { startSeconds: b, eN: c, source: d }; a.videoData.startSeconds ? (d = "ss", b = a.videoData.startSeconds) : a.videoData.ge && (d = "stss", b = a.videoData.ge); a.videoData.liveUtcStartSeconds && (c = a.videoData.liveUtcStartSeconds); if (isFinite(b) && (b > a.Vd() || b < a.Xc())) { + var e = {}; e.minSeekableTime = a.Xc(); e.maxSeekableTime = a.Vd(); e.cmt = a.getCurrentTime(); e.ss = + b; e.utc = c; e.src = d; a.ea.oa("startSecondsOutOfBounds", e); a.videoData.Vb() && (b = m_(a, b, !1)) + } return { startSeconds: b, eN: c, source: d } + }; + i4a = function (a) { + if (a.N) if (g.IQ(a.videoData)) a.N = !1; else { + var b = "ss", c = 0; a.videoData.j && a.videoData.j.isManifestless && a.videoData.Ob && !X3a(a) && (b = "mss", c = a.videoData.Ob); (a.videoData.Ka ? a.L("html5_prioritize_windowed_st_start_seconds") : a.L("html5_prioritize_st_start_seconds")) && !c && a.videoData.ge && (b = "stss", c = a.videoData.ge); !c && k4a(a) && (c = a.videoData.liveUtcStartSeconds || a.videoData.Ob, b = "utc", c = a.Vd() - a.bf(a.Vd()) + c); !c && a.videoData.ge && (b = "stss", c = a.videoData.ge); var d = {}; if (c) { + if (c > a.Vd() || c < a.Xc()) d.minSeekableTime = + a.Xc(), d.maxSeekableTime = a.Vd(), d.cmt = a.getCurrentTime(), d.it = a.bf(a.getCurrentTime()), d.ss = c, d.utc = k4a(a) ? a.videoData.liveUtcStartSeconds || a.videoData.Ob : 0, a.ea.oa("startSecondsOutOfBounds", d), a.videoData.Vb() && (c = m_(a, c, !1)); a.seekTo(c, { Zc: "seektimeline_startSeconds" }); d[b] = c; a.ea.oa("startSeconds", d); a.N = !1 + } else a.videoData.Ob && (d[b] = a.videoData.Ob + a.Dc(), a.ea.oa("startSeconds", d)) + } + }; + l4a = function (a, b) { a.ea.oa("sdai", { adj4t: b.toFixed(3) }); a.Ka = b; b += 1; a.B = b; a.D = b; f4a(a).then(function (c) { g4a(a, c) }, function () { k_(a) }) }; + b4a = function (a) { return a.mediaElement ? IF(a.mediaElement) : 0 }; + S3a = function () { }; + n_ = function () { this.j = this.started = !1 }; + r4a = function (a) { + function b(e) { + return c.Zl && (!d.Bn || !d.Da.N) || c.qa !== "yt" && (d.Va === 38 && c.playerStyle === "books" || d.Va === 30 && c.playerStyle === "docs" || d.Va === 33 && c.playerStyle === "google-live") ? m4a(a, d, e) : n4a(a, d).then(function () { o_(a, d) }, function (f) { + o_(a, d, !0); + throw f; + }) + } + var c = a.U(), d = a.getVideoData(); d.La(); d.loading = !0; return o4a(a) ? p4a(a, d).then(function () { o_(a, d) }, function (e) { + e = HE(e); + if (GE(e.severity)) return o_(a, d, !0), Promise.reject(e); e.errorCode === "onesie.response.badproxystatus" && "" + e.details.st === "3" && (q4a = !0); a.handleError(e); return b("onesie") + }) : b("gvi") + }; + o4a = function (a) { + var b = a.U(); if (b.L("html5_disable_onesie") || !b.L("html5_onesie") || !b.L("html5_onesie_inline") && a.getVisibilityState() === 5 || b.qa !== "yt") return !1; var c = b.al; if (!c || !c.j) return a.handleError(new FE("onesie.unavailable.hotconfig", { key: "0" })), !1; if (c.j.G < (0, g.Zt)() && (a.oa("okexp", "1"), (c = a.tA()) && b.L("html5_prefer_trusted_host_on_key_expiration"))) { c.B = !0; var d; (b = (d = c.j.get(0)) == null ? void 0 : KL(d.location)) && !qW(b) && c.j.delete(0) } if (q4a) return a.oa("ost3", "1"), !1; d = {}; return Object.keys(d).length > + 0 ? (d.onesie = "0", a.handleError(new FE("html5.missingapi", d)), !1) : !0 + }; + s4a = function (a) { var b = fS(); gS(b, a); return g.IA(b, HBa()) }; + p4a = function (a, b) { + var c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M, N, Q, Z, fa, pa, Y, S; return g.J(function (W) { + if (W.j == 1) return b.fetchType = "onesie", c = dMa(b, a.getPlayerSize(), a.getVisibilityState()), d = new kZ(a, c), g.G(W, d.fetch(), 2); e = W.B; f = { player_response: e }; b.loading = !1; h = a.Ad.Mu; if (d.cg) { l = g.w(d.cg.entries()); for (m = l.next(); !m.done; m = l.next())n = m.value, p = g.w(n), q = p.next().value, r = p.next().value, t = q, u = r, h.j.set(t, u, 180), t === b.videoId && (y = u.Gr(), b.sI = y); h.Yw = d } A = g.w(d.hY.entries()); for (D = A.next(); !D.done; D = + A.next())F = D.value, H = g.w(F), M = H.next().value, N = H.next().value, Q = M, Z = N, h.B.set(Q, Z, 180); g.$P(b, f, !0); if (b.loading || XP(b)) return W.return(Promise.resolve()); h.j.removeAll(); h.B.removeAll(); b.sI = []; fa = {}; pa = "onesie.response"; Y = 0; b.errorCode ? (pa = "auth", fa.ec = b.errorCode, fa.ed = b.errorDetail, fa.es = b.Qn || "", Y = 2) : (fa.successButUnplayable = "1", fa.disposed = "" + +b.La(), fa.afmts = "" + +/adaptiveFormats/.test(e), fa.cpn = b.clientPlaybackNonce); S = new FE(pa, fa, Y); return W.return(Promise.reject(S)) + }) + }; + n4a = function (a, b) { + var c, d, e, f, h, l, m, n, p, q, r; return g.J(function (t) { + switch (t.j) { + case 1: c = b.isAd(), d = !c, e = c ? 1 : 3, f = 0; case 2: if (!(f < e)) { t.Ha(4); break } if (!(f > 0)) { t.Ha(5); break } return g.G(t, Oe(5E3), 6); case 6: h = new g.pt("Retrying OnePlatform request", { attempt: f }), g.fx(h); case 5: return g.va(t, 7), g.G(t, t4a(a, b), 9); case 9: return t.return(); case 7: l = g.xa(t); m = HE(l); n = m.errorCode; p = a.U(); p.L("html5_use_network_error_code_enums") ? d && n === "manifest.net.badstatus" && m.details.rc === 401 && (d = !1, f === e - 1 && (e += 1)) : d && n === + "manifest.net.badstatus" && m.details.rc === "401" && (d = !1, f === e - 1 && (e += 1)); if (n === "auth" || n === "manifest.net.retryexhausted") return t.return(Promise.reject(m)); a.handleError(m); if (GE(m.severity)) { t.Ha(4); break } case 3: f++; t.Ha(2); break; case 4: return q = c ? "auth" : "manifest.net.retryexhausted", r = c ? 2 : 1, t.return(Promise.reject(new FE(q, { backend: "op" }, r))) + } + }) + }; + t4a = function (a, b) { + function c(pa) { pa.readyState === 2 && a.Md("ps_c") } + var d, e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M, N, Q, Z, fa; return g.J(function (pa) { + switch (pa.j) { + case 1: b.fetchType = "gp"; d = a.U(); e = g.kP(d, g.VQ(b)); if (!e.j) { f = e.getValue(); pa.Ha(2); break } return g.G(pa, e.j, 3); case 3: f = pa.B; case 2: return h = f, l = s4a(h), m = dMa(b, a.getPlayerSize(), a.getVisibilityState()), n = g.yz(u4a), p = g.VQ(b), q = (0, g.Zt)(), r = !1, t = "empty", u = 0, a.Md("psns"), y = { BB: c }, g.G(pa, g.xA(l, m, n, void 0, y), 4); case 4: A = pa.B; a.Md("psnr"); if (b.La()) return pa.return(); A ? "error" in A && A.error ? (r = !0, t = "esf:" + A.error.message, + u = A.error.code) : A.errorMetadata && (r = !0, t = "its", u = A.errorMetadata.status) : r = !0; if (r) return D = 0, F = ((0, g.Zt)() - q).toFixed(), H = {}, H = d.L("html5_use_network_error_code_enums") ? { backend: "op", rc: u, rt: F, reason: t, has_kpt: b.Jb ? "1" : "0", has_mdx_env: b.mdxEnvironment ? "1" : "0", has_omit_key_flag: g.pr("INNERTUBE_OMIT_API_KEY_WHEN_AUTH_HEADER_IS_PRESENT") ? "1" : "0", has_page_id: d.pageId ? "1" : "0", has_token: p ? "1" : "0", has_vvt: b.ra ? "1" : "0", is_mdx: b.isMdxPlayback ? "1" : "0", mdx_ctrl: b.lj || "", token_eq: p === g.VQ(b) ? "1" : "0" } : { + backend: "op", + rc: "" + u, rt: F, reason: t, has_kpt: b.Jb ? "1" : "0", has_mdx_env: b.mdxEnvironment ? "1" : "0", has_omit_key_flag: g.pr("INNERTUBE_OMIT_API_KEY_WHEN_AUTH_HEADER_IS_PRESENT") ? "1" : "0", has_page_id: d.pageId ? "1" : "0", has_token: p ? "1" : "0", has_vvt: b.ra ? "1" : "0", is_mdx: b.isMdxPlayback ? "1" : "0", mdx_ctrl: b.lj || "", token_eq: p === g.VQ(b) ? "1" : "0" + }, M = "manifest.net.connect", u === 429 ? (M = "auth", D = 2) : u > 200 && (M = "manifest.net.badstatus", u === 400 && (D = 2)), pa.return(Promise.reject(new FE(M, H, D))); b.loading = !1; g.$P(b, { raw_player_response: A }, !0); + N = A; g.OO(b.U()) && N && N.trackingParams && RK(N.trackingParams); if (b.errorCode) return Q = { ec: b.errorCode, ed: b.errorDetail, es: b.Qn || "" }, pa.return(Promise.reject(new FE("auth", Q, 2))); if (!b.loading && !XP(b)) return Z = b.isAd() ? "auth" : "manifest.net.retryexhausted", fa = b.isAd() ? 2 : 1, pa.return(Promise.reject(new FE(Z, { successButUnplayable: "1", hasMedia: g.FQ(b) ? "1" : "0" }, fa))); g.ua(pa) + } + }) + }; + m4a = function (a, b, c) { + function d(u) { u = HE(u); if (GE(u.severity)) return Promise.reject(u); a.handleError(u); return !1 } + function e() { return !0 } + var f, h, l, m, n, p, q, r, t; return g.J(function (u) { + switch (u.j) { + case 1: var y = a.U(), A = a.getPlayerSize(), D = a.getVisibilityState(); a.isFullscreen(); var F = window.location.search; if (b.Va === 38 && y.playerStyle === "books") F = b.videoId.indexOf(":"), F = g.Ti("//play.google.com/books/volumes/" + b.videoId.slice(0, F) + "/content/media", { aid: b.videoId.slice(F + 1), sig: b.m4 }); else if (b.Va === 30 && y.playerStyle === "docs") F = g.Ti("https://docs.google.com/get_video_info", { docid: b.videoId, authuser: b.lda, authkey: b.vfa, eurl: y.Rc }); else if (b.Va === + 33 && y.playerStyle === "google-live") F = g.Ti("//google-liveplayer.appspot.com/get_video_info", { key: b.videoId }); else { + y.qa !== "yt" && g.ex(Error("getVideoInfoUrl for invalid namespace: " + y.qa)); var H = { html5: "1", video_id: b.videoId, cpn: b.clientPlaybackNonce, eurl: y.Rc, ps: y.playerStyle, el: QQ(b), hl: y.zj, list: b.playlistId, agcid: b.fX, aqi: b.adQueryId, sts: 19935, lact: Wv() }; Object.assign(H, y.j); y.forcedExperiments && (H.forced_experiments = y.forcedExperiments); b.ra ? (H.vvt = b.ra, b.mdxEnvironment && (H.mdx_environment = b.mdxEnvironment)) : + g.VQ(b) && (H.access_token = g.VQ(b)); b.adFormat && (H.adformat = b.adFormat); b.slotPosition >= 0 && (H.slot_pos = b.slotPosition); b.breakType && (H.break_type = b.breakType); b.cD !== null && (H.ad_id = b.cD); b.gD !== null && (H.ad_sys = b.gD); b.UD !== null && (H.encoded_ad_playback_context = b.UD); b.ID && (H.tpra = "1"); y.captionsLanguagePreference && (H.cc_lang_pref = y.captionsLanguagePreference); y.Jb && y.Jb !== 2 && (H.cc_load_policy = y.Jb); var M = g.kt(g.it(), 65); g.bP(y) && M != null && !M && (H.device_captions_on = "1"); y.mute && (H.mute = y.mute); b.annotationsLoadPolicy && + y.annotationsLoadPolicy !== 2 && (H.iv_load_policy = b.annotationsLoadPolicy); b.qw && (H.endscreen_ad_tracking = b.qw); (M = y.Ka.get(b.videoId)) && M.TM && (H.ic_track = M.TM); b.Ma && (H.itct = b.Ma); UQ(b) && (H.autoplay = "1"); b.mutedAutoplay && (H.mutedautoplay = b.mutedAutoplay); b.isAutonav && (H.autonav = "1"); b.XE && (H.noiba = "1"); b.isMdxPlayback && (H.mdx = "1", H.ytr = b.Qj); b.mdxControlMode && (H.mdx_control_mode = b.mdxControlMode); b.Pw && (H.ytrcc = b.Pw); b.jG && (H.utpsa = "1"); b.isFling && (H.is_fling = "1"); b.isInlinePlaybackNoAd && (H.mute = "1"); + b.vnd && (H.vnd = b.vnd); b.forceAdsUrl && (M = b.forceAdsUrl.split("|").length === 3, H.force_ad_params = M ? b.forceAdsUrl : "||" + b.forceAdsUrl); b.Ed && (H.preload = b.Ed); A.width && (H.width = A.width); A.height && (H.height = A.height); (b.Ig ? 0 : b.Ui) && (H.splay = "1"); b.ypcPreview && (H.ypc_preview = "1"); SQ(b) && (H.content_v = SQ(b)); b.yb && (H.livemonitor = 1); y.Ba && (H.authuser = y.Ba); y.pageId && (H.pageid = y.pageId); y.fb && (H.ei = y.fb); y.D && (H.iframe = "1"); b.contentCheckOk && (H.cco = "1"); b.racyCheckOk && (H.rco = "1"); y.N && b.qI && (H.live_start_walltime = + b.qI); y.N && b.bk && (H.live_manifest_duration = b.bk); y.N && b.playerParams && (H.player_params = b.playerParams); y.N && b.cycToken && (H.cyc = b.cycToken); y.N && b.KD && (H.tkn = b.KD); D !== 0 && (H.vis = D); y.enableSafetyMode && (H.enable_safety_mode = "1"); b.Jb && (H.kpt = b.Jb); b.xp && (H.kids_age_up_mode = b.xp); b.kidsAppInfo && (H.kids_app_info = b.kidsAppInfo); b.JB && (H.upg_content_filter_mode = "1"); y.widgetReferrer && (H.widget_referrer = y.widgetReferrer.substring(0, 128)); b.qa ? (A = b.qa.latitudeE7 != null && b.qa.longitudeE7 != null ? b.qa.latitudeE7 + + "," + b.qa.longitudeE7 : ",", A += "," + (b.qa.clientPermissionState || 0) + "," + (b.qa.locationRadiusMeters || "") + "," + (b.qa.locationOverrideToken || "")) : A = null; A && (H.uloc = A); b.En && (H.internalipoverride = b.En); y.embedConfig && (H.embed_config = y.embedConfig); y.yn && (H.co_rel = "1"); y.ancestorOrigins.length > 0 && (H.ancestor_origins = Array.from(y.ancestorOrigins).join(",")); y.homeGroupInfo !== void 0 && (H.home_group_info = y.homeGroupInfo); y.livingRoomAppMode !== void 0 && (H.living_room_app_mode = y.livingRoomAppMode); y.enablePrivacyFilter && + (H.enable_privacy_filter = "1"); b.isLivingRoomDeeplink && (H.is_living_room_deeplink = "1"); b.hw && b.jw && (H.clip = b.hw, H.clipt = b.jw); b.ow && (H.disable_watch_next = "1"); b.Dn && (H.forced_by_var = "1"); for (var N in H) !v4a.has(N) && H[N] && String(H[N]).length > 512 && (g.fx(Error("GVI param too long: " + N)), H[N] = ""); N = y.Fa; g.PO(y) && (N = lD(N.replace(/\b(?:www|web)([.-])/, "tv$1")) || y.Fa); y = g.Ti(N + "get_video_info", H); F && (y = Yma(y, F)); F = y + } f = F; l = (h = b.isAd()) ? 1 : 3; m = 0; case 2: if (!(m < l)) { u.Ha(4); break } n = f; if (!(m > 0)) { u.Ha(5); break } return g.G(u, + Oe(5E3), 6); case 6: p = { playerretry: m, playerretrysrc: c }, h || (p.recover = "embedded"), n = Br(f, p); case 5: return g.G(u, w4a(b, n).then(e, d), 7); case 7: if (q = u.B) return u.return(); m++; u.Ha(2); break; case 4: r = h ? "auth" : "manifest.net.retryexhausted"; t = h ? 2 : 1; if (!h && Math.random() < 1E-4) try { g.fx(new g.pt("b/152131571", btoa(f))) } catch (Q) { } return u.return(Promise.reject(new FE(r, { backend: "gvi" }, t))) + } + }) + }; + w4a = function (a, b) { + function c(A) { return d(A.xhr) } + function d(A) { if (!a.La()) { A = A ? A.status : -1; var D = 0, F = ((0, g.Zt)() - p).toFixed(); F = e.L("html5_use_network_error_code_enums") ? { backend: "gvi", rc: A, rt: F } : { backend: "gvi", rc: "" + A, rt: F }; var H = "manifest.net.connect"; A === 429 ? (H = "auth", D = 2) : A > 200 && (H = "manifest.net.badstatus", A === 400 && (D = 2)); return Promise.reject(new FE(H, F, D)) } } + var e, f, h, l, m, n, p, q, r, t, u, y; return g.J(function (A) { + if (A.j == 1) { + a.fetchType = "gvi"; e = a.U(); var D = {}; a.jD && (D.ytrext = a.jD); (l = g.Bc(D) ? void 0 : D) ? (f = { format: "RAW", method: "POST", withCredentials: !0, timeout: 3E4, postParams: l }, h = Br(b, { action_display_post: 1 })) : (f = { format: "RAW", method: "GET", withCredentials: !0, timeout: 3E4 }, h = b); m = {}; e.sendVisitorIdHeader && a.visitorData && (m["X-Goog-Visitor-Id"] = a.visitorData); (n = jO(e.experiments, "debug_sherlog_username")) && (m["X-Youtube-Sherlog-Username"] = n); Object.keys(m).length > + 0 && (f.headers = m); p = (0, g.Zt)(); return g.G(A, tN(Xr, h, f).then(void 0, c), 2) + } q = A.B; if (!q || !q.responseText) return A.return(d(q)); a.loading = !1; r = xr(q.responseText); g.$P(a, r, !0); if (a.errorCode) return t = { ec: a.errorCode, ed: a.errorDetail, es: a.Qn || "" }, A.return(Promise.reject(new FE("auth", t, 2))); if (!a.loading && !XP(a)) return u = a.isAd() ? "auth" : "manifest.net.retryexhausted", y = a.isAd() ? 2 : 1, A.return(Promise.reject(new FE(u, { successButUnplayable: "1" }, y))); g.ua(A) + }) + }; + o_ = function (a, b, c) { c = c === void 0 ? !1 : c; var d, e, f, h; g.J(function (l) { if (l.j == 1) { d = a.U(); if (c && (!g.dP(d) || QQ(b) !== "embedded") || b.ow || QQ(b) !== "adunit" && (g.OC(d) || VO(d) || g.hz(d) || g.PO(d) || g.hO(d) === "WEB_CREATOR")) return l.return(); e = g.kP(d, g.VQ(b)); return e.j ? g.G(l, e.j, 3) : (f = e.getValue(), l.Ha(2)) } l.j != 2 && (f = l.B); h = f; return l.return(x4a(a, b, h)) }) }; + x4a = function (a, b, c) { + var d, e, f, h, l; return g.J(function (m) { + if (m.j == 1) { + g.va(m, 2); d = s4a(c); var n = b.U(); g.it(); var p = { context: g.dR(b), videoId: b.videoId, racyCheckOk: b.racyCheckOk, contentCheckOk: b.contentCheckOk, autonavState: "STATE_NONE" }; QQ(b) === "adunit" && (p.isAdPlayback = !0); n.embedConfig && (p.serializedThirdPartyEmbedConfig = n.embedConfig); n.yn && (p.showContentOwnerOnly = !0); b.MX && (p.showShortsOnly = !0); g.kt(0, 141) && (p.autonavState = g.kt(0, 140) ? "STATE_OFF" : "STATE_ON"); if (g.bP(n)) { + var q = g.kt(0, 65); q = q != null ? + !q : !1; var r = !!g.ct("yt-player-sticky-caption"); p.captionsRequested = q && r + } var t; q = (t = n.getWebPlayerContextConfig()) == null ? void 0 : t.encryptedHostFlags; n.L("embeds_web_enable_havs_getwatchnext") && q && (p.playbackContext = { encryptedHostFlags: q }); e = p; f = g.yz(y4a); a.Md("wn_s"); return g.G(m, g.xA(d, e, f), 4) + } if (m.j != 2) return h = m.B, a.Md("wn_r"), !h || "error" in h && h.error || (l = h, g.OO(b.U()) && l.trackingParams && RK(l.trackingParams), g.$P(b, { raw_watch_next_response: h }, !1)), g.wa(m, 0); g.xa(m); g.ua(m) + }) + }; + z4a = function (a) { + a.Md("vir"); a.Md("ps_s"); uA("vir", void 0, "video_to_ad"); var b = r4a(a); b.then(function () { a.Md("virc"); uA("virc", void 0, "video_to_ad"); a.Md("ps_r"); uA("ps_r", void 0, "video_to_ad") }, function () { + a.Md("virc"); + uA("virc", void 0, "video_to_ad") + }); + return b + }; + g.r_ = function (a, b, c, d, e, f, h, l, m, n) { + m = m === void 0 ? new g.WP(a) : m; n = n === void 0 ? !0 : n; g.Fx.call(this); var p = this; this.W = a; this.playerType = b; this.Lb = c; this.MH = d; this.getVisibilityState = f; this.visibility = h; this.Ad = l; this.videoData = m; this.r7 = n; this.logger = new g.MN("VideoPlayer"); this.mE = new G3a(this.W); this.Ae = null; this.LB = new CZ; this.Cr = null; this.Ok = new a2a(this.W, this.MH, this); this.ZY = !0; this.Qa = this.ya = null; this.zq = []; this.Aq = new n_; this.Jf = this.QG = null; this.Es = new n_; this.UL = null; this.iZ = this.xu = !1; this.VL = + NaN; this.V0 = !1; this.playerState = new g.LF; this.YL = []; this.KC = new g.OE; this.yl = new N1a(this); this.mediaElement = null; this.Px = new g.fp(this.Yaa, 15E3, this); this.rT = this.oL = !1; this.Cy = NaN; this.VI = !1; this.uO = 0; this.HF = !1; this.QK = NaN; this.bU = new GT(new Map([["bufferhealth", function () { return b4a(p.Qc) }], + ["bandwidth", function () { return p.JP() }], + ["networkactivity", function () { return p.W.schedule.qa }], + ["livelatency", function () { return p.isAtLiveHead() && p.isPlaying() ? A4a(p) : NaN }], + ["rawlivelatency", function () { return A4a(p) }]])); + this.YF = 0; this.loop = !1; this.playbackRate = 1; this.VZ = 0; this.Qc = new V3a(this); this.bX = !1; this.XL = []; this.fR = this.W0 = 0; this.mT = this.y3 = !1; this.Fv = this.Vs = 0; this.hO = new g.fp(this.s9, 0, this); this.G2 = !1; this.wb = this.bd = null; this.Z$ = [this.KC, this.hO, this.Px, this.bU]; this.If = function () { + var q = p.hc(); q.provider.W.Qf || q.provider.ea.getVisibilityState() === 3 || (q.provider.W.Qf = !0); q3a(q); if (q.B) { var r = q.B; r.G && r.j < 0 && r.provider.ea.getVisibilityState() !== 3 && q2a(r) } q.qoe && (q = q.qoe, q.Wa && q.B < 0 && q.provider.W.Qf && M2a(q), + q.C && LZ(q)); p.ya && p_(p); p.W.Pp && !p.videoData.backgroundable && p.mediaElement && !p.ji() && (p.isBackground() && p.mediaElement.HI() ? (p.oa("bgmobile", { suspend: 1 }), p.Vo(!0, !0)) : p.isBackground() || q_(p) && p.oa("bgmobile", { resume: 1 })) + }; + this.hd = { + tq: function (q) { p.tq(q) }, + xpa: function (q) { p.Ae = q }, + Sna: function () { return p.gB }, + rA: function () { return p.hB }, + qna: function () { return p.vO }, + rna: function () { return p.wO }, + Roa: function () { }, + U: function () { return p.W }, + Ke: function () { return p.mediaElement }, + Uoa: function (q) { p.HL(q) } + }; + this.logger.debug(function () { return "creating, type " + b }); + this.Bh = new ZZ(function () { return p.getCurrentTime() }, function () { return p.getPlaybackRate() }, function () { return p.getPlayerState() }, function (q, r) { + q !== g.sD("endcr") || g.U(p.playerState, 32) || zW(p); + e(q, r, p.playerType) + }, function (q, r) { g.jQ(p.videoData) && p.oa(q, r) }); + g.P(this, this.Bh); g.P(this, this.Qc); B4a(this, m); this.videoData.subscribe("dataupdated", this.Gca, this); this.videoData.subscribe("dataloaded", this.OO, this); this.videoData.subscribe("dataloaderror", this.handleError, this); this.videoData.subscribe("ctmp", this.oa, this); this.videoData.subscribe("ctmpstr", this.Fy, this); this.rJ(); VTa(this.If); this.visibility.subscribe("visibilitystatechange", this.If); this.vO = new g.fp(this.vM, g.AC(this.W.experiments, "html5_player_att_initial_delay_ms") || 4500, this); this.wO = + new g.fp(this.vM, g.AC(this.W.experiments, "html5_player_att_retry_delay_ms") || 4500, this) + }; + BF = function (a) { return a.L("html5_not_reset_media_source") && !a.dj() && !a.videoData.isLivePlayback && g.RQ(a.videoData) && !a.W.supportsGaplessShorts() }; + B4a = function (a, b) { if (a.playerType === 2 || a.W.hq) b.NU = !0; var c = kKa(b.wc, b.FC, a.W.D, a.W.N); c && (b.adFormat = c); a.playerType === 2 && (b.Pk = !0); if (a.isFullscreen() || a.W.D) c = g.ct("yt-player-autonavstate"), b.autonavState = c || (a.W.D ? 2 : a.videoData.autonavState); b.endSeconds && b.endSeconds > b.startSeconds && l_(a, b.endSeconds) }; + D4a = function (a) { if (a.videoData.Y) { var b = a.Ad.Vc(); a.videoData.Ov = a.videoData.Ov || (b == null ? void 0 : b.NP()); a.videoData.Pv = a.videoData.Pv || (b == null ? void 0 : b.QP()) } if (ILa(a.videoData) || !ZQ(a.videoData)) b = a.videoData.errorDetail, a.Lf(a.videoData.errorCode || "auth", 2, unescape(a.videoData.errorReason), b, b, a.videoData.Qn || void 0); a.videoData.Uf = a.getUserAudio51Preference(); a.L("html5_generate_content_po_token") && C4a(a); a.L("html5_enable_d6de4") && a.gI() }; + E4a = function (a) { r3a(a.gB); g.fb(a.gB); for (var b = a.hB, c = g.w(b.j.values()), d = c.next(); !d.done; d = c.next())r3a(d.value); b.j.clear(); g.fb(a.hB) }; + F4a = function (a) { return a.mediaElement && a.mediaElement.cw() ? a.mediaElement.Ib() : null }; + s_ = function (a) { if (a.L("html5_check_video_data_errors_before_playback_start") && a.videoData.errorCode) return !1; a.U().K && a.U().houseBrandUserStatus && a.oa("hbut", { status: a.U().houseBrandUserStatus }); if (a.videoData.qe()) return !0; a.Lf("api.invalidparam", 2, void 0, "invalidVideodata.1"); return !1 }; + g.yW = function (a, b) { (b = b === void 0 ? !1 : b) || g.jQ(a.videoData) || gX(a.hc()); a.xu = b; !s_(a) || a.Aq.Bu() ? g.OC(a.W) && a.videoData.isLivePlayback && a.Aq.Bu() && !a.Aq.j && !a.xu && a.OO() : (a.Aq.start(), b = a.hc(), g.XI(b.provider), b.qoe && H2a(b.qoe), a.OO()) }; + G4a = function (a) { var b = a.videoData; z4a(a).then(void 0, function (c) { a.videoData !== b || b.La() || (c = HE(c), c.errorCode === "auth" && a.videoData.errorDetail ? a.Lf(c.errorCode, 2, unescape(a.videoData.errorReason), EE(c.details), a.videoData.errorDetail, a.videoData.Qn || void 0) : a.handleError(c)) }) }; + yUa = function (a, b) { a.bd = b; a.ya && N0a(a.ya, new g.uZ(b)) }; + J4a = function (a) { + if (!g.U(a.playerState, 128)) if (a.videoData.isLoaded(), a.logger.debug("finished loading playback data"), a.zq = g.Tb(a.videoData.Ga), g.FQ(a.videoData)) { + a.Lb.tick("bpd_s"); t_(a).then(function () { a.Lb.tick("bpd_c"); if (!a.La()) { a.xu && (a.Ec(OF(OF(a.playerState, 512), 1)), q_(a)); var c = a.videoData; c.endSeconds && c.endSeconds > c.startSeconds && l_(a, c.endSeconds); a.Aq.j = !0; u_(a, "dataloaded"); a.Es.Bu() && H4a(a); p2a(a.Ok, a.Jf) } }); + a.L("html5_log_media_perf_info") && a.oa("loudness", { v: a.videoData.Hj.toFixed(3) }, !0); var b = TLa(a.videoData); b && a.oa("playerResponseExperiment", { id: b }, !0); I4a(a) + } else u_(a, "dataloaded") + }; + t_ = function (a) { + v_(a); a.Jf = null; var b = I3a(a.W, a.videoData, a.ji()); a.QG = b; a.QG.then(function (c) { K4a(a, c) }, function (c) { a.La() || (c = HE(c), a.visibility.isBackground() ? (w_(a, "vp_none_avail"), a.QG = null, a.Aq.reset()) : (a.Aq.j = !0, a.Lf(c.errorCode, c.severity, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK", EE(c.details)))) }); + return b + }; + FZ = function (a) { + a.logger.debug("Updating for format change"); t_(a).then(function () { return q_(a) }); + a.playerState.isOrWillBePlaying() && a.playVideo() + }; + K4a = function (a, b) { + if (!a.La() && !b.videoData.La()) { + a.logger.debug("finished building playback data"); a.Jf = b; Y3a(a.Qc, a.Jf); if (a.videoData.isLivePlayback) { var c = HVa(a.Ad.Mu, a.videoData.videoId) || a.ya && !isNaN(a.ya.Ba); c = a.L("html5_onesie_live") && c; j_(a) || a.videoData.Ob > 0 && !iQ(a.videoData) || c || a.seekTo(a.Vd(), { Zc: "videoplayer_playbackData", seekSource: 18 }) } if (a.videoData.C.j) { + if (a.L("html5_sabr_report_missing_url_as_error") && SLa(a.videoData)) { a.handleError(new FE("fmt.missing", { missabrurl: "1" }, 2)); return } a.ya ? + g.fx(Error("Duplicated Loader")) : (c = g.AC(a.W.experiments, "html5_onesie_defer_content_loader_ms")) && qZ(a) && HVa(a.Ad.Mu, a.videoData.r4) ? g.Kr(function () { a.La() || a.ya || L4a(a) }, c) : L4a(a) + } else !a.videoData.C.j && WQ(a.videoData) && a.AL(new vY(a.videoData.videoId || "", 4)); + x_(a); g2a(b).then(function () { var d = {}; a.gp(d); a.W.Ac() && a.L("html5_log_media_perf_info") && a.oa("av1Info", d); p_(a) }) + } + }; + M4a = function (a) { a.logger.debug("start readying playback"); a.mediaElement && a.mediaElement.activate(); g.yW(a); s_(a) && !g.U(a.playerState, 128) && (a.Es.Bu() || (a.Es.start(), a.videoData.Xl ? a.Ec(OF(a.playerState, 4)) : a.Ec(OF(OF(a.playerState, 8), 1))), H4a(a)) }; + H4a = function (a) { + a.La(); a.logger.debug("try finish readying playback"); if (a.Es.j) a.logger.debug("already finished readying"); else if (a.Aq.j) if (g.U(a.playerState, 128)) a.logger.debug("cannot finish readying because of error"); else if (a.zq.length) a.logger.debug(function () { return "cannot finish readying because of pending preroll: " + a.zq }); + else if (a.Bh.started || D3a(a.Bh), a.oo()) a.logger.debug("cannot finish readying because cuemanager has pending prerolls"); else { + a.ya && (a.iZ = CXa(a.ya.timing)); a.Es.j || (a.Es.j = !0); var b = a.L("html5_onesie_live") && a.ya && !isNaN(a.ya.Ba); !a.videoData.isLivePlayback || a.videoData.Ob > 0 && !iQ(a.videoData) || b || j_(a) || (a.logger.debug("seek to head for live"), a.seekTo(Infinity, { Zc: "videoplayer_readying", seekSource: 18 }), a.isBackground() && (a.rT = !0)); p3a(a.hc()); a.logger.debug("finished readying playback"); a.publish("playbackready", + a); sA("pl_c", a.Lb.timerName) || (a.Lb.tick("pl_c"), uA("pl_c", void 0, "video_to_ad")); sA("pbr", a.Lb.timerName) || (a.Lb.tick("pbr"), uA("pbr", void 0, "video_to_ad")) + } else a.logger.debug("playback data not loaded") + }; + zW = function (a, b, c) { b = b === void 0 ? !0 : b; (c === void 0 || c) && a.mediaElement && a.mediaElement.pause(); a.Ec(b ? new g.LF(14) : new g.LF) }; + l_ = function (a, b) { a.Cr && N4a(a); a.Cr = new g.qD(b * 1E3, 0x7ffffffffffff); a.Cr.namespace = "endcr"; a.addCueRange(a.Cr) }; + N4a = function (a) { a.removeCueRange(a.Cr); a.Cr = null }; + O4a = function (a, b, c, d, e) { var f = a.hc(e); e = g.jQ(a.videoData) ? f.getVideoData() : a.videoData; e.B = c; var h = g.JT(a); f.MG(new $1a(e, c, b, h ? h.itag : "", d)); c = a.Ok; c.B = 0; c.j = 0; a.publish("internalvideoformatchange", e, b === "m") }; + g.JT = function (a) { var b = y_(a); return sL(b) || !a.Jf ? null : g.Kb(a.Jf.j.videoInfos, function (c) { return b.D(c) }) }; + y_ = function (a) { + if (a.Jf) { + var b = a.Ok; var c = a.Jf; a = a.hx(); if (b.ea.bj().isInline()) var d = VP; else b.L("html5_exponential_memory_for_sticky") ? d = EO(b.W.Pf, "sticky-lifetime") < .5 ? "auto" : tL[aL()] : d = tL[aL()], d = g.rL("auto", d, !1, "s"); if (sL(d)) { + d = b2a(b, c); var e = d.compose, f; a: if ((f = c.j) && f.videoInfos.length) { for (var h = g.w(f.videoInfos), l = h.next(); !l.done; l = h.next()) { l = l.value; var m = void 0; if ((m = l.B) == null ? 0 : m.smooth) { f = l.video.j; break a } } f = f.videoInfos[0].video.j } else f = 0; lna() && !g.OC(b.W) && XE(c.j.videoInfos[0]) && + (f = Math.min(f, g.RE.large)); h = g.AC(b.W.experiments, "html5_chipset_soft_cap"); h > 0 && (f = Math.min(f, h)); if (l = g.AC(b.W.experiments, "html5_max_vertical_resolution")) { h = 4320; for (m = 0; m < c.j.videoInfos.length; m++) { var n = c.j.videoInfos[m]; n.video.height > l && (h = Math.min(h, n.video.j)) } if (h < 4320) { for (m = l = 0; m < c.j.videoInfos.length; m++)n = c.j.videoInfos[m].video.j, n < h && (l = Math.max(l, n)); l && (f = Math.min(l, f)) } } d = e.call(d, new oL(0, f, !1, "o")); e = d.compose; f = 4320; !b.W.B || g.OO(b.W) || b.W.L("hls_for_vod") || b.W.L("mweb_remove_360p_cap") || + g.AC(b.W.experiments, "html5_byterate_soft_cap_mweb") !== 0 || (f = g.RE.medium); (h = g.AC(b.W.experiments, "html5_default_quality_cap")) && c.j.j && (b.W.L("html5_always_apply_default_quality_cap") || !c.videoData.lj && !c.videoData.me) && (f = Math.min(f, h)); (h = g.AC(b.W.experiments, "html5_ns_yt_progressive_quality_cap")) && !c.j.j && b.W.qa === "yt" && (f = Math.min(f, h)); h = g.AC(b.W.experiments, "html5_random_playback_cap"); l = /[a-h]$/; h && l.test(c.videoData.clientPlaybackNonce) && (f = Math.min(f, h)); if (l = h = g.AC(b.W.experiments, "html5_hfr_quality_cap")) a: { + l = + c.j; if (l.j) for (l = g.w(l.videoInfos), m = l.next(); !m.done; m = l.next())if (m.value.video.fps > 32) { l = !0; break a } l = !1 + } l && (f = Math.min(f, h)); (h = g.AC(b.W.experiments, "html5_live_quality_cap")) && c.videoData.isLivePlayback && (f = Math.min(f, h)); f = n2a(b, c, f); d = e.call(d, g.AC(b.W.experiments, "html5_byterate_soft_cap_mweb") > 0 && b.W.B && !g.OO(b.W) ? new oL(0, f === 4320 ? 0 : f, !1, "d", g.AC(b.W.experiments, "html5_byterate_soft_cap_mweb")) : new oL(0, f === 4320 ? 0 : f, !1, "d")).compose(m2a(b, c.videoData)).compose(o2a(b, c.videoData, c)).compose(l2a(b, + c)).compose(e2a(b, c)); if (sL(a) || b.L("html5_apply_pbr_cap_for_drm")) d = d.compose(f2a(b, c)) + } else b.L("html5_perf_cap_override_sticky") && (d = d.compose(l2a(b, c))), b.L("html5_ustreamer_cap_override_sticky") && (d = d.compose(f2a(b, c))); d = d.compose(e2a(b, c)); b = c.videoData.WB.compose(d).compose(c.videoData.RZ).compose(a) + } else b = VP; return b + }; + H_a = function (a) { var b = a.Ok; a = a.videoData; var c = m2a(b, a); b.L("html5_disable_client_autonav_cap_for_onesie") || c.compose(o2a(b, a)); return c }; + g.P4a = function (a, b, c, d) { + a.videoData.WB = b; if (a.Jf && c) { + c = a.Ok; var e = a.Jf; if (e.j.j) { + var f = aL(), h = e.j.videoInfos[0].video.j; if (!(f > h && h !== 0 && b.j === h)) { + var l; f = d2a(c, (l = e.j) == null ? void 0 : l.videoInfos); l = c.ea.getPlaybackRate(); l > 1 && f && (l = cJa(c.W.G, e.j.videoInfos, l), b.j !== 0 && l < b.j && c.ea.setPlaybackRate(1)); var m, n; b = g.RE[uL(b)]; e = ((m = e.videoData.B) == null ? void 0 : (n = m.video) == null ? void 0 : n.j) || 0; g.bt("yt-player-quality", { quality: b, previousQuality: e }, 31104E3); c.W.schedule.policy.C = aL() >= 480; if (c.L("html5_exponential_memory_for_sticky")) { + m = + c.W.Pf; n = 1; var p = p === void 0 ? !1 : p; uJa(m, "sticky-lifetime"); m.values["sticky-lifetime"] && m.Pr["sticky-lifetime"] || (m.values["sticky-lifetime"] = 0, m.Pr["sticky-lifetime"] = 0); p && EO(m, "sticky-lifetime") > .0625 && (n = m.Pr["sticky-lifetime"] * 2); m.values["sticky-lifetime"] += 1 * Math.pow(2, m.j / n); m.Pr["sticky-lifetime"] = n; m.D.start() + } if (c.L("html5_perf_cap_override_sticky")) { + m = c.W; p = c.C; c = c.L("html5_perserve_av1_perf_cap"); n = c = c === void 0 ? !1 : c; m = m.L("html5_gradual_perf_cap"); m = m === void 0 ? !1 : m; if (n === void 0 ? 0 : n) { + n = + cL(); b = g.w(Object.keys(n)); for (e = b.next(); !e.done; e = b.next())e = e.value, e.indexOf("1") !== 0 && (n[e] = 0); g.bt("yt-player-performance-cap", n, m ? 2592E3 : 604800) + } else g.dt("yt-player-performance-cap"); $Ba(c); if (c) { c = g.w(NN.keys()); for (m = c.next(); !m.done; m = c.next())m = m.value, m.startsWith("1") || NN.delete(m); c = g.w(GZ.values()); for (m = c.next(); !m.done; m = c.next())m = m.value, m.startsWith("1") || GZ.delete(m); c = g.w(p.keys()); for (m = c.next(); !m.done; m = c.next())m = m.value, m.startsWith("1") || p.delete(m) } else NN.clear(), GZ.clear(), + p.clear() + } + } + } + } a.ya && (p = a.ya, d = d || "", dU(p.policy) ? jY(p.B.j, d) : jY(p.j.G, d)); x_(a) + }; + C4a = function (a) { a.videoData.lw = ""; a.videoData.videoId ? a.Ad.GP(a.videoData.videoId).then(function (b) { a.videoData.lw = b; a.publish("contentPoTokenReady", a.videoData, !0) }) : a.oa("pomvid", {}) }; + x_ = function (a) { if (!a.La() && !g.U(a.playerState, 128) && a.videoData.C) { if (a.videoData.C.j) p_(a); else { var b = y_(a), c = a.videoData; a: { var d = a.videoData.Fd; if (b.j) { for (var e = g.w(d), f = e.next(); !f.done; f = e.next()) { f = f.value; var h = f.getInfo(), l = g.RE[h.video.quality]; if ((!b.C || h.video.quality !== "auto") && l <= b.j) { d = f; break a } } d = d[d.length - 1] } else d = d[0] } c.ob = d; O4a(a, b.reason, Q4a(a, a.videoData.ob)) } if (a.L("html5_check_unstarted") ? a.playerState.isOrWillBePlaying() : a.isPlaying()) a.Qc.N = !1, a.playVideo() } }; + p_ = function (a) { if (a.videoData.C && a.videoData.C.j) { var b = y_(a); a.ya && u0a(a.ya, b) } }; + R4a = function (a) { var b; return !!(a.L("html5_native_audio_track_switching") && g.Rt && ((b = a.videoData.B) == null ? 0 : cF(b))) }; + S4a = function (a) { if (!R4a(a)) return !1; var b; a = (b = a.mediaElement) == null ? void 0 : b.audioTracks(); return !!(a && a.length > 1) }; + U4a = function (a) { var b = T4a(a); if (b) return a.videoData.getAvailableAudioTracks().find(function (c) { return c.dc.getName() === b }) }; + T4a = function (a) { var b; if (a = (b = a.mediaElement) == null ? void 0 : b.audioTracks()) for (b = 0; b < a.length; ++b) { var c = a[b]; if (c.enabled) return c.label } }; + V4a = function (a) { + var b, c = a.videoData.getAvailableAudioTracks(), d = a.videoData.pfa; d && (b = c.find(function (f) { return f.getLanguageInfo().id === d })); + if (a.W.experiments.kb("enable_audio_description_setting") && g.kt(g.it(), 198)) { c = g.w(c); for (var e = c.next(); !e.done; e = c.next())if (e = e.value, e.G) { b = e; break } } b || (a = a.getAudioTrack(), b = a.dc.isDefault ? void 0 : a); return b + }; + L4a = function (a) { + for (var b = a.videoData.j, c = g.w(Object.entries({ cpn: a.videoData.clientPlaybackNonce, c: a.W.j.c, cver: a.W.j.cver })), d = c.next(); !d.done; d = c.next()) { var e = g.w(d.value); d = e.next().value; e = e.next().value; for (var f = g.w(Object.values(b.j)), h = f.next(); !h.done; h = f.next())gEa(h.value.resource, d, e); f = void 0; (f = b.Y) == null || gEa(f, d, e) } c = a.W; d = a.videoData; b = new g.uOa(c); e = tOa({ hasSubfragmentedFmp4: d.hasSubfragmentedFmp4, BF: d.BF }); b.N = e; b.Ga = d.maxReadAheadMediaTimeMs / 1E3 || b.Ga; e = c.schedule; e.B.fh() === + e.policy.B ? b.Kb = 10 : b.Kb = d.minReadAheadMediaTimeMs / 1E3 || b.Kb; b.Ui = d.readAheadGrowthRateMs / 1E3 || b.Ui; b.qm = !EF(); g.OC(c) || !EF() ? (e = c.experiments, b.Va = 8388608, b.Fa = 524288, b.fm = 5, b.Wa = 1048576, b.gw = 1.5, b.ub = 4587520, ms() && (b.ub = 786432), b.Z *= 1.1, b.Y *= 1.1, b.Fd = !0, b.Qf = e.kb("persist_disable_player_preload_on_tv") || e.kb("persist_disable_player_preload_on_tv_for_living_room") || !1) : c.B && (b.Z *= 1.3, b.Y *= 1.3); g.KE && g.is("crkey") && (e = c.j.cmodel === "CHROMECAST/ANCHOVY", b.Va = 20971520, b.Fa = 1572864, e && (b.ub = 812500, b.Zk = + 1E3, b.Xw = 5, b.Wa = 2097152)); g.YN && (b.Fd = !0); c.supportsGaplessAudio() || (b.Cn = !1); lO && (b.Zd = !0); b.ge = c.L("html5_peak_shave"); d.fetchType === "onesie" && c.L("html5_disable_peak_shave_for_onesie") && (b.ge = !1); var l; e = (l = d.j) == null ? void 0 : BL(l); if (iQ(d)) { b.kf = !0; b.Mj = !0; b.Tb = !0; b.fl = !0; b.ow = !0; if (d.latencyClass === "ULTRALOW" || d.latencyClass === "LOW" && !c.L("html5_disable_low_pipeline")) b.Cp = 2, b.hq = 4; b.vk = d.defraggedFromSubfragments; if (d.Ef || c.L("html5_publish_all_cuepoints")) b.Rv = !0; g.IQ(d) && (b.Jb = !1); b.nm = g.MC(c) } d.isAd() && + (b.Jq = 0, b.Hj = 0); b.qo = c.L("html5_enable_subsegment_readahead_v3") || c.L("html5_ultra_low_latency_subsegment_readahead") && d.latencyClass === "ULTRALOW"; b.C = /^rq/.test(d.clientPlaybackNonce) || c.Ac(); ws() && /(K\d{3}|KS\d{3}|KU\d{3})/.test(c.j.cmodel) && !c.L("html5_disable_move_pssh_to_moov") && e && (b.Fd = !1); f = 0; c.L("html5_live_use_alternate_bandwidth_window_sizes") && (f = c.schedule.policy.j, d.isLivePlayback && (f = g.AC(c.experiments, d.latencyClass === "ULTRALOW" ? "html5_live_ultra_low_latency_bandwidth_window" : d.isLowLatencyLiveStream ? + "html5_live_low_latency_bandwidth_window" : "html5_live_normal_latency_bandwidth_window") || f)); l = c.schedule; l.Ra.C = iQ(d) ? .5 : 0; if (!l.policy.D && f && (l = l.B, f = Math.round(f * l.resolution), f !== l.j)) { h = Array(f); var m = Math.min(f, l.C ? l.j : l.B), n = l.B - m; n < 0 && (n += l.j); for (var p = 0; p < m; ++p)h[p] = l.values[(n + p) % l.j]; for (; p < f; ++p)h[p] = Infinity; l.j = f; l.values = h; l.B = m % f; l.C = m === f; l.xl = !0; l.G = lJa(l) } d.isLivePlayback && (b.Vk = g.AC(c.experiments, "html5_min_startup_buffered_media_duration_for_live_secs") || .25, b.ob = !1); wQ(d) && + (b.qo = !0, d.latencyClass === "LOW" ? b.Rc = g.AC(c.experiments, "html5_jumbo_mobile_subsegment_readahead_target") : d.latencyClass === "ULTRALOW" && (b.Rc = g.AC(c.experiments, "html5_jumbo_ull_subsegment_readahead_target")), b.Fq = !0); d.Vb() && (b.hm = 1.3); b.Zd = b.Zd || d.XC; b.j = g.jQ(d); b.Xa = d.Y || b.j && !c.L("html5_enable_ssap_seteos"); c.Ac() && (b.Ra = !0); d.Y && !e && (b.hw = !0); d.Y && d.isAd() && (b.Z *= 1.6, b.Y *= 1.6); WQ(d) && (b.D = d.videoId, b.Yl = !0, b.xw = g.AC(c.experiments, "html5_offline_download_timeout_retry_limit"), d.Mv && d.Mv.length > + 0 && (b.Pf = d.Mv)); b.Tf = d.Yj; b.wj = PN(c, {}, d.C || void 0, tQ(d)); b.fb = sQ(d) && g.hz(c); gQ(d) && (c.L("html5_sabr_report_partial_segment_estimated_duration") && (b.Tv = !0), c.L("html5_sabr_report_full_segment_for_partial_eviction") && (b.lw = !0), b.B = !0, b.En = c.L("html5_sabr_enable_utc_seek_requests"), b.tm = c.L("html5_disable_client_resume_policy_for_sabr"), b.uw = c.L("html5_trigger_loader_when_idle_network"), b.Lv = c.L("html5_sabr_parse_live_metadata_playback_boundaries"), b.fz = c.L("html5_enable_platform_backpressure_with_sabr"), + b.Uf = c.L("html5_consume_onesie_next_request_policy_for_sabr"), b.Uv = c.L("html5_sabr_report_next_ad_break_time"), b.G = d.enableServerStitchedDai && c.L("html5_enable_sabr_ssdai"), b.xp = c.L("html5_sabr_exclude_quality_ordinal_check"), b.Bp = c.L("html5_log_high_res_buffer_timeline"), b.Aw = c.L("html5_gapless_sabr_btl_last_slice") && rQ(d), iQ(d) && (b.yn = c.L("html5_disable_variability_tracker_for_live"), b.Ya = c.L("html5_sabr_use_accurate_slice_info_params")), b.Pv = c.L("html5_serve_start_seconds_seek_for_post_live_sabr"), + b.qa = c.L("html5_enable_sabr_request_pipelining") && !g.jQ(d), b.Nj = c.L("html5_ignore_partial_segment_from_live_readahead"), b.Bw = c.L("html5_use_non_active_broadcast_for_post_live"), b.yb = c.L("html5_use_centralized_player_time"), b.Ig = c.L("html5_consume_onesie_sabr_seek"), b.ra = c.L("html5_enable_sabr_seek_loader_refactor"), b.bl = c.L("html5_reset_onesie_request_on_start_time_mismatch"), b.zw = c.L("html5_update_segment_start_time_from_media_header"), b.G && (b.nw = c.L("html5_reset_server_stitch_state_for_non_sabr_seek"), + b.Sv = c.L("html5_remove_ssdai_append_pause"), b.Ab = c.L("html5_consume_ssdai_info_with_streaming"))); b.K = b.B && c.L("html5_sabr_live"); GL(c.G, HL.BITRATE) && (b.ub = NaN); if (l = g.AC(c.experiments, "html5_request_size_max_kb")) b.Wa = l * 1024; c.G.D ? b.Ob = "; " + HL.EXPERIMENTAL.name + "=allowed" : c.L("html5_enable_cobalt_tunnel_mode") && (b.Ob = "; tunnelmode=true"); l = d.serverPlaybackStartConfig; (l == null ? 0 : l.enable) && (l == null ? 0 : l.playbackStartPolicy) && (b.zj = !0, xOa(b, l.playbackStartPolicy, 2)); l = V4a(a); a.LB.removeAll(); a: { + c = a.Ad.Mu; + if (d = a.videoData.videoId) if (e = c.j.get(d)) { c.j.remove(d); c = e; break a } c = void 0 + } a.ya = new g.pZ(a, a.W.schedule, b, a.videoData.j, a.videoData.C, y_(a), l, a.videoData.enableServerStitchedDai, c, a.videoData.Ya); b = a.xu && g.OC(a.W) && a.videoData.isLivePlayback; a.ya.initialize(a.getCurrentTime(), y_(a), b); a.videoData.probeUrl && (a.ya.Va = a.videoData.probeUrl); if (a.zq.length || a.xu) a.videoData.cotn || z_(a, !1); $3a(a.Qc, a.ya); a.bd && N0a(a.ya, new g.uZ(a.bd)); a.wb && (a.ya.FH(a.wb), a.Qc.N = !1); g.YQ(a.videoData) && (a = a.ya, a.policy.Ej = + a.policy.TF) + }; + v_ = function (a) { a.ya && (a.ya.dispose(), a.ya = null, $3a(a.Qc, null)); BF(a) ? W4a(a) : BW(a) }; + W4a = function (a) { if (a.Qa) if (a.logger.debug("release media source"), a.Zz(), a.Qa.K) try { a.W.Ac() && a.oa("rms", { l: "vprms", sr: BF(a), rs: DF(a.Qa) }); a.Qa.clear(); var b; (b = a.mediaElement) != null && (b.B = a.Qa); a.Qa = null } catch (c) { b = new g.pt("Error while clearing Media Source in VideoPlayer: " + c.name + ", " + c.message), b = HE(b), a.handleError(b), BW(a) } else BW(a) }; + BW = function (a) { a.Qa && (a.logger.debug("remove media source"), Nwa(a.Qa), a.Zz(), a.Qa.dispose(), a.Qa = null) }; + X4a = function (a) { if (a.Qa) return a.Qa.C; a.logger.debug("update media source"); a: { try { g.ks() && a.videoData.TQ() && Pwa(a.mediaElement); var b = a.mediaElement.Lr(a.hA(), a.OP()) } catch (d) { if (T1a(a.yl, "html5.missingapi", { updateMs: "1" })) break a; console.error("window.URL object overwritten by external code", d); a.Lf("html5.missingapi", 2, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK", "updateMs.1"); break a } ITa(a, b) } var c; return ((c = a.Lr()) == null ? void 0 : c.C) || null }; + ITa = function (a, b, c, d) { + function e(f) { try { Y4a(a, f, c, d) } catch (h) { g.fx(h), a.handleError(new FE("fmt.unplayable", { msi: "1", ename: h && typeof h === "object" && "name" in h ? String(h.name) : void 0 }, 1)) } } + c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; Z4a(a); a.Qa = b; BF(a) && DF(a.Qa) === "open" ? e(a.Qa) : Iwa(a.Qa, e) + }; + Z4a = function (a) { if (a.ya) { var b = a.getCurrentTime() - a.Dc(); a.ya.seek(b, {}).Wk(function () { }) } else L4a(a) }; + Y4a = function (a, b, c, d) { + c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; if (a.Qa && (!b || a.Qa === b)) { + a.logger.debug("media source opened"); var e = a.getDuration(); !e && iQ(a.videoData) && (e = 25200); if (a.Qa.isView) { + var f = e; a.logger.debug(function () { return "Set media source duration to " + f + ", video duration " + e }); + f > a.Qa.getDuration() && a.Qa.Xo(f) + } else a.Qa.Xo(e); r0a(a.ya, a.Qa, c, d); a.publish("mediasourceattached") + } + }; + w0a = function (a, b) { O4a(a, b.reason, b.j.info, b.token, b.videoId) }; + EZ = function (a, b, c) { + b = b === void 0 ? !1 : b; c = c === void 0 ? !1 : c; var d, e, f; return g.J(function (h) { + if (h.j == 1) { a.ya && a.ya.qx(); a.ya && a.ya.La() && v_(a); if (a.L("html5_enable_vp9_fairplay") && a.dj() && (d = a.videoData.j) != null) for (var l in d.j) d.j.hasOwnProperty(l) && (d.j[l].j = null, d.j[l].C = !1); a.Ec(OF(a.playerState, 2048)); a.publish("newelementrequired"); return b ? g.G(h, t_(a), 2) : h.Ha(2) } a.videoData.Vb() && ((e = a.ya) == null ? 0 : e.Ba) && !j_(a) && ((f = a.isAtLiveHead()) && fQ(a.videoData) ? a.seekTo(Infinity, { Zc: "videoPlayer_getNewElement" }) : + a.videoData.Wd && a.ya && (l = a.ya, l.manifest.Vb && (l.manifest.Wd || l.manifest.C || l.manifest.isPremiere ? (l.seek(0, { Zc: "loader_resetSqless" }), l.videoTrack.N = !0, l.audioTrack.N = !0, l.videoTrack.G = !0, l.audioTrack.G = !0) : JN(l.manifest) && VY(l)))); c && a.seekTo(0, { seekSource: 105 }); g.U(a.playerState, 8) && a.playVideo(); g.ua(h) + }) + }; + A_ = function (a, b) { a.oa("hgte", { ne: +b }); a.videoData.Y = !1; b && EZ(a); a.ya && o0a(a.ya) }; + QTa = function (a, b) { a.oa("newelem", { r: b }); EZ(a) }; + $4a = function (a, b) { a.Lb.D.MR(); g.U(a.playerState, 32) || (a.Ec(OF(a.playerState, 32, b == null ? void 0 : b.seekSource)), g.U(a.playerState, 8) && a.pauseVideo(!0), a.publish("beginseeking", a)); a.Tc() }; + HUa = function (a, b) { b = b == null ? void 0 : b.seekSource; g.U(a.playerState, 32) ? (a.Ec(QF(a.playerState, 16, 32, b)), a.publish("endseeking", a)) : g.U(a.playerState, 2) || a.Ec(OF(a.playerState, 16, b)); a.Lb.D.RR(a.videoData, a.playerState.isPaused()) }; + a5a = function (a, b) { a.W.experiments.kb("enable_adb_handling_in_sabr") && (a.pauseVideo(!0), a.tL(), b && a.Lf("sabr.config", 1, "BROWSER_OR_EXTENSION_ERROR")) }; + JNa = function (a) { var b = 0, c = ""; if (a.bd) { if (a.bd.On) return "D,"; b = a.bd.MP(); c = a.bd.Cl().substring(0, 4) } else a.wb && (b = a.wb.MP(), c = a.wb.Cl().substring(0, 4)); return b > 0 ? (a = "AD" + b + ", ", c && (a += c + ", "), a) : "" }; + u_ = function (a, b) { a.publish("internalvideodatachange", b === void 0 ? "dataupdated" : b, a, a.videoData) }; + b5a = function (a) { for (var b = g.w("loadstart loadedmetadata play playing progress pause ended suspend seeking seeked timeupdate durationchange ratechange error waiting resize".split(" ")), c = b.next(); !c.done; c = b.next())a.KC.T(a.mediaElement, c.value, a.HL, a); a.W.qm && a.mediaElement.cw() && (a.KC.T(a.mediaElement, "webkitplaybacktargetavailabilitychanged", a.eaa, a), a.KC.T(a.mediaElement, "webkitcurrentplaybacktargetiswirelesschanged", a.faa, a)) }; + FTa = function (a) { g.Nr(a.VL); c5a(a) || (a.VL = g.Lr(function () { return c5a(a) }, 100)) }; + c5a = function (a) { var b = a.mediaElement; b && a.oL && !a.videoData.Ba && !sA("vfp", a.Lb.timerName) && b.jl() >= 2 && !b.isEnded() && pF(b.Eh()) > 0 && a.Lb.tick("vfp"); return (b = a.mediaElement) && !a.videoData.Ba && b.getDuration() > 0 && (b.isPaused() && b.jl() >= 2 && pF(b.Eh()) > 0 && (sA("pbp", a.Lb.timerName) || a.Lb.tick("pbp"), !a.videoData.Xl || a.V0 || b.isSeeking() || (a.V0 = !0, a.publish("onPlaybackPauseAtStart"))), b = b.getCurrentTime(), $Z(a.mE, b)) ? (GTa(a), !0) : !1 }; + GTa = function (a) { g.Nr(a.VL); a.Px.stop(); a.videoData.Ba = !0; a.W.wp = !0; a.W.Kb = 0; var b = a.yl; if (b.videoData.B) { var c = b.Da.G, d = b.videoData.B.rb; c.C.has(d) && (c.C.delete(d), c.B = !0) } b.j.stop(); d5a(a); g.U(a.playerState, 8) && a.Ec(PF(a.playerState, 65)); a.xu = !1; lVa(a.hc()); g.gp(a.vO); a.publish("playbackstarted"); (a = g.La("yt.scheduler.instance.clearPriorityThreshold")) ? a() : At(0, 0) }; + d5a = function (a) { + var b = a.Ad.Od(), c = {}, d = {}; !sA("pbs", a.Lb.timerName) && eA.measure && eA.getEntriesByName && (eA.getEntriesByName("mark_nr")[0] ? Qta("mark_nr") : Qta()); b.videoId && (c.videoId = b.videoId); b.clientPlaybackNonce && !a.L("web_player_early_cpn") && (c.clientPlaybackNonce = b.clientPlaybackNonce); a.mediaElement && a.mediaElement.isPaused() && (d.isPausedOnLoad = !0); d.itag = b.B ? Number(b.B.itag) : -1; b.Ed && (d.preloadType = String(a.iZ ? 2 : 1)); c.liveStreamMode = e5a[DQ(b)]; c.playerInfo = d; a.Lb.infoGel(c); if (a.ya) { + b = a.ya.timing; + window && window.performance && window.performance.getEntriesByName && (b.C && (c = window.performance.getEntriesByName(b.C), c.length && (c = c[0], b.tick("vri", c.fetchStart), b.tick("vdns", c.domainLookupEnd), b.tick("vreq", c.requestStart), b.tick("vrc", c.responseEnd))), b.B && (c = window.performance.getEntriesByName(b.B), c.length && (c = c[0], b.tick("ari", c.fetchStart), b.tick("adns", c.domainLookupEnd), b.tick("areq", c.requestStart), b.tick("arc", c.responseEnd)))); b = b.ticks; for (var e in b) b.hasOwnProperty(e) && a.Lb.tick(e, b[e]) + } + }; + f5a = function (a) { + a.hc().Cg(); if (fQ(a.videoData) && Date.now() > a.VZ + 6283) { if (!(!a.isAtLiveHead() || a.videoData.j && DN(a.videoData.j))) { var b = a.hc(); if (b.qoe) { b = b.qoe; var c = b.provider.ea.rF(), d = g.XI(b.provider); D2a(b, d, c); c = c.C; isNaN(c) || g.JZ(b, d, "e2el", [c.toFixed(3)]) } } a.L("html5_alc_live_log_rawlat") ? (b = a.videoData, b = g.MC(b.U()) ? !0 : g.hO(b.U()) === "TVHTML5" ? b.fl === "6" : !1) : b = g.MC(a.W); b && a.oa("rawlat", { l: IT(a.bU, "rawlivelatency").toFixed(3) }); a.VZ = Date.now() } a.videoData.B && cF(a.videoData.B) && (b = F4a(a)) && + b.videoHeight !== a.fR && (a.fR = b.videoHeight, O4a(a, "a", Q4a(a, a.videoData.ob))) + }; + Q4a = function (a, b) { if (b.j.video.quality === "auto" && cF(b.getInfo()) && a.videoData.Fd) for (var c = g.w(a.videoData.Fd), d = c.next(); !d.done; d = c.next())if (d = d.value, d.getHeight() === a.fR && d.j.video.quality !== "auto") return d.getInfo(); return b.getInfo() }; + A4a = function (a) { if (!fQ(a.videoData)) return NaN; var b = 0; a.ya && a.videoData.j && (b = iQ(a.videoData) ? a.ya.mJ.fh() || 0 : a.videoData.j.Ma); return (0, g.Zt)() / 1E3 - a.bf() - b }; + h5a = function (a) { a.mediaElement && a.mediaElement.ji() && (a.QK = (0, g.Zt)()); a.W.Fq ? g.Kr(function () { g5a(a) }, 0) : g5a(a) }; + g5a = function (a) { + var b; if ((b = a.Qa) == null || !b.Pm()) { + if (a.mediaElement) try { a.UL = a.mediaElement.playVideo() } catch (d) { w_(a, "err." + d) } if (a.UL) { + var c = a.UL; c.then(void 0, function (d) { + a.logger.debug(function () { return "playMediaElement failed: " + d }); + if (!g.U(a.playerState, 4) && !g.U(a.playerState, 256) && a.UL === c) if (d && d.name === "AbortError" && d.message && d.message.includes("load")) a.logger.debug(function () { return "ignore play media element failure: " + d.message }); + else { var e = "promise"; d && d.name && (e += ";m." + d.name); w_(a, e); a.bX = !0; a.videoData.Ig = !0 } + }) + } + } + }; + w_ = function (a, b) { g.U(a.playerState, 128) || (a.Ec(QF(a.playerState, 1028, 9)), a.oa("dompaused", { r: b }), a.publish("onAutoplayBlocked")) }; + q_ = function (a) { + if (!a.mediaElement || !a.videoData.C) return !1; var b, c = null; if ((b = a.videoData.C) == null ? 0 : b.j) { c = X4a(a); var d; (d = a.ya) == null || d.resume() } else v_(a), a.videoData.ob && (c = a.videoData.ob.wD()); b = c; d = a.mediaElement.HI(); c = !1; d && b !== null && b.resource === d.resource || (i5a(a, b), c = !0); g.U(a.playerState, 2) || (b = a.Qc, b.G || !(b.D > 0) || b.mediaElement && b.mediaElement.getCurrentTime() > 0 || (d = { Zc: "seektimeline_resumeTime" }, b.videoData.Ba || (d.seekSource = 15), b.seekTo(b.D, d))); a: { + b = c; if (gQ(a.videoData)) { if (!a.videoData.dj()) break a } else if (!g.BQ(a.videoData)) break a; + if (a.mediaElement) if ((d = a.videoData.G) && a.mediaElement.cw()) { + var e = a.mediaElement.Ib(); if (a.Ae) if (e !== a.Ae.element) B_(a); else if (b && d.flavor === "fairplay" && !ls()) B_(a); else break a; if (a.L("html5_report_error_for_unsupported_tvos_widevine") && ls() && d.flavor === "widevine") a.Lf("fmt.unplayable", 1, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK", "drm.unspttvoswidevine"); else { + a.Ae = new G1a(e, a.videoData, a.W); a.Ae.subscribe("licenseerror", a.zL, a); a.Ae.subscribe("qualitychange", a.Waa, a); a.Ae.subscribe("heartbeatparams", + a.AG, a); a.Ae.subscribe("keystatuseschange", a.tq, a); a.Ae.subscribe("ctmp", a.oa, a); a.L("html5_widevine_use_fake_pssh") && !a.videoData.isLivePlayback && d.flavor === "widevine" && a.Ae.py(new uY(j5a, "cenc", !1)); b = g.w(a.LB.keys); for (d = b.next(); !d.done; d = b.next())d = a.LB.get(d.value), a.Ae.py(d); a.L("html5_eme_loader_sync") || a.LB.removeAll() + } + } else a.Lf("fmt.unplayable", 1, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK", "drm.1") + } return c + }; + i5a = function (a, b) { a.Lb.tick("vta"); uA("vta", void 0, "video_to_ad"); a.getCurrentTime() > 0 && d4a(a.Qc, a.getCurrentTime()); a.mediaElement.activate(b); a.Qa && At(0, 4); !a.videoData.Ba && a.playerState.isOrWillBePlaying() && a.Px.start(); if (R4a(a)) { var c; if (b = (c = a.mediaElement) == null ? void 0 : c.audioTracks()) b.onchange = function () { a.publish("internalaudioformatchange", a.videoData, !0) } } }; + B_ = function (a) { a.Ae && (a.Ae.dispose(), a.Ae = null) }; + wW = function (a, b) { b = b === void 0 ? !1 : b; fQ(a.videoData) && (a.isAtLiveHead() && !a.playerState.isPaused() || a.gq() || g.IQ(a.videoData)) ? a = a.getCurrentTime() : g.jQ(a.videoData) && a.wb ? (b = a.wb, a = a.getCurrentTime(), a = (a = aVa(b, a * 1E3)) ? (a.Yh() - a.Ze()) / 1E3 : 0) : a = a.Vd(b); return a }; + k5a = function (a) { a.logger.debug("reattachVideoSource"); a.mediaElement && (a.Qa ? (B_(a), BW(a), X4a(a)) : (a.videoData.ob && a.videoData.ob.uT(), a.mediaElement.stopVideo()), a.playVideo()) }; + l5a = function (a, b) { a.W.L("html5_log_rebuffer_reason") && a.oa("bufreason", { r: b, lact: Wv() }) }; + TW = function (a, b, c, d, e, f, h, l, m) { + var n; if ((n = a.videoData.j) == null ? 0 : n.isLive) { + var p = c.playerType === 2 ? c : b, q = b.videoData.videoId, r = c.videoData.videoId; if (q && r) { + n = a.hc(); if (n.qoe) { + var t = n.qoe, u = b.cpn, y = c.cpn, A = p.videoData.wc, D = t.provider.videoData.clientPlaybackNonce, F = t.provider.videoData.videoId, H = y !== D && r !== F; D = u !== D && q !== F; t.reportStats(); t.adCpn && t.adCpn !== u || (t.adCpn = D ? u : "", t.Y = D ? q : "", t.adFormat = D ? A : void 0, fX(t, 2, h ? 4 : f ? 2 : 0, y, r, e), t.reportStats(), t.adCpn = H ? y : "", t.Y = H ? r : "", t.adFormat = H ? A : void 0, fX(t, + 2, h ? 5 : f ? 3 : 1, u, q, d), t.reportStats()) + } d = b.cpn; if (n.C.has(d)) { if (f = n.C.get(d), VZ(f, !0).send(), UZ(f), d !== n.provider.videoData.clientPlaybackNonce) { i3a(f); var M; (M = n.j) == null || d3a(M); n.C.delete(d) } } else n.Mg = n.provider.videoData.clientPlaybackNonce, n.Mg && n.j && (n.C.set(n.Mg, n.j), VZ(n.j).send(), UZ(n.j)); M = c.cpn; p = p.videoData; e -= a.du(); if (n.C.has(M)) { e = n.C.get(M); var N = e.C && isNaN(e.D) ? TZ(e) : NaN; e = h3a(e, !1); isNaN(N) || (e.G = N); e.send() } else e = u3a(n, n.provider, p, e), n.C.set(M, e), j3a(e, new g.Oy(OF(new g.LF, 8), + new g.LF)), c3a(e), (N = n.j) == null || UZ(N); n.Mg = M; a.L("html5_unify_csi_server_stitched_transition_logging") ? fOa(b.cpn, c.cpn, a.videoData.clientPlaybackNonce, c.videoData, l, void 0, m) : (n = a.videoData.clientPlaybackNonce, a = c.videoData, b = (b.cpn === n ? "video" : "ad") + "_to_" + (c.cpn === n ? "video" : "ad"), n = {}, a.K && (n.cttAuthInfo = { token: a.K, videoId: a.videoId }), l && (n.startTime = l), rA(b, n), g.qA({ targetVideoId: a.videoId, targetCpn: c.cpn, isSsdai: !0 }, b), pA("pbs", m != null ? m : (0, g.Zt)(), b)) + } + } + }; + O1a = function (a, b) { a.videoData.HU = !0; a.Id(new FE("qoe.restart", b)); EZ(a, !0) }; + m5a = function (a, b) { if (a.W.Ac() && a.mediaElement) { var c = a.mediaElement.uc(); c.omt = (a.mediaElement.getCurrentTime() + a.Dc()).toFixed(3); c.ps = a.playerState.state.toString(16); c.rt = (g.XI(a.hc().provider) * 1E3).toFixed(); c.e = b; a.XL[a.W0++ % 5] = c } try { if (b === "timeupdate" || b === "progress") return } catch (d) { } a.logger.debug(function () { return "video element event " + b }) }; + n5a = function (a) { + if (a.W.Ac()) { + a.XL.sort(function (d, e) { return +d.rt - +e.rt }); + for (var b = g.w(a.XL), c = b.next(); !c.done; c = b.next())c = c.value, a.oa("vpe", Object.assign({ t: c.rt }, c)); a.XL = []; a.W0 = 0 + } + }; + o5a = function (a) { if (g.is("cobalt") && g.is("nintendo switch")) { var b = !window.matchMedia("screen and (max-height: 720px) and (min-resolution: 200dpi)").matches; a.oa("nxdock", { d: b }) } }; + ETa = function (a, b, c, d, e) { a.oa("xvt", { m: b, g: 1, tt: c ? 1 : 0, np: d ? 1 : 0, c: e }) }; + z_ = function (a, b) { var c; (c = a.ya) == null || sZ(c, b) }; + qZ = function (a) { return g.Mb(a.zq, "ad") }; + P1a = function (a) { return g.jQ(a.videoData) && a.wb ? ZUa(a.wb) : !1 }; + I4a = function (a) { dQ(a.videoData, "html5_set_debugging_opt_in") && (a = g.it(), g.kt(0, 183) || (mt(183, !0), a.save())) }; + p5a = function (a) { return g.jQ(a.videoData) && a.wb ? dX(a.wb) : a.videoData.Vd() }; + V0a = function (a, b) { a.Ad.Do() || (a.oa("sgap", { f: b }), a.Ad.clearQueue(!1, b === "pe")) }; + j_ = function (a) { return gQ(a.videoData) && a.L("html5_disable_video_player_initiated_seeks") }; + g.C_ = function (a, b, c, d) { + g.O.call(this); var e = this; this.logger = new g.MN("App"); this.tB = this.Aj = !1; this.gt = {}; this.eM = {}; this.jC = []; this.zZ = !1; this.NQ = null; this.EZ = !1; this.Hx = !0; this.KT = !1; this.ZZ = this.hR = null; this.m_ = !0; this.mediaElement = this.Db = null; this.DR = NaN; this.PG = !1; this.ye = this.MC = this.wb = this.ue = this.screenLayer = this.xb = this.playlist = null; this.hd = { + Bf: function () { return e.wb }, + FH: function (h) { e.wb = h }, + nO: function (h, l) { e.wb && e.wb.nO(h, l) } + }; + this.logger.debug("constructor begin"); this.config = Nna(b || {}); this.webPlayerContextConfig = c; $na(); b = this.config.args || {}; this.W = new WO(b, c, c ? c.canaryState : this.config.assets.player_canary_state, d, this); g.P(this, this.W); oUa(this.W); qUa(this.W); this.W.experiments.kb("jspb_serialize_with_worker") && Hqa(); this.W.experiments.kb("gzip_gel_with_worker") && zpa(); this.W.B && !q5a && (window.addEventListener(FO ? "touchstart" : "click", wTa, { capture: !0, passive: !0 }), q5a = !0); this.L("html5_onesie") && (this.uy = new nW(this.W), + g.P(this, this.uy)); this.w2 = ys(KO(this.W) && !0, b.enablesizebutton); this.aR = ys(!1, b.player_wide); this.visibility = new XTa; g.P(this, this.visibility); this.L("web_log_theater_mode_visibility") && this.vC(ys(!1, b.player_wide)); this.Aj = ys(!1, b.external_list); this.events = new g.OE(this); g.P(this, this.events); this.L("start_client_gcf") && (Zv(cw(), { aH: Hu, AU: Woa() }), this.E7 = cw().resolve(Hu), Zoa(this.E7)); this.jda = new jR; g.P(this, this.jda); this.Ur = new RVa; d = new kR; this.Ua = new g.yR(this, d); g.P(this, this.Ua); this.template = + new LVa(this); g.P(this, this.template); this.appState = 1; this.Ri = r5a(this); g.P(this, d); d = {}; this.sO = (d.internalvideodatachange = this.jaa, d.playbackready = this.naa, d.playbackstarted = this.oaa, d.statechange = this.paa, d); this.z8 = new RT(this.Ua); this.Rd = s5a(this); d = this.L("html5_load_wasm"); b = this.L("html5_allow_asmjs"); if (d && t5a || b) this.W.bk = dPa(this.Rd, b), nU(this.W.bk.mf(function (h) { e.W.wd = h; var l; (l = g.qR(e)) == null || l.oa("wasm", { a: h.Bo }) }), function (h) { + g.fx(h); + h = "message" in h && h.message || h.toString() || ""; var l; (l = g.qR(e)) == null || l.oa("wasm", { e: h }) + }); + else if (d && !t5a) { var f; (f = g.qR(this)) == null || f.oa("wasm", { e: "wasm unavailable" }) } this.Lb = new dOa(this.W, this.Rd); this.Ua.publish("csiinitialized"); this.tb = u5a(this); this.tb.setPlaybackRate(this.W.D ? 1 : v5a(this, Number(g.ct("yt-player-playback-rate")) || 1)); g.Gx(this.tb, this.sO, this); D4a(this.tb); f = {}; this.e1 = (f.airplayactivechange = this.onAirPlayActiveChange, f.airplayavailabilitychange = this.onAirPlayAvailabilityChange, f.beginseeking = this.MR, f.contentPoTokenReady = this.yG, f.endseeking = this.RR, f.internalAbandon = + this.BG, f.internalaudioformatchange = this.sG, f.internalvideodatachange = this.onVideoDataChange, f.internalvideoformatchange = this.MG, f.liveviewshift = this.Xaa, f.playbackstalledatstart = this.sca, f.progresssync = this.Gba, f.onAbnormalityDetected = this.tL, f.onLoadProgress = this.onLoadProgress, f.SEEK_COMPLETE = this.DB, f.SEEK_TO = this.gca, f.onVideoProgress = this.onVideoProgress, f.onLoadedMetadata = this.onLoadedMetadata, f.onAutoplayBlocked = this.onAutoplayBlocked, f.onPlaybackPauseAtStart = this.vba, f.playbackready = this.wba, + f.statechange = this.J0, f.connectionissue = this.xG, f.newelementrequired = this.o0, f.heartbeatparams = this.AG, f.videoelementevent = this.HL, f.drmoutputrestricted = this.onDrmOutputRestricted, f.signatureexpired = this.nca, f.nonfatalerror = this.nba, f); this.Lu = new g.OE(this); g.P(this, this.Lu); f = 10; g.OC(this.W) && (f = 3); cP(this.W) && (f = g.AC(this.W.experiments, "tvhtml5_unplugged_preload_cache_size")); this.Mu = new qX; g.P(this, this.Mu); this.Ay = new oX(f, function (h) { h !== g.qR(e, h.getPlayerType()) && h.dispose() }); + g.P(this, this.Ay); this.zP = this.NJ = -1; this.rM = new g.fp(this.template.resize, 16, this.template); g.P(this, this.rM); this.bd = new qVa(this.Ua, this.W, this.tb); this.Bq = new KW(this.W); this.Yk = new OTa(this); g.P(this, this.Yk); this.hN = new sW(this); g.P(this, this.hN); FVa(this.W.j.c); this.events.T(this.Ua, g.sD("appapi"), this.haa); this.events.T(this.Ua, g.tD("appapi"), this.iaa); this.events.T(this.Ua, g.sD("appprogressboundary"), this.Fba); this.events.T(this.Ua, g.tD("applooprange"), this.uM); this.events.T(this.Ua, "presentingplayerstatechange", + this.Lk); this.events.T(this.Ua, "resize", this.Sba); this.template.Ja($d(document, a)); this.events.T(this.Ua, "offlineslatestatechange", this.pba); this.Rd.J.U().Ej && sU(this.Rd, "offline"); this.W.Ya && g.WT("ux", g.lW); this.WW = new g.fp(this.oda, g.AC(this.W.experiments, "html5_defer_fetch_att_ms"), this); g.P(this, this.WW); this.Od().qe() && (g.et() && this.Od().Ga.push("remote"), w5a(this)); this.Lb.tick("fs"); x5a(this); this.W.Ya && sU(this.Rd, "ux", !0); g.IO(this.Rd.J.U()) && sU(this.Rd, "embed"); this.L("web_player_sentinel_is_uniplayer") || + g.fx(new g.pt("Player experiment flags missing", "web_player_sentinel_is_uniplayer")); a = this.L("web_player_sentinel_yt_experiments_sync"); f = g.Pr("web_player_sentinel_yt_experiments_sync"); a !== f && g.fx(new g.pt("b/195699950", { yt: a, player: f })); c || g.fx(new g.pt("b/179532961")); this.r3 = y5a(this); if (c = g.AC(this.W.experiments, "html5_block_pip_safari_delay")) this.FP = new g.fp(this.lX, c, this), g.P(this, this.FP); bs = this.W.yc; c = g.AC(this.W.experiments, "html5_performance_impact_profiling_timer_ms"); c > 0 && (this.R0 = + new g.Me(c), g.P(this, this.R0), this.events.T(this.R0, "tick", function () { e.S0 && z5a.fA("apit", e.S0); e.S0 = z5a.zC() })); + this.Ua.publish("applicationInitialized"); this.logger.debug("constructor end") + }; + y5a = function (a) { + function b(c) { c.stack && c.stack.indexOf("player") !== -1 && (c = { n: c.name, m: c.message }, (a.xb || a.tb).hc().Id("player.exception", EE(c))) } + gx.subscribe("handleError", b); rr.push(b); return function () { gx.unsubscribe("handleError", b); var c = rr.indexOf(b); c !== -1 && rr.splice(c, 1) } + }; + u5a = function (a) { var b = new g.WP(a.W, a.config.args); a.Ua.publish("initialvideodatacreated", b); return a.Wz(1, b) }; + A5a = function (a, b) { if (a.tb !== b) { b.getVideoData().autonavState = a.tb.getVideoData().autonavState; Hx(a.tb, a.sO, a); var c = a.tb.getPlaybackRate(); a.tb.dispose(); a.tb = b; a.tb.setPlaybackRate(c); g.Gx(b, a.sO, a); w5a(a) } }; + s5a = function (a) { var b = "", c = JVa(a); c.indexOf("//") === 0 && (c = a.W.protocol + ":" + c); var d = c.lastIndexOf("/base.js"); d !== -1 && (b = c.substring(0, d + 1)); if (c = Error().stack) if (c = c.match(/\((.*?\/(debug-)?player-.*?):\d+:\d+\)/)) c = c[1], c.includes(b) || g.fx(Error("Player module URL mismatch: " + (c + " vs " + b + "."))); b = new MOa(a.Ua, b); B5a(a, b); return b }; + B5a = function (a, b) { + var c = {}; c = (c.destroyed = function () { a.onApiChange() }, c); + b.C = c + }; + r5a = function (a) { if (a.W.storeUserVolume) { a = g.ct("yt-player-volume") || {}; var b = a.volume; a = { volume: isNaN(b) ? 100 : g.Dd(Math.floor(b), 0, 100), muted: !!a.muted } } else a = { volume: 100, muted: a.W.mute }; return a }; + D_ = function (a) { + a.mediaElement = a.W.deviceIsAudioOnly ? new g.ET(g.je("AUDIO")) : rW.pop() || new g.ET(g.je("VIDEO")); g.P(a, a.mediaElement); a.xb && a.xb.setMediaElement(a.mediaElement); try { a.W.Wc ? (a.MC && a.events.Oc(a.MC), a.MC = a.events.T(a.mediaElement, "volumechange", a.fba)) : (a.mediaElement.oC(a.Ri.muted), a.mediaElement.setVolume(a.Ri.volume / 100)) } catch (e) { + a.Sg("html5.missingapi", 2, "UNSUPPORTED_DEVICE", "setvolume.1;emsg." + (e && typeof e === "object" && "message" in e && typeof e.message === "string" && e.message.replace(/[;:,]/g, + "_"))); return + } g.Ys(a.Lu); C5a(a); var b = a.template, c = a.mediaElement.Ib(); b.Cc = c; b.AK = !1; b.Cc.parentNode || oe(b.Tz, b.Cc, 0); b.cM = new g.gm(0, 0, 0, 0); QVa(b); sX(b); c = b.Cc; g.np(c, "video-stream"); g.np(c, g.rX.MAIN_VIDEO); var d = b.app.U(); d.Vk && c.setAttribute("data-no-fullscreen", "true"); d.L("html5_local_playsinline") ? "playsInline" in IE() && (c.playsInline = !0) : d.pm && (c.setAttribute("webkit-playsinline", ""), c.setAttribute("playsinline", "")); d.yq && b.Cc && b.T(c, "click", c.play, c); try { a.mediaElement.activate() } catch (e) { + a.Sg("html5.missingapi", + 2, "UNSUPPORTED_DEVICE", "activate.1;emsg." + (e && typeof e === "object" && "message" in e && typeof e.message === "string" && e.message.replace(/[;:,]/g, "_"))) + } + }; + AW = function (a, b, c) { + if (a.xb !== b) { + a.logger.debug(function () { return "start set presenting player, type " + b.getPlayerType() + ", vid " + b.getVideoData().videoId }); + var d = null; if (a.xb) { d = a.xb.getPlayerState(); a.logger.debug("set presenting player, destroy modules"); tU(a.Rd, 3); E_(a, "cuerangesremoved", a.xb.Bl()); a.Yk && !b.isGapless() && a.xb.isGapless() && a.mediaElement && a.mediaElement.stopVideo(); var e = BF(b) && BF(a.xb); a.L("html5_rebase_video_to_ad_timeline") && a.Lb.Dv("iv_s"); D5a(a, e) } b.getPlayerType() === 1 && A5a(a, b); E5a(a, b); a.xb = b; a.mediaElement && b.setMediaElement(a.mediaElement); g.Gx(b, a.e1, a); if (b.NK()) F5a(a, "setPresenting", !1); else { + a.onVideoDataChange("newdata", + b, b.getVideoData()); d && !g.RF(d, b.getPlayerState()) && a.J0(new g.Oy(b.getPlayerState(), d)); c = c && a.L("html5_player_preload_ad_fix") && b.getPlayerType() === 1; if (b.Aq.j && !c) a.onVideoDataChange("dataloaded", b, b.getVideoData()); (c = (c = b.getVideoData().B) && c.video) && a.Ua.Ai("onPlaybackQualityChange", c.quality); E_(a, "cuerangesadded", a.xb.Bl()); c = b.getPlayerState(); g.U(c, 2) ? G5a(a) : g.U(c, 8) ? b.playVideo() : b.MF() && b.pauseVideo(); if (b.getPlayerType() === 2) { var f; b.getVideoData().DW = (f = g.qR(a, 1)) == null ? void 0 : f.getVideoData().clientPlaybackNonce } b.getPlayerType() !== + 2 || a.Ef() || (f = b.getVideoData(), a.tb.Ey(f.clientPlaybackNonce, f.wc || "", f.breakType || 0, f.Hj, f.videoId || "")); a.logger.debug("finish set presenting player") + } + } + }; + G5a = function (a) { + if (!H5a(a)) { + var b = a.tb.Ke(); b && (b = b.QE(), b instanceof Promise && b.catch(function () { })); + F_(a, TF(a.getPlayerStateObject())) + } + }; + C5a = function (a) { + var b = a.mediaElement; ME() ? a.Lu.T(b, "webkitpresentationmodechanged", a.dca) : window.document.pictureInPictureEnabled && (a.Lu.T(b, "enterpictureinpicture", function () { a.My(!0) }), a.Lu.T(b, "leavepictureinpicture", function () { a.My(!1) })); + qs && (a.Lu.T(b, "webkitbeginfullscreen", function () { a.hn(3) }), a.Lu.T(b, "webkitendfullscreen", function () { a.hn(0) })) + }; + E5a = function (a, b) { var c = b.getPlayerType(); if (b !== a.tb && b !== a.gt[c]) { var d; (d = a.gt[c]) == null || d.dispose(); a.gt[c] = b } }; + D5a = function (a, b) { b = b === void 0 ? !0 : b; a.logger.debug("start clear presenting player"); var c; if (c = a.ye) { c = a.ye; var d = a.mediaElement; c = !!d && d === c.mediaElement } c && (a.Rj(), D_(a)); a.xb && (a.xb.Rj(!b), Hx(a.xb, a.e1, a), a.xb.getPlayerType() !== 1 && a.xb.dispose()); a.xb = null; a.logger.debug("finish clear presenting player") }; + g.qR = function (a, b) { return b ? b === 1 ? a.tb : a.getVideoData().enableServerStitchedDai && b === 2 ? a.getVideoData().enablePreroll ? a.gt[2] || a.xb : a.xb : g.jQ(a.getVideoData()) && b === 2 ? a.gt[2] || a.xb : a.gt[b] || null : a.xb }; + I5a = function (a, b, c, d) { a = a.Wz(b, c, d); D4a(a); return a }; + G_ = function (a, b) { return a.Ef(b) ? a.tb : b }; + H_ = function (a, b) { var c = a.xb; return c && b === a.tb && a.Ef(b) && a.Ef(c) ? c : b }; + L5a = function (a) { a.logger.debug("start application playback"); if (a.tb.getPlayerState().isError()) a.logger.debug("start application playback done, player in error state"); else { var b = I_(a); a.Od().isLoaded(); b && a.Mq(6); J5a(a); WOa(a.Rd) || K5a(a) } }; + K5a = function (a) { if (!I_(a)) { var b = uU(a.Rd); b && !b.created && NOa(a.Rd) && (a.logger.debug("reload ad module"), b.create()) } }; + J5a = function (a) { a.logger.debug("start presenter playback"); var b = a.getVideoData(), c = a.Rd; WOa(c) || c.eP(); !t5a && c.J.L("html5_allow_asmjs") && cPa(c); sU(c, "embed"); sU(c, "inline_preview"); sU(c, "kids"); sU(c, "remote"); sU(c, "miniplayer"); sU(c, "offline"); sU(c, "unplugged"); sU(c, "ypc", !1, !0); sU(c, "ypc_clickwrap", !1, !0); sU(c, "yto", !1, !0); sU(c, "webgl", !1, !0); XOa(c) || (sU(c, "captions", !0), sU(c, "endscreen"), c.qJ(), sU(c, "creatorendscreen", !0)); c.BX(); a.Ua.publish("videoready", b) }; + J_ = function (a) { a = a.Od(); a.qe(); return TQ(a) }; + x5a = function (a) { + a.logger.debug("start prepare initial playback"); a.lP(); var b = a.config.args; D_(a); var c = a.Od(); a.Ua.Ai("onVolumeChange", a.Ri); if (b && iOa(b)) { var d = $O(a.W); d && !a.Aj && (b.fetch = 0); var e = g.IO(a.W); e && !a.Aj && (b.fetch = 0); K_(a, b); g.IO(a.W) && a.Lb.tick("ep_pr_s"); if (!d || a.Aj) if (e && !a.Aj) M5a(a); else if (!c.qe()) a.playlist.onReady(function () { L_(a) }) } AW(a, a.tb); + g.U(a.tb.getPlayerState(), 128) || (b = Bwa(!a.W.deviceIsAudioOnly), b === "fmt.noneavailable" ? a.Sg("html5.missingapi", 2, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK", "nocodecs.1") : b === "html5.missingapi" ? a.Sg(b, 2, "UNSUPPORTED_DEVICE", "nocanplaymedia.1") : c && c.qe() && J_(a) && (a.W.Fi || a.W.Ui) ? M_(a) : c.ED ? a.Ua.mutedAutoplay() : g.ct("yt-player-playback-on-reload") ? (g.Ht("embedsItpPlayedOnReload", { playedOnReload: !0, isLoggedIn: !!a.W.Ba }), g.bt("yt-player-playback-on-reload", !1), M_(a)) : hP(a.W) || N5a(a), g.bP(a.W) || g.hO(a.W) === + "MWEB" ? (g.vt(g.xt(), function () { N_(a) }), g.vt(g.xt(), function () { kua() })) : (N_(a), kua()), a.logger.debug("finish prepare initial playback")) + }; + N_ = function (a) { if (!a.L("use_rta_only_for_player")) if (a.L("fetch_att_independently")) g.gp(a.WW); else { var b = a.getVideoData().botguardData; b && g.$K(b, a.W, a.getVideoData().wr || "") } }; + N5a = function (a) { + a.logger.debug("start initialize to CUED mode"); a.Ua.publish("initializingmode"); a.Mq(2); a.L("embeds_web_enable_defer_loading_remote_js") && g.dP(a.W) ? g.vt(g.xt(), function () { sU(a.Rd, "remote") }) : sU(a.Rd, "remote"); + sU(a.Rd, "miniplayer"); a.logger.debug("initialized to CUED mode") + }; + M_ = function (a) { + a.logger.debug("start initialize application playback"); if (g.U(a.tb.getPlayerState(), 128)) return !1; var b = a.tb.getVideoData(); J_(a) && a.W.Ui && (rW.length && a.tB ? (O_(a, { muted: !1, volume: a.Ri.volume }, !1), P_(a, !1)) : rW.length || a.Ri.muted || (O_(a, { muted: !0, volume: a.Ri.volume }, !1), P_(a, !0))); J_(a) && g.IO(a.W) && b.mutedAutoplay && (O_(a, { muted: !0, volume: a.Ri.volume }, !1), P_(a, !0)); b.OY && O_(a, { muted: !0, volume: a.Ri.volume }, !1); O5a(a, 1, b, !1); a.Ua.publish("initializingmode"); AW(a, a.tb); a.Mq(3); var c; if (!(c = + !a.W.Cn)) { if (c = a.ye) { c = a.ye; var d = a.mediaElement; c = !!d && d === c.mediaElement } c = c && a.zZ } c && (a.Rj(), D_(a), a.tb.setMediaElement(a.mediaElement)); M4a(a.tb); if (g.U(a.tb.getPlayerState(), 128)) return !1; b.Xl || F_(a, 3); return a.zZ = !0 + }; + I_ = function (a) { a = BR(a.Rd); return !!a && a.loaded }; + P5a = function (a, b) { if (!a.Db) return !1; var c = a.Db.startTimeMs * .001 - 1, d = a.Db.endTimeMs * .001; a.Db.type === "repeatChapter" && d--; return Math.abs(b - c) <= 1E-6 || Math.abs(b - d) <= 1E-6 || b >= c && b <= d }; + S5a = function (a) { var b, c = (b = g.qR(a)) == null ? void 0 : b.ya; a.xb && rQ(a.getVideoData()) && c && c.policy.Xa && (b = g.AC(a.U().experiments, "html5_gapless_loop_seek_offset_in_milli"), b = Q5a(a) * 1E3 - b, a.L("html5_gapless_new_slr") ? (a = a.hN, R5a(a.app, "gaplessshortslooprange"), b = new g.qD(0, b, { id: "gaplesslooprange", namespace: "gaplessshortslooprange" }), (a = a.app.Vc()) && a.addCueRange(b)) : a.setLoopRange({ startTimeMs: 0, endTimeMs: b, type: "shortsLoop" })) }; + T5a = function (a) { + if (!(g.U(a.tb.getPlayerState(), 64) && a.Od().isLivePlayback && a.Db.startTimeMs < 5E3)) { + if (a.Db.type === "repeatChapter") { var b, c = (b = mMa(a.Bb())) == null ? void 0 : b.Ji(), d; b = (d = a.getVideoData()) == null ? void 0 : d.Xk; c instanceof g.IU && b && (d = b[$U(b, a.Db.startTimeMs)], c.kH(0, d.title)); isNaN(Number(a.Db.loopCount)) ? a.Db.loopCount = 0 : a.Db.loopCount++; a.Db.loopCount === 1 && a.Ua.ib("innertubeCommand", a.getVideoData().t4) } c = { Zc: "application_loopRangeStart" }; if (a.Db.type === "clips" || a.Db.type === "shortsLoop") c.seekSource = + 58; a.tb.seekTo(a.Db.startTimeMs * .001, c) + } + }; + v5a = function (a, b) { var c = a.Ua.getAvailablePlaybackRates(); b = Number(b.toFixed(2)); a = c[0]; c = c[c.length - 1]; b <= a ? b = a : b >= c ? b = c : (a = Math.floor(b * 100 + .001) % 5, b = a === 0 ? b : Math.floor((b - a * .01) * 100 + .001) / 100); return b }; + Q5a = function (a, b) { b = g.qR(a, b); if (!b) return 0; b = G_(a, b); return Q_(a, wW(b), b) }; + Q_ = function (a, b, c) { if (a.Ef(c)) { c = c.getVideoData(); if (R_(a)) c = b; else { a = a.bd; for (var d = g.w(a.B), e = d.next(); !e.done; e = d.next())if (e = e.value, c.rd === e.rd) { b += e.pc / 1E3; break } d = b; a = g.w(a.B); for (e = a.next(); !e.done; e = a.next()) { e = e.value; if (c.rd === e.rd) break; var f = e.pc / 1E3; if (f < b) d += e.durationMs / 1E3 + f - e.Xd / 1E3; else break } c = d } return c } return b }; + U5a = function (a, b) { if (a.getPresentingPlayerType() === 3) return TF(BR(a.Rd).Ee); if ((a.getVideoData().enableServerStitchedDai || g.jQ(a.getVideoData())) && b === 2) { var c, d; return ((c = a.ue) == null ? 0 : c.Hl(a.getCurrentTime())) || ((d = a.wb) == null ? 0 : d.Hl()) ? a.NJ : -1 } return b !== 2 || a.Ef() ? a.NJ : a.zP }; + w5a = function (a) { a.logger.debug("reset for new application playback"); S_(a); a.setLoopVideo(!1); a.setLoopRange(null); a.Ua.publish("legacyadtrackingpingreset"); a.eM = {}; a.jC = []; gOa(a.Lb); if (a.ue) { var b = a.ue, c = a.tb; c.getPlayerType(); VW(b, !1); IUa(b); JUa(b); b.ea = c } b = a.bd; a = a.tb; a.getPlayerType() !== 1 && hX(b, "invalidParentVideoPlayerType"); lX(b, !1); DVa(b); b.j = a }; + M5a = function (a, b) { var c = (b ? b : a.Od()).S_; a.Lb.tick("ep_pr_r"); if (c != null && (mOa(a.playlist, c), a.KT)) a.playlist.onReady(function () { L_(a, b) }) }; + K_ = function (a, b) { a.playlist && (g.fb(a.playlist), a.playlist = null); b && (a.Aj && (b.fetch = 0), a.playlist = new hOa(a.W, b)) }; + V5a = function (a) { var b, c = Number((b = a.getVideoData().progressBarEndPosition) == null ? void 0 : b.utcTimeMillis) / 1E3; !isNaN(c) && (b = a.bf()) && (b -= a.getCurrentTime(), c = (c - b) * 1E3, b = a.eM.progressEndBoundary, (b == null ? void 0 : b.start) !== c && (b && a.jH([b]), c = new g.qD(c, 0x7ffffffffffff, { id: "progressEndBoundary", namespace: "appprogressboundary" }), a.tb.addCueRange(c), a.eM.progressEndBoundary = c)) }; + F_ = function (a, b) { + a.logger.debug(function () { return "set external state " + b }); + if (a.xb) { var c = a.xb.getPlayerType(); if (c === 2 && !a.Ef()) { a.zP !== b && (a.zP = b, a.Ua.Ai("onAdStateChange", b)); return } if (c === 2 && a.Ef() || c === 5 || c === 6 || c === 7) if (b === -1 || b === 0 || b === 5) return } if (b === 0) { if (a.Db) return; var d; if (((d = a.xb) == null ? 0 : d.Wt()) && !gP(a.W)) { a.playVideo(); return } } a.NJ !== b && (a.NJ = b, a.Ua.Ai("onStateChange", b)) + }; + W5a = function (a, b, c, d, e) { + d = d === void 0 ? Infinity : d; e = e === void 0 ? 0 : e; a.logger.debug(function () { return "Enqueuing playerType=" + c + " at time=" + d + "\n videoId=" + b.videoId }); + c = c || a.xb.getPlayerType(); var f = O5a(a, c, b, !0); f || (f = I5a(a, c, b)); if (c === 2 && a.tb) { var h = f.getVideoData(); a.tb.Ey(h.clientPlaybackNonce, h.wc || "", h.breakType || 0, h.Hj, h.videoId || "") } a.HJ(f, d, 0, e) + }; + X5a = function (a, b, c, d, e) { + var f = ""; f = a.W.L("html5_autonav_autoplay_in_preload_key") ? T_(a, c, b) : U_(a, c, b.videoId, b.rd); a.logger.debug(function () { return "start preload video " + f + ", trigger=" + e }); + var h = ""; if (a.xb && (h = a.W.L("html5_autonav_autoplay_in_preload_key") ? T_(a, a.xb.getPlayerType(), a.xb.getVideoData()) : U_(a, a.xb.getPlayerType(), a.xb.getVideoData().videoId, a.xb.getVideoData().rd), f === h)) return g.yW(a.xb, !0), b.dispose(), null; b.Ed = !0; b = I5a(a, c, b); c === 1 && cP(a.W) || g.yW(b, !0); a.Ay.set(f, b, d || 3600); return b + }; + Y5a = function (a, b, c, d) { var e = Ds(c); return U_(a, b, e, d, c.autonav === "1" || c.autonav === !0, c.autoplay === "1" || c.autoplay === !0 || c.autoplay === 1) }; + T_ = function (a, b, c) { return U_(a, b, c.videoId, c.rd, c.isAutonav, c.Lq) }; + U_ = function (a, b, c, d, e, f) { e = e === void 0 ? !1 : e; f = f === void 0 ? !1 : f; b = b + "_" + c + "_" + d; a.W.L("html5_autonav_autoplay_in_preload_key") && (b += "_" + +e + +f); return b }; + O5a = function (a, b, c, d) { var e = a.W.L("html5_autonav_autoplay_in_preload_key") ? T_(a, b, c) : U_(a, b, c.videoId, c.rd); var f = a.Ay.get(e); if (!f || f.La()) return null; a.Ay.remove(e); if (g.U(f.getPlayerState(), 128)) return f.dispose(), null; if (f === g.qR(a, b)) return a.Lb.infoGel({ isCacheHit: !0 }), f; if ((f.getVideoData().oauthToken || c.oauthToken) && f.getVideoData().oauthToken !== c.oauthToken) return null; b === 1 && S_(a); d || AW(a, f, !0); a.Lb.infoGel({ isCacheHit: !0 }); return f }; + V_ = function (a, b, c) { c = g.qR(a, c); b && c === a.tb && (c.getVideoData().Ui = !0) }; + W_ = function (a, b, c) { + c = c === void 0 ? 1 : c; a.logger.debug(function () { return "start cue video, vid " + b.videoId + ", type " + c }); + if (b.qe()) { var d = a.Wz(c, b); a.cancelPlayback(4, c); AW(a, d); D4a(d); if (c === 1) { a.Mq(1); if (g.IO(a.W) && !ZQ(b)) { b.dispose(); g.fb(g.qR(a, c)); return } N5a(a) } a.logger.debug("finish cue video") } else a.logger.debug(function () { return "invalid VideoData in cueVideo" }), b.dispose(), g.fb(g.qR(a, c)), RLa(a.Od()) && c === 2 && delete a.gt[2] + }; + Z5a = function (a, b, c, d, e) { + b = jMa(b, c, d, e); (c = g.IO(a.W) && !a.W.ra) && !a.Aj && (b.fetch = 0); K_(a, b); g.IO(a.W) && a.Lb.tick("ep_a_pr_s"); if (c && !a.Aj) c = a.Od(), pOa(c, b).then(function (f) { a.KT = !0; M5a(a, f) }); + else a.playlist.onReady(function () { L_(a) }); + g.IO(a.W) && a.Lb.tick("ep_a_pr_r") + }; + L_ = function (a, b) { var c = g.IO(a.W) && !a.W.ra, d = c && b ? b : g.UT(a.playlist); b = c && b ? b : a.getVideoData(); d && (b.Pk && (a.W.Fi || a.W.Ui) || !a.Hx ? (b = b.Ui, d = a.Iu(d, 1), b && V_(a, d)) : W_(a, d, 1)); g.IO(a.W) && a.Lb.tick("ep_p_l"); a.KT = !1; a.Ua.Hc("onPlaylistUpdate") }; + H5a = function (a) { if (a.playlist && g.OO(a.W) && a.bF()) { var b = a.W.L("html5_player_autonav_logging"); a.nextVideo(!1, b); return !0 } return !1 }; + $5a = function (a, b, c, d, e, f, h) { b = { id: b, namespace: h != null ? h : "appapi" }; f === "chapter" ? (b.style = pD.CHAPTER_MARKER, b.visible = !0) : isNaN(e) || (f === "ad" ? b.style = pD.AD_MARKER : (b.style = pD.TIME_MARKER, b.color = e), b.visible = !0); a.Bz([new g.qD(c * 1E3, d * 1E3, b)], 1); return !0 }; + a6a = function (a, b, c, d, e, f) { f = f === void 0 ? !0 : f; var h = a.bf(); if (!h) return f && a.getVideoData().isLivePlayback && a.jC.push({ id: b, ofa: c, nfa: d }), !1; f = h - a.getCurrentTime(); return $5a(a, b, c - f, d - f, void 0, void 0, e) }; + b6a = function (a, b) { + a.jC = g.kn(a.jC, function (f) { return f.id !== b }); + for (var c = a.tb.Bl(), d = 0; d < c.length; d++) { var e = c[d]; if (e.getId() === b) return a.tb.removeCueRange(e), E_(a, "cuerangesremoved", [e]), !0 } return !1 + }; + R5a = function (a, b, c) { var d = g.qR(a, c); d && (b = d.Bh.rf(b), c && a.getPresentingPlayerType() !== c || E_(a, "cuerangesremoved", b)) }; + c6a = function (a) { var b = (0, g.Zt)(), c = a.getCurrentTime(); a = a.getVideoData(); c = 1E3 * (c - a.startSeconds); a.isLivePlayback && (c = 0); return b - Math.max(c, 0) }; + O_ = function (a, b, c) { a.W.Va && (a.Ri = b, b.muted || P_(a, !1), c && a.W.storeUserVolume && !a.W.Wc && (c = { volume: Math.floor(b.volume), muted: b.muted }, c.unstorable || (g.bt("yt-player-volume", c), g.bt("yt-player-volume", c, 2592E3))), d6a(a), c = g.KE && a.mediaElement && !a.mediaElement.Zh(), a.W.Wc && !c || a.Ua.Ai("onVolumeChange", { muted: b.muted, volume: b.volume, unstorable: !a.W.storeUserVolume })) }; + d6a = function (a) { var b = a.getVideoData(); if (!b.al) { b = a.W.Wc ? 1 : PLa(b); var c = a.mediaElement; c.oC(a.Ri.muted); try { c.setVolume(a.Ri.volume * b / 100) } catch (d) { g.fx(new g.pt("b183742307", "multiplier: " + b + ", volume: " + a.Ri.volume)) } } }; + P_ = function (a, b) { b !== a.tB && (a.tB = b, a.Ua.Hc("onMutedAutoplayChange", b)) }; + g.oR = function (a) { return a.tB && a.getVideoData().mutedAutoplay }; + e6a = function (a) { var b = Ns(!0); return b && (b === a.template.element || a.mediaElement && b === a.mediaElement.Ib()) ? b : null }; + g6a = function (a, b) { + var c = window.screen && window.screen.orientation; if ((a.W.L("lock_fullscreen2") || a.W.Z) && c && c.lock && (!g.KE || !f6a)) if (b) { + b = c.type.indexOf("portrait") === 0; var d = a.template.getVideoAspectRatio(), e = b; d < 1 ? e = !0 : d > 1 && (e = !1); if (!a.PG || e !== b) { + c = c.lock(e ? "portrait" : "landscape"); if (c != null) c["catch"](function () { }); + a.PG = !0 + } + } else a.PG && (a.PG = !1, c.unlock()) + }; + E_ = function (a, b, c) { + a.Ua.publish(b, c); var d = g.OC(a.W) || g.PO(a.W) || g.hz(a.W); if (c && d) { + switch (b) { case "cuerangemarkersupdated": var e = "onCueRangeMarkersUpdated"; break; case "cuerangesadded": e = "onCueRangesAdded"; break; case "cuerangesremoved": e = "onCueRangesRemoved" }e && a.Ua.ib(e, c.map(function (f) { + return { + getId: function () { return this.id }, + end: f.end, id: f.getId(), namespace: f.namespace === "ad" ? "ad" : "", start: f.start, style: f.style, visible: f.visible + } + })) + } + }; + X_ = function (a, b, c, d, e, f) { c = c === void 0 ? !0 : c; var h = g.qR(a, e); h && (h.getPlayerType() === 2 && !a.Ef(h) || g.IQ(h.getVideoData())) || (a.getPresentingPlayerType() === 3 ? BR(a.Rd).zG("control_seek", b, c) : (h === a.tb && a.Db && !P5a(a, b) && a.setLoopRange(null), a.seekTo(b, c, d, e, f))) }; + F5a = function (a, b, c) { + c && (a.Rj(), D_(a)); c = g.qR(a); c.Id(new FE("staleconfig", { reason: b })); var d = a.getVideoData(), e = {}; e.video_id = d.videoId; e.adformat = d.adFormat; d.isLivePlayback ? iQ(d) && g.MC(a.W) && (e.live_utc_start = c.bf(), e.resume = "1") : (e.start = c.getCurrentTime(), e.resume = "1"); d.ra && (e.vvt = d.ra); d.K && (e.vss_credentials_token = d.K, e.vss_credentials_token_type = d.xn); d.oauthToken && (e.oauth_token = d.oauthToken); d.Dn && (e.force_gvi = d.Dn); e.autoplay = 1; e.reload_count = d.yc + 1; e.reload_reason = b; d.aD && (e.unplugged_partner_opt_out = + d.aD); d.Wi && (e.ypc_is_premiere_trailer = d.Wi); d.playerParams && (e.player_params = d.playerParams); a.loadVideoByPlayerVars(e, void 0, !0); b === "signature" && a.ue && K5a(a) + }; + h6a = function (a, b) { a.Od().autonavState = b; g.bt("yt-player-autonavstate", b); a.Ua.publish("autonavchange", b) }; + i6a = function (a) { var b = a.getVideoData().al, c = a.W.ob, d = a.isInline() && !a.getVideoData().z1, e = a.mediaElement; b || c || d ? e.nP() : (e.rP(), O_(a, a.Ri)) }; + S_ = function (a) { var b = uU(a.Bb()); b && b.created && (a.logger.debug("reset ad module"), b.destroy()) }; + R_ = function (a) { return a.getVideoData().enableServerStitchedDai && !!a.ue }; + j6a = function (a, b) { b.bounds = a.getBoundingClientRect(); for (var c = g.w(["display", "opacity", "visibility", "zIndex"]), d = c.next(); !d.done; d = c.next())d = d.value, b[d] = nm(a, d); b.hidden = !!a.hidden }; + JVa = function (a) { if (a.webPlayerContextConfig) { var b = a.webPlayerContextConfig.trustedJsUrl; return b ? Jq(b).toString() : a.webPlayerContextConfig.jsUrl } return a.config.assets && a.config.assets.js ? a.config.assets.js : "" }; + k6a = function (a) { return a.isTimeout ? "NO_BID" : "ERR_BID" }; + l6a = function () { + var a = null; xna().then(function (b) { return a = b }, function (b) { return a = k6a(b) }); + return a + }; + m6a = function () { var a = Oe(1E3, "NO_BID"); return Ke(kca([xna(), a]).Wk(k6a), function () { a.cancel() }) }; + Y_ = function (a) { return a.ge ? g.kt(g.it(), 140) ? "STATE_OFF" : "STATE_ON" : "STATE_NONE" }; + Z_ = function (a) { this.player = a; this.C = this.j = 1 }; + p6a = function (a, b, c, d, e) { + b.client || (b.client = {}); a.player.U().L("h5_remove_url_for_get_ad_break") || (b.client.originalUrl = c); var f = Cr(c), h = g.Ni(c) ? !1 : !0; (f || h) && typeof Intl !== "undefined" && (b.client.timeZone = (new Intl.DateTimeFormat).resolvedOptions().timeZone); h = g.Ni(c) ? !1 : !0; if (f || h || d !== "") { + var l = {}; c = wr(Hr(d)).split("&"); var m = new Map; c.forEach(function (n) { n = n.split("="); n.length > 1 && m.set(n[0].toString(), decodeURIComponent(n[1].toString())) }); + m.has("bid") && (l.bid = m.get("bid")); l.params = []; n6a.forEach(function (n) { m.has(n) && (n = { key: n, value: m.get(n) }, l.params.push(n)) }); + o6a(a, l); b.adSignalsInfo = l + } b.client.unpluggedAppInfo || (b.client.unpluggedAppInfo = {}); b.client.unpluggedAppInfo.enableFilterMode = !1; a = e.j.cosver; a != null && a !== "cosver" && (b.client.osVersion = a); a = e.j.cplatform; a != null && a !== "cplatform" && a !== "" && (b.client.platform = a); a = e.j.cmodel; a != null && a !== "cmodel" && (b.client.deviceModel = a); a = e.j.cplayer; a != null && a !== "cplayer" && (b.client.playerType = a); e = e.j.cbrand; e != null && e !== "cbrand" && (b.client.deviceMake = e); b.user || (b.user = {}); b.user.lockedSafetyMode = !1 + }; + s6a = function (a, b) { + var c = !1; if (b === "") return c; b.split(",").forEach(function (d) { var e = {}, f = { clientName: "UNKNOWN_INTERFACE", platform: "UNKNOWN_PLATFORM", clientVersion: "" }, h = "ACTIVE"; d[0] === "!" && (d = d.substring(1), h = "INACTIVE"); d = d.split("-"); d.length < 3 || (d[0] in q6a && (f.clientName = q6a[d[0]]), d[1] in r6a && (f.platform = r6a[d[1]]), f.applicationState = h, f.clientVersion = d.length > 2 ? d[2] : "", e.remoteClient = f, a.remoteContexts ? a.remoteContexts.push(e) : a.remoteContexts = [e], c = !0) }); + return c + }; + u6a = function (a) { if (!("FLAG_AUTO_CAPTIONS_DEFAULT_ON" in t6a)) return !1; a = a.split(RegExp("[:&]")); var b = t6a.FLAG_AUTO_CAPTIONS_DEFAULT_ON, c = "f" + (1 + Math.floor(b / 31)).toString(); b = 1 << Math.floor(b % 31); for (var d = 0, e = a.length; d < e; d++) { var f = a[d].split("="); if (f[0] === c && parseInt("0x" + f[1], 16) & b) return !0 } return !1 }; + o6a = function (a, b) { if (g.hO(a.player.U()) === "TVHTML5") { a = g.pr("INNERTUBE_CONTEXT"); var c, d; (a == null ? 0 : (c = a.adSignalsInfo) == null ? 0 : c.advertisingId) && typeof (a == null ? void 0 : (d = a.adSignalsInfo) == null ? void 0 : d.limitAdTracking) !== "undefined" && (b.advertisingId = a.adSignalsInfo.advertisingId, b.advertisingIdSignalType = "DEVICE_ID_TYPE_CONNECTED_TV_IFA", b.limitAdTracking = a.adSignalsInfo.limitAdTracking) } }; + C6a = function (a, b, c, d, e) { + var f = c.DRIFT_FROM_HEAD_MS && !Number.isNaN(c.DRIFT_FROM_HEAD_MS) ? Math.trunc(c.DRIFT_FROM_HEAD_MS) : 0, h = v6a.exec(b); h = h != null && h.length >= 2 ? h[1] : ""; var l = w6a.test(b), m = x6a.exec(b); m = m != null && m.length >= 2 ? m[1] : ""; var n = y6a.exec(b); n = n != null && n.length >= 2 && !Number.isNaN(Number(n[1])) ? Number(n[1]) : 1; var p = z6a.exec(b), q = p != null && p.length >= 2 ? p[1] : "0", r = TO(a.player.U().Fa); p = a.player.getVideoData(1); var t = g.uz(p.Ma, !0), u = "BISCOTTI_ID" in c ? c.BISCOTTI_ID : ""; p6a(a, t, b, u.toString(), a.player.U()); + var y = { splay: !1, lactMilliseconds: c.LACT.toString(), playerHeightPixels: Math.trunc(c.P_H), playerWidthPixels: Math.trunc(c.P_W), vis: Math.trunc(c.VIS), signatureTimestamp: 19935, autonavState: Y_(a.player.U()) }; d && (d = {}, s6a(d, c.YT_REMOTE) && (y.mdxContext = d)); if (d = A6a.includes(r) ? void 0 : g.es("PREF")) { + for (var A = d.split(RegExp("[:&]")), D = 0, F = A.length; D < F; D++) { + var H = A[D].split("="); if ((H[0].toUpperCase() === "SML" || H[0].toUpperCase() === "GSML") && H.length > 1 && H[1].toUpperCase() === "TRUE") { + t.user.lockedSafetyMode = !0; + break + } + } y.autoCaptionsDefaultOn = u6a(d) + } b = B6a.exec(b); (b = b != null && b.length >= 2 ? b[1] : "") && m && (t.user.credentialTransferTokens = [{ token: b, scope: "VIDEO" }]); b = { contentPlaybackContext: y }; h = { adBlock: Math.trunc(c.AD_BLOCK), params: h, breakIndex: n, breakPositionMs: q, clientPlaybackNonce: c.CPN, topLevelDomain: r, isProxyAdTagRequest: l, context: t, adSignalsInfoString: wr(Hr(u.toString())), overridePlaybackContext: b }; e !== void 0 && (h.cueProcessedMs = Math.round(e).toString()); m && (h.videoId = m); c.LIVE_TARGETING_CONTEXT && (h.liveTargetingParams = + c.LIVE_TARGETING_CONTEXT); c.AD_BREAK_LENGTH && (h.breakLengthMs = Math.trunc(c.AD_BREAK_LENGTH * 1E3).toString()); f && (h.driftFromHeadMs = f.toString()); h.currentMediaTimeMs = Math.round(a.player.getCurrentTime(1) * 1E3); (a = VLa(p)) && (h.getAdBreakContext = a); return h + }; + D6a = function () { Z_.apply(this, arguments) }; + E6a = function (a, b, c, d, e) { + var f = c.Sw; c = c.je; var h = a.player.U().Hj, l = { + AD_BLOCK: e, AD_BREAK_LENGTH: f ? f.Dh : 0, AUTONAV_STATE: Y_(a.player.U()), CA_TYPE: "image", CPN: a.player.getVideoData(1).clientPlaybackNonce, DRIFT_FROM_HEAD_MS: a.player.Kr() * 1E3, LACT: Wv(), LIVE_INDEX: f ? a.C++ : 1, LIVE_TARGETING_CONTEXT: f && f.context ? f.context : "", MIDROLL_POS: c ? Math.round(c.start / 1E3) : 0, MIDROLL_POS_MS: c ? Math.round(c.start) : 0, VIS: a.player.getVisibilityState(), P_H: a.player.qb().ai().height, P_W: a.player.qb().ai().width, YT_REMOTE: h ? h.join(",") : + "" + }, m = Gr(Fr); Object.keys(m).forEach(function (n) { m[n] != null && (l[n.toUpperCase()] = m[n].toString()) }); + d !== "" && (l.BISCOTTI_ID = d); d = {}; Er(b) && (d.sts = "19935", (a = a.player.U().forcedExperiments) && (d.forced_experiments = a)); return Br(g.Ho(b, l), d) + }; + F6a = function (a, b) { var c = a.player.U(), d, e = (d = a.player.getVideoData(1)) == null ? void 0 : d.oauthToken; return g.kP(c, e).then(function (f) { if (f && Dr()) { var h = fS(); gS(h, f) } return g.xA(a.player.Im(h), b, "/youtubei/v1/player/ad_break").then(function (l) { return l }) }) }; + G6a = function (a) { this.Oa = a }; + H6a = function (a) { this.J = a }; + I6a = function (a) { this.Oa = a }; + K6a = function (a) { g.O.call(this); this.dh = a; this.x6 = J6a(this) }; + J6a = function (a) { + var b = new Cua(a.dh.od); g.P(a, b); a = g.w([new G6a(a.dh.Oa), new H6a(a.dh.J), new I6a(a.dh.Oa), new SA(a.dh.Jl, a.dh.Ko), new UA, new XA(a.dh.Kf, a.dh.zl, a.dh.Oa), new TA, new RA]); for (var c = a.next(); !c.done; c = a.next())Dua(b, c.value); a = g.w(["adInfoDialogEndpoint", "adFeedbackEndpoint"]); for (c = a.next(); !c.done; c = a.next())VA(b, c.value, function () { }); + return b + }; + $_ = function (a) { var b = a.Sa, c = a.Aa; a = a.Me; var d = new FAa, e = { Nn: new xwa(b.get(), c), Aa: c }; return { Rb: new CJ(c, a, b, e), context: e, Pg: d } }; + a0 = function (a, b, c, d, e) { g.O.call(this); this.J = a; this.B = b; this.Ia = c; this.Sa = d; this.xf = e; this.listeners = []; var f = new Ws(this); g.P(this, f); f.T(a, "internalAbandon", this.BG); this.addOnDisposeCallback(function () { g.Ys(f) }) }; + b0 = function (a) { this.J = a; this.adVideoId = this.j = this.videoId = this.adCpn = this.contentCpn = null; this.G = !0; this.B = this.C = !1; this.adFormat = null; this.D = "AD_PLACEMENT_KIND_UNKNOWN"; this.actionType = "unknown_type"; this.videoStreamType = "VIDEO_STREAM_TYPE_VOD" }; + L6a = function (a) { a.contentCpn = null; a.adCpn = null; a.videoId = null; a.adVideoId = null; a.adFormat = null; a.D = "AD_PLACEMENT_KIND_UNKNOWN"; a.actionType = "unknown_type"; a.C = !1; a.B = !1 }; + M6a = function (a, b) { a = g.w(b); for (b = a.next(); !b.done; b = a.next())if ((b = b.value.renderer) && (b.instreamVideoAdRenderer || b.linearAdSequenceRenderer || b.sandwichedLinearAdRenderer || b.instreamSurveyAdRenderer)) { pA("ad_i"); g.qA({ isMonetized: !0 }); break } }; + c0 = function (a) { var b = a.J.getVideoData(1); if (!a.J.L("html5_no_video_to_ad_on_preroll") || b != null && b.Ba) a.B = !1, b = {}, a.j && a.videoId && (b.cttAuthInfo = { token: a.j, videoId: a.videoId }), rA("video_to_ad", b) }; + zG = function (a) { a.B = !1; var b = {}; a.j && a.videoId && (b.cttAuthInfo = { token: a.j, videoId: a.videoId }); rA("ad_to_video", b); N6a(a) }; + N6a = function (a) { + if (a.C) if (a.J.L("html5_no_video_to_ad_on_preroll_reset") && a.D === "AD_PLACEMENT_KIND_START" && a.actionType === "video_to_ad") mA("video_to_ad"); else { + var b = { adBreakType: cG(a.D), playerType: "LATENCY_PLAYER_HTML5", playerInfo: { preloadType: "LATENCY_PLAYER_PRELOAD_TYPE_PREBUFFER" }, videoStreamType: a.videoStreamType }; a.actionType === "ad_to_video" ? (a.contentCpn && (b.targetCpn = a.contentCpn), a.videoId && (b.targetVideoId = a.videoId)) : (a.adCpn && (b.targetCpn = a.adCpn), a.adVideoId && (b.targetVideoId = a.adVideoId)); + a.adFormat && (b.adType = a.adFormat); a.contentCpn && (b.clientPlaybackNonce = a.contentCpn); a.videoId && (b.videoId = a.videoId); a.adCpn && (b.adClientPlaybackNonce = a.adCpn); a.adVideoId && (b.adVideoId = a.adVideoId); g.qA(b, a.actionType) + } + }; + d0 = function (a) { g.O.call(this); this.J = a; this.j = new Map; this.B = new Ws(this); g.P(this, this.B); this.B.T(this.J, g.sD("ad"), this.onCueRangeEnter, this); this.B.T(this.J, g.tD("ad"), this.onCueRangeExit, this) }; + O6a = function (a, b, c, d, e) { g.qD.call(this, b, c, { id: a, namespace: "ad", priority: e, visible: d }) }; + e0 = function (a) { this.J = a }; + f0 = function (a) { this.J = a }; + P6a = function (a) { return g0(a) && QI(a, "html5_ssap_play_cached_preroll") }; + cJ = function (a, b) { return ((b === void 0 ? !1 : b) || a.J.U().Ac()) && a.J.U().L("html5_ssap_pacf_qoe_ctmp") }; + g0 = function (a) { var b, c; return (c = (b = a.J.getVideoData(1)) == null ? void 0 : g.jQ(b)) != null ? c : !1 }; + QI = function (a, b) { return a.J.U().L(b) }; + Q6a = function (a) { return a.J.U().L("substitute_ad_cpn_macro_in_ssdai") }; + WI = function (a) { var b, c, d; return ((b = a.J.getVideoData(1).getPlayerResponse()) == null ? void 0 : (c = b.playerConfig) == null ? void 0 : (d = c.daiConfig) == null ? void 0 : d.enableServerStitchedDai) || !1 }; + vAa = function (a) { return a.J.U().L("html5_enable_vod_slar_with_notify_pacf") }; + R6a = function (a) { return a.J.U().L("html5_recognize_predict_start_cue_point") }; + zI = function (a) { return a.J.U().experiments.kb("enable_desktop_player_underlay") }; + S6a = function (a) { return a.J.U().experiments.kb("html5_load_empty_player_in_media_break_sub_lra") }; + nG = function (a) { return a.J.U().experiments.kb("html5_load_ads_instead_of_cue") }; + oG = function (a) { return a.J.U().experiments.kb("html5_preload_ads") }; + h0 = function (a) { return a.J.U().experiments.kb("html5_rebase_video_to_ad_timeline") }; + wJ = function (a) { return a.J.U().experiments.kb("enable_ads_control_flow_deterministic_id_generation") }; + T6a = function (a) { return a.J.U().experiments.kb("enable_desktop_discovery_video_abandon_pings") }; + U6a = function (a) { + switch (a) { + case "audio_audible": return "adaudioaudible"; case "audio_measurable": return "adaudiomeasurable"; case "fully_viewable_audible_half_duration_impression": return "adfullyviewableaudiblehalfdurationimpression"; case "measurable_impression": return "adactiveviewmeasurable"; case "overlay_unmeasurable_impression": return "adoverlaymeasurableimpression"; case "overlay_unviewable_impression": return "adoverlayunviewableimpression"; case "overlay_viewable_end_of_session_impression": return "adoverlayviewableendofsessionimpression"; + case "overlay_viewable_immediate_impression": return "adoverlayviewableimmediateimpression"; case "viewable_impression": return "adviewableimpression"; default: return null + } + }; + V6a = function () { g.Fx.call(this); var a = this; this.j = {}; this.addOnDisposeCallback(function () { for (var b = g.w(Object.keys(a.j)), c = b.next(); !c.done; c = b.next())delete a.j[c.value] }) }; + i0 = function () { if (W6a === null) { W6a = new V6a; Dl(Go).B = "b"; var a = Dl(Go), b = zo(a) == "h" || zo(a) == "b", c = !(Il(), !1); b && c && (a.D = !0, a.G = new Pja) } return W6a }; + X6a = function (a, b, c) { a.j[b] = c }; + Y6a = function (a) { + switch (a) { + case "abandon": case "unmuted_abandon": return "abandon"; case "active_view_fully_viewable_audible_half_duration": return "fully_viewable_audible_half_duration_impression"; case "active_view_measurable": return "measurable_impression"; case "active_view_viewable": return "viewable_impression"; case "audio_audible": return "audio_audible"; case "audio_measurable": return "audio_measurable"; case "complete": case "unmuted_complete": return "complete"; case "end_fullscreen": case "unmuted_end_fullscreen": return "exitfullscreen"; + case "first_quartile": case "unmuted_first_quartile": return "firstquartile"; case "fullscreen": case "unmuted_fullscreen": return "fullscreen"; case "impression": case "unmuted_impression": return "impression"; case "midpoint": case "unmuted_midpoint": return "midpoint"; case "mute": case "unmuted_mute": return "mute"; case "pause": case "unmuted_pause": return "pause"; case "progress": case "unmuted_progress": return "progress"; case "resume": case "unmuted_resume": return "resume"; case "swipe": case "skip": case "unmuted_skip": return "skip"; + case "start": case "unmuted_start": return "start"; case "third_quartile": case "unmuted_third_quartile": return "thirdquartile"; case "unmute": case "unmuted_unmute": return "unmute"; default: return null + } + }; + j0 = function (a, b, c) { this.Ia = a; this.J = b; this.Aa = c; this.B = new Set; this.j = new Map; i0().subscribe("adactiveviewmeasurable", this.gy, this); i0().subscribe("adfullyviewableaudiblehalfdurationimpression", this.ey, this); i0().subscribe("adviewableimpression", this.iy, this); i0().subscribe("adaudioaudible", this.Yx, this); i0().subscribe("adaudiomeasurable", this.Zx, this) }; + l0 = function (a, b, c) { + var d = c.At, e = c.lI, f = c.listener, h = c.b7; c = c.Eo === void 0 ? !1 : c.Eo; if (a.j.has(b)) Ny("Unexpected registration of layout in LidarApi"); else { + if (h) { if (a.B.has(h)) return; a.B.add(h) } a.j.set(b, f); hl(Il().Lc, "fmd", 1); Zka(Dl(Go), d); var l = c ? b : void 0; X6a(i0(), b, { + SP: function () { + if (!e) return {}; var m = a.J.getPresentingPlayerType(!0), n; return (n = a.J.getVideoData(m)) != null && n.isAd() ? { + currentTime: a.Ia.get().getCurrentTimeSec(m, !1, l), duration: e, isPlaying: k0(a.Ia.get(), m).isPlaying(), isVpaid: !1, isYouTube: !0, + volume: a.Ia.get().isMuted() ? 0 : a.Ia.get().getVolume() / 100 + } : {} + } + }) + } + }; + m0 = function (a, b) { a.j.has(b) ? (a.j.delete(b), delete i0().j[b]) : Ny("Unexpected unregistration of layout in LidarApi") }; + a7a = function (a, b, c) { + var d = {}; Z6a(a, d, b, c); $6a(d); d.LACT = n0(function () { return Wv().toString() }); + d.VIS = n0(function () { return a.getVisibilityState().toString() }); + d.SDKV = "h.3.0"; d.VOL = n0(function () { return a.isMuted() ? "0" : Math.round(a.getVolume()).toString() }); + d.VED = ""; return d + }; + b7a = function (a, b) { var c = {}; if (b) return c; if (!a.kind) return g.ex(Error("AdPlacementConfig without kind")), c; if (a.kind === "AD_PLACEMENT_KIND_MILLISECONDS" || a.kind === "AD_PLACEMENT_KIND_CUE_POINT_TRIGGERED") { if (!a.adTimeOffset || !a.adTimeOffset.offsetStartMilliseconds) return g.ex(Error("malformed AdPlacementConfig")), c; c.MIDROLL_POS = n0(Yc(Math.round(Wd(a.adTimeOffset.offsetStartMilliseconds) / 1E3).toString())) } else c.MIDROLL_POS = n0(Yc("0")); return c }; + n0 = function (a) { return { toString: function () { return a() } } }; + c7a = function (a, b, c) { + function d(l, m) { (m = c[m]) && (f[l] = m) } + function e(l, m) { (m = c[m]) && (f[l] = h(m)) } + if (!c || g.Bc(c)) return a; var f = Object.assign({}, a), h = b ? encodeURIComponent : function (l) { return l }; + e("DV_VIEWABILITY", "doubleVerifyViewability"); e("IAS_VIEWABILITY", "integralAdsViewability"); e("MOAT_INIT", "moatInit"); e("MOAT_VIEWABILITY", "moatViewability"); d("GOOGLE_VIEWABILITY", "googleViewability"); d("VIEWABILITY", "viewability"); return f + }; + Z6a = function (a, b, c, d) { + b.CPN = n0(function () { var e; (e = a.getVideoData(1)) ? e = e.clientPlaybackNonce : (g.fx(Error("Video data is null.")), e = null); return e }); + b.AD_MT = n0(function () { if (d != null) var e = d; else { var f = c; a.U().L("html5_ssap_use_cpn_to_get_time") || (f = void 0); if (a.U().L("enable_h5_shorts_ad_fill_ad_mt_macro") || a.U().L("enable_desktop_discovery_pings_ad_mt_macro")) { var h = a.getPresentingPlayerType(!0), l; e = ((l = a.getVideoData(h)) == null ? 0 : l.isAd()) ? d7a(a, h, f) : 0 } else e = d7a(a, 2, f) } return Math.round(Math.max(0, e * 1E3)).toString() }); + b.MT = n0(function () { return Math.round(Math.max(0, a.getCurrentTime(1, !1) * 1E3)).toString() }); + b.P_H = n0(function () { return a.qb().ai().height.toString() }); + b.P_W = n0(function () { return a.qb().ai().width.toString() }); + b.PV_H = n0(function () { return a.qb().getVideoContentRect().height.toString() }); + b.PV_W = n0(function () { return a.qb().getVideoContentRect().width.toString() }) + }; + $6a = function (a) { a.CONN = n0(Yc("0")); a.WT = n0(function () { return Date.now().toString() }) }; + d7a = function (a, b, c) { return c !== void 0 ? a.getCurrentTime(b, !1, c) : a.getCurrentTime(b, !1) }; + e7a = function () { }; + f7a = function (a, b, c, d, e) { + var f, h, l, m, n, p, q, r, t, u, y, A, D; g.J(function (F) { + switch (F.j) { + case 1: f = !!b.scrubReferrer; h = g.Ho(b.baseUrl, c7a(c, f, d)); l = {}; if (!b.headers) { F.Ha(2); break } m = a.D(); if (!m.j) { n = m.getValue(); F.Ha(3); break } return g.G(F, m.j, 4); case 4: n = F.B; case 3: p = n; q = g.w(b.headers); for (r = q.next(); !r.done; r = q.next())switch (t = r.value, t.headerType) { + case "VISITOR_ID": g.pr("VISITOR_DATA") && (l["X-Goog-Visitor-Id"] = g.pr("VISITOR_DATA")); break; case "EOM_VISITOR_ID": g.pr("EOM_VISITOR_DATA") && (l["X-Goog-EOM-Visitor-Id"] = + g.pr("EOM_VISITOR_DATA")); break; case "USER_AUTH": p && (l.Authorization = "Bearer " + p); break; case "PLUS_PAGE_ID": (u = a.G()) && (l["X-Goog-PageId"] = u); break; case "AUTH_USER": y = a.j(); !p && y && (l["X-Goog-AuthUser"] = y); break; case "DATASYNC_ID": if (A = void 0, (A = a.C()) == null ? 0 : A.kb("enable_datasync_id_header_in_web_vss_pings")) D = a.B(), Cr(h) && g.pr("LOGGED_IN") && D && (l["X-Yt-DataSync-Id"] = D) + }"X-Goog-EOM-Visitor-Id" in l && "X-Goog-Visitor-Id" in l && delete l["X-Goog-Visitor-Id"]; case 2: g.nv(h, void 0, f, Object.keys(l).length !== + 0 ? l : void 0, "", !0, e), g.ua(F) + } + }) + }; + g7a = function (a, b, c, d, e) { this.D = a; this.G = b; this.j = c; this.B = d; this.C = e }; + h7a = function (a, b) { this.j = a; this.Aa = b }; + o0 = function (a, b, c, d, e, f, h) { + var l = l === void 0 ? new g7a(function () { var m = a.U(), n = a.getVideoData(1); return g.kP(m, n ? g.VQ(n) : "") }, function () { return a.U().pageId }, function () { return a.U().Ba }, function () { + var m; + return (m = a.U().datasyncId) != null ? m : "" + }, function () { return a.U().experiments }) : l; + this.J = a; this.B = b; this.zb = c; this.Sa = d; this.Rb = e; this.Aa = f; this.Pg = h; this.D = l; this.WH = null; this.j = new Map; this.C = new h7a(l, this.Aa) + }; + j7a = function (a, b, c, d, e) { var f = fJ(a.B.get(), c); f ? (c = OD(a, i7a(f), f, void 0, void 0, d), b.hasOwnProperty("baseUrl") ? a.D.send(b, c) : a.C.send(b, c, {}, e)) : Ny("Trying to ping from an unknown layout", void 0, void 0, { layoutId: c }) }; + Hva = function (a, b, c, d, e, f) { + d = d === void 0 ? [] : d; var h = fJ(a.B.get(), b); if (h) { var l = a.zb.get().Rh(b, c), m = OD(a, i7a(h), h, e, f); d.forEach(function (n, p) { n.baseUrl && (a.C.send(n.baseUrl, m, l, n.attributionSrcMode), n.serializedAdPingMetadata && a.Rb.qs("ADS_CLIENT_EVENT_TYPE_PING_DISPATCHED", void 0, void 0, void 0, void 0, h, new hya(n, p), void 0, void 0, h.adLayoutLoggingData)) }) } else Ny("Trying to track from an unknown layout.", void 0, void 0, { + layoutId: b, + trackingType: c + }) + }; + GG = function (a, b) { g.Ht("adsClientStateChange", b) }; + k7a = function (a, b) { a.j.has(b.oA()) ? Ny("Trying to register an existing AdErrorInfoSupplier.") : a.j.set(b.oA(), b) }; + l7a = function (a, b) { a.j.delete(b.oA()) || Ny("Trying to unregister a AdErrorInfoSupplier that has not been registered yet.") }; + JG = function (a, b, c) { typeof c === "string" ? a.J.getVideoData(1).Fy(b, c) : a.J.getVideoData(1).oa(b, c) }; + i7a = function (a) { var b = tC(a.Ca, "metadata_type_ad_placement_config"); a = tC(a.Ca, "metadata_type_media_sub_layout_index"); return { adPlacementConfig: b, C_: a } }; + OD = function (a, b, c, d, e, f) { + var h = c ? m7a(a) : {}, l = c ? n7a(a, c.layoutId) : {}, m = o7a(a), n, p = e != null ? e : (n = ZF(a.Sa.get(), 2)) == null ? void 0 : n.clientPlaybackNonce; a.J.U().L("enable_player_logging_lr_home_infeed_ads") && !p && (p = ZF(a.Sa.get(), 1).clientPlaybackNonce); e = void 0; if (c) { var q; if ((q = a.Pg.j.get(c.layoutId)) == null ? 0 : q.Eo) e = c.layoutId } q = {}; a = Object.assign({}, a7a(a.J, e, d), b7a(b.adPlacementConfig, (c == null ? void 0 : c.renderingContent) !== void 0), l, h, m, (q.FINAL = n0(function () { return "1" }), q.AD_CPN = n0(function () { + return p || + "" + }), q)); + (c == null ? void 0 : c.renderingContent) !== void 0 || (a.SLOT_POS = n0(function () { return (b.C_ || 0).toString() })); + c = {}; f = Object.assign({}, a, f); a = g.w(Object.values(p7a)); for (d = a.next(); !d.done; d = a.next())d = d.value, h = f[d], h != null && h.toString() != null && (c[d] = h.toString()); return c + }; + m7a = function (a) { + var b = {}, c, d = (c = a.WH) == null ? void 0 : c.qj / 1E3; d != null && (b.SURVEY_ELAPSED_MS = n0(function () { return Math.round(d * 1E3).toString() })); + b.SURVEY_LOCAL_TIME_EPOCH_S = n0(function () { return Math.round(Date.now() / 1E3).toString() }); + return b + }; + n7a = function (a, b) { a = a.j.get(b); if (!a) return {}; a = a.HP(); if (!a) return {}; b = {}; return b.YT_ERROR_CODE = a.jN.toString(), b.ERRORCODE = a.kI.toString(), b.ERROR_MSG = a.errorMessage, b }; + o7a = function (a) { + var b = {}, c = a.J.getVideoData(1); b.ASR = n0(function () { var d; return (d = c == null ? void 0 : c.Sv) != null ? d : null }); + b.EI = n0(function () { var d; return (d = c == null ? void 0 : c.eventId) != null ? d : null }); + return b + }; + p0 = function (a, b, c) { g.O.call(this); this.J = a; this.Ss = b; this.Aa = c; this.listeners = []; this.kR = null; this.mO = new Map; b = new g.OE(this); g.P(this, b); b.T(a, "videodatachange", this.Fca); b.T(a, "serverstitchedvideochange", this.hca); this.Tw = ZF(this) }; + ZF = function (a, b) { var c = a.J.getVideoData(b); return c ? a.YI(c, b || a.J.getPresentingPlayerType(!0)) : null }; + q7a = function (a, b, c) { var d = a.YI(b, c); a.Tw = d; a.listeners.forEach(function (e) { e.CL(d) }) }; + zE = function (a, b, c) { a.J.getVideoData(1).oa(b, c) }; + r7a = function (a) { switch (a) { case 1: return 1; case 2: return 2; case 3: return 3; case 4: return 4; case 5: return 5; case 6: return 6; case 7: return 7 } }; + q0 = function (a, b, c) { + g.O.call(this); this.J = a; this.Sa = b; this.Aa = c; this.listeners = []; this.wE = []; this.j = function () { Ny("Called 'doUnlockPreroll' before it's initialized.") }; + b = new Ws(this); c = new g.OE(this); g.P(this, c); g.P(this, b); b.T(a, "progresssync", this.Hba); b.T(a, "presentingplayerstatechange", this.yba); b.T(a, "fullscreentoggled", this.onFullscreenToggled); b.T(a, "onVolumeChange", this.onVolumeChange); b.T(a, "minimized", this.oh); b.T(a, "overlayvisibilitychange", this.Jj); b.T(a, "shortsadswipe", this.Lj); b.T(a, "resize", this.kc); c.T(a, g.sD("appad"), this.Ij) + }; + r0 = function (a) { g0(a.Aa.get()) || a.j() }; + s7a = function (a, b) { a.wE = a.wE.filter(function (c) { return c !== b }) }; + s0 = function (a, b, c) { return a.getCurrentTimeSec(b, c) }; + t7a = function (a, b) { var c; b = (c = a.Sa.get().mO.get(b)) != null ? c : null; if (b === null) return Ny("Expected ad video start time on playback timeline"), 0; a = a.J.getCurrentTime(2, !0); return a < b ? 0 : a - b }; + k0 = function (a, b) { return a.J.getPlayerStateObject(b) }; + u7a = function (a) { var b = a.J.qb().ai(); a = a.J.Zn(!0, !0); return b.height - (a.height + a.top) }; + v7a = function (a) { a.J.cueVideoByPlayerVars({ videoId: "empty_video" }, 2) }; + bxa = function (a, b) { var c = a.J.U(); g.NO(c) || c.controlsType !== "3" || a.J.qb().xM(b) }; + t0 = function (a, b) { g.np(a.J.getRootNode(), b) }; + u0 = function (a, b) { g.pp(a.J.getRootNode(), b) }; + w7a = function (a, b, c, d, e) { + g.O.call(this); var f = this, h = bD(function () { return new vJ(f.Aa) }); + g.P(this, h); var l = bD(function () { return new xJ(h, f.Aa) }); + g.P(this, l); var m = bD(function () { return new dJ }); + g.P(this, m); d = bD(function () { return new aJ(a) }); + g.P(this, d); var n = bD(function () { return new yJ(h, l, f.Aa) }); + g.P(this, n); var p = bD(function () { return new DJ }); + g.P(this, p); this.Mb = bD(function () { return new dD(e) }); + g.P(this, this.Mb); this.zc = bD(function () { return new b0(b) }); + g.P(this, this.zc); this.Pc = bD(function () { return new d0(b) }); + g.P(this, this.Pc); this.od = bD(function () { return new e0(b) }); + g.P(this, this.od); this.Aa = bD(function () { return new f0(b) }); + g.P(this, this.Aa); var q = bD(function () { return new BC(f.Aa) }); + g.P(this, q); var r = bD(function () { return new SI(h, n, l, f.Aa, q, null, null, null) }); + g.P(this, r); this.Sa = bD(function () { return new p0(b, p, f.Aa) }); + g.P(this, this.Sa); var t = $_({ Sa: this.Sa, Aa: this.Aa, Me: q }), u = t.context, y = t.Pg; this.Rb = t.Rb; this.Ia = bD(function () { return new q0(b, f.Sa, f.Aa) }); + g.P(this, this.Ia); this.zb = bD(function () { return new j0(f.Ia, b, f.Aa) }); + g.P(this, this.zb); this.Oa = bD(function () { return new o0(b, m, f.zb, f.Sa, f.Rb, f.Aa, y) }); + g.P(this, this.Oa); this.Sd = new $I(d, r, c, this.Aa, a, this.Sa, this.Ia, this.zc); g.P(this, this.Sd); var A = new a0(b, this.Sd, this.Ia, this.Sa); this.yh = bD(function () { return A }); + this.jy = A; this.Fg = new bJ(d, n, this.Pc, this.yh, u); g.P(this, this.Fg); this.Td = new pI(this.Aa, d, n, r, this.Sa, this.Fg, c); g.P(this, this.Td); this.ph = { GB: new Map, St: new Map, vn: new Map, zv: new Map, Fu: new Map }; this.listeners = []; this.cB = { + Td: this.Td, zl: this.Aa.get(), jb: this.Mb.get(), NB: this.Ia.get(), Sd: this.Sd, wx: h.get(), aG: null, Ko: { sQ: function () { } }, + Jl: m.get(), Kf: this.Sa.get() + } + }; + v0 = function (a, b) { g.O.call(this); this.Io = b; this.Io.get().addListener(this) }; + w0 = function (a) { this.j = a }; + x7a = function (a, b) { + if (!a) return { Cw: [], adSlots: [], DC: !0, ssdaiAdsConfig: void 0 }; a.trackingParams && RK(a.trackingParams); if (a.adThrottled) return { Cw: [], adSlots: [], DC: !0, ssdaiAdsConfig: void 0 }; var c, d = (c = a.adSlots) != null ? c : [], e; c = (e = a.playerAds) != null ? e : []; if (!(c && c.length || d.length)) return { Cw: [], adSlots: d, DC: !1, ssdaiAdsConfig: void 0 }; e = c.map(function (h) { return h.adPlacementRenderer }).filter(function (h) { return !(!h || !h.renderer) }); + if (!e.length && !d.length) return { Cw: [], adSlots: d, DC: !1, ssdaiAdsConfig: void 0 }; if (b.end > 0) { + var f = b.end.toString(); e.forEach(function (h) { (h = h.config && h.config.adPlacementConfig) && h.kind === "AD_PLACEMENT_KIND_MILLISECONDS" && h.adTimeOffset && h.adTimeOffset.offsetEndMilliseconds === "-1" && h.adTimeOffset.offsetEndMilliseconds !== f && (h.adTimeOffset.offsetEndMilliseconds = f) }); + d.map(function (h) { return g.R(h, qI) }).forEach(function (h) { + var l; + (h = h == null ? void 0 : (l = h.slotEntryTrigger) == null ? void 0 : l.mediaTimeRangeTrigger) && h.offsetEndMilliseconds === "-1" && (h.offsetEndMilliseconds = f) + }) + } return { + Cw: e, + adSlots: d, DC: !1, ssdaiAdsConfig: a.ssdaiAdsConfig + } + }; + x0 = function (a) { g.O.call(this); this.J = a; this.listeners = []; this.j = new Ws(this); g.P(this, this.j); this.j.T(this.J, "aduxclicked", this.onAdUxClicked); this.j.T(this.J, "aduxmouseover", this.KR); this.j.T(this.J, "aduxmouseout", this.JR); this.j.T(this.J, "muteadaccepted", this.daa) }; + y7a = function (a, b, c) { + b = g.Al(b, function (d) { return new Fsa(d, c, d.id) }); + a.J.ib("onAdUxUpdate", b) + }; + y0 = function (a, b) { a = g.w(a.listeners); for (var c = a.next(); !c.done; c = a.next())b(c.value) }; + z0 = function (a, b) { this.B = a; this.C = b === void 0 ? !1 : b; this.j = {} }; + z7a = function (a, b) { var c = a.startSecs + a.Dh; c = c <= 0 ? null : c; if (c === null) return null; switch (a.event) { case "start": case "continue": case "stop": break; case "predictStart": if (b) break; return null; default: return null }b = Math.max(a.startSecs, 0); return { L7: new Dp(b, c), c$: new ZL(b, c - b, a.context, a.identifier, a.event, a.j) } }; + A7a = function () { this.j = [] }; + zxa = function (a, b, c) { var d = g.Yb(a.j, b); if (d >= 0) return b; b = -d - 1; return b >= a.j.length || a.j[b] > c ? null : a.j[b] }; + A0 = function (a, b, c) { g.O.call(this); this.J = a; this.Aa = b; this.Oa = c; this.listeners = []; this.D = !1; this.WM = []; this.B = null; this.G = new z0(this, R6a(b.get())); this.C = new A7a; this.j = null }; + B7a = function (a, b) { a.WM.push(b); for (var c = !1, d = g.w(a.listeners), e = d.next(); !e.done; e = d.next())c = e.value.m0(b) || c; a.D = c }; + D7a = function (a, b) { GG(a.Oa.get(), { cuepointTrigger: { event: C7a(b.event), cuepointId: b.identifier, totalCueDurationMs: b.Dh * 1E3, playheadTimeMs: b.j, cueStartTimeMs: b.startSecs * 1E3, cuepointReceivedTimeMs: Date.now(), contentCpn: a.J.getVideoData(1).clientPlaybackNonce } }) }; + C7a = function (a) { switch (a) { case "unknown": return "CUEPOINT_EVENT_UNKNOWN"; case "start": return "CUEPOINT_EVENT_START"; case "continue": return "CUEPOINT_EVENT_CONTINUE"; case "stop": return "CUEPOINT_EVENT_STOP"; case "predictStart": return "CUEPOINT_EVENT_PREDICT_START"; default: return Ld(a, "Unexpected cuepoint event") } }; + B0 = function (a) { this.J = a }; + E7a = function (a, b) { a.J.cueVideoByPlayerVars(b, 2) }; + C0 = function (a) { this.J = a }; + D0 = function (a) { this.J = a }; + F7a = function (a) { this.J = a }; + G7a = function (a, b, c, d, e) { + g.O.call(this); var f = this, h = bD(function () { return new vJ(f.Aa) }); + g.P(this, h); var l = bD(function () { return new xJ(h, f.Aa) }); + g.P(this, l); var m = bD(function () { return new dJ }); + g.P(this, m); var n = bD(function () { return new aJ(a) }); + g.P(this, n); var p = bD(function () { return new yJ(h, l, f.Aa) }); + g.P(this, p); var q = bD(function () { return new DJ }); + g.P(this, q); this.Bc = bD(function () { return new x0(b) }); + g.P(this, this.Bc); this.Mb = bD(function () { return new dD(e) }); + g.P(this, this.Mb); this.zc = bD(function () { return new b0(b) }); + g.P(this, this.zc); this.Pc = bD(function () { return new d0(b) }); + g.P(this, this.Pc); this.md = bD(function () { return new B0(b) }); + g.P(this, this.md); this.od = bD(function () { return new e0(b) }); + g.P(this, this.od); this.Aa = bD(function () { return new f0(b) }); + g.P(this, this.Aa); var r = bD(function () { return new w0(d) }); + g.P(this, r); var t = bD(function () { return new BC(f.Aa) }); + g.P(this, t); this.Yf = bD(function () { return new C0(b) }); + g.P(this, this.Yf); this.Io = bD(function () { return new gD }); + g.P(this, this.Io); this.Sa = bD(function () { return new p0(b, q, f.Aa) }); + g.P(this, this.Sa); var u = $_({ Sa: this.Sa, Aa: this.Aa, Me: t }), y = u.context, A = u.Pg; this.Rb = u.Rb; this.xf = bD(function () { return new A0(b, f.Aa, f.Oa) }); + g.P(this, this.xf); this.Gc = bD(function () { return new D0(b) }); + g.P(this, this.Gc); this.Ia = bD(function () { return new q0(b, f.Sa, f.Aa) }); + g.P(this, this.Ia); u = bD(function () { return new SI(h, p, l, f.Aa, t, "SLOT_TYPE_ABOVE_FEED", f.Ia, f.rk) }); + g.P(this, u); this.hf = bD(function () { return new hD }); + this.zb = bD(function () { return new j0(f.Ia, b, f.Aa) }); + g.P(this, this.zb); this.Oa = bD(function () { return new o0(b, m, f.zb, f.Sa, f.Rb, f.Aa, A) }); + g.P(this, this.Oa); this.Rk = new ZI(YI, E0, function (F, H, M, N) { return yI(l.get(), F, H, M, N) }, n, p, l, t, this.Aa, this.Sa); + g.P(this, this.Rk); this.Sd = new $I(n, u, c, this.Aa, a, this.Sa, this.Ia, this.zc); g.P(this, this.Sd); var D = new a0(b, this.Sd, this.Ia, this.Sa, this.xf); this.yh = bD(function () { return D }); + this.jy = D; this.rk = new VI(n, p, this.yh, this.xf, this.Ia, this.Aa, this.Oa, this.Gc); g.P(this, this.rk); this.Fg = new bJ(n, p, this.Pc, this.yh, y); g.P(this, this.Fg); this.Td = new pI(this.Aa, n, p, u, this.Sa, this.Fg, c); g.P(this, this.Td); this.fk = bD(function () { return new zD(r, l, t, f.Aa, f.Oa, f.Ia, f.Gc) }); + g.P(this, this.fk); this.Ye = bD(function () { return new AD }); + g.P(this, this.Ye); this.Xg = new kJ(a, this.Bc, this.Aa); g.P(this, this.Xg); this.Yb = new lJ(a); g.P(this, this.Yb); this.Ow = new mJ(a); g.P(this, this.Ow); this.Ah = new oJ(a, this.yh, y); g.P(this, this.Ah); this.yf = new pJ(a, this.Pc, this.Ia, this.Sa, y); g.P(this, this.yf); this.Ox = new qJ(a, this.Sa); g.P(this, this.Ox); this.gf = new rJ(a); g.P(this, this.gf); this.Yd = new uJ(a); g.P(this, this.Yd); this.Nk = new sJ(a); g.P(this, this.Nk); this.Wy = new tJ(a); g.P(this, this.Wy); this.Yd = new uJ(a); g.P(this, this.Yd); this.Qe = bD(function () { return new gJ }); + g.P(this, this.Qe); this.Sk = bD(function () { return new hJ(f.Ia) }); + g.P(this, this.Sk); this.LW = bD(function () { return new bwa(f.Bc, f.Oa, a, m, f.zb) }); + g.P(this, this.LW); this.ek = bD(function () { return new gE(f.Td, n, h) }); + g.P(this, this.ek); this.xk = bD(function () { return new lE(f.Aa, f.Oa, f.gf, f.zb) }); + g.P(this, this.xk); this.Qk = bD(function () { return new fH(a, f.Yd, f.gf, f.Sa, f.Gc, f.Ia, f.Oa, q, f.xf, f.zb, f.hf, f.md, f.Pc, f.zc, f.od, f.Mb, f.Yf, f.Aa, m, y, A) }); + g.P(this, this.Qk); this.JS = bD(function () { return new pwa(f.Ia, f.Oa, f.Aa, f.zb) }); + g.P(this, this.JS); this.uu = bD(function () { return new Xxa(f.Bc, f.Ia, f.Oa, m, f.zb, f.Ow, f.Wy, f.Mb, f.Aa, c) }); + g.P(this, this.uu); this.s3 = bD(function () { return new cwa(f.Bc) }); + g.P(this, this.s3); this.iO = new v0(a, this.Io, h); g.P(this, this.iO); this.ph = { + GB: new Map([["OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", this.Td], ["OPPORTUNITY_TYPE_LIVE_STREAM_BREAK_SIGNAL", this.rk], ["OPPORTUNITY_TYPE_PLAYER_BYTES_MEDIA_LAYOUT_ENTERED", this.Rk], ["OPPORTUNITY_TYPE_PLAYER_RESPONSE_RECEIVED", this.Sd], ["OPPORTUNITY_TYPE_THROTTLED_AD_BREAK_REQUEST_SLOT_REENTRY", this.Fg]]), St: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.fk], ["SLOT_TYPE_ABOVE_FEED", this.Ye], ["SLOT_TYPE_FORECASTING", this.Ye], + ["SLOT_TYPE_IN_PLAYER", this.Ye], ["SLOT_TYPE_PLAYER_BYTES", this.Ye], ["SLOT_TYPE_PLAYER_UNDERLAY", this.Ye], ["SLOT_TYPE_PLAYBACK_TRACKING", this.Ye], ["SLOT_TYPE_PLAYER_BYTES_SEQUENCE_ITEM", this.Ye]]), vn: new Map([["TRIGGER_TYPE_SKIP_REQUESTED", this.Xg], ["TRIGGER_TYPE_SURVEY_SUBMITTED", this.Xg], ["TRIGGER_TYPE_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_LAYOUT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_LAYOUT_EXITED_FOR_REASON", this.Yb], ["TRIGGER_TYPE_ON_DIFFERENT_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_ENTERED", + this.Yb], ["TRIGGER_TYPE_SLOT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_NON_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_SCHEDULED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_UNSCHEDULED", this.Yb], ["TRIGGER_TYPE_ON_DIFFERENT_SLOT_ID_ENTER_REQUESTED", this.Yb], ["TRIGGER_TYPE_CLOSE_REQUESTED", this.Ow], ["TRIGGER_TYPE_BEFORE_CONTENT_VIDEO_ID_STARTED", this.Ah], ["TRIGGER_TYPE_PROGRESS_PAST_MEDIA_TIME_WITH_OFFSET_RELATIVE_TO_LAYOUT_ENTER", this.yf], ["TRIGGER_TYPE_SEEK_FORWARD_PAST_MEDIA_TIME_WITH_OFFSET_RELATIVE_TO_LAYOUT_ENTER", + this.yf], ["TRIGGER_TYPE_SEEK_BACKWARD_BEFORE_LAYOUT_ENTER_TIME", this.yf], ["TRIGGER_TYPE_CONTENT_VIDEO_ID_ENDED", this.yf], ["TRIGGER_TYPE_MEDIA_TIME_RANGE", this.yf], ["TRIGGER_TYPE_MEDIA_TIME_RANGE_ALLOW_REACTIVATION_ON_USER_CANCELLED", this.yf], ["TRIGGER_TYPE_NOT_IN_MEDIA_TIME_RANGE", this.yf], ["TRIGGER_TYPE_LIVE_STREAM_BREAK_STARTED", this.Ox], ["TRIGGER_TYPE_LIVE_STREAM_BREAK_ENDED", this.Ox], ["TRIGGER_TYPE_ON_LAYOUT_SELF_EXIT_REQUESTED", this.gf], ["TRIGGER_TYPE_ON_NEW_PLAYBACK_AFTER_CONTENT_VIDEO_ID", + this.Ah], ["TRIGGER_TYPE_ON_OPPORTUNITY_TYPE_RECEIVED", this.Nk], ["TRIGGER_TYPE_TIME_RELATIVE_TO_LAYOUT_ENTER", this.Wy], ["TRIGGER_TYPE_AD_BREAK_STARTED", this.Yd]]), zv: new Map([["SLOT_TYPE_ABOVE_FEED", this.Qe], ["SLOT_TYPE_AD_BREAK_REQUEST", this.Qe], ["SLOT_TYPE_FORECASTING", this.Qe], ["SLOT_TYPE_IN_PLAYER", this.Qe], ["SLOT_TYPE_PLAYER_BYTES", this.Sk], ["SLOT_TYPE_PLAYER_UNDERLAY", this.Qe], ["SLOT_TYPE_PLAYBACK_TRACKING", this.Qe], ["SLOT_TYPE_PLAYER_BYTES_SEQUENCE_ITEM", this.Qe]]), Fu: new Map([["SLOT_TYPE_ABOVE_FEED", + this.LW], ["SLOT_TYPE_AD_BREAK_REQUEST", this.ek], ["SLOT_TYPE_FORECASTING", this.xk], ["SLOT_TYPE_PLAYER_BYTES", this.Qk], ["SLOT_TYPE_PLAYBACK_TRACKING", this.JS], ["SLOT_TYPE_PLAYER_BYTES_SEQUENCE_ITEM", this.JS], ["SLOT_TYPE_IN_PLAYER", this.uu], ["SLOT_TYPE_PLAYER_UNDERLAY", this.s3]]) + }; this.listeners = [m.get()]; this.cB = { Td: this.Td, zl: this.Aa.get(), jb: this.Mb.get(), NB: this.Ia.get(), Sd: this.Sd, wx: h.get(), aG: this.Io.get(), Ko: this.Xg, Jl: m.get(), Kf: this.Sa.get() } + }; + H7a = function (a, b, c, d, e) { + g.O.call(this); var f = this, h = bD(function () { return new vJ(f.Aa) }); + g.P(this, h); var l = bD(function () { return new xJ(h, f.Aa) }); + g.P(this, l); var m = bD(function () { return new dJ }); + g.P(this, m); var n = bD(function () { return new aJ(a) }); + g.P(this, n); var p = bD(function () { return new yJ(h, l, f.Aa) }); + g.P(this, p); var q = bD(function () { return new DJ }); + g.P(this, q); this.Bc = bD(function () { return new x0(b) }); + g.P(this, this.Bc); this.Mb = bD(function () { return new dD(e) }); + g.P(this, this.Mb); this.zc = bD(function () { return new b0(b) }); + g.P(this, this.zc); this.Pc = bD(function () { return new d0(b) }); + g.P(this, this.Pc); this.md = bD(function () { return new B0(b) }); + g.P(this, this.md); this.od = bD(function () { return new e0(b) }); + g.P(this, this.od); this.Aa = bD(function () { return new f0(b) }); + g.P(this, this.Aa); var r = bD(function () { return new w0(d) }); + g.P(this, r); var t = bD(function () { return new BC(f.Aa) }); + g.P(this, t); var u = bD(function () { return new SI(h, p, l, f.Aa, t, null, null, f.rk) }); + g.P(this, u); this.Yf = bD(function () { return new C0(b) }); + g.P(this, this.Yf); this.Io = bD(function () { return new gD }); + g.P(this, this.Io); this.Sa = bD(function () { return new p0(b, q, f.Aa) }); + g.P(this, this.Sa); var y = $_({ Sa: this.Sa, Aa: this.Aa, Me: t }), A = y.context, D = y.Pg; this.Rb = y.Rb; this.xf = bD(function () { return new A0(b, f.Aa, f.Oa) }); + this.Ia = bD(function () { return new q0(b, f.Sa, f.Aa) }); + g.P(this, this.Ia); this.zb = bD(function () { return new j0(f.Ia, b, f.Aa) }); + g.P(this, this.zb); this.Oa = bD(function () { return new o0(b, m, f.zb, f.Sa, f.Rb, f.Aa, D) }); + g.P(this, this.Oa); this.hf = bD(function () { return new hD }); + g.P(this, this.hf); this.Rk = new ZI(YI, E0, function (H, M, N, Q) { return yI(l.get(), H, M, N, Q) }, n, p, l, t, this.Aa, this.Sa); + g.P(this, this.Rk); this.Sd = new $I(n, u, c, this.Aa, a, this.Sa, this.Ia, this.zc); g.P(this, this.Sd); var F = new a0(b, this.Sd, this.Ia, this.Sa, this.xf); this.yh = bD(function () { return F }); + this.jy = F; this.rk = new VI(n, p, this.yh, this.xf, this.Ia, this.Aa, this.Oa); g.P(this, this.rk); this.Fg = new bJ(n, p, this.Pc, this.yh, A); g.P(this, this.Fg); this.Td = new pI(this.Aa, n, p, u, this.Sa, this.Fg, c); g.P(this, this.Td); this.fk = bD(function () { return new zD(r, l, t, f.Aa, f.Oa, f.Ia) }); + g.P(this, this.fk); this.Ye = bD(function () { return new AD }); + g.P(this, this.Ye); this.Xg = new kJ(a, this.Bc, this.Aa); g.P(this, this.Xg); this.Yb = new lJ(a); g.P(this, this.Yb); this.Ow = new mJ(a); g.P(this, this.Ow); this.Ah = new oJ(a, this.yh, A); g.P(this, this.Ah); this.yf = new pJ(a, this.Pc, this.Ia, this.Sa, A); g.P(this, this.yf); this.gf = new rJ(a); g.P(this, this.gf); this.Nk = new sJ(a); g.P(this, this.Nk); this.Wy = new tJ(a); g.P(this, this.Wy); this.Gc = bD(function () { return new D0(b) }); + g.P(this, this.Gc); this.Yd = new uJ(a); g.P(this, this.Yd); this.Qe = bD(function () { return new gJ }); + g.P(this, this.Qe); this.Sk = bD(function () { return new hJ(f.Ia) }); + g.P(this, this.Sk); this.ek = bD(function () { return new gE(f.Td, n, h) }); + g.P(this, this.ek); this.xk = bD(function () { return new lE(f.Aa, f.Oa, f.gf, f.zb) }); + g.P(this, this.xk); this.uu = bD(function () { return new Yxa(f.Bc, f.Ia, f.Oa, m, f.zb, f.Ow, f.Wy, f.Mb, f.Aa, c) }); + g.P(this, this.uu); this.Qk = bD(function () { return new gH(a, f.Yd, f.gf, f.Oa, f.zb, f.hf, f.md, f.Sa, f.Ia, f.Pc, f.zc, f.od, f.Mb, f.Yf, f.Aa, f.Gc, A, D) }); + g.P(this, this.Qk); this.iO = new v0(a, this.Io, h); g.P(this, this.iO); this.ph = { + GB: new Map([["OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", this.Td], ["OPPORTUNITY_TYPE_LIVE_STREAM_BREAK_SIGNAL", this.rk], ["OPPORTUNITY_TYPE_PLAYER_BYTES_MEDIA_LAYOUT_ENTERED", this.Rk], ["OPPORTUNITY_TYPE_PLAYER_RESPONSE_RECEIVED", this.Sd], ["OPPORTUNITY_TYPE_THROTTLED_AD_BREAK_REQUEST_SLOT_REENTRY", this.Fg]]), St: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.fk], ["SLOT_TYPE_FORECASTING", this.Ye], ["SLOT_TYPE_IN_PLAYER", this.Ye], + ["SLOT_TYPE_PLAYER_BYTES", this.Ye]]), vn: new Map([["TRIGGER_TYPE_SKIP_REQUESTED", this.Xg], ["TRIGGER_TYPE_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_LAYOUT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_LAYOUT_EXITED_FOR_REASON", this.Yb], ["TRIGGER_TYPE_ON_DIFFERENT_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_NON_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_SCHEDULED", this.Yb], + ["TRIGGER_TYPE_ON_DIFFERENT_SLOT_ID_ENTER_REQUESTED", this.Yb], ["TRIGGER_TYPE_CLOSE_REQUESTED", this.Ow], ["TRIGGER_TYPE_BEFORE_CONTENT_VIDEO_ID_STARTED", this.Ah], ["TRIGGER_TYPE_CONTENT_VIDEO_ID_ENDED", this.yf], ["TRIGGER_TYPE_MEDIA_TIME_RANGE", this.yf], ["TRIGGER_TYPE_NOT_IN_MEDIA_TIME_RANGE", this.yf], ["TRIGGER_TYPE_ON_LAYOUT_SELF_EXIT_REQUESTED", this.gf], ["TRIGGER_TYPE_ON_NEW_PLAYBACK_AFTER_CONTENT_VIDEO_ID", this.Ah], ["TRIGGER_TYPE_ON_OPPORTUNITY_TYPE_RECEIVED", this.Nk], ["TRIGGER_TYPE_TIME_RELATIVE_TO_LAYOUT_ENTER", + this.Wy], ["TRIGGER_TYPE_AD_BREAK_STARTED", this.Yd]]), zv: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.Qe], ["SLOT_TYPE_FORECASTING", this.Qe], ["SLOT_TYPE_IN_PLAYER", this.Qe], ["SLOT_TYPE_PLAYER_BYTES", this.Sk]]), Fu: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.ek], ["SLOT_TYPE_FORECASTING", this.xk], ["SLOT_TYPE_IN_PLAYER", this.uu], ["SLOT_TYPE_PLAYER_BYTES", this.Qk]]) + }; this.listeners = [m.get()]; this.cB = { + Td: this.Td, zl: this.Aa.get(), jb: this.Mb.get(), NB: this.Ia.get(), Sd: this.Sd, wx: h.get(), aG: this.Io.get(), Ko: this.Xg, + Jl: m.get(), Kf: this.Sa.get() + } + }; + I7a = function (a, b, c, d, e) { + g.O.call(this); var f = this, h = bD(function () { return new vJ(f.Aa) }); + g.P(this, h); var l = bD(function () { return new xJ(h, f.Aa) }); + g.P(this, l); var m = bD(function () { return new dJ }); + g.P(this, m); var n = bD(function () { return new aJ(a) }); + g.P(this, n); var p = bD(function () { return new yJ(h, l, f.Aa) }); + g.P(this, p); var q = bD(function () { return new DJ }); + g.P(this, q); this.Bc = bD(function () { return new x0(b) }); + g.P(this, this.Bc); this.Mb = bD(function () { return new dD(e) }); + g.P(this, this.Mb); this.zc = bD(function () { return new b0(b) }); + g.P(this, this.zc); this.Pc = bD(function () { return new d0(b) }); + g.P(this, this.Pc); this.md = bD(function () { return new B0(b) }); + g.P(this, this.md); this.od = bD(function () { return new e0(b) }); + g.P(this, this.od); this.Aa = bD(function () { return new f0(b) }); + g.P(this, this.Aa); var r = bD(function () { return new w0(d) }); + g.P(this, r); var t = bD(function () { return new BC(f.Aa) }); + g.P(this, t); var u = bD(function () { return new SI(h, p, l, f.Aa, t, null, null, null) }); + g.P(this, u); this.Yf = bD(function () { return new C0(b) }); + g.P(this, this.Yf); this.Sa = bD(function () { return new p0(b, q, f.Aa) }); + g.P(this, this.Sa); var y = $_({ Sa: this.Sa, Aa: this.Aa, Me: t }), A = y.context, D = y.Pg; this.Rb = y.Rb; this.Ia = bD(function () { return new q0(b, f.Sa, f.Aa) }); + g.P(this, this.Ia); this.zb = bD(function () { return new j0(f.Ia, b, f.Aa) }); + g.P(this, this.zb); this.Oa = bD(function () { return new o0(b, m, f.zb, f.Sa, f.Rb, f.Aa, D) }); + g.P(this, this.Oa); this.hf = bD(function () { return new hD }); + g.P(this, this.hf); this.Rk = new ZI(YI, E0, function (H, M, N, Q) { return yI(l.get(), H, M, N, Q) }, n, p, l, t, this.Aa, this.Sa); + g.P(this, this.Rk); this.Sd = new $I(n, u, c, this.Aa, a, this.Sa, this.Ia, this.zc); g.P(this, this.Sd); var F = new a0(b, this.Sd, this.Ia, this.Sa); this.yh = bD(function () { return F }); + this.jy = F; this.Fg = new bJ(n, p, this.Pc, this.yh, A); g.P(this, this.Fg); this.Td = new pI(this.Aa, n, p, u, this.Sa, this.Fg, c); g.P(this, this.Td); this.fk = bD(function () { return new zD(r, l, t, f.Aa, f.Oa, f.Ia) }); + g.P(this, this.fk); this.Ye = bD(function () { return new AD }); + g.P(this, this.Ye); this.Xg = new kJ(a, this.Bc, this.Aa); g.P(this, this.Xg); this.Yb = new lJ(a); g.P(this, this.Yb); this.Ah = new oJ(a, this.yh, A); g.P(this, this.Ah); this.yf = new pJ(a, this.Pc, this.Ia, this.Sa, A); g.P(this, this.yf); this.gf = new rJ(a); g.P(this, this.gf); this.Nk = new sJ(a); g.P(this, this.Nk); this.Gc = bD(function () { return new D0(b) }); + g.P(this, this.Gc); this.Yd = new uJ(a); g.P(this, this.Yd); this.Qe = bD(function () { return new gJ }); + g.P(this, this.Qe); this.Sk = bD(function () { return new hJ(f.Ia) }); + g.P(this, this.Sk); this.ek = bD(function () { return new gE(f.Td, n, h) }); + g.P(this, this.ek); this.xk = bD(function () { return new lE(f.Aa, f.Oa, f.gf, f.zb) }); + g.P(this, this.xk); this.O0 = bD(function () { return new nwa(f.Bc, f.Ia, f.Oa, m, c, f.Aa) }); + g.P(this, this.O0); this.Qk = bD(function () { return new gH(a, f.Yd, f.gf, f.Oa, f.zb, f.hf, f.md, f.Sa, f.Ia, f.Pc, f.zc, f.od, f.Mb, f.Yf, f.Aa, f.Gc, A, D) }); + g.P(this, this.Qk); this.ph = { + GB: new Map([["OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", this.Td], ["OPPORTUNITY_TYPE_PLAYER_BYTES_MEDIA_LAYOUT_ENTERED", this.Rk], ["OPPORTUNITY_TYPE_PLAYER_RESPONSE_RECEIVED", this.Sd], ["OPPORTUNITY_TYPE_THROTTLED_AD_BREAK_REQUEST_SLOT_REENTRY", this.Fg]]), St: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.fk], ["SLOT_TYPE_FORECASTING", this.Ye], ["SLOT_TYPE_IN_PLAYER", this.Ye], ["SLOT_TYPE_PLAYER_BYTES", this.Ye]]), vn: new Map([["TRIGGER_TYPE_SKIP_REQUESTED", this.Xg], ["TRIGGER_TYPE_LAYOUT_ID_ENTERED", + this.Yb], ["TRIGGER_TYPE_LAYOUT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_LAYOUT_EXITED_FOR_REASON", this.Yb], ["TRIGGER_TYPE_ON_DIFFERENT_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_NON_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_SCHEDULED", this.Yb], ["TRIGGER_TYPE_BEFORE_CONTENT_VIDEO_ID_STARTED", this.Ah], ["TRIGGER_TYPE_CONTENT_VIDEO_ID_ENDED", this.yf], ["TRIGGER_TYPE_MEDIA_TIME_RANGE", + this.yf], ["TRIGGER_TYPE_ON_LAYOUT_SELF_EXIT_REQUESTED", this.gf], ["TRIGGER_TYPE_ON_NEW_PLAYBACK_AFTER_CONTENT_VIDEO_ID", this.Ah], ["TRIGGER_TYPE_ON_OPPORTUNITY_TYPE_RECEIVED", this.Nk], ["TRIGGER_TYPE_AD_BREAK_STARTED", this.Yd]]), zv: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.Qe], ["SLOT_TYPE_ABOVE_FEED", this.Qe], ["SLOT_TYPE_FORECASTING", this.Qe], ["SLOT_TYPE_IN_PLAYER", this.Qe], ["SLOT_TYPE_PLAYER_BYTES", this.Sk]]), Fu: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.ek], ["SLOT_TYPE_FORECASTING", this.xk], ["SLOT_TYPE_IN_PLAYER", + this.O0], ["SLOT_TYPE_PLAYER_BYTES", this.Qk]]) + }; this.listeners = [m.get()]; this.cB = { Td: this.Td, zl: this.Aa.get(), jb: this.Mb.get(), NB: this.Ia.get(), Sd: this.Sd, wx: h.get(), aG: null, Ko: this.Xg, Jl: m.get(), Kf: this.Sa.get() } + }; + J7a = function (a, b, c, d, e) { + g.O.call(this); var f = this, h = bD(function () { return new vJ(f.Aa) }); + g.P(this, h); var l = bD(function () { return new xJ(h, f.Aa) }); + g.P(this, l); var m = bD(function () { return new dJ }); + g.P(this, m); var n = bD(function () { return new aJ(a) }); + g.P(this, n); var p = bD(function () { return new yJ(h, l, f.Aa) }); + g.P(this, p); var q = bD(function () { return new DJ }); + g.P(this, q); this.Fn = bD(function () { return new F7a(b) }); + g.P(this, this.Fn); this.Bc = bD(function () { return new x0(b) }); + g.P(this, this.Bc); this.Mb = bD(function () { return new dD(e) }); + g.P(this, this.Mb); this.zc = bD(function () { return new b0(b) }); + g.P(this, this.zc); this.Pc = bD(function () { return new d0(b) }); + g.P(this, this.Pc); this.md = bD(function () { return new B0(b) }); + g.P(this, this.md); this.od = bD(function () { return new e0(b) }); + g.P(this, this.od); this.Aa = bD(function () { return new f0(b) }); + g.P(this, this.Aa); var r = bD(function () { return new w0(d) }); + g.P(this, r); var t = bD(function () { return new BC(f.Aa) }); + g.P(this, t); var u = bD(function () { return new SI(h, p, l, f.Aa, t, null, null, null) }); + g.P(this, u); this.Yf = bD(function () { return new C0(b) }); + g.P(this, this.Yf); this.Sa = bD(function () { return new p0(b, q, f.Aa) }); + g.P(this, this.Sa); var y = $_({ Sa: this.Sa, Aa: this.Aa, Me: t }), A = y.context, D = y.Pg; this.Rb = y.Rb; this.Ia = bD(function () { return new q0(b, f.Sa, f.Aa) }); + g.P(this, this.Ia); this.zb = bD(function () { return new j0(f.Ia, b, f.Aa) }); + g.P(this, this.zb); this.Oa = bD(function () { return new o0(b, m, f.zb, f.Sa, f.Rb, f.Aa, D) }); + g.P(this, this.Oa); this.hf = bD(function () { return new hD }); + g.P(this, this.hf); this.Rk = new ZI(CAa, E0, function (H, M, N, Q) { return TAa(l.get(), H, M, N, Q) }, n, p, l, t, this.Aa, this.Sa); + g.P(this, this.Rk); this.Sd = new $I(n, u, c, this.Aa, a, this.Sa, this.Ia, this.zc); g.P(this, this.Sd); var F = new a0(b, this.Sd, this.Ia, this.Sa); this.yh = bD(function () { return F }); + this.jy = F; this.Fg = new bJ(n, p, this.Pc, this.yh, A); g.P(this, this.Fg); this.Td = new pI(this.Aa, n, p, u, this.Sa, this.Fg, c); g.P(this, this.Td); this.fk = bD(function () { return new zD(r, l, t, f.Aa, f.Oa, f.Ia) }); + g.P(this, this.fk); this.Ye = bD(function () { return new AD }); + g.P(this, this.Ye); this.Xg = new kJ(a, this.Bc, this.Aa); g.P(this, this.Xg); this.Yb = new lJ(a); g.P(this, this.Yb); this.Ah = new oJ(a, this.yh, A); g.P(this, this.Ah); this.yf = new pJ(a, this.Pc, this.Ia, this.Sa, A); g.P(this, this.yf); this.gf = new rJ(a); g.P(this, this.gf); this.Nk = new sJ(a); g.P(this, this.Nk); this.Gc = bD(function () { return new D0(b) }); + g.P(this, this.Gc); this.Yd = new uJ(a); g.P(this, this.Yd); this.Qe = bD(function () { return new gJ }); + g.P(this, this.Qe); this.Sk = bD(function () { return new hJ(f.Ia) }); + g.P(this, this.Sk); this.ek = bD(function () { return new gE(f.Td, n, h) }); + g.P(this, this.ek); this.xk = bD(function () { return new lE(f.Aa, f.Oa, f.gf, f.zb) }); + g.P(this, this.xk); this.Qk = bD(function () { return new gH(a, f.Yd, f.gf, f.Oa, f.zb, f.hf, f.md, f.Sa, f.Ia, f.Pc, f.zc, f.od, f.Mb, f.Yf, f.Aa, f.Gc, A, D) }); + g.P(this, this.Qk); this.P3 = bD(function () { return new $xa(f.Bc, f.Ia, f.Oa, m, f.Fn, c, f.Sa) }); + g.P(this, this.P3); this.ph = { + GB: new Map([["OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", this.Td], ["OPPORTUNITY_TYPE_PLAYER_BYTES_MEDIA_LAYOUT_ENTERED", this.Rk], ["OPPORTUNITY_TYPE_PLAYER_RESPONSE_RECEIVED", this.Sd], ["OPPORTUNITY_TYPE_THROTTLED_AD_BREAK_REQUEST_SLOT_REENTRY", this.Fg]]), St: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.fk], ["SLOT_TYPE_FORECASTING", this.Ye], ["SLOT_TYPE_IN_PLAYER", this.Ye], ["SLOT_TYPE_PLAYER_BYTES", this.Ye]]), vn: new Map([["TRIGGER_TYPE_SKIP_REQUESTED", this.Xg], ["TRIGGER_TYPE_LAYOUT_ID_ENTERED", + this.Yb], ["TRIGGER_TYPE_LAYOUT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_LAYOUT_EXITED_FOR_REASON", this.Yb], ["TRIGGER_TYPE_ON_DIFFERENT_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_NON_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_SCHEDULED", this.Yb], ["TRIGGER_TYPE_BEFORE_CONTENT_VIDEO_ID_STARTED", this.Ah], ["TRIGGER_TYPE_CONTENT_VIDEO_ID_ENDED", this.yf], ["TRIGGER_TYPE_MEDIA_TIME_RANGE", + this.yf], ["TRIGGER_TYPE_ON_LAYOUT_SELF_EXIT_REQUESTED", this.gf], ["TRIGGER_TYPE_ON_NEW_PLAYBACK_AFTER_CONTENT_VIDEO_ID", this.Ah], ["TRIGGER_TYPE_ON_OPPORTUNITY_TYPE_RECEIVED", this.Nk], ["TRIGGER_TYPE_AD_BREAK_STARTED", this.Yd]]), zv: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.Qe], ["SLOT_TYPE_FORECASTING", this.Qe], ["SLOT_TYPE_IN_PLAYER", this.Qe], ["SLOT_TYPE_PLAYER_BYTES", this.Sk]]), Fu: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.ek], ["SLOT_TYPE_FORECASTING", this.xk], ["SLOT_TYPE_IN_PLAYER", this.P3], ["SLOT_TYPE_PLAYER_BYTES", + this.Qk]]) + }; this.listeners = [m.get()]; this.cB = { Td: this.Td, zl: this.Aa.get(), jb: this.Mb.get(), NB: this.Ia.get(), Sd: this.Sd, wx: h.get(), aG: null, Ko: this.Xg, Jl: m.get(), Kf: this.Sa.get() } + }; + K7a = function (a, b, c, d, e) { + g.O.call(this); var f = this, h = bD(function () { return new vJ(f.Aa) }); + g.P(this, h); var l = bD(function () { return new xJ(h, f.Aa) }); + g.P(this, l); var m = bD(function () { return new dJ }); + g.P(this, m); var n = bD(function () { return new aJ(a) }); + g.P(this, n); var p = bD(function () { return new yJ(h, l, f.Aa) }); + g.P(this, p); var q = bD(function () { return new DJ }); + g.P(this, q); this.Fn = bD(function () { return new F7a(b) }); + g.P(this, this.Fn); this.Bc = bD(function () { return new x0(b) }); + g.P(this, this.Bc); this.Mb = bD(function () { return new dD(e) }); + g.P(this, this.Mb); this.zc = bD(function () { return new b0(b) }); + g.P(this, this.zc); this.Pc = bD(function () { return new d0(b) }); + g.P(this, this.Pc); this.md = bD(function () { return new B0(b) }); + g.P(this, this.md); this.od = bD(function () { return new e0(b) }); + g.P(this, this.od); this.Aa = bD(function () { return new f0(b) }); + g.P(this, this.Aa); var r = bD(function () { return new w0(d) }); + g.P(this, r); var t = bD(function () { return new BC(f.Aa) }); + g.P(this, t); this.Yf = bD(function () { return new C0(b) }); + g.P(this, this.Yf); this.Sa = bD(function () { return new p0(b, q, f.Aa) }); + g.P(this, this.Sa); var u = $_({ Sa: this.Sa, Aa: this.Aa, Me: t }), y = u.context, A = u.Pg; this.Rb = u.Rb; this.xf = bD(function () { return new A0(b, f.Aa, f.Oa) }); + g.P(this, this.xf); this.Gc = bD(function () { return new D0(b) }); + g.P(this, this.Gc); this.Ia = bD(function () { return new q0(b, f.Sa, f.Aa) }); + g.P(this, this.Ia); u = bD(function () { return new SI(h, p, l, f.Aa, t, null, f.Ia, f.rk, 3) }); + g.P(this, u); this.hf = bD(function () { return new hD }); + this.zb = bD(function () { return new j0(f.Ia, b, f.Aa) }); + g.P(this, this.zb); this.Oa = bD(function () { return new o0(b, m, f.zb, f.Sa, f.Rb, f.Aa, A) }); + g.P(this, this.Oa); this.Sd = new $I(n, u, c, this.Aa, a, this.Sa, this.Ia, this.zc); g.P(this, this.Sd); var D = new a0(b, this.Sd, this.Ia, this.Sa, this.xf); this.yh = bD(function () { return D }); + this.jy = D; this.Rk = new ZI(DAa, E0, function (F, H, M, N) { return TAa(l.get(), F, H, M, N) }, n, p, l, t, this.Aa, this.Sa); + g.P(this, this.Rk); this.rk = new VI(n, p, this.yh, this.xf, this.Ia, this.Aa, this.Oa, this.Gc); g.P(this, this.rk); this.Fg = new bJ(n, p, this.Pc, this.yh, y); g.P(this, this.Fg); this.Td = new pI(this.Aa, n, p, u, this.Sa, this.Fg, c); g.P(this, this.Td); this.fk = bD(function () { return new zD(r, l, t, f.Aa, f.Oa, f.Ia, f.Gc) }); + g.P(this, this.fk); this.Ye = bD(function () { return new AD }); + g.P(this, this.Ye); this.Xg = new kJ(a, this.Bc, this.Aa); g.P(this, this.Xg); this.Yb = new lJ(a); g.P(this, this.Yb); this.Ah = new oJ(a, this.yh, y); g.P(this, this.Ah); this.yf = new pJ(a, this.Pc, this.Ia, this.Sa, y); g.P(this, this.yf); this.Ox = new qJ(a, this.Sa); g.P(this, this.Ox); this.gf = new rJ(a); g.P(this, this.gf); this.Nk = new sJ(a); g.P(this, this.Nk); this.Yd = new uJ(a); g.P(this, this.Yd); this.Qe = bD(function () { return new gJ }); + g.P(this, this.Qe); this.Sk = bD(function () { return new hJ(f.Ia) }); + g.P(this, this.Sk); this.ek = bD(function () { return new gE(f.Td, n, h) }); + g.P(this, this.ek); this.xk = bD(function () { return new lE(f.Aa, f.Oa, f.gf, f.zb) }); + g.P(this, this.xk); this.Qk = bD(function () { return new fH(a, f.Yd, f.gf, f.Sa, f.Gc, f.Ia, f.Oa, q, f.xf, f.zb, f.hf, f.md, f.Pc, f.zc, f.od, f.Mb, f.Yf, f.Aa, m, y, A) }); + g.P(this, this.Qk); this.uu = bD(function () { return new aya(f.Bc, f.Ia, f.Oa, m, f.Fn, c, f.Aa, f.Sa) }); + g.P(this, this.uu); this.ph = { + GB: new Map([["OPPORTUNITY_TYPE_AD_BREAK_SERVICE_RESPONSE_RECEIVED", this.Td], ["OPPORTUNITY_TYPE_LIVE_STREAM_BREAK_SIGNAL", this.rk], ["OPPORTUNITY_TYPE_PLAYER_BYTES_MEDIA_LAYOUT_ENTERED", this.Rk], ["OPPORTUNITY_TYPE_PLAYER_RESPONSE_RECEIVED", this.Sd], ["OPPORTUNITY_TYPE_THROTTLED_AD_BREAK_REQUEST_SLOT_REENTRY", this.Fg]]), St: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.fk], ["SLOT_TYPE_FORECASTING", this.Ye], ["SLOT_TYPE_IN_PLAYER", this.Ye], ["SLOT_TYPE_PLAYER_BYTES", this.Ye]]), vn: new Map([["TRIGGER_TYPE_SKIP_REQUESTED", + this.Xg], ["TRIGGER_TYPE_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_LAYOUT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_LAYOUT_EXITED_FOR_REASON", this.Yb], ["TRIGGER_TYPE_ON_DIFFERENT_LAYOUT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_ENTERED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_EXITED", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_FULFILLED_NON_EMPTY", this.Yb], ["TRIGGER_TYPE_SLOT_ID_SCHEDULED", this.Yb], ["TRIGGER_TYPE_BEFORE_CONTENT_VIDEO_ID_STARTED", this.Ah], ["TRIGGER_TYPE_CONTENT_VIDEO_ID_ENDED", + this.yf], ["TRIGGER_TYPE_MEDIA_TIME_RANGE", this.yf], ["TRIGGER_TYPE_LIVE_STREAM_BREAK_STARTED", this.Ox], ["TRIGGER_TYPE_LIVE_STREAM_BREAK_ENDED", this.Ox], ["TRIGGER_TYPE_ON_LAYOUT_SELF_EXIT_REQUESTED", this.gf], ["TRIGGER_TYPE_ON_NEW_PLAYBACK_AFTER_CONTENT_VIDEO_ID", this.Ah], ["TRIGGER_TYPE_ON_OPPORTUNITY_TYPE_RECEIVED", this.Nk], ["TRIGGER_TYPE_AD_BREAK_STARTED", this.Yd]]), zv: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.Qe], ["SLOT_TYPE_FORECASTING", this.Qe], ["SLOT_TYPE_IN_PLAYER", this.Qe], ["SLOT_TYPE_PLAYER_BYTES", + this.Sk]]), Fu: new Map([["SLOT_TYPE_AD_BREAK_REQUEST", this.ek], ["SLOT_TYPE_FORECASTING", this.xk], ["SLOT_TYPE_PLAYER_BYTES", this.Qk], ["SLOT_TYPE_IN_PLAYER", this.uu]]) + }; this.listeners = [m.get()]; this.cB = { Td: this.Td, zl: this.Aa.get(), jb: this.Mb.get(), NB: this.Ia.get(), Sd: this.Sd, wx: h.get(), aG: null, Ko: this.Xg, Jl: m.get(), Kf: this.Sa.get() } + }; + M7a = function (a, b, c, d) { + g.O.call(this); var e = this; this.j = L7a(function () { return e.B }, a, b, c, d); + g.P(this, this.j); this.B = (new cD(this.j)).C(); g.P(this, this.B) + }; + F0 = function (a) { return a.j.cB }; + L7a = function (a, b, c, d, e) { try { var f = b.U(); if (g.bP(f)) var h = new G7a(a, b, c, d, e); else if (g.dP(f)) h = new H7a(a, b, c, d, e); else if (VO(f)) h = new I7a(a, b, c, d, e); else if (g.hz(f)) h = new J7a(a, b, c, d, e); else if (g.PO(f)) h = new K7a(a, b, c, d, e); else throw new TypeError("Unknown web interface"); return h } catch (l) { return h = b.U(), Ny("Unexpected interface not supported in Ads Control Flow", void 0, void 0, { platform: h.j.cplatform, interface: h.j.c, uoa: h.j.cver, toa: h.j.ctheme, soa: h.j.cplayer, cpa: h.playerStyle }), new w7a(a, b, c, d, e) } }; + N7a = function (a) { ry.call(this, a) }; + O7a = function (a, b, c, d, e) { + Ay.call(this, a, { I: "div", S: "ytp-ad-timed-pie-countdown-container", V: [{ I: "svg", S: "ytp-ad-timed-pie-countdown", X: { viewBox: "0 0 20 20" }, V: [{ I: "circle", S: "ytp-ad-timed-pie-countdown-background", X: { r: "10", cx: "10", cy: "10" } }, { I: "circle", S: "ytp-ad-timed-pie-countdown-inner", X: { r: "5", cx: "10", cy: "10" } }, { I: "circle", S: "ytp-ad-timed-pie-countdown-outer", X: { r: "10", cx: "10", cy: "10" } }] }] }, "timed-pie-countdown", b, c, d, e); this.ra = this.Ea("ytp-ad-timed-pie-countdown"); this.D = this.Ea("ytp-ad-timed-pie-countdown-container"); + this.B = this.Ea("ytp-ad-timed-pie-countdown-inner"); this.G = this.Ea("ytp-ad-timed-pie-countdown-outer"); this.C = Math.ceil(Math.PI * 10); this.hide() + }; + P7a = function (a, b, c, d, e, f) { + Ox.call(this, a, { + I: "div", S: "ytp-ad-action-interstitial", X: { tabindex: "0" }, V: [{ I: "div", S: "ytp-ad-action-interstitial-background-container" }, { + I: "div", S: "ytp-ad-action-interstitial-slot", V: [{ I: "div", S: "ytp-ad-action-interstitial-instream-info" }, { + I: "div", S: "ytp-ad-action-interstitial-card", V: [{ I: "div", S: "ytp-ad-action-interstitial-image-container" }, { I: "div", S: "ytp-ad-action-interstitial-headline-container" }, { I: "div", S: "ytp-ad-action-interstitial-description-container" }, { + I: "div", + S: "ytp-ad-action-interstitial-action-button-container" + }] + }] + }] + }, "ad-action-interstitial", b, c, d); this.OT = e; this.CM = f; this.navigationEndpoint = this.j = this.skipButton = this.B = this.actionButton = null; this.Ga = this.Ea("ytp-ad-action-interstitial-instream-info"); this.ra = this.Ea("ytp-ad-action-interstitial-image-container"); this.Y = new ny(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-ad-action-interstitial-image"); g.P(this, this.Y); this.Y.Ja(this.ra); this.Wa = this.Ea("ytp-ad-action-interstitial-headline-container"); + this.G = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-ad-action-interstitial-headline"); g.P(this, this.G); this.G.Ja(this.Wa); this.Va = this.Ea("ytp-ad-action-interstitial-description-container"); this.C = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-ad-action-interstitial-description"); g.P(this, this.C); this.C.Ja(this.Va); this.Xa = this.Ea("ytp-ad-action-interstitial-background-container"); this.Ka = new ny(this.api, this.layoutId, this.interactionLoggingClientData, + this.jb, "ytp-ad-action-interstitial-background", !0); g.P(this, this.Ka); this.Ka.Ja(this.Xa); this.fb = this.Ea("ytp-ad-action-interstitial-action-button-container"); this.slot = this.Ea("ytp-ad-action-interstitial-slot"); this.wf = this.Ea("ytp-ad-action-interstitial-card"); this.D = new Ws; g.P(this, this.D); this.hide() + }; + Q7a = function (a) { var b = g.de("html5-video-player"); b && g.rp(b, "ytp-ad-display-override", a) }; + U7a = function (a, b, c, d) { Ox.call(this, a, { I: "div", S: "ytp-ad-overlay-slot", V: [{ I: "div", S: "ytp-ad-overlay-container" }] }, "invideo-overlay", b, c, d); this.Y = []; this.fb = this.Ga = this.D = this.Xa = this.Va = null; this.Wa = !1; this.G = null; this.ra = 0; a = this.Ea("ytp-ad-overlay-container"); this.Ka = new Jy(a, 45E3, 6E3, .3, .4); g.P(this, this.Ka); this.C = R7a(this); g.P(this, this.C); this.C.Ja(a); this.B = S7a(this); g.P(this, this.B); this.B.Ja(a); this.j = T7a(this); g.P(this, this.j); this.j.Ja(a); this.hide() }; + R7a = function (a) { + var b = new g.Nx({ I: "div", S: "ytp-ad-text-overlay", V: [{ I: "div", S: "ytp-ad-overlay-ad-info-button-container" }, { I: "div", S: "ytp-ad-overlay-close-container", V: [{ I: "button", S: "ytp-ad-overlay-close-button", V: [fy(V7a)] }] }, { I: "div", S: "ytp-ad-overlay-title", va: "{{title}}" }, { I: "div", S: "ytp-ad-overlay-desc", va: "{{description}}" }, { I: "div", Na: ["ytp-ad-overlay-link-inline-block", "ytp-ad-overlay-link"], va: "{{displayUrl}}" }] }); a.T(b.Ea("ytp-ad-overlay-title"), "click", function (c) { G0(a, b.element, c) }); + a.T(b.Ea("ytp-ad-overlay-link"), "click", function (c) { G0(a, b.element, c) }); + a.T(b.Ea("ytp-ad-overlay-close-container"), "click", a.SN); b.hide(); return b + }; + S7a = function (a) { + var b = new g.Nx({ + I: "div", Na: ["ytp-ad-text-overlay", "ytp-ad-enhanced-overlay"], V: [{ I: "div", S: "ytp-ad-overlay-ad-info-button-container" }, { I: "div", S: "ytp-ad-overlay-close-container", V: [{ I: "button", S: "ytp-ad-overlay-close-button", V: [fy(V7a)] }] }, { I: "div", S: "ytp-ad-overlay-text-image", V: [{ I: "img", X: { src: "{{imageUrl}}" } }] }, { I: "div", S: "ytp-ad-overlay-title", va: "{{title}}" }, { I: "div", S: "ytp-ad-overlay-desc", va: "{{description}}" }, { + I: "div", Na: ["ytp-ad-overlay-link-inline-block", "ytp-ad-overlay-link"], + va: "{{displayUrl}}" + }] + }); a.T(b.Ea("ytp-ad-overlay-title"), "click", function (c) { G0(a, b.element, c) }); + a.T(b.Ea("ytp-ad-overlay-link"), "click", function (c) { G0(a, b.element, c) }); + a.T(b.Ea("ytp-ad-overlay-close-container"), "click", a.SN); a.T(b.Ea("ytp-ad-overlay-text-image"), "click", a.wca); b.hide(); return b + }; + T7a = function (a) { + var b = new g.Nx({ I: "div", S: "ytp-ad-image-overlay", V: [{ I: "div", S: "ytp-ad-overlay-ad-info-button-container" }, { I: "div", S: "ytp-ad-overlay-close-container", V: [{ I: "button", S: "ytp-ad-overlay-close-button", V: [fy(V7a)] }] }, { I: "div", S: "ytp-ad-overlay-image", V: [{ I: "img", X: { src: "{{imageUrl}}", width: "{{width}}", height: "{{height}}" } }] }] }); a.T(b.Ea("ytp-ad-overlay-image"), "click", function (c) { G0(a, b.element, c) }); + a.T(b.Ea("ytp-ad-overlay-close-container"), "click", a.SN); b.hide(); return b + }; + W7a = function (a, b) { + if (b) { + var c = g.R(b, lI) || null; if (c == null) g.ex(Error("AdInfoRenderer did not contain an AdHoverTextButtonRenderer.")); else if (b = g.de("video-ads ytp-ad-module") || null, b == null) g.ex(Error("Could not locate the root ads container element to attach the ad info dialog.")); else if (a.Ga = new g.Nx({ I: "div", S: "ytp-ad-overlay-ad-info-dialog-container" }), g.P(a, a.Ga), a.Ga.Ja(b), b = new wy(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, a.Ga.element, !1), g.P(a, b), b.init(Dx("ad-info-hover-text-button"), + c, a.macros), a.G) { + b.Ja(a.G, 0); b.subscribe("f", a.baa, a); b.subscribe("e", a.jS, a); a.T(a.G, "click", a.caa); var d = g.de("ytp-ad-button", b.element); a.T(d, "click", function () { var e; if (g.R((e = g.R(c.button, g.nI)) == null ? void 0 : e.serviceEndpoint, Psa)) a.Wa = a.api.getPlayerState(1) === 2, a.api.pauseVideo(); else a.api.onAdUxClicked("ad-info-hover-text-button", a.layoutId) }); + a.fb = b + } else g.ex(Error("Ad info button container within overlay ad was not present.")) + } else g.fx(Error("AdInfoRenderer was not present within InvideoOverlayAdRenderer.")) + }; + Y7a = function (a, b) { + if (X7a(a, H0) || a.api.isMinimized()) return !1; var c = Px(b.title), d = Px(b.description); if (g.pb(c) || g.pb(d)) return !1; a.createServerVe(a.C.element, b.trackingParams || null); a.C.updateValue("title", Px(b.title)); a.C.updateValue("description", Px(b.description)); a.C.updateValue("displayUrl", Px(b.displayUrl)); b.navigationEndpoint && g.Ub(a.Y, b.navigationEndpoint); a.C.show(); a.Ka.start(); a.logVisibility(a.C.element, !0); a.T(a.C.element, "mouseover", function () { a.ra++ }); + return !0 + }; + Z7a = function (a, b) { + if (X7a(a, H0) || a.api.isMinimized()) return !1; var c = Px(b.title), d = Px(b.description); if (g.pb(c) || g.pb(d)) return !1; a.createServerVe(a.B.element, b.trackingParams || null); a.B.updateValue("title", Px(b.title)); a.B.updateValue("description", Px(b.description)); a.B.updateValue("displayUrl", Px(b.displayUrl)); a.B.updateValue("imageUrl", gsa(b.image)); b.navigationEndpoint && g.Ub(a.Y, b.navigationEndpoint); a.Xa = b.imageNavigationEndpoint || null; a.B.show(); a.Ka.start(); a.logVisibility(a.B.element, !0); + a.T(a.B.element, "mouseover", function () { a.ra++ }); + return !0 + }; + $7a = function (a, b) { + if (a.api.isMinimized()) return !1; var c = hsa(b.image), d = c; c.width < H0.width && (d = H0); if (c.width === 0 || c.height === 0 || X7a(a, d)) return !1; a.createServerVe(a.j.element, b.trackingParams || null); a.j.updateValue("imageUrl", gsa(b.image)); a.j.updateValue("width", c.width); a.j.updateValue("height", c.height); b.navigationEndpoint && g.Ub(a.Y, b.navigationEndpoint); b = a.j.Ea("ytp-ad-image-overlay"); g.jm(b, "max-width", c.width + "px"); a.j.show(); a.logVisibility(a.j.element, !0); a.T(a.j.element, "mouseover", function () { + a.ra++; + a.api.KR("invideo-overlay", a.layoutId) + }); + a.T(a.j.element, "mouseout", function () { a.api.JR("invideo-overlay", a.layoutId) }); + return !0 + }; + X7a = function (a, b) { var c = a.api.qb().ai(), d = a.api.Zn(!0, !1); return (b = kH(c, c.height - (d.height + d.top), b)) ? (a.Va && b && (c = g.Fc(a.macros), c.ERRORCODE = b.kI.toString(), c.ERROR_MSG = b.errorMessage, a.layoutId ? fD(a.jb, a.Va, a.layoutId, c) : g.ex(Error("Missing layoutId for invideo_overlay_ad."))), !0) : !1 }; + G0 = function (a, b, c) { + var d = g.Fc(a.macros), e = g.Am(b); d.AW = { toString: function () { return e.width.toString() } }; + d.AH = { toString: function () { return e.height.toString() } }; + var f = g.tm(c, b).floor(); d.I_X = { toString: function () { return f.x.toString() } }; + d.NX = { toString: function () { return f.x.toString() } }; + d.I_Y = { toString: function () { return f.y.toString() } }; + d.NY = { toString: function () { return f.y.toString() } }; + d.NM = { toString: function () { return a.ra.toString() } }; + b = g.w(a.Y); for (c = b.next(); !c.done; c = b.next())c = c.value, a.layoutId ? fD(a.jb, c, a.layoutId, d) : g.ex(Error("Missing layoutId for invideo_overlay_ad.")); a.api.pauseVideo() + }; + a8a = function (a, b) { a = a.api.getRootNode(); g.rp(a, "ytp-ad-overlay-open", b); g.rp(a, "ytp-ad-overlay-closed", !b) }; + b8a = function (a, b, c, d, e) { + Ay.call(this, a, { I: "div", S: "ytp-ad-message-overlay", V: [{ I: "div", S: "ytp-ad-message-slot" }] }, "ad-message", b, c, d, e); var f = this; this.G = -1; this.C = 0; this.ra = !1; this.Ga = this.Ea("ytp-ad-message-slot"); this.B = new g.Nx({ I: "span", S: "ytp-ad-message-container" }); this.B.Ja(this.Ga); g.P(this, this.B); this.messageText = new yy(this.api, this.layoutId, this.interactionLoggingClientData, d, "ytp-ad-message-text"); g.P(this, this.messageText); this.messageText.Ja(this.B.element); this.D = new g.Dy(this.B, + 400, !1, 100, function () { f.hide() }); + g.P(this, this.D); this.hide() + }; + c8a = function (a, b) { a = a.api.getRootNode(); g.rp(a, "ytp-ad-overlay-open", b); g.rp(a, "ytp-ad-overlay-closed", !b) }; + d8a = function (a, b, c, d) { + Ox.call(this, a, { I: "div", S: "ytp-ad-underlay-companion", V: [{ I: "div", S: "ytp-ad-underlay-side-container", V: [{ I: "div", S: "ytp-ad-underlay-image-container" }, { I: "div", S: "ytp-ad-underlay-description-container" }, { I: "div", S: "ytp-ad-underlay-headline-container" }, { I: "div", S: "ytp-ad-underlay-action-button-container" }] }] }, "player-underlay", b, c, d); this.actionButton = null; this.Ga = this.Ea("ytp-ad-underlay-image-container"); this.C = new ny(this.api, this.layoutId, this.interactionLoggingClientData, + this.jb, "ytp-ad-underlay-image"); g.P(this, this.C); this.C.Ja(this.Ga); this.ra = this.Ea("ytp-ad-underlay-headline-container"); this.B = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-ad-underlay-headline"); g.P(this, this.B); this.B.Ja(this.ra); this.Y = this.Ea("ytp-ad-underlay-description-container"); this.D = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-ad-underlay-description"); g.P(this, this.D); this.D.Ja(this.Y); this.G = this.Ea("ytp-ad-underlay-action-button-container"); + this.j = this.Ea("ytp-ad-underlay-side-container"); this.hide() + }; + e8a = function (a) { var b = g.de("html5-video-player"); b && g.rp(b, "ytp-ad-display-override", a) }; + I0 = function (a, b, c, d, e, f) { + f = f === void 0 ? function () { } : f; + Ox.call(this, a, { I: "div", S: "ytp-ad-survey-answer" }, "survey-answer", b, c, d); this.index = e; this.onSelected = f; this.j = null; this.toggledLoggingParams = ""; this.answer = this.Ea("ytp-ad-survey-answer"); this.hide() + }; + f8a = function (a, b, c, d) { Ox.call(this, a, { I: "div", S: "ytp-ad-survey-none-of-the-above" }, "survey-none-of-the-above", b, c, d); this.button = null; this.j = this.Ea("ytp-ad-survey-none-of-the-above"); this.hide() }; + J0 = function (a, b, c, d) { var e = ["ytp-ad-survey-submit-button"]; e.push("ytp-ad-survey-submit-button-rounded"); gy.call(this, a, b, c, d, e, "survey-submit") }; + K0 = function (a, b, c, d, e) { + Ox.call(this, a, { I: "div", S: "ytp-ad-survey-player-overlay", V: [{ I: "div", S: "ytp-ad-survey-player-overlay-instream-info" }, { I: "div", S: "ytp-ad-survey-player-overlay-skip-preview-submit", V: [{ I: "div", S: "ytp-ad-survey-player-overlay-skip-or-preview" }, { I: "div", S: "ytp-ad-survey-player-overlay-submit" }] }, { I: "div", S: "ytp-ad-survey-player-overlay-instream-user-sentiment" }] }, "survey-player-overlay", b, c, d); this.D = e; this.B = this.j = null; this.C = this.Ea("ytp-ad-survey-player-overlay-instream-info"); + this.skipOrPreview = this.Ea("ytp-ad-survey-player-overlay-skip-or-preview"); this.submitButton = this.Ea("ytp-ad-survey-player-overlay-submit"); g.P(this, this.D); this.hide() + }; + L0 = function (a, b, c, d, e, f) { + f = f === void 0 ? function () { } : f; + Ox.call(this, a, { I: "div", S: "ytp-ad-survey-question", V: [{ I: "div", Na: ["ytp-ad-survey-question-text", "ytp-ad-survey-question-foreground"] }, { I: "div", Na: ["ytp-ad-survey-answers", "ytp-ad-survey-question-foreground"] }, { I: "div", Na: ["ytp-ad-survey-question-player-overlay", "ytp-ad-survey-question-foreground"] }, { I: "div", S: "ytp-ad-survey-question-background" }] }, e, b, c, d); this.Ga = f; this.D = null; this.B = []; this.j = null; this.Y = this.api.U().experiments.kb("a11y_h5_associate_survey_question"); this.question = this.Ea("ytp-ad-survey-question"); + this.Ka = this.Ea("ytp-ad-survey-question-background"); this.questionText = this.Ea("ytp-ad-survey-question-text"); this.answers = this.Ea("ytp-ad-survey-answers"); this.playerOverlay = this.Ea("ytp-ad-survey-question-player-overlay"); this.C = g.Xa() + }; + g8a = function (a, b) { b = g.Qx(b); g.re(a.questionText, b); a.Y && a.questionText.setAttribute("id", Dx("survey-question-text")) }; + h8a = function (a, b, c, d) { d = new I0(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, d, a.Ga); d.Ja(a.answers); d.init(Dx("survey-answer"), b, c); a.Y && (b = a.questionText.getAttribute("id"), b != null && (d.j !== null ? d.j.B.setAttribute("aria-describedby", b) : d.answer.getElementsByTagName("button")[0].setAttribute("aria-describedby", b))); a.B.push(d) }; + j8a = function (a, b) { + if (b) { + var c = b.background; c && g.R(c, i8a) && (c = (c = g.R(c, i8a).image) && my(c) || "", g.pb(c) ? g.fx(Error("Found ThumbnailDetails without valid image URL")) : g.jm(a.Ka, "backgroundImage", "url(" + c + ")")); if (b.durationMilliseconds == null || b.durationMilliseconds === void 0 || b.durationMilliseconds === 0) g.ex(Error("durationMilliseconds unset or 0 for SurveyAdQuestionCommon: " + JSON.stringify(b))); else { + a.C = g.Xa(); a.j = new Xy(a.api, b.durationMilliseconds); g.P(a, a.j); if (a.j && b.instreamAdPlayerOverlay && g.R(b.instreamAdPlayerOverlay, + kI)) try { var d = new K0(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, a.j); d.Ja(a.playerOverlay); d.init(Dx("survey-player-overlay"), g.R(b.instreamAdPlayerOverlay, kI), a.macros); a.D = d; g.P(a, d); a.E1() } catch (e) { g.ex(Error("ISAPOR had an error when initializing. Error: " + (e + " SurveyAdQuestionCommon: " + JSON.stringify(b)))) } else g.ex(Error("ISAPOR was not present in renderer. SurveyAdQuestionCommon: " + JSON.stringify(b))); a.j && b.durationMilliseconds && b.durationMilliseconds > 0 ? (b = new fz(a.api, a.j), b.Ja(a.playerOverlay), + g.P(a, b)) : g.ex(Error("Survey progress bar was not added. SurveyAdQuestionCommon: " + JSON.stringify(b))) + } + } else g.ex(Error("addCommonComponents() needs to be called before starting countdown.")) + }; + k8a = function (a) { + function b(c) { return { toString: function () { return c() } } } + a.macros.SURVEY_LOCAL_TIME_EPOCH_S = b(function () { var c = new Date; return (Math.round(c.valueOf() / 1E3) + -60 * c.getTimezoneOffset()).toString() }); + a.macros.SURVEY_ELAPSED_MS = b(function () { return (g.Xa() - a.C).toString() }) + }; + l8a = function (a, b, c, d, e) { L0.call(this, a, b, c, d, "survey-question-multi-select"); this.ra = e; this.noneOfTheAbove = null; this.submitEndpoints = []; this.G = null; this.hide() }; + m8a = function (a, b, c) { a.noneOfTheAbove = new f8a(a.api, a.layoutId, a.interactionLoggingClientData, a.jb); a.noneOfTheAbove.Ja(a.answers); a.noneOfTheAbove.init(Dx("survey-none-of-the-above"), b, c) }; + o8a = function (a) { + a.B.forEach(function (b) { b.j.toggleButton(!1) }); + n8a(a, !0) + }; + n8a = function (a, b) { var c = a.D; a = p8a(a); b = b === void 0 ? !1 : b; c.j && (a ? c.j.hide() : c.j.show(), b && c.j instanceof Ty && !c.j.D && Ysa(c.j, !1)); c.B && (a ? c.B.show() : c.B.hide()) }; + p8a = function (a) { return a.B.some(function (b) { return b.j.isToggled() }) || a.noneOfTheAbove.button.isToggled() }; + M0 = function (a, b, c, d, e) { + L0.call(this, a, b, c, d, "survey-question-single-select", function (h) { f.api.U().L("supports_multi_step_on_desktop") && e([h]) }); + var f = this; this.hide() + }; + N0 = function (a, b, c, d) { Ox.call(this, a, { I: "div", S: "ytp-ad-survey", V: [{ I: "div", S: "ytp-ad-survey-questions" }] }, "survey", b, c, d); this.questions = []; this.B = []; this.conditioningRules = []; this.j = 0; this.G = this.Ea("ytp-ad-survey-questions"); this.api.U().L("fix_survey_color_contrast_on_destop") && this.Ea("ytp-ad-survey").classList.add("color-contrast-fix"); this.api.U().L("web_enable_speedmaster") && this.Ea("ytp-ad-survey").classList.add("relative-positioning-survey"); this.hide() }; + s8a = function (a, b) { var c = a.B[b], d; (d = a.C) == null || d.dispose(); g.R(c, jI) ? q8a(a, g.R(c, jI), a.macros) : g.R(c, iI) && r8a(a, g.R(c, iI), a.macros); a.j = b }; + q8a = function (a, b, c) { var d = new M0(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, a.D.bind(a)); d.Ja(a.G); d.init(Dx("survey-question-single-select"), b, c); a.api.U().L("supports_multi_step_on_desktop") ? a.C = d : a.questions.push(d); g.P(a, d) }; + r8a = function (a, b, c) { var d = new l8a(a.api, a.layoutId, a.interactionLoggingClientData, a.jb, a.D.bind(a)); d.Ja(a.G); d.init(Dx("survey-question-multi-select"), b, c); a.api.U().L("supports_multi_step_on_desktop") ? a.C = d : a.questions.push(d); g.P(a, d) }; + O0 = function (a, b, c, d) { + Ox.call(this, a, { I: "div", S: "ytp-ad-survey-interstitial", V: [{ I: "div", S: "ytp-ad-survey-interstitial-contents", V: [{ I: "div", S: "ytp-ad-survey-interstitial-logo", V: [{ I: "div", S: "ytp-ad-survey-interstitial-logo-image" }] }, { I: "div", S: "ytp-ad-survey-interstitial-text" }] }] }, "survey-interstitial", b, c, d); this.j = this.actionButton = null; this.interstitial = this.Ea("ytp-ad-survey-interstitial"); this.B = this.Ea("ytp-ad-survey-interstitial-contents"); this.text = this.Ea("ytp-ad-survey-interstitial-text"); + this.logoImage = this.Ea("ytp-ad-survey-interstitial-logo-image"); this.transition = new g.Dy(this, 500, !1, 300); g.P(this, this.transition) + }; + u8a = function (a, b) { b = b && my(b) || ""; if (g.pb(b)) g.fx(Error("Found ThumbnailDetails without valid image URL")); else { var c = a.style.cssText; var d = document.implementation.createHTMLDocument("").createElement("DIV"); d.style.cssText = c; c = Jla(d.style); b = new g.td([c, Hba(t8a, b)].map(Fba).join(""), Cd); a.style.cssText = ud(b) } }; + v8a = function (a) { var b = g.de("html5-video-player"); b && g.rp(b, "ytp-ad-display-override", a) }; + P0 = function (a) { this.content = a.content; if (a.commandRuns) { a = g.w(a.commandRuns); for (var b = a.next(); !b.done; b = a.next())b = b.value, this.loggingDirectives = g.R(b, w8a), b.onTap && (this.interaction = { onTap: b.onTap }) } }; + Q0 = function (a, b, c, d) { Ox.call(this, a, { I: "div", S: "ad-simple-attributed-string" }, "ad-simple-attributed-string", b, c, d); this.hide() }; + R0 = function (a, b, c, d) { Ox.call(this, a, { I: "span", S: "ytp-ad-badge" }, "ad-badge", b, c, d); this.adBadgeText = new Q0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb); this.adBadgeText.Ja(this.element); g.P(this, this.adBadgeText); this.adBadgeText.element.classList.add("ytp-ad-badge__text"); this.hide() }; + S0 = function (a, b, c, d, e, f) { + f = f === void 0 ? 0 : f; Ay.call(this, a, { I: "div", S: "ytp-preview-ad", V: [{ I: "div", S: "ytp-preview-ad__text" }] }, "preview-ad", b, c, d, e); var h = this; this.ra = f; this.B = 0; this.D = -1; this.C = this.Ea("ytp-preview-ad__text"); switch (this.ra) { case 1: this.C.classList.add("ytp-preview-ad__text--font--small") }this.transition = new g.Dy(this, 400, !1, 100, function () { h.hide() }); + g.P(this, this.transition); this.hide() + }; + T0 = function (a, b, c, d) { Ox.call(this, a, { I: "img", S: "ytp-ad-avatar" }, "ad-avatar", b, c, d); this.hide() }; + x8a = function (a) { switch (a.size) { case "AD_AVATAR_SIZE_XXS": return 16; case "AD_AVATAR_SIZE_XS": return 24; case "AD_AVATAR_SIZE_S": return 32; case "AD_AVATAR_SIZE_M": return 36; case "AD_AVATAR_SIZE_L": return 56; case "AD_AVATAR_SIZE_XL": return 72; default: return 36 } }; + U0 = function (a, b, c, d) { Ox.call(this, a, { I: "button", S: "ytp-ad-button-vm" }, "ad-button", b, c, d); this.buttonText = this.buttonIcon = null; this.hide() }; + y8a = function (a, b, c, d, e) { + Ay.call(this, a, { I: "div", Na: ["ytp-ad-avatar-lockup-card--inactive", "ytp-ad-avatar-lockup-card"], V: [{ I: "div", S: "ytp-ad-avatar-lockup-card__avatar_and_text_container", V: [{ I: "div", S: "ytp-ad-avatar-lockup-card__text_container" }] }] }, "ad-avatar-lockup-card", b, c, d, e); this.B = 0; this.adAvatar = new T0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb); g.P(this, this.adAvatar); oe(this.element, this.adAvatar.element, 0); this.headline = new Q0(this.api, this.layoutId, this.interactionLoggingClientData, + this.jb); g.P(this, this.headline); this.headline.Ja(this.Ea("ytp-ad-avatar-lockup-card__text_container")); this.headline.element.classList.add("ytp-ad-avatar-lockup-card__headline"); this.description = new Q0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb); g.P(this, this.description); this.description.Ja(this.Ea("ytp-ad-avatar-lockup-card__text_container")); this.description.element.classList.add("ytp-ad-avatar-lockup-card__description"); this.adButton = new U0(this.api, this.layoutId, this.interactionLoggingClientData, + this.jb); g.P(this, this.adButton); this.adButton.Ja(this.element); this.hide() + }; + z8a = function (a, b, c, d) { + Ox.call(this, a, { I: "button", S: "ytp-skip-ad-button", V: [{ I: "div", S: "ytp-skip-ad-button__text" }] }, "skip-button", b, c, d); var e = this; this.B = !1; this.D = this.Ea("ytp-skip-ad-button__text"); this.transition = new g.Dy(this, 500, !1, 100, function () { e.hide() }); + g.P(this, this.transition); this.j = new Jy(this.element, 15E3, 5E3, .5, .5, !0); g.P(this, this.j); this.hide() + }; + A8a = function (a, b, c, d, e) { Ay.call(this, a, { I: "div", S: "ytp-skip-ad" }, "skip-ad", b, c, d, e); this.skipOffsetMilliseconds = 0; this.isSkippable = !1; this.B = new S0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.j); g.P(this, this.B); this.B.Ja(this.element); this.C = new z8a(this.api, this.layoutId, this.interactionLoggingClientData, this.jb); g.P(this, this.C); this.C.Ja(this.element); this.hide() }; + V0 = function (a, b, c, d) { Ox.call(this, a, { I: "div", S: "ytp-visit-advertiser-link" }, "visit-advertiser-link", b, c, d); this.hide() }; + W0 = function (a, b, c, d, e) { + Ox.call(this, a, { I: "div", S: "ytp-ad-player-overlay-layout", V: [{ I: "div", S: "ytp-ad-player-overlay-layout__player-card-container" }, { I: "div", S: "ytp-ad-player-overlay-layout__ad-info-container" }, { I: "div", S: "ytp-ad-player-overlay-layout__skip-or-preview-container" }, { I: "div", S: "ytp-ad-player-overlay-layout__ad-disclosure-banner-container" }] }, "player-overlay-layout", b, c, d); this.B = e; this.ra = this.Ea("ytp-ad-player-overlay-layout__player-card-container"); this.j = this.Ea("ytp-ad-player-overlay-layout__ad-info-container"); + this.G = this.Ea("ytp-ad-player-overlay-layout__skip-or-preview-container"); this.Y = this.Ea("ytp-ad-player-overlay-layout__ad-disclosure-banner-container"); this.hide() + }; + X0 = function (a, b, c) { ry.call(this, a); this.api = a; this.jb = b; this.B = {}; a = new g.T({ I: "div", Na: ["video-ads", "ytp-ad-module"] }); g.P(this, a); lO && g.np(a.element, "ytp-ads-tiny-mode"); this.G = new Pv(a.element); g.P(this, this.G); g.GR(this.api, a.element, 4); zI(c) && (c = new g.T({ I: "div", Na: ["ytp-ad-underlay"] }), g.P(this, c), this.C = new Pv(c.element), g.P(this, this.C), g.GR(this.api, c.element, 0)); g.P(this, Asa()) }; + B8a = function (a, b) { a = g.Cc(a.B, b.id, null); a == null && g.fx(Error("Component not found for element id: " + b.id)); return a || null }; + C8a = function (a) { + g.XT.call(this, a); var b = this; this.B = null; this.created = !1; this.C = a.U().L("h5_use_refactored_get_ad_break") ? new D6a(this.player) : new Z_(this.player); this.D = function () { if (b.B != null) return b.B; var d = new K6a({ Ko: F0(b.j).Ko, Kf: F0(b.j).Kf, J: b.player, zl: F0(b.j).zl, Oa: b.j.j.Oa, Jl: F0(b.j).Jl, od: b.j.j.od }); b.B = d.x6; return b.B }; + this.j = new M7a(this.player, this, this.C, this.D); g.P(this, this.j); var c = a.U(); !NC(c) || g.PO(c) || VO(c) || (g.P(this, new X0(a, F0(this.j).jb, F0(this.j).zl)), g.P(this, new N7a(a))) + }; + D8a = function (a) { a.created !== a.loaded && Ny("Created and loaded are out of sync") }; + G8a = function (a) { + g.XT.prototype.load.call(a); var b = F0(a.j).zl; try { a.player.getRootNode().classList.add("ad-created") } catch (l) { Ny(l instanceof Error ? l : String(l)) } var c = a.player.getVideoData(1), d = c && c.videoId || "", e = c && c.getPlayerResponse() || {}, f = (!a.player.U().experiments.kb("debug_ignore_ad_placements") && e && e.adPlacements || []).map(function (l) { return l.adPlacementRenderer }), h = ((e == null ? void 0 : e.adSlots) || []).map(function (l) { return g.R(l, qI) }); + e = e.playerConfig && e.playerConfig.daiConfig && e.playerConfig.daiConfig.enableDai || !1; c && c.Vb(); b = E8a(f, h, b, F0(a.j).wx); f = c && c.clientPlaybackNonce || ""; c = c && c.Hp || !1; h = 1E3 * a.player.getDuration(1); F8a(a); a.j.j.jy.Kk(f, h, c, b.QL, b.QW, b.QL, e, d) + }; + F8a = function (a) { + var b, c; if (c = !(((b = a.player.getVideoData(1)) == null ? 0 : b.Hp) || g.pr("SERVED_VIA_SPF_HISTORY"))) b = a.player.U(), c = NC(b) && !g.MC(b) && b.playerStyle === "desktop-polymer"; c && (b = a.player.getInternalApi(), (a = a.player.getInternalApi()) ? (a.addEventListener("updateKevlarOrC3Companion", dta), a.addEventListener("updateEngagementPanelAction", eta), a.addEventListener("changeEngagementPanelVisibility", fta)) : (b.addEventListener("updateKevlarOrC3Companion", dta), b.addEventListener("updateEngagementPanelAction", + eta), b.addEventListener("changeEngagementPanelVisibility", fta)), window.addEventListener("yt-navigate-start", hta)) + }; + Y0 = function (a, b) { b === a.zt && (a.zt = void 0) }; + H8a = function (a) { var b = F0(a.j).Sd, c = b.D().gQ("SLOT_TYPE_PLAYER_BYTES", 1); b = ZF(b.Sa.get(), 1).clientPlaybackNonce; var d = !1; c = g.w(c); for (var e = c.next(); !e.done; e = c.next()) { e = e.value; var f = e.slotType === "SLOT_TYPE_PLAYER_BYTES" && e.slotEntryTrigger instanceof uH ? e.slotEntryTrigger.Hv : void 0; f && f === b && (d && Ny("More than 1 preroll playerBytes slot detected", e), d = !0) } d || r0(F0(a.j).NB) }; + I8a = function (a) { if (g0(F0(a.j).zl)) return !0; var b = ""; a = g.w(F0(a.j).Jl.nj.keys()); for (var c = a.next(); !c.done; c = a.next()) { c = c.value; if (c.slotType === "SLOT_TYPE_PLAYER_BYTES" && c.bb === "core") return !0; b += c.slotType + " " } Math.random() < .01 && Ny("Ads Playback Not Managed By Controlflow", void 0, null, { slotTypes: b }); return !1 }; + J8a = function (a) { a = g.w(F0(a.j).Jl.nj.values()); for (var b = a.next(); !b.done; b = a.next())if (b.value.layoutType === "LAYOUT_TYPE_MEDIA_BREAK") return !0; return !1 }; + Gya = function (a, b, c, d, e) { c = c === void 0 ? [] : c; d = d === void 0 ? "" : d; e = e === void 0 ? "" : e; var f = F0(a.j).zl, h = a.player.getVideoData(1); h && h.getPlayerResponse(); h && h.Vb(); c = E8a(b, c, f, F0(a.j).wx); Kya(F0(a.j).Td, d, c.QL, c.QW, b, e) }; + E8a = function (a, b, c, d) { + b = { QL: [], QW: b }; a = g.w(a); for (var e = a.next(); !e.done; e = a.next())if ((e = e.value) && e.renderer != null) { + var f = e.renderer; if (!c.J.U().L("html5_enable_vod_lasr_with_notify_pacf")) { + var h = void 0, l = void 0, m = void 0, n = void 0, p = d; g.R((n = f.sandwichedLinearAdRenderer) == null ? void 0 : n.adVideoStart, RI) ? (h = g.R((m = f.sandwichedLinearAdRenderer) == null ? void 0 : m.adVideoStart, RI), h = PAa(h, p), g.lx(f.sandwichedLinearAdRenderer.adVideoStart, RI, h)) : g.R((l = f.linearAdSequenceRenderer) == null ? void 0 : l.adStart, RI) && + (m = g.R((h = f.linearAdSequenceRenderer) == null ? void 0 : h.adStart, RI), h = PAa(m, p), g.lx(f.linearAdSequenceRenderer.adStart, RI, h)) + } b.QL.push(e) + } return b + }; + g.Z0 = function (a) { if (typeof DOMParser != "undefined") { var b = new DOMParser; a = Cma(a); return b.parseFromString(g.wd(a), "application/xml") } throw Error("Your browser does not support loading xml documents"); }; + g.$0 = function (a) { g.O.call(this); this.callback = a; this.j = new Bp(0, 0, .4, 0, .2, 1, 1, 1); this.delay = new g.ep(this.next, window, this); g.P(this, this.delay) }; + g.K8a = function (a) { var b = a.U(); return b.Ed && !b.C && g.IO(b) ? a.jd() ? (a = a.Zn(), Math.min(a.width, a.height) >= 315) : !a.Og() : !1 }; + g.a1 = function (a) { + g.T.call(this, { I: "div", S: "ytp-more-videos-view", X: { tabIndex: "-1" } }); var b = this; this.api = a; this.B = !0; this.D = new g.OE(this); this.C = []; this.suggestionData = []; this.columns = this.containerWidth = this.Y = this.G = this.j = 0; this.title = new g.T({ I: "h2", S: "ytp-related-title", va: "{{title}}" }); this.previous = new g.T({ I: "button", Na: ["ytp-button", "ytp-previous"], X: { "aria-label": "Show previous suggested videos" }, V: [g.Tx()] }); this.N = new g.$0(function (c) { b.suggestions.element.scrollLeft = -c }); + this.next = new g.T({ I: "button", Na: ["ytp-button", "ytp-next"], X: { "aria-label": "Show more suggested videos" }, V: [g.Ux()] }); g.P(this, this.D); this.K = a.U().D; g.P(this, this.title); this.title.Ja(this.element); this.suggestions = new g.T({ I: "div", S: "ytp-suggestions" }); g.P(this, this.suggestions); this.suggestions.Ja(this.element); g.P(this, this.previous); this.previous.Ja(this.element); this.previous.listen("click", this.z6, this); g.P(this, this.N); L8a(this); g.P(this, this.next); this.next.Ja(this.element); this.next.listen("click", + this.y6, this); this.D.T(this.api, "appresize", this.kc); this.D.T(this.api, "fullscreentoggled", this.ly); this.D.T(this.api, "videodatachange", this.onVideoDataChange); this.kc(this.api.qb().getPlayerSize()); this.onVideoDataChange() + }; + L8a = function (a) { + for (var b = { DA: 0 }; b.DA < 16; b = { DA: b.DA }, ++b.DA) { + var c = new g.T({ + I: "a", S: "ytp-suggestion-link", X: { href: "{{link}}", target: a.api.U().Y, "aria-label": "{{aria_label}}" }, V: [{ I: "div", S: "ytp-suggestion-image" }, { + I: "div", S: "ytp-suggestion-overlay", X: { style: "{{blink_rendering_hack}}", "aria-hidden": "{{aria_hidden}}" }, V: [{ I: "div", S: "ytp-suggestion-title", va: "{{title}}" }, { I: "div", S: "ytp-suggestion-author", va: "{{author_and_views}}" }, { + I: "div", X: { "data-is-live": "{{is_live}}" }, S: "ytp-suggestion-duration", + va: "{{duration}}" + }] + }] + }); g.P(a, c); var d = c.Ea("ytp-suggestion-link"); g.jm(d, "transitionDelay", b.DA / 20 + "s"); a.D.T(d, "click", function (e) { return function (f) { var h = e.DA; if (a.B) { var l = a.suggestionData[h], m = l.sessionData; a.K && a.api.L("web_player_log_click_before_generating_ve_conversion_params") ? (a.api.logClick(a.C[h].element), h = l.El(), l = {}, g.DR(a.api, l, "emb_rel_pause"), h = g.Ti(h, l), g.yS(h, a.api, f)) : g.xS(f, a.api, a.K, m || void 0) && a.api.qp(l.videoId, m, l.playlistId) } else f.preventDefault(), document.activeElement.blur() } }(b)); + c.Ja(a.suggestions.element); a.C.push(c); a.api.createServerVe(c.element, c) + } + }; + M8a = function (a) { if (a.api.U().L("web_player_log_click_before_generating_ve_conversion_params")) for (var b = Math.floor(-a.j / (a.G + 8)), c = Math.min(b + a.columns, a.suggestionData.length) - 1; b <= c; b++)a.api.logVisibility(a.C[b].element, !0) }; + g.b1 = function (a) { var b = a.api.Hh() ? 32 : 16; b = a.Y / 2 + b; a.next.element.style.bottom = b + "px"; a.previous.element.style.bottom = b + "px"; b = a.j; var c = a.containerWidth - a.suggestionData.length * (a.G + 8); g.rp(a.element, "ytp-scroll-min", b >= 0); g.rp(a.element, "ytp-scroll-max", b <= c) }; + O8a = function (a) { + for (var b = a.suggestionData.length, c = 0; c < b; ++c) { + var d = void 0, e = void 0, f = void 0; d = a; var h = d.api.U(), l = d.suggestionData[c], m = d.C[c]; f = d.api.jd() ? l.shortViewCount || "" : l.shortViewCount ? l.author + " \u2022 " + l.shortViewCount : l.author; m.element.style.display = ""; e = m.Ea("ytp-suggestion-link"); g.jm(e, "display", "inline-block"); N8a.test(l.title) && (m.Ea("ytp-suggestion-title").dir = "rtl"); N8a.test(f) && (m.Ea("ytp-suggestion-author").dir = "rtl"); e = l.isLivePlayback ? "Live" : l.lengthSeconds ? g.Zy(l.lengthSeconds) : + ""; var n = l.El(d.api.jd()); if (g.IO(h) && !h.L("web_player_log_click_before_generating_ve_conversion_params")) { var p = {}; g.iR(d.api, "addEmbedsConversionTrackingParams", [p]); d.api.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(p, "emb_rel_pause"); n = g.Ti(n, p) } h.L("web_player_log_click_before_generating_ve_conversion_params") && (h = (h = l.sessionData) && h.itct) && d.api.setTrackingParams(m.element, h); m.update({ + author_and_views: f, duration: e, link: n, title: l.title, aria_label: l.ariaLabel || l.title, is_live: l.isLivePlayback, + aria_hidden: !!l.ariaLabel, blink_rendering_hack: g.KE || g.GO ? "will-change: opacity" : void 0 + }); f = m.Ea("ytp-suggestion-image"); d = d.api.jd() ? l.gh("hq2.jpg") : l.gh(); f.style.backgroundImage = d ? "url(" + d + ")" : "" + } if (b < 16) for (; b < 16; ++b)c = a.C[b].Ea("ytp-suggestion-link"), g.jm(c, "display", "none"); g.b1(a) + }; + aaa = []; ea = typeof Object.defineProperties == "function" ? Object.defineProperty : function (a, b, c) { if (a == Array.prototype || a == Object.prototype) return a; a[b] = c.value; return a }; + g.da = caa(this); ka("Symbol", function (a) { + function b(f) { if (this instanceof b) throw new TypeError("Symbol is not a constructor"); return new c(d + (f || "") + "_" + e++, f) } + function c(f, h) { this.j = f; ea(this, "description", { configurable: !0, writable: !0, value: h }) } + if (a) return a; c.prototype.toString = function () { return this.j }; + var d = "jscomp_symbol_" + (Math.random() * 1E9 >>> 0) + "_", e = 0; return b + }); + ka("Symbol.iterator", function (a) { if (a) return a; a = Symbol("Symbol.iterator"); for (var b = "Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "), c = 0; c < b.length; c++) { var d = g.da[b[c]]; typeof d === "function" && typeof d.prototype[a] != "function" && ea(d.prototype, a, { configurable: !0, writable: !0, value: function () { return daa(baa(this)) } }) } return a }); + var P8a = typeof Object.assign == "function" ? Object.assign : function (a, b) { for (var c = 1; c < arguments.length; c++) { var d = arguments[c]; if (d) for (var e in d) na(d, e) && (a[e] = d[e]) } return a }; + ka("Object.assign", function (a) { return a || P8a }); + var faa = typeof Object.create == "function" ? Object.create : function (a) { + function b() { } + b.prototype = a; return new b + }, Q8a = function () { + function a() { + function c() { } + new c; Reflect.construct(c, [], function () { }); + return new c instanceof c + } + if (typeof Reflect != "undefined" && Reflect.construct) { if (a()) return Reflect.construct; var b = Reflect.construct; return function (c, d, e) { c = b(c, d); e && Reflect.setPrototypeOf(c, e.prototype); return c } } return function (c, d, e) { + e === void 0 && (e = c); + e = faa(e.prototype || Object.prototype); return Function.prototype.apply.call(c, e, d) || e + } + }(), R8a; + if (typeof Object.setPrototypeOf == "function") R8a = Object.setPrototypeOf; else { var S8a; a: { var T8a = { a: !0 }, U8a = {}; try { U8a.__proto__ = T8a; S8a = U8a.a; break a } catch (a) { } S8a = !1 } R8a = S8a ? function (a, b) { a.__proto__ = b; if (a.__proto__ !== b) throw new TypeError(a + " is not extensible"); return a } : null } var oa = R8a; + ra.prototype.Z = function (a) { this.B = a }; + ra.prototype.return = function (a) { this.C = { return: a }; this.j = this.G }; + ra.prototype.Ha = function (a) { this.j = a }; + ka("Reflect", function (a) { return a ? a : {} }); + ka("Reflect.construct", function () { return Q8a }); + ka("Reflect.setPrototypeOf", function (a) { return a ? a : oa ? function (b, c) { try { return oa(b, c), !0 } catch (d) { return !1 } } : null }); + ka("Promise", function (a) { + function b(h) { this.j = 0; this.C = void 0; this.B = []; this.N = !1; var l = this.D(); try { h(l.resolve, l.reject) } catch (m) { l.reject(m) } } + function c() { this.j = null } + function d(h) { return h instanceof b ? h : new b(function (l) { l(h) }) } + if (a) return a; c.prototype.B = function (h) { if (this.j == null) { this.j = []; var l = this; this.C(function () { l.G() }) } this.j.push(h) }; + var e = g.da.setTimeout; c.prototype.C = function (h) { e(h, 0) }; + c.prototype.G = function () { for (; this.j && this.j.length;) { var h = this.j; this.j = []; for (var l = 0; l < h.length; ++l) { var m = h[l]; h[l] = null; try { m() } catch (n) { this.D(n) } } } this.j = null }; + c.prototype.D = function (h) { this.C(function () { throw h; }) }; + b.prototype.D = function () { + function h(n) { return function (p) { m || (m = !0, n.call(l, p)) } } + var l = this, m = !1; return { resolve: h(this.Ba), reject: h(this.G) } + }; + b.prototype.Ba = function (h) { if (h === this) this.G(new TypeError("A Promise cannot resolve to itself")); else if (h instanceof b) this.Ga(h); else { a: switch (typeof h) { case "object": var l = h != null; break a; case "function": l = !0; break a; default: l = !1 }l ? this.ra(h) : this.K(h) } }; + b.prototype.ra = function (h) { var l = void 0; try { l = h.then } catch (m) { this.G(m); return } typeof l == "function" ? this.Ma(l, h) : this.K(h) }; + b.prototype.G = function (h) { this.Z(2, h) }; + b.prototype.K = function (h) { this.Z(1, h) }; + b.prototype.Z = function (h, l) { if (this.j != 0) throw Error("Cannot settle(" + h + ", " + l + "): Promise already settled in state" + this.j); this.j = h; this.C = l; this.j === 2 && this.Fa(); this.Y() }; + b.prototype.Fa = function () { var h = this; e(function () { if (h.qa()) { var l = g.da.console; typeof l !== "undefined" && l.error(h.C) } }, 1) }; + b.prototype.qa = function () { if (this.N) return !1; var h = g.da.CustomEvent, l = g.da.Event, m = g.da.dispatchEvent; if (typeof m === "undefined") return !0; typeof h === "function" ? h = new h("unhandledrejection", { cancelable: !0 }) : typeof l === "function" ? h = new l("unhandledrejection", { cancelable: !0 }) : (h = g.da.document.createEvent("CustomEvent"), h.initCustomEvent("unhandledrejection", !1, !0, h)); h.promise = this; h.reason = this.C; return m(h) }; + b.prototype.Y = function () { if (this.B != null) { for (var h = 0; h < this.B.length; ++h)f.B(this.B[h]); this.B = null } }; + var f = new c; b.prototype.Ga = function (h) { var l = this.D(); h.fJ(l.resolve, l.reject) }; + b.prototype.Ma = function (h, l) { var m = this.D(); try { h.call(l, m.resolve, m.reject) } catch (n) { m.reject(n) } }; + b.prototype.then = function (h, l) { + function m(r, t) { return typeof r == "function" ? function (u) { try { n(r(u)) } catch (y) { p(y) } } : t } + var n, p, q = new b(function (r, t) { n = r; p = t }); + this.fJ(m(h, n), m(l, p)); return q + }; + b.prototype.catch = function (h) { return this.then(void 0, h) }; + b.prototype.fJ = function (h, l) { + function m() { switch (n.j) { case 1: h(n.C); break; case 2: l(n.C); break; default: throw Error("Unexpected state: " + n.j); } } + var n = this; this.B == null ? f.B(m) : this.B.push(m); this.N = !0 + }; + b.resolve = d; b.reject = function (h) { return new b(function (l, m) { m(h) }) }; + b.race = function (h) { return new b(function (l, m) { for (var n = g.w(h), p = n.next(); !p.done; p = n.next())d(p.value).fJ(l, m) }) }; + b.all = function (h) { + var l = g.w(h), m = l.next(); return m.done ? d([]) : new b(function (n, p) { + function q(u) { return function (y) { r[u] = y; t--; t == 0 && n(r) } } + var r = [], t = 0; do r.push(void 0), t++, d(m.value).fJ(q(r.length - 1), p), m = l.next(); while (!m.done) + }) + }; + return b + }); + ka("Object.setPrototypeOf", function (a) { return a || oa }); + ka("Symbol.dispose", function (a) { return a ? a : Symbol("Symbol.dispose") }); + ka("WeakMap", function (a) { + function b(m) { this.j = (l += Math.random() + 1).toString(); if (m) { m = g.w(m); for (var n; !(n = m.next()).done;)n = n.value, this.set(n[0], n[1]) } } + function c() { } + function d(m) { var n = typeof m; return n === "object" && m !== null || n === "function" } + function e(m) { if (!na(m, h)) { var n = new c; ea(m, h, { value: n }) } } + function f(m) { var n = Object[m]; n && (Object[m] = function (p) { if (p instanceof c) return p; Object.isExtensible(p) && e(p); return n(p) }) } + if (function () { if (!a || !Object.seal) return !1; try { var m = Object.seal({}), n = Object.seal({}), p = new a([[m, 2], [n, 3]]); if (p.get(m) != 2 || p.get(n) != 3) return !1; p.delete(m); p.set(n, 4); return !p.has(m) && p.get(n) == 4 } catch (q) { return !1 } }()) return a; + var h = "$jscomp_hidden_" + Math.random(); f("freeze"); f("preventExtensions"); f("seal"); var l = 0; b.prototype.set = function (m, n) { if (!d(m)) throw Error("Invalid WeakMap key"); e(m); if (!na(m, h)) throw Error("WeakMap key fail: " + m); m[h][this.j] = n; return this }; + b.prototype.get = function (m) { return d(m) && na(m, h) ? m[h][this.j] : void 0 }; + b.prototype.has = function (m) { return d(m) && na(m, h) && na(m[h], this.j) }; + b.prototype.delete = function (m) { return d(m) && na(m, h) && na(m[h], this.j) ? delete m[h][this.j] : !1 }; + return b + }); + ka("Map", function (a) { + function b() { var l = {}; return l.previous = l.next = l.head = l } + function c(l, m) { var n = l[1]; return daa(function () { if (n) { for (; n.head != l[1];)n = n.previous; for (; n.next != n.head;)return n = n.next, { done: !1, value: m(n) }; n = null } return { done: !0, value: void 0 } }) } + function d(l, m) { var n = m && typeof m; n == "object" || n == "function" ? f.has(m) ? n = f.get(m) : (n = "" + ++h, f.set(m, n)) : n = "p_" + m; var p = l[0][n]; if (p && na(l[0], n)) for (l = 0; l < p.length; l++) { var q = p[l]; if (m !== m && q.key !== q.key || m === q.key) return { id: n, list: p, index: l, entry: q } } return { id: n, list: p, index: -1, entry: void 0 } } + function e(l) { this[0] = {}; this[1] = b(); this.size = 0; if (l) { l = g.w(l); for (var m; !(m = l.next()).done;)m = m.value, this.set(m[0], m[1]) } } + if (function () { if (!a || typeof a != "function" || !a.prototype.entries || typeof Object.seal != "function") return !1; try { var l = Object.seal({ x: 4 }), m = new a(g.w([[l, "s"]])); if (m.get(l) != "s" || m.size != 1 || m.get({ x: 4 }) || m.set({ x: 4 }, "t") != m || m.size != 2) return !1; var n = m.entries(), p = n.next(); if (p.done || p.value[0] != l || p.value[1] != "s") return !1; p = n.next(); return p.done || p.value[0].x != 4 || p.value[1] != "t" || !n.next().done ? !1 : !0 } catch (q) { return !1 } }()) return a; + var f = new WeakMap; e.prototype.set = function (l, m) { l = l === 0 ? 0 : l; var n = d(this, l); n.list || (n.list = this[0][n.id] = []); n.entry ? n.entry.value = m : (n.entry = { next: this[1], previous: this[1].previous, head: this[1], key: l, value: m }, n.list.push(n.entry), this[1].previous.next = n.entry, this[1].previous = n.entry, this.size++); return this }; + e.prototype.delete = function (l) { l = d(this, l); return l.entry && l.list ? (l.list.splice(l.index, 1), l.list.length || delete this[0][l.id], l.entry.previous.next = l.entry.next, l.entry.next.previous = l.entry.previous, l.entry.head = null, this.size--, !0) : !1 }; + e.prototype.clear = function () { this[0] = {}; this[1] = this[1].previous = b(); this.size = 0 }; + e.prototype.has = function (l) { return !!d(this, l).entry }; + e.prototype.get = function (l) { return (l = d(this, l).entry) && l.value }; + e.prototype.entries = function () { return c(this, function (l) { return [l.key, l.value] }) }; + e.prototype.keys = function () { return c(this, function (l) { return l.key }) }; + e.prototype.values = function () { return c(this, function (l) { return l.value }) }; + e.prototype.forEach = function (l, m) { for (var n = this.entries(), p; !(p = n.next()).done;)p = p.value, l.call(m, p[1], p[0], this) }; + e.prototype[Symbol.iterator] = e.prototype.entries; var h = 0; return e + }); + ka("Array.prototype.keys", function (a) { return a ? a : function () { return Da(this, function (b) { return b }) } }); + ka("Array.prototype.find", function (a) { return a ? a : function (b, c) { return kaa(this, b, c).fN } }); + ka("String.prototype.endsWith", function (a) { return a ? a : function (b, c) { var d = Ea(this, b, "endsWith"); b += ""; c === void 0 && (c = d.length); c = Math.max(0, Math.min(c | 0, d.length)); for (var e = b.length; e > 0 && c > 0;)if (d[--c] != b[--e]) return !1; return e <= 0 } }); + ka("Set", function (a) { + function b(c) { this.j = new Map; if (c) { c = g.w(c); for (var d; !(d = c.next()).done;)this.add(d.value) } this.size = this.j.size } + if (function () { if (!a || typeof a != "function" || !a.prototype.entries || typeof Object.seal != "function") return !1; try { var c = Object.seal({ x: 4 }), d = new a(g.w([c])); if (!d.has(c) || d.size != 1 || d.add(c) != d || d.size != 1 || d.add({ x: 4 }) != d || d.size != 2) return !1; var e = d.entries(), f = e.next(); if (f.done || f.value[0] != c || f.value[1] != c) return !1; f = e.next(); return f.done || f.value[0] == c || f.value[0].x != 4 || f.value[1] != f.value[0] ? !1 : e.next().done } catch (h) { return !1 } }()) return a; + b.prototype.add = function (c) { c = c === 0 ? 0 : c; this.j.set(c, c); this.size = this.j.size; return this }; + b.prototype.delete = function (c) { c = this.j.delete(c); this.size = this.j.size; return c }; + b.prototype.clear = function () { this.j.clear(); this.size = 0 }; + b.prototype.has = function (c) { return this.j.has(c) }; + b.prototype.entries = function () { return this.j.entries() }; + b.prototype.values = function () { return this.j.values() }; + b.prototype.keys = b.prototype.values; b.prototype[Symbol.iterator] = b.prototype.values; b.prototype.forEach = function (c, d) { var e = this; this.j.forEach(function (f) { return c.call(d, f, f, e) }) }; + return b + }); + ka("Array.prototype.entries", function (a) { return a ? a : function () { return Da(this, function (b, c) { return [b, c] }) } }); + ka("String.prototype.startsWith", function (a) { return a ? a : function (b, c) { var d = Ea(this, b, "startsWith"); b += ""; var e = d.length, f = b.length; c = Math.max(0, Math.min(c | 0, d.length)); for (var h = 0; h < f && c < e;)if (d[c++] != b[h++]) return !1; return h >= f } }); + ka("Number.isFinite", function (a) { return a ? a : function (b) { return typeof b !== "number" ? !1 : !isNaN(b) && b !== Infinity && b !== -Infinity } }); + ka("String.prototype.repeat", function (a) { return a ? a : function (b) { var c = Ea(this, null, "repeat"); if (b < 0 || b > 1342177279) throw new RangeError("Invalid count value"); b |= 0; for (var d = ""; b;)if (b & 1 && (d += c), b >>>= 1) c += c; return d } }); + ka("Array.prototype.values", function (a) { return a ? a : function () { return Da(this, function (b, c) { return c }) } }); + ka("Math.log2", function (a) { return a ? a : function (b) { return Math.log(b) / Math.LN2 } }); + ka("Object.values", function (a) { return a ? a : function (b) { var c = [], d; for (d in b) na(b, d) && c.push(b[d]); return c } }); + ka("Object.is", function (a) { return a ? a : function (b, c) { return b === c ? b !== 0 || 1 / b === 1 / c : b !== b && c !== c } }); + ka("Array.prototype.includes", function (a) { return a ? a : function (b, c) { var d = this; d instanceof String && (d = String(d)); var e = d.length; c = c || 0; for (c < 0 && (c = Math.max(c + e, 0)); c < e; c++) { var f = d[c]; if (f === b || Object.is(f, b)) return !0 } return !1 } }); + ka("String.prototype.includes", function (a) { return a ? a : function (b, c) { return Ea(this, b, "includes").indexOf(b, c || 0) !== -1 } }); + ka("Number.MAX_SAFE_INTEGER", function () { return 9007199254740991 }); + ka("Number.MIN_SAFE_INTEGER", function () { return -9007199254740991 }); + ka("Number.isInteger", function (a) { return a ? a : function (b) { return Number.isFinite(b) ? b === Math.floor(b) : !1 } }); + ka("Number.isSafeInteger", function (a) { return a ? a : function (b) { return Number.isInteger(b) && Math.abs(b) <= Number.MAX_SAFE_INTEGER } }); + ka("Math.trunc", function (a) { return a ? a : function (b) { b = Number(b); if (isNaN(b) || b === Infinity || b === -Infinity || b === 0) return b; var c = Math.floor(Math.abs(b)); return b < 0 ? -c : c } }); + ka("Array.from", function (a) { + return a ? a : function (b, c, d) { + c = c != null ? c : function (l) { return l }; + var e = [], f = typeof Symbol != "undefined" && Symbol.iterator && b[Symbol.iterator]; if (typeof f == "function") { b = f.call(b); for (var h = 0; !(f = b.next()).done;)e.push(c.call(d, f.value, h++)) } else for (f = b.length, h = 0; h < f; h++)e.push(c.call(d, b[h], h)); return e + } + }); + ka("Object.entries", function (a) { return a ? a : function (b) { var c = [], d; for (d in b) na(b, d) && c.push([d, b[d]]); return c } }); + ka("Math.imul", function (a) { return a ? a : function (b, c) { b = Number(b); c = Number(c); var d = b & 65535, e = c & 65535; return d * e + ((b >>> 16 & 65535) * e + d * (c >>> 16 & 65535) << 16 >>> 0) | 0 } }); + ka("globalThis", function (a) { return a || g.da }); + ka("Number.isNaN", function (a) { return a ? a : function (b) { return typeof b === "number" && isNaN(b) } }); + ka("Math.clz32", function (a) { return a ? a : function (b) { b = Number(b) >>> 0; if (b === 0) return 32; var c = 0; (b & 4294901760) === 0 && (b <<= 16, c += 16); (b & 4278190080) === 0 && (b <<= 8, c += 8); (b & 4026531840) === 0 && (b <<= 4, c += 4); (b & 3221225472) === 0 && (b <<= 2, c += 2); (b & 2147483648) === 0 && c++; return c } }); + ka("Math.log10", function (a) { return a ? a : function (b) { return Math.log(b) / Math.LN10 } }); + ka("Array.prototype.fill", function (a) { return a ? a : function (b, c, d) { var e = this.length || 0; c < 0 && (c = Math.max(0, e + c)); if (d == null || d > e) d = e; d = Number(d); d < 0 && (d = Math.max(0, e + d)); for (c = Number(c || 0); c < d; c++)this[c] = b; return this } }); + ka("Int8Array.prototype.fill", Fa); ka("Uint8Array.prototype.fill", Fa); ka("Uint8ClampedArray.prototype.fill", Fa); ka("Int16Array.prototype.fill", Fa); ka("Uint16Array.prototype.fill", Fa); ka("Int32Array.prototype.fill", Fa); ka("Uint32Array.prototype.fill", Fa); ka("Float32Array.prototype.fill", Fa); ka("Float64Array.prototype.fill", Fa); ka("Promise.prototype.finally", function (a) { + return a ? a : function (b) { + return this.then(function (c) { return Promise.resolve(b()).then(function () { return c }) }, function (c) { + return Promise.resolve(b()).then(function () { + throw c; + }) + }) + } + }); + ka("String.prototype.padStart", function (a) { return a ? a : function (b, c) { var d = Ea(this, null, "padStart"); b -= d.length; c = c !== void 0 ? String(c) : " "; return (b > 0 && c ? c.repeat(Math.ceil(b / c.length)).substring(0, b) : "") + d } }); + ka("Array.prototype.findIndex", function (a) { return a ? a : function (b, c) { return kaa(this, b, c).i } }); + ka("Math.sign", function (a) { return a ? a : function (b) { b = Number(b); return b === 0 || isNaN(b) ? b : b > 0 ? 1 : -1 } }); + ka("WeakSet", function (a) { + function b(c) { this.j = new WeakMap; if (c) { c = g.w(c); for (var d; !(d = c.next()).done;)this.add(d.value) } } + if (function () { if (!a || !Object.seal) return !1; try { var c = Object.seal({}), d = Object.seal({}), e = new a([c]); if (!e.has(c) || e.has(d)) return !1; e.delete(c); e.add(d); return !e.has(c) && e.has(d) } catch (f) { return !1 } }()) return a; + b.prototype.add = function (c) { this.j.set(c, !0); return this }; + b.prototype.has = function (c) { return this.j.has(c) }; + b.prototype.delete = function (c) { return this.j.delete(c) }; + return b + }); + ka("String.prototype.replaceAll", function (a) { return a ? a : function (b, c) { if (b instanceof RegExp && !b.global) throw new TypeError("String.prototype.replaceAll called with a non-global RegExp argument."); return b instanceof RegExp ? this.replace(b, c) : this.replace(new RegExp(String(b).replace(/([-()\[\]{}+?*.$\^|,:# d;)--e in this ? this[--c] = this[e] : delete this[--c]; return this } + }); + ka("Int8Array.prototype.copyWithin", Ha); ka("Uint8Array.prototype.copyWithin", Ha); ka("Uint8ClampedArray.prototype.copyWithin", Ha); ka("Int16Array.prototype.copyWithin", Ha); ka("Uint16Array.prototype.copyWithin", Ha); ka("Int32Array.prototype.copyWithin", Ha); ka("Uint32Array.prototype.copyWithin", Ha); ka("Float32Array.prototype.copyWithin", Ha); ka("Float64Array.prototype.copyWithin", Ha); ka("Array.prototype.findLastIndex", function (a) { return a ? a : function (b, c) { return laa(this, b, c).i } }); + ka("Int8Array.prototype.findLastIndex", Ia); ka("Uint8Array.prototype.findLastIndex", Ia); ka("Uint8ClampedArray.prototype.findLastIndex", Ia); ka("Int16Array.prototype.findLastIndex", Ia); ka("Uint16Array.prototype.findLastIndex", Ia); ka("Int32Array.prototype.findLastIndex", Ia); ka("Uint32Array.prototype.findLastIndex", Ia); ka("Float32Array.prototype.findLastIndex", Ia); ka("Float64Array.prototype.findLastIndex", Ia); ka("Number.parseInt", function (a) { return a || parseInt }); + ka("String.raw", function (a) { return a ? a : function (b, c) { if (b == null) throw new TypeError("Cannot convert undefined or null to object"); for (var d = b.raw, e = d.length, f = "", h = 0; h < e; ++h)f += d[h], h + 1 < e && h + 1 < arguments.length && (f += String(arguments[h + 1])); return f } }); var Zi, Sa, maa; Zi = Zi || {}; g.Ja = this || self; Sa = "closure_uid_" + (Math.random() * 1E9 >>> 0); maa = 0; g.k = $a.prototype; g.k.i7 = function (a) { var b = g.Ca.apply(1, arguments), c = this.KP(b); c ? c.push(new paa(a)) : this.b2(a, b) }; + g.k.b2 = function (a) { this.j.set(this.zV(g.Ca.apply(1, arguments)), [new paa(a)]) }; + g.k.KP = function () { var a = this.zV(g.Ca.apply(0, arguments)); return this.j.has(a) ? this.j.get(a) : void 0 }; + g.k.M8 = function () { var a = this.KP(g.Ca.apply(0, arguments)); return a && a.length ? a[0] : void 0 }; + g.k.clear = function () { this.j.clear() }; + g.k.zV = function () { var a = g.Ca.apply(0, arguments); return a ? a.join(",") : "key" }; g.z(bb, $a); bb.prototype.B = function (a) { var b = g.Ca.apply(1, arguments), c = 0, d = this.M8(b); d && (c = d.j); this.b2(c + a, b) }; g.z(eb, $a); eb.prototype.Ph = function (a) { this.i7(a, g.Ca.apply(1, arguments)) }; g.O.prototype.Jq = !1; g.O.prototype.La = function () { return this.Jq }; + g.O.prototype.dispose = function () { this.Jq || (this.Jq = !0, this.xa()) }; + g.O.prototype[Symbol.dispose] = function () { this.dispose() }; + g.O.prototype.addOnDisposeCallback = function (a, b) { this.Jq ? b !== void 0 ? a.call(b) : a() : (this.qo || (this.qo = []), this.qo.push(b !== void 0 ? (0, g.Ua)(a, b) : a)) }; + g.O.prototype.xa = function () { if (this.qo) for (; this.qo.length;)this.qo.shift()() }; g.Ya(ib, Error); ib.prototype.name = "CustomError"; var Uba; g.Ya(jb, ib); jb.prototype.name = "AssertionError"; g.lb.prototype.stopPropagation = function () { this.B = !0 }; + g.lb.prototype.preventDefault = function () { this.defaultPrevented = !0 }; var fba = function () { + if (!g.Ja.addEventListener || !Object.defineProperty) return !1; var a = !1, b = Object.defineProperty({}, "passive", { get: function () { a = !0 } }); + try { + var c = function () { }; + g.Ja.addEventListener("test", c, b); g.Ja.removeEventListener("test", c, b) + } catch (d) { } return a + }(); var c1 = Ma(1, !0), xb = Ma(610401301, !1), Bea, Vda; Ma(899588437, !1); Bea = Ma(188588736, !0); g.V8a = Ma(641353869, c1); g.W8a = Ma(644029907, c1); g.X8a = Ma(1822726157, c1); Vda = Ma(645172343, c1); Ma(651175828, !1); Ma(653718497, c1); Ma(2147483644, !1); Ma(2147483645, !1); Ma(2147483646, c1); Ma(2147483647, !0); var yb = !!g.La("yt.config_.EXPERIMENTS_FLAGS.html5_enable_client_hints_override"); var tb = String.prototype.trim ? function (a) { return a.trim() } : function (a) { return /^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1] }, taa = /&/g, uaa = //g, waa = /"/g, xaa = /'/g, yaa = /\x00/g, saa = /[\x00&<>"']/; var Ab, Y8a = g.Ja.navigator; Ab = Y8a ? Y8a.userAgentData || null : null; var Gaa, Cl, Em; Gaa = Array.prototype.indexOf ? function (a, b) { return Array.prototype.indexOf.call(a, b, void 0) } : function (a, b) { + if (typeof a === "string") return typeof b !== "string" || b.length != 1 ? -1 : a.indexOf(b, 0); + for (var c = 0; c < a.length; c++)if (c in a && a[c] === b) return c; return -1 + }; + g.Z8a = Array.prototype.lastIndexOf ? function (a, b) { return Array.prototype.lastIndexOf.call(a, b, a.length - 1) } : function (a, b) { + var c = a.length - 1; + c < 0 && (c = Math.max(0, a.length + c)); if (typeof a === "string") return typeof b !== "string" || b.length != 1 ? -1 : a.lastIndexOf(b, c); for (; c >= 0; c--)if (c in a && a[c] === b) return c; return -1 + }; + g.cc = Array.prototype.forEach ? function (a, b, c) { Array.prototype.forEach.call(a, b, c) } : function (a, b, c) { for (var d = a.length, e = typeof a === "string" ? a.split("") : a, f = 0; f < d; f++)f in e && b.call(c, e[f], f, a) }; + g.kn = Array.prototype.filter ? function (a, b, c) { return Array.prototype.filter.call(a, b, c) } : function (a, b, c) { + for (var d = a.length, e = [], f = 0, h = typeof a === "string" ? a.split("") : a, l = 0; l < d; l++)if (l in h) { + var m = h[l]; + b.call(c, m, l, a) && (e[f++] = m) + } return e + }; + g.Al = Array.prototype.map ? function (a, b, c) { return Array.prototype.map.call(a, b, c) } : function (a, b, c) { + for (var d = a.length, e = Array(d), f = typeof a === "string" ? a.split("") : a, h = 0; h < d; h++)h in f && (e[h] = b.call(c, f[h], h, a)); + return e + }; + Cl = Array.prototype.reduce ? function (a, b, c) { return Array.prototype.reduce.call(a, b, c) } : function (a, b, c) { + var d = c; + (0, g.cc)(a, function (e, f) { d = b.call(void 0, d, e, f, a) }); + return d + }; + Em = Array.prototype.some ? function (a, b) { return Array.prototype.some.call(a, b, void 0) } : function (a, b) { + for (var c = a.length, d = typeof a === "string" ? a.split("") : a, e = 0; e < c; e++)if (e in d && b.call(void 0, d[e], e, a)) return !0; + return !1 + }; + g.Bl = Array.prototype.every ? function (a, b, c) { return Array.prototype.every.call(a, b, c) } : function (a, b, c) { + for (var d = a.length, e = typeof a === "string" ? a.split("") : a, f = 0; f < d; f++)if (f in e && !b.call(c, e[f], f, a)) return !1; + return !0 + }; jc[" "] = function () { }; var km, uX, f6a, $8a, a9a, b9a, FO, lO, c9a; g.GO = Eb(); g.lm = zaa(); g.tu = Cb("Edge"); g.eP = g.tu || g.lm; km = Cb("Gecko") && !(sb(g.wb(), "WebKit") && !Cb("Edge")) && !(Cb("Trident") || Cb("MSIE")) && !Cb("Edge"); g.lc = sb(g.wb(), "WebKit") && !Cb("Edge"); uX = ic(); f6a = Qaa(); g.us = Paa(); $8a = fc(); a9a = Cb("iPad"); b9a = Cb("iPod"); FO = gc(); lO = sb(g.wb(), "KaiOS"); + a: { + var d9a = "", e9a = function () { var a = g.wb(); if (km) return /rv:([^\);]+)(\)|;)/.exec(a); if (g.tu) return /Edge\/([\d\.]+)/.exec(a); if (g.lm) return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a); if (g.lc) return /WebKit\/(\S+)/.exec(a); if (g.GO) return /(?:Version)[ \/]?(\S+)/.exec(a) }(); + e9a && (d9a = e9a ? e9a[1] : ""); if (g.lm) { var d1, f9a = g.Ja.document; d1 = f9a ? f9a.documentMode : void 0; if (d1 != null && d1 > parseFloat(d9a)) { c9a = String(d1); break a } } c9a = d9a + } var Uaa = c9a, Saa = {}; var JPa = Vaa("AnimationEnd"), CS = Vaa("TransitionEnd"); g.Ya(mc, g.lb); + mc.prototype.init = function (a, b) { + var c = this.type = a.type, d = a.changedTouches && a.changedTouches.length ? a.changedTouches[0] : null; this.target = a.target || a.srcElement; this.currentTarget = b; b = a.relatedTarget; b || (c == "mouseover" ? b = a.fromElement : c == "mouseout" && (b = a.toElement)); this.relatedTarget = b; d ? (this.clientX = d.clientX !== void 0 ? d.clientX : d.pageX, this.clientY = d.clientY !== void 0 ? d.clientY : d.pageY, this.screenX = d.screenX || 0, this.screenY = d.screenY || 0) : (this.clientX = a.clientX !== void 0 ? a.clientX : a.pageX, this.clientY = + a.clientY !== void 0 ? a.clientY : a.pageY, this.screenX = a.screenX || 0, this.screenY = a.screenY || 0); this.button = a.button; this.keyCode = a.keyCode || 0; this.key = a.key || ""; this.charCode = a.charCode || (c == "keypress" ? a.keyCode : 0); this.ctrlKey = a.ctrlKey; this.altKey = a.altKey; this.shiftKey = a.shiftKey; this.metaKey = a.metaKey; this.pointerId = a.pointerId || 0; this.pointerType = a.pointerType; this.state = a.state; this.timeStamp = a.timeStamp; this.j = a; a.defaultPrevented && mc.Of.preventDefault.call(this) + }; + mc.prototype.stopPropagation = function () { mc.Of.stopPropagation.call(this); this.j.stopPropagation ? this.j.stopPropagation() : this.j.cancelBubble = !0 }; + mc.prototype.preventDefault = function () { mc.Of.preventDefault.call(this); var a = this.j; a.preventDefault ? a.preventDefault() : a.returnValue = !1 }; var Waa = "closure_listenable_" + (Math.random() * 1E6 | 0); var Xaa = 0; var cba = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "); g.k = Ic.prototype; g.k.add = function (a, b, c, d, e) { var f = a.toString(); a = this.listeners[f]; a || (a = this.listeners[f] = [], this.j++); var h = Kc(a, b, d, e); h > -1 ? (b = a[h], c || (b.eJ = !1)) : (b = new Yaa(b, this.src, f, !!d, e), b.eJ = c, a.push(b)); return b }; + g.k.remove = function (a, b, c, d) { a = a.toString(); if (!(a in this.listeners)) return !1; var e = this.listeners[a]; b = Kc(e, b, c, d); return b > -1 ? (pc(e[b]), g.Nb(e, b), e.length == 0 && (delete this.listeners[a], this.j--), !0) : !1 }; + g.k.removeAll = function (a) { a = a && a.toString(); var b = 0, c; for (c in this.listeners) if (!a || c == a) { for (var d = this.listeners[c], e = 0; e < d.length; e++)++b, pc(d[e]); delete this.listeners[c]; this.j-- } return b }; + g.k.kF = function (a, b, c, d) { a = this.listeners[a.toString()]; var e = -1; a && (e = Kc(a, b, c, d)); return e > -1 ? a[e] : null }; + g.k.hasListener = function (a, b) { var c = a !== void 0, d = c ? a.toString() : "", e = b !== void 0; return g.tc(this.listeners, function (f) { for (var h = 0; h < f.length; ++h)if (!(c && f[h].type != d || e && f[h].capture != b)) return !0; return !1 }) }; var Rc = "closure_lm_" + (Math.random() * 1E6 | 0), Tc = {}, hba = 0, Uc = "__closure_events_fn_" + (Math.random() * 1E9 >>> 0); g.Ya(g.Vc, g.O); g.Vc.prototype[Waa] = !0; g.k = g.Vc.prototype; g.k.addEventListener = function (a, b, c, d) { g.Nc(this, a, b, c, d) }; + g.k.removeEventListener = function (a, b, c, d) { jba(this, a, b, c, d) }; + g.k.dispatchEvent = function (a) { var b = this.CS; if (b) { var c = []; for (var d = 1; b; b = b.CS)c.push(b), ++d } b = this.c7; d = a.type || a; if (typeof a === "string") a = new g.lb(a, b); else if (a instanceof g.lb) a.target = a.target || b; else { var e = a; a = new g.lb(d, b); g.Hc(a, e) } e = !0; if (c) for (var f = c.length - 1; !a.B && f >= 0; f--) { var h = a.currentTarget = c[f]; e = Wc(h, d, !0, a) && e } a.B || (h = a.currentTarget = b, e = Wc(h, d, !0, a) && e, a.B || (e = Wc(h, d, !1, a) && e)); if (c) for (f = 0; !a.B && f < c.length; f++)h = a.currentTarget = c[f], e = Wc(h, d, !1, a) && e; return e }; + g.k.xa = function () { g.Vc.Of.xa.call(this); this.Em && this.Em.removeAll(void 0); this.CS = null }; + g.k.listen = function (a, b, c, d) { return this.Em.add(String(a), b, !1, c, d) }; + g.k.cG = function (a, b, c, d) { return this.Em.add(String(a), b, !0, c, d) }; + g.k.Oc = function (a, b, c, d) { this.Em.remove(String(a), b, c, d) }; + g.k.kF = function (a, b, c, d) { return this.Em.kF(String(a), b, c, d) }; + g.k.hasListener = function (a, b) { return this.Em.hasListener(a !== void 0 ? String(a) : void 0, b) }; Xc.prototype.get = function () { if (this.B > 0) { this.B--; var a = this.j; this.j = a.next; a.next = null } else a = this.C(); return a }; var g9a = { area: !0, base: !0, br: !0, col: !0, command: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 }; bd.prototype.toString = function () { return this.j }; + var oba = {}, nba = {}; ed(""); var fd; g.hd.prototype.toString = function () { return this.o1 + "" }; + var pba = {}; g.kd.prototype.toString = function () { return this.s1 }; + g.qd = new g.kd("about:invalid#zClosurez"); var nQa = pd("tel"), lQa = pd("sms"), qba = [pd("data"), pd("http"), pd("https"), pd("mailto"), pd("ftp"), new od(function (a) { return /^[^:]*([/?#]|$)/.test(a) })], rba = /^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i; var Cd = {}; g.td.prototype.toString = function () { return this.n1.toString() }; + var Ela = new g.td("", Cd), uba = RegExp("^[-+,.\"'%_!#/ a-zA-Z0-9\\[\\]]+$"), tba = RegExp("\\b(url\\([ \t\n]*)('[ -&(-\\[\\]-~]*'|\"[ !#-\\[\\]-~]*\"|[!#-&*-\\[\\]-~]*)([ \t\n]*\\))", "g"), sba = RegExp("\\b(calc|cubic-bezier|fit-content|hsl|hsla|linear-gradient|matrix|minmax|radial-gradient|repeat|rgb|rgba|(rotate|scale|translate)(X|Y|Z|3d)?|steps|var)\\([-+*/0-9a-zA-Z.%#\\[\\], ]+\\)", "g"), vba = /\/\*/; var Cba = {}; g.vd.prototype.toString = function () { return this.m1.toString() }; + var h9a = /^[a-zA-Z0-9-]+$/, i9a = { action: !0, cite: !0, data: !0, formaction: !0, href: !0, manifest: !0, poster: !0, src: !0 }, j9a = { APPLET: !0, BASE: !0, EMBED: !0, IFRAME: !0, LINK: !0, MATH: !0, META: !0, OBJECT: !0, SCRIPT: !0, STYLE: !0, SVG: !0, TEMPLATE: !0 }, zba = new g.vd(g.Ja.trustedTypes && g.Ja.trustedTypes.emptyHTML || "", Cba); yd.prototype.toString = function () { return this.j }; zd.prototype.toString = function () { return this.q1.toString() }; var k9a = $c(function () { var a = document.createElement("div"), b = document.createElement("div"); b.appendChild(document.createElement("div")); a.appendChild(b); b = a.firstChild.firstChild; a.innerHTML = g.wd(zba); return !b.parentElement }); g.k = g.Gd.prototype; g.k.clone = function () { return new g.Gd(this.x, this.y) }; + g.k.ceil = function () { this.x = Math.ceil(this.x); this.y = Math.ceil(this.y); return this }; + g.k.floor = function () { this.x = Math.floor(this.x); this.y = Math.floor(this.y); return this }; + g.k.round = function () { this.x = Math.round(this.x); this.y = Math.round(this.y); return this }; + g.k.scale = function (a, b) { this.x *= a; this.y *= typeof b === "number" ? b : a; return this }; g.k = g.Id.prototype; g.k.clone = function () { return new g.Id(this.width, this.height) }; + g.k.area = function () { return this.width * this.height }; + g.k.aspectRatio = function () { return this.width / this.height }; + g.k.isEmpty = function () { return !this.area() }; + g.k.ceil = function () { this.width = Math.ceil(this.width); this.height = Math.ceil(this.height); return this }; + g.k.floor = function () { this.width = Math.floor(this.width); this.height = Math.floor(this.height); return this }; + g.k.round = function () { this.width = Math.round(this.width); this.height = Math.round(this.height); return this }; + g.k.scale = function (a, b) { this.width *= a; this.height *= typeof b === "number" ? b : a; return this }; var Qd = {}; g.l9a = String.prototype.repeat ? function (a, b) { return a.repeat(b) } : function (a, b) { return Array(b + 1).join(a) }; var Vba = { cellpadding: "cellPadding", cellspacing: "cellSpacing", colspan: "colSpan", frameborder: "frameBorder", height: "height", maxlength: "maxLength", nonce: "nonce", role: "role", rowspan: "rowSpan", type: "type", usemap: "useMap", valign: "vAlign", width: "width" }; g.k = Xd.prototype; g.k.Ib = function (a) { return $d(this.j, a) }; + g.k.getElementsByTagName = function (a, b) { return (b || this.j).getElementsByTagName(String(a)) }; + g.k.Ea = function (a) { return g.de(a, this.j) }; + g.k.setProperties = ee; g.k.createElement = function (a) { return ge(this.j, a) }; + g.k.appendChild = g.le; g.k.append = function (a, b) { Zba(Yd(a), a, arguments, 1) }; + g.k.canHaveChildren = function (a) { if (a.nodeType != 1) return !1; switch (a.tagName) { case "APPLET": case "AREA": case "BASE": case "BR": case "COL": case "COMMAND": case "EMBED": case "FRAME": case "HR": case "IMG": case "INPUT": case "IFRAME": case "ISINDEX": case "KEYGEN": case "LINK": case "NOFRAMES": case "NOSCRIPT": case "META": case "OBJECT": case "PARAM": case "SCRIPT": case "SOURCE": case "STYLE": case "TRACK": case "WBR": return !1 }return !0 }; + g.k.removeNode = g.pe; g.k.getChildren = function (a) { return a.children != void 0 ? a.children : Array.prototype.filter.call(a.childNodes, function (b) { return b.nodeType == 1 }) }; + g.k.contains = g.qe; var ue; xe.prototype.add = function (a, b) { var c = fca.get(); c.set(a, b); this.B ? this.B.next = c : this.j = c; this.B = c }; + xe.prototype.remove = function () { var a = null; this.j && (a = this.j, this.j = this.j.next, this.j || (this.B = null), a.next = null); return a }; + var fca = new Xc(function () { return new Ae }, function (a) { return a.reset() }); + Ae.prototype.set = function (a, b) { this.Gm = a; this.scope = b; this.next = null }; + Ae.prototype.reset = function () { this.next = this.scope = this.Gm = null }; var Be, Ce = !1, dca = new xe; gca.prototype.reset = function () { this.context = this.B = this.C = this.j = null; this.D = !1 }; + var hca = new Xc(function () { return new gca }, function (a) { a.reset() }); + g.Fe.prototype.then = function (a, b, c) { return rca(this, typeof a === "function" ? a : null, typeof b === "function" ? b : null, c) }; + g.Fe.prototype.$goog_Thenable = !0; g.k = g.Fe.prototype; g.k.Wk = function (a, b) { return rca(this, null, a, b) }; + g.k.catch = g.Fe.prototype.Wk; g.k.cancel = function (a) { if (this.j == 0) { var b = new Le(a); g.De(function () { nca(this, b) }, this) } }; + g.k.Yea = function (a) { this.j = 0; Ee(this, 2, a) }; + g.k.Zea = function (a) { this.j = 0; Ee(this, 3, a) }; + g.k.v8 = function () { for (var a; a = oca(this);)pca(this, a, this.j, this.N); this.K = !1 }; + var vca = we; g.Ya(Le, ib); Le.prototype.name = "cancel"; g.Ya(g.Me, g.Vc); g.k = g.Me.prototype; g.k.enabled = !1; g.k.ud = null; g.k.setInterval = function (a) { this.cj = a; this.ud && this.enabled ? (this.stop(), this.start()) : this.ud && this.stop() }; + g.k.Kea = function () { if (this.enabled) { var a = g.Xa() - this.a_; a > 0 && a < this.cj * .8 ? this.ud = this.ZH.setTimeout(this.hX, this.cj - a) : (this.ud && (this.ZH.clearTimeout(this.ud), this.ud = null), this.dispatchEvent("tick"), this.enabled && (this.stop(), this.start())) } }; + g.k.start = function () { this.enabled = !0; this.ud || (this.ud = this.ZH.setTimeout(this.hX, this.cj), this.a_ = g.Xa()) }; + g.k.stop = function () { this.enabled = !1; this.ud && (this.ZH.clearTimeout(this.ud), this.ud = null) }; + g.k.xa = function () { g.Me.Of.xa.call(this); this.stop(); delete this.ZH }; g.z(g.Pe, g.O); g.k = g.Pe.prototype; g.k.sendIsolatedPayload = function (a) { this.G = a; this.C = 1 }; + g.k.BN = function () { + var a = this.B.values(); a = [].concat(g.x(a)).filter(function (b) { return b.j.size }); + a.length && this.N.flush(a, this.G); yca(a); this.D = 0; this.j.enabled && this.j.stop() + }; + g.k.gk = function (a) { var b = g.Ca.apply(1, arguments); this.B.has(a) || this.B.set(a, new bb(a, b)) }; + g.k.fE = function (a) { var b = g.Ca.apply(1, arguments); this.B.has(a) || this.B.set(a, new eb(a, b)) }; + g.k.lm = function (a) { this.AN(a, 1, g.Ca.apply(1, arguments)) }; + g.k.AN = function (a, b) { var c = g.Ca.apply(2, arguments), d = xca(this, a); d && d instanceof bb && (d.B(b, c), wca(this)) }; + g.k.Ph = function (a, b) { var c = g.Ca.apply(2, arguments), d = xca(this, a); d && d instanceof eb && (d.Ph(b, c), wca(this)) }; Bca.prototype.Ph = function (a, b, c) { this.j.Ph("/client_streamz/bg/fil", a, b, c) }; + Dca.prototype.Ph = function (a, b, c) { this.j.Ph("/client_streamz/bg/fcd", a, b, c) }; + Fca.prototype.Ph = function (a, b, c) { this.j.Ph("/client_streamz/bg/fsl", a, b, c) }; + Gca.prototype.Ph = function (a, b, c, d, e, f) { this.j.Ph("/client_streamz/bg/wrl", a, b, c, d, e, f) }; + Hca.prototype.Ph = function (a, b, c, d, e) { this.j.Ph("/client_streamz/bg/el", a, b, c, d, e) }; var jh = void 0, ih, pea = typeof TextDecoder !== "undefined", Pca, Oca = typeof String.prototype.isWellFormed === "function", Nca = typeof TextEncoder !== "undefined"; var qs, rs; g.YN = Fb(); qs = fc() || Cb("iPod"); rs = Cb("iPad"); g.HO = Baa(); g.KE = Gb(); g.Rt = Hb() && !gc(); var Uca = {}, We = null, Vca = km || g.lc || typeof g.Ja.btoa == "function"; var dda = typeof Uint8Array !== "undefined", Yca = !g.lm && typeof btoa === "function", bda = /[-_.]/g, $ca = { "-": "+", _: "/", ".": "=" }, Ye = {}; var fda; Ze.prototype.isEmpty = function () { return this.j == null }; + Ze.prototype.sizeBytes = function () { var a = af(this); return a ? a.length : 0 }; var Uda; var Ag = typeof Symbol === "function" && typeof Symbol() === "symbol", e1 = gf(), gg = gf("2ex"), Bg = gf("1oa"), Rda = gf("0dg"); Math.max.apply(Math, g.x(Object.values({ Sia: 1, Qia: 2, Pia: 4, Jja: 8, Ija: 16, Cja: 32, Vga: 64, lla: 128, cia: 256, bia: 512, Ria: 1024, Mha: 2048, Yka: 4096, Oha: 8192 }))); var cg = Ag ? function (a, b) { a[e1] |= b } : function (a, b) { + a.xo !== void 0 ? a.xo |= b : Object.defineProperties(a, { + xo: { + value: b, + configurable: !0, writable: !0, enumerable: !1 + } + }) + }, mg = Ag ? function (a, b) { a[e1] &= ~b } : function (a, b) { a.xo !== void 0 && (a.xo &= ~b) }, nf = Ag ? function (a) { return a[e1] | 0 } : function (a) { return a.xo | 0 }, ag = Ag ? function (a) { return a[e1] } : function (a) { return a.xo }, hf = Ag ? function (a, b) { a[e1] = b } : function (a, b) { + a.xo !== void 0 ? a.xo = b : Object.defineProperties(a, { + xo: { + value: b, + configurable: !0, writable: !0, enumerable: !1 + } + }) + }; var Pf = {}, hda = {}, lg, m9a = []; hf(m9a, 55); lg = Object.freeze(m9a); var qf, Rea, fea = Object.freeze({}); Object.freeze({}); var bea = Object.freeze({}); var lea = typeof Uint8Array.prototype.slice === "function", rf = 0, sf = 0, efa; var nda = Af(function (a) { return typeof a === "number" }), mda = Af(function (a) { return typeof a === "string" }), oda = Af(function (a) { return typeof a === "boolean" }), n9a = Af(function (a) { return !!a && (typeof a === "object" || typeof a === "function") }); var Bf = typeof g.Ja.BigInt === "function" && typeof g.Ja.BigInt(0) === "bigint"; var zda = Af(function (a) { return Bf ? a >= o9a && a <= p9a : a[0] === "-" ? pda(a, q9a) : pda(a, r9a) }), q9a = Number.MIN_SAFE_INTEGER.toString(), o9a = Bf ? BigInt(Number.MIN_SAFE_INTEGER) : void 0, r9a = Number.MAX_SAFE_INTEGER.toString(), p9a = Bf ? BigInt(Number.MAX_SAFE_INTEGER) : void 0; var rda = /^-?([1-9][0-9]*|0)(\.[0-9]+)?$/; var Tf = void 0, Uf = void 0; var Vf, Xf, Kda; Xg.prototype.init = function (a, b, c, d) { d = d === void 0 ? {} : d; this.QI = d.QI === void 0 ? !1 : d.QI; a && (a = Wg(a), this.B = a.buffer, this.G = a.Cx, this.D = b || 0, this.C = c !== void 0 ? this.D + c : this.B.length, this.j = this.D) }; + Xg.prototype.free = function () { this.clear(); eh.length < 100 && eh.push(this) }; + Xg.prototype.clear = function () { this.B = null; this.G = !1; this.j = this.C = this.D = 0; this.QI = !1 }; + Xg.prototype.reset = function () { this.j = this.D }; + var eh = []; fh.prototype.free = function () { this.j.clear(); this.B = this.D = -1; f1.length < 100 && f1.push(this) }; + fh.prototype.reset = function () { this.j.reset(); this.C = this.j.j; this.B = this.D = -1 }; + var f1 = []; var oh, nh; g.k = mh.prototype; g.k.toJSON = function () { return ph(this) }; + g.k.cn = function (a) { try { return nh = !0, a && (oh = a === lh || a !== rea && a !== vea && a !== yea ? lh : a), JSON.stringify(ph(this), Mda) } finally { a && (oh = void 0), nh = !1 } }; + g.k.clone = function () { var a = this.sb; return Wf(this.constructor, bg(a, ag(a), !1)) }; + g.k.Cx = function () { return !!(nf(this.sb) & 2) }; + g.k.eL = Pf; g.k.toString = function () { try { return nh = !0, ph(this).toString() } finally { nh = !1 } }; var Dea, Gea; qh.prototype.length = function () { return this.j.length }; + qh.prototype.end = function () { var a = this.j; this.j = []; return a }; var Oea = Symbol(), Bh, Ch, Fh = Symbol(), Wea = Symbol(), Ih = Symbol(), Jh = Symbol(), s9a = Kh(function (a, b, c) { if (a.B !== 1) return !1; Mh(b, c, ch(a.j)); return !0 }, Nh), t9a = Kh(function (a, b, c) { + if (a.B !== 1) return !1; + a = ch(a.j); Mh(b, c, a === 0 ? void 0 : a); return !0 + }, Nh), u9a = Kh(function (a, b, c, d) { + if (a.B !== 1) return !1; + yg(b, c, d, ch(a.j)); return !0 + }, Nh), v9a = Kh(function (a, b, c) { + if (a.B !== 0) return !1; + Mh(b, c, Zg(a.j)); return !0 + }, Oh), w9a = Kh(function (a, b, c) { + if (a.B !== 0) return !1; + a = Zg(a.j); Mh(b, c, a === 0 ? void 0 : a); return !0 + }, Oh), x9a = Kh(function (a, b, c, d) { + if (a.B !== 0) return !1; + yg(b, c, d, Zg(a.j)); return !0 + }, Oh), y9a = Kh(function (a, b, c) { + if (a.B !== 0) return !1; + Mh(b, c, $g(a.j)); return !0 + }, Ph), z9a = Kh(function (a, b, c) { + if (a.B !== 0) return !1; + a = $g(a.j); Mh(b, c, a === 0 ? void 0 : a); return !0 + }, Ph), A9a = Kh(function (a, b, c, d) { + if (a.B !== 0) return !1; + yg(b, c, d, $g(a.j)); return !0 + }, Ph), B9a = Kh(function (a, b, c) { + if (a.B !== 1) return !1; + Mh(b, c, bh(a.j)); return !0 + }, function (a, b, c) { Lea(a, c, Cda(b)) }), C9a = Lh(function (a, b, c) { + if (a.B !== 1 && a.B !== 2) return !1; + b = ng(b, ag(b), c, 2, !1); if (a.B == 2) for (c = $g(a.j) >>> 0, c = a.j.j + c; a.j.j < c;)b.push(bh(a.j)); else b.push(bh(a.j)); return !0 + }, function (a, b, c) { + b = zh(Cda, b, !1); + if (b != null) for (var d = 0; d < b.length; d++)Lea(a, c, b[d]) + }), D9a = Kh(function (a, b, c) { + if (a.B !== 0) return !1; + Mh(b, c, dh(a.j)); return !0 + }, ffa), E9a = Kh(function (a, b, c, d) { + if (a.B !== 0) return !1; + yg(b, c, d, dh(a.j)); return !0 + }, ffa), g1 = Kh(function (a, b, c) { + if (a.B !== 2) return !1; + Mh(b, c, kh(a)); return !0 + }, gfa), F9a = Lh(function (a, b, c) { + if (a.B !== 2) return !1; + a = kh(a); tg(b, c, dea, a); return !0 + }, function (a, b, c) { + b = zh(Nf, b, !0); + if (b != null) for (var d = 0; d < b.length; d++) { var e = a, f = c, h = b[d]; h != null && xh(e, f, Qca(h)) } + }), G9a = Kh(function (a, b, c, d) { + if (a.B !== 2) return !1; + yg(b, c, d, kh(a)); return !0 + }, gfa), Mea = new yh(function (a, b, c, d, e) { + if (a.B !== 2) return !1; + hh(a, Cg(b, d, c, !0), e); return !0 + }, Qh, !1, !0), Vea = new yh(function (a, b, c, d, e) { + if (a.B !== 2) return !1; + hh(a, Cg(b, d, c), e); return !0 + }, Qh, !1, !0), h1; + h1 = new yh(function (a, b, c, d, e) { if (a.B !== 2) return !1; d = Zf(void 0, d[0], d[1]); var f = ag(b); pf(f); var h = ng(b, f, c, 3); f = ag(b); nf(h) & 4 && (h = ff(h), hf(h, (nf(h) | 1) & -2079), hg(b, f, c, h)); h.push(d); hh(a, d, e); return !0 }, function (a, b, c, d, e) { if (Array.isArray(b)) for (var f = 0; f < b.length; f++)Qh(a, b[f], c, d, e) }, !0, !0); + var i1 = new yh(function (a, b, c, d, e, f) { if (a.B !== 2) return !1; wg(b, ag(b), f, c); b = Cg(b, d, c); hh(a, b, e); return !0 }, Qh, !1, !0), H9a = Kh(function (a, b, c) { + if (a.B !== 2) return !1; + Mh(b, c, qea(a)); return !0 + }, function (a, b, c) { + b = Dda(b); + b != null && xh(a, c, Wg(b).buffer) + }), I9a = Lh(function (a, b, c) { + if (a.B !== 2) return !1; + a = qea(a); tg(b, c, dea, a); return !0 + }, function (a, b, c) { + b = zh(Dda, b, !1); + if (b != null) for (var d = 0; d < b.length; d++) { var e = a, f = c, h = b[d]; h != null && xh(e, f, Wg(h).buffer) } + }), j1 = Kh(function (a, b, c) { + if (a.B !== 0) return !1; + Mh(b, c, $g(a.j) >>> 0); return !0 + }, function (a, b, c) { + b = If(b); + b != null && b != null && (wh(a, c, 0), rh(a.j, b)) + }), J9a = Kh(function (a, b, c) { + if (a.B !== 0) return !1; + Mh(b, c, $g(a.j)); return !0 + }, function (a, b, c) { + b = Hf(b); + b != null && (b = parseInt(b, 10), wh(a, c, 0), Jea(a.j, b)) + }); g.z(ifa, mh); g.z(Sh, mh); var Yh = [1, 2, 3]; var K9a = [0, Yh, G9a, A9a, E9a]; var L9a = [0, h1, [0, s9a, v9a]]; g.z(Th, mh); var Xh = [1, 2, 3]; var M9a = [0, Xh, x9a, u9a, i1, L9a]; g.z(Uh, mh); var N9a = [0, h1, K9a, M9a]; var O9a = [0, [1, 2, 3], i1, [0, g1, -1, D9a], i1, [0, g1, -1, y9a, D9a], i1, [0, g1]]; g.z(Wh, mh); Wh.prototype.Ir = function () { Zda(this, 3, Nf, 3, void 0, !0); throw Error(); }; Wh.prototype.j = hfa([0, g1, O9a, F9a, h1, N9a, B9a, C9a]); g.z(jfa, mh); var qfa = {}; g.k = Zh.prototype; g.k.isEnabled = function () { if (!g.Ja.navigator.cookieEnabled) return !1; if (!this.isEmpty()) return !0; this.set("TESTCOOKIESENABLED", "1", { iG: 60 }); if (this.get("TESTCOOKIESENABLED") !== "1") return !1; this.remove("TESTCOOKIESENABLED"); return !0 }; + g.k.set = function (a, b, c) { + var d = !1; if (typeof c === "object") { var e = c.Oda; d = c.secure || !1; var f = c.domain || void 0; var h = c.path || void 0; var l = c.iG } if (/[;=\s]/.test(a)) throw Error('Invalid cookie name "' + a + '"'); if (/[;\r\n]/.test(b)) throw Error('Invalid cookie value "' + b + '"'); l === void 0 && (l = -1); c = f ? ";domain=" + f : ""; h = h ? ";path=" + h : ""; d = d ? ";secure" : ""; l = l < 0 ? "" : l == 0 ? ";expires=" + (new Date(1970, 1, 1)).toUTCString() : ";expires=" + (new Date(Date.now() + l * 1E3)).toUTCString(); this.j.cookie = a + "=" + b + c + h + l + d + (e != null ? ";samesite=" + + e : "") + }; + g.k.get = function (a, b) { for (var c = a + "=", d = (this.j.cookie || "").split(";"), e = 0, f; e < d.length; e++) { f = tb(d[e]); if (f.lastIndexOf(c, 0) == 0) return f.slice(c.length); if (f == a) return "" } return b }; + g.k.remove = function (a, b, c) { var d = this.get(a) !== void 0; this.set(a, "", { iG: 0, path: b, domain: c }); return d }; + g.k.Xn = function () { return $h(this).keys }; + g.k.Mm = function () { return $h(this).values }; + g.k.isEmpty = function () { return !this.j.cookie }; + g.k.clear = function () { for (var a = $h(this).keys, b = a.length - 1; b >= 0; b--)this.remove(a[b]) }; + var cs = new Zh(typeof document == "undefined" ? null : document); g.z(ci, mh); di.prototype.setInterval = function (a) { this.intervalMs = a; this.Xe && this.enabled ? (this.stop(), this.start()) : this.Xe && this.stop() }; + di.prototype.start = function () { var a = this; this.enabled = !0; this.Xe || (this.Xe = setTimeout(function () { a.tick() }, this.intervalMs), this.B = this.j()) }; + di.prototype.stop = function () { this.enabled = !1; this.Xe && (clearTimeout(this.Xe), this.Xe = void 0) }; + di.prototype.tick = function () { var a = this; if (this.enabled) { var b = Math.max(this.j() - this.B, 0); b < this.intervalMs * .8 ? this.Xe = setTimeout(function () { a.tick() }, this.intervalMs - b) : (this.Xe && (clearTimeout(this.Xe), this.Xe = void 0), this.callback(), this.enabled && (this.stop(), this.start())) } else this.Xe = void 0 }; g.z(ei, mh); g.z(fi, mh); g.gi.prototype.B = 0; g.gi.prototype.reset = function () { this.j = this.C = this.D; this.B = 0 }; + g.gi.prototype.getValue = function () { return this.C }; g.z(ii, mh); ii.prototype.lK = function () { return Ng(this, 1) }; g.z(ji, mh); g.z(ki, mh); g.z(li, mh); var vfa = ["platform", "platformVersion", "architecture", "model", "uaFullVersion"], ni = new ki, mi = null; g.z(oi, mh); g.z(xfa, mh); g.z(pi, mh); g.z(qi, mh); qi.prototype.L = function () { return jg(this, xfa, 7) }; + qi.prototype.Lz = function () { return ig(this, 16) }; g.z(ri, mh); ri.prototype.DH = function (a) { return Ug(this, 2, a) }; g.z(yfa, mh); var P9a = Rh(yfa); g.z(zfa, mh); var k1 = new function () { this.j = zfa; this.isRepeated = 0; this.B = Dg; this.defaultValue = void 0 }; g.z(ui, g.O); g.k = ui.prototype; g.k.xa = function () { this.AP(); this.j.stop(); this.qa.stop(); g.O.prototype.xa.call(this) }; + g.k.dispatch = function (a) { if (this.N) if (a instanceof qi) this.log(a); else { var b = new qi; a = a.cn(); b = Sg(b, 8, a); this.log(b) } }; + g.k.log = function (a) { if (this.N) { a = a.clone(); var b = this.Fa++; a = Rg(a, 21, b); this.componentId && Sg(a, 26, this.componentId); if (hea(a) == null) { var c = Date.now(); b = a; c = Number.isFinite(c) ? c.toString() : "0"; ig(b, 1, Lf(c)) } Ada(fg(a, 15)) != null || Rg(a, 15, (new Date).getTimezoneOffset() * 60); this.experimentIds && (b = a, c = this.experimentIds.clone(), Eg(b, ci, 16, c)); b = this.C.length - 1E3 + 1; b > 0 && (this.C.splice(0, b), this.G += b); this.C.push(a); this.EE || this.j.enabled || this.j.start() } }; + g.k.flush = function (a, b) { + var c = this; if (this.C.length === 0) a && a(); else { + var d = Date.now(); if (this.Ba > d && this.Y < d) b && b("throttled"); else { + this.network && (typeof this.network.lK === "function" ? Cfa(this.B, this.network.lK()) : Cfa(this.B, 0)); var e = this.B.build(this.C, this.G, this.Z, this.VB, 0, 0); d = {}; var f = this.ZE(); f && (d.Authorization = f); this.K || (this.K = ti()); try { var h = (new URL(this.K)).toString() } catch (m) { h = (new URL(this.K, fe().location.origin)).toString() } h = new URL(h); this.sessionIndex && (d["X-Goog-AuthUser"] = this.sessionIndex, + h.searchParams.set("authuser", this.sessionIndex)); this.pageId && (Object.defineProperty(d, "X-Goog-PageId", { value: this.pageId }), h.searchParams.set("pageId", this.pageId)); if (f && this.ra === f) b && b("stale-auth-token"); else { + this.C = []; this.j.enabled && this.j.stop(); this.G = 0; var l = e.cn(); d = { url: h.toString(), body: l, Jma: 1, requestHeaders: d, requestType: "POST", withCredentials: this.withCredentials, timeoutMillis: this.timeoutMillis }; h = function (m) { + c.D.reset(); c.j.setInterval(c.D.getValue()); if (m) { + var n = null; try { + var p = + JSON.stringify(JSON.parse(m.replace(")]}'\n", ""))); n = P9a(p) + } catch (q) { } n && (m = Number, p = "-1", p = p === void 0 ? "0" : p, p = Ig(hea(n), p), m = m(p), m > 0 && (c.Y = Date.now(), c.Ba = c.Y + m), n = k1.j ? k1.B(n, k1.j, 175237375, !0) : k1.B(n, 175237375, null, !0), n = n === null ? void 0 : n) && (n = Kg(n, 1, -1), n !== -1 && (c.D = new g.gi(n < 1 ? 1 : n, 3E5, .1), c.j.setInterval(c.D.getValue()))) + } a && a(); c.Z = 0 + }; + l = function (m, n) { var p = gea(e, qi); var q = Ada(fg(e, 14)); g.hi(c.D); c.j.setInterval(c.D.getValue()); m === 401 && f && (c.ra = f); q && (c.G += q); n === void 0 && (n = c.isRetryable(m)); n && (c.C = p.concat(c.C), c.EE || c.j.enabled || c.j.start()); b && b("net-send-failed", m); ++c.Z }; + c.network && c.network.send(d, h, l) + } + } + } + }; + g.k.AP = function () { Dfa(this.B, !0); this.flush(); Dfa(this.B, !1) }; + g.k.isRetryable = function (a) { return 500 <= a && a < 600 || a === 401 || a === 0 }; + si.prototype.DH = function (a) { this.j.DH(a); return this }; + si.prototype.build = function (a, b, c, d, e, f) { b = b === void 0 ? 0 : b; e = e === void 0 ? 0 : e; f = f === void 0 ? 0 : f; c = c === void 0 ? 0 : c; if (jg(wi(this), li, 11)) { var h = xi(this); ig(h, 3, Gf(c)) } jg(wi(this), li, 11) && (c = xi(this), ig(c, 4, Gf(e))); jg(wi(this), li, 11) && (e = xi(this), ig(e, 5, Gf(f))); f = this.j.clone(); e = Date.now().toString(); f = ig(f, 4, Lf(e)); a = Gg(f, qi, 3, a.slice()); d && (f = new ei, d = ig(f, 13, Gf(d)), f = new fi, d = Eg(f, ei, 2, d), f = new pi, d = Eg(f, fi, 1, d), d = Ug(d, 2, 9), Eg(a, pi, 18, d)); b && Rg(a, 14, b); return a }; yi.prototype.send = function (a, b, c) { + var d = this, e, f, h, l, m, n, p, q, r, t; return g.J(function (u) { + switch (u.j) { + case 1: return f = (e = d.Z6 ? new AbortController : void 0) ? setTimeout(function () { e.abort() }, a.timeoutMillis) : void 0, g.va(u, 2, 3), h = Object.assign({}, { + method: a.requestType, + headers: Object.assign({}, a.requestHeaders) + }, a.body && { body: a.body }, a.withCredentials && { credentials: "include" }, { signal: a.timeoutMillis && e ? e.signal : null }), g.G(u, fetch(a.url, h), 5); case 5: l = u.B; if (l.status !== 200) { (m = c) == null || m(l.status); u.Ha(3); break } if ((n = b) == null) { u.Ha(7); break } return g.G(u, l.text(), 8); case 8: n(u.B); case 7: case 3: g.ya(u); clearTimeout(f); g.za(u, 0); break; case 2: p = g.xa(u); switch ((q = p) == null ? void 0 : q.name) { case "AbortError": (r = c) == null || r(408); break; default: (t = c) == null || t(400) }u.Ha(3) + } + }) + }; + yi.prototype.lK = function () { return 4 }; g.z(zi, g.O); zi.prototype.OX = function () { this.D = !0; return this }; + zi.prototype.build = function () { + this.network || (this.network = new yi); var a = new ui({ logSource: this.logSource, ZE: this.ZE ? this.ZE : tfa, sessionIndex: this.sessionIndex, kfa: this.B, Ix: this.C, EE: !1, OX: this.D, dX: this.dX, network: this.network }); g.P(this, a); if (this.j) { var b = this.j, c = vi(a.B); Sg(c, 7, b) } this.componentId && (a.componentId = this.componentId); this.VB && (a.VB = this.VB); this.pageId && (a.pageId = this.pageId); this.Lz && ((c = this.Lz) ? (a.experimentIds || (a.experimentIds = new ci), b = a.experimentIds, c = c.cn(), Sg(b, 4, c)) : a.experimentIds && + ig(a.experimentIds, 4)); Efa(a.B); this.network.DH && this.network.DH(this.logSource); this.network.hea && this.network.hea(a); return a + }; g.z(Ai, g.O); Ai.prototype.flush = function (a) { a = a || []; if (a.length) { for (var b = new jfa, c = [], d = 0; d < a.length; d++) { var e = a[d], f = g.kfa(e); c.push(f); e.clear() } Gg(b, Wh, 1, c); this.j.dispatch(b); this.j.flush() } }; g.z(Bi, Error); Bi.prototype.toString = function () { var a = "RpcError(" + (Gfa(this.code) || String(this.code)) + ")"; this.message && (a += ": " + this.message); return a }; Hfa.prototype.cn = function (a) { var b = []; Di(this, a, b); return b.join("") }; + var Kfa = { '"': '\\"', "\\": "\\\\", "/": "\\/", "\b": "\\b", "\f": "\\f", "\n": "\\n", "\r": "\\r", "\t": "\\t", "\v": "\\u000b" }, Jfa = /\uffff/.test("\uffff") ? /[\\"\x00-\x1f\x7f-\uffff]/g : /[\\"\x00-\x1f\x7f-\xff]/g; Ei.prototype.C = null; Ei.prototype.getOptions = function () { return this.C || (this.C = this.D()) }; var Q9a; g.Ya(Ii, Ei); Ii.prototype.j = function () { return new XMLHttpRequest }; + Ii.prototype.D = function () { return {} }; + Q9a = new Ii; var Li = RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$"), Rfa = /#|$/, Sfa = /[?&]($|#)/; g.Ya(g.Xi, g.Vc); var $fa = /^https?$/i, R9a = ["POST", "PUT"], Ufa = []; g.k = g.Xi.prototype; g.k.x7 = function () { this.dispose(); g.Pb(Ufa, this) }; + g.k.send = function (a, b, c, d) { + if (this.j) throw Error("[goog.net.XhrIo] Object is active with another request=" + this.Y + "; newUri=" + a); b = b ? b.toUpperCase() : "GET"; this.Y = a; this.D = ""; this.B = 0; this.Fa = !1; this.C = !0; this.j = this.N ? this.N.j() : Q9a.j(); this.Ba = this.N ? this.N.getOptions() : Q9a.getOptions(); this.j.onreadystatechange = (0, g.Ua)(this.x0, this); try { this.getStatus(), this.Ga = !0, this.j.open(b, String(a), !0), this.Ga = !1 } catch (h) { this.getStatus(); Xfa(this, h); return } a = c || ""; c = new Map(this.headers); if (d) if (Object.getPrototypeOf(d) === + Object.prototype) for (var e in d) c.set(e, d[e]); else if (typeof d.keys === "function" && typeof d.get === "function") { e = g.w(d.keys()); for (var f = e.next(); !f.done; f = e.next())f = f.value, c.set(f, d.get(f)) } else throw Error("Unknown input type for opt_headers: " + String(d)); d = Array.from(c.keys()).find(function (h) { return "content-type" == h.toLowerCase() }); + e = g.Ja.FormData && a instanceof g.Ja.FormData; !g.Mb(R9a, b) || d || e || c.set("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); b = g.w(c); for (d = b.next(); !d.done; d = b.next())c = g.w(d.value), d = c.next().value, c = c.next().value, this.j.setRequestHeader(d, c); this.Ma && (this.j.responseType = this.Ma); "withCredentials" in this.j && this.j.withCredentials !== this.K && (this.j.withCredentials = this.K); try { + Zfa(this), this.ra > 0 && (this.getStatus(), this.qa = g.Ne(this.z5, this.ra, this)), this.getStatus(), this.Z = !0, this.j.send(a), + this.Z = !1 + } catch (h) { this.getStatus(), Xfa(this, h) } + }; + g.k.z5 = function () { typeof Zi != "undefined" && this.j && (this.D = "Timed out after " + this.ra + "ms, aborting", this.B = 8, this.getStatus(), this.dispatchEvent("timeout"), this.abort(8)) }; + g.k.abort = function (a) { this.j && this.C && (this.getStatus(), this.C = !1, this.G = !0, this.j.abort(), this.G = !1, this.B = a || 7, this.dispatchEvent("complete"), this.dispatchEvent("abort"), Yi(this)) }; + g.k.xa = function () { this.j && (this.C && (this.C = !1, this.G = !0, this.j.abort(), this.G = !1), Yi(this, !0)); g.Xi.Of.xa.call(this) }; + g.k.x0 = function () { this.La() || (this.Ga || this.Z || this.G ? Yfa(this) : this.Jba()) }; + g.k.Jba = function () { Yfa(this) }; + g.k.isActive = function () { return !!this.j }; + g.k.isComplete = function () { return g.$i(this) == 4 }; + g.k.getStatus = function () { try { return g.$i(this) > 2 ? this.j.status : -1 } catch (a) { return -1 } }; + g.k.getResponseHeader = function (a) { if (this.j && this.isComplete()) return a = this.j.getResponseHeader(a), a === null ? void 0 : a }; + g.k.getLastError = function () { return typeof this.D === "string" ? this.D : String(this.D) }; ej.prototype.send = function (a, b, c) { + b = b === void 0 ? function () { } : b; + c = c === void 0 ? function () { } : c; + Vfa(a.url, function (d) { d = d.target; aj(d) ? b(g.bj(d)) : c(d.getStatus()) }, a.requestType, a.body, a.requestHeaders, a.timeoutMillis, a.withCredentials) + }; + ej.prototype.lK = function () { return 1 }; gj.prototype.start = function () { this.startMillis = fj() }; + gj.prototype.done = function () { this.startMillis != null && this.logger.eG(this.event, fj() - this.startMillis) }; + g.z(hj, g.O); g.z(jj, hj); g.k = jj.prototype; g.k.o_ = function () { }; + g.k.mR = function () { }; + g.k.eG = function () { }; + g.k.Kl = function () { }; + g.k.qt = function () { }; + g.k.nR = function (a, b, c) { return c }; + g.k.q_ = function () { }; + g.k.n_ = function () { }; + g.k.p_ = function () { }; + g.z(kj, hj); g.k = kj.prototype; g.k.o_ = function () { this.qa.j.lm("/client_streamz/bg/fic", this.kh) }; + g.k.mR = function () { this.Fa.j.lm("/client_streamz/bg/fsc", "", this.kh) }; + g.k.eG = function (a, b) { if (a === "t") this.Ba.Ph(b, "", this.kh); else if (a === "n") this.Ga.Ph(b, "", this.kh); else if (a === "h" || a === "u" || a === "k") { if (a = this.D.get(a)) this.N.j.lm("/client_streamz/bg/fcc", a, this.kh), this.Z.Ph(b, a, this.kh) } else this.Y.Ph(b, a, "", this.B, this.kh) }; + g.k.Kl = function (a) { var b = this.C.get(a); b ? this.ra.j.lm("/client_streamz/bg/fiec", "", this.kh, b) : this.errorCount.j.lm("/client_streamz/bg/cec", a, "", this.B, this.kh) }; + g.k.nR = function (a, b, c) { + function d(h) { var l = fj() - f; e.Ma.Ph(l, a, b, h, e.B, e.kh) } + var e = this, f = fj(); c.then(function () { d(0) }, function (h) { h instanceof Bi ? d(h.code) : d(-1) }); + return c + }; + g.k.q_ = function (a) { this.Ra.j.lm("/client_streamz/bg/po/csc", a, this.B, this.kh) }; + g.k.n_ = function (a) { this.K.j.lm("/client_streamz/bg/po/ctav", a, this.B, this.kh) }; + g.k.p_ = function (a) { this.Ka.j.lm("/client_streamz/bg/po/cwsc", a, this.B, this.kh) }; + g.k.qt = function () { this.j.BN() }; g.z(lj, mh); g.z(mj, mh); g.z(nj, mh); var S9a = Rh(nj), cga = function (a) { return Af(function (b) { return b instanceof a && !(nf(b.sb) & 2) }) }(nj); + nj.messageId = "bfkj"; g.z(pj, g.O); pj.prototype.snapshot = function (a) { + var b = this; if (this.La()) throw Error("Already disposed"); this.Vf.mR(); return this.B.then(function (c) { + var d = c.o7; return new Promise(function (e) { + var f = new gj(b.Vf, "n"); d(function (h) { f.done(); b.Vf.qt(); e(h) }, [a.Ar, + a.oea, a.O3, a.sea]) + }) + }) + }; + pj.prototype.A2 = function (a) { + var b = this; if (this.La()) throw Error("Already disposed"); this.Vf.mR(); var c = ij(this.Vf, function () { return b.C([a.Ar, a.oea, a.O3, a.sea]) }, "n"); + this.Vf.qt(); return c + }; + g.z(qj, Error); g.z(uj, mh); g.z(vj, mh); g.z(wj, mh); xj.prototype.SE = function (a, b) { + var c = this, d, e, f, h, l; return g.J(function (m) { + if (m.j == 1) { var n = new uj; d = Tg(n, 1, c.cC); a && Tg(d, 2, a); b && Tg(d, 3, b); e = c.j(); return g.G(m, c.client.create(d, e), 2) } f = m.B; h = bf(rg(f, 2)); if (h.length) { + n = m.return; var p = new Uint8Array(h.length); for (var q = 0; q < h.length; q++)p[q] = h[q] + 97; if (g.Ja.TextDecoder) p = (new TextDecoder).decode(p); else if (p.length <= 8192) p = String.fromCharCode.apply(null, p); else { + q = ""; for (var r = 0; r < p.length; r += 8192)q += String.fromCharCode.apply(null, Array.prototype.slice.call(p, + r, r + 8192)); p = q + } p = S9a(p); return n.call(m, p) + } l = Dg(f, nj, 1); if (!l) throw Error("Missing field"); return m.return(l) + }) + }; + xj.prototype.ping = function (a, b) { var c = this, d, e; return g.J(function (f) { d = c.j(); e = b || new wj; var h = Sg(e, 1, c.cC); Sg(h, 2, a); return g.G(f, c.client.ping(e, d), 0) }) }; g.z(zj, g.O); zj.prototype.snapshot = function (a) { var b = this; return g.J(function (c) { if (c.j == 1) { if (b.La()) throw Error("Already disposed"); return b.C || b.Z ? c.Ha(2) : g.G(c, b.D.promise, 2) } if (b.C) return c.return(b.C.snapshot(a)); throw b.Z; }) }; + zj.prototype.handleError = function (a) { if (!this.La()) { this.Z = a; this.D.resolve(); var b, c; (c = (b = this.options).Toa) == null || c.call(b, a) } }; + var lga = { pda: 432E5, Q2: 3E5, G7: 1E4, A8: 3E4, s$: 3E4, lea: 6E4, r8: 1E3, q8: 6E4, s8: 6E5, t8: .25, p8: 2, maxAttempts: 10 }; var T9a, uga = (T9a = Math.imul) != null ? T9a : function (a, b) { return a * b | 0 }, Dj = [196, + 200, 224, 18]; Ej.prototype.cn = function () { return String(this.j) + "," + this.B.join() }; + Ej.prototype.Fh = function (a, b) { var c = void 0; if (this.B[this.j] !== a) { var d = this.B.indexOf(a); d !== -1 ? (this.B.splice(d, 1), d < this.j && this.j--, this.B.splice(this.j, 0, a)) : (c = this.B[this.j], this.B[this.j] = a) } this.j = (this.j + 1) % this.maxItems; a = tga("iU5q-!O9@$", this.cn()); c && a && b(c); return a }; var Fga = { toString: function (a) { var b = [], c = 0; a -= -2147483648; b[c++] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(a % 52); for (a = Math.floor(a / 52); a > 0;)b[c++] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".charAt(a % 62), a = Math.floor(a / 62); return b.join("") } }; g.z(Gj, g.O); Gj.prototype.lG = function (a, b) { var c = this.j(a); b == null || b(c); return ij(this.logger, function () { return g.Te(c, 2) }, this.B) }; + g.z(Jj, Gj); Jj.prototype.j = function (a) { + var b = this; ++this.K >= this.N && this.D.resolve(); var c = a(); a = ij(this.logger, function () { return b.G(c) }, "C"); + if (a === void 0) throw new qj(17, "YNJ:Undefined"); if (!(a instanceof Uint8Array)) throw new qj(18, "ODM:Invalid"); return a + }; + g.z(Kj, Gj); Kj.prototype.j = function () { return this.G }; + g.z(Lj, Gj); Lj.prototype.j = function () { var a = this; return ij(this.logger, function () { return Ve(a.G) }, "d") }; + Lj.prototype.lG = function () { return this.G }; + g.z(Mj, Gj); Mj.prototype.j = function () { + if (this.G) return this.G; this.G = Iga(this, function (a) { return "_" + Gga(a) }); + return Iga(this, function (a) { return a }) + }; + g.z(Oj, Gj); Oj.prototype.j = function (a) { var b = a(); if (b.length > 118) throw new qj(19, "DFO:Invalid"); a = Math.floor(Date.now() / 1E3); var c = [Math.random() * 255, Math.random() * 255], d = c.concat([this.G & 255, this.clientState], [a >> 24 & 255, a >> 16 & 255, a >> 8 & 255, a & 255]); a = new Uint8Array(2 + d.length + b.length); a[0] = 34; a[1] = d.length + b.length; a.set(d, 2); a.set(b, 2 + d.length); b = a.subarray(2); for (d = c = c.length; d < b.length; ++d)b[d] ^= b[d % c]; this.logger.q_(this.clientState); return a }; g.z(Pj, g.O); Pj.prototype.reportError = function (a) { this.logger.Kl(a.code); this.onError(a); return a }; + (function (a) { return Af(function (b) { if (!n9a(b)) return !1; for (var c = g.w(Object.entries(a)), d = c.next(); !d.done; d = c.next()) { var e = g.w(d.value); d = e.next().value; e = e.next().value; if (!(d in b)) { if (e.xoa === !0) continue; return !1 } if (!e(b[d])) return !1 } return !0 }) })({ jp: function (a) { return Af(function (b) { return b instanceof a }) }(zj) }, ""); g.z(Rj, mh); var U9a = Rh(Rj); Nga.prototype.getMetadata = function () { return this.C }; Sj.prototype.getMetadata = function () { return this.j }; + Sj.prototype.getStatus = function () { return null }; Tj.prototype.getName = function () { return this.name }; + Tj.prototype.getName = Tj.prototype.getName; var V9a = new Tj("/google.internal.waa.v1.Waa/Create", uj, Rj, function (a) { return a.cn() }, U9a); g.z(Uj, mh); var iga = new Tj("/google.internal.waa.v1.Waa/GenerateIT", vj, Uj, function (a) { return a.cn() }, Rh(Uj)); g.z(Vj, mh); var W9a = new Tj("/google.internal.waa.v1.Waa/Ping", wj, Vj, function (a) { return a.cn() }, Rh(Vj)); var oha = new Set(["SAPISIDHASH", "APISIDHASH"]); var jha = Promise; g.z(Wj, mh); Wj.prototype.getValue = function () { var a = fg(this, 2); if (Array.isArray(a) || a instanceof mh) throw Error("Cannot access the Any.value field on Any protos encoded using the jspb format, call unpackJspb instead"); return rg(this, 2) }; g.z(Xj, mh); Xj.prototype.getMessage = function () { return Mg(this, 2) }; + var Tga = Rh(Xj); Yj.prototype.on = function (a, b) { a == "data" ? this.C.push(b) : a == "metadata" ? this.G.push(b) : a == "status" ? this.K.push(b) : a == "end" ? this.D.push(b) : a == "error" && this.B.push(b); return this }; + Yj.prototype.removeListener = function (a, b) { a == "data" ? ck(this.C, b) : a == "metadata" ? ck(this.G, b) : a == "status" ? ck(this.K, b) : a == "end" ? ck(this.D, b) : a == "error" && ck(this.B, b); return this }; + Yj.prototype.cancel = function () { this.j.abort() }; + Yj.prototype.cancel = Yj.prototype.cancel; Yj.prototype.removeListener = Yj.prototype.removeListener; Yj.prototype.on = Yj.prototype.on; g.Ya(g.dk, Ei); g.dk.prototype.j = function () { var a = new ek(this.K, this.G); this.B && a.setCredentialsMode(this.B); return a }; + g.dk.prototype.D = Yc({}); g.dk.prototype.setCredentialsMode = function (a) { this.B = a }; + g.Ya(ek, g.Vc); g.k = ek.prototype; g.k.open = function (a, b) { if (this.readyState != 0) throw this.abort(), Error("Error reopening a connection"); this.qa = a; this.Y = b; this.readyState = 1; fk(this) }; + g.k.send = function (a) { if (this.readyState != 1) throw this.abort(), Error("need to call open() first. "); this.j = !0; var b = { headers: this.Z, method: this.qa, credentials: this.G, cache: void 0 }; a && (b.body = a); (this.ra || g.Ja).fetch(new Request(this.Y, b)).then(this.H9.bind(this), this.uK.bind(this)) }; + g.k.abort = function () { + this.response = this.responseText = ""; this.Z = new Headers; this.status = 0; this.C && this.C.cancel("Request was aborted.").catch(function () { }); + this.readyState >= 1 && this.j && this.readyState != 4 && (this.j = !1, gk(this)); this.readyState = 0 + }; + g.k.H9 = function (a) { + if (this.j && (this.D = a, this.B || (this.status = this.D.status, this.statusText = this.D.statusText, this.B = a.headers, this.readyState = 2, fk(this)), this.j && (this.readyState = 3, fk(this), this.j))) if (this.responseType === "arraybuffer") a.arrayBuffer().then(this.F9.bind(this), this.uK.bind(this)); else if (typeof g.Ja.ReadableStream !== "undefined" && "body" in a) { + this.C = a.body.getReader(); if (this.K) { + if (this.responseType) throw Error('responseType must be empty for "streamBinaryChunks" mode responses.'); this.response = + [] + } else this.response = this.responseText = "", this.N = new TextDecoder; Uga(this) + } else a.text().then(this.G9.bind(this), this.uK.bind(this)) + }; + g.k.w9 = function (a) { if (this.j) { if (this.K && a.value) this.response.push(a.value); else if (!this.K) { var b = a.value ? a.value : new Uint8Array(0); if (b = this.N.decode(b, { stream: !a.done })) this.response = this.responseText += b } a.done ? gk(this) : fk(this); this.readyState == 3 && Uga(this) } }; + g.k.G9 = function (a) { this.j && (this.response = this.responseText = a, gk(this)) }; + g.k.F9 = function (a) { this.j && (this.response = a, gk(this)) }; + g.k.uK = function () { this.j && gk(this) }; + g.k.setRequestHeader = function (a, b) { this.Z.append(a, b) }; + g.k.getResponseHeader = function (a) { return this.B ? this.B.get(a.toLowerCase()) || "" : "" }; + g.k.getAllResponseHeaders = function () { if (!this.B) return ""; for (var a = [], b = this.B.entries(), c = b.next(); !c.done;)c = c.value, a.push(c[0] + ": " + c[1]), c = b.next(); return a.join("\r\n") }; + g.k.setCredentialsMode = function (a) { this.G = a }; + Object.defineProperty(ek.prototype, "withCredentials", { + get: function () { return this.G === "include" }, + set: function (a) { this.setCredentialsMode(a ? "include" : "same-origin") } + }); g.hk.prototype.toString = function () { var a = [], b = this.G; b && a.push(ok(b, X9a, !0), ":"); var c = this.j; if (c || b == "file") a.push("//"), (b = this.Z) && a.push(ok(b, X9a, !0), "@"), a.push(g.Rd(c).replace(/%25([0-9a-fA-F]{2})/g, "%$1")), c = this.C, c != null && a.push(":", String(c)); if (c = this.B) this.j && c.charAt(0) != "/" && a.push("/"), a.push(ok(c, c.charAt(0) == "/" ? Y9a : Z9a, !0)); (c = this.D.toString()) && a.push("?", c); (c = this.K) && a.push("#", ok(c, $9a)); return a.join("") }; + g.hk.prototype.resolve = function (a) { + var b = this.clone(), c = !!a.G; c ? g.ik(b, a.G) : c = !!a.Z; c ? b.Z = a.Z : c = !!a.j; c ? g.jk(b, a.j) : c = a.C != null; var d = a.B; if (c) g.kk(b, a.C); else if (c = !!a.B) { + if (d.charAt(0) != "/") if (this.j && !this.B) d = "/" + d; else { var e = b.B.lastIndexOf("/"); e != -1 && (d = b.B.slice(0, e + 1) + d) } e = d; if (e == ".." || e == ".") d = ""; else if (g.rb(e, "./") || g.rb(e, "/.")) { + d = nb(e, "/"); e = e.split("/"); for (var f = [], h = 0; h < e.length;) { + var l = e[h++]; l == "." ? d && h == e.length && f.push("") : l == ".." ? ((f.length > 1 || f.length == 1 && f[0] != "") && f.pop(), + d && h == e.length && f.push("")) : (f.push(l), d = !0) + } d = f.join("/") + } else d = e + } c ? b.B = d : c = a.D.toString() !== ""; c ? lk(b, a.D.clone()) : c = !!a.K; c && (b.K = a.K); return b + }; + g.hk.prototype.clone = function () { return new g.hk(this) }; + var X9a = /[#\/\?@]/g, Z9a = /[#\?:]/g, Y9a = /[#\?]/g, Wga = /[#\?@]/g, $9a = /#/g; g.k = nk.prototype; g.k.add = function (a, b) { rk(this); this.C = null; a = sk(this, a); var c = this.j.get(a); c || this.j.set(a, c = []); c.push(b); this.B = this.B + 1; return this }; + g.k.remove = function (a) { rk(this); a = sk(this, a); return this.j.has(a) ? (this.C = null, this.B = this.B - this.j.get(a).length, this.j.delete(a)) : !1 }; + g.k.clear = function () { this.j = this.C = null; this.B = 0 }; + g.k.isEmpty = function () { rk(this); return this.B == 0 }; + g.k.forEach = function (a, b) { rk(this); this.j.forEach(function (c, d) { c.forEach(function (e) { a.call(b, e, d, this) }, this) }, this) }; + g.k.Xn = function () { rk(this); for (var a = Array.from(this.j.values()), b = Array.from(this.j.keys()), c = [], d = 0; d < b.length; d++)for (var e = a[d], f = 0; f < e.length; f++)c.push(b[d]); return c }; + g.k.Mm = function (a) { rk(this); var b = []; if (typeof a === "string") Yga(this, a) && (b = b.concat(this.j.get(sk(this, a)))); else { a = Array.from(this.j.values()); for (var c = 0; c < a.length; c++)b = b.concat(a[c]) } return b }; + g.k.set = function (a, b) { rk(this); this.C = null; a = sk(this, a); Yga(this, a) && (this.B = this.B - this.j.get(a).length); this.j.set(a, [b]); this.B = this.B + 1; return this }; + g.k.get = function (a, b) { if (!a) return b; a = this.Mm(a); return a.length > 0 ? String(a[0]) : b }; + g.k.toString = function () { if (this.C) return this.C; if (!this.j) return ""; for (var a = [], b = Array.from(this.j.keys()), c = 0; c < b.length; c++) { var d = b[c], e = g.Rd(d); d = this.Mm(d); for (var f = 0; f < d.length; f++) { var h = e; d[f] !== "" && (h += "=" + g.Rd(d[f])); a.push(h) } } return this.C = a.join("&") }; + g.k.clone = function () { var a = new nk; a.C = this.C; this.j && (a.j = new Map(this.j), a.B = this.B); return a }; g.Ya(g.uk, g.O); var a$a = []; g.k = g.uk.prototype; g.k.listen = function (a, b, c, d) { Array.isArray(b) || (b && (a$a[0] = b.toString()), b = a$a); for (var e = 0; e < b.length; e++) { var f = g.Nc(a, b[e], c || this.handleEvent, d || !1, this.B || this); if (!f) break; this.j[f.key] = f } return this }; + g.k.cG = function (a, b, c, d) { return aha(this, a, b, c, d) }; + g.k.Oc = function (a, b, c, d, e) { if (Array.isArray(b)) for (var f = 0; f < b.length; f++)this.Oc(a, b[f], c, d, e); else c = c || this.handleEvent, d = g.Qa(d) ? !!d.capture : !!d, e = e || this.B || this, c = Oc(c), d = !!d, b = oc(a) ? a.kF(b, c, d, e) : a ? (a = Pc(a)) ? a.kF(b, c, d, e) : null : null, b && (Sc(b), delete this.j[b.key]) }; + g.k.removeAll = function () { + g.qc(this.j, function (a, b) { this.j.hasOwnProperty(b) && Sc(a) }, this); + this.j = {} + }; + g.k.xa = function () { g.uk.Of.xa.call(this); this.removeAll() }; + g.k.handleEvent = function () { throw Error("EventHandler.handleEvent not implemented"); }; bha.prototype.isInputValid = function () { return this.C }; vk.prototype.isInputValid = function () { return this.j != 3 }; + vk.prototype.Xf = function () { return this.K }; + vk.prototype.LI = function () { return !0 }; + vk.prototype.parse = function (a) { + function b(m) { m & 128 && wk(f, h, l, "invalid tag"); (m & 7) != 2 && wk(f, h, l, "invalid wire type"); f.C = m >>> 3; f.C != 1 && f.C != 2 && f.C != 15 && wk(f, h, l, "unexpected tag"); f.j = 1; f.B = 0; f.D = 0 } + function c(m) { f.D++; f.D == 5 && m & 240 && wk(f, h, l, "message length too long"); f.B |= (m & 127) << (f.D - 1) * 7; m & 128 || (f.j = 2, f.Z = 0, typeof Uint8Array !== "undefined" ? f.G = new Uint8Array(f.B) : f.G = Array(f.B), f.B == 0 && e()) } + function d(m) { f.G[f.Z++] = m; f.Z == f.B && e() } + function e() { if (f.C < 15) { var m = {}; m[f.C] = f.G; f.N.push(m) } f.j = 0 } + for (var f = this, h = a instanceof Array ? a : new Uint8Array(a), l = 0; l < h.length;) { switch (f.j) { case 3: wk(f, h, l, "stream already broken"); break; case 0: b(h[l]); break; case 1: c(h[l]); break; case 2: d(h[l]); break; default: throw Error("unexpected parser state: " + f.j); }f.Y++; l++ } a = f.N; f.N = []; return a.length > 0 ? a : null + }; xk.prototype.isInputValid = function () { return this.j === null }; + xk.prototype.Xf = function () { return this.j }; + xk.prototype.LI = function () { return !1 }; + xk.prototype.parse = function (a) { this.j !== null && dha(this, a, "stream already broken"); var b = null; try { var c = this.C; c.C || cha(c, a, "stream already broken"); c.j += a; var d = Math.floor(c.j.length / 4); if (d == 0) var e = null; else { try { var f = Xca(c.j.slice(0, d * 4)) } catch (h) { cha(c, c.j, h.message) } c.B += d * 4; c.j = c.j.slice(d * 4); e = f } b = e === null ? null : this.D.parse(e) } catch (h) { dha(this, a, h.message) } this.B += a.length; return b }; var b$a = { INIT: 0, WD: 1, YN: 2, xz: 3, SC: 4, RC: 5, STRING: 6, WN: 7, gW: 8, tW: 9, uW: 10, vW: 11, JU: 12, KU: 13, LU: 14, MU: 15, kW: 16, lW: 17, mW: 18, M6: 19, XN: 20 }; g.k = Ek.prototype; g.k.isInputValid = function () { return this.G != 3 }; + g.k.Xf = function () { return this.Y }; + g.k.done = function () { return this.G === 2 }; + g.k.LI = function () { return !1 }; + g.k.parse = function (a) { + function b() { for (; r < a.length;)if (Dk(a[r])) r++, f.C++; else break; return r < n } + function c() { + for (var u; ;) { + u = a[r++]; if (!u) break; f.C++; switch (f.j) { + case m.INIT: u === "{" ? f.j = m.YN : u === "[" ? f.j = m.SC : Dk(u) || Fk(f, a, r); continue; case m.WN: case m.YN: if (Dk(u)) continue; if (f.j === m.WN) h.push(m.gW); else if (u === "}") { e("{}"); f.j = d(); continue } else h.push(m.xz); u === '"' ? f.j = m.STRING : Fk(f, a, r); continue; case m.gW: case m.xz: if (Dk(u)) continue; u === ":" ? (f.j === m.xz && (h.push(m.xz), f.B++), f.j = m.WD) : u === "}" ? (f.B--, e(), f.j = d()) : u === "," ? (f.j === m.xz && h.push(m.xz), f.j = m.WN) : Fk(f, a, r); continue; case m.SC: case m.WD: if (Dk(u)) continue; + if (f.j === m.SC) if (f.B++, f.j = m.WD, u === "]") { f.B--; if (f.B === 0) { f.j = m.RC; return } e("[]"); f.j = d(); continue } else h.push(m.RC); u === '"' ? f.j = m.STRING : u === "{" ? f.j = m.YN : u === "[" ? f.j = m.SC : u === "t" ? f.j = m.tW : u === "f" ? f.j = m.JU : u === "n" ? f.j = m.kW : u !== "-" && ("0123456789".indexOf(u) !== -1 ? f.j = m.XN : Fk(f, a, r)); continue; case m.RC: if (u === ",") h.push(m.RC), f.j = m.WD, f.B === 1 && (q = r); else if (u === "]") { f.B--; if (f.B === 0) return; e(); f.j = d() } else if (Dk(u)) continue; else Fk(f, a, r); continue; case m.STRING: var y = r; a: for (; ;) { + for (; f.Z > 0;)if (u = a[r++], + f.Z === 4 ? f.Z = 0 : f.Z++, !u) break a; if (u === '"' && !f.N) { f.j = d(); break } if (u === "\\" && !f.N && (f.N = !0, u = a[r++], !u)) break; if (f.N) if (f.N = !1, u === "u" && (f.Z = 1), u = a[r++]) continue; else break; l.lastIndex = r; u = l.exec(a); if (!u) { r = a.length + 1; break } r = u.index + 1; u = a[u.index]; if (!u) break + } f.C += r - y; continue; case m.tW: if (!u) continue; u === "r" ? f.j = m.uW : Fk(f, a, r); continue; case m.uW: if (!u) continue; u === "u" ? f.j = m.vW : Fk(f, a, r); continue; case m.vW: if (!u) continue; u === "e" ? f.j = d() : Fk(f, a, r); continue; case m.JU: if (!u) continue; u === "a" ? f.j = m.KU : + Fk(f, a, r); continue; case m.KU: if (!u) continue; u === "l" ? f.j = m.LU : Fk(f, a, r); continue; case m.LU: if (!u) continue; u === "s" ? f.j = m.MU : Fk(f, a, r); continue; case m.MU: if (!u) continue; u === "e" ? f.j = d() : Fk(f, a, r); continue; case m.kW: if (!u) continue; u === "u" ? f.j = m.lW : Fk(f, a, r); continue; case m.lW: if (!u) continue; u === "l" ? f.j = m.mW : Fk(f, a, r); continue; case m.mW: if (!u) continue; u === "l" ? f.j = d() : Fk(f, a, r); continue; case m.M6: u === "." ? f.j = m.XN : Fk(f, a, r); continue; case m.XN: if ("0123456789.eE+-".indexOf(u) !== -1) continue; else r--, f.C--, f.j = + d(); continue; default: Fk(f, a, r) + } + } + } + function d() { var u = h.pop(); return u != null ? u : m.WD } + function e(u) { f.B > 1 || (u || (u = q === -1 ? f.D + a.substring(p, r) : a.substring(q, r)), f.qa ? f.K.push(u) : f.K.push(JSON.parse(u)), q = r) } + for (var f = this, h = f.ra, l = f.Ba, m = b$a, n = a.length, p = 0, q = -1, r = 0; r < n;)switch (f.G) { case 3: return Fk(f, a, r), null; case 2: return b() && Fk(f, a, r), null; case 0: if (b()) { var t = a[r++]; f.C++; if (t === "[") { f.G = 1; p = r; f.j = m.SC; continue } else Fk(f, a, r) } return null; case 1: return c(), f.B === 0 && f.j == m.RC ? (f.G = 2, f.D = a.substring(r)) : f.D = q === -1 ? f.D + a.substring(p) : a.substring(q), f.K.length > 0 ? (t = f.K, f.K = [], t) : null }return null + }; Gk.prototype.isInputValid = function () { return this.G === null }; + Gk.prototype.Xf = function () { return this.G }; + Gk.prototype.LI = function () { return !1 }; + Gk.prototype.parse = function (a) { + function b(m) { f.B = 6; f.G = "The stream is broken @" + f.j + "/" + h + ". Error: " + m + ". With input:\n"; throw Error(f.G); } + function c() { f.C = new Ek({ Fma: !0, U7: !0 }) } + function d(m) { if (m) for (var n = 0; n < m.length; n++) { var p = {}; p[1] = m[n]; f.D.push(p) } } + function e(m) { if (m) { (f.K || m.length > 1) && b("extra status: " + m); f.K = !0; var n = {}; n[2] = m[0]; f.D.push(n) } } + for (var f = this, h = 0; h < a.length;) { + var l; if (l = f.B !== 2) { a: { for (; h < a.length;) { if (!Dk(a[h])) { l = !0; break a } h++; f.j++ } l = !1 } l = !l } if (l) return null; switch (f.B) { + case 6: b("stream already broken"); break; case 0: a[h] === "[" ? (f.B = 1, h++, f.j++) : b("unexpected input token"); break; case 1: a[h] === "[" ? (f.B = 2, c()) : a[h] === "," || a.slice(h, h + 5) == "null," ? f.B = 3 : a[h] === "]" ? (f.B = 5, h++, f.j++) : b("unexpected input token"); break; case 2: l = f.C.parse(a.substring(h)); d(l); f.C.done() ? (f.B = 3, l = f.C.D, f.j += a.length - h - l.length, a = l, h = 0) : (f.j += a.length - + h, h = a.length); break; case 3: a[h] === "," || a.slice(h, h + 5) == "null," ? (f.B = 4, c(), f.C.parse("["), h += a[h] === "," ? 1 : 5, f.j++) : a[h] === "]" && (f.B = 5, h++, f.j++); break; case 4: l = f.C.parse(a.substring(h)); e(l); f.C.done() ? (f.B = 5, l = f.C.D, f.j += a.length - h - l.length, a = l, h = 0) : (f.j += a.length - h, h = a.length); break; case 5: b("extra input after stream end") + } + } return f.D.length > 0 ? (a = f.D, f.D = [], a) : null + }; Hk.prototype.mQ = function () { return this.j }; + Hk.prototype.getStatus = function () { return this.D }; + Hk.prototype.qa = function (a) { + a = a.target; try { + if (a == this.j) a: { + var b = g.$i(this.j), c = this.j.B, d = this.j.getStatus(), e = g.bj(this.j); a = []; if (g.cj(this.j) instanceof Array) { var f = g.cj(this.j); f.length > 0 && f[0] instanceof Uint8Array && (this.Y = !0, a = f) } if (!(b < 3 || b == 3 && !e && a.length == 0)) if (d = d == 200 || d == 206, b == 4 && (c == 8 ? Ik(this, 7) : c == 7 ? Ik(this, 8) : d || Ik(this, 3)), this.B || (this.B = eha(this.j), this.B == null && Ik(this, 5)), this.D > 2) Jk(this); else { + if (a.length > this.C) { + var h = a.length; c = []; try { + if (this.B.LI()) for (var l = 0; l < h; l++) { + var m = + this.B.parse(Array.from(a[l])); m && (c = c.concat(m)) + } else { m = ""; if (!this.K) { if (typeof TextDecoder === "undefined") throw Error("TextDecoder is not supported by this browser."); this.K = new TextDecoder } for (l = 0; l < h; l++)m += this.K.decode(a[l], { stream: b == 4 && l == h - 1 }); c = this.B.parse(m) } a.splice(0, h); c && this.G(c) + } catch (p) { Ik(this, 5); Jk(this); break a } + } else if (e.length > this.C) { l = e.slice(this.C); this.C = e.length; try { var n = this.B.parse(l); n != null && this.G && this.G(n) } catch (p) { Ik(this, 5); Jk(this); break a } } b == 4 ? (e.length != + 0 || this.Y ? Ik(this, 2) : Ik(this, 4), Jk(this)) : Ik(this, 1) + } + } + } catch (p) { Ik(this, 6), Jk(this) } + }; g.k = fha.prototype; g.k.on = function (a, b) { var c = this.B[a]; c || (c = [], this.B[a] = c); c.push(b); return this }; + g.k.addListener = function (a, b) { this.on(a, b); return this }; + g.k.removeListener = function (a, b) { var c = this.B[a]; c && g.Pb(c, b); (a = this.j[a]) && g.Pb(a, b); return this }; + g.k.once = function (a, b) { var c = this.j[a]; c || (c = [], this.j[a] = c); c.push(b); return this }; + g.k.Eaa = function (a) { var b = this.B.data; b && gha(a, b); (b = this.j.data) && gha(a, b); this.j.data = [] }; + g.k.tca = function () { switch (this.C.getStatus()) { case 1: Kk(this, "readable"); break; case 5: case 6: case 4: case 7: case 3: Kk(this, "error"); break; case 8: Kk(this, "close"); break; case 2: Kk(this, "end") } }; hha.prototype.serverStreaming = function (a, b, c, d) { var e = this, f = a.substr(0, a.length - d.name.length); return iha(function (h) { var l = h.j, m = h.getMetadata(), n = lha(e, !1); m = mha(e, m, n, f + l.getName()); var p = nha(n, l.B, !0); h = l.j(h.B); n.send(m, "POST", h); return p }, this.D).call(this, Oga(d, b, c)) }; Lk.prototype.create = function (a, b) { return yj(this.j, this.B + "/$rpc/google.internal.waa.v1.Waa/Create", a, b || {}, V9a) }; + Lk.prototype.ping = function (a, b) { return yj(this.j, this.B + "/$rpc/google.internal.waa.v1.Waa/Ping", a, b || {}, W9a) }; var c$a = 1, Tk = new WeakMap; g.z(Mk, g.O); Mk.prototype.signal = function () { var a = new Ok(!1); this.signals.add(a); g.P(this, a); return a }; + Mk.prototype.YA = function (a) { return Nk(this, a).YA() }; + g.z(Ok, g.O); g.k = Ok.prototype; g.k.tO = function () { + var a = this, b = c$a++; Pk(function () { pha(a, b) }); + return b + }; + g.k.detach = function (a) { var b = this; Pk(function () { var c = b.slots.get(a); c && c.KX() }) }; + g.k.value = function (a) { return this.promise(!0, a) }; + g.k.YA = function () { return this.YZ }; + g.k.next = function (a) { return this.promise(!1, a) }; + g.k.promise = function (a, b) { + var c = this, d = mca(); Pk(function () { + if (c.La()) d.reject(new Le("Signal initially disposed")); else if (b && b.La()) d.reject(new Le("Owner initially disposed")); else if (a && c.iX && c.dZ) d.resolve(c.YZ); else if (c.hC.add(d), Ke(d.promise, function () { c.hC.delete(d) }), b) { + var e = function () { d.reject(new Le("Owner asynchronously disposed")) }; + Ke(d.promise, function () { var f = Tk.get(b); f && g.Pb(f, e) }); + sha(b, e) + } + }); + return d.promise + }; + g.k.xa = function () { var a = this; g.O.prototype.xa.call(this); Pk(function () { for (var b = g.w(a.slots.values()), c = b.next(); !c.done; c = b.next())c = c.value.KX, c(); a.slots.clear(); b = g.w(a.hC); for (c = b.next(); !c.done; c = b.next())c.value.reject(new Le("Signal asynchronously disposed")); a.hC.clear() }) }; + var Rk = [], Sk = !1; g.z(Uk, g.O); Uk.prototype.start = function () { + var a = this; if (this.La()) throw new Yk("Cannot start a disposed timer."); if (!this.K) { + this.D = 0; if (this.N) { var b = Date.now(); this.handle = setInterval(function () { a.D = a.milliseconds > 0 ? Math.trunc((Date.now() - b) / a.milliseconds) : a.D + 1; var c; (c = a.B) == null || c.resolve(); a.B = void 0; if (a.C) { var d; (d = a.j) != null && Qk(Nk(d, a.C), a) } a.Cb.rS(a) }, this.milliseconds) } else this.handle = setTimeout(function () { + a.state = 3; + a.handle = void 0; a.D = 1; var c; (c = a.B) == null || c.resolve(); a.B = void 0; if (a.C) { var d; (d = a.j) != null && Qk(Nk(d, a.C), a) } a.Cb.rS(a) + }, this.milliseconds); + this.state = 1 + } + }; + Uk.prototype.cancel = function () { if (this.K) { this.clear(); this.state = 2; var a; (a = this.B) == null || a.reject(new Xk); var b; (b = this.Cb.Z_) == null || b.call(this); if (this.G) { var c; (c = this.j) != null && Qk(Nk(c, this.G)) } } }; + Uk.prototype.xa = function () { this.clear(); var a; (a = this.B) == null || a.reject(new Yk); this.state = 4; g.O.prototype.xa.call(this) }; + Uk.prototype.clear = function () { this.N ? clearInterval(this.handle) : clearTimeout(this.handle); this.handle = void 0 }; + g.da.Object.defineProperties(Uk.prototype, { + K: { configurable: !0, enumerable: !0, get: function () { return this.state === 1 } }, + isCancelled: { configurable: !0, enumerable: !0, get: function () { return this.state === 2 } }, + isExpired: { configurable: !0, enumerable: !0, get: function () { return this.state === 3 } }, + tick: { configurable: !0, enumerable: !0, get: function () { return this.D } }, + Z: { configurable: !0, enumerable: !0, get: function () { switch (this.state) { case 0: case 1: return this.B != null || (this.B = new g.oj), this.B.promise; case 3: return Promise.resolve(); case 2: return Promise.reject(new Xk("Timer has been cancelled.")); case 4: return Promise.reject(new Yk("Timer has been disposed.")); default: Ld(this.state) } } }, + rS: { configurable: !0, enumerable: !0, get: function () { if (this.La()) throw new Yk("Cannot attach a signal to a disposed timer."); this.C || (this.j != null || (this.j = new Mk(this)), this.C = this.j.signal()); return this.C } }, + Z_: { configurable: !0, enumerable: !0, get: function () { if (this.La()) throw new Yk("Cannot attach a signal to a disposed timer."); this.G || (this.j != null || (this.j = new Mk(this)), this.G = this.j.signal()); return this.G } } + }); + g.z(Xk, ib); g.z(Yk, ib); g.z(Zk, Pj); g.k = Zk.prototype; g.k.isReady = function () { return !!this.j }; + g.k.ready = function () { var a = this; return g.J(function (b) { return g.G(b, a.C.promise, 0) }) }; + g.k.SE = function (a) { return vha(this, this.logger.nR("c", a === void 0 ? 1 : a, this.Yw.SE(sj().j, null)), new qj(10, "JVZ:Timeout")) }; + g.k.prefetch = function () { this.state === 1 && (this.DF = this.SE()) }; + g.k.start = function () { + if (this.state === 1) { + this.state = 2; var a = new gj(this.logger, "r"); this.ready().finally(function () { return void a.done() }); + xha(this) + } + }; + g.k.lG = function (a) { if (a.hk && !this.cache) { var b = Math.min(a.hk.v_, 150); if (!(b > 150)) try { this.cache = new Bga(b, this.logger) } catch (f) { this.reportError(new qj(22, "GBJ:init", f)) } } b = { Ar: a.Ar, EJ: a.EJ, P$: !0, Q$: !0 }; a.hk && (a = a.hk, b.hk = { pE: a.pE, UI: a.UI, JM: a.JM }); a: { try { if (this.La()) throw new qj(21, "BNT:disposed"); var c, d; var e = (d = (c = Jga(this, b)) != null ? c : Kga(this, b)) != null ? d : Lga(this, b); break a } catch (f) { if (!b.Q$) throw f; e = Mga(this, f); break a } e = void 0 } return e }; var Bha = { NONE: 0, sha: 1 }, hia = { s4: 0, vka: 1, uka: 2, wka: 3 }, Jl = { a4: "a", nha: "d", VIDEO: "v" }; al.prototype.isVisible = function () { return this.Dx ? this.Be >= .3 : this.Be >= .5 }; var kl = { Xga: 0, Iha: 1 }, fia = { NONE: 0, xia: 1, Pha: 2 }; bl.prototype.getValue = function () { return this.B }; + g.z(cl, bl); cl.prototype.C = function (a) { this.B === null && g.zc(this.D, a) && (this.B = a) }; + g.z(dl, bl); dl.prototype.C = function (a) { this.B === null && typeof a === "number" && (this.B = a) }; + g.z(el, bl); el.prototype.C = function (a) { this.B === null && typeof a === "string" && (this.B = a) }; fl.prototype.disable = function () { this.B = !1 }; + fl.prototype.enable = function () { this.B = !0 }; + fl.prototype.isEnabled = function () { return this.B }; + fl.prototype.reset = function () { this.j = {}; this.B = !0; this.C = {} }; var Gm = document, ol = window; var jja = !g.lm && !Hb(); ll.prototype.now = function () { return 0 }; + ll.prototype.B = function () { return 0 }; + ll.prototype.C = function () { return 0 }; + ll.prototype.j = function () { return 0 }; g.z(nl, ll); nl.prototype.now = function () { return ml() && ol.performance.now ? ol.performance.now() : ll.prototype.now.call(this) }; + nl.prototype.B = function () { return ml() && ol.performance.memory ? ol.performance.memory.totalJSHeapSize || 0 : ll.prototype.B.call(this) }; + nl.prototype.C = function () { return ml() && ol.performance.memory ? ol.performance.memory.usedJSHeapSize || 0 : ll.prototype.C.call(this) }; + nl.prototype.j = function () { return ml() && ol.performance.memory ? ol.performance.memory.jsHeapSizeLimit || 0 : ll.prototype.j.call(this) }; var Eha = $c(function () { + var a = !1; try { + var b = Object.defineProperty({}, "passive", { get: function () { a = !0 } }); + g.Ja.addEventListener("test", null, b) + } catch (c) { } return a + }); Fha.prototype.isVisible = function () { return rl(Gm) === 1 }; ed("csi.gstatic.com"); ed("googleads.g.doubleclick.net"); ed("partner.googleadservices.com"); ed("pubads.g.doubleclick.net"); ed("securepubads.g.doubleclick.net"); ed("tpc.googlesyndication.com"); var Hha = { Ifa: "allow-forms", Jfa: "allow-modals", Kfa: "allow-orientation-lock", Lfa: "allow-pointer-lock", Mfa: "allow-popups", Nfa: "allow-popups-to-escape-sandbox", Ofa: "allow-presentation", Pfa: "allow-same-origin", Qfa: "allow-scripts", Rfa: "allow-top-navigation", Sfa: "allow-top-navigation-by-user-activation" }, Lha = $c(function () { return Iha() }); var Pha = RegExp("^https?://(\\w|-)+\\.cdn\\.ampproject\\.(net|org)(\\?|/|$)"); wl.prototype.Ce = function (a, b, c) { + a = a + "//" + b + c; var d = Tha(this) - c.length; if (d < 0) return ""; this.j.sort(function (n, p) { return n - p }); + c = null; b = ""; for (var e = 0; e < this.j.length; e++)for (var f = this.j[e], h = this.B[f], l = 0; l < h.length; l++) { if (!d) { c = c == null ? f : c; break } var m = Sha(h[l], this.C, ",$"); if (m) { m = b + m; if (d >= m.length) { d -= m.length; a += m; b = this.C; break } c = c == null ? f : c } } d = ""; c != null && (d = b + "trn=" + c); return a + d + }; El.prototype.setInterval = function (a, b) { return ol.setInterval(a, b) }; + El.prototype.clearInterval = function (a) { ol.clearInterval(a) }; + El.prototype.setTimeout = function (a, b) { return ol.setTimeout(a, b) }; + El.prototype.clearTimeout = function (a) { ol.clearTimeout(a) }; g.z(Gl, mh); Gl.prototype.j = hfa([0, t9a, w9a, -2, z9a]); var gia = { cka: 1, Y6: 2, vja: 3 }; iia.prototype.PS = function (a) { if (typeof a === "string" && a.length != 0) { var b = this.Lc; if (b.B) { a = a.split("&"); for (var c = a.length - 1; c >= 0; c--) { var d = a[c].split("="), e = decodeURIComponent(d[0]); d.length > 1 ? (d = decodeURIComponent(d[1]), d = /^[0-9]+$/g.exec(d) ? parseInt(d, 10) : d) : d = 1; (e = b.j[e]) && e.C(d) } } } }; var l1 = null; var Ml = g.Ja.performance, d$a = !!(Ml && Ml.mark && Ml.measure && Ml.clearMarks), Kl = $c(function () { var a; if (a = d$a) { var b; if (l1 === null) { l1 = ""; try { a = ""; try { a = g.Ja.top.location.hash } catch (c) { a = g.Ja.location.hash } a && (l1 = (b = a.match(/\bdeid=([\d,]+)/)) ? b[1] : "") } catch (c) { } } b = l1; a = !!b.indexOf && b.indexOf("1337") >= 0 } return a }); + Ll.prototype.disable = function () { this.j = !1; this.events != this.B.google_js_reporting_queue && (Kl() && g.cc(this.events, oia), this.events.length = 0) }; + Ll.prototype.start = function (a, b) { if (!this.j) return null; var c = mia() || lia(); a = new nia(a, b, c); b = "goog_" + a.label + "_" + a.uniqueId + "_start"; Ml && Kl() && Ml.mark(b); return a }; + Ll.prototype.end = function (a) { if (this.j && typeof a.value === "number") { var b = mia() || lia(); a.duration = b - a.value; b = "goog_" + a.label + "_" + a.uniqueId + "_end"; Ml && Kl() && Ml.mark(b); !this.j || this.events.length > 2048 || this.events.push(a) } }; pia.prototype.qR = function (a, b, c, d, e) { + e = e || this.XX; try { + var f = new wl; f.j.push(1); f.B[1] = xl("context", a); b.error && b.meta && b.id || (b = new Ql(Rl(b))); if (b.msg) { var h = b.msg.substring(0, 512); f.j.push(2); f.B[2] = xl("msg", h) } var l = b.meta || {}; if (this.oO) try { this.oO(l) } catch (t) { } if (d) try { d(l) } catch (t) { } b = [l]; f.j.push(3); f.B[3] = b; var m = Rha(); if (m.B) { var n = m.B.url || ""; f.j.push(4); f.B[4] = xl("top", n) } var p = { url: m.j.url || "" }; if (m.j.url) { var q = m.j.url.match(Li); var r = Ji(q[1], null, q[3], q[4]) } else r = ""; n = [p, { url: r }]; f.j.push(5); + f.B[5] = n; jia(this.j, e, f, c) + } catch (t) { try { jia(this.j, e, { context: "ecmserr", rctx: a, msg: Rl(t), url: m && m.j.url }, c) } catch (u) { } } return this.QT + }; + g.z(Ql, kia); var Ol, Pl, Nl = new Ll; Ol = new function () { var a = "https:"; ol && ol.location && ol.location.protocol === "http:" && (a = "http:"); this.B = a; this.j = .01 }; + Pl = new pia; ol && ol.document && (ol.document.readyState == "complete" ? ria() : Nl.j && ql(ol, "load", function () { ria() })); var uia = Date.now(), Yl = -1, Wl = -1, Lja, Zl = -1, Xl = !1; g.k = $l.prototype; g.k.getHeight = function () { return this.bottom - this.top }; + g.k.clone = function () { return new $l(this.top, this.right, this.bottom, this.left) }; + g.k.contains = function (a) { return this && a ? a instanceof $l ? a.left >= this.left && a.right <= this.right && a.top >= this.top && a.bottom <= this.bottom : a.x >= this.left && a.x <= this.right && a.y >= this.top && a.y <= this.bottom : !1 }; + g.k.ceil = function () { this.top = Math.ceil(this.top); this.right = Math.ceil(this.right); this.bottom = Math.ceil(this.bottom); this.left = Math.ceil(this.left); return this }; + g.k.floor = function () { this.top = Math.floor(this.top); this.right = Math.floor(this.right); this.bottom = Math.floor(this.bottom); this.left = Math.floor(this.left); return this }; + g.k.round = function () { this.top = Math.round(this.top); this.right = Math.round(this.right); this.bottom = Math.round(this.bottom); this.left = Math.round(this.left); return this }; + g.k.scale = function (a, b) { b = typeof b === "number" ? b : a; this.left *= a; this.right *= a; this.top *= b; this.bottom *= b; return this }; em.prototype.Ib = function () { return this.N }; var e$a = { currentTime: 1, duration: 2, isVpaid: 4, volume: 8, isYouTube: 16, isPlaying: 32 }, Bn = { + S6: "start", x4: "firstquartile", J6: "midpoint", T6: "thirdquartile", COMPLETE: "complete", ERROR: "error", I6: "metric", PAUSE: "pause", O6: "resume", P6: "skip", X6: "viewable_impression", L6: "mute", V6: "unmute", y4: "fullscreen", v4: "exitfullscreen", l4: "bufferstart", j4: "bufferfinish", z4: "fully_viewable_audible_half_duration_impression", H6: "measurable_impression", Y3: "abandon", u4: "engagedview", D4: "impression", p4: "creativeview", G6: "loaded", + hka: "progress", CLOSE: "close", Tga: "collapse", Pja: "overlay_resize", Qja: "overlay_unmeasurable_impression", Rja: "overlay_unviewable_impression", Tja: "overlay_viewable_immediate_impression", Sja: "overlay_viewable_end_of_session_impression", q4: "custom_metric_viewable", b4: "audio_audible", e4: "audio_measurable", d4: "audio_impression" + }, Wka = "start firstquartile midpoint thirdquartile resume loaded".split(" "), Xka = ["start", "firstquartile", "midpoint", "thirdquartile"], Nja = ["abandon"], co = { + UNKNOWN: -1, S6: 0, x4: 1, J6: 2, + T6: 3, COMPLETE: 4, I6: 5, PAUSE: 6, O6: 7, P6: 8, X6: 9, L6: 10, V6: 11, y4: 12, v4: 13, z4: 14, H6: 15, Y3: 16, u4: 17, D4: 18, p4: 19, G6: 20, q4: 21, l4: 22, j4: 23, d4: 27, e4: 28, b4: 29 + }; var xia = { zfa: "addEventListener", Rha: "getMaxSize", Sha: "getScreenSize", Tha: "getState", Uha: "getVersion", qka: "removeEventListener", Tia: "isViewable" }; g.k = g.gm.prototype; g.k.clone = function () { return new g.gm(this.left, this.top, this.width, this.height) }; + g.k.contains = function (a) { return a instanceof g.Gd ? a.x >= this.left && a.x <= this.left + this.width && a.y >= this.top && a.y <= this.top + this.height : this.left <= a.left && this.left + this.width >= a.left + a.width && this.top <= a.top && this.top + this.height >= a.top + a.height }; + g.k.getSize = function () { return new g.Id(this.width, this.height) }; + g.k.ceil = function () { this.left = Math.ceil(this.left); this.top = Math.ceil(this.top); this.width = Math.ceil(this.width); this.height = Math.ceil(this.height); return this }; + g.k.floor = function () { this.left = Math.floor(this.left); this.top = Math.floor(this.top); this.width = Math.floor(this.width); this.height = Math.floor(this.height); return this }; + g.k.round = function () { this.left = Math.round(this.left); this.top = Math.round(this.top); this.width = Math.round(this.width); this.height = Math.round(this.height); return this }; + g.k.scale = function (a, b) { b = typeof b === "number" ? b : a; this.left *= a; this.width *= a; this.top *= b; this.height *= b; return this }; var Bia = {}; Kia.prototype.update = function (a) { a && a.document && (this.N = fm(!1, a, this.isMobileDevice), this.j = fm(!0, a, this.isMobileDevice), Mia(this, a), Lia(this, a)) }; Im.prototype.cancel = function () { Fl().clearTimeout(this.j); this.j = null }; + Im.prototype.schedule = function () { var a = this, b = Fl(), c = Il().j.j; this.j = b.setTimeout(Hl(c, Tl(143, function () { a.B++; a.C.sample() })), via()) }; g.k = Jm.prototype; g.k.sD = function () { return !1 }; + g.k.initialize = function () { return this.isInitialized = !0 }; + g.k.kA = function () { return this.j.Ga }; + g.k.yF = function () { return this.j.qa }; + g.k.Zi = function (a, b) { if (!this.qa || (b === void 0 ? 0 : b)) this.qa = !0, this.Ga = a, this.Z = 0, this.j != this || Lm(this) }; + g.k.getName = function () { return this.j.Ra }; + g.k.Vt = function () { return this.j.uY() }; + g.k.uY = function () { return {} }; + g.k.Or = function () { return this.j.Z }; + g.k.AV = function () { var a = Fm(); a.j = fm(!0, this.C, a.isMobileDevice) }; + g.k.BV = function () { Lia(Fm(), this.C) }; + g.k.JY = function () { return this.D.j }; + g.k.sample = function () { }; + g.k.isActive = function () { return this.j.K }; + g.k.wA = function (a) { var b = this.j; this.j = a.Or() >= this.Z ? a : this; b !== this.j ? (this.K = this.j.K, Lm(this)) : this.K !== this.j.K && (this.K = this.j.K, Lm(this)) }; + g.k.mu = function (a) { if (a.B === this.j) { var b = this.D, c = this.Y; if (c = a && (c === void 0 || !c || b.volume == a.volume) && b.C == a.C) b = b.j, c = a.j, c = b == c ? !0 : b && c ? b.top == c.top && b.right == c.right && b.bottom == c.bottom && b.left == c.left : !1; this.D = a; !c && Pia(this) } }; + g.k.Hq = function () { return this.Y }; + g.k.dispose = function () { this.Fa = !0 }; + g.k.La = function () { return this.Fa }; g.k = Mm.prototype; g.k.CN = function () { return !0 }; + g.k.DI = function () { }; + g.k.dispose = function () { if (!this.La()) { var a = this.B; g.Pb(a.G, this); a.Y && this.Hq() && Oia(a); this.DI(); this.qa = !0 } }; + g.k.La = function () { return this.qa }; + g.k.Vt = function () { return this.B.Vt() }; + g.k.Or = function () { return this.B.Or() }; + g.k.kA = function () { return this.B.kA() }; + g.k.yF = function () { return this.B.yF() }; + g.k.wA = function () { }; + g.k.mu = function () { this.Et() }; + g.k.Hq = function () { return this.ra }; g.k = Nm.prototype; g.k.Or = function () { return this.j.Or() }; + g.k.kA = function () { return this.j.kA() }; + g.k.yF = function () { return this.j.yF() }; + g.k.create = function (a, b, c) { var d = null; this.j && (d = this.FI(a, b, c), Km(this.j, d)); return d }; + g.k.CV = function () { return this.tD() }; + g.k.tD = function () { return !1 }; + g.k.init = function (a) { return this.j.initialize() ? (Km(this.j, this), this.D = a, !0) : !1 }; + g.k.wA = function (a) { a.Or() == 0 && this.D(a.kA(), this) }; + g.k.mu = function () { }; + g.k.Hq = function () { return !1 }; + g.k.dispose = function () { this.G = !0 }; + g.k.La = function () { return this.G }; + g.k.Vt = function () { return {} }; Om.prototype.add = function (a, b, c) { ++this.C; a = new Qia(a, b, c); this.j.push(new Qia(a.B, a.j, a.C + this.C / 4096)); this.B = !0; return this }; Via.prototype.toString = function () { var a = "//pagead2.googlesyndication.com//pagead/gen_204", b = Qm(this.j); b.length > 0 && (a += "?" + b); return a }; Rm.prototype.update = function (a, b, c) { a && (this.j += b, this.B += b, this.D += b, this.C = Math.max(this.C, this.D)); if (c === void 0 ? !a : c) this.D = 0 }; var $ia = [1, .75, .5, .3, 0]; Sm.prototype.update = function (a, b, c, d, e, f) { f = f === void 0 ? !0 : f; b = e ? Math.min(a, b) : b; for (e = 0; e < this.B.length; e++) { var h = this.B[e], l = b > 0 && b >= h; h = !(a > 0 && a >= h) || c; this.j[e].update(f && l, d, !f || h) } }; Ym.prototype.update = function (a, b, c, d) { this.N = this.N != -1 ? Math.min(this.N, b.Be) : b.Be; this.ra = Math.max(this.ra, b.Be); this.Ba = this.Ba != -1 ? Math.min(this.Ba, b.Tk) : b.Tk; this.Ga = Math.max(this.Ga, b.Tk); this.Xa.update(b.Tk, c.Tk, b.j, a, d); this.B.update(b.Be, c.Be, b.j, a, d); c = d || c.Dx != b.Dx ? c.isVisible() && b.isVisible() : c.isVisible(); b = !b.isVisible() || b.j; this.Ra.update(c, a, b) }; + Ym.prototype.hs = function () { return this.Ra.C >= this.Ya }; if (Gm && Gm.URL) { var f$a = Gm.URL, g$a; if (g$a = !!f$a) { var h$a; a: { if (f$a) { var i$a = RegExp(".*[&#?]google_debug(=[^&]*)?(&.*)?$"); try { var m1 = i$a.exec(decodeURIComponent(f$a)); if (m1) { h$a = m1[1] && m1[1].length > 1 ? m1[1].substring(1) : "true"; break a } } catch (a) { } } h$a = "" } g$a = h$a.length > 0 } Pl.QT = !g$a }; var j$a = new $l(0, 0, 0, 0); var hja = new $l(0, 0, 0, 0); g.z(cn, g.O); g.k = cn.prototype; + g.k.xa = function () { if (this.qk.j) { if (this.Rw.BR) { var a = this.qk.j; a.removeEventListener && a.removeEventListener("mouseover", this.Rw.BR, pl()); this.Rw.BR = null } this.Rw.AR && (a = this.qk.j, a.removeEventListener && a.removeEventListener("mouseout", this.Rw.AR, pl()), this.Rw.AR = null) } this.RH && this.RH.dispose(); this.Zf && this.Zf.dispose(); delete this.bL; delete this.rR; delete this.u3; delete this.qk.Ju; delete this.qk.j; delete this.Rw; delete this.RH; delete this.Zf; delete this.Lc; g.O.prototype.xa.call(this) }; + g.k.Zt = function () { return this.Zf ? this.Zf.j : this.position }; + g.k.PS = function (a) { Il().PS(a) }; + g.k.Hq = function () { return !1 }; + g.k.cK = function () { return new Ym }; + g.k.Cj = function () { return this.bL }; + g.k.yY = function (a) { return lja(this, a, 1E4) }; + g.k.Ta = function (a, b, c, d, e, f, h) { this.vu || (this.KE && (a = this.BO(a, c, e, h), d = d && this.wi.Be >= (this.Dx() ? .3 : .5), this.vU(f, a, d), this.kq = b, a.Be > 0 && -1 === this.R2 && (this.R2 = b), this.W2 == -1 && this.hs() && (this.W2 = b), this.lR == -2 && (this.lR = an(this.Zt()) ? a.Be : -1), this.wi = a), this.rR(this)) }; + g.k.vU = function (a, b, c) { this.Cj().update(a, b, this.wi, c) }; + g.k.aQ = function () { return new al }; + g.k.BO = function (a, b, c, d) { c = this.aQ(); c.j = b; b = Fl().B; b = rl(Gm) === 0 ? -1 : b.isVisible() ? 0 : 1; c.B = b; c.Be = this.WO(a); c.Dx = this.Dx(); c.Tk = d; return c }; + g.k.WO = function (a) { return this.opacity === 0 && il(this.Lc, "opac") === 1 ? 0 : a }; + g.k.Dx = function () { return !1 }; + g.k.EM = function () { return this.g$ || this.j$ }; + g.k.Ux = function () { Vl() }; + g.k.sB = function () { Vl() }; + g.k.Wp = function () { return 0 }; + g.k.hs = function () { return this.bL.hs() }; + g.k.MY = function () { var a = this.KE; a = (this.hasCompleted || this.La()) && !a; var b = Il().B !== 2 || this.Rea; return this.vu || b && a ? 2 : this.hs() ? 4 : 3 }; + g.k.QJ = function () { return 0 }; g.en.prototype.next = function () { return g.n1 }; + g.n1 = { done: !0, value: void 0 }; g.en.prototype.wm = function () { return this }; g.z(rja, al); var o1 = tja([void 0, 1, 2, 3, 4, 8, 16]), p1 = tja([void 0, 4, 8, 16]), k$a = { + sv: "sv", v: "v", cb: "cb", e: "e", nas: "nas", msg: "msg", "if": "if", sdk: "sdk", p: "p", p0: jn("p0", p1), p1: jn("p1", p1), p2: jn("p2", p1), p3: jn("p3", p1), cp: "cp", tos: "tos", mtos: "mtos", amtos: "amtos", mtos1: hn("mtos1", [0, 2, 4], !1, p1), mtos2: hn("mtos2", [0, 2, 4], !1, p1), mtos3: hn("mtos3", [0, 2, 4], !1, p1), mcvt: "mcvt", ps: "ps", scs: "scs", bs: "bs", vht: "vht", mut: "mut", a: "a", a0: jn("a0", p1), a1: jn("a1", p1), a2: jn("a2", p1), a3: jn("a3", p1), ft: "ft", dft: "dft", at: "at", dat: "dat", as: "as", + vpt: "vpt", gmm: "gmm", std: "std", efpf: "efpf", swf: "swf", nio: "nio", px: "px", nnut: "nnut", vmer: "vmer", vmmk: "vmmk", vmiec: "vmiec", nmt: "nmt", tcm: "tcm", bt: "bt", pst: "pst", vpaid: "vpaid", dur: "dur", vmtime: "vmtime", dtos: "dtos", dtoss: "dtoss", dvs: "dvs", dfvs: "dfvs", dvpt: "dvpt", fmf: "fmf", vds: "vds", is: "is", i0: "i0", i1: "i1", i2: "i2", i3: "i3", ic: "ic", cs: "cs", c: "c", c0: jn("c0", p1), c1: jn("c1", p1), c2: jn("c2", p1), c3: jn("c3", p1), mc: "mc", nc: "nc", mv: "mv", nv: "nv", qmt: jn("qmtos", o1), qnc: jn("qnc", o1), qmv: jn("qmv", o1), qnv: jn("qnv", o1), + raf: "raf", rafc: "rafc", lte: "lte", ces: "ces", tth: "tth", femt: "femt", femvt: "femvt", emc: "emc", emuc: "emuc", emb: "emb", avms: "avms", nvat: "nvat", qi: "qi", psm: "psm", psv: "psv", psfv: "psfv", psa: "psa", pnk: "pnk", pnc: "pnc", pnmm: "pnmm", pns: "pns", ptlt: "ptlt", pngs: "pings", veid: "veid", ssb: "ssb", ss0: jn("ss0", p1), ss1: jn("ss1", p1), ss2: jn("ss2", p1), ss3: jn("ss3", p1), dc_rfl: "urlsigs", obd: "obd", omidp: "omidp", omidr: "omidr", omidv: "omidv", omida: "omida", omids: "omids", omidpv: "omidpv", omidam: "omidam", omidct: "omidct", omidia: "omidia", + omiddc: "omiddc", omidlat: "omidlat", omiddit: "omiddit", nopd: "nopd", co: "co" + }, l$a = Object.assign({}, k$a, { avid: Yc("audio"), avas: "avas", vs: "vs" }), m$a = { + atos: "atos", avt: hn("atos", [2]), davs: "davs", dafvs: "dafvs", dav: "dav", ss: function (a, b) { return function (c) { return c[a] === void 0 && b !== void 0 ? b : c[a] } }("ss", 0), + t: "t" + }; nn.prototype.getValue = function () { return this.B }; + nn.prototype.update = function (a, b) { a >= 32 || (this.j & 1 << a && !b ? this.B &= ~(1 << a) : this.j & 1 << a || !b || (this.B |= 1 << a), this.j |= 1 << a) }; g.z(on, Ym); + on.prototype.update = function (a, b, c, d) { + if (!b.paused) { + Ym.prototype.update.call(this, a, b, c, d); var e = gn(b) && gn(c), f = (d ? Math.min(b.Be, c.Be) : c.Be) >= .5; Dm(b.volume) && (this.D = this.D != -1 ? Math.min(this.D, b.volume) : b.volume, this.K = Math.max(this.K, b.volume)); f && (this.Fa += a, this.Y += e ? a : 0); this.j.update(b.Be, c.Be, b.j, a, d, e); this.C.update(!0, a); this.G.update(e, a); this.qa.update(c.fullscreen, a); this.fb.update(e && !f, a); a = Math.floor(b.mediaTime / 1E3); this.Ma.update(a, b.isVisible()); this.Wa.update(a, b.Be >= 1); this.Va.update(a, + gn(b)) + } + }; zja.prototype.B = function (a) { this.C || (this.j(a) ? (a = Kka(this.Y, this.D, a), this.G |= a, a = a == 0) : a = !1, this.C = a) }; g.z(qn, zja); qn.prototype.j = function () { return !0 }; + qn.prototype.K = function () { return !1 }; + qn.prototype.getId = function () { + var a = this, b = Ac(Bn, function (c) { return c == a.D }); + return co[b].toString() + }; + qn.prototype.toString = function () { var a = ""; this.K() && (a += "c"); this.C && (a += "s"); this.G > 0 && (a += ":" + this.G); return this.getId() + a }; g.z(rn, qn); rn.prototype.B = function (a, b) { b = b === void 0 ? null : b; b != null && this.N.push(b); qn.prototype.B.call(this, a) }; g.z(sn, Aja); sn.prototype.B = function () { return null }; + sn.prototype.C = function () { return [] }; g.z(tn, Mm); g.k = tn.prototype; g.k.EO = function () { if (this.element) { var a = this.element, b = this.B.j.C; try { try { var c = Hia(a.getBoundingClientRect()) } catch (n) { c = new $l(0, 0, 0, 0) } var d = c.right - c.left, e = c.bottom - c.top, f = Eia(a, b), h = f.x, l = f.y; var m = new $l(Math.round(l), Math.round(h + d), Math.round(l + e), Math.round(h)) } catch (n) { m = j$a.clone() } this.j = m } }; + g.k.jX = function () { this.D = this.B.D.j }; + g.k.JZ = function (a) { var b = il(this.Lc, "od") == 1; return gja(a, this.D, this.element, b) }; + g.k.kX = function () { this.timestamp = Vl() }; + g.k.Et = function () { + this.kX(); this.EO(); if (this.element && typeof this.element.videoWidth === "number" && typeof this.element.videoHeight === "number") { var a = this.element; var b = new g.Id(a.videoWidth, a.videoHeight); a = this.j; var c = cm(a), d = a.getHeight(), e = b.width; b = b.height; e <= 0 || b <= 0 || c <= 0 || d <= 0 || (e /= b, b = c / d, a = a.clone(), e > b ? (c /= e, d = (d - c) / 2, d > 0 && (d = a.top + d, a.top = Math.round(d), a.bottom = Math.round(d + c))) : (d *= e, c = Math.round((c - d) / 2), c > 0 && (c = a.left + c, a.left = Math.round(c), a.right = Math.round(c + d)))); this.j = a } this.jX(); + a = this.j; c = this.D; a = a.left <= c.right && c.left <= a.right && a.top <= c.bottom && c.top <= a.bottom ? new $l(Math.max(a.top, c.top), Math.min(a.right, c.right), Math.min(a.bottom, c.bottom), Math.max(a.left, c.left)) : new $l(0, 0, 0, 0); c = a.top >= a.bottom || a.left >= a.right ? new $l(0, 0, 0, 0) : a; a = this.B.D; b = e = d = 0; (this.j.bottom - this.j.top) * (this.j.right - this.j.left) > 0 && (this.JZ(c) ? c = new $l(0, 0, 0, 0) : (d = Fm().D, b = new $l(0, d.height, d.width, 0), d = bn(c, this.j), e = bn(c, Fm().j), b = bn(c, b))); c = c.top >= c.bottom || c.left >= c.right ? new $l(0, 0, 0, + 0) : dm(c, -this.j.left, -this.j.top); Hm() || (e = d = 0); this.N = new em(a, this.element, this.j, c, d, e, this.timestamp, b) + }; + g.k.getName = function () { return this.B.getName() }; var n$a = new $l(0, 0, 0, 0); g.z(un, tn); g.k = un.prototype; g.k.CN = function () { this.C(); return !0 }; + g.k.mu = function () { tn.prototype.Et.call(this) }; + g.k.kX = function () { }; + g.k.EO = function () { }; + g.k.Et = function () { this.C(); tn.prototype.Et.call(this) }; + g.k.wA = function (a) { a = a.isActive(); a !== this.K && (a ? this.C() : (Fm().j = new $l(0, 0, 0, 0), this.j = new $l(0, 0, 0, 0), this.D = new $l(0, 0, 0, 0), this.timestamp = -1)); this.K = a }; var q1 = {}, Kja = (q1.firstquartile = 0, q1.midpoint = 1, q1.thirdquartile = 2, q1.complete = 3, q1); g.z(wn, cn); g.k = wn.prototype; g.k.Hq = function () { return !0 }; + g.k.Fo = function () { return this.Hk == 2 }; + g.k.yY = function (a) { return lja(this, a, Math.max(1E4, this.C / 3)) }; + g.k.Ta = function (a, b, c, d, e, f, h) { var l = this, m = this.N(this) || {}; g.Hc(m, e); this.C = m.duration || this.C; this.Y = m.isVpaid || this.Y; this.Ra = m.isYouTube || this.Ra; Fl(); this.ob = !1; e = Cja(this, b); Bja(this) === 1 && (f = e); cn.prototype.Ta.call(this, a, b, c, d, m, f, h); this.us && this.us.C && g.cc(this.K, function (n) { n.B(l) }) }; + g.k.vU = function (a, b, c) { + cn.prototype.vU.call(this, a, b, c); zn(this).update(a, b, this.wi, c); this.fb = gn(this.wi) && gn(b); this.Ga == -1 && this.Xa && (this.Ga = this.Cj().C.j); this.Kg.C = 0; a = this.hs(); b.isVisible() && mn(this.Kg, "vs"); a && mn(this.Kg, "vw"); Dm(b.volume) && mn(this.Kg, "am"); gn(b) ? mn(this.Kg, "a") : mn(this.Kg, "mut"); this.IA && mn(this.Kg, "f"); b.B != -1 && (mn(this.Kg, "bm"), b.B == 1 && (mn(this.Kg, "b"), gn(b) && mn(this.Kg, "umutb"))); gn(b) && b.isVisible() && mn(this.Kg, "avs"); this.fb && a && mn(this.Kg, "avw"); b.Be > 0 && mn(this.Kg, + "pv"); An(this, this.Cj().C.j, !0) && mn(this.Kg, "gdr"); Wm(this.Cj().B, 1) >= 2E3 && mn(this.Kg, "pmx"); this.ob && mn(this.Kg, "tvoff") + }; + g.k.cK = function () { return new on }; + g.k.Cj = function () { return this.bL }; + g.k.aQ = function () { return new rja }; + g.k.BO = function (a, b, c, d) { a = cn.prototype.BO.call(this, a, b, c, d === void 0 ? -1 : d); a.fullscreen = this.IA; a.paused = this.Fo(); a.volume = c.volume; Dm(a.volume) || (this.Jb++, b = this.wi, Dm(b.volume) && (a.volume = b.volume)); c = c.currentTime; a.mediaTime = c !== void 0 && c >= 0 ? c : -1; return a }; + g.k.WO = function (a) { return Fm(), this.IA ? 1 : cn.prototype.WO.call(this, a) }; + g.k.Wp = function () { return 1 }; + g.k.getDuration = function () { return this.C }; + g.k.MY = function () { return this.vu ? 2 : Eja(this) ? 5 : this.hs() ? 4 : 3 }; + g.k.QJ = function () { return this.yb ? this.Cj().G.C >= 2E3 ? 4 : 3 : 2 }; var o$a = g.Xa(); Vja.prototype.reset = function () { this.j = []; this.B = [] }; + var Gn = Dl(Vja); g.z(Jn, Nm); g.k = Jn.prototype; g.k.getName = function () { return (this.B ? this.B : this.j).getName() }; + g.k.Vt = function () { return (this.B ? this.B : this.j).Vt() }; + g.k.Or = function () { return (this.B ? this.B : this.j).Or() }; + g.k.init = function (a) { + var b = !1; (0, g.cc)(this.C, function (c) { c.initialize() && (b = !0) }); + b && (this.D = a, Km(this.j, this)); return b + }; + g.k.dispose = function () { + (0, g.cc)(this.C, function (a) { a.dispose() }); + Nm.prototype.dispose.call(this) + }; + g.k.CV = function () { return Em(this.C, function (a) { return a.sD() }) }; + g.k.tD = function () { return Em(this.C, function (a) { return a.sD() }) }; + g.k.FI = function (a, b, c) { return new tn(a, this.j, b, c) }; + g.k.mu = function (a) { this.B = a.B }; var dka = { threshold: [0, .3, .5, .75, 1] }; g.z(Kn, tn); g.k = Kn.prototype; g.k.CN = function () { + var a = this; this.Y || (this.Y = Vl()); if (tia(298, function () { return eka(a) })) return !0; + this.B.Zi("msf"); return !1 + }; + g.k.DI = function () { if (this.C && this.element) try { this.C.unobserve(this.element), this.K ? (this.K.unobserve(this.element), this.K = null) : this.G && (this.G.disconnect(), this.G = null) } catch (a) { } }; + g.k.Et = function () { var a = Ln(this); a.length > 0 && Mn(this, a); tn.prototype.Et.call(this) }; + g.k.EO = function () { }; + g.k.JZ = function () { return !1 }; + g.k.jX = function () { }; + g.k.Vt = function () { var a = {}; return Object.assign(this.B.Vt(), (a.niot_obs = this.Y, a.niot_cbk = this.Z, a)) }; + g.k.getName = function () { return "nio" }; g.z(Nn, Nm); Nn.prototype.getName = function () { return "nio" }; + Nn.prototype.tD = function () { return !Fm().B && this.j.j.C.IntersectionObserver != null }; + Nn.prototype.FI = function (a, b, c) { return new Kn(a, this.j, b, c) }; g.z(On, Jm); On.prototype.JY = function () { return Fm().j }; + On.prototype.sD = function () { var a = gka(); this.Z !== a && (this.j != this && a > this.j.Z && (this.j = this, Lm(this)), this.Z = a); return a == 2 }; Xn.prototype.sample = function () { $n(this, Hn(), !1) }; + Xn.prototype.D = function () { + var a = Hm(), b = Vl(); a ? (Xl || (Yl = b, g.cc(Gn.j, function (c) { var d = c.Cj(); d.Ka = pn(d, b, c.Hk != 1) })), Xl = !0) : (this.N = lka(this, b), Xl = !1, Lja = b, g.cc(Gn.j, function (c) { c.KE && (c.Cj().Z = b) })); + $n(this, Hn(), !a) + }; + var Yn = Dl(Xn); var nka = null, xo = "", wo = !1; var qka = pka().Kp, bo = pka().Op; var tka = { Jha: "visible", pga: "audible", ela: "time", fla: "timetype" }, uka = { + visible: function (a) { return /^(100|[0-9]{1,2})$/.test(a) }, + audible: function (a) { return a == "0" || a == "1" }, + timetype: function (a) { return a == "mtos" || a == "tos" }, + time: function (a) { return /^(100|[0-9]{1,2})%$/.test(a) || /^([0-9])+ms$/.test(a) } + }; + ska.prototype.setTime = function (a, b, c) { b == "ms" ? (this.C = a, this.D = -1) : (this.C = -1, this.D = a); this.G = c === void 0 ? "tos" : c; return this }; g.z(go, qn); go.prototype.getId = function () { return this.N }; + go.prototype.K = function () { return !0 }; + go.prototype.j = function (a) { var b = a.Cj(), c = a.getDuration(); return Em(this.Z, function (d) { if (d.j != void 0) var e = wka(d, b); else b: { switch (d.G) { case "mtos": e = d.B ? b.G.C : b.C.j; break b; case "tos": e = d.B ? b.G.j : b.C.j; break b }e = 0 } e == 0 ? d = !1 : (d = d.C != -1 ? d.C : c !== void 0 && c > 0 ? d.D * c : -1, d = d != -1 && e >= d); return d }) }; g.z(ho, vja); ho.prototype.j = function (a) { var b = new uja; b.j = ln(a, k$a); b.B = ln(a, m$a); return b }; g.z(io, qn); io.prototype.j = function (a) { return Eja(a) }; g.z(jo, Aja); g.z(ko, qn); ko.prototype.j = function (a) { return a.Cj().hs() }; g.z(lo, rn); lo.prototype.j = function (a) { var b = g.Mb(this.N, il(Il().Lc, "ovms")); return !a.vu && (a.Hk != 0 || b) }; g.z(mo, jo); mo.prototype.B = function () { return new lo(this.j) }; + mo.prototype.C = function () { return [new ko("viewable_impression", this.j), new io(this.j)] }; g.z(no, un); no.prototype.C = function () { var a = g.La("ima.admob.getViewability"), b = il(this.Lc, "queryid"); typeof a === "function" && b && a(b) }; + no.prototype.getName = function () { return "gsv" }; g.z(oo, Nm); oo.prototype.getName = function () { return "gsv" }; + oo.prototype.tD = function () { var a = Fm(); Il(); return a.B && !1 }; + oo.prototype.FI = function (a, b, c) { return new no(this.j, b, c) }; g.z(po, un); po.prototype.C = function () { var a = this, b = g.La("ima.bridge.getNativeViewability"), c = il(this.Lc, "queryid"); typeof b === "function" && c && b(c, function (d) { g.Bc(d) && a.G++; var e = d.opt_nativeViewVisibleBounds || {}, f = d.opt_nativeViewHidden; a.j = Iia(d.opt_nativeViewBounds || {}); var h = a.B.D; h.j = f ? n$a.clone() : Iia(e); a.timestamp = d.opt_nativeTime || -1; Fm().j = h.j; d = d.opt_nativeVolume; d !== void 0 && (h.volume = d) }) }; + po.prototype.getName = function () { return "nis" }; g.z(qo, Nm); qo.prototype.getName = function () { return "nis" }; + qo.prototype.tD = function () { var a = Fm(); Il(); return a.B && !1 }; + qo.prototype.FI = function (a, b, c) { return new po(this.j, b, c) }; g.z(ro, Jm); g.k = ro.prototype; g.k.sD = function () { return this.B.Jo != null }; + g.k.uY = function () { var a = {}; this.Ma && (a.mraid = this.Ma); this.Ba && (a.mlc = 1); a.mtop = this.B.qea; this.N && (a.mse = this.N); this.Ka && (a.msc = 1); a.mcp = this.B.compatibility; return a }; + g.k.tv = function (a) { var b = g.Ca.apply(1, arguments); try { return this.B.Jo[a].apply(this.B.Jo, b) } catch (c) { Ul(538, c, .01, function (d) { d.method = a }) } }; + g.k.initialize = function () { + var a = this; if (this.isInitialized) return !this.yF(); this.isInitialized = !0; if (this.B.compatibility === 2) return this.N = "ng", this.Zi("w"), !1; if (this.B.compatibility === 1) return this.N = "mm", this.Zi("w"), !1; Fm().Z = !0; this.C.document.readyState && this.C.document.readyState == "complete" ? Aka(this) : $m(this.C, "load", function () { Fl().setTimeout(Tl(292, function () { return Aka(a) }), 100) }, 292); + return !0 + }; + g.k.AV = function () { var a = Fm(), b = Fka(this, "getMaxSize"); a.j = new $l(0, b.width, b.height, 0) }; + g.k.BV = function () { Fm().D = Fka(this, "getScreenSize") }; + g.k.dispose = function () { Cka(this); Jm.prototype.dispose.call(this) }; var dia = new function (a, b) { this.key = a; this.defaultValue = b === void 0 ? !1 : b; this.valueType = "boolean" }("45378663"); g.k = to.prototype; g.k.xJ = function (a) { dn(a, !1); Zja(a) }; + g.k.mK = function () { }; + g.k.iH = function (a, b, c, d) { + var e = this; a = new wn(ol, a, c ? b : -1, 7, this.gP(), this.CX()); a.ij = d; zha(a.Lc); hl(a.Lc, "queryid", a.ij); a.PS(""); oja(a, function () { return e.UY.apply(e, g.x(g.Ca.apply(0, arguments))) }, function () { return e.J9.apply(e, g.x(g.Ca.apply(0, arguments))) }); + (d = Dl(In).j) && kja(a, d); a.qk.Ju && Dl(hka); return a + }; + g.k.wA = function (a) { switch (a.Or()) { case 0: if (a = Dl(In).j) a = a.j, g.Pb(a.G, this), a.Y && this.Hq() && Oia(a); vo(); break; case 2: Zn() } }; + g.k.mu = function () { }; + g.k.Hq = function () { return !1 }; + g.k.J9 = function (a, b) { a.vu = !0; switch (a.Wp()) { case 1: Lka(a, b); break; case 2: this.cT(a) } }; + g.k.S9 = function (a) { var b = a.N(a); b && (b = b.volume, a.yb = Dm(b) && b > 0); Hja(a, 0); return Cn(a, "start", Hm()) }; + g.k.GC = function (a, b, c) { $n(Yn, [a], !Hm()); return this.Xp(a, b, c) }; + g.k.Xp = function (a, b, c) { return Cn(a, c, Hm()) }; + g.k.N9 = function (a) { return Bo(a, "firstquartile", 1) }; + g.k.P9 = function (a) { a.Xa = !0; return Bo(a, "midpoint", 2) }; + g.k.T9 = function (a) { return Bo(a, "thirdquartile", 3) }; + g.k.K9 = function (a) { var b = Bo(a, "complete", 4); xn(a); return b }; + g.k.L9 = function (a) { a.Hk = 3; return Cn(a, "error", Hm()) }; + g.k.M1 = function (a, b, c) { b = Hm(); if (a.Fo() && !b) { var d = a.Cj(), e = Vl(); d.Z = e } $n(Yn, [a], !b); a.Fo() && (a.Hk = 1); return Cn(a, c, b) }; + g.k.R9 = function (a, b) { b = this.GC(a, b || {}, "skip"); xn(a); return b }; + g.k.O9 = function (a, b) { dn(a, !0); return this.GC(a, b || {}, "fullscreen") }; + g.k.M9 = function (a, b) { dn(a, !1); return this.GC(a, b || {}, "exitfullscreen") }; + g.k.FS = function (a, b, c) { b = a.Cj(); var d = Vl(); b.Ka = pn(b, d, a.Hk != 1); $n(Yn, [a], !Hm()); a.Hk == 1 && (a.Hk = 2); return Cn(a, c, Hm()) }; + g.k.Q9 = function (a) { $n(Yn, [a], !Hm()); return a.B() }; + g.k.wQ = function (a) { $n(Yn, [a], !Hm()); this.G1(a); xn(a); return a.B() }; + g.k.UY = function () { }; + g.k.cT = function () { }; + g.k.G1 = function () { }; + g.k.EV = function () { }; + g.k.hP = function () { }; + g.k.CX = function () { this.j || (this.j = this.hP()); return this.j == null ? new sn : new mo(this.j) }; + g.k.gP = function () { return new ho }; g.z(Co, qn); Co.prototype.j = function (a) { return a.QJ() == 4 }; g.z(Do, rn); Do.prototype.j = function (a) { a = a.QJ(); return a == 3 || a == 4 }; g.z(Eo, jo); Eo.prototype.B = function () { return new Do(this.j) }; + Eo.prototype.C = function () { return [new Co(this.j)] }; g.z(Fo, vja); Fo.prototype.j = function (a) { a && (a.e === 28 && (a = Object.assign({}, a, { avas: 3 })), a.vs === 4 || a.vs === 5) && (a = Object.assign({}, a, { vs: 3 })); var b = new uja; b.j = ln(a, l$a); b.B = ln(a, m$a); return b }; Pka.prototype.B = function () { return g.La(this.j) }; g.z(Go, to); g.k = Go.prototype; g.k.mK = function (a, b) { + var c = this, d = Dl(In); if (d.j != null) switch (d.j.getName()) { case "nis": var e = Tka(this, a, b); break; case "gsv": e = Ska(this, a, b); break; case "exc": e = Uka(this, a) }e || (b.opt_overlayAdElement ? e = void 0 : b.opt_adElement && (e = Nka(this, a, b.opt_adElement, b.opt_osdId))); e && e.Wp() == 1 && (e.N == g.Zc && (e.N = function (f) { return c.EV(f) }), Rka(this, e, b)); + return e + }; + g.k.EV = function (a) { + a.B = 0; a.Fa = 0; if (a.D == "h" || a.D == "n") { Il(); a.Ya && (Il(), zo(this) != "h" && zo(this)); var b = g.La("ima.common.getVideoMetadata"); if (typeof b === "function") try { var c = b(a.ij) } catch (e) { a.B |= 4 } else a.B |= 2 } else if (a.D == "b") if (b = g.La("ytads.bulleit.getVideoMetadata"), typeof b === "function") try { c = b(a.ij) } catch (e) { a.B |= 4 } else a.B |= 2; else if (a.D == "ml") if (b = g.La("ima.common.getVideoMetadata"), typeof b === "function") try { c = b(a.ij) } catch (e) { a.B |= 4 } else a.B |= 2; else a.B |= 1; a.B || (c === void 0 ? a.B |= 8 : c === null ? + a.B |= 16 : g.Bc(c) ? a.B |= 32 : c.errorCode != null && (a.Fa = c.errorCode, a.B |= 64)); c == null && (c = {}); b = c; a.Z = 0; for (var d in e$a) b[d] == null && (a.Z |= e$a[d]); Oka(b, "currentTime"); Oka(b, "duration"); Dm(c.volume) && Dm() && (c.volume *= NaN); return c + }; + g.k.hP = function () { Il(); zo(this) != "h" && zo(this); var a = Vka(this); return a != null ? new Pka(a) : null }; + g.k.cT = function (a) { !a.j && a.vu && Ao(this, a, "overlay_unmeasurable_impression") && (a.j = !0) }; + g.k.G1 = function (a) { a.v2 && (a.hs() ? Ao(this, a, "overlay_viewable_end_of_session_impression") : Ao(this, a, "overlay_unviewable_impression"), a.v2 = !1) }; + g.k.UY = function () { }; + g.k.iH = function (a, b, c, d) { if (eia()) { var e = il(Il().Lc, "mm"), f = {}; (e = (f[Jl.a4] = "ACTIVE_VIEW_TRAFFIC_TYPE_AUDIO", f[Jl.VIDEO] = "ACTIVE_VIEW_TRAFFIC_TYPE_VIDEO", f)[e]) && Zka(this, e); this.C === "ACTIVE_VIEW_TRAFFIC_TYPE_UNSPECIFIED" && Ul(1044, Error()) } a = to.prototype.iH.call(this, a, b, c, d); this.D && (b = this.G, a.G == null && (a.G = new pja), b.j[a.ij] = a.G, a.G.G = o$a); return a }; + g.k.xJ = function (a) { a && a.Wp() == 1 && this.D && delete this.G.j[a.ij]; return to.prototype.xJ.call(this, a) }; + g.k.CX = function () { this.j || (this.j = this.hP()); return this.j == null ? new sn : this.C === "ACTIVE_VIEW_TRAFFIC_TYPE_AUDIO" ? new Eo(this.j) : new mo(this.j) }; + g.k.gP = function () { return this.C === "ACTIVE_VIEW_TRAFFIC_TYPE_AUDIO" ? new Fo : new ho }; + var p$a = Sl(193, ala, void 0, Mka); g.Ka("Goog_AdSense_Lidar_sendVastEvent", p$a); var q$a = Tl(194, function (a, b) { b = b === void 0 ? {} : b; a = Yka(Dl(Go), a, b); return $ka(a) }); + g.Ka("Goog_AdSense_Lidar_getViewability", q$a); var r$a = Sl(195, function () { return Zha() }); + g.Ka("Goog_AdSense_Lidar_getUrlSignalsArray", r$a); var s$a = Tl(196, function () { return JSON.stringify(Zha()) }); + g.Ka("Goog_AdSense_Lidar_getUrlSignalsList", s$a); var gva = ma(["//tpc.googlesyndication.com/sodar/", ""]); var Rma = (new Date).getTime(); var dla = "://secure-...imrworldwide.com/ ://cdn.imrworldwide.com/ ://aksecure.imrworldwide.com/ ://[^.]*.moatads.com ://youtube[0-9]+.moatpixel.com ://pm.adsafeprotected.com/youtube ://pm.test-adsafeprotected.com/youtube ://e[0-9]+.yt.srs.doubleverify.com www.google.com/pagead/xsul www.youtube.com/pagead/slav".split(" "), ela = /\bocr\b/; var gla = /(?:\[|%5B)([a-zA-Z0-9_]+)(?:\]|%5D)/g; var t$a = 0, u$a = 0, v$a = 0; var Io; Io = null; g.Ko = !1; g.Uo = 1; g.To = Symbol("SIGNAL"); g.Wo = { + version: 0, TZ: 0, xl: !1, dg: void 0, By: void 0, Ym: void 0, mL: 0, ej: void 0, Gu: void 0, Kt: !1, ZO: !1, t1: function () { return !1 }, + v1: function () { }, + vE: function () { }, + Tma: function () { } + }; var w$a = Symbol("UNSET"), x$a = Symbol("COMPUTING"), y$a = Symbol("ERRORED"); Object.assign({}, g.Wo, { + value: w$a, xl: !0, error: null, vP: hla, t1: function (a) { return a.value === w$a || a.value === x$a }, + v1: function (a) { if (a.value === x$a) throw Error("Detected cycle in computations."); var b = a.value; a.value = x$a; var c = g.Lo(a); try { var d = a.Rma() } catch (e) { d = y$a, a.error = e } finally { g.Oo(a, c) } b !== w$a && b !== y$a && d !== y$a && a.vP(b, d) ? a.value = b : (a.value = d, a.version++) } + }); var nla; g.pla = null; nla = Object.assign({}, g.Wo, { vP: hla, value: void 0 }); g.z$a = Object.assign({}, g.Wo, { + ZO: !0, Kt: !1, vE: function (a) { a.schedule !== null && a.schedule(a.aC) }, + zF: !1, Iz: g.Vo + }); g.A$a = rla(!1); g.B$a = rla(!0); var C$a = Symbol("updater"); g.z(Yo, g.Vc); Yo.prototype.dispose = function () { window.removeEventListener("offline", this.C); window.removeEventListener("online", this.C); this.Go.jk(this.G); delete Yo.instance }; + Yo.prototype.Ih = function () { return this.j }; + Yo.prototype.Ue = function () { var a = this; this.G = this.Go.Vi(function () { var b; return g.J(function (c) { if (c.j == 1) return a.j ? ((b = window.navigator) == null ? 0 : b.onLine) ? c.Ha(3) : g.G(c, Xo(a), 3) : g.G(c, Xo(a), 3); a.Ue(); g.ua(c) }) }, 3E4) }; $o.prototype.set = function (a, b) { b = b === void 0 ? !0 : b; 0 <= a && a < 52 && Number.isInteger(a) && this.data[a] !== b && (this.data[a] = b, this.j = -1) }; + $o.prototype.get = function (a) { return !!this.data[a] }; var bp; g.Ya(g.ep, g.O); g.k = g.ep.prototype; g.k.start = function () { this.stop(); this.D = !1; var a = ula(this), b = vla(this); a && !b && this.B.mozRequestAnimationFrame ? (this.j = g.Nc(this.B, "MozBeforePaint", this.C), this.B.mozRequestAnimationFrame(null), this.D = !0) : this.j = a && b ? a.call(this.B, this.C) : this.B.setTimeout(lba(this.C), 20) }; + g.k.stop = function () { if (this.isActive()) { var a = ula(this), b = vla(this); a && !b && this.B.mozRequestAnimationFrame ? Sc(this.j) : a && b ? b.call(this.B, this.j) : this.B.clearTimeout(this.j) } this.j = null }; + g.k.isActive = function () { return this.j != null }; + g.k.A5 = function () { this.D && this.j && Sc(this.j); this.j = null; this.K.call(this.G, g.Xa()) }; + g.k.xa = function () { this.stop(); g.ep.Of.xa.call(this) }; g.Ya(g.fp, g.O); g.k = g.fp.prototype; g.k.uD = 0; g.k.xa = function () { g.fp.Of.xa.call(this); this.stop(); delete this.j; delete this.B }; + g.k.start = function (a) { this.stop(); this.uD = g.Ne(this.C, a !== void 0 ? a : this.cj) }; + g.k.stop = function () { this.isActive() && g.Ja.clearTimeout(this.uD); this.uD = 0 }; + g.k.isActive = function () { return this.uD != 0 }; + g.k.FV = function () { this.uD = 0; this.j && this.j.call(this.B) }; g.jp.prototype[Symbol.iterator] = function () { return this }; + g.jp.prototype.next = function () { var a = this.j.next(); return { value: a.done ? void 0 : this.B.call(void 0, a.value), done: a.done } }; g.Ya(g.sp, g.Vc); g.k = g.sp.prototype; g.k.isPlaying = function () { return this.j == 1 }; + g.k.isPaused = function () { return this.j == -1 }; + g.k.uL = function () { this.Pn("begin") }; + g.k.zs = function () { this.Pn("end") }; + g.k.onFinish = function () { this.Pn("finish") }; + g.k.onStop = function () { this.Pn("stop") }; + g.k.Pn = function (a) { this.dispatchEvent(a) }; var D$a = $c(function () { + var a = g.je("DIV"), b = g.lc ? "-webkit" : km ? "-moz" : g.lm ? "-ms" : null, c = { transition: "opacity 1s linear" }; b && (c[b + "-transition"] = "opacity 1s linear"); c = { style: c }; if (!h9a.test("div")) throw Error(""); if ("DIV" in j9a) throw Error(""); b = void 0; var d = ""; if (c) for (n in c) if (Object.prototype.hasOwnProperty.call(c, n)) { + if (!h9a.test(n)) throw Error(""); var e = c[n]; if (e != null) { + var f = void 0; var h = n; if (e instanceof bd) e = dd(e); else if (h.toLowerCase() == "style") { + if (!g.Qa(e)) throw Error(""); if (!(e instanceof + g.td)) { var l = ""; for (f in e) if (Object.prototype.hasOwnProperty.call(e, f)) { if (!/^[-_a-zA-Z0-9]+$/.test(f)) throw Error("Name allows only [-_a-zA-Z0-9], got: " + f); var m = e[f]; m != null && (m = Array.isArray(m) ? m.map(yba).join(" ") : yba(m), l += f + ":" + m + ";") } e = l ? new g.td(l, Cd) : Ela } e = ud(e) + } else { if (/^on/i.test(h)) throw Error(""); if (h.toLowerCase() in i9a) if (e instanceof g.hd) e = g.id(e).toString(); else if (e instanceof g.kd) e = g.ld(e); else if (typeof e === "string") e = g.rd(e).toString(); else throw Error(""); } f = h + '="' + qb(String(e)) + + '"'; d += " " + f + } + } var n = ""); n = xd(n); if (k9a()) for (; a.lastChild;)a.removeChild(a.lastChild); a.innerHTML = g.wd(n); return g.mm(a.firstChild, "transition") != "" + }); g.Ya(tp, g.sp); g.k = tp.prototype; g.k.play = function () { if (this.isPlaying()) return !1; this.uL(); this.Pn("play"); this.startTime = g.Xa(); this.j = 1; if (D$a()) return g.jm(this.B, this.K), this.C = g.Ne(this.Uca, void 0, this), !0; this.DN(!1); return !1 }; + g.k.Uca = function () { g.Am(this.B); yla(this.B, this.N); g.jm(this.B, this.D); this.C = g.Ne((0, g.Ua)(this.DN, this, !1), this.G * 1E3) }; + g.k.stop = function () { this.isPlaying() && this.DN(!0) }; + g.k.DN = function (a) { g.jm(this.B, "transition", ""); g.Ja.clearTimeout(this.C); g.jm(this.B, this.D); this.endTime = g.Xa(); this.j = 0; if (a) this.onStop(); else this.onFinish(); this.zs() }; + g.k.xa = function () { this.stop(); tp.Of.xa.call(this) }; + g.k.pause = function () { }; var Ala = { rgb: !0, rgba: !0, alpha: !0, rect: !0, image: !0, "linear-gradient": !0, "radial-gradient": !0, "repeating-linear-gradient": !0, "repeating-radial-gradient": !0, "cubic-bezier": !0, matrix: !0, perspective: !0, rotate: !0, rotate3d: !0, rotatex: !0, rotatey: !0, steps: !0, rotatez: !0, scale: !0, scale3d: !0, scalex: !0, scaley: !0, scalez: !0, skew: !0, skewx: !0, skewy: !0, translate: !0, translate3d: !0, translatex: !0, translatey: !0, translatez: !0 }; up("Element", "attributes") || up("Node", "attributes"); up("Element", "innerHTML") || up("HTMLElement", "innerHTML"); up("Node", "nodeName"); up("Node", "nodeType"); up("Node", "parentNode"); up("Node", "childNodes"); up("HTMLElement", "style") || up("Element", "style"); up("HTMLStyleElement", "sheet"); var Hla = Cla("getPropertyValue"), Ila = Cla("setProperty"); up("Element", "namespaceURI") || up("Node", "namespaceURI"); var Gla = { "-webkit-border-horizontal-spacing": !0, "-webkit-border-vertical-spacing": !0 }; var Mla, N8a, Lla, Kla, Nla; Mla = RegExp("[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0900-\u1fff\u200e\u2c00-\ud801\ud804-\ud839\ud83c-\udbff\uf900-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]"); N8a = RegExp("^[\u0591-\u06ef\u06fa-\u08ff\u200f\ud802-\ud803\ud83a-\ud83b\ufb1d-\ufdff\ufe70-\ufefc]"); g.E$a = RegExp("^[^\u0591-\u06ef\u06fa-\u08ff\u200f\ud802-\ud803\ud83a-\ud83b\ufb1d-\ufdff\ufe70-\ufefc]*[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0900-\u1fff\u200e\u2c00-\ud801\ud804-\ud839\ud83c-\udbff\uf900-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]"); + g.vp = RegExp("^[^A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0900-\u1fff\u200e\u2c00-\ud801\ud804-\ud839\ud83c-\udbff\uf900-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]*[\u0591-\u06ef\u06fa-\u08ff\u200f\ud802-\ud803\ud83a-\ud83b\ufb1d-\ufdff\ufe70-\ufefc]"); Lla = /^http:\/\/.*/; g.F$a = RegExp("^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)", "i"); Kla = /\s+/; Nla = /[\d\u06f0-\u06f9]/; xp.prototype.wm = function () { return new yp(this.B()) }; + xp.prototype[Symbol.iterator] = function () { return new zp(this.B()) }; + xp.prototype.j = function () { return new zp(this.B()) }; + g.z(yp, g.en); yp.prototype.next = function () { return this.B.next() }; + yp.prototype[Symbol.iterator] = function () { return new zp(this.B) }; + yp.prototype.j = function () { return new zp(this.B) }; + g.z(zp, xp); zp.prototype.next = function () { return this.C.next() }; Bp.prototype.clone = function () { return new Bp(this.j, this.C, this.x1, this.y1, this.x2, this.y2, this.B, this.D) }; Dp.prototype.clone = function () { return new Dp(this.start, this.end) }; (function () { if (f6a) { var a = /Windows NT ([0-9.]+)/; return (a = a.exec(g.wb())) ? a[1] : "0" } return uX ? (a = /1[0|1][_.][0-9_.]+/, (a = a.exec(g.wb())) ? a[0].replace(/_/g, ".") : "10") : g.us ? (a = /Android\s+([^\);]+)(\)|;)/, (a = a.exec(g.wb())) ? a[1] : "") : $8a || a9a || b9a ? (a = /(?:iPhone|CPU)\s+OS\s+(\S+)/, (a = a.exec(g.wb())) ? a[1].replace(/_/g, ".") : "") : "" })(); var Pla = function () { if (g.YN) return Ep(/Firefox\/([0-9.]+)/); if (g.lm || g.tu || g.GO) return Uaa; if (g.KE) { if (gc() || ic()) { var a = Ep(/CriOS\/([0-9.]+)/); if (a) return a } return Ep(/Chrome\/([0-9.]+)/) } if (g.Rt && !gc()) return Ep(/Version\/([0-9.]+)/); if (qs || rs) { if (a = /Version\/(\S+).*Mobile\/(\S+)/.exec(g.wb())) return a[1] + "." + a[2] } else if (g.HO) return (a = Ep(/Android\s+([0-9.]+)/)) ? a : Ep(/Version\/([0-9.]+)/); return "" }(); g.Ya(g.Gp, g.O); g.k = g.Gp.prototype; g.k.subscribe = function (a, b, c) { var d = this.B[a]; d || (d = this.B[a] = []); var e = this.K; this.j[e] = a; this.j[e + 1] = b; this.j[e + 2] = c; this.K = e + 3; d.push(e); return e }; + g.k.unsubscribe = function (a, b, c) { if (a = this.B[a]) { var d = this.j; if (a = a.find(function (e) { return d[e + 1] == b && d[e + 2] == c })) return this.uh(a) } return !1 }; + g.k.uh = function (a) { var b = this.j[a]; if (b) { var c = this.B[b]; this.D != 0 ? (this.C.push(a), this.j[a + 1] = function () { }) : (c && g.Pb(c, a), delete this.j[a], delete this.j[a + 1], delete this.j[a + 2]) } return !!b }; + g.k.publish = function (a, b) { var c = this.B[a]; if (c) { for (var d = Array(arguments.length - 1), e = 1, f = arguments.length; e < f; e++)d[e - 1] = arguments[e]; if (this.N) for (e = 0; e < c.length; e++) { var h = c[e]; Qla(this.j[h + 1], this.j[h + 2], d) } else { this.D++; try { for (e = 0, f = c.length; e < f && !this.La(); e++)h = c[e], this.j[h + 1].apply(this.j[h + 2], d) } finally { if (this.D--, this.C.length > 0 && this.D == 0) for (; c = this.C.pop();)this.uh(c) } } return e != 0 } return !1 }; + g.k.clear = function (a) { if (a) { var b = this.B[a]; b && (b.forEach(this.uh, this), delete this.B[a]) } else this.j.length = 0, this.B = {} }; + g.k.xa = function () { g.Gp.Of.xa.call(this); this.clear(); this.C.length = 0 }; g.Hp.prototype.set = function (a, b) { b === void 0 ? this.j.remove(a) : this.j.set(a, g.Ci(b)) }; + g.Hp.prototype.get = function (a) { try { var b = this.j.get(a) } catch (c) { return } if (b !== null) try { return JSON.parse(b) } catch (c) { throw "Storage: Invalid value was encountered"; } }; + g.Hp.prototype.remove = function (a) { this.j.remove(a) }; g.Ya(Ip, g.Hp); Ip.prototype.set = function (a, b) { Ip.Of.set.call(this, a, Sla(b)) }; + Ip.prototype.B = function (a) { a = Ip.Of.get.call(this, a); if (a === void 0 || a instanceof Object) return a; throw "Storage: Invalid value was encountered"; }; + Ip.prototype.get = function (a) { if (a = this.B(a)) { if (a = a.data, a === void 0) throw "Storage: Invalid value was encountered"; } else a = void 0; return a }; g.Ya(Jp, Ip); Jp.prototype.set = function (a, b, c) { if (b = Sla(b)) { if (c) { if (c < g.Xa()) { Jp.prototype.remove.call(this, a); return } b.expiration = c } b.creation = g.Xa() } Jp.Of.set.call(this, a, b) }; + Jp.prototype.B = function (a, b) { var c = Jp.Of.B.call(this, a); if (c) if (!b && g.Tla(c)) Jp.prototype.remove.call(this, a); else return c }; g.Ya(g.Kp, Jp); g.Ya(Lp, Ula); Lp.prototype[Symbol.iterator] = function () { return g.Ap(this.wm(!0)).j() }; + Lp.prototype.clear = function () { var a = Array.from(this); a = g.w(a); for (var b = a.next(); !b.done; b = a.next())this.remove(b.value) }; g.Ya(Mp, Lp); g.k = Mp.prototype; g.k.isAvailable = function () { var a = this.j; if (a) try { a.setItem("__sak", "1"); a.removeItem("__sak"); var b = !0 } catch (c) { b = c instanceof DOMException && (c.name === "QuotaExceededError" || c.code === 22 || c.code === 1014 || c.name === "NS_ERROR_DOM_QUOTA_REACHED") && a && a.length !== 0 } else b = !1; return this.B = b }; + g.k.set = function (a, b) { Np(this); try { this.j.setItem(a, b) } catch (c) { if (this.j.length == 0) throw "Storage mechanism: Storage disabled"; throw "Storage mechanism: Quota exceeded"; } }; + g.k.get = function (a) { Np(this); a = this.j.getItem(a); if (typeof a !== "string" && a !== null) throw "Storage mechanism: Invalid value was encountered"; return a }; + g.k.remove = function (a) { Np(this); this.j.removeItem(a) }; + g.k.wm = function (a) { + Np(this); var b = 0, c = this.j, d = new g.en; d.next = function () { if (b >= c.length) return g.n1; var e = c.key(b++); if (a) return g.fn(e); e = c.getItem(e); if (typeof e !== "string") throw "Storage mechanism: Invalid value was encountered"; return g.fn(e) }; + return d + }; + g.k.clear = function () { Np(this); this.j.clear() }; + g.k.key = function (a) { Np(this); return this.j.key(a) }; g.Ya(Op, Mp); g.Ya(Vla, Mp); g.Ya(Pp, Lp); Pp.prototype.set = function (a, b) { this.B.set(this.j + a, b) }; + Pp.prototype.get = function (a) { return this.B.get(this.j + a) }; + Pp.prototype.remove = function (a) { this.B.remove(this.j + a) }; + Pp.prototype.wm = function (a) { + var b = this.B[Symbol.iterator](), c = this, d = new g.en; d.next = function () { var e = b.next(); if (e.done) return e; for (e = e.value; e.slice(0, c.j.length) != c.j;) { e = b.next(); if (e.done) return e; e = e.value } return g.fn(a ? e.slice(c.j.length) : c.B.get(e)) }; + return d + }; Rp.prototype.getValue = function () { return this.B }; + Rp.prototype.clone = function () { return new Rp(this.j, this.B) }; g.k = Sp.prototype; g.k.Fh = function (a, b) { var c = this.j; c.push(new Rp(a, b)); a = c.length - 1; b = this.j; for (c = b[a]; a > 0;) { var d = a - 1 >> 1; if (b[d].j > c.j) b[a] = b[d], a = d; else break } b[a] = c }; + g.k.remove = function () { var a = this.j, b = a.length, c = a[0]; if (!(b <= 0)) { if (b == 1) a.length = 0; else { a[0] = a.pop(); a = 0; b = this.j; for (var d = b.length, e = b[a]; a < d >> 1;) { var f = a * 2 + 1, h = a * 2 + 2; f = h < d && b[h].j < b[f].j ? h : f; if (b[f].j > e.j) break; b[a] = b[f]; a = f } b[a] = e } return c.getValue() } }; + g.k.Mm = function () { for (var a = this.j, b = [], c = a.length, d = 0; d < c; d++)b.push(a[d].getValue()); return b }; + g.k.Xn = function () { for (var a = this.j, b = [], c = a.length, d = 0; d < c; d++)b.push(a[d].j); return b }; + g.k.clone = function () { return new Sp(this) }; + g.k.isEmpty = function () { return this.j.length === 0 }; + g.k.clear = function () { this.j.length = 0 }; g.z(Tp, Sp); Tp.prototype.enqueue = function (a, b) { this.Fh(a, b) }; Up.ih = void 0; Up.getInstance = function () { return Up.ih ? Up.ih : Up.ih = new Up }; + Up.prototype.j = 0; var Vp = {}, G$a = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined"; Vp.assign = function (a) { for (var b = Array.prototype.slice.call(arguments, 1); b.length;) { var c = b.shift(); if (c) { if (typeof c !== "object") throw new TypeError(c + "must be non-object"); for (var d in c) Object.prototype.hasOwnProperty.call(c, d) && (a[d] = c[d]) } } return a }; + Vp.PT = function (a, b) { if (a.length === b) return a; if (a.subarray) return a.subarray(0, b); a.length = b; return a }; + var H$a = { + Dz: function (a, b, c, d, e) { if (b.subarray && a.subarray) a.set(b.subarray(c, c + d), e); else for (var f = 0; f < d; f++)a[e + f] = b[c + f] }, + eY: function (a) { var b, c; var d = c = 0; for (b = a.length; d < b; d++)c += a[d].length; var e = new Uint8Array(c); d = c = 0; for (b = a.length; d < b; d++) { var f = a[d]; e.set(f, c); c += f.length } return e } + }, I$a = { + Dz: function (a, b, c, d, e) { for (var f = 0; f < d; f++)a[e + f] = b[c + f] }, + eY: function (a) { return [].concat.apply([], a) } + }; + Vp.iea = function () { G$a ? (Vp.kz = Uint8Array, Vp.er = Uint16Array, Vp.n4 = Int32Array, Vp.assign(Vp, H$a)) : (Vp.kz = Array, Vp.er = Array, Vp.n4 = Array, Vp.assign(Vp, I$a)) }; + Vp.iea(); var J$a = !0; try { new Uint8Array(1) } catch (a) { J$a = !1 }; var zq = {}; zq = function (a, b, c, d) { var e = a & 65535 | 0; a = a >>> 16 & 65535 | 0; for (var f; c !== 0;) { f = c > 2E3 ? 2E3 : c; c -= f; do e = e + b[d++] | 0, a = a + e | 0; while (--f); e %= 65521; a %= 65521 } return e | a << 16 | 0 }; for (var Aq = {}, r1, K$a = [], s1 = 0; s1 < 256; s1++) { r1 = s1; for (var L$a = 0; L$a < 8; L$a++)r1 = r1 & 1 ? 3988292384 ^ r1 >>> 1 : r1 >>> 1; K$a[s1] = r1 } Aq = function (a, b, c, d) { c = d + c; for (a ^= -1; d < c; d++)a = a >>> 8 ^ K$a[(a ^ b[d]) & 255]; return a ^ -1 }; var kq = {}; kq = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; var dq = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], gq = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], rma = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], gma = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], uq = Array(576); Wp(uq); var vq = Array(60); Wp(vq); var fq = Array(512); Wp(fq); var cq = Array(256); Wp(cq); var eq = Array(29); Wp(eq); var hq = Array(30); Wp(hq); var oma, pma, qma, nma = !1; var Fq; Fq = [new Eq(0, 0, 0, 0, function (a, b) { var c = 65535; for (c > a.Xm - 5 && (c = a.Xm - 5); ;) { if (a.jc <= 1) { Bq(a); if (a.jc === 0 && b === 0) return 1; if (a.jc === 0) break } a.Gb += a.jc; a.jc = 0; var d = a.vl + c; if (a.Gb === 0 || a.Gb >= d) if (a.jc = a.Gb - d, a.Gb = d, wq(a, !1), a.xe.Je === 0) return 1; if (a.Gb - a.vl >= a.tj - 262 && (wq(a, !1), a.xe.Je === 0)) return 1 } a.Fh = 0; if (b === 4) return wq(a, !0), a.xe.Je === 0 ? 3 : 4; a.Gb > a.vl && wq(a, !1); return 1 }), + new Eq(4, 4, 8, 4, Cq), new Eq(4, 5, 16, 8, Cq), new Eq(4, 6, 32, 32, Cq), new Eq(4, 4, 16, 16, Dq), new Eq(8, 16, 32, 32, Dq), new Eq(8, 16, 128, 128, Dq), new Eq(8, 32, 128, 256, Dq), new Eq(32, 128, 258, 1024, Dq), new Eq(32, 258, 258, 4096, Dq)]; var mma = {}; mma = function () { this.input = null; this.Yy = this.xj = this.Xx = 0; this.output = null; this.lU = this.Je = this.uB = 0; this.msg = ""; this.state = null; this.kP = 2; this.Ud = 0 }; var sma = Object.prototype.toString; + Gq.prototype.push = function (a, b) { + var c = this.xe, d = this.options.chunkSize; if (this.ended) return !1; var e = b === ~~b ? b : b === !0 ? 4 : 0; typeof a === "string" ? c.input = Wla(a) : sma.call(a) === "[object ArrayBuffer]" ? c.input = new Uint8Array(a) : c.input = a; c.Xx = 0; c.xj = c.input.length; do { + c.Je === 0 && (c.output = new Vp.kz(d), c.uB = 0, c.Je = d); a = lma(c, e); if (a !== 1 && a !== 0) return this.zs(a), this.ended = !0, !1; if (c.Je === 0 || c.xj === 0 && (e === 4 || e === 2)) if (this.options.to === "string") { + var f = Vp.PT(c.output, c.uB); b = f; f = f.length; if (f < 65537 && (b.subarray && + J$a || !b.subarray)) b = String.fromCharCode.apply(null, Vp.PT(b, f)); else { for (var h = "", l = 0; l < f; l++)h += String.fromCharCode(b[l]); b = h } this.chunks.push(b) + } else b = Vp.PT(c.output, c.uB), this.chunks.push(b) + } while ((c.xj > 0 || c.Je === 0) && a !== 1); if (e === 4) return (c = this.xe) && c.state ? (d = c.state.status, d !== 42 && d !== 69 && d !== 73 && d !== 91 && d !== 103 && d !== 113 && d !== 666 ? a = lq(c, -2) : (c.state = null, a = d === 113 ? lq(c, -3) : 0)) : a = -2, this.zs(a), this.ended = !0, a === 0; e === 2 && (this.zs(0), c.Je = 0); return !0 + }; + Gq.prototype.zs = function (a) { a === 0 && (this.result = this.options.to === "string" ? this.chunks.join("") : Vp.eY(this.chunks)); this.chunks = []; this.err = a; this.msg = this.xe.msg }; var Iq = "@@redux/INIT" + Hq(), yma = "@@redux/REPLACE" + Hq(); var zma = typeof Symbol === "function" && Symbol.observable || "@@observable"; var M$a = [0, H9a, -3, j1]; g.z(Lq, mh); Lq.prototype.getType = function () { return Ng(this, 11) }; var qYa = function () { var a = [0, J9a, I9a, g1, H9a, g1, -1, j1, H9a, j1, -1, J9a, j1, I9a, h1, M$a, g1, -1, j1]; return function (b, c) { if (f1.length) { var d = f1.pop(); nea(d, c); d.j.init(b, void 0, void 0, c); b = d } else b = new fh(b, c); try { var e = new Lq, f = e.sb; Dh(a)(f, b); var h = e } finally { b.free() } return h } }(); var Psa = new g.Mq("adInfoDialogEndpoint"); var Fua = new g.Mq("adPingingEndpoint"); var Ywa = new g.Mq("crossDeviceProgressCommand"); var SH = new g.Mq("actionCompanionAdRenderer"); var sE = new g.Mq("adActionInterstitialRenderer"); var N$a = new g.Mq("adDurationRemainingRenderer"); var lI = new g.Mq("adHoverTextButtonRenderer"); var Nsa = new g.Mq("adInfoDialogRenderer"); var RI = new g.Mq("adMessageRenderer"); var mI = new g.Mq("adPreviewRenderer"); var UH = new g.Mq("adsEngagementPanelRenderer"); var tya = new g.Mq("dismissablePanelTextPortraitImageRenderer"); var O$a = new g.Mq("flyoutCtaRenderer"); var TH = new g.Mq("imageCompanionAdRenderer"); var qE = new g.Mq("instreamAdPlayerOverlayRenderer"); var P$a = new g.Mq("instreamAdPlayerUnderlayRenderer"); var i8a = new g.Mq("instreamSurveyAdBackgroundImageRenderer"); var kI = new g.Mq("instreamSurveyAdPlayerOverlayRenderer"); var cI = new g.Mq("instreamSurveyAdRenderer"), jI = new g.Mq("instreamSurveyAdSingleSelectQuestionRenderer"), iI = new g.Mq("instreamSurveyAdMultiSelectQuestionRenderer"), t1 = new g.Mq("instreamSurveyAdAnswerRenderer"), Q$a = new g.Mq("instreamSurveyAdAnswerNoneOfTheAboveRenderer"); var aI = new g.Mq("instreamVideoAdRenderer"); var R$a = new g.Mq("textOverlayAdContentRenderer"), S$a = new g.Mq("enhancedTextOverlayAdContentRenderer"), T$a = new g.Mq("imageOverlayAdContentRenderer"); var rE = new g.Mq("playerOverlayLayoutRenderer"); var xya = new g.Mq("aboveFeedAdLayoutRenderer"); var yya = new g.Mq("belowPlayerAdLayoutRenderer"); var wya = new g.Mq("inPlayerAdLayoutRenderer"); var fI = new g.Mq("playerBytesAdLayoutRenderer"); var hI = new g.Mq("playerUnderlayAdLayoutRenderer"); var bI = new g.Mq("adIntroRenderer"); var pya = new g.Mq("playerBytesSequentialLayoutRenderer"); var Eza = new g.Mq("slidingTextPlayerOverlayRenderer"); var dI = new g.Mq("surveyTextInterstitialRenderer"); var U$a = new g.Mq("simpleAdBadgeRenderer"); var NG = new g.Mq("skipAdRenderer"), V$a = new g.Mq("skipButtonRenderer"); var qI = new g.Mq("adSlotRenderer"); var gI = new g.Mq("squeezebackPlayerSidePanelRenderer"); var W$a = new g.Mq("timedPieCountdownRenderer"); var X$a = new g.Mq("adAvatarViewModel"); var Y$a = new g.Mq("adBadgeViewModel"); var Z$a = new g.Mq("adButtonViewModel"); var $$a = new g.Mq("adDisclosureBannerViewModel"); var aab = new g.Mq("adPreviewViewModel"); var bab = new g.Mq("playerAdAvatarLockupCardButtonedViewModel"); var cab = new g.Mq("skipAdButtonViewModel"); var dab = new g.Mq("skipAdViewModel"); var eab = new g.Mq("visitAdvertiserLinkViewModel"); var VH = new g.Mq("bannerImageLayoutViewModel"); var WH = new g.Mq("topBannerImageTextIconButtonedLayoutViewModel"); var XH = new g.Mq("adsEngagementPanelLayoutViewModel"); g.GQ = new g.Mq("browseEndpoint"); var fab = new g.Mq("confirmDialogEndpoint"); var fra = new g.Mq("rawColdConfigGroup"); var era = new g.Mq("rawHotConfigGroup"); g.Sy = new g.Mq("commandExecutorCommand"); g.z(Ema, mh); var BJa = { + Dla: 0, Ola: 1, Zla: 32, ema: 61, lma: 67, gma: 86, Yla: 42, ama: 60, Qla: 62, dma: 73, cma: 76, hma: 88, jma: 90, mma: 99, Wla: 98, kma: 100, nma: 41, oma: 69, pma: 70, qma: 71, Dja: 2, Eja: 27, ANDROID: 3, Vfa: 54, Wfa: 14, gga: 91, Xfa: 55, Yfa: 24, Zfa: 20, aga: 18, dga: 21, iga: 30, lga: 29, nga: 28, Jla: 101, oga: 34, hga: 36, cga: 38, IOS: 5, zia: 15, Jia: 92, Aia: 40, Cia: 25, Dia: 17, Eia: 19, Fia: 64, Gia: 66, Hia: 26, Lia: 22, Mia: 33, Nia: 68, Oia: 35, Iia: 53, Kia: 37, Bia: 39, ola: 7, qla: 57, rla: 43, tla: 59, sla: 93, kga: 74, ula: 75, wla: 85, xla: 65, zla: 80, Ala: 8, mla: 10, Cla: 58, Bla: 63, yla: 72, jga: 23, + uma: 11, vma: 13, Qga: 12, nla: 16, Xla: 56, fma: 31, Aja: 77, Vha: 84, bma: 87, Xha: 89, Wha: 94, nja: 95 + }; g.z(Nq, mh); Nq.prototype.N8 = function () { return Mg(this, 3) }; + Nq.prototype.W8 = function () { return Mg(this, 5) }; + Nq.prototype.Js = function (a) { return Sg(this, 5, a) }; g.z(Oq, mh); g.z(Fma, mh); g.z(Pq, mh); Pq.prototype.getDeviceId = function () { return Mg(this, 6) }; + Pq.prototype.getPlayerType = function () { return Ng(this, 36) }; + Pq.prototype.setHomeGroupInfo = function (a) { return Eg(this, Fma, 81, a) }; + Pq.prototype.clearLocationPlayabilityToken = function () { return ig(this, 89) }; g.z(Qq, mh); Qq.prototype.getValue = function () { return Mg(this, zg(this, bra) === 2 ? 2 : -1) }; + var bra = [2, 3, 4, 5, 6]; g.z(Rq, mh); g.z(Sq, mh); g.z(Tq, mh); Tq.prototype.getToken = function () { return Jg(this, 2) }; + Tq.prototype.setToken = function (a) { return Sg(this, 2, a) }; g.z(Uq, mh); Uq.prototype.setSafetyMode = function (a) { return Ug(this, 5, a) }; g.z(Vq, mh); Vq.prototype.BH = function (a) { return Eg(this, Pq, 1, a) }; var oI = new g.Mq("thumbnailLandscapePortraitRenderer"); g.gab = new g.Mq("changeEngagementPanelVisibilityAction"); var lta = new g.Mq("continuationCommand"); g.hab = new g.Mq("openPopupAction"); g.u1 = new g.Mq("webCommandMetadata"); var oLa = new g.Mq("metadataBadgeRenderer"); var vz = new g.Mq("signalServiceEndpoint"); var ix = new g.Mq("innertubeCommand"); var w8a = new g.Mq("loggingDirectives"); var qna = { xha: "EMBEDDED_PLAYER_MODE_UNKNOWN", uha: "EMBEDDED_PLAYER_MODE_DEFAULT", wha: "EMBEDDED_PLAYER_MODE_PFP", vha: "EMBEDDED_PLAYER_MODE_PFL" }; var KLa = new g.Mq("channelThumbnailEndpoint"); var JLa = new g.Mq("embeddedPlayerErrorMessageRenderer"); var FLa = new g.Mq("embeddedPlayerOverlayVideoDetailsRenderer"), LLa = new g.Mq("embeddedPlayerOverlayVideoDetailsCollapsedRenderer"), MLa = new g.Mq("embeddedPlayerOverlayVideoDetailsExpandedRenderer"); var lLa = new g.Mq("embedsInfoPanelRenderer"); var iab = new g.Mq("feedbackEndpoint"); var jab = new g.Mq("callToActionButtonViewModel"); var kab = new g.Mq("interactionLoggingCommandMetadata"); var mpa = { Vla: "WEB_DISPLAY_MODE_UNKNOWN", Rla: "WEB_DISPLAY_MODE_BROWSER", Tla: "WEB_DISPLAY_MODE_MINIMAL_UI", Ula: "WEB_DISPLAY_MODE_STANDALONE", Sla: "WEB_DISPLAY_MODE_FULLSCREEN" }; g.z(Wq, mh); Wq.prototype.getValue = function () { return Mg(this, 2) }; g.z(Xq, mh); g.z(Yq, mh); g.z(Zq, mh); var Pra = [2, 3, 4, 5]; g.z($q, mh); $q.prototype.getMessage = function () { return Mg(this, 1) }; g.z(ar, mh); g.z(br, mh); g.z(cr, mh); g.z(dr, mh); g.z(er, mh); er.prototype.setTrackingParams = function (a) { return ig(this, 1, mf(a, !1, !1)) }; g.z(fr, mh); fr.prototype.getPlayerType = function () { return Ng(this, 7) }; + fr.prototype.nf = function () { return Mg(this, 19) }; + fr.prototype.setVideoId = function (a) { return Sg(this, 19, a) }; g.z(gr, mh); g.z(hr, mh); g.z(ir, mh); + var hx = [2, 3, 5, 6, 7, 11, 13, 20, 21, 22, 23, 24, 28, 32, 37, 45, 59, 72, 73, 74, 76, 78, 79, 80, 85, 91, 97, 100, 102, 105, 111, 117, 119, 126, 127, 136, 146, 148, 151, 156, 157, 158, 159, 163, 164, 168, 176, 177, 178, 179, 184, 188, 189, 190, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 208, 209, 215, 219, 222, 225, 226, 227, 229, 232, 233, 234, 240, 241, 244, 247, 248, 249, 251, 254, 255, 256, 257, 258, 259, 260, 261, 266, 270, 272, 278, 288, 291, 293, 300, 304, 308, 309, 310, 311, 313, 314, 319, 320, 321, 323, 324, 327, 328, 330, 331, 332, 334, 337, 338, 340, 344, 348, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 361, 363, 364, 368, 369, 370, 373, 374, 375, 378, 380, 381, 383, 388, 389, 399, 402, 403, 410, 411, 412, 413, 414, 415, 416, 417, 418, 423, 424, 425, 426, 427, 429, 430, 431, 439, 441, 444, 448, 458, 469, 471, 473, 474, 480, 481, 482, 484, 485, 486, 491, 495, 496]; g.z(jr, mh); g.z(kr, mh); kr.prototype.nf = function () { return Jg(this, zg(this, Hw) === 1 ? 1 : -1) }; + kr.prototype.setVideoId = function (a) { return xg(this, 1, Hw, Mf(a)) }; + kr.prototype.getPlaylistId = function () { return Jg(this, zg(this, Hw) === 2 ? 2 : -1) }; + var Hw = [1, 2]; g.z(Gma, mh); var oQ = new g.Mq("changeKeyedMarkersVisibilityCommand"); var lab = new g.Mq("changeMarkersVisibilityCommand"); var qLa = new g.Mq("loadMarkersCommand"); var mab = new g.Mq("suggestedActionDataViewModel"); var YQa = new g.Mq("productListItemRenderer"); var nab = new g.Mq("shoppingOverlayRenderer"); var GLa = new g.Mq("musicEmbeddedPlayerOverlayVideoDetailsRenderer"); var oab = new g.Mq("adFeedbackEndpoint"); var pab = new g.Mq("menuEndpoint"); var mQa = new g.Mq("phoneDialerEndpoint"); var kQa = new g.Mq("sendSmsEndpoint"); var ELa = new g.Mq("copyTextEndpoint"); var qab = new g.Mq("shareEndpoint"), rab = new g.Mq("shareEntityEndpoint"), sab = new g.Mq("shareEntityServiceEndpoint"), tab = new g.Mq("webPlayerShareEntityServiceEndpoint"); g.ky = new g.Mq("urlEndpoint"); g.mQ = new g.Mq("watchEndpoint"); var uab = new g.Mq("watchPlaylistEndpoint"); var fNa = new g.Mq("compositeVideoOverlayRenderer"); var vab = new g.Mq("miniplayerRenderer"); var CLa = new g.Mq("paidContentOverlayRenderer"); var $Ka = new g.Mq("playerMutedAutoplayOverlayRenderer"), aLa = new g.Mq("playerMutedAutoplayEndScreenRenderer"); var pKa = new g.Mq("unserializedPlayerResponse"), bLa = new g.Mq("unserializedPlayerResponse"); var wab = new g.Mq("playlistEditEndpoint"); var v1; g.nI = new g.Mq("buttonRenderer"); v1 = new g.Mq("toggleButtonRenderer"); var rya = new g.Mq("counterfactualRenderer"); var xab = new g.Mq("resolveUrlCommandMetadata"); var yab = new g.Mq("modifyChannelNotificationPreferenceEndpoint"); var Eua = new g.Mq("pingingEndpoint"); var zab = new g.Mq("unsubscribeEndpoint"); g.HQ = new g.Mq("subscribeButtonRenderer"); var Aab = new g.Mq("subscribeEndpoint"); var XMa = new g.Mq("buttonViewModel"); var sya = new g.Mq("qrCodeRenderer"); var DJa = { gja: "LIVING_ROOM_APP_MODE_UNSPECIFIED", dja: "LIVING_ROOM_APP_MODE_MAIN", cja: "LIVING_ROOM_APP_MODE_KIDS", eja: "LIVING_ROOM_APP_MODE_MUSIC", fja: "LIVING_ROOM_APP_MODE_UNPLUGGED", bja: "LIVING_ROOM_APP_MODE_GAMING" }; var iLa = new g.Mq("autoplaySwitchButtonRenderer"); var EP, NRa, wKa, YRa; EP = new g.Mq("decoratedPlayerBarRenderer"); NRa = new g.Mq("chapteredPlayerBarRenderer"); wKa = new g.Mq("multiMarkersPlayerBarRenderer"); YRa = new g.Mq("chapterRenderer"); g.RRa = new g.Mq("markerRenderer"); var mLa = new g.Mq("desktopOverlayConfigRenderer"); var kLa = new g.Mq("gatedActionsOverlayViewModel"); var VRa = new g.Mq("heatMarkerRenderer"); var URa = new g.Mq("heatmapRenderer"); var pLa = new g.Mq("watchToWatchTransitionRenderer"); var HLa = new g.Mq("playlistPanelRenderer"); var Bab = new g.Mq("productUpsellSuggestedActionViewModel"); var Cab = new g.Mq("suggestedActionTimeRangeTrigger"), Dab = new g.Mq("suggestedActionsRenderer"), Eab = new g.Mq("suggestedActionRenderer"); var WRa = new g.Mq("timedMarkerDecorationRenderer"); var FDa = new g.Mq("cipher"); var qKa = new g.Mq("playerVars"); var cLa = new g.Mq("playerVars"); var w1 = g.Ja.window, Fab, Gab, nr = (w1 == null ? void 0 : (Fab = w1.yt) == null ? void 0 : Fab.config_) || (w1 == null ? void 0 : (Gab = w1.ytcfg) == null ? void 0 : Gab.data_) || {}; g.Ka("yt.config_", nr); var rr = []; var Qma = /^[\w.]*$/, Mma = { q: !0, search_query: !0 }, Lma = String(vr); var Fr = new function () { var a = window.document; this.j = window; this.B = a }; + g.Ka("yt.ads_.signals_.getAdSignalsString", function (a) { return wr(Hr(a)) }); g.Xa(); var Sma = "XMLHttpRequest" in g.Ja ? function () { return new XMLHttpRequest } : null; var Hab = "client_dev_domain client_dev_expflag client_dev_regex_map client_dev_root_url client_rollout_override expflag forcedCapability jsfeat jsmode mods".split(" "); g.x(Hab); var Wma = { + Authorization: "AUTHORIZATION", "X-Goog-EOM-Visitor-Id": "EOM_VISITOR_DATA", "X-Goog-Visitor-Id": "SANDBOXED_VISITOR_ID", "X-Youtube-Domain-Admin-State": "DOMAIN_ADMIN_STATE", "X-Youtube-Chrome-Connected": "CHROME_CONNECTED_HEADER", "X-YouTube-Client-Name": "INNERTUBE_CONTEXT_CLIENT_NAME", "X-YouTube-Client-Version": "INNERTUBE_CONTEXT_CLIENT_VERSION", "X-YouTube-Delegation-Context": "INNERTUBE_CONTEXT_SERIALIZED_DELEGATION_CONTEXT", "X-YouTube-Device": "DEVICE", "X-Youtube-Identity-Token": "ID_TOKEN", "X-YouTube-Page-CL": "PAGE_CL", + "X-YouTube-Page-Label": "PAGE_BUILD_LABEL", "X-YouTube-Variants-Checksum": "VARIANTS_CHECKSUM", "X-Goog-AuthUser": "SESSION_INDEX", "X-Goog-PageId": "DELEGATED_SESSION_ID" + }, Xma = "app debugcss debugjs expflag force_ad_params force_ad_encrypted force_viral_ad_response_params forced_experiments innertube_snapshots innertube_goldens internalcountrycode internalipoverride absolute_experiments conditional_experiments sbb sr_bns_address".split(" ").concat(g.x(Hab)), dna = !1, Uma = Yma, ana = Tr; g.z(Wr, ib); Zr.prototype.then = function (a, b, c) { return this.j ? this.j.then(a, b, c) : this.C === 1 && a ? (a = a.call(c, this.B)) && typeof a.then === "function" ? a : as(a) : this.C === 2 && b ? (a = b.call(c, this.B)) && typeof a.then === "function" ? a : $r(a) : this }; + Zr.prototype.getValue = function () { return this.B }; + Zr.prototype.$goog_Thenable = !0; var bs = !1; var ru = qs || rs; var ona = /^([0-9\.]+):([0-9\.]+)$/; g.z(Hs, ib); Hs.prototype.name = "BiscottiError"; g.z(Gs, ib); Gs.prototype.name = "BiscottiMissingError"; var sna = { format: "RAW", method: "GET", timeout: 5E3, withCredentials: !0 }, Is = null; var Dba = ma(["data-"]), Bna = {}; var Iab = 0, Js = g.lc ? "webkit" : km ? "moz" : g.lm ? "ms" : g.GO ? "o" : "", Jab = g.La("ytDomDomGetNextId") || function () { return ++Iab }; + g.Ka("ytDomDomGetNextId", Jab); var Fna = { stopImmediatePropagation: 1, stopPropagation: 1, preventMouseEvent: 1, preventManipulation: 1, preventDefault: 1, layerX: 1, layerY: 1, screenX: 1, screenY: 1, scale: 1, rotation: 1, webkitMovementX: 1, webkitMovementY: 1 }; Ps.prototype.preventDefault = function () { this.event && (this.event.returnValue = !1, this.event.preventDefault && this.event.preventDefault()) }; + Ps.prototype.stopPropagation = function () { this.event && (this.event.cancelBubble = !0, this.event.stopPropagation && this.event.stopPropagation()) }; + Ps.prototype.stopImmediatePropagation = function () { this.event && (this.event.cancelBubble = !0, this.event.stopImmediatePropagation && this.event.stopImmediatePropagation()) }; var Qs = g.Ja.ytEventsEventsListeners || {}; g.Ka("ytEventsEventsListeners", Qs); var Ina = g.Ja.ytEventsEventsCounter || { count: 0 }; g.Ka("ytEventsEventsCounter", Ina); var Mna = $c(function () { + var a = !1; try { + var b = Object.defineProperty({}, "passive", { get: function () { a = !0 } }); + window.addEventListener("test", null, b) + } catch (c) { } return a + }), Jna = $c(function () { + var a = !1; + try { + var b = Object.defineProperty({}, "capture", { get: function () { a = !0 } }); + window.addEventListener("test", null, b) + } catch (c) { } return a + }); var x1; x1 = window; g.Zt = x1.ytcsi && x1.ytcsi.now ? x1.ytcsi.now : x1.performance && x1.performance.timing && x1.performance.now && x1.performance.timing.navigationStart ? function () { return x1.performance.timing.navigationStart + x1.performance.now() } : function () { return (new Date).getTime() }; g.Ya(Vs, g.O); Vs.prototype.Y = function (a) { a.j === void 0 && Gna(a); var b = a.j; a.B === void 0 && Gna(a); this.j = new g.Gd(b, a.B) }; + Vs.prototype.Zt = function () { return this.j || new g.Gd }; + Vs.prototype.qa = function () { if (this.j) { var a = (0, g.Zt)(); if (this.D != 0) { var b = this.K, c = this.j, d = b.x - c.x; b = b.y - c.y; d = Math.sqrt(d * d + b * b) / (a - this.D); this.B[this.C] = Math.abs((d - this.G) / this.G) > .5 ? 1 : 0; for (c = b = 0; c < 4; c++)b += this.B[c] || 0; b >= 3 && this.N(); this.G = d } this.D = a; this.K = this.j; this.C = (this.C + 1) % 4 } }; + Vs.prototype.xa = function () { g.Nr(this.Z); g.Ss(this.ra) }; g.z(Ws, g.O); Ws.prototype.T = function (a, b, c, d, e) { c = g.tr((0, g.Ua)(c, d || this.ob)); c = { target: a, name: b, callback: c }; var f; e && Mna() && (f = { passive: !0 }); a.addEventListener(b, c.callback, f); this.N.push(c); return c }; + Ws.prototype.Oc = function (a) { for (var b = 0; b < this.N.length; b++)if (this.N[b] == a) { this.N.splice(b, 1); a.target.removeEventListener(a.name, a.callback); break } }; + Ws.prototype.xa = function () { g.Ys(this); g.O.prototype.xa.call(this) }; Zs.prototype.clone = function () { var a = new Zs, b; for (b in this) if (this.hasOwnProperty(b)) { var c = this[b]; a[b] = Na(c) == "object" ? g.Fc(c) : c } return a }; var eMa = ["att/get"], oOa = ["embedded_player"], Kab = ["share/get_share_panel"], Lab = ["share/get_web_player_share_panel"], Mab = ["feedback"], Nab = ["notification/modify_channel_preference"], u4a = ["player"], Oab = ["browse/edit_playlist"], Pab = ["subscription/subscribe"], Qab = ["subscription/unsubscribe"], y4a = ["next", "unplugged/watch_next"]; var at; g.$s = $c(function () { try { var a = new Op; var b = a.isAvailable() ? a : null } catch (c) { return null } return b ? new g.Kp(b) : null }); + at = $c(function () { var a = new Vla; return a.isAvailable() ? new g.Kp(a) : null }); gt.prototype.aF = function (a, b) { + a = {}; var c = [], d = g.Pr("enable_first_party_auth_v2") || (b == null ? void 0 : b.sZ) && g.Pr("enable_first_party_auth_v2_on_get_account_menu"); "USER_SESSION_ID" in nr && d && c.push({ key: "u", value: g.pr("USER_SESSION_ID") }); if (c = tfa(c)) a.Authorization = c, c = b = b == null ? void 0 : b.sessionIndex, c === void 0 && (c = Number(g.pr("SESSION_INDEX", 0)), c = isNaN(c) ? 0 : c), g.Pr("voice_search_auth_header_removal") || (a["X-Goog-AuthUser"] = c.toString()), "INNERTUBE_HOST_OVERRIDE" in nr || (a["X-Origin"] = window.location.origin), + b === void 0 && "DELEGATED_SESSION_ID" in nr && (a["X-Goog-PageId"] = g.pr("DELEGATED_SESSION_ID")); return a + }; var Lu = { identityType: "UNAUTHENTICATED_IDENTITY_TYPE_UNKNOWN" }; var lt = g.La("ytglobal.prefsUserPrefsPrefs_") || {}; g.Ka("ytglobal.prefsUserPrefsPrefs_", lt); var ht; g.k = Sna.prototype; g.k.get = function (a, b) { ot(a); nt(a); a = lt[a] !== void 0 ? lt[a].toString() : null; return a != null ? a : b ? b : "" }; + g.k.set = function (a, b) { ot(a); nt(a); if (b == null) throw Error("ExpectedNotNull"); lt[a] = b.toString() }; + g.k.remove = function (a) { ot(a); nt(a); delete lt[a] }; + g.k.save = function () { var a = !0; g.Pr("web_secure_pref_cookie_killswitch") && (a = !1); g.ds(this.j, this.dump(), 63072E3, this.B, a) }; + g.k.clear = function () { g.bba(lt) }; + g.k.dump = function () { var a = [], b; for (b in lt) lt.hasOwnProperty(b) && a.push(b + "=" + encodeURIComponent(String(lt[b]))); return a.join("&") }; + g.k.parse = function (a) { a = decodeURIComponent(a).split("&"); for (var b = 0; b < a.length; b++) { var c = a[b].split("="), d = c[0]; (c = c[1]) && (lt[d] = c.toString()) } }; var Vna = { bluetooth: "CONN_DISCO", cellular: "CONN_CELLULAR_UNKNOWN", ethernet: "CONN_WIFI", none: "CONN_NONE", wifi: "CONN_WIFI", wimax: "CONN_CELLULAR_4G", other: "CONN_UNKNOWN", unknown: "CONN_UNKNOWN", "slow-2g": "CONN_CELLULAR_2G", "2g": "CONN_CELLULAR_2G", "3g": "CONN_CELLULAR_3G", "4g": "CONN_CELLULAR_4G" }, npa = { + CONN_DEFAULT: 0, CONN_UNKNOWN: 1, CONN_NONE: 2, CONN_WIFI: 3, CONN_CELLULAR_2G: 4, CONN_CELLULAR_3G: 5, CONN_CELLULAR_4G: 6, CONN_CELLULAR_UNKNOWN: 7, CONN_DISCO: 8, CONN_CELLULAR_5G: 9, CONN_WIFI_METERED: 10, CONN_CELLULAR_5G_SA: 11, + CONN_CELLULAR_5G_NSA: 12, CONN_WIRED: 30, CONN_INVALID: 31 + }, opa = { EFFECTIVE_CONNECTION_TYPE_UNKNOWN: 0, EFFECTIVE_CONNECTION_TYPE_OFFLINE: 1, EFFECTIVE_CONNECTION_TYPE_SLOW_2G: 2, EFFECTIVE_CONNECTION_TYPE_2G: 3, EFFECTIVE_CONNECTION_TYPE_3G: 4, EFFECTIVE_CONNECTION_TYPE_4G: 5 }, Xna = { "slow-2g": "EFFECTIVE_CONNECTION_TYPE_SLOW_2G", "2g": "EFFECTIVE_CONNECTION_TYPE_2G", "3g": "EFFECTIVE_CONNECTION_TYPE_3G", "4g": "EFFECTIVE_CONNECTION_TYPE_4G" }; g.z(g.pt, Error); tt.prototype.Vi = function (a, b) { return ut(a, 1, b) }; + tt.prototype.s7 = function (a) { (a = this.j.get(a)) && a() }; g.La("yt.scheduler.instance.timerIdMap_"); g.z(wt, tt); wt.prototype.jk = function (a) { if (a === void 0 || !Number.isNaN(Number(a))) { var b = g.La("yt.scheduler.instance.cancelJob"); b ? b(a) : g.Mr(a) } }; + wt.prototype.start = function () { var a = g.La("yt.scheduler.instance.start"); a && a() }; + wt.prototype.pause = function () { var a = g.La("yt.scheduler.instance.pause"); a && a() }; + g.Zo = g.xt(); Bt.prototype.set = function (a, b, c, d) { c = c || 31104E3; this.remove(a); if (this.j) try { this.j.set(a, b, Date.now() + c * 1E3); return } catch (f) { } var e = ""; if (d) try { e = escape(g.Ci(b)) } catch (f) { return } else e = escape(b); g.ds(a, e, c, this.B) }; + Bt.prototype.get = function (a, b) { var c = void 0, d = !this.j; if (!d) try { c = this.j.get(a) } catch (e) { d = !0 } if (d && (c = g.es(a)) && (c = unescape(c), b)) try { c = JSON.parse(c) } catch (e) { this.remove(a), c = void 0 } return c }; + Bt.prototype.remove = function (a) { this.j && this.j.remove(a); g.fs(a, "/", this.B) }; + Bt.prototype.getCreationTime = function (a) { return this.j && (a = (this.j.B(a) || {}).creation, typeof a === "number") ? a : null }; var Ct = function () { var a; return function () { a || (a = new Bt("ytidb")); return a } }(); var It = [], Et, Jt = !1; var y1 = {}, aoa = (y1.AUTH_INVALID = "No user identifier specified.", y1.EXPLICIT_ABORT = "Transaction was explicitly aborted.", y1.IDB_NOT_SUPPORTED = "IndexedDB is not supported.", y1.MISSING_INDEX = "Index not created.", y1.MISSING_OBJECT_STORES = "Object stores not created.", y1.DB_DELETED_BY_MISSING_OBJECT_STORES = "Database is deleted because expected object stores were not created.", y1.DB_REOPENED_BY_MISSING_OBJECT_STORES = "Database is reopened because expected object stores were not created.", y1.UNKNOWN_ABORT = + "Transaction was aborted for unknown reasons.", y1.QUOTA_EXCEEDED = "The current transaction exceeded its quota limitations.", y1.QUOTA_MAYBE_EXCEEDED = "The current transaction may have failed because of exceeding quota limitations.", y1.EXECUTE_TRANSACTION_ON_CLOSED_DB = "Can't start a transaction on a closed database", y1.INCOMPATIBLE_DB_VERSION = "The binary is incompatible with the database version", y1), z1 = {}, boa = (z1.AUTH_INVALID = "ERROR", z1.EXECUTE_TRANSACTION_ON_CLOSED_DB = "WARNING", z1.EXPLICIT_ABORT = "IGNORED", + z1.IDB_NOT_SUPPORTED = "ERROR", z1.MISSING_INDEX = "WARNING", z1.MISSING_OBJECT_STORES = "ERROR", z1.DB_DELETED_BY_MISSING_OBJECT_STORES = "WARNING", z1.DB_REOPENED_BY_MISSING_OBJECT_STORES = "WARNING", z1.QUOTA_EXCEEDED = "WARNING", z1.QUOTA_MAYBE_EXCEEDED = "WARNING", z1.UNKNOWN_ABORT = "WARNING", z1.INCOMPATIBLE_DB_VERSION = "WARNING", z1), A1 = {}, coa = (A1.AUTH_INVALID = !1, A1.EXECUTE_TRANSACTION_ON_CLOSED_DB = !1, A1.EXPLICIT_ABORT = !1, A1.IDB_NOT_SUPPORTED = !1, A1.MISSING_INDEX = !1, A1.MISSING_OBJECT_STORES = !1, A1.DB_DELETED_BY_MISSING_OBJECT_STORES = + !1, A1.DB_REOPENED_BY_MISSING_OBJECT_STORES = !1, A1.QUOTA_EXCEEDED = !1, A1.QUOTA_MAYBE_EXCEEDED = !0, A1.UNKNOWN_ABORT = !0, A1.INCOMPATIBLE_DB_VERSION = !1, A1); g.z(g.Ot, g.pt); g.z(Pt, g.Ot); g.z(Qt, Error); var doa = ["The database connection is closing", "Can't start a transaction on a closed database", "A mutation operation was attempted on a database that did not allow mutations"]; g.Vt.all = function (a) { return new g.Vt(new Ut(function (b, c) { var d = [], e = a.length; e === 0 && b(d); for (var f = { CA: 0 }; f.CA < a.length; f = { CA: f.CA }, ++f.CA)g.Vt.resolve(a[f.CA]).then(function (h) { return function (l) { d[h.CA] = l; e--; e === 0 && b(d) } }(f)).catch(function (h) { c(h) }) })) }; + g.Vt.resolve = function (a) { return new g.Vt(new Ut(function (b, c) { a instanceof g.Vt ? a.then(b, c) : b(a) })) }; + g.Vt.reject = function (a) { return new g.Vt(new Ut(function (b, c) { c(a) })) }; + g.Vt.prototype.then = function (a, b) { var c = this, d = a != null ? a : foa, e = b != null ? b : eoa; return new g.Vt(new Ut(function (f, h) { c.state.status === "PENDING" ? (c.j.push(function () { goa(c, c, d, f, h) }), c.B.push(function () { hoa(c, c, e, f, h) })) : c.state.status === "FULFILLED" ? goa(c, c, d, f, h) : c.state.status === "REJECTED" && hoa(c, c, e, f, h) })) }; + g.Vt.prototype.catch = function (a) { return this.then(void 0, a) }; g.k = noa.prototype; g.k.add = function (a, b, c) { return g.cu(this, [a], { mode: "readwrite", Pb: !0 }, function (d) { return d.objectStore(a).add(b, c) }) }; + g.k.clear = function (a) { return g.cu(this, [a], { mode: "readwrite", Pb: !0 }, function (b) { return b.objectStore(a).clear() }) }; + g.k.close = function () { this.j.close(); var a; ((a = this.options) == null ? 0 : a.closed) && this.options.closed() }; + g.k.count = function (a, b) { return g.cu(this, [a], { mode: "readonly", Pb: !0 }, function (c) { return c.objectStore(a).count(b) }) }; + g.k.delete = function (a, b) { return g.cu(this, [a], { mode: "readwrite", Pb: !0 }, function (c) { return c.objectStore(a).delete(b) }) }; + g.k.get = function (a, b) { return g.cu(this, [a], { mode: "readonly", Pb: !0 }, function (c) { return c.objectStore(a).get(b) }) }; + g.k.getAll = function (a, b, c) { return g.cu(this, [a], { mode: "readonly", Pb: !0 }, function (d) { return d.objectStore(a).getAll(b, c) }) }; + g.k.objectStoreNames = function () { return Array.from(this.j.objectStoreNames) }; + g.k.getName = function () { return this.j.name }; + g.k = $t.prototype; g.k.add = function (a, b) { return Xt(this.j.add(a, b)) }; + g.k.autoIncrement = function () { return this.j.autoIncrement }; + g.k.clear = function () { return Xt(this.j.clear()).then(function () { }) }; + g.k.count = function (a) { return Xt(this.j.count(a)) }; + g.k.delete = function (a) { return a instanceof IDBKeyRange ? roa(this, a) : Xt(this.j.delete(a)) }; + g.k.get = function (a) { return Xt(this.j.get(a)) }; + g.k.getAll = function (a, b) { return "getAll" in IDBObjectStore.prototype ? Xt(this.j.getAll(a, b)) : soa(this, a, b) }; + g.k.index = function (a) { try { return new woa(this.j.index(a)) } catch (b) { if (b instanceof Error && b.name === "NotFoundError") throw new Qt(a, this.j.name); throw b; } }; + g.k.getName = function () { return this.j.name }; + g.k.keyPath = function () { return this.j.keyPath }; + fu.prototype.abort = function () { this.j.abort(); this.B = !0; throw new g.Ot("EXPLICIT_ABORT"); }; + fu.prototype.objectStore = function (a) { a = this.j.objectStore(a); var b = this.C.get(a); b || (b = new $t(a), this.C.set(a, b)); return b }; + g.k = woa.prototype; g.k.count = function (a) { return Xt(this.j.count(a)) }; + g.k.delete = function (a) { return g.ku(this, { query: a }, function (b) { return b.delete().then(function () { return g.iu(b) }) }) }; + g.k.get = function (a) { return Xt(this.j.get(a)) }; + g.k.getAll = function (a, b) { return "getAll" in IDBIndex.prototype ? Xt(this.j.getAll(a, b)) : xoa(this, a, b) }; + g.k.keyPath = function () { return this.j.keyPath }; + g.k.unique = function () { return this.j.unique }; + lu.prototype.delete = function () { return Xt(this.cursor.delete()).then(function () { }) }; + lu.prototype.getValue = function () { return this.cursor.value }; + lu.prototype.update = function (a) { return Xt(this.cursor.update(a)) }; nu.prototype.B = function (a, b, c) { c = c === void 0 ? {} : c; return zoa(a, b, c) }; + nu.prototype.delete = function (a) { a = a === void 0 ? {} : a; return mu(this.name, a) }; + nu.prototype.open = function () { + function a() { + var f, h, l, m, n, p, q, r, t, u; return g.J(function (y) { + switch (y.j) { + case 1: return h = (f = Error().stack) != null ? f : "", g.va(y, 2), g.G(y, c.B(c.name, c.options.version, e), 4); case 4: for (var A = l = y.B, D = c.options, F = [], H = g.w(Object.keys(D.ys)), M = H.next(); !M.done; M = H.next()) { M = M.value; var N = D.ys[M], Q = N.yda === void 0 ? Number.MAX_VALUE : N.yda; !(A.j.version >= N.Hn) || A.j.version >= Q || A.j.objectStoreNames.contains(M) || F.push(M) } m = F; if (m.length === 0) { y.Ha(5); break } n = Object.keys(c.options.ys); + p = l.objectStoreNames(); if (c.G < g.Qr("ytidb_reopen_db_retries", 0)) return c.G++, l.close(), Kt(new g.Ot("DB_REOPENED_BY_MISSING_OBJECT_STORES", { dbName: c.name, expectedObjectStores: n, foundObjectStores: p })), y.return(a()); if (!(c.D < g.Qr("ytidb_remake_db_retries", 1))) { y.Ha(6); break } c.D++; return g.G(y, c.delete(), 7); case 7: return Kt(new g.Ot("DB_DELETED_BY_MISSING_OBJECT_STORES", { dbName: c.name, expectedObjectStores: n, foundObjectStores: p })), y.return(a()); case 6: throw new Pt(p, n); case 5: return y.return(l); case 2: q = + g.xa(y); if (q instanceof DOMException ? q.name !== "VersionError" : "DOMError" in self && q instanceof DOMError ? q.name !== "VersionError" : !(q instanceof Object && "message" in q) || q.message !== "An attempt was made to open a database using a lower version than the existing version.") { y.Ha(8); break } return g.G(y, c.B(c.name, void 0, Object.assign({}, e, { upgrade: void 0 })), 9); case 9: r = y.B; t = r.j.version; if (c.options.version !== void 0 && t > c.options.version + 1) throw r.close(), c.C = !1, Aoa(c, t); return y.return(r); case 8: throw b(), + q instanceof Error && !g.Pr("ytidb_async_stack_killswitch") && (q.stack = q.stack + "\n" + h.substring(h.indexOf("\n") + 1)), St(q, c.name, "", (u = c.options.version) != null ? u : -1); + } + }) + } + function b() { c.j === d && (c.j = void 0) } + var c = this; if (!this.C) throw Aoa(this); if (this.j) return this.j; var d, e = { + blocking: function (f) { f.close() }, + closed: b, Hea: b, upgrade: this.options.upgrade + }; return this.j = d = a() + }; var pu = new nu("YtIdbMeta", { ys: { databases: { Hn: 1 } }, upgrade: function (a, b) { b(1) && g.au(a, "databases", { keyPath: "actualName" }) } }); var vu, uu = new function () { }(new function () { }); new g.oj; g.z(yu, nu); yu.prototype.B = function (a, b, c) { c = c === void 0 ? {} : c; return (this.options.shared ? Joa : Ioa)(a, b, Object.assign({}, c)) }; + yu.prototype.delete = function (a) { a = a === void 0 ? {} : a; return (this.options.shared ? Noa : Koa)(this.name, a) }; var Rab = {}, Poa = g.zu("ytGcfConfig", { + ys: (Rab.coldConfigStore = { Hn: 1 }, Rab.hotConfigStore = { Hn: 1 }, Rab), shared: !1, upgrade: function (a, b) { b(1) && (g.gu(g.au(a, "hotConfigStore", { keyPath: "key", autoIncrement: !0 }), "hotTimestampIndex", "timestamp"), g.gu(g.au(a, "coldConfigStore", { keyPath: "key", autoIncrement: !0 }), "coldTimestampIndex", "timestamp")) }, + version: 1 + }); g.z(Bu, g.O); Bu.prototype.xa = function () { for (var a = g.w(this.B), b = a.next(); !b.done; b = a.next()) { var c = this.j; b = c.indexOf(b.value); b >= 0 && c.splice(b, 1) } this.B.length = 0; g.O.prototype.xa.call(this) }; Hu.prototype.Js = function (a) { this.hotHashData = a; g.Ka("yt.gcf.config.hotHashData", this.hotHashData || null) }; var Sab = typeof TextEncoder !== "undefined" ? new TextEncoder : null, Epa = Sab ? function (a) { return Sab.encode(a) } : function (a) { + a = g.Se(a); + for (var b = new Uint8Array(a.length), c = 0; c < b.length; c++)b[c] = a[c]; return b + }; var Rta = { next: "wn_s", browse: "br_s", search: "sr_s", reel: "r_wrs", player: "ps_s" }, Tta = { next: "wn_r", browse: "br_r", search: "sr_r", reel: "r_wrr", player: "ps_r" }; Pu.prototype.cn = function () { return { version: this.version, args: this.args } }; Tu.prototype.toString = function () { return this.topic }; var Uab = g.La("ytPubsub2Pubsub2Instance") || new g.Gp; g.Gp.prototype.subscribe = g.Gp.prototype.subscribe; g.Gp.prototype.unsubscribeByKey = g.Gp.prototype.uh; g.Gp.prototype.publish = g.Gp.prototype.publish; g.Gp.prototype.clear = g.Gp.prototype.clear; g.Ka("ytPubsub2Pubsub2Instance", Uab); var Wu = g.La("ytPubsub2Pubsub2SubscribedKeys") || {}; g.Ka("ytPubsub2Pubsub2SubscribedKeys", Wu); var Xu = g.La("ytPubsub2Pubsub2TopicToKeys") || {}; g.Ka("ytPubsub2Pubsub2TopicToKeys", Xu); var rpa = g.La("ytPubsub2Pubsub2IsAsync") || {}; + g.Ka("ytPubsub2Pubsub2IsAsync", rpa); g.Ka("ytPubsub2Pubsub2SkipSubKey", null); var $u = void 0, Zu = void 0; var Bpa = g.Qr("max_body_size_to_compress", 5E5), Cpa = g.Qr("min_body_size_to_compress", 500), dv = !0, hv = 0, gv = 0, Fpa = g.Qr("compression_performance_threshold_lr", 250), Gpa = g.Qr("slow_compressions_before_abandon_count", 4), bv = !1, cv = new Map, ev = 1, Dpa = !0; g.k = jv.prototype; g.k.writeThenSend = function (a, b) { + var c = this; b = b === void 0 ? {} : b; if (iv(this) && this.j) { + var d = { url: a, options: b, timestamp: this.now(), status: "NEW", sendCount: 0 }; this.Kh.set(d, this.zf).then(function (e) { d.id = e; c.lh.Ih() && c.CF(d) }).catch(function (e) { + c.CF(d); + kv(c, e) + }) + } else this.sendFn(a, b) + }; + g.k.sendThenWrite = function (a, b, c) { + var d = this; b = b === void 0 ? {} : b; if (iv(this) && this.j) { + var e = { url: a, options: b, timestamp: this.now(), status: "NEW", sendCount: 0 }; this.kb && this.kb("nwl_skip_retry") && (e.skipRetry = c); if (this.lh.Ih() || this.kb && this.kb("nwl_aggressive_send_then_write") && !e.skipRetry) { + if (!e.skipRetry) { + var f = b.onError ? b.onError : function () { }; + b.onError = function (h, l) { + return g.J(function (m) { + if (m.j == 1) return g.G(m, d.Kh.set(e, d.zf).catch(function (n) { kv(d, n) }), 2); + f(h, l); g.ua(m) + }) + } + } this.sendFn(a, b, e.skipRetry) + } else this.Kh.set(e, this.zf).catch(function (h) { + d.sendFn(a, b, e.skipRetry); + kv(d, h) + }) + } else this.sendFn(a, b, this.kb && this.kb("nwl_skip_retry") && c) + }; + g.k.sendAndWrite = function (a, b) { + var c = this; b = b === void 0 ? {} : b; if (iv(this) && this.j) { + var d = { url: a, options: b, timestamp: this.now(), status: "NEW", sendCount: 0 }, e = !1, f = b.onSuccess ? b.onSuccess : function () { }; + d.options.onSuccess = function (h, l) { d.id !== void 0 ? c.Kh.Yz(d.id, c.zf) : e = !0; c.lh.Vx && c.kb && c.kb("vss_network_hint") && c.lh.Vx(!0); f(h, l) }; + this.sendFn(d.url, d.options, void 0, !0); this.Kh.set(d, this.zf).then(function (h) { d.id = h; e && c.Kh.Yz(d.id, c.zf) }).catch(function (h) { kv(c, h) }) + } else this.sendFn(a, b, void 0, !0) + }; + g.k.EC = function () { var a = this; if (!iv(this)) throw Error("IndexedDB is not supported: throttleSend"); this.B || (this.B = this.Go.Vi(function () { var b; return g.J(function (c) { if (c.j == 1) return g.G(c, a.Kh.zY("NEW", a.zf), 2); if (c.j != 3) return b = c.B, b ? g.G(c, a.CF(b), 3) : (a.JO(), c.return()); a.B && (a.B = 0, a.EC()); g.ua(c) }) }, this.P2)) }; + g.k.JO = function () { this.Go.jk(this.B); this.B = 0 }; + g.k.CF = function (a) { + var b = this, c; return g.J(function (d) { + switch (d.j) { + case 1: if (!iv(b)) throw Error("IndexedDB is not supported: immediateSend"); if (a.id === void 0) { d.Ha(2); break } return g.G(d, b.Kh.C$(a.id, b.zf), 3); case 3: (c = d.B) || b.xA(Error("The request cannot be found in the database.")); case 2: if (b.pM(a, b.H1)) { d.Ha(4); break } b.xA(Error("Networkless Logging: Stored logs request expired age limit")); if (a.id === void 0) { d.Ha(5); break } return g.G(d, b.Kh.Yz(a.id, b.zf), 5); case 5: return d.return(); case 4: a.skipRetry || + (a = Mpa(b, a)); if (!a) { d.Ha(0); break } if (!a.skipRetry || a.id === void 0) { d.Ha(8); break } return g.G(d, b.Kh.Yz(a.id, b.zf), 8); case 8: b.sendFn(a.url, a.options, !!a.skipRetry), g.ua(d) + } + }) + }; + g.k.pM = function (a, b) { a = a.timestamp; return this.now() - a >= b ? !1 : !0 }; + g.k.sM = function () { var a = this; if (!iv(this)) throw Error("IndexedDB is not supported: retryQueuedRequests"); this.Kh.zY("QUEUED", this.zf).then(function (b) { b && !a.pM(b, a.B1) ? a.Go.Vi(function () { return g.J(function (c) { if (c.j == 1) return b.id === void 0 ? c.Ha(2) : g.G(c, a.Kh.jT(b.id, a.zf), 2); a.sM(); g.ua(c) }) }) : a.lh.Ih() && a.EC() }) }; var lv; var ira = { + accountStateChangeSignedIn: 23, accountStateChangeSignedOut: 24, delayedEventMetricCaptured: 11, latencyActionBaselined: 6, latencyActionInfo: 7, latencyActionTicked: 5, offlineTransferStatusChanged: 2, offlineImageDownload: 335, playbackStartStateChanged: 9, systemHealthCaptured: 3, mangoOnboardingCompleted: 10, mangoPushNotificationReceived: 230, mangoUnforkDbMigrationError: 121, mangoUnforkDbMigrationSummary: 122, mangoUnforkDbMigrationPreunforkDbVersionNumber: 133, mangoUnforkDbMigrationPhoneMetadata: 134, mangoUnforkDbMigrationPhoneStorage: 135, + mangoUnforkDbMigrationStep: 142, mangoAsyncApiMigrationEvent: 223, mangoDownloadVideoResult: 224, mangoHomepageVideoCount: 279, mangoHomeV3State: 295, mangoImageClientCacheHitEvent: 273, sdCardStatusChanged: 98, framesDropped: 12, thumbnailHovered: 13, deviceRetentionInfoCaptured: 14, thumbnailLoaded: 15, backToAppEvent: 318, streamingStatsCaptured: 17, offlineVideoShared: 19, appCrashed: 20, youThere: 21, offlineStateSnapshot: 22, mdxSessionStarted: 25, mdxSessionConnected: 26, mdxSessionDisconnected: 27, bedrockResourceConsumptionSnapshot: 28, + nextGenWatchWatchSwiped: 29, kidsAccountsSnapshot: 30, zeroStepChannelCreated: 31, tvhtml5SearchCompleted: 32, offlineSharePairing: 34, offlineShareUnlock: 35, mdxRouteDistributionSnapshot: 36, bedrockRepetitiveActionTimed: 37, unpluggedDegradationInfo: 229, uploadMp4HeaderMoved: 38, uploadVideoTranscoded: 39, uploadProcessorStarted: 46, uploadProcessorEnded: 47, uploadProcessorReady: 94, uploadProcessorRequirementPending: 95, uploadProcessorInterrupted: 96, uploadFrontendEvent: 241, assetPackDownloadStarted: 41, assetPackDownloaded: 42, + assetPackApplied: 43, assetPackDeleted: 44, appInstallAttributionEvent: 459, playbackSessionStopped: 45, adBlockerMessagingShown: 48, distributionChannelCaptured: 49, dataPlanCpidRequested: 51, detailedNetworkTypeCaptured: 52, sendStateUpdated: 53, receiveStateUpdated: 54, sendDebugStateUpdated: 55, receiveDebugStateUpdated: 56, kidsErrored: 57, mdxMsnSessionStatsFinished: 58, appSettingsCaptured: 59, mdxWebSocketServerHttpError: 60, mdxWebSocketServer: 61, startupCrashesDetected: 62, coldStartInfo: 435, offlinePlaybackStarted: 63, liveChatMessageSent: 225, + liveChatUserPresent: 434, liveChatBeingModerated: 457, liveCreationCameraUpdated: 64, liveCreationEncodingCaptured: 65, liveCreationError: 66, liveCreationHealthUpdated: 67, liveCreationVideoEffectsCaptured: 68, liveCreationStageOccured: 75, liveCreationBroadcastScheduled: 123, liveCreationArchiveReplacement: 149, liveCreationCostreamingConnection: 421, liveCreationStreamWebrtcStats: 288, mdxSessionRecoveryStarted: 69, mdxSessionRecoveryCompleted: 70, mdxSessionRecoveryStopped: 71, visualElementShown: 72, visualElementHidden: 73, + visualElementGestured: 78, visualElementStateChanged: 208, screenCreated: 156, playbackAssociated: 202, visualElementAttached: 215, playbackContextEvent: 214, cloudCastingPlaybackStarted: 74, webPlayerApiCalled: 76, tvhtml5AccountDialogOpened: 79, foregroundHeartbeat: 80, foregroundHeartbeatScreenAssociated: 111, kidsOfflineSnapshot: 81, mdxEncryptionSessionStatsFinished: 82, playerRequestCompleted: 83, liteSchedulerStatistics: 84, mdxSignIn: 85, spacecastMetadataLookupRequested: 86, spacecastBatchLookupRequested: 87, spacecastSummaryRequested: 88, + spacecastPlayback: 89, spacecastDiscovery: 90, tvhtml5LaunchUrlComponentChanged: 91, mdxBackgroundPlaybackRequestCompleted: 92, mdxBrokenAdditionalDataDeviceDetected: 93, tvhtml5LocalStorage: 97, tvhtml5DeviceStorageStatus: 147, autoCaptionsAvailable: 99, playbackScrubbingEvent: 339, flexyState: 100, interfaceOrientationCaptured: 101, mainAppBrowseFragmentCache: 102, offlineCacheVerificationFailure: 103, offlinePlaybackExceptionDigest: 217, vrCopresenceStats: 104, vrCopresenceSyncStats: 130, vrCopresenceCommsStats: 137, vrCopresencePartyStats: 153, + vrCopresenceEmojiStats: 213, vrCopresenceEvent: 141, vrCopresenceFlowTransitEvent: 160, vrCowatchPartyEvent: 492, vrCowatchUserStartOrJoinEvent: 504, vrPlaybackEvent: 345, kidsAgeGateTracking: 105, offlineDelayAllowedTracking: 106, mainAppAutoOfflineState: 107, videoAsThumbnailDownload: 108, videoAsThumbnailPlayback: 109, liteShowMore: 110, renderingError: 118, kidsProfilePinGateTracking: 119, abrTrajectory: 124, scrollEvent: 125, streamzIncremented: 126, kidsProfileSwitcherTracking: 127, kidsProfileCreationTracking: 129, buyFlowStarted: 136, + mbsConnectionInitiated: 138, mbsPlaybackInitiated: 139, mbsLoadChildren: 140, liteProfileFetcher: 144, mdxRemoteTransaction: 146, reelPlaybackError: 148, reachabilityDetectionEvent: 150, mobilePlaybackEvent: 151, courtsidePlayerStateChanged: 152, musicPersistentCacheChecked: 154, musicPersistentCacheCleared: 155, playbackInterrupted: 157, playbackInterruptionResolved: 158, fixFopFlow: 159, anrDetection: 161, backstagePostCreationFlowEnded: 162, clientError: 163, gamingAccountLinkStatusChanged: 164, liteHousewarming: 165, buyFlowEvent: 167, + kidsParentalGateTracking: 168, kidsSignedOutSettingsStatus: 437, kidsSignedOutPauseHistoryFixStatus: 438, tvhtml5WatchdogViolation: 444, ypcUpgradeFlow: 169, yongleStudy: 170, ypcUpdateFlowStarted: 171, ypcUpdateFlowCancelled: 172, ypcUpdateFlowSucceeded: 173, ypcUpdateFlowFailed: 174, liteGrowthkitPromo: 175, paymentFlowStarted: 341, transactionFlowShowPaymentDialog: 405, transactionFlowStarted: 176, transactionFlowSecondaryDeviceStarted: 222, transactionFlowSecondaryDeviceSignedOutStarted: 383, transactionFlowCancelled: 177, transactionFlowPaymentCallBackReceived: 387, + transactionFlowPaymentSubmitted: 460, transactionFlowPaymentSucceeded: 329, transactionFlowSucceeded: 178, transactionFlowFailed: 179, transactionFlowPlayBillingConnectionStartEvent: 428, transactionFlowSecondaryDeviceSuccess: 458, transactionFlowErrorEvent: 411, liteVideoQualityChanged: 180, watchBreakEnablementSettingEvent: 181, watchBreakFrequencySettingEvent: 182, videoEffectsCameraPerformanceMetrics: 183, adNotify: 184, startupTelemetry: 185, playbackOfflineFallbackUsed: 186, outOfMemory: 187, ypcPauseFlowStarted: 188, ypcPauseFlowCancelled: 189, + ypcPauseFlowSucceeded: 190, ypcPauseFlowFailed: 191, uploadFileSelected: 192, ypcResumeFlowStarted: 193, ypcResumeFlowCancelled: 194, ypcResumeFlowSucceeded: 195, ypcResumeFlowFailed: 196, adsClientStateChange: 197, ypcCancelFlowStarted: 198, ypcCancelFlowCancelled: 199, ypcCancelFlowSucceeded: 200, ypcCancelFlowFailed: 201, ypcCancelFlowGoToPaymentProcessor: 402, ypcDeactivateFlowStarted: 320, ypcRedeemFlowStarted: 203, ypcRedeemFlowCancelled: 204, ypcRedeemFlowSucceeded: 205, ypcRedeemFlowFailed: 206, ypcFamilyCreateFlowStarted: 258, + ypcFamilyCreateFlowCancelled: 259, ypcFamilyCreateFlowSucceeded: 260, ypcFamilyCreateFlowFailed: 261, ypcFamilyManageFlowStarted: 262, ypcFamilyManageFlowCancelled: 263, ypcFamilyManageFlowSucceeded: 264, ypcFamilyManageFlowFailed: 265, restoreContextEvent: 207, embedsAdEvent: 327, autoplayTriggered: 209, clientDataErrorEvent: 210, experimentalVssValidation: 211, tvhtml5TriggeredEvent: 212, tvhtml5FrameworksFieldTrialResult: 216, tvhtml5FrameworksFieldTrialStart: 220, musicOfflinePreferences: 218, watchTimeSegment: 219, appWidthLayoutError: 221, + accountRegistryChange: 226, userMentionAutoCompleteBoxEvent: 227, downloadRecommendationEnablementSettingEvent: 228, musicPlaybackContentModeChangeEvent: 231, offlineDbOpenCompleted: 232, kidsFlowEvent: 233, kidsFlowCorpusSelectedEvent: 234, videoEffectsEvent: 235, unpluggedOpsEogAnalyticsEvent: 236, playbackAudioRouteEvent: 237, interactionLoggingDebugModeError: 238, offlineYtbRefreshed: 239, kidsFlowError: 240, musicAutoplayOnLaunchAttempted: 242, deviceContextActivityEvent: 243, deviceContextEvent: 244, templateResolutionException: 245, + musicSideloadedPlaylistServiceCalled: 246, embedsStorageAccessNotChecked: 247, embedsHasStorageAccessResult: 248, embedsItpPlayedOnReload: 249, embedsRequestStorageAccessResult: 250, embedsShouldRequestStorageAccessResult: 251, embedsRequestStorageAccessState: 256, embedsRequestStorageAccessFailedState: 257, embedsItpWatchLaterResult: 266, searchSuggestDecodingPayloadFailure: 252, siriShortcutActivated: 253, tvhtml5KeyboardPerformance: 254, latencyActionSpan: 255, elementsLog: 267, ytbFileOpened: 268, tfliteModelError: 269, apiTest: 270, + yongleUsbSetup: 271, touStrikeInterstitialEvent: 272, liteStreamToSave: 274, appBundleClientEvent: 275, ytbFileCreationFailed: 276, adNotifyFailure: 278, ytbTransferFailed: 280, blockingRequestFailed: 281, liteAccountSelector: 282, liteAccountUiCallbacks: 283, dummyPayload: 284, browseResponseValidationEvent: 285, entitiesError: 286, musicIosBackgroundFetch: 287, mdxNotificationEvent: 289, layersValidationError: 290, musicPwaInstalled: 291, liteAccountCleanup: 292, html5PlayerHealthEvent: 293, watchRestoreAttempt: 294, liteAccountSignIn: 296, + notaireEvent: 298, kidsVoiceSearchEvent: 299, adNotifyFilled: 300, delayedEventDropped: 301, analyticsSearchEvent: 302, systemDarkThemeOptOutEvent: 303, flowEvent: 304, networkConnectivityBaselineEvent: 305, ytbFileImported: 306, downloadStreamUrlExpired: 307, directSignInEvent: 308, lyricImpressionEvent: 309, accessibilityStateEvent: 310, tokenRefreshEvent: 311, genericAttestationExecution: 312, tvhtml5VideoSeek: 313, unpluggedAutoPause: 314, scrubbingEvent: 315, bedtimeReminderEvent: 317, tvhtml5UnexpectedRestart: 319, tvhtml5StabilityTraceEvent: 478, + tvhtml5OperationHealth: 467, tvhtml5WatchKeyEvent: 321, voiceLanguageChanged: 322, tvhtml5LiveChatStatus: 323, parentToolsCorpusSelectedEvent: 324, offerAdsEnrollmentInitiated: 325, networkQualityIntervalEvent: 326, deviceStartupMetrics: 328, heartbeatActionPlayerTransitioned: 330, tvhtml5Lifecycle: 331, heartbeatActionPlayerHalted: 332, adaptiveInlineMutedSettingEvent: 333, mainAppLibraryLoadingState: 334, thirdPartyLogMonitoringEvent: 336, appShellAssetLoadReport: 337, tvhtml5AndroidAttestation: 338, tvhtml5StartupSoundEvent: 340, + iosBackgroundRefreshTask: 342, iosBackgroundProcessingTask: 343, sliEventBatch: 344, postImpressionEvent: 346, musicSideloadedPlaylistExport: 347, idbUnexpectedlyClosed: 348, voiceSearchEvent: 349, mdxSessionCastEvent: 350, idbQuotaExceeded: 351, idbTransactionEnded: 352, idbTransactionAborted: 353, tvhtml5KeyboardLogging: 354, idbIsSupportedCompleted: 355, creatorStudioMobileEvent: 356, idbDataCorrupted: 357, parentToolsAppChosenEvent: 358, webViewBottomSheetResized: 359, activeStateControllerScrollPerformanceSummary: 360, navigatorValidation: 361, + mdxSessionHeartbeat: 362, clientHintsPolyfillDiagnostics: 363, clientHintsPolyfillEvent: 364, proofOfOriginTokenError: 365, kidsAddedAccountSummary: 366, musicWearableDevice: 367, ypcRefundFlowEvent: 368, tvhtml5PlaybackMeasurementEvent: 369, tvhtml5WatermarkMeasurementEvent: 370, clientExpGcfPropagationEvent: 371, mainAppReferrerIntent: 372, leaderLockEnded: 373, leaderLockAcquired: 374, googleHatsEvent: 375, persistentLensLaunchEvent: 376, parentToolsChildWelcomeChosenEvent: 378, browseThumbnailPreloadEvent: 379, finalPayload: 380, + mdxDialAdditionalDataUpdateEvent: 381, webOrchestrationTaskLifecycleRecord: 382, startupSignalEvent: 384, accountError: 385, gmsDeviceCheckEvent: 386, accountSelectorEvent: 388, accountUiCallbacks: 389, mdxDialAdditionalDataProbeEvent: 390, downloadsSearchIcingApiStats: 391, downloadsSearchIndexUpdatedEvent: 397, downloadsSearchIndexSnapshot: 398, dataPushClientEvent: 392, kidsCategorySelectedEvent: 393, mdxDeviceManagementSnapshotEvent: 394, prefetchRequested: 395, prefetchableCommandExecuted: 396, gelDebuggingEvent: 399, webLinkTtsPlayEnd: 400, + clipViewInvalid: 401, persistentStorageStateChecked: 403, cacheWipeoutEvent: 404, playerEvent: 410, sfvEffectPipelineStartedEvent: 412, sfvEffectPipelinePausedEvent: 429, sfvEffectPipelineEndedEvent: 413, sfvEffectChosenEvent: 414, sfvEffectLoadedEvent: 415, sfvEffectUserInteractionEvent: 465, sfvEffectFirstFrameProcessedLatencyEvent: 416, sfvEffectAggregatedFramesProcessedLatencyEvent: 417, sfvEffectAggregatedFramesDroppedEvent: 418, sfvEffectPipelineErrorEvent: 430, sfvEffectGraphFrozenEvent: 419, sfvEffectGlThreadBlockedEvent: 420, + mdeVideoChangedEvent: 442, mdePlayerPerformanceMetrics: 472, mdeExporterEvent: 497, genericClientExperimentEvent: 423, homePreloadTaskScheduled: 424, homePreloadTaskExecuted: 425, homePreloadCacheHit: 426, polymerPropertyChangedInObserver: 427, applicationStarted: 431, networkCronetRttBatch: 432, networkCronetRttSummary: 433, repeatChapterLoopEvent: 436, seekCancellationEvent: 462, lockModeTimeoutEvent: 483, externalVideoShareToYoutubeAttempt: 501, parentCodeEvent: 502, offlineTransferStarted: 4, musicOfflineMixtapePreferencesChanged: 16, + mangoDailyNewVideosNotificationAttempt: 40, mangoDailyNewVideosNotificationError: 77, dtwsPlaybackStarted: 112, dtwsTileFetchStarted: 113, dtwsTileFetchCompleted: 114, dtwsTileFetchStatusChanged: 145, dtwsKeyframeDecoderBufferSent: 115, dtwsTileUnderflowedOnNonkeyframe: 116, dtwsBackfillFetchStatusChanged: 143, dtwsBackfillUnderflowed: 117, dtwsAdaptiveLevelChanged: 128, blockingVisitorIdTimeout: 277, liteSocial: 18, mobileJsInvocation: 297, biscottiBasedDetection: 439, coWatchStateChange: 440, embedsVideoDataDidChange: 441, shortsFirst: 443, + cruiseControlEvent: 445, qoeClientLoggingContext: 446, atvRecommendationJobExecuted: 447, tvhtml5UserFeedback: 448, producerProjectCreated: 449, producerProjectOpened: 450, producerProjectDeleted: 451, producerProjectElementAdded: 453, producerProjectElementRemoved: 454, tvhtml5ShowClockEvent: 455, deviceCapabilityCheckMetrics: 456, youtubeClearcutEvent: 461, offlineBrowseFallbackEvent: 463, getCtvTokenEvent: 464, startupDroppedFramesSummary: 466, screenshotEvent: 468, miniAppPlayEvent: 469, elementsDebugCounters: 470, fontLoadEvent: 471, + webKillswitchReceived: 473, webKillswitchExecuted: 474, cameraOpenEvent: 475, manualSmoothnessMeasurement: 476, tvhtml5AppQualityEvent: 477, polymerPropertyAccessEvent: 479, miniAppSdkUsage: 480, cobaltTelemetryEvent: 481, crossDevicePlayback: 482, channelCreatedWithObakeImage: 484, channelEditedWithObakeImage: 485, offlineDeleteEvent: 486, crossDeviceNotificationTransfer: 487, androidIntentEvent: 488, unpluggedAmbientInterludesCounterfactualEvent: 489, keyPlaysPlayback: 490, shortsCreationFallbackEvent: 493, vssData: 491, castMatch: 494, + miniAppPerformanceMetrics: 495, userFeedbackEvent: 496, kidsGuestSessionMismatch: 498, musicSideloadedPlaylistMigrationEvent: 499, sleepTimerSessionFinishEvent: 500, watchEpPromoConflict: 503 + }; var Vab = {}, Wpa = g.zu("ServiceWorkerLogsDatabase", { + ys: (Vab.SWHealthLog = { Hn: 1 }, Vab), shared: !0, upgrade: function (a, b) { b(1) && g.gu(g.au(a, "SWHealthLog", { keyPath: "id", autoIncrement: !0 }), "swHealthNewRequest", ["interface", "timestamp"]) }, + version: 1 + }); var ov = {}, bqa = 0; var pv; rv.prototype.requestComplete = function (a, b) { b && (this.B = !0); a = this.removeParams(a); this.j.get(a) || this.j.set(a, b) }; + rv.prototype.isEndpointCFR = function (a) { a = this.removeParams(a); return (a = this.j.get(a)) ? !1 : a === !1 && this.B ? !0 : null }; + rv.prototype.removeParams = function (a) { return a.split("?")[0] }; + rv.prototype.removeParams = rv.prototype.removeParams; rv.prototype.isEndpointCFR = rv.prototype.isEndpointCFR; rv.prototype.requestComplete = rv.prototype.requestComplete; rv.getInstance = tv; g.z(uv, g.Vc); g.k = uv.prototype; g.k.Ih = function () { return this.j.Ih() }; + g.k.Vx = function (a) { this.j.j = a }; + g.k.p9 = function () { var a = window.navigator.onLine; return a === void 0 ? !0 : a }; + g.k.i8 = function () { this.B = !0 }; + g.k.listen = function (a, b) { return this.j.listen(a, b) }; + g.k.wM = function (a) { + a = Xo(this.j, a); a.then(function (b) { g.Pr("use_cfr_monitor") && tv().requestComplete("generate_204", b) }); + return a + }; + uv.prototype.sendNetworkCheckRequest = uv.prototype.wM; uv.prototype.listen = uv.prototype.listen; uv.prototype.enableErrorFlushing = uv.prototype.i8; uv.prototype.getWindowStatus = uv.prototype.p9; uv.prototype.networkStatusHint = uv.prototype.Vx; uv.prototype.isNetworkAvailable = uv.prototype.Ih; uv.getInstance = eqa; g.z(g.vv, g.Vc); g.vv.prototype.Ih = function () { var a = g.La("yt.networkStatusManager.instance.isNetworkAvailable"); return a ? a.bind(this.B)() : !0 }; + g.vv.prototype.Vx = function (a) { var b = g.La("yt.networkStatusManager.instance.networkStatusHint").bind(this.B); b && b(a) }; + g.vv.prototype.wM = function (a) { var b = this, c; return g.J(function (d) { c = g.La("yt.networkStatusManager.instance.sendNetworkCheckRequest").bind(b.B); return g.Pr("skip_network_check_if_cfr") && tv().isEndpointCFR("generate_204") ? d.return(new Promise(function (e) { var f; b.Vx(((f = window.navigator) == null ? void 0 : f.onLine) || !0); e(b.Ih()) })) : c ? d.return(c(a)) : d.return(!0) }) }; var wv; g.z(xv, jv); xv.prototype.writeThenSend = function (a, b) { b || (b = {}); b = zv(a, b); g.rt() || (this.j = !1); jv.prototype.writeThenSend.call(this, a, b) }; + xv.prototype.sendThenWrite = function (a, b, c) { b || (b = {}); b = zv(a, b); g.rt() || (this.j = !1); jv.prototype.sendThenWrite.call(this, a, b, c) }; + xv.prototype.sendAndWrite = function (a, b) { b || (b = {}); b = zv(a, b); g.rt() || (this.j = !1); jv.prototype.sendAndWrite.call(this, a, b) }; + xv.prototype.awaitInitialization = function () { return this.C.promise }; var jqa = g.Ja.ytNetworklessLoggingInitializationOptions || { isNwlInitialized: !1 }; g.Ka("ytNetworklessLoggingInitializationOptions", jqa); g.Av.prototype.isReady = function () { !this.config_ && fpa() && (this.config_ = g.Ju()); return !!this.config_ }; var Wab, Dv, Fv; Wab = g.Ja.ytPubsubPubsubInstance || new g.Gp; Dv = g.Ja.ytPubsubPubsubSubscribedKeys || {}; Fv = g.Ja.ytPubsubPubsubTopicToKeys || {}; g.Ev = g.Ja.ytPubsubPubsubIsSynchronous || {}; g.Gp.prototype.subscribe = g.Gp.prototype.subscribe; g.Gp.prototype.unsubscribeByKey = g.Gp.prototype.uh; g.Gp.prototype.publish = g.Gp.prototype.publish; g.Gp.prototype.clear = g.Gp.prototype.clear; g.Ka("ytPubsubPubsubInstance", Wab); g.Ka("ytPubsubPubsubTopicToKeys", Fv); g.Ka("ytPubsubPubsubIsSynchronous", g.Ev); + g.Ka("ytPubsubPubsubSubscribedKeys", Dv); var pqa = {}; g.z(Ov, g.O); Ov.prototype.append = function (a) { if (!this.B) throw Error("This does not support the append operation"); a = a.Ib(); this.Ib().appendChild(a) }; + g.z(Pv, Ov); Pv.prototype.Ib = function () { return this.j }; g.z(sqa, g.O); var Qv = Date.now().toString(); var Vv = {}; var $v = Symbol("injectionDeps"); Xv.prototype.toString = function () { return "InjectionToken(" + this.name + ")" }; + wqa.prototype.resolve = function (a) { return a instanceof Yv ? aw(this, a.key, [], !0) : aw(this, a, []) }; var bw; var dw = window; var hw = g.Pr("web_enable_lifecycle_monitoring") && ew() !== 0, Cqa = g.Pr("web_enable_lifecycle_monitoring"); zqa.prototype.cancel = function () { for (var a = g.w(this.j), b = a.next(); !b.done; b = a.next())b = b.value, b.jobId === void 0 || b.dM || this.scheduler.jk(b.jobId), b.dM = !0; this.B.resolve() }; g.k = iw.prototype; g.k.install = function (a) { this.plugins.push(a); return this }; + g.k.uninstall = function () { var a = this; g.Ca.apply(0, arguments).forEach(function (b) { b = a.plugins.indexOf(b); b > -1 && a.plugins.splice(b, 1) }) }; + g.k.transition = function (a, b) { + var c = this; hw && yqa(this.state); var d = this.transitions.find(function (f) { return Array.isArray(f.from) ? f.from.find(function (h) { return h === c.state && f.to === a }) : f.from === c.state && f.to === a }); + if (d) { + this.B && (Aqa(this.B), this.B = void 0); Dqa(this, a, b); this.state = a; hw && fw(this.state); d = d.action.bind(this); var e = this.plugins.filter(function (f) { return f[a] }).map(function (f) { return f[a] }); + d(Bqa(this, e), b) + } else throw Error("no transition specified from " + this.state + " to " + a); + }; + g.k.Ida = function (a) { var b = g.Ca.apply(1, arguments); g.xt(); for (var c = g.w(a), d = c.next(), e = {}; !d.done; e = { bG: void 0 }, d = c.next())e.bG = d.value, Zna(function (f) { return function () { kw(f.bG.name); f.bG.callback.apply(f.bG, g.x(b)); lw(f.bG.name) } }(e)) }; + g.k.Hda = function (a) { + var b = g.Ca.apply(1, arguments), c, d, e, f; return g.J(function (h) { + h.j == 1 && (g.xt(), c = g.w(a), d = c.next(), e = {}); if (h.j != 3) { + if (d.done) return h.Ha(0); e.dB = d.value; e.TI = void 0; f = function (l) { return function () { kw(l.dB.name); var m = l.dB.callback.apply(l.dB, g.x(b)); typeof (m == null ? void 0 : m.then) === "function" ? l.TI = m.then(function () { lw(l.dB.name) }) : lw(l.dB.name) } }(e); + Zna(f); return e.TI ? g.G(h, e.TI, 3) : h.Ha(3) + } e = { dB: void 0, TI: void 0 }; d = c.next(); return h.Ha(2) + }) + }; + g.k.j2 = function (a) { + var b = g.Ca.apply(1, arguments), c = this, d = a.map(function (e) { + return { + cR: function () { kw(e.name); e.callback.apply(e, g.x(b)); lw(e.name) }, + priority: jw(c, e) + } + }); + d.length && (this.B = new zqa(d)) + }; + g.da.Object.defineProperties(iw.prototype, { currentState: { configurable: !0, enumerable: !0, get: function () { return this.state } } }); var nw; g.z(mw, iw); mw.prototype.G = function (a, b) { + var c = this; this.j = g.vt(0, function () { c.currentState === "application_navigating" && c.transition("none") }, 5E3); + a(b == null ? void 0 : b.event) + }; + mw.prototype.K = function (a, b) { this.j && (g.Zo.jk(this.j), this.j = null); a(b == null ? void 0 : b.event) }; var Pw = []; g.Ka("yt.logging.transport.getScrapedGelPayloads", function () { return Pw }); ow.prototype.storePayload = function (a, b) { a = pw(a); this.store[a] ? this.store[a].push(b) : (this.B = {}, this.store[a] = [b]); this.j++; return a }; + ow.prototype.smartExtractMatchingEntries = function (a) { + if (!a.keys.length) return []; for (var b = rw(this, a.keys.splice(0, 1)[0]), c = [], d = 0; d < b.length; d++)this.store[b[d]] && a.sizeLimit && (this.store[b[d]].length <= a.sizeLimit ? (c.push.apply(c, g.x(this.store[b[d]])), delete this.store[b[d]]) : c.push.apply(c, g.x(this.store[b[d]].splice(0, a.sizeLimit)))); this.j -= c.length; (a == null ? 0 : a.sizeLimit) && c.length < (a == null ? void 0 : a.sizeLimit) && (a.sizeLimit -= c.length, c.push.apply(c, g.x(this.smartExtractMatchingEntries(a)))); + return c + }; + ow.prototype.extractMatchingEntries = function (a) { a = rw(this, a); for (var b = [], c = 0; c < a.length; c++)this.store[a[c]] && (b.push.apply(b, g.x(this.store[a[c]])), delete this.store[a[c]]); this.j -= b.length; return b }; + ow.prototype.getSequenceCount = function (a) { a = rw(this, a); for (var b = 0, c = 0; c < a.length; c++) { var d = void 0; b += ((d = this.store[a[c]]) == null ? void 0 : d.length) || 0 } return b }; + ow.prototype.getSequenceCount = ow.prototype.getSequenceCount; ow.prototype.extractMatchingEntries = ow.prototype.extractMatchingEntries; ow.prototype.smartExtractMatchingEntries = ow.prototype.smartExtractMatchingEntries; ow.prototype.storePayload = ow.prototype.storePayload; var Vqa = g.Qr("initial_gel_batch_timeout", 2E3), Uqa = g.Qr("gel_queue_timeout_max_ms", 6E4), dra = Math.pow(2, 16) - 1, Wqa = g.Qr("gel_min_batch_size", 5), Bw = void 0, hra = new tw, gra = new tw, Tqa = new tw, Sqa = new tw, Dw, Lw = !0, Ow = 1, vw = new Map, Jw = g.Ja.ytLoggingTransportTokensToCttTargetIds_ || {}; g.Ka("ytLoggingTransportTokensToCttTargetIds_", Jw); var Iw = g.Ja.ytLoggingTransportTokensToJspbCttTargetIds_ || {}; g.Ka("ytLoggingTransportTokensToJspbCttTargetIds_", Iw); var yw = {}, Fqa = !1; var Qw = g.Ja.ytLoggingGelSequenceIdObj_ || {}; g.Ka("ytLoggingGelSequenceIdObj_", Qw); var Qra = []; var vra, B1 = g.Ja.ytLoggingDocDocumentNonce_; B1 || (B1 = g.Sv(16), g.Ka("ytLoggingDocDocumentNonce_", B1)); vra = B1; var sra = { s4: 0, Jga: 1, Yga: 2, K6: 3, hha: 4, Mla: 5, Bja: 6, SHARE: 7, lka: 8, yka: 9, 0: "DEFAULT", 1: "CHAT", 2: "CONVERSATIONS", 3: "MINIPLAYER", 4: "DIALOG", 5: "VOZ", 6: "MUSIC_WATCH_TABS", 7: "SHARE", 8: "PUSH_NOTIFICATIONS", 9: "RICH_GRID_WATCH" }; var lra = 1; g.k = Sw.prototype; g.k.getAsJson = function () { var a = {}; this.j.trackingParams !== void 0 ? a.trackingParams = this.j.trackingParams : (a.veType = this.j.veType, this.j.veCounter !== void 0 && (a.veCounter = this.j.veCounter), this.j.elementIndex !== void 0 && (a.elementIndex = this.j.elementIndex)); this.j.dataElement !== void 0 && (a.dataElement = this.j.dataElement.getAsJson()); this.j.youtubeData !== void 0 && (a.youtubeData = this.j.youtubeData); this.j.isCounterfactual && (a.isCounterfactual = !0); return a }; + g.k.getAsJspb = function () { var a = new er; this.j.trackingParams !== void 0 ? a.setTrackingParams(this.j.trackingParams) : (this.j.veType !== void 0 && ig(a, 2, Gf(this.j.veType)), this.j.veCounter !== void 0 && ig(a, 6, Gf(this.j.veCounter)), this.j.elementIndex !== void 0 && ig(a, 3, Gf(this.j.elementIndex)), this.j.isCounterfactual && ig(a, 5, Ef(!0))); if (this.j.dataElement !== void 0) { var b = this.j.dataElement.getAsJspb(); Eg(a, er, 7, b) } this.j.youtubeData !== void 0 && Eg(a, Ema, 8, this.j.jspbYoutubeData); return a }; + g.k.toString = function () { return JSON.stringify(this.getAsJson()) }; + g.k.isClientVe = function () { return !this.j.trackingParams && !!this.j.veType }; + g.k.getLoggingDirectives = function () { return this.j.loggingDirectives }; g.Ka("yt_logging_screen.getRootVeType", pra); g.Ka("yt_logging_screen.getCurrentCsn", g.Ww); g.Ka("yt_logging_screen.getCttAuthInfo", Xw); g.Ka("yt_logging_screen.setCurrentScreen", wra); var zra = "absolute_experiments app conditional_experiments debugcss debugjs expflag forced_experiments pbj pbjreload sbb spf spfreload sr_bns_address sttick".split(" "); var Jra = [{ + uR: function (a) { return "Cannot read property '" + a.key + "'" }, + RL: { + Error: [{ Pj: /(Permission denied) to access property "([^']+)"/, groups: ["reason", "key"] }], TypeError: [{ Pj: /Cannot read property '([^']+)' of (null|undefined)/, groups: ["key", "value"] }, { Pj: /\u65e0\u6cd5\u83b7\u53d6\u672a\u5b9a\u4e49\u6216 (null|undefined) \u5f15\u7528\u7684\u5c5e\u6027\u201c([^\u201d]+)\u201d/, groups: ["value", "key"] }, { + Pj: /\uc815\uc758\ub418\uc9c0 \uc54a\uc74c \ub610\ub294 (null|undefined) \ucc38\uc870\uc778 '([^']+)' \uc18d\uc131\uc744 \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4./, + groups: ["value", "key"] + }, { Pj: /No se puede obtener la propiedad '([^']+)' de referencia nula o sin definir/, groups: ["key"] }, { Pj: /Unable to get property '([^']+)' of (undefined or null) reference/, groups: ["key", "value"] }, { Pj: /(null) is not an object \(evaluating '(?:([^.]+)\.)?([^']+)'\)/, groups: ["value", "base", "key"] }] + } + }, { + uR: function (a) { return "Cannot call '" + a.key + "'" }, + RL: { + TypeError: [{ Pj: /(?:([^ ]+)?\.)?([^ ]+) is not a function/, groups: ["base", "key"] }, { Pj: /([^ ]+) called on (null or undefined)/, groups: ["key", "value"] }, { Pj: /Object (.*) has no method '([^ ]+)'/, groups: ["base", "key"] }, { Pj: /Object doesn't support property or method '([^ ]+)'/, groups: ["key"] }, { Pj: /\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f '([^']+)' \u30d7\u30ed\u30d1\u30c6\u30a3\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093/, groups: ["key"] }, + { Pj: /\uac1c\uccb4\uac00 '([^']+)' \uc18d\uc131\uc774\ub098 \uba54\uc11c\ub4dc\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4./, groups: ["key"] }] + } + }, { + uR: function (a) { return a.key + " is not defined" }, + RL: { ReferenceError: [{ Pj: /(.*) is not defined/, groups: ["key"] }, { Pj: /Can't find variable: (.*)/, groups: ["key"] }] } + }]; var Dra = { ws: [], Ft: [{ callback: Ara, weight: 500 }] }; var Zw; var gx = new g.Gp; var Gra = g.Ja.ytLoggingGelSequenceIdObj_ || {}; g.Ka("ytLoggingGelSequenceIdObj_", Gra); var Kra = new Set, Hra = 0, Nra = 0, Mra = 0, Ira = [], Rra = ["PhantomJS", "Googlebot", "TO STOP THIS SECURITY SCAN go/scan"]; var Tra = new g.Mq("parallelCommand"); var Wra = new g.Mq("performOnceCommand"); var Vra = new g.Mq("serialCommand"); var jx = void 0; var Xab = g.w(function (a, b) { + var c = ola(a); t$a++; var d = c[g.To]; d.JX = b != null ? b : "[signal]"; return [function () { u$a++; return c() }, + function (e) { v$a++; if (e && e[C$a]) { e = e[C$a]; if (!kla()) throw Error(); qla(d, e(d.value)) } else qla(d, e) }] + }(null)); + Xab.next(); Xab.next(); g.z(mx, Pu); var qpa = new Tu("screen-created", mx), xx = [], Yra = dsa, yx = 0, ox = new Map, px = new Map, qx = new Map; g.Ya(g.Fx, g.O); g.Fx.prototype.subscribe = function (a, b, c) { return this.La() ? 0 : this.Fj.subscribe(a, b, c) }; + g.Fx.prototype.unsubscribe = function (a, b, c) { return this.La() ? !1 : this.Fj.unsubscribe(a, b, c) }; + g.Fx.prototype.uh = function (a) { return this.La() ? !1 : this.Fj.uh(a) }; + g.Fx.prototype.publish = function (a, b) { return this.La() ? !1 : this.Fj.publish.apply(this.Fj, arguments) }; var PVa = 16 / 9, Yab = [.25, .5, .75, 1, 1.25, 1.5, 1.75, 2], Zab = Yab.concat([3, 4, 5, 6, 7, 8, 9, 10, 15]); var esa = 1; g.z(g.Jx, g.O); g.k = g.Jx.prototype; + g.k.createElement = function (a, b) { + b = b || a.I === "svg"; var c = a.S, d = a.Na; if (b) { var e = document.createElementNS("http://www.w3.org/2000/svg", a.I); g.eP && (a.X || (a.X = {}), a.X.focusable = "false") } else e = g.je(a.I); if (c) { if (c = Kx(this, e, "class", c)) Lx(this, e, "class", c), this.Jb[c] = e } else if (d) { c = g.w(d); for (var f = c.next(); !f.done; f = c.next())this.Jb[f.value] = e; Lx(this, e, "class", d.join(" ")) } d = a.va; c = a.V; if (d) b = Kx(this, e, "child", d), b !== void 0 && e.appendChild(g.ke(b)); else if (c) for (d = 0, c = g.w(c), f = c.next(); !f.done; f = c.next())if (f = + f.value) if (typeof f === "string") f = Kx(this, e, "child", f), f != null && e.appendChild(g.ke(f)); else if (f.element) e.appendChild(f.element); else { var h = f; f = this.createElement(h, b); e.appendChild(f); h.Fc && (h = Ix(), f.id = h, f = document.createElementNS("http://www.w3.org/2000/svg", "use"), f.setAttribute("class", "ytp-svg-shadow"), f.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + h), oe(e, f, d++)) } if (a = a.X) for (b = e, d = g.w(Object.keys(a)), c = d.next(); !c.done; c = d.next())c = c.value, f = a[c], Lx(this, b, c, typeof f === "string" ? + Kx(this, b, c, f) : f); return e + }; + g.k.Ea = function (a) { return this.Jb[a] }; + g.k.Ja = function (a, b) { typeof b === "number" ? oe(a, this.element, b) : a.appendChild(this.element) }; + g.k.detach = function () { g.pe(this.element) }; + g.k.update = function (a) { for (var b = g.w(Object.keys(a)), c = b.next(); !c.done; c = b.next())c = c.value, this.updateValue(c, a[c]) }; + g.k.updateValue = function (a, b) { (a = this.ge["{{" + a + "}}"]) && Lx(this, a[0], a[1], b) }; + g.k.xa = function () { this.Jb = {}; this.ge = {}; this.detach(); g.O.prototype.xa.call(this) }; g.z(g.T, g.Jx); g.k = g.T.prototype; g.k.Dd = function (a, b) { this.updateValue(b || "content", a) }; + g.k.show = function () { this.Hb || (g.jm(this.element, "display", ""), this.Hb = !0) }; + g.k.hide = function () { this.Hb && (g.jm(this.element, "display", "none"), this.Hb = !1) }; + g.k.Mc = function (a) { this.Z = a }; + g.k.listen = function (a, b, c) { return this.T(this.element, a, b, c) }; + g.k.T = function (a, b, c, d) { c = (0, g.Ua)(c, d || this); d = { target: a, type: b, listener: c }; this.listeners.push(d); a.addEventListener(b, c); return d }; + g.k.Oc = function (a) { var b = this; this.listeners.forEach(function (c, d) { c === a && (c = b.listeners.splice(d, 1)[0], c.target.removeEventListener(c.type, c.listener)) }) }; + g.k.focus = function () { this.element.focus() }; + g.k.xa = function () { for (; this.listeners.length;) { var a = this.listeners.pop(); a && a.target.removeEventListener(a.type, a.listener) } g.Jx.prototype.xa.call(this) }; g.z(g.Nx, g.T); g.Nx.prototype.subscribe = function (a, b, c) { return this.Ra.subscribe(a, b, c) }; + g.Nx.prototype.unsubscribe = function (a, b, c) { return this.Ra.unsubscribe(a, b, c) }; + g.Nx.prototype.uh = function (a) { return this.Ra.uh(a) }; + g.Nx.prototype.publish = function (a) { return this.Ra.publish.apply(this.Ra, [a].concat(g.x(g.Ca.apply(1, arguments)))) }; var $ab = new WeakSet; g.z(Ox, g.Nx); g.k = Ox.prototype; g.k.bind = function (a) { this.Ya || a.renderer && this.init(a.id, a.renderer, {}, a); return Promise.resolve() }; + g.k.init = function (a, b, c) { this.Ya = a; this.element.setAttribute("id", this.Ya); this.yb && g.np(this.element, this.yb); this.qa = b && b.adRendererCommands; this.Ma = b.interaction; var d; ((d = this.Ma) == null ? 0 : d.onTap) && g.np(this.element, "ytp-ad-component--clickable"); this.macros = c; this.N = b.trackingParams || null; this.K = b.loggingDirectives; this.N != null ? this.createServerVe(this.element, this.N) : this.K && (a = this.element, b = this.K, this.api.createServerVe(a, this, !0), this.api.setTrackingParams(a, b.trackingParams || null)) }; + g.k.clear = function () { }; + g.k.hide = function () { g.Nx.prototype.hide.call(this); (this.N != null || this.K) && this.logVisibility(this.element, !1) }; + g.k.show = function () { g.Nx.prototype.show.call(this); if (!this.Ab) { this.Ab = !0; var a = this.qa && this.qa.impressionCommand, b, c = (b = this.Ma) == null ? void 0 : b.onFirstVisible; a ? this.uH(a) : c && (a = kx(c)) && this.uH(a) } (this.N != null || this.K) && this.logVisibility(this.element, !0) }; + g.k.onClick = function (a) { if ((this.N || this.K) && !$ab.has(a)) { var b = this.element; this.api.hasVe(b) && this.Hb && this.api.logClick(b, this.interactionLoggingClientData); $ab.add(a) } var c = this.qa && this.qa.clickCommand, d; b = (d = this.Ma) == null ? void 0 : d.onTap; if (c) b = this.w1(c), this.uH(b); else { if (d = b) a: { d = this.element; a = a.composedPath(); a = g.w(a); for (c = a.next(); !c.done; c = a.next()) { c = c.value; if (c === d) break; if (c.className.indexOf("ytp-ad-component--clickable") >= 0) { d = !1; break a } } d = !0 } d && (b = kx(b)) && this.uH(b) } }; + g.k.w1 = function (a) { return a }; + g.k.D5 = function (a) { var b = this.Ba; b.N = !0; b.B = a.touches.length; b.j.isActive() && (b.j.stop(), b.G = !0); a = a.touches; b.K = tqa(b, a) || a.length != 1; var c = a.item(0); b.K || !c ? (b.Z = Infinity, b.Y = Infinity) : (b.Z = c.clientX, b.Y = c.clientY); for (c = b.C.length = 0; c < a.length; c++) { var d = a.item(c); b.C.push(d.identifier) } }; + g.k.C5 = function (a) { + var b = this.Ba; a = a.changedTouches.item(0); var c; if (c = gc()) { + c = g.wb(); var d = ""; if (Qaa()) d = /Windows (?:NT|Phone) ([0-9.]+)/, d = (c = d.exec(c)) ? c[1] : "0.0"; else if (gc()) d = /(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/, d = (c = d.exec(c)) && c[1].replace(/_/g, "."); else if (ic()) d = /Mac OS X ([0-9_.]+)/, d = (c = d.exec(c)) ? c[1].replace(/_/g, ".") : "10"; else if (sb(g.wb(), "KaiOS")) d = /(?:KaiOS)\/(\S+)/i, d = (c = d.exec(c)) && c[1]; else if (Paa()) d = /Android\s+([^\);]+)(\)|;)/, d = (c = d.exec(c)) && c[1]; else if (ec() ? Ab.platform === + "Chrome OS" : Cb("CrOS")) d = /(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/, d = (c = d.exec(c)) && c[1]; c = !(g.vb(d || "", 8) >= 0) + } if (c || a && Math.pow(a.clientX - b.Z, 2) + Math.pow(a.clientY - b.Y, 2) > Math.pow(5, 2)) b.D = !0 + }; + g.k.B5 = function (a) { if (this.Ba) { var b = this.Ba, c = a.changedTouches; c && b.N && b.B == 1 && !b.D && !b.G && !b.K && tqa(b, c) && (b.qa = a, b.j.start()); b.B = a.touches.length; b.B === 0 && (b.N = !1, b.D = !1, b.C.length = 0); b.G = !1 } }; + g.k.uH = function (a) { this.layoutId ? this.jb.executeCommand(a, this.layoutId) : g.ex(new g.pt("There is undefined layoutId when calling the runCommand method.", { componentType: this.componentType })) }; + g.k.createServerVe = function (a, b) { this.api.createServerVe(a, this); this.api.setTrackingParams(a, b) }; + g.k.logVisibility = function (a, b) { this.api.hasVe(a) && this.api.logVisibility(a, b, this.interactionLoggingClientData) }; + g.k.xa = function () { this.clear(null); this.Oc(this.ob); for (var a = g.w(this.Fa), b = a.next(); !b.done; b = a.next())this.Oc(b.value); g.Nx.prototype.xa.call(this) }; g.z(gy, Ox); + gy.prototype.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); this.j = b; if (b.text == null && b.icon == null) g.fx(Error("ButtonRenderer did not have text or an icon set.")); else { + switch (b.style || null) { case "STYLE_UNKNOWN": a = "ytp-ad-button-link"; break; default: a = null }a != null && g.np(this.element, a); b.text != null && (a = g.Qx(b.text), g.pb(a) || (this.element.setAttribute("aria-label", a), this.C = new g.Nx({ I: "span", S: "ytp-ad-button-text", va: a }), g.P(this, this.C), this.C.Ja(this.element))); this.api.U().L("use_accessibility_data_on_desktop_player_button") && b.accessibilityData && + b.accessibilityData.accessibilityData && b.accessibilityData.accessibilityData.label && !g.pb(b.accessibilityData.accessibilityData.label) && this.element.setAttribute("aria-label", b.accessibilityData.accessibilityData.label); b.icon != null && (b = fy(b.icon), b != null && (this.B = new g.Nx({ I: "span", S: "ytp-ad-button-icon", V: [b] }), g.P(this, this.B)), this.D ? oe(this.element, this.B.element, 0) : this.B.Ja(this.element)) + } + }; + gy.prototype.clear = function () { this.hide() }; + gy.prototype.onClick = function (a) { Ox.prototype.onClick.call(this, a); a = g.w(zsa(this)); for (var b = a.next(); !b.done; b = a.next())b = b.value, this.layoutId ? this.jb.executeCommand(b, this.layoutId) : g.ex(Error("Missing layoutId for button.")); this.api.onAdUxClicked(this.componentType, this.layoutId) }; g.z(hy, g.O); hy.prototype.xa = function () { this.B && g.Ss(this.B); this.j.clear(); iy = null; g.O.prototype.xa.call(this) }; + hy.prototype.register = function (a, b) { b && this.j.set(a, b) }; + var iy = null; g.z(ly, Ox); + ly.prototype.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); a = b.hoverText || null; b = b.button && g.R(b.button, g.nI) || null; b == null ? g.ex(Error("AdHoverTextButtonRenderer.button was not set in response.")) : (this.button = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), g.P(this, this.button), this.button.init(Dx("button"), b, this.macros), a && this.button.element.setAttribute("aria-label", g.Qx(a)), this.button.Ja(this.element), this.G && !g.mp(this.button.element, "ytp-ad-clickable") && g.np(this.button.element, + "ytp-ad-clickable"), a && (this.B = new g.Nx({ I: "div", S: "ytp-ad-hover-text-container" }), this.D && (b = new g.Nx({ I: "div", S: "ytp-ad-hover-text-callout" }), b.Ja(this.B.element), g.P(this, b)), g.P(this, this.B), this.B.Ja(this.element), b = jy(a), oe(this.B.element, b, 0)), this.show()) + }; + ly.prototype.hide = function () { this.button && this.button.hide(); this.B && this.B.hide(); Ox.prototype.hide.call(this) }; + ly.prototype.show = function () { this.button && this.button.show(); Ox.prototype.show.call(this) }; g.z(ny, Ox); + ny.prototype.init = function (a, b, c) { Ox.prototype.init.call(this, a, b, c); c = (a = b.thumbnail) && my(a) || ""; g.pb(c) ? Math.random() < .01 && g.fx(Error("Found AdImage without valid image URL")) : (this.j ? g.jm(this.element, "backgroundImage", "url(" + c + ")") : ee(this.element, { src: c }), ee(this.element, { alt: a && a.accessibility && a.accessibility.label || "" }), b && b.adRendererCommands && b.adRendererCommands.clickCommand ? this.element.classList.add("ytp-ad-clickable-element") : this.element.classList.remove("ytp-ad-clickable-element"), this.show()) }; + ny.prototype.clear = function () { this.hide() }; g.z(oy, Ox); g.k = oy.prototype; g.k.hide = function () { Ox.prototype.hide.call(this); this.C && this.C.focus() }; + g.k.show = function () { this.C = document.activeElement; Ox.prototype.show.call(this); this.D.focus() }; + g.k.init = function (a, b, c) { Ox.prototype.init.call(this, a, b, c); this.B = b; b.dialogMessages || b.title != null ? b.confirmLabel == null ? g.ex(Error("ConfirmDialogRenderer.confirmLabel was not set.")) : b.cancelLabel == null ? g.ex(Error("ConfirmDialogRenderer.cancelLabel was not set.")) : Dsa(this, b) : g.ex(Error("Neither ConfirmDialogRenderer.title nor ConfirmDialogRenderer.dialogMessages were set.")) }; + g.k.clear = function () { g.Ys(this.j); this.hide() }; + g.k.NR = function () { this.hide() }; + g.k.EN = function () { var a = this.B.cancelEndpoint; a && (this.layoutId ? this.jb.executeCommand(a, this.layoutId) : g.ex(Error("Missing layoutId for confirm dialog."))); this.hide() }; + g.k.OR = function () { var a = this.B.confirmNavigationEndpoint || this.B.confirmEndpoint; a && (this.layoutId ? this.jb.executeCommand(a, this.layoutId) : g.ex(Error("Missing layoutId for confirm dialog."))); this.hide() }; g.z(py, Ox); g.k = py.prototype; + g.k.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); this.C = b; if (b.defaultText == null && b.defaultIcon == null) g.ex(Error("ToggleButtonRenderer must have either text or icon set.")); else if (b.defaultIcon == null && b.toggledIcon != null) g.ex(Error("ToggleButtonRenderer cannot have toggled icon set without a default icon.")); else { + if (b.style) { switch (b.style.styleType) { case "STYLE_UNKNOWN": case "STYLE_DEFAULT": a = "ytp-ad-toggle-button-default-style"; break; default: a = null }a != null && g.np(this.D, a) } a = {}; b.defaultText ? + (c = g.Qx(b.defaultText), g.pb(c) || (a.buttonText = c, this.api.U().experiments.kb("a11y_h5_associate_survey_question") || this.j.setAttribute("aria-label", c), this.api.U().experiments.kb("fix_h5_toggle_button_a11y") && this.B.setAttribute("aria-label", c))) : g.Bm(this.Ga, !1); b.defaultTooltip && (a.tooltipText = b.defaultTooltip, this.j.hasAttribute("aria-label") || this.B.setAttribute("aria-label", b.defaultTooltip)); b.defaultIcon ? (c = fy(b.defaultIcon), this.updateValue("untoggledIconTemplateSpec", c), b.toggledIcon ? (this.ra = + !0, c = fy(b.toggledIcon), this.updateValue("toggledIconTemplateSpec", c)) : (g.Bm(this.Y, !0), g.Bm(this.G, !1)), g.Bm(this.j, !1)) : g.Bm(this.B, !1); g.Bc(a) || this.update(a); b.isToggled && (g.np(this.D, "ytp-ad-toggle-button-toggled"), this.toggleButton(b.isToggled)); qy(this); this.T(this.element, "change", this.GV); this.show() + } + }; + g.k.onClick = function (a) { this.Fa.length > 0 && (this.toggleButton(!this.isToggled()), this.GV()); Ox.prototype.onClick.call(this, a) }; + g.k.GV = function () { g.rp(this.D, "ytp-ad-toggle-button-toggled", this.isToggled()); for (var a = g.w(Esa(this, this.isToggled())), b = a.next(); !b.done; b = a.next())b = b.value, this.layoutId ? this.jb.executeCommand(b, this.layoutId) : g.ex(Error("Missing layoutId for toggle button.")); if (this.isToggled()) this.api.onAdUxClicked("toggle-button", this.layoutId); qy(this) }; + g.k.clear = function () { this.hide() }; + g.k.toggleButton = function (a) { g.rp(this.D, "ytp-ad-toggle-button-toggled", a); this.j.checked = a; qy(this) }; + g.k.isToggled = function () { return this.j.checked }; g.z(ry, Ws); ry.prototype.K = function (a) { if (Array.isArray(a)) { a = g.w(a); for (var b = a.next(); !b.done; b = a.next())b = b.value, b instanceof Fsa && this.D(b) } }; g.z(sy, Ox); g.k = sy.prototype; g.k.init = function (a, b, c) { Ox.prototype.init.call(this, a, b, c); b.reasons ? b.confirmLabel == null ? g.ex(Error("AdFeedbackRenderer.confirmLabel was not set.")) : (b.cancelLabel == null && g.fx(Error("AdFeedbackRenderer.cancelLabel was not set.")), b.title == null && g.fx(Error("AdFeedbackRenderer.title was not set.")), Jsa(this, b)) : g.ex(Error("AdFeedbackRenderer.reasons were not set.")) }; + g.k.clear = function () { Ts(this.G); Ts(this.Y); this.D.length = 0; this.hide() }; + g.k.hide = function () { this.j && this.j.hide(); this.B && this.B.hide(); Ox.prototype.hide.call(this); this.C && this.C.focus() }; + g.k.show = function () { this.j && this.j.show(); this.B && this.B.show(); this.C = document.activeElement; Ox.prototype.show.call(this); this.G.focus() }; + g.k.e0 = function () { this.api.onAdUxClicked("ad-feedback-dialog-close-button", this.layoutId); this.publish("a"); this.hide() }; + g.k.Dca = function () { this.hide() }; + ty.prototype.Ib = function () { return this.j.element }; + ty.prototype.getCommand = function () { return this.B }; + ty.prototype.isChecked = function () { return this.C.checked }; g.z(uy, oy); uy.prototype.NR = function (a) { oy.prototype.NR.call(this, a); this.api.onAdUxClicked("ad-mute-confirm-dialog-close-button") }; + uy.prototype.EN = function (a) { oy.prototype.EN.call(this, a); this.api.onAdUxClicked("ad-mute-confirm-dialog-close-button") }; + uy.prototype.OR = function (a) { oy.prototype.OR.call(this, a); this.api.onAdUxClicked("ad-mute-confirm-dialog-confirm-button"); this.publish("b") }; g.z(vy, Ox); g.k = vy.prototype; + g.k.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); this.G = b; if (b.dialogMessage == null && b.title == null) g.ex(Error("Neither AdInfoDialogRenderer.dialogMessage nor AdInfoDialogRenderer.title was set.")); else { + b.confirmLabel == null && g.fx(Error("AdInfoDialogRenderer.confirmLabel was not set.")); if (a = b.closeOverlayRenderer && g.R(b.closeOverlayRenderer, g.nI) || null) this.j = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, ["ytp-ad-info-dialog-close-button"], "ad-info-dialog-close-button"), + g.P(this, this.j), this.j.init(Dx("button"), a, this.macros), this.j.Ja(this.element); b.title && (a = g.Qx(b.title), this.updateValue("title", a)); if (b.adReasons) for (a = b.adReasons, c = 0; c < a.length; c++) { var d = jy(a[c]); if (!g.pb(d.textContent)) { var e = he("LI"); e.appendChild(d); this.Ka.appendChild(e) } } else g.Bm(this.Ka, !1); b.dialogMessage && (a = jy(b.dialogMessage, !0), this.Wa.appendChild(a)); b.confirmLabel && (a = g.Qx(b.confirmLabel), this.updateValue("confirmLabel", a)); b.muteAdRenderer && (b = g.R(b.muteAdRenderer, g.nI) || null) && + (a = b.navigationEndpoint && g.R(b.navigationEndpoint, oab) || null, c = b.navigationEndpoint && g.R(b.navigationEndpoint, fab) || null, a == null && c == null ? g.fx(Error("AdInfoDialogRenderer.muteAdRenderer was specified but contains neither an AdFeedbackEndpoint, nor a ConfirmDialogEndpoint.")) : (a ? Ksa(this, a) : c && Lsa(this, c), this.C = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, ["ytp-ad-info-dialog-mute-button"], "button", !0), g.P(this, this.C), this.C.init(Dx("button"), b, this.macros), this.C.listen("click", + this.lba, this), this.C.Ja(this.Xa))); Msa(this) + } + }; + g.k.clear = function () { Ts(this.Y); this.hide() }; + g.k.hide = function () { this.B ? this.B.hide() : this.D && this.D.hide(); this.j && this.j.hide(); this.C && this.C.hide(); Ox.prototype.hide.call(this); this.ra && this.ra.focus() }; + g.k.show = function () { this.j && this.j.show(); this.C && this.C.show(); if (!this.Va) { for (var a = g.w(this.G && this.G.impressionEndpoints || []), b = a.next(); !b.done; b = a.next())b = b.value, this.layoutId ? this.jb.executeCommand(b, this.layoutId) : g.ex(Error("Missing layoutId for ad info dialog.")); this.Va = !0 } this.ra = document.activeElement; Ox.prototype.show.call(this); this.Y.focus() }; + g.k.HV = function () { if (this.G && this.G.confirmServiceEndpoint) { var a = this.G.confirmServiceEndpoint; this.layoutId ? this.jb.executeCommand(a, this.layoutId) : g.ex(Error("Missing layoutId for ad info dialog.")) } this.api.onAdUxClicked("ad-info-dialog-close-button", this.layoutId); this.publish("d"); this.hide() }; + g.k.lba = function () { var a = this.B ? this.B : this.D; a && !a.Hb && (this.hide(), a.show()) }; g.z(wy, ly); wy.prototype.init = function (a, b, c) { ly.prototype.init.call(this, a, b, c); a = b.button && g.R(b.button, g.nI) || null; a != null && (Rsa(this, a, c), this.show()) }; + wy.prototype.hide = function () { this.button && this.button.hide(); this.j && this.j.hide(); ly.prototype.hide.call(this) }; + wy.prototype.show = function () { this.button && this.button.show(); ly.prototype.show.call(this) }; + wy.prototype.clear = function () { this.hide() }; g.z(yy, Ox); + yy.prototype.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); this.j = b; this.isTemplated() || g.re(this.element, Px(this.j)); if (b.backgroundImage && (a = (a = b.backgroundImage.thumbnail) ? my(a) : "", c = (c = this.api.getVideoData(1)) && c.fm, a && c && (this.element.style.backgroundImage = "url(" + a + ")", this.element.style.backgroundSize = "100%"), b.style && b.style.adTextStyle)) switch (b.style.adTextStyle.fontSize) { case "AD_FONT_SIZE_MEDIUM": this.element.style.fontSize = "26px" }(a = g.Ud(b.targetId)) && this.element.setAttribute("data-tooltip-target-id", a); + b && b.adRendererCommands && b.adRendererCommands.clickCommand ? this.element.classList.add("ytp-ad-clickable-element") : this.element.classList.remove("ytp-ad-clickable-element"); this.show() + }; + yy.prototype.isTemplated = function () { return this.j.isTemplated || !1 }; + yy.prototype.clear = function () { this.hide() }; var Zsa = { seekableStart: 0, seekableEnd: 1, current: 0 }; g.z(Ay, Ox); Ay.prototype.clear = function () { this.dispose() }; g.z(g.Dy, g.O); g.k = g.Dy.prototype; g.k.show = function (a) { this.state !== 1 && this.state !== 2 && (this.state === 4 && this.GI(), this.state === 5 ? (this.element.show(), this.state = null, this.delay.stop(), this.j && this.j()) : this.element.Hb || (Ey(this, !0), this.state = 1, a ? this.delay.start(a) : this.GI())) }; + g.k.hide = function () { this.state !== 4 && (this.state === 1 || this.state === 2 ? (this.element.hide(), this.state = null, this.delay.stop()) : this.element.Hb && (Ey(this, !0), this.state = 4, this.delay.start(this.C))) }; + g.k.GI = function () { switch (this.state) { case 1: this.element.show(); this.state = 2; this.delay.start(10); break; case 2: Ey(this, !1); this.state = 3; this.delay.start(this.B); break; case 3: this.state = null; this.j && this.j(); break; case 4: this.element.hide(); Ey(this, !1); this.state = 5; this.delay.start(0); break; case 5: if (this.state = null, this.onHidden) this.onHidden() } }; + g.k.stop = function () { for (; this.state !== null && this.state !== 5;)this.delay.stop(), this.GI() }; + g.k.xa = function () { this.element.La() || this.element.element.removeAttribute("aria-hidden"); g.O.prototype.xa.call(this) }; g.z(Fy, Ay); g.k = Fy.prototype; + g.k.init = function (a, b, c) { + Ay.prototype.init.call(this, a, b, c); a = b.durationMilliseconds; typeof a === "number" && a < 0 && g.ex(Error("durationMilliseconds was specified incorrectly in AdPreviewRenderer with a value of: " + a)); this.fb && (this.D ? g.np(this.B.element, "modern-countdown-next-to-thumbnail") : g.np(this.B.element, "countdown-next-to-thumbnail")); a = b.durationMilliseconds; this.Ka = a == null || a === 0 ? this.j.SJ() : a; if (b.templatedCountdown) var d = b.templatedCountdown.templatedAdText; else b.staticPreview && (d = b.staticPreview); + this.C.init(Dx("ad-text"), d, c); (d = this.api.getVideoData(1)) && d.fm && b.thumbnail ? this.G.init(Dx("ad-image"), b.thumbnail, c) : (this.ra.hide(), this.D && this.fb && g.np(this.C.element, "ytp-ad-preview-text-modern-postroll")) + }; + g.k.clear = function () { this.hide() }; + g.k.hide = function () { this.B.hide(); this.C.hide(); this.G.hide(); Cy(this); Ay.prototype.hide.call(this) }; + g.k.show = function () { By(this); this.B.show(); this.C.show(); this.G.show(); Ay.prototype.show.call(this) }; + g.k.Dq = function () { this.hide() }; + g.k.To = function () { if (this.j != null) { var a = this.j.getProgressState(); a != null && a.current != null && (a = 1E3 * a.current, !this.Wa && a >= this.Ka ? (this.Ga.hide(), this.Wa = !0, this.publish("i")) : this.C && this.C.isTemplated() && (a = Math.max(0, Math.ceil((this.Ka - a) / 1E3)), a != this.Xa && (zy(this.C, { TIME_REMAINING: String(a) }), this.Xa = a))) } }; g.z(Hy, Ay); g.k = Hy.prototype; + g.k.init = function (a, b, c) { + Ay.prototype.init.call(this, a, b, c); if (b.image && b.image.thumbnail) if (b.headline) if (b.description) if ((a = b.actionButton && g.R(b.actionButton, g.nI)) && a.navigationEndpoint) { + var d = this.api.getVideoData(2); if (d != null) if (b.image && b.image.thumbnail) { var e = b.image.thumbnail.thumbnails; e != null && e.length > 0 && g.pb(g.Ud(e[0].url)) && (e[0].url = d.profilePicture) } else g.fx(Error("FlyoutCtaRenderer does not have image.thumbnail.")); this.C.init(Dx("ad-image"), b.image, c); this.G.init(Dx("ad-text"), + b.headline, c); this.D.init(Dx("ad-text"), b.description, c); this.B.init(Dx("button"), a, c); c = dp(this.B.element); cp(this.B.element, c + " This link opens in new tab"); this.ra = a.navigationEndpoint; this.api.NF() || this.show(); this.api.U().L("enable_larger_flyout_cta_on_desktop") && (this.Ea("ytp-flyout-cta").classList.add("ytp-flyout-cta-large"), this.Ea("ytp-flyout-cta-body").classList.add("ytp-flyout-cta-body-large"), this.Ea("ytp-flyout-cta-headline-container").classList.add("ytp-flyout-cta-headline-container-dark-background"), + this.Ea("ytp-flyout-cta-description-container").classList.add("ytp-flyout-cta-description-container-dark-background"), this.Ea("ytp-flyout-cta-text-container").classList.add("ytp-flyout-cta-text-container-large"), this.Ea("ytp-flyout-cta-action-button-container").classList.add("ytp-flyout-cta-action-button-container-large"), this.B.element.classList.add("ytp-flyout-cta-action-button-large"), this.B.element.classList.add("ytp-flyout-cta-action-button-rounded-large"), this.Ea("ytp-flyout-cta-icon-container").classList.add("ytp-flyout-cta-icon-container-large")); + this.api.addEventListener("playerUnderlayVisibilityChange", this.IV.bind(this)); this.Ga = b.startMs || 0; By(this) + } else g.ex(Error("FlyoutCtaRenderer has no valid action button.")); else g.ex(Error("FlyoutCtaRenderer has no description AdText.")); else g.ex(Error("FlyoutCtaRenderer has no headline AdText.")); else g.fx(Error("FlyoutCtaRenderer has no image.")) + }; + g.k.onClick = function (a) { Ay.prototype.onClick.call(this, a); this.api.pauseVideo(); !g.qe(this.B.element, a.target) && this.ra && (this.layoutId ? this.jb.executeCommand(this.ra, this.layoutId) : g.ex(Error("Missing layoutId for flyout cta."))) }; + g.k.To = function () { if (this.j) { var a = this.j.getProgressState(); (a && a.current || this.Ka) && 1E3 * a.current >= this.Ga && (Cy(this), g.pp(this.element, "ytp-flyout-cta-inactive"), this.B.element.removeAttribute("tabIndex")) } }; + g.k.Dq = function () { this.clear() }; + g.k.clear = function () { this.hide(); this.api.removeEventListener("playerUnderlayVisibilityChange", this.IV.bind(this)) }; + g.k.show = function () { this.B && this.B.show(); Ay.prototype.show.call(this) }; + g.k.hide = function () { this.B && this.B.hide(); Ay.prototype.hide.call(this) }; + g.k.IV = function (a) { a == "hidden" ? this.show() : this.hide() }; g.z(Iy, Ox); g.k = Iy.prototype; + g.k.init = function (a, b, c) { Ox.prototype.init.call(this, a, b, c); this.j = b; if (this.j.rectangle) for (a = this.j.likeButton && g.R(this.j.likeButton, v1), b = this.j.dislikeButton && g.R(this.j.dislikeButton, v1), this.C.init(Dx("toggle-button"), a, c), this.B.init(Dx("toggle-button"), b, c), this.T(this.element, "change", this.JV), this.D.show(100), this.show(), c = g.w(this.j && this.j.impressionCommands || []), a = c.next(); !a.done; a = c.next())a = a.value, this.layoutId ? this.jb.executeCommand(a, this.layoutId) : g.ex(Error("Missing layoutId for instream user sentiment.")) }; + g.k.clear = function () { this.hide() }; + g.k.hide = function () { this.C.hide(); this.B.hide(); Ox.prototype.hide.call(this) }; + g.k.show = function () { this.C.show(); this.B.show(); Ox.prototype.show.call(this) }; + g.k.JV = function () { xla(this.element, "ytp-ad-instream-user-sentiment-selected"); this.j.postMessageAction && this.api.ib("onYtShowToast", this.j.postMessageAction); this.D.hide() }; + g.k.onClick = function (a) { this.Fa.length > 0 && this.JV(); Ox.prototype.onClick.call(this, a) }; g.z(Jy, g.O); g.k = Jy.prototype; g.k.xa = function () { this.reset(); g.O.prototype.xa.call(this) }; + g.k.reset = function () { g.Ys(this.D); this.K = !1; this.j && this.j.stop(); this.G.stop(); this.C && (this.C = !1, this.N.play()) }; + g.k.start = function () { this.reset(); this.D.T(this.B, "mouseover", this.LV, this); this.D.T(this.B, "mouseout", this.KV, this); this.qa && (this.D.T(this.B, "focusin", this.LV, this), this.D.T(this.B, "focusout", this.KV, this)); this.j ? this.j.start() : (this.K = this.C = !0, g.jm(this.B, { opacity: this.Y })) }; + g.k.LV = function () { this.C && (this.C = !1, this.N.play()); this.G.stop(); this.j && this.j.stop() }; + g.k.KV = function () { this.K ? this.G.start() : this.j && this.j.start() }; + g.k.YW = function () { this.C || (this.C = !0, this.Z.play(), this.K = !0) }; g.z(Ry, Ay); g.k = Ry.prototype; + g.k.init = function (a, b, c) { + Ay.prototype.init.call(this, a, b, c); this.ra = b; (this.Ga = Xsa(this)) && g.fx(Error("hasAdControlInClickCommands_ is true.")); if (!b || g.Bc(b)) g.ex(Error("SkipButtonRenderer was not specified or empty.")); else if (!b.message || g.Bc(b.message)) g.ex(Error("SkipButtonRenderer.message was not specified or empty.")); else { + a = this.G ? { iconType: "SKIP_NEXT_NEW" } : { iconType: "SKIP_NEXT" }; b = fy(a); b == null ? g.ex(Error("Icon for SkipButton was unable to be retrieved. Icon.IconType: " + a.iconType + ".")) : + (this.C = new g.Nx({ I: "button", Na: [this.G ? "ytp-ad-skip-button-modern" : "ytp-ad-skip-button", "ytp-button"], V: [{ I: "span", S: this.G ? "ytp-ad-skip-button-icon-modern" : "ytp-ad-skip-button-icon", V: [b] }] }), g.P(this, this.C), this.C.Ja(this.D.element), this.B = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, "ytp-ad-skip-button-text"), this.G && this.B.element.classList.add("ytp-ad-skip-button-text-centered"), this.B.init(Dx("ad-text"), this.ra.message, c), g.P(this, this.B), oe(this.C.element, this.B.element, + 0)); var d = d === void 0 ? null : d; c = this.api.U(); !(this.Fa.length > 0) && c.B && (lO ? 0 : "ontouchstart" in document.documentElement && (Gha() || sl())) && (this.Oc(this.ob), d && this.Oc(d), this.Fa = [this.T(this.element, "touchstart", this.D5, this), this.T(this.element, "touchmove", this.C5, this), this.T(this.element, "touchend", this.B5, this)]) + } + }; + g.k.clear = function () { this.Ka.reset(); this.hide() }; + g.k.hide = function () { this.D.hide(); this.B && this.B.hide(); Cy(this); Ay.prototype.hide.call(this) }; + g.k.onClick = function (a) { + if (this.C != null) { + if (a) { var b = a || window.event; b.returnValue = !1; b.preventDefault && b.preventDefault() } var c; if (Usa(a, { contentCpn: ((c = this.api.getVideoData(1)) == null ? void 0 : c.clientPlaybackNonce) || "" }) === 0 && (this.api.U().L("enable_isk_gating") && this.api.ib("onAbnormalityDetected"), this.api.U().L("ab_sa_ef"))) return; Ay.prototype.onClick.call(this, a); this.publish("j"); this.api.U().L("embeds_web_enable_ad_skipped_event_publishing") && this.api.ib("onAdSkip"); if (this.Wa || !this.Ga) this.api.onAdUxClicked(this.componentType, + this.layoutId) + } + }; + g.k.w1 = function (a) { if (!this.Wa) return this.Ga && Ny("SkipButton click commands not pruned while ALC exist"), a; var b, c = (b = g.R(a, g.Sy)) == null ? void 0 : b.commands; if (!c) return a; a = []; for (b = 0; b < c.length; b++) { var d = c[b]; d.adLifecycleCommand && Wsa(d.adLifecycleCommand) || d.pingingEndpoint || d.adPingingEndpoint || a.push(d) } return { commandExecutorCommand: { commands: a } } }; + g.k.show = function () { this.Ka.start(); this.D.show(); this.B && this.B.show(); By(this); Ay.prototype.show.call(this); this.Xa && this.api.U().L("enable_skip_to_next_messaging") && this.api.publish("showpromotooltip", this.element) }; + g.k.Dq = function () { this.publish("k") }; + g.k.To = function () { }; g.z(Ty, Ay); g.k = Ty.prototype; + g.k.init = function (a, b, c) { + Ay.prototype.init.call(this, a, b, c); a = b && b.preskipRenderer && g.R(b.preskipRenderer, mI) || {}; (a = g.Bc(a) ? null : a) ? (this.G = a.durationMilliseconds != null && a.durationMilliseconds !== void 0 ? a.durationMilliseconds : 5E3, this.B = new Fy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.j, jO(this.api.U().experiments, "preskip_button_style_ads_backend") == "countdown_next_to_thumbnail" && NC(this.api.U())), this.B.init(Dx("preskip-component"), a, c), Gy(this.B), g.P(this, this.B), this.B.Ja(this.element)) : + b.skipOffsetMilliseconds && (this.G = b.skipOffsetMilliseconds); a = b && b.skippableRenderer && g.R(b.skippableRenderer, V$a) || {}; a = g.Bc(a) ? null : a; a == null ? g.ex(Error("SkipButtonRenderer was not set in player response.")) : (this.C = new Ry(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.j, this.ra), this.C.init(Dx("skip-button"), a, c), g.P(this, this.C), this.C.Ja(this.element), this.api.U().experiments.kb("enable_skip_to_next_messaging") && (b = g.Ud(b.targetId)) && (c = this.C, c.C != null && (c.Xa = !0, c.C.element.setAttribute("data-tooltip-target-id", + b), c.C.element.setAttribute("data-tooltip-target-fixed", ""))), this.show()) + }; + g.k.show = function () { this.D && this.C ? this.C.show() : this.B && this.B.show(); By(this); Ay.prototype.show.call(this) }; + g.k.Dq = function () { }; + g.k.clear = function () { this.B && this.B.clear(); this.C && this.C.clear(); Cy(this); Ay.prototype.hide.call(this) }; + g.k.hide = function () { this.B && this.B.hide(); this.C && this.C.hide(); Cy(this); Ay.prototype.hide.call(this) }; + g.k.To = function () { 1E3 * this.j.getProgressState().current >= this.G && Ysa(this, !0) }; g.z(Uy, gy); Uy.prototype.init = function (a, b, c) { gy.prototype.init.call(this, a, b, c); a = !1; b.text != null && (a = g.Qx(b.text), a = !g.pb(a)); a ? b.navigationEndpoint == null ? g.fx(Error("No visit advertiser clickthrough provided in renderer,")) : b.style !== "STYLE_UNKNOWN" ? g.fx(Error("Button style was not a link-style type in renderer,")) : this.show() : g.fx(Error("No visit advertiser text was present in the renderer.")) }; g.z(Vy, Ox); + Vy.prototype.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); a = b.text; g.pb(Px(a)) ? g.fx(Error("SimpleAdBadgeRenderer has invalid or empty text")) : (a && a.text && (b = a.text, this.B && (b = this.api.U(), b = a.text + " " + (b && b.B ? "\u2022" : "\u00b7")), b = { text: b, isTemplated: a.isTemplated }, a.style && (b.style = a.style), a.targetId && (b.targetId = a.targetId), a = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), a.init(Dx("simple-ad-badge"), b, c), a.Ja(this.element), g.P(this, a)), this.api.U().experiments.kb("enable_unified_ad_badge_style_fix") && this.C && + this.j.classList.add("ytp-ad-simple-ad-badge-unified"), this.show()) + }; + Vy.prototype.clear = function () { this.hide() }; g.z(Wy, Ex); g.z(Xy, g.Fx); g.k = Xy.prototype; g.k.SJ = function () { return this.durationMs }; + g.k.stop = function () { this.j && this.Hd.Oc(this.j) }; + g.k.Tc = function (a) { this.B = { seekableStart: 0, seekableEnd: this.durationMs / 1E3, current: a.current }; this.publish("h") }; + g.k.getProgressState = function () { return this.B }; + g.k.E5 = function (a) { g.Qy(a, 2) && this.publish("g") }; g.z(Yy, g.Fx); g.k = Yy.prototype; g.k.SJ = function () { return this.durationMs }; + g.k.start = function () { this.j || (this.j = !0, this.Xe.start()) }; + g.k.stop = function () { this.j && (this.j = !1, this.Xe.stop()) }; + g.k.Tc = function () { this.qj += 100; var a = !1; this.qj > this.durationMs && (this.qj = this.durationMs, this.Xe.stop(), a = !0); this.B = { seekableStart: 0, seekableEnd: this.durationMs / 1E3, current: this.qj / 1E3 }; this.publish("h"); a && this.publish("g") }; + g.k.getProgressState = function () { return this.B }; g.z(az, Ay); g.k = az.prototype; g.k.init = function (a, b, c) { Ay.prototype.init.call(this, a, b, c); var d; if (b == null ? 0 : (d = b.templatedCountdown) == null ? 0 : d.templatedAdText) { a = b.templatedCountdown.templatedAdText; if (!a.isTemplated) { g.fx(Error("AdDurationRemainingRenderer has no templated ad text.")); return } this.B = new yy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb); this.B.init(Dx("ad-text"), a, {}); this.B.Ja(this.element); g.P(this, this.B) } this.show() }; + g.k.clear = function () { this.hide() }; + g.k.hide = function () { Cy(this); Ay.prototype.hide.call(this) }; + g.k.Dq = function () { this.hide() }; + g.k.To = function () { if (this.j != null) { var a = this.j.getProgressState(); a != null && a.current != null && this.B && (a = (this.j instanceof Xy ? this.videoAdDurationSeconds !== void 0 ? this.videoAdDurationSeconds : a.seekableEnd : this.videoAdDurationSeconds !== void 0 ? this.videoAdDurationSeconds : this.j instanceof Yy ? a.seekableEnd : this.api.getDuration(2, !1)) - a.current, zy(this.B, { FORMATTED_AD_DURATION_REMAINING: String(g.Zy(a)), TIME_REMAINING: String(Math.ceil(a)) })) } }; + g.k.show = function () { By(this); Ay.prototype.show.call(this) }; g.z(bz, yy); bz.prototype.onClick = function (a) { yy.prototype.onClick.call(this, a); this.api.onAdUxClicked(this.componentType) }; g.z(cz, Ox); + cz.prototype.init = function (a, b) { + Ox.prototype.init.call(this, a, b, {}); if (b != null && b.text) { + var c; if (((c = b.text) == null ? 0 : c.content) && !g.pb(b.text.content)) { + this.j = new g.Nx({ I: "div", S: "ytp-ad-disclosure-banner__text", va: b.text.content }); g.P(this, this.j); this.j.Ja(this.element); var d, e; a = ((d = b.interaction) == null ? void 0 : (e = d.accessibility) == null ? void 0 : e.label) || b.text.content; this.element.setAttribute("aria-label", a); var f; if ((f = b.interaction) == null ? 0 : f.onTap) this.B = new g.Nx({ I: "div", S: "ytp-ad-disclosure-banner__chevron", V: [g.Ux()] }), + g.P(this, this.B), this.B.Ja(this.element); this.show() + } + } else g.ex(Error("No banner text found in AdDisclosureBanner.")) + }; + cz.prototype.clear = function () { this.hide() }; g.z(fz, g.Nx); fz.prototype.Tc = function () { var a = this.B.getProgressState(); this.progressBar.style.width = ez(new dz(a.seekableStart, a.seekableEnd), a.current, 0) * 100 + "%" }; + fz.prototype.onStateChange = function () { g.PO(this.api.U()) || (this.api.getPresentingPlayerType() === 2 ? this.j === -1 && (this.show(), this.j = this.B.subscribe("h", this.Tc, this), this.Tc()) : this.j !== -1 && (this.hide(), this.B.uh(this.j), this.j = -1)) }; g.z(gz, Ox); + gz.prototype.init = function (a, b, c, d) { + Ox.prototype.init.call(this, a, b, c); b.skipOrPreviewRenderer && (c = b.skipOrPreviewRenderer, a = g.R(c, NG), c = g.R(c, mI), a ? (c = new Ty(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B, this.Y), c.Ja(this.G), c.init(Dx("skip-button"), a, this.macros), g.P(this, c)) : c && (a = new Fy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B, !1), a.Ja(this.G), a.init(Dx("ad-preview"), c, this.macros), Gy(a), g.P(this, a))); b.brandInteractionRenderer && (a = b.brandInteractionRenderer.brandInteractionRenderer, + c = new Iy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), c.Ja(this.Ga), c.init(Dx("instream-user-sentiment"), a, this.macros), g.P(this, c)); if (a = g.R(b, O$a)) if (a = g.R(a, O$a)) c = new Hy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B, !!b.showWithoutLinkedMediaLayout), g.P(this, c), c.Ja(this.C), c.init(Dx("flyout-cta"), a, this.macros); d = d && d.videoAdDurationSeconds; b.adBadgeRenderer && (a = b.adBadgeRenderer.simpleAdBadgeRenderer, a == null && (a = { text: { text: "Ad", isTemplated: !1 } }), + c = new Vy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, !0, !1), g.P(this, c), c.Ja(this.j), c.init(Dx("simple-ad-badge"), a, this.macros)); b.adDurationRemaining && !b.showWithoutLinkedMediaLayout && (a = b.adDurationRemaining.adDurationRemainingRenderer, a == null && (a = { templatedCountdown: { templatedAdText: { text: "{FORMATTED_AD_DURATION_REMAINING}", isTemplated: !0 } } }), d = new az(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B, d), g.P(this, d), d.Ja(this.j), d.init(Dx("ad-duration-remaining"), + a, this.macros)); b.adInfoRenderer && (d = g.R(b.adInfoRenderer, lI)) && (a = new wy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.element), g.P(this, a), a.Ja(this.j), a.init(Dx("ad-info-hover-text-button"), d, this.macros)); b.visitAdvertiserRenderer && (a = g.R(b.visitAdvertiserRenderer, g.nI)) && (c = ata(this) && this.D ? this.D : this.j) && (d = new Uy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), g.P(this, d), d.Ja(c), d.init(Dx("visit-advertiser"), a, this.macros), ap(d.element), a = dp(d.element), + cp(d.element, a + " This link opens in new tab")); !(d = this.api.U()) || g.NO(d) || d.controlsType != "3" && !d.disableOrganicUi || (d = new fz(this.api, this.B), d.Ja(this.Ka), g.P(this, d)); b.adDisclosureBannerRenderer && (b = g.R(b.adDisclosureBannerRenderer, $$a)) && (d = new cz(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), d.Ja(this.ra), d.init(Dx("ad-disclosure-banner"), b), g.P(this, d)); this.api.U().L("enable_updated_html5_player_focus_style") && g.np(this.element, "ytp-ad-player-overlay-updated-focus-style"); + this.api.U().L("enable_unified_ad_badge_style_fix") && (this.C.classList.add("ytp-ad-player-overlay-flyout-cta-unified"), this.j.classList.add("ytp-ad-player-overlay-instream-info-unified")); this.show() + }; + gz.prototype.clear = function () { this.hide() }; kz.prototype.set = function (a, b, c) { c = c !== void 0 ? Date.now() + c : void 0; this.j.set(a, b, c) }; + kz.prototype.get = function (a) { return this.j.get(a) }; + kz.prototype.remove = function (a) { this.j.remove(a) }; var oz = null, pz = null, qz = null, gta = null; g.Ka("yt.www.ads.eventcache.getLastCompanionData", function () { return oz }); + g.Ka("yt.www.ads.eventcache.getLastPlaShelfData", function () { return null }); + g.Ka("yt.www.ads.eventcache.getLastUpdateEngagementPanelAction", function () { return pz }); + g.Ka("yt.www.ads.eventcache.getLastChangeEngagementPanelVisibilityAction", function () { return qz }); + g.Ka("yt.www.ads.eventcache.getLastScrollToEngagementPanelCommand", function () { return gta }); var ita = new Map([["dark", "USER_INTERFACE_THEME_DARK"], ["light", "USER_INTERFACE_THEME_LIGHT"]]); rz.prototype.handleResponse = function (a, b) { if (!b) throw Error("request needs to be passed into ConsistencyService"); var c, d; b = ((c = b.cq.context) == null ? void 0 : (d = c.request) == null ? void 0 : d.consistencyTokenJars) || []; var e; (a = (e = a.responseContext) == null ? void 0 : e.consistencyTokenJar) && this.replace(b, a) }; + rz.prototype.replace = function (a, b) { a = g.w(a); for (var c = a.next(); !c.done; c = a.next())delete this.j[c.value.encryptedTokenJarContents]; kta(this, b) }; var abb = window.location.hostname.split(".").slice(-2).join("."), C1; tz.getInstance = function () { C1 = g.La("yt.clientLocationService.instance"); C1 || (C1 = new tz, g.Ka("yt.clientLocationService.instance", C1)); return C1 }; + g.k = tz.prototype; + g.k.setLocationOnInnerTubeContext = function (a) { + a.client || (a.client = {}); if (this.j) a.client.locationInfo || (a.client.locationInfo = {}), a.client.locationInfo.latitudeE7 = Math.floor(this.j.coords.latitude * 1E7), a.client.locationInfo.longitudeE7 = Math.floor(this.j.coords.longitude * 1E7), a.client.locationInfo.horizontalAccuracyMeters = Math.round(this.j.coords.accuracy), a.client.locationInfo.forceLocationPlayabilityTokenRefresh = !0; else if (this.C || this.locationPlayabilityToken) a.client.locationPlayabilityToken = this.C || + this.locationPlayabilityToken + }; + g.k.handleResponse = function (a) { var b; a = (b = a.responseContext) == null ? void 0 : b.locationPlayabilityToken; a !== void 0 && (this.locationPlayabilityToken = a, this.j = void 0, g.pr("INNERTUBE_CLIENT_NAME") === "TVHTML5" ? (this.localStorage = sz(this)) && this.localStorage.set("yt-location-playability-token", a, 15552E3) : g.ds("YT_CL", JSON.stringify({ loctok: a }), 15552E3, abb, !0)) }; + g.k.clearLocationPlayabilityToken = function (a) { a === "TVHTML5" ? (this.localStorage = sz(this)) && this.localStorage.remove("yt-location-playability-token") : g.fs("YT_CL"); this.C = void 0; this.B !== -1 && (clearTimeout(this.B), this.B = -1) }; + g.k.getCurrentPositionFromGeolocation = function () { + var a = this; if (!(navigator && navigator.geolocation && navigator.geolocation.getCurrentPosition)) return Promise.reject(Error("Geolocation unsupported")); var b = !1, c = 1E4; g.pr("INNERTUBE_CLIENT_NAME") === "MWEB" && (b = !0, c = 15E3); return new Promise(function (d, e) { + navigator.geolocation.getCurrentPosition(function (f) { a.j = f; d(f) }, function (f) { e(f) }, { + enableHighAccuracy: b, + maximumAge: 0, timeout: c + }) + }) + }; + g.k.createUnpluggedLocationInfo = function (a) { var b = {}; a = a.coords; if (a == null ? 0 : a.latitude) b.latitudeE7 = Math.floor(a.latitude * 1E7); if (a == null ? 0 : a.longitude) b.longitudeE7 = Math.floor(a.longitude * 1E7); if (a == null ? 0 : a.accuracy) b.locationRadiusMeters = Math.round(a.accuracy); return b }; + g.k.createLocationInfo = function (a) { var b = {}; a = a.coords; if (a == null ? 0 : a.latitude) b.latitudeE7 = Math.floor(a.latitude * 1E7); if (a == null ? 0 : a.longitude) b.longitudeE7 = Math.floor(a.longitude * 1E7); return b }; g.k = ota.prototype; g.k.contains = function (a) { return Object.prototype.hasOwnProperty.call(this.j, a) }; + g.k.get = function (a) { if (this.contains(a)) return this.j[a] }; + g.k.set = function (a, b) { this.j[a] = b }; + g.k.Xn = function () { return Object.keys(this.j) }; + g.k.remove = function (a) { delete this.j[a] }; wz.prototype.getModuleId = function (a) { return a.serviceId.getModuleId() }; + wz.prototype.get = function (a) { a: { var b = this.mappings.get(a.toString()); switch (b.type) { case "mapping": a = b.value; break a; case "factory": b = b.value(); this.mappings.set(a.toString(), { type: "mapping", value: b }); a = b; break a; default: a = Ld(b) } } return a }; + wz.prototype.registerService = function (a, b) { this.mappings.set(a.toString(), { type: "mapping", value: b }); return a }; + new wz; var D1 = {}, pta = (D1.WEB_UNPLUGGED = "^unplugged/", D1.WEB_UNPLUGGED_ONBOARDING = "^unplugged/", D1.WEB_UNPLUGGED_OPS = "^unplugged/", D1.WEB_UNPLUGGED_PUBLIC = "^unplugged/", D1.WEB_CREATOR = "^creator/", D1.WEB_KIDS = "^kids/", D1.WEB_EXPERIMENTS = "^experiments/", D1.WEB_MUSIC = "^music/", D1.WEB_REMIX = "^music/", D1.WEB_MUSIC_EMBEDDED_PLAYER = "^music/", D1.WEB_MUSIC_EMBEDDED_PLAYER = "^main_app/|^sfv/", D1); zz.prototype.G = function (a, b, c) { b = b === void 0 ? {} : b; c = c === void 0 ? Lu : c; var d = { context: g.uz(a.clickTrackingParams, !1, this.D) }; var e = this.B(a); if (e) { this.j(d, e, b); var f; b = g.yz(this.C()); (e = (f = g.R(a.commandMetadata, g.u1)) == null ? void 0 : f.apiUrl) && (b = e); f = jna(gs(b)); a = Object.assign({}, { command: a }, void 0); d = { input: f, ov: hs(f), cq: d, config: a }; d.config.Gw ? d.config.Gw.identity = c : d.config.Gw = { identity: c }; return d } g.ex(new g.pt("Error: Failed to create Request from Command.", a)) }; + g.da.Object.defineProperties(zz.prototype, { D: { configurable: !0, enumerable: !0, get: function () { return !1 } } }); + g.z(Qz, zz); g.z(Rz, Qz); Rz.prototype.G = function () { return { input: "/getDatasyncIdsEndpoint", ov: hs("/getDatasyncIdsEndpoint", "GET"), cq: {} } }; + Rz.prototype.C = function () { return [] }; + Rz.prototype.B = function () { }; + Rz.prototype.j = function () { }; var bbb = {}, Wta = (bbb.GET_DATASYNC_IDS = xz(Rz), bbb); var E1 = {}, wta = (E1.auto_search = "LATENCY_ACTION_AUTO_SEARCH", E1.ad_to_ad = "LATENCY_ACTION_AD_TO_AD", E1.ad_to_video = "LATENCY_ACTION_AD_TO_VIDEO", E1["analytics.explore"] = "LATENCY_ACTION_CREATOR_ANALYTICS_EXPLORE", E1.app_startup = "LATENCY_ACTION_APP_STARTUP", E1["artist.analytics"] = "LATENCY_ACTION_CREATOR_ARTIST_ANALYTICS", E1["artist.events"] = "LATENCY_ACTION_CREATOR_ARTIST_CONCERTS", E1["artist.presskit"] = "LATENCY_ACTION_CREATOR_ARTIST_PROFILE", E1["asset.claimed_videos"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_CLAIMED_VIDEOS", + E1["asset.composition"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_COMPOSITION", E1["asset.composition_ownership"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_COMPOSITION_OWNERSHIP", E1["asset.composition_policy"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_COMPOSITION_POLICY", E1["asset.embeds"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_EMBEDS", E1["asset.history"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_HISTORY", E1["asset.issues"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_ISSUES", E1["asset.licenses"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_LICENSES", E1["asset.metadata"] = + "LATENCY_ACTION_CREATOR_CMS_ASSET_METADATA", E1["asset.ownership"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_OWNERSHIP", E1["asset.policy"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_POLICY", E1["asset.references"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_REFERENCES", E1["asset.shares"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_SHARES", E1["asset.sound_recordings"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_SOUND_RECORDINGS", E1["asset_group.assets"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_GROUP_ASSETS", E1["asset_group.campaigns"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_GROUP_CAMPAIGNS", + E1["asset_group.claimed_videos"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_GROUP_CLAIMED_VIDEOS", E1["asset_group.metadata"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_GROUP_METADATA", E1["song.analytics"] = "LATENCY_ACTION_CREATOR_SONG_ANALYTICS", E1.browse = "LATENCY_ACTION_BROWSE", E1.cast_splash = "LATENCY_ACTION_CAST_SPLASH", E1.channel_activity = "LATENCY_ACTION_KIDS_CHANNEL_ACTIVITY", E1.channels = "LATENCY_ACTION_CHANNELS", E1.creator_channel_dashboard = "LATENCY_ACTION_CREATOR_CHANNEL_DASHBOARD", E1["channel.analytics"] = "LATENCY_ACTION_CREATOR_CHANNEL_ANALYTICS", + E1["channel.comments"] = "LATENCY_ACTION_CREATOR_CHANNEL_COMMENTS", E1["channel.content"] = "LATENCY_ACTION_CREATOR_POST_LIST", E1["channel.content.promotions"] = "LATENCY_ACTION_CREATOR_PROMOTION_LIST", E1["channel.copyright"] = "LATENCY_ACTION_CREATOR_CHANNEL_COPYRIGHT", E1["channel.editing"] = "LATENCY_ACTION_CREATOR_CHANNEL_EDITING", E1["channel.monetization"] = "LATENCY_ACTION_CREATOR_CHANNEL_MONETIZATION", E1["channel.music"] = "LATENCY_ACTION_CREATOR_CHANNEL_MUSIC", E1["channel.music_storefront"] = "LATENCY_ACTION_CREATOR_CHANNEL_MUSIC_STOREFRONT", + E1["channel.playlists"] = "LATENCY_ACTION_CREATOR_CHANNEL_PLAYLISTS", E1["channel.translations"] = "LATENCY_ACTION_CREATOR_CHANNEL_TRANSLATIONS", E1["channel.videos"] = "LATENCY_ACTION_CREATOR_CHANNEL_VIDEOS", E1["channel.live_streaming"] = "LATENCY_ACTION_CREATOR_LIVE_STREAMING", E1.chips = "LATENCY_ACTION_CHIPS", E1.commerce_transaction = "LATENCY_ACTION_COMMERCE_TRANSACTION", E1["dialog.copyright_strikes"] = "LATENCY_ACTION_CREATOR_DIALOG_COPYRIGHT_STRIKES", E1["dialog.video_copyright"] = "LATENCY_ACTION_CREATOR_DIALOG_VIDEO_COPYRIGHT", + E1["dialog.uploads"] = "LATENCY_ACTION_CREATOR_DIALOG_UPLOADS", E1.direct_playback = "LATENCY_ACTION_DIRECT_PLAYBACK", E1.embed = "LATENCY_ACTION_EMBED", E1.entity_key_serialization_perf = "LATENCY_ACTION_ENTITY_KEY_SERIALIZATION_PERF", E1.entity_key_deserialization_perf = "LATENCY_ACTION_ENTITY_KEY_DESERIALIZATION_PERF", E1.explore = "LATENCY_ACTION_EXPLORE", E1.favorites = "LATENCY_ACTION_FAVORITES", E1.home = "LATENCY_ACTION_HOME", E1.inboarding = "LATENCY_ACTION_INBOARDING", E1.library = "LATENCY_ACTION_LIBRARY", E1.live = + "LATENCY_ACTION_LIVE", E1.live_pagination = "LATENCY_ACTION_LIVE_PAGINATION", E1.mini_app = "LATENCY_ACTION_MINI_APP_PLAY", E1.notification_settings = "LATENCY_ACTION_KIDS_NOTIFICATION_SETTINGS", E1.onboarding = "LATENCY_ACTION_ONBOARDING", E1.owner = "LATENCY_ACTION_CREATOR_CMS_DASHBOARD", E1["owner.allowlist"] = "LATENCY_ACTION_CREATOR_CMS_ALLOWLIST", E1["owner.analytics"] = "LATENCY_ACTION_CREATOR_CMS_ANALYTICS", E1["owner.art_tracks"] = "LATENCY_ACTION_CREATOR_CMS_ART_TRACKS", E1["owner.assets"] = "LATENCY_ACTION_CREATOR_CMS_ASSETS", + E1["owner.asset_groups"] = "LATENCY_ACTION_CREATOR_CMS_ASSET_GROUPS", E1["owner.bulk"] = "LATENCY_ACTION_CREATOR_CMS_BULK_HISTORY", E1["owner.campaigns"] = "LATENCY_ACTION_CREATOR_CMS_CAMPAIGNS", E1["owner.channel_invites"] = "LATENCY_ACTION_CREATOR_CMS_CHANNEL_INVITES", E1["owner.channels"] = "LATENCY_ACTION_CREATOR_CMS_CHANNELS", E1["owner.claimed_videos"] = "LATENCY_ACTION_CREATOR_CMS_CLAIMED_VIDEOS", E1["owner.claims"] = "LATENCY_ACTION_CREATOR_CMS_MANUAL_CLAIMING", E1["owner.claims.manual"] = "LATENCY_ACTION_CREATOR_CMS_MANUAL_CLAIMING", + E1["owner.delivery"] = "LATENCY_ACTION_CREATOR_CMS_CONTENT_DELIVERY", E1["owner.delivery_templates"] = "LATENCY_ACTION_CREATOR_CMS_DELIVERY_TEMPLATES", E1["owner.issues"] = "LATENCY_ACTION_CREATOR_CMS_ISSUES", E1["owner.licenses"] = "LATENCY_ACTION_CREATOR_CMS_LICENSES", E1["owner.pitch_music"] = "LATENCY_ACTION_CREATOR_CMS_PITCH_MUSIC", E1["owner.policies"] = "LATENCY_ACTION_CREATOR_CMS_POLICIES", E1["owner.releases"] = "LATENCY_ACTION_CREATOR_CMS_RELEASES", E1["owner.reports"] = "LATENCY_ACTION_CREATOR_CMS_REPORTS", E1["owner.videos"] = + "LATENCY_ACTION_CREATOR_CMS_VIDEOS", E1.parent_profile_settings = "LATENCY_ACTION_KIDS_PARENT_PROFILE_SETTINGS", E1.parent_tools_collection = "LATENCY_ACTION_PARENT_TOOLS_COLLECTION", E1.parent_tools_dashboard = "LATENCY_ACTION_PARENT_TOOLS_DASHBOARD", E1.player_att = "LATENCY_ACTION_PLAYER_ATTESTATION", E1["playlist.videos"] = "LATENCY_ACTION_CREATOR_PLAYLIST_VIDEO_LIST", E1["post.comments"] = "LATENCY_ACTION_CREATOR_POST_COMMENTS", E1["post.edit"] = "LATENCY_ACTION_CREATOR_POST_EDIT", E1.prebuffer = "LATENCY_ACTION_PREBUFFER", + E1.prefetch = "LATENCY_ACTION_PREFETCH", E1.profile_settings = "LATENCY_ACTION_KIDS_PROFILE_SETTINGS", E1.profile_switcher = "LATENCY_ACTION_LOGIN", E1.reel_watch = "LATENCY_ACTION_REEL_WATCH", E1.results = "LATENCY_ACTION_RESULTS", E1["promotion.edit"] = "LATENCY_ACTION_CREATOR_PROMOTION_EDIT", E1.red = "LATENCY_ACTION_PREMIUM_PAGE_GET_BROWSE", E1.premium = "LATENCY_ACTION_PREMIUM_PAGE_GET_BROWSE", E1.privacy_policy = "LATENCY_ACTION_KIDS_PRIVACY_POLICY", E1.search_overview_answer = "LATENCY_ACTION_SEARCH_OVERVIEW_ANSWER", E1.search_ui = + "LATENCY_ACTION_SEARCH_UI", E1.search_suggest = "LATENCY_ACTION_SUGGEST", E1.search_zero_state = "LATENCY_ACTION_SEARCH_ZERO_STATE", E1.secret_code = "LATENCY_ACTION_KIDS_SECRET_CODE", E1.seek = "LATENCY_ACTION_PLAYER_SEEK", E1.settings = "LATENCY_ACTION_SETTINGS", E1.store = "LATENCY_ACTION_STORE", E1.supervision_dashboard = "LATENCY_ACTION_KIDS_SUPERVISION_DASHBOARD", E1.tenx = "LATENCY_ACTION_TENX", E1.video_to_ad = "LATENCY_ACTION_VIDEO_TO_AD", E1.watch = "LATENCY_ACTION_WATCH", E1.watch_it_again = "LATENCY_ACTION_KIDS_WATCH_IT_AGAIN", + E1["watch,watch7"] = "LATENCY_ACTION_WATCH", E1["watch,watch7_html5"] = "LATENCY_ACTION_WATCH", E1["watch,watch7ad"] = "LATENCY_ACTION_WATCH", E1["watch,watch7ad_html5"] = "LATENCY_ACTION_WATCH", E1.wn_comments = "LATENCY_ACTION_LOAD_COMMENTS", E1.ww_rqs = "LATENCY_ACTION_WHO_IS_WATCHING", E1["video.analytics"] = "LATENCY_ACTION_CREATOR_VIDEO_ANALYTICS", E1["video.claims"] = "LATENCY_ACTION_CREATOR_VIDEO_CLAIMS", E1["video.comments"] = "LATENCY_ACTION_CREATOR_VIDEO_COMMENTS", E1["video.copyright"] = "LATENCY_ACTION_CREATOR_VIDEO_COPYRIGHT", + E1["video.edit"] = "LATENCY_ACTION_CREATOR_VIDEO_EDIT", E1["video.editor"] = "LATENCY_ACTION_CREATOR_VIDEO_VIDEO_EDITOR", E1["video.editor_async"] = "LATENCY_ACTION_CREATOR_VIDEO_VIDEO_EDITOR_ASYNC", E1["video.live_settings"] = "LATENCY_ACTION_CREATOR_VIDEO_LIVE_SETTINGS", E1["video.live_streaming"] = "LATENCY_ACTION_CREATOR_VIDEO_LIVE_STREAMING", E1["video.monetization"] = "LATENCY_ACTION_CREATOR_VIDEO_MONETIZATION", E1["video.policy"] = "LATENCY_ACTION_CREATOR_VIDEO_POLICY", E1["video.rights_management"] = "LATENCY_ACTION_CREATOR_VIDEO_RIGHTS_MANAGEMENT", + E1["video.translations"] = "LATENCY_ACTION_CREATOR_VIDEO_TRANSLATIONS", E1.voice_assistant = "LATENCY_ACTION_VOICE_ASSISTANT", E1.cast_load_by_entity_to_watch = "LATENCY_ACTION_CAST_LOAD_BY_ENTITY_TO_WATCH", E1.networkless_performance = "LATENCY_ACTION_NETWORKLESS_PERFORMANCE", E1.gel_compression = "LATENCY_ACTION_GEL_COMPRESSION", E1.gel_jspb_serialize = "LATENCY_ACTION_GEL_JSPB_SERIALIZE", E1); g.z($z, Pu); var Kta = new Tu("aft-recorded", $z); var cA = g.Ja.ytLoggingLatencyUsageStats_ || {}; g.Ka("ytLoggingLatencyUsageStats_", cA); aA.prototype.tick = function (a, b, c, d) { dA(this, "tick_" + a + "_" + b) || g.Ht("latencyActionTicked", { tickName: a, clientActionNonce: b }, { timestamp: c, cttAuthInfo: d }) }; + aA.prototype.info = function (a, b, c) { var d = Object.keys(a).join(""); dA(this, "info_" + d + "_" + b) || (a = Object.assign({}, a), a.clientActionNonce = b, g.Ht("latencyActionInfo", a, { cttAuthInfo: c })) }; + aA.prototype.jspbInfo = function (a, b, c) { for (var d = "", e = 0; e < ph(a).length; e++)ph(a)[e] !== void 0 && (d = e === 0 ? d.concat("" + e) : d.concat("_" + e)); dA(this, "info_" + d + "_" + b) || (Sg(a, 2, b), b = { cttAuthInfo: c }, c = g.Pr("jspb_sparse_encoded_pivot") ? new ir([{}]) : new ir, Fg(c, fr, 7, hx, a), dx("latencyActionInfo", c, b)) }; + aA.prototype.span = function (a, b, c) { var d = Object.keys(a).join(""); dA(this, "span_" + d + "_" + b) || (a.clientActionNonce = b, g.Ht("latencyActionSpan", a, { cttAuthInfo: c })) }; var F1 = window, eA = F1.performance || F1.mozPerformance || F1.msPerformance || F1.webkitPerformance || new xta; var Jta = !1, Ata = !1, nA = { + 'script[name="scheduler/scheduler"]': "sj", 'script[name="player/base"]': "pj", 'link[rel="preload"][name="player/embed"]': "pej", 'link[rel="stylesheet"][name="www-player"]': "pc", 'link[rel="stylesheet"][name="player/www-player"]': "pc", 'script[name="desktop_polymer/desktop_polymer"]': "dpj", 'link[rel="import"][name="desktop_polymer"]': "dph", 'script[name="mobile-c3"]': "mcj", 'link[rel="stylesheet"][name="mobile-c3"]': "mcc", 'script[name="player-plasma-ias-phone/base"]': "mcppj", 'script[name="player-plasma-ias-tablet/base"]': "mcptj", + 'link[rel="stylesheet"][name="mobile-polymer-player-ias"]': "mcpc", 'link[rel="stylesheet"][name="mobile-polymer-player-svg-ias"]': "mcpsc", 'script[name="mobile_blazer_core_mod"]': "mbcj", 'link[rel="stylesheet"][name="mobile_blazer_css"]': "mbc", 'script[name="mobile_blazer_logged_in_users_mod"]': "mbliuj", 'script[name="mobile_blazer_logged_out_users_mod"]': "mblouj", 'script[name="mobile_blazer_noncore_mod"]': "mbnj", "#player_css": "mbpc", 'script[name="mobile_blazer_desktopplayer_mod"]': "mbpj", 'link[rel="stylesheet"][name="mobile_blazer_tablet_css"]': "mbtc", + 'script[name="mobile_blazer_watch_mod"]': "mbwj" + }, Mta = (0, g.Ua)(eA.clearResourceTimings || eA.webkitClearResourceTimings || eA.mozClearResourceTimings || eA.msClearResourceTimings || eA.oClearResourceTimings || g.Zc, eA); var cbb = window; cbb.ytcsi && (cbb.ytcsi.infoGel = g.qA, cbb.ytcsi.tick = pA); var bua = "tokens consistency mss client_location entities adblock_detection response_received_commands store PLAYER_PRELOAD".split(" "), dua = ["type.googleapis.com/youtube.api.pfiinnertube.YoutubeApiInnertube.BrowseResponse", "type.googleapis.com/youtube.api.pfiinnertube.YoutubeApiInnertube.PlayerResponse"]; var gua = new Xv("INNERTUBE_TRANSPORT_TOKEN"); g.z(yA, Qz); yA.prototype.C = function () { return Pab }; + yA.prototype.B = function (a) { return g.R(a, Aab) || void 0 }; + yA.prototype.j = function (a, b, c) { c = c === void 0 ? {} : c; b.channelIds && (a.channelIds = b.channelIds); b.siloName && (a.siloName = b.siloName); b.params && (a.params = b.params); c.botguardResponse && (a.botguardResponse = c.botguardResponse); c.feature && (a.clientFeature = c.feature) }; + g.da.Object.defineProperties(yA.prototype, { D: { configurable: !0, enumerable: !0, get: function () { return !0 } } }); g.z(zA, Qz); zA.prototype.C = function () { return Qab }; + zA.prototype.B = function (a) { return g.R(a, zab) || void 0 }; + zA.prototype.j = function (a, b) { b.channelIds && (a.channelIds = b.channelIds); b.siloName && (a.siloName = b.siloName); b.params && (a.params = b.params) }; + g.da.Object.defineProperties(zA.prototype, { D: { configurable: !0, enumerable: !0, get: function () { return !0 } } }); var dbb = new Xv("SHARE_CLIENT_PARAMS_PROVIDER_TOKEN"); g.z(AA, Qz); AA.prototype.C = function () { return Kab }; + AA.prototype.B = function (a) { return g.R(a, rab) || g.R(a, sab) || g.R(a, qab) }; + AA.prototype.j = function (a, b) { b.serializedShareEntity && (a.serializedSharedEntity = b.serializedShareEntity); if (b.clientParamIdentifier) { var c; if ((c = this.K) == null ? 0 : c.j(b.clientParamIdentifier)) a.clientParams = this.K.B(b.clientParamIdentifier) } }; + AA[$v] = [dbb]; g.z(BA, Qz); BA.prototype.C = function () { return Mab }; + BA.prototype.B = function (a) { return g.R(a, iab) || void 0 }; + BA.prototype.j = function (a, b, c) { a.feedbackTokens = []; b.feedbackToken && a.feedbackTokens.push(b.feedbackToken); if (b = b.cpn || c.cpn) a.feedbackContext = { cpn: b }; a.isFeedbackTokenUnencrypted = !!c.is_feedback_token_unencrypted; a.shouldMerge = !1; c.extra_feedback_tokens && (a.shouldMerge = !0, a.feedbackTokens = a.feedbackTokens.concat(c.extra_feedback_tokens)) }; + g.da.Object.defineProperties(BA.prototype, { D: { configurable: !0, enumerable: !0, get: function () { return !0 } } }); g.z(CA, Qz); CA.prototype.C = function () { return Nab }; + CA.prototype.B = function (a) { return g.R(a, yab) || void 0 }; + CA.prototype.j = function (a, b) { b.params && (a.params = b.params); b.secondaryParams && (a.secondaryParams = b.secondaryParams) }; g.z(DA, Qz); DA.prototype.C = function () { return Oab }; + DA.prototype.B = function (a) { return g.R(a, wab) || void 0 }; + DA.prototype.j = function (a, b) { b.actions && (a.actions = b.actions); b.params && (a.params = b.params); b.playlistId && (a.playlistId = b.playlistId) }; g.z(EA, Qz); EA.prototype.C = function () { return Lab }; + EA.prototype.B = function (a) { return g.R(a, tab) }; + EA.prototype.j = function (a, b, c) { c = c === void 0 ? {} : c; b.serializedShareEntity && (a.serializedSharedEntity = b.serializedShareEntity); c.includeListId && (a.includeListId = !0) }; g.z(g.FA, g.pt); var ebb = new Xv("NETWORK_SLI_TOKEN"); GA.prototype.fetch = function (a, b, c) { + var d = this, e; return g.J(function (f) { + e = eua(d, a, b); return f.return(fetch(e).then(function (h) { return d.handleResponse(h, c) }).catch(function (h) { + g.fx(h); + if ((c == null ? 0 : c.Er) && h instanceof g.FA && h.errorType === 1) return Promise.reject(h) + })) + }) + }; + GA.prototype.handleResponse = function (a, b) { + var c = a.text().then(function (d) { if ((b == null ? 0 : b.k$) && a.ok) return Aea(b.k$, d); d = d.replace(")]}'", ""); if ((b == null ? 0 : b.Er) && d) try { var e = JSON.parse(d) } catch (h) { throw new g.FA(1, "JSON parsing failed after fetch"); } var f; return (f = e) != null ? f : JSON.parse(d) }); + a.redirected || a.ok ? this.j && this.j.success() : (this.j && this.j.ina(), c = c.then(function (d) { g.fx(new g.pt("Error: API fetch failed", a.status, a.url, d)); return Object.assign({}, d, { errorMetadata: { status: a.status } }) })); + return c + }; + GA[$v] = [new Yv(ebb)]; var fua = new Xv("NETWORK_MANAGER_TOKEN"); var HA; var jua = [], JA = !1; MA.prototype.D = function () { var a = this; return g.J(function (b) { return b.j == 1 ? g.G(b, Promise.race([a.j, null]), 2) : b.return(!!b.B) }) }; + MA.prototype.C = function (a, b, c) { + var d = this, e, f, h; return g.J(function (l) { + d.j === null && lua(d, LA(d)); e = !1; f = {}; h = function () { + var m, n, p; return g.J(function (q) { + switch (q.j) { + case 1: return g.G(q, d.j, 2); case 2: m = q.B; f.challenge = m.challenge; if (!m.jp) { "c1a" in m.yr && (f.error = "ATTESTATION_ERROR_VM_NOT_INITIALIZED"); q.Ha(3); break } n = Object.assign({}, { c: m.challenge, e: a }, b); g.va(q, 4); e = !0; return g.G(q, m.jp.snapshot({ Ar: n }), 6); case 6: (p = q.B) ? f.webResponse = p : f.error = "ATTESTATION_ERROR_VM_NO_RESPONSE"; g.wa(q, 3); break; case 4: g.xa(q), + f.error = "ATTESTATION_ERROR_VM_INTERNAL_ERROR"; case 3: if (a === "ENGAGEMENT_TYPE_PLAYBACK") { var r = m.yr, t = {}; r.c6a && (t.reportingStatus = String(Number(r.c) ^ KA())); r.c6b && (t.broadSpectrumDetectionResult = String(Number(r.c) ^ Number(g.pr("CATSTAT", 0)))); f.adblockReporting = t } return q.return(f) + } + }) + }; + return l.return(Promise.race([h(), oua(c, function () { var m = Object.assign({}, f); e && (m.error = "ATTESTATION_ERROR_VM_TIMEOUT"); return m })])) + }) + }; var rua = ["APP_STATE", "PI"]; g.k = OA.prototype; g.k.initialize = function (a, b, c) { if (a.program) { var d, e = (d = a.interpreterUrl) != null ? d : null; if (a.interpreterSafeScript) d = Ama(a.interpreterSafeScript); else { var f; d = (f = a.interpreterScript) != null ? f : null } a.interpreterSafeUrl && (e = Jq(a.interpreterSafeUrl).toString()); zua(this, d, e, a.program, b, c) } else g.fx(Error("Cannot initialize botguard without program")) }; + g.k.isInitialized = function () { return this.CU() }; + g.k.getState = function () { return this.state }; + g.k.isLoading = function () { return this.state === 2 }; + g.k.invoke = function (a) { a = a === void 0 ? {} : a; return this.CU() ? this.N3({ Ar: a }) : null }; + g.k.dispose = function () { this.ET(null); this.zd(8) }; + g.k.CU = function () { return !!this.jp }; + g.k.N3 = function (a) { return this.jp.A2(a) }; + g.k.ET = function (a) { g.fb(this.jp); this.jp = a }; + g.k.zd = function (a) { this.state = a }; g.z(QA, OA); QA.prototype.ET = function (a) { var b; (b = PA()) == null || b.bgvma(); a ? (b = { bgvma: a.dispose.bind(a), bgvmb: a.snapshot.bind(a), bgvmc: a.A2.bind(a) }, g.Ka("yt.abuse.playerAttLoader", b), g.Ka("yt.abuse.playerAttLoaderRun", function (c) { return a.snapshot(c) })) : (g.Ka("yt.abuse.playerAttLoader", null), g.Ka("yt.abuse.playerAttLoaderRun", null)) }; + QA.prototype.CU = function () { return !!PA() }; + QA.prototype.N3 = function (a) { return PA().bgvmc(a) }; RA.prototype.Ir = function () { return "crossDeviceProgressCommand" }; + RA.prototype.fu = function (a) { if (a.crossDevicePings) { var b = []; a = g.w(a.crossDevicePings); for (var c = a.next(); !c.done; c = a.next())b.push({ baseUrl: c.value.baseUrl }); g.Ht("crossDeviceNotificationTransfer", { crossDevicePings: b }) } }; SA.prototype.Ir = function () { return "muteAdEndpoint" }; + SA.prototype.fu = function (a, b) { switch (a.type) { case "SKIP": Aua(this.Jl, this.Ko, b) } }; TA.prototype.Ir = function () { return "openPopupAction" }; + TA.prototype.fu = function () { }; UA.prototype.Ir = function () { return "pingingEndpoint" }; + UA.prototype.fu = function () { }; var Hua = { clickTrackingParams: !0, commandMetadata: !0, loggingUrls: !0 }; g.z(Cua, g.O); var p7a = { + yfa: "FINAL", Bfa: "AD_BREAK_LENGTH", Cfa: "AD_CPN", Dfa: "AH", Efa: "AD_MT", Ffa: "ASR", Hfa: "AW", Nga: "NM", Oga: "NX", Pga: "NY", Uga: "CONN", Zga: "CPN", qha: "DV_VIEWABILITY", Aha: "ERRORCODE", Eha: "ERROR_MSG", Gha: "EI", Yha: "GOOGLE_VIEWABILITY", pia: "IAS_VIEWABILITY", Xia: "LACT", aja: "LIVE_TARGETING_CONTEXT", kja: "I_X", lja: "I_Y", oja: "MT", qja: "MIDROLL_POS", rja: "MIDROLL_POS_MS", sja: "MOAT_INIT", tja: "MOAT_VIEWABILITY", Wja: "P_H", Xja: "PV_H", Yja: "PV_W", Zja: "P_W", bka: "TRIGGER_TYPE", Cka: "SDKV", Rka: "SLOT_POS", dla: "SURVEY_LOCAL_TIME_EPOCH_S", + Zka: "SURVEY_ELAPSED_MS", Y6: "VIS", Ila: "VIEWABILITY", Kla: "VED", Lla: "VOL", Nla: "WT", wma: "YT_ERROR_CODE" + }; XA.prototype.Ir = function () { return "urlEndpoint" }; + XA.prototype.fu = function (a, b, c) { var d = this.Oa.get(), e = fJ(d.B.get(), b); e ? b = OD(d, i7a(e), e, void 0, void 0, c) : (Ny("Trying to ping from an unknown layout", void 0, void 0, { layoutId: b }), b = {}); b = Object.assign({}, b); QI(this.j, "h5_inplayer_enable_adcpn_macro_substitution_for_click_pings") && (c = ZF(this.Kf, 2)) && (b.AD_CPN = c.clientPlaybackNonce); b = g.Ho(a.url, b); g.nz(b, void 0, void 0, void 0, a.attributionSrcMode === "ATTRIBUTION_SRC_MODE_LABEL_CHROME") }; YA.prototype.get = function () { return this.value }; + g.z(ZA, YA); ZA.prototype.getType = function () { return "metadata_type_action_companion_ad_renderer" }; + g.z($A, YA); $A.prototype.getType = function () { return "metadata_type_top_banner_image_text_icon_buttoned_layout_view_model" }; + g.z(aB, YA); aB.prototype.getType = function () { return "metadata_type_ads_engagement_panel_renderer" }; + g.z(bB, YA); bB.prototype.getType = function () { return "metadata_type_ads_engagement_panel_layout_view_model" }; + g.z(cB, YA); cB.prototype.getType = function () { return "metadata_type_ad_next_params" }; + g.z(dB, YA); dB.prototype.getType = function () { return "metadata_type_ad_video_clickthrough_endpoint" }; + g.z(eB, YA); eB.prototype.getType = function () { return "metadata_type_invideo_overlay_ad_renderer" }; + g.z(fB, YA); fB.prototype.getType = function () { return "metadata_type_image_companion_ad_renderer" }; + g.z(gB, YA); gB.prototype.getType = function () { return "metadata_type_banner_image_layout_view_model" }; + g.z(hB, YA); hB.prototype.getType = function () { return "metadata_type_shopping_companion_carousel_renderer" }; + g.z(iB, YA); iB.prototype.getType = function () { return "metadata_type_ad_info_ad_metadata" }; + g.z(jB, YA); jB.prototype.getType = function () { return "metadata_ad_video_is_listed" }; + g.z(kB, YA); kB.prototype.getType = function () { return "metadata_type_ad_placement_config" }; + g.z(lB, YA); lB.prototype.getType = function () { return "metadata_type_ad_pod_info" }; + g.z(mB, YA); mB.prototype.getType = function () { return "metadata_type_ad_pod_skip_index" }; + g.z(nB, YA); nB.prototype.getType = function () { return "metadata_type_ad_pod_skip_target" }; + g.z(oB, YA); oB.prototype.getType = function () { return "metadata_type_ad_pod_skip_target_callback_ref" }; + g.z(pB, YA); pB.prototype.getType = function () { return "metadata_type_ad_video_id" }; + g.z(qB, YA); qB.prototype.getType = function () { return "metadata_type_content_cpn" }; + g.z(rB, YA); rB.prototype.getType = function () { return "metadata_type_instream_ad_player_overlay_renderer" }; + g.z(sB, YA); sB.prototype.getType = function () { return "metadata_type_player_overlay_layout_renderer" }; + g.z(tB, YA); tB.prototype.getType = function () { return "metadata_type_player_underlay_renderer" }; + g.z(uB, YA); uB.prototype.getType = function () { return "metadata_type_player_underlay_ad_slot_renderer" }; + g.z(vB, YA); vB.prototype.getType = function () { return "metadata_type_media_associated_in_player_slot" }; + g.z(wB, YA); wB.prototype.getType = function () { return "metadata_type_shrunken_player_bytes_config" }; + g.z(xB, YA); xB.prototype.getType = function () { return "metadata_type_ad_action_interstitial_renderer" }; + g.z(yB, YA); yB.prototype.getType = function () { return "metadata_type_valid_survey_text_interstitial_renderer" }; + g.z(zB, YA); zB.prototype.getType = function () { return "METADATA_TYPE_VALID_INSTREAM_SURVEY_AD_RENDERER_FOR_DAI" }; + g.z(AB, YA); AB.prototype.getType = function () { return "METADATA_TYPE_VALID_INSTREAM_SURVEY_AD_RENDERER_FOR_VOD" }; + g.z(BB, YA); BB.prototype.getType = function () { return "metadata_type_sliding_text_player_overlay_renderer" }; + g.z(CB, YA); CB.prototype.getType = function () { return "metadata_type_linked_player_bytes_layout_id" }; + g.z(DB, YA); DB.prototype.getType = function () { return "metadata_type_linked_in_player_layout_id" }; + g.z(EB, YA); EB.prototype.getType = function () { return "metadata_type_linked_in_player_layout_type" }; + g.z(FB, YA); FB.prototype.getType = function () { return "metadata_type_linked_in_player_slot_id" }; + g.z(GB, YA); GB.prototype.getType = function () { return "metadata_type_player_bytes_callback" }; + g.z(HB, YA); HB.prototype.getType = function () { return "metadata_type_player_bytes_callback_ref" }; + g.z(IB, YA); IB.prototype.getType = function () { return "metadata_type_player_bytes_layout_controls_callback_ref" }; + g.z(JB, YA); JB.prototype.getType = function () { return "metadata_type_sub_layouts" }; + g.z(KB, YA); KB.prototype.getType = function () { return "metadata_type_cue_point" }; + g.z(LB, YA); LB.prototype.getType = function () { return "metadata_type_video_length_seconds" }; + g.z(MB, YA); MB.prototype.getType = function () { return "metadata_type_player_vars" }; + g.z(NB, YA); NB.prototype.getType = function () { return "metadata_type_preload_player_vars" }; + g.z(OB, YA); OB.prototype.getType = function () { return "metadata_type_sodar_extension_data" }; + g.z(PB, YA); PB.prototype.getType = function () { return "metadata_type_layout_enter_ms" }; + g.z(QB, YA); QB.prototype.getType = function () { return "metadata_type_layout_exit_ms" }; + g.z(RB, YA); RB.prototype.getType = function () { return "metadata_type_media_sub_layout_index" }; + g.z(SB, YA); SB.prototype.getType = function () { return "metadata_type_dai" }; + g.z(TB, YA); TB.prototype.getType = function () { return "metadata_type_ad_intro" }; + g.z(UB, YA); UB.prototype.getType = function () { return "metadata_type_client_forecasting_ad_renderer" }; + g.z(VB, YA); VB.prototype.getType = function () { return "metadata_type_drift_recovery_ms" }; + g.z(WB, YA); WB.prototype.getType = function () { return "metadata_type_fulfilled_layout" }; + g.z(XB, YA); XB.prototype.getType = function () { return "metadata_type_ad_break_request_data" }; + g.z(YB, YA); YB.prototype.getType = function () { return "metadata_type_ad_break_response_data" }; + g.z(ZB, YA); ZB.prototype.getType = function () { return "metadata_type_remote_slots_data" }; + g.z($B, YA); $B.prototype.getType = function () { return "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds" }; + g.z(aC, YA); aC.prototype.getType = function () { return "METADATA_TYPE_MEDIA_BREAK_LAYOUT_DURATION_MILLISECONDS" }; + g.z(bC, YA); bC.prototype.getType = function () { return "metadata_type_legacy_info_card_vast_extension" }; + g.z(cC, YA); cC.prototype.getType = function () { return "metadata_type_valid_ad_message_renderer" }; + g.z(dC, YA); dC.prototype.getType = function () { return "METADATA_TYPE_INTERACTIONS_AND_PROGRESS_LAYOUT_COMMANDS" }; + g.z(eC, YA); eC.prototype.getType = function () { return "metadata_type_served_from_live_infra" }; + g.z(fC, YA); fC.prototype.getType = function () { return "metadata_type_survey_overlay" }; + g.z(gC, YA); gC.prototype.getType = function () { return "metadata_type_active_view_traffic_type" }; + g.z(hC, YA); hC.prototype.getType = function () { return "metadata_type_active_view_identifier" }; + g.z(iC, YA); iC.prototype.getType = function () { return "metadata_type_ssdai_ads_config" }; + g.z(jC, YA); jC.prototype.getType = function () { return "metadata_type_eligible_for_ssap" }; + g.z(kC, YA); kC.prototype.getType = function () { return "metadata_type_allow_pause_ad_break_request_slot_reschedule" }; + g.z(lC, YA); lC.prototype.getType = function () { return "metadata_type_player_bytes_slot_metadata" }; + g.z(mC, YA); mC.prototype.getType = function () { return "metadata_type_high_ccv_prefetch_METADATA" }; var Uua = new Map([["TRIGGER_CATEGORY_LAYOUT_EXIT_NORMAL", "normal"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_SKIPPED", "skipped"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_MUTED", "muted"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_INPUT_SUBMITTED", "user_input_submitted"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_CANCELLED", "user_cancelled"]]); var cva = new Map([["TRIGGER_CATEGORY_LAYOUT_EXIT_NORMAL", "trigger_category_layout_exit_normal"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_SKIPPED", "trigger_category_layout_exit_user_skipped"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_MUTED", "trigger_category_layout_exit_user_muted"], ["TRIGGER_CATEGORY_SLOT_EXPIRATION", "trigger_category_slot_expiration"], ["TRIGGER_CATEGORY_SLOT_FULFILLMENT", "trigger_category_slot_fulfillment"], ["TRIGGER_CATEGORY_SLOT_ENTRY", "trigger_category_slot_entry"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_INPUT_SUBMITTED", + "trigger_category_layout_exit_user_input_submitted"], ["TRIGGER_CATEGORY_LAYOUT_EXIT_USER_CANCELLED", "trigger_category_layout_exit_user_cancelled"]]); g.z(qC, ib); g.z(rC, ib); new Promise(function () { }); var Lua = new Map([["unspecified", "CONTROL_FLOW_MANAGER_LAYER_UNSPECIFIED"], ["core", "CONTROL_FLOW_MANAGER_LAYER_CORE"], ["adapter", "CONTROL_FLOW_MANAGER_LAYER_ADAPTER"], ["surface", "CONTROL_FLOW_MANAGER_LAYER_SURFACE"], ["external", "CONTROL_FLOW_MANAGER_LAYER_EXTERNAL"]]), Jua = new Map([["normal", { Ky: "ADS_CLIENT_EVENT_TYPE_NORMAL_EXIT_LAYOUT_REQUESTED", Uy: "ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_NORMALLY" }], ["skipped", { Ky: "ADS_CLIENT_EVENT_TYPE_SKIP_EXIT_LAYOUT_REQUESTED", Uy: "ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_SKIP" }], + ["muted", { Ky: "ADS_CLIENT_EVENT_TYPE_MUTE_EXIT_LAYOUT_REQUESTED", Uy: "ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_MUTE" }], ["abandoned", { Ky: "ADS_CLIENT_EVENT_TYPE_ABANDON_EXIT_LAYOUT_REQUESTED", Uy: "ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_ABANDON" }], ["user_input_submitted", { Ky: "ADS_CLIENT_EVENT_TYPE_USER_INPUT_SUBMITTED_EXIT_LAYOUT_REQUESTED", Uy: "ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_USER_INPUT_SUBMITTED" }], ["user_cancelled", { Ky: "ADS_CLIENT_EVENT_TYPE_USER_CANCELLED_EXIT_LAYOUT_REQUESTED", Uy: "ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_USER_CANCELLED" }], + ["error", { Ky: "ADS_CLIENT_EVENT_TYPE_ABORTED_EXIT_LAYOUT_REQUESTED", Uy: "ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_ABORTED" }]]); g.z(CC, g.O); g.k = CC.prototype; g.k.gQ = function (a, b) { return this.j.gQ(a, b) }; + g.k.Qg = function (a, b) { this.Rb.JI("ADS_CLIENT_EVENT_TYPE_OPPORTUNITY_RECEIVED", a, b); for (var c = g.w(this.B), d = c.next(); !d.done; d = c.next())d.value.Qg(a, b) }; + g.k.sf = function (a) { if (HC(this.j, a)) { this.Rb.dk("ADS_CLIENT_EVENT_TYPE_SLOT_ENTERED", a); this.j.sf(a); for (var b = g.w(this.B), c = b.next(); !c.done; c = b.next())c.value.sf(a); Pua(this, a) } }; + g.k.tf = function (a) { if (HC(this.j, a)) { this.Rb.dk("ADS_CLIENT_EVENT_TYPE_SLOT_EXITED", a); this.j.tf(a); for (var b = g.w(this.B), c = b.next(); !c.done; c = b.next())c.value.tf(a); HC(this.j, a) && IC(this.j, a).G && FC(this, a, !1) } }; + g.k.FL = function (a) { this.Rb.dk("ADS_CLIENT_EVENT_TYPE_SLOT_FULFILLMENT_CANCELLED", a); HC(this.j, a) && (this.j.FL(a), FC(this, a, !1)) }; + g.k.vc = function (a, b) { if (HC(this.j, a)) { this.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_ENTERED", a, b); for (var c = g.w(this.B), d = c.next(); !d.done; d = c.next())d.value.vc(a, b) } }; + g.k.Nc = function (a, b, c) { if (HC(this.j, a)) { this.Rb.Th(Kua(c), a, b); this.j.Nc(a, b); for (var d = g.w(this.B), e = d.next(); !e.done; e = d.next())e.value.Nc(a, b, c); (c = VC(this.j, a)) && b.layoutId === c.layoutId && $ua(this, a, !1) } }; + g.k.Hf = function (a, b, c, d) { c.ql && d ? (Ny(c, a, b, void 0, c.Fw), this.Rb.mm(d, c.ql, a, b)) : Ny("adsClientErrorMessage is missing.", a, b); FC(this, a, !0) }; + g.k.xa = function () { var a = bva(this.j); a = g.w(a); for (var b = a.next(); !b.done; b = a.next())FC(this, b.value, !1); g.O.prototype.xa.call(this) }; + g.k.pg = function (a, b) { this.Rb.Th("ADS_CLIENT_EVENT_TYPE_UNSCHEDULE_LAYOUT_REQUESTED", a, b); this.Rb.Th("ADS_CLIENT_EVENT_TYPE_LAYOUT_UNSCHEDULED", a, b); for (var c = g.w(this.B), d = c.next(); !d.done; d = c.next())d = d.value, b && d.pg(a, b) }; ava.prototype.isActive = function () { switch (this.j) { case "entered": case "rendering": case "rendering_stop_requested": case "exit_requested": return !0; default: return !1 } }; g.z(YC, g.O); g.k = YC.prototype; g.k.gQ = function (a, b) { b = UC(this, a + "_" + b); a = []; b = g.w(b.values()); for (var c = b.next(); !c.done; c = b.next())a.push(c.value.slot); return a }; + g.k.Rg = function (a) { a = IC(this, a); a.j !== "not_scheduled" && WC(a.slot, a.j, "onSlotScheduled"); a.j = "scheduled" }; + g.k.TE = function (a) { a = IC(this, a); a.D = "fill_requested"; a.N.TE() }; + g.k.sf = function (a) { a = IC(this, a); a.j !== "enter_requested" && WC(a.slot, a.j, "onSlotEntered"); a.j = "entered" }; + g.k.FL = function (a) { IC(this, a).D = "fill_canceled" }; + g.k.tf = function (a) { a = IC(this, a); a.j !== "exit_requested" && WC(a.slot, a.j, "onSlotExited"); a.j = "scheduled" }; + g.k.Nc = function (a, b) { a = IC(this, a); a.layout != null && a.layout.layoutId === b.layoutId && (a.j !== "rendering_stop_requested" && WC(a.slot, a.j, "onLayoutExited"), a.j = "entered") }; g.z(aD, g.O); aD.prototype.get = function () { this.La() && Ny("Tried to retrieve object during dispose", void 0, void 0, { type: typeof this.instance }); this.instance || (this.instance = this.j()); return this.instance }; g.z(cD, g.O); cD.prototype.C = function () { return this.j }; dD.prototype.executeCommand = function (a, b) { WA(this.j(), a, b) }; gD.prototype.addListener = function (a) { this.listeners.add(a) }; + gD.prototype.removeListener = function (a) { this.listeners.delete(a) }; var G1 = {}, pD = (G1.AD_MARKER = "ytp-ad-progress", G1.CHAPTER_MARKER = "ytp-chapter-marker", G1.TIME_MARKER = "ytp-time-marker", G1); var zMa = RegExp("^https?://([^.]*\\.moatads\\.com/|e[0-9]+\\.yt\\.srs\\.doubleverify\\.com|pagead2\\.googlesyndication\\.com/pagead/gen_204\\?id=yt3p&sr=1&|pm\\.adsafeprotected\\.com/youtube|pm\\.test-adsafeprotected\\.com/youtube|youtube[0-9]+\\.moatpixel\\.com/)"), mva = RegExp("^https://([a-z]+\\.)?[0-9a-f]{1,63}\\.sslproxy\\.corp\\.google\\.com/|^https://([a-z]+\\.)?[a-z0-9\\-]{1,63}\\.demos\\.corp\\.google\\.com/|^https://[0-9a-f]{1,63}\\.proxy\\.googleprod\\.com/|^https?://(([-\\w]*www[-\\w]*\\.|[-\\w]*web[-\\w]*\\.|[-\\w]*canary[-\\w]*\\.|[-\\w]*dev[-\\w]*\\.|[-\\w]{1,3}\\.)+(corp\\.)?youtube(-nocookie|kids|education)?\\.com/|([A-Za-z0-9-]{1,63}\\.)*(youtube\\.googleapis\\.com)[.]?(:[0-9]+)?/|([a-z]+\\.)?[a-z0-9\\-]{1,63}\\.([a-z]{3}|i)\\.corp\\.google\\.com(:[0-9]+)?/|([a-z]+\\.)?[a-z0-9\\-]{1,63}\\.c\\.googlers\\.com(:[0-9]+)?/|(docs|drive)\\.google\\.com/(a/[^/\\\\%]+/|)|(music|music-green-qa|music-release-qa|yt-music-green\\.corp)\\.youtube\\.com/|(tv|tv-green-qa|tv-release-qa)\\.youtube\\.com/|[A-Za-z0-9-]+\\.prod\\.google\\.com(:[0-9]+)?/)"), + AMa = RegExp("^https?://(www\\.google\\.com/pagead/xsul|www\\.youtube\\.com/pagead/slav)"), tva = RegExp("^https://([A-Za-z0-9-]{1,63}\\.)+demos\\.corp\\.google\\.com(/(?!url\\b)|$)|^https://([A-Za-z0-9-]{1,63}\\.)+sslproxy\\.corp\\.google\\.com(/|$)|^https?://(([A-Za-z0-9-]{1,63}\\.)*(corp\\.google\\.com|proxy\\.googleprod\\.com|c\\.googlers\\.com|proxy\\.googlers\\.com|docs\\.google\\.com|drive\\.google\\.com|prod\\.google\\.com|currents\\.google\\.com|mail\\.google\\.com|youtube\\.com|youtubeeducation\\.com|youtube\\-nocookie\\.com|youtubekids\\.com)[.]?(:[0-9]+)?/|([A-Za-z0-9-]{1,63}\\.)*(sandbox\\.google\\.com)(:[0-9]+)?(/(?!url\\b)|$))"), + rva = RegExp("^https://([A-Za-z0-9-]{1,63}\\.)+demos\\.corp\\.google\\.com(/(?!url\\b)|$)|^https://([A-Za-z0-9-]{1,63}\\.)+sslproxy\\.corp\\.google\\.com(/|$)|^https?://(([A-Za-z0-9-]{1,63}\\.)*(corp\\.google\\.com|proxy\\.googleprod\\.com|c\\.googlers\\.com|proxy\\.googlers\\.com|borg\\.google\\.com|prod\\.google\\.com|youtube\\.com|youtubekids\\.com)[.]?(:[0-9]+)?/|([A-Za-z0-9-]{1,63}\\.)*(sandbox\\.google\\.com)(:[0-9]+)?(/(?!url\\b)|$))"), ova = RegExp("^((http(s)?):)?\\/\\/((((lh[3-6](-tt|-d[a-g,z])?\\.((ggpht)|(googleusercontent)|(google)|(sandbox\\.google)))|(lh7\\-(eu|us|qw|rt)\\.((googleusercontent)|(google)))|((photos|testonly|work)\\.fife\\.usercontent\\.google)|([\\w\\-]+\\.fife\\.usercontent\\.google)|(([1-4]\\.bp\\.blogspot)|(bp[0-3]\\.blogger))|(ccp-lh\\.googleusercontent)|((((cp|ci|gp)[3-6])|(ap[1-2]))\\.(ggpht|googleusercontent))|(gm[1-4]\\.ggpht)|(play-(ti-)?lh\\.googleusercontent)|(gz0\\.googleusercontent)|(((yt[3-4])|(sp[1-3]))\\.(ggpht|googleusercontent)))\\.com)|(drive\\.google\\.com\\/drive\\-(usercontent|viewer))|(dp[3-6]\\.googleusercontent\\.cn)|(dp4\\.googleusercontent\\.com)|((photos|drive|contribution)\\-image\\-(dev|qa)(-auth|-cookie)?\\.corp\\.google\\.com)|(photos\\-image\\-dev\\-dl\\-(auth|eu|us)\\.corp\\.google\\.com)|((dev|dev2|dev3|qa|qa2|qa3|qa-red|qa-blue|canary)[-.]lighthouse\\.sandbox\\.google\\.com\\/image)|(image\\-(dev|qa)\\-lighthouse(-auth)?\\.sandbox\\.google\\.com(\\/image)?)|(drive\\-qa\\.corp\\.google\\.com\\/drive\\-(usercontent|viewer)))\\/|^https://([A-Za-z0-9-]{1,63}\\.)+demos\\.corp\\.google\\.com(/(?!url\\b)|$)|^https://([A-Za-z0-9-]{1,63}\\.)+sslproxy\\.corp\\.google\\.com(/|$)|^https?://(([A-Za-z0-9-]{1,63}\\.)*(corp\\.google\\.com|proxy\\.googleprod\\.com|c\\.googlers\\.com|proxy\\.googlers\\.com|borg\\.google\\.com|docs\\.google\\.com|drive\\.google\\.com|googleplex\\.com|play\\.google\\.com|prod\\.google\\.com|currents\\.google\\.com|video\\.google\\.com|youtube\\.com|ytimg\\.com|ytimg\\.sandbox\\.google\\.com|chat\\.google\\.com)[.]?(:[0-9]+)?/|([A-Za-z0-9-]{1,63}\\.)*(sandbox\\.google\\.com)(:[0-9]+)?(/(?!url\\b)|$)|s2\\.googleusercontent\\.com/s2/favicons\\?|yt[3-4]\\.ggpht\\.com/)"), + BMa = RegExp("^https?.*#ocr$|^https?://(aksecure\\.imrworldwide\\.com/|cdn\\.imrworldwide\\.com/|secure\\-..\\.imrworldwide\\.com/)"), pva = RegExp("^https?://(googleads\\.g\\.doubleclick\\.net/(aclk|pagead/conversion)|www\\.google\\.com/(aclk|pagead/conversion)|www\\.googleadservices\\.com/(aclk|pagead/(aclk|conversion))|www\\.youtube\\.com/pagead/conversion)"), nva = RegExp("^((http(s)?):)?\\/\\/((((lh[3-6](-tt|-d[a-g,z])?\\.((ggpht)|(googleusercontent)|(google)|(sandbox\\.google)))|(lh7\\-(eu|us|qw|rt)\\.((googleusercontent)|(google)))|((photos|testonly|work)\\.fife\\.usercontent\\.google)|([\\w\\-]+\\.fife\\.usercontent\\.google)|(([1-4]\\.bp\\.blogspot)|(bp[0-3]\\.blogger))|(ccp-lh\\.googleusercontent)|((((cp|ci|gp)[3-6])|(ap[1-2]))\\.(ggpht|googleusercontent))|(gm[1-4]\\.ggpht)|(play-(ti-)?lh\\.googleusercontent)|(gz0\\.googleusercontent)|(((yt[3-4])|(sp[1-3]))\\.(ggpht|googleusercontent)))\\.com)|(drive\\.google\\.com\\/drive\\-(usercontent|viewer))|(dp[3-6]\\.googleusercontent\\.cn)|(dp4\\.googleusercontent\\.com)|((photos|drive|contribution)\\-image\\-(dev|qa)(-auth|-cookie)?\\.corp\\.google\\.com)|(photos\\-image\\-dev\\-dl\\-(auth|eu|us)\\.corp\\.google\\.com)|((dev|dev2|dev3|qa|qa2|qa3|qa-red|qa-blue|canary)[-.]lighthouse\\.sandbox\\.google\\.com\\/image)|(image\\-(dev|qa)\\-lighthouse(-auth)?\\.sandbox\\.google\\.com(\\/image)?)|(drive\\-qa\\.corp\\.google\\.com\\/drive\\-(usercontent|viewer)))\\/|^https://([A-Za-z0-9-]{1,63}\\.)+demos\\.corp\\.google\\.com(/(?!url\\b)|$)|^https://([A-Za-z0-9-]{1,63}\\.)+sslproxy\\.corp\\.google\\.com(/|$)|^https?://(([A-Za-z0-9-]{1,63}\\.)*(corp\\.google\\.com|proxy\\.googleprod\\.com|c\\.googlers\\.com|proxy\\.googlers\\.com|borg\\.google\\.com|docs\\.google\\.com|drive\\.google\\.com|googleplex\\.com|googlevideo\\.com|prod\\.google\\.com|lh3\\.photos\\.google\\.com|currents\\.google\\.com|mail\\.google\\.com|youtube\\.com|yt\\.akamaized\\.net|chat\\.google\\.com)[.]?(:[0-9]+)?/|([A-Za-z0-9-]{1,63}\\.)*(sandbox\\.google\\.com)(:[0-9]+)?(/(?!url\\b)|$)|([A-Za-z0-9-]{1,63}\\.)*c\\.lh3(-d[a-gyz]|-testonly)?\\.(googleusercontent|photos\\.google)\\.com/.*$)"), + xJa = RegExp("^https?://(([A-Za-z0-9-]{1,63}\\.)*(imasdk\\.googleapis\\.com|2mdn\\.net|googlesyndication\\.com|corp\\.google\\.com|proxy\\.googleprod\\.com|c\\.googlers\\.com|proxy\\.googlers\\.com|borg\\.google\\.com|googleads\\.g\\.doubleclick\\.net|prod\\.google\\.com|static\\.doubleclick\\.net|static\\.googleadsserving\\.cn|studioapi\\.doubleclick\\.net|youtube\\.com|youtube\\.googleapis\\.com|youtube\\-nocookie\\.com|youtubekids\\.com|ytimg\\.com|ytimg\\.sandbox\\.google\\.com)[.]?(:[0-9]+)?/|lightbox-(demos|builder)\\.appspot\\.com/|s[01](qa)?\\.2mdn\\.net/ads/richmedia/studio/mu/templates/tetris|www\\.gstatic\\.com/doubleclick/studio/innovation/h5/layouts/tetris|www\\.gstatic\\.com/doubleclick/studio/innovation/ytplayer)"), + wJa = RegExp("^https://([A-Za-z0-9-]{1,63}\\.)*(crowdsource|datacompute)\\.google\\.com/|^https://([A-Za-z0-9-]{1,63}\\.)+demos\\.corp\\.google\\.com(/(?!url\\b)|$)|^https://([A-Za-z0-9-]{1,63}\\.)+sslproxy\\.corp\\.google\\.com(/|$)|^https://(books|localhost|play-books-(autopush|internal|preprod|staging)(-sandbox|\\.corp))\\.googleusercontent\\.com(/|$)|^https://canvastester-3fd0b\\.appspot\\.com(/|$)|^https://narrative-news-cast-receiver-d\\.appspot\\.com(/|$)|^https://narrative-news-cast-receiver-f\\.appspot\\.com(/|$)|^https://one\\.google\\.com(/|$)|^https://www\\.google\\.com/culturalinstitute/manage/.*$|^https://www\\.gstatic\\.com/aog_howto|^https://www\\.gstatic\\.com/narrative_cast_receiver/news|^https?://(([A-Za-z0-9-]{1,63}\\.)*(imasdk\\.googleapis\\.com|corp\\.google\\.com|proxy\\.googleprod\\.com|c\\.googlers\\.com|proxy\\.googlers\\.com|borg\\.google\\.com|docs\\.google\\.com|drive\\.google\\.com|googleads\\.g\\.doubleclick\\.net|googleplex\\.com|play\\.google\\.com|prod\\.google\\.com|photos\\.google\\.com|get\\.google\\.com|currents\\.google\\.com|blogger\\.com|mail\\.google\\.com|survey\\.g\\.doubleclick\\.net|youtube\\.com|youtube\\.googleapis\\.com|youtubeeducation\\.com|youtube\\-nocookie\\.com|yt\\-web\\-embedded\\-player\\.appspot\\.com|youtubekids\\.com|vevo\\.com|chat\\.google\\.com|meet\\.google\\.com|artsandculture\\.google\\.com)[.]?(:[0-9]+)?(/|$)|([A-Za-z0-9-]{1,63}\\.)*(sandbox\\.google\\.com)(:[0-9]+)?(/(?!url\\b)|$)|(www\\.|encrypted\\.)?google\\.(cat|com(\\.(a[fgiru]|b[dhnorz]|c[ouy]|do|e[cgt]|fj|g[hit]|hk|jm|kh|kw|l[bcy]|m[mtxy]|n[afgip]|om|p[aeghkry]|qa|s[abglv]|t[jnrw]|ua|uy|vc|vn))?|a[cdelmstz]|c[acdfghilmnvz]|b[aefgijsty]|ee|es|d[ejkmz]|g[aefglmpry]|f[imr]|i[emoqrst]|h[nrtu]|k[giz]|je|jo|m[degklnsuvw]|l[aiktuv]|n[eloru]|p[lnst]|s[cehikmnort]|r[osuw]|us|t[dgklmnot]|ws|vg|vu|co\\.(ao|bw|ck|cr|i[dln]|jp|ke|kr|ls|ma|mz|nz|th|tz|u[gkz]|ve|vi|z[amw]))/(search|webhp)\\?|(www\\.|encrypted\\.)google\\.(cat|com(\\.(a[fgiru]|b[dhnorz]|c[ouy]|do|e[cgt]|fj|g[hit]|hk|jm|kh|kw|l[bcy]|m[mtxy]|n[afgip]|om|p[aeghkry]|qa|s[abglv]|t[jnrw]|ua|uy|vc|vn))?|a[cdelmstz]|c[acdfghilmnvz]|b[aefgijsty]|ee|es|d[ejkmz]|g[aefglmpry]|f[imr]|i[emoqrst]|h[nrtu]|k[giz]|je|jo|m[degklnsuvw]|l[aiktuv]|n[eloru]|p[lnst]|s[cehikmnort]|r[osuw]|us|t[dgklmnot]|ws|vg|vu|co\\.(ao|bw|ck|cr|i[dln]|jp|ke|kr|ls|ma|mz|nz|th|tz|u[gkz]|ve|vi|z[amw]))/?$|lightbox-(demos|builder)\\.appspot\\.com/|s0\\.2mdn\\.net/instream/html5/native/|s[01](qa)?\\.2mdn\\.net/ads/richmedia/studio/mu/templates/tetris|www\\.gstatic\\.com/doubleclick/studio/innovation/h5/layouts/tetris)"), + fbb = RegExp("^(https://photos\\.google\\.com|https://get\\.google\\.com|https://currents\\.google\\.com|https://mail\\.google\\.com|https://yt\\-web\\-embedded\\-player\\.appspot\\.com|http://yt\\-web\\-embedded\\-player\\.appspot\\.com|https://chat\\.google\\.com|https://one\\.google\\.com|https://artsandculture\\.google\\.com)$|^http://[0-9]+\\.[a-z0-9\\-_]+\\.[a-z0-9\\-_]+\\.[a-z0-9\\-_]+\\.([a-z]{2}|i)\\.borg\\.google\\.com(:[0-9]+)?$|^https://((autopush|beta-lookup|daily-[0-6]|manual-qual|preprod|stream)\\.)?meet\\.google\\.com$|^https://([A-Za-z0-9-]{1,63}\\.)*(crowdsource|datacompute)\\.google\\.com$|^https://([A-Za-z0-9-]{1,63}\\.)*(youtube|youtubekids|youtubeeducation)\\.com$|^https://([A-Za-z0-9-]{1,63}\\.)+demos\\.corp\\.google\\.com$|^https://([A-Za-z0-9-]{1,63}\\.)+sandbox\\.google\\.com$|^https://([A-Za-z0-9-]{1,63}\\.)+sslproxy\\.corp\\.google\\.com$|^https://(books|localhost|play-books-(autopush|internal|preprod|staging)(-sandbox|\\.corp))\\.googleusercontent\\.com$|^https://(draft|www|(www\\.)?dev\\.sandbox|(www\\.)?autopush\\.sandbox|(www\\.)?staging\\.sandbox|(www\\.)?restore\\.sandbox)\\.blogger\\.com$|^https://[0-9a-f]{1,63}\\.proxy\\.googleprod\\.com$|^https?://(((docs|m|sing|ss|sss|www)\\.)?drive\\.google\\.com$|([A-Za-z0-9-]{1,63}\\.)*c\\.googlers\\.com(:[0-9]+)?$|([A-Za-z0-9-]{1,63}\\.)*corp\\.google\\.com(:[0-9]+)?$|([A-Za-z0-9-]{1,63}\\.)*googleplex\\.com(:[0-9]+)?$|([A-Za-z0-9-]{1,63}\\.)*proxy\\.googlers\\.com(:[0-9]+)?$|(www\\.|encrypted\\.)google\\.(cat|com(\\.(a[fgiru]|b[dhnorz]|c[ouy]|do|e[cgt]|fj|g[hit]|hk|jm|kh|kw|l[bcy]|m[mtxy]|n[afgip]|om|p[aeghkry]|qa|s[abglv]|t[jnrw]|ua|uy|vc|vn))?|a[cdelmstz]|c[acdfghilmnvz]|b[aefgijsty]|ee|es|d[ejkmz]|g[aefglmpry]|f[imr]|i[emoqrst]|h[nrtu]|k[giz]|je|jo|m[degklnsuvw]|l[aiktuv]|n[eloru]|p[lnst]|s[cehikmnort]|r[osuw]|us|t[dgklmnot]|ws|vg|vu|co\\.(ao|bw|ck|cr|i[dln]|jp|ke|kr|ls|ma|mz|nz|th|tz|u[gkz]|ve|vi|z[amw]))/?$|[A-Za-z0-9-]+\\.prod\\.google\\.com(:[0-9]+)?$|docs\\.google\\.com$)"); g.qD.prototype.getId = function () { return this.id }; + g.qD.prototype.toString = function () { return "CueRange{" + this.namespace + ":" + this.id + "}[" + xva(this.start) + ", " + xva(this.end) + "]" }; + g.qD.prototype.contains = function (a, b) { return a >= this.start && (a < this.end || a === this.end && this.start === this.end) && (b == null || a < b && b <= this.end) }; + var wva = 1; g.qD.prototype.getId = g.qD.prototype.getId; uD.prototype.TE = function () { + var a = this, b = 0; kva(this.j, function () { var c = tC(a.slot.Ca, "metadata_type_ad_break_request_data"); b = Date.now(); JG(a.Oa.get(), "abrs", "ct." + b + ";cmt." + a.Ia.get().getCurrentTimeSec(1, !1) + ";sid." + a.slot.slotId + ";"); return a.B.get().fetch({ E3: c.getAdBreakUrl, FX: new g.qD(c.WS, c.VS), Sw: tC(a.slot.Ca, "metadata_type_cue_point"), cueProcessedMs: c.cueProcessedMs }) }, function () { zva(a) }, function (c) { + var d = Date.now() - b; + JG(a.Oa.get(), "abrr", "ct." + (new Date).getTime() + ";cmt." + a.Ia.get().getCurrentTimeSec(1, !1) + ";l." + d.toString() + ";sid." + a.slot.slotId + ";"); d = c.Cw; d.length >= 2 && c.ssdaiAdsConfig && Ny("Unexpected ad placement renderers length", a.slot, null, { length: d.length }); d.some(function (e) { var f, h, l, m; return !!((f = e.renderer) == null ? 0 : (h = f.linearAdSequenceRenderer) == null ? 0 : (l = h.linearAds) == null ? 0 : l.length) || !((m = e.renderer) == null || !m.instreamVideoAdRenderer) }) || zva(a) + }) + }; + uD.prototype.HO = function () { lva(this.j) }; vD.prototype.TE = function () { var a = this; kva(this.j, function () { var b = tC(a.slot.Ca, "metadata_type_ad_break_request_data"); return a.B.get().fetch({ E3: b.getAdBreakUrl, FX: new g.qD(b.WS, b.VS) }) }) }; + vD.prototype.HO = function () { lva(this.j) }; wD.prototype.TE = function () { var a = this.slot.Ca, b, c = (b = this.slot.fulfilledLayout) != null ? b : tC(a, "metadata_type_fulfilled_layout"); Qua(this.callback, this.slot, c) }; + wD.prototype.HO = function () { GC(this.callback, this.slot, new rC("Got CancelSlotFulfilling request for " + this.slot.slotType + " in DirectFulfillmentAdapter.", void 0, "ADS_CLIENT_ERROR_MESSAGE_INVALID_FULFILLMENT_CANCELLATION_REQUEST"), "ADS_CLIENT_ERROR_TYPE_FULFILL_SLOT_FAILED") }; yD.prototype.build = function (a, b) { return b.fulfilledLayout || xD(b, { Nd: ["metadata_type_fulfilled_layout"] }) ? new wD(a, b) : this.C(a, b) }; g.z(zD, yD); + zD.prototype.C = function (a, b) { if (xD(b, { Nd: ["metadata_type_ad_break_request_data", "metadata_type_cue_point"], slotType: "SLOT_TYPE_AD_BREAK_REQUEST" })) return new uD(a, b, this.j, this.B, this.Me, this.Aa, this.Oa, this.Ia, this.Gc); if (xD(b, { Nd: ["metadata_type_ad_break_request_data"], slotType: "SLOT_TYPE_AD_BREAK_REQUEST" })) return new vD(a, b, this.j, this.B, this.Me, this.Aa); throw new rC("Unsupported slot with type: " + b.slotType + " and client metadata: " + uC(b.Ca) + " in AdBreakRequestSlotFulfillmentAdapterFactory."); }; g.z(AD, yD); AD.prototype.C = function (a, b) { throw new rC("Unsupported slot with type: " + b.slotType + " and client metadata: " + uC(b.Ca) + " in DefaultFulfillmentAdapterFactory."); }; g.k = Ava.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.init = function () { }; + g.k.release = function () { }; + g.k.startRendering = function (a) { + if (a.layoutId !== this.layout.layoutId) this.callback.Hf(this.slot, a, new qC("Tried to start rendering an unknown layout, this adapter requires LayoutId: " + this.layout.layoutId + ("and LayoutType: " + this.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED"); else { + var b = tC(a.Ca, "metadata_type_ad_break_response_data"); this.slot.slotType === "SLOT_TYPE_AD_BREAK_REQUEST" ? (this.callback.vc(this.slot, a), Iya(this.B, this.slot, + b)) : Ny("Unexpected slot type in AdBreakResponseLayoutRenderingAdapter - this should never happen", this.slot, a) + } + }; + g.k.Kd = function (a, b) { a.layoutId !== this.layout.layoutId ? this.callback.Hf(this.slot, a, new qC("Tried to stop rendering an unknown layout, this adapter requires LayoutId: " + this.layout.layoutId + ("and LayoutType: " + this.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_EXIT_LAYOUT_FAILED") : (this.callback.Nc(this.slot, a, b), Cva(this)) }; g.z(FD, g.Fx); g.k = FD.prototype; g.k.Zb = function () { return this.B.slot }; + g.k.Za = function () { return this.B.layout }; + g.k.init = function () { this.C.get().addListener(this) }; + g.k.release = function () { this.C.get().removeListener(this); this.dispose() }; + g.k.sQ = function () { }; + g.k.qQ = function () { }; + g.k.pQ = function () { }; + g.k.qK = function () { }; + g.k.startRendering = function (a) { var b = this; ED(this.B, a, function () { return void b.FM() }) }; + g.k.FM = function () { this.C.get().FM(this.j) }; + g.k.Kd = function (a, b) { var c = this; ED(this.B, a, function () { var d = c.C.get(); y7a(d, c.j, 3); c.j = []; c.callback.Nc(c.slot, a, b) }) }; + g.k.xa = function () { this.C.La() || this.C.get().removeListener(this); g.Fx.prototype.xa.call(this) }; + g.da.Object.defineProperties(FD.prototype, { + slot: { configurable: !0, enumerable: !0, get: function () { return this.B.slot } }, + layout: { configurable: !0, enumerable: !0, get: function () { return this.B.layout } } + }); MD.prototype.Rh = function (a, b) { b = b === void 0 ? !1 : b; var c = (this.C.get(a) || []).concat(); if (b = b && Fva(a)) { var d = this.C.get(b); d && c.push.apply(c, g.x(d)) } PD(this, a, c); this.j.add(a); b && this.j.add(b) }; + MD.prototype.Xb = function (a, b) { b = b === void 0 ? !1 : b; if (!this.j.has(a)) { var c = b && Fva(a); c && (b = !this.j.has(c)); this.Rh(a, b) } }; g.z(Iva, Ex); g.z(UD, FD); g.k = UD.prototype; g.k.hg = function (a, b) { ID("ads-engagement-panel-layout", a, this.K.get().nj, this.Oa.get(), this.D, this.G, this.Zb(), this.Za(), b) }; + g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), g.R(this.Za().renderingContent, XH), this.callback, "metadata_type_ads_engagement_panel_layout_view_model", function (b, c, d, e, f) { return new Iva(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function (a, b) { this.G === b.layoutId && (this.D === null ? this.D = this.Oa.get().Ki() : Ny("OnLayoutEntered should set engagePingCallback, but it was not null", this.slot, this.layout)) }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; g.z(Kva, Ex); g.z(VD, FD); g.k = VD.prototype; g.k.hg = function (a, b) { ID("banner-image", a, this.K.get().nj, this.Oa.get(), this.D, this.G, this.Zb(), this.Za(), b) }; + g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), g.R(this.Za().renderingContent, VH), this.callback, "metadata_type_banner_image_layout_view_model", function (b, c, d, e, f) { return new Kva(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function (a, b) { this.G === b.layoutId && (this.D === null ? this.D = this.Oa.get().Ki() : Ny("OnLayoutEntered should set engagePingCallback, but it was not null", this.slot, this.layout)) }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; g.z(WD, Ex); g.z(XD, FD); g.k = XD.prototype; g.k.hg = function (a, b) { ID("action-companion", a, this.K.get().nj, this.Oa.get(), this.D, this.G, this.Zb(), this.Za(), b) }; + g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), g.R(this.Za().renderingContent, SH), this.callback, "metadata_type_action_companion_ad_renderer", function (b, c, d, e, f) { return new WD(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function (a, b) { b.layoutId === this.layout.layoutId ? this.eb.Xb("impression") : this.G === b.layoutId && (this.D === null ? this.D = this.Oa.get().Ki() : Ny("OnLayoutEntered should set engagePingCallback, but it was not null", this.slot, this.layout)) }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; g.z(Nva, Ex); g.z(YD, FD); g.k = YD.prototype; g.k.hg = function (a, b) { ID("image-companion", a, this.K.get().nj, this.Oa.get(), this.D, this.G, this.Zb(), this.Za(), b) }; + g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), g.R(this.Za().renderingContent, TH), this.callback, "metadata_type_image_companion_ad_renderer", function (b, c, d, e, f) { return new Nva(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function (a, b) { b.layoutId === this.layout.layoutId ? this.eb.Xb("impression") : this.G === b.layoutId && (this.D === null ? this.D = this.Oa.get().Ki() : Ny("OnLayoutEntered should set engagePingCallback, but it was not null", this.slot, this.layout)) }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; g.z(Pva, Ex); g.z(ZD, FD); g.k = ZD.prototype; g.k.hg = function (a, b) { ID("shopping-companion", a, this.K.get().nj, this.Oa.get(), this.D, this.G, this.Zb(), this.Za(), b) }; + g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), void 0, this.callback, "metadata_type_shopping_companion_carousel_renderer", function (b, c, d, e, f) { return new Pva(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function (a, b) { b.layoutId === this.layout.layoutId ? this.eb.Xb("impression") : this.G === b.layoutId && (this.D === null ? this.D = this.Oa.get().Ki() : Ny("OnLayoutEntered should set engagePingCallback, but it was not null", this.slot, this.layout)) }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; g.z($D, FD); g.k = $D.prototype; g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), void 0, this.callback, "metadata_type_action_companion_ad_renderer", function (b, c, d, e, f) { return new WD(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function () { }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; + g.k.hg = function () { }; g.k = Wva.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.init = function () { this.Ia.get().addListener(this); this.Ia.get().wE.push(this); var a = tC(this.layout.Ca, "metadata_type_video_length_seconds"), b = tC(this.layout.Ca, "metadata_type_active_view_traffic_type"); JD(this.layout.Eb) && l0(this.zb.get(), this.layout.layoutId, { At: b, lI: a, listener: this }) }; + g.k.release = function () { this.Ia.get().removeListener(this); s7a(this.Ia.get(), this); JD(this.layout.Eb) && m0(this.zb.get(), this.layout.layoutId) }; + g.k.startRendering = function (a) { this.callback.vc(this.slot, a) }; + g.k.Kd = function (a, b) { T6a(this.Aa.get()) && !this.j && (this.eb.Xb("abandon"), this.j = !0); this.callback.Nc(this.slot, a, b) }; + g.k.Ij = function (a) { + switch (a.id) { + case "part2viewed": this.eb.Xb("start"); this.eb.Xb("impression"); break; case "videoplaytime25": this.eb.Xb("first_quartile"); break; case "videoplaytime50": this.eb.Xb("midpoint"); break; case "videoplaytime75": this.eb.Xb("third_quartile"); break; case "videoplaytime100": T6a(this.Aa.get()) ? this.j || (this.eb.Xb("complete"), this.j = !0) : this.eb.Xb("complete"); TD(this.eb) && RD(this.eb, Infinity, !0); break; case "engagedview": TD(this.eb) || this.eb.Xb("progress"); break; case "conversionview": case "videoplaybackstart": case "videoplayback2s": case "videoplayback10s": break; + default: Ny("Cue Range ID unknown in DiscoveryLayoutRenderingAdapter", this.slot, this.layout) + } + }; + g.k.onVolumeChange = function () { }; + g.k.gj = function () { }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.onFullscreenToggled = function () { }; + g.k.Bg = function () { }; + g.k.Ni = function () { }; + g.k.PR = function (a) { TD(this.eb) && RD(this.eb, a * 1E3, !1) }; + g.k.Lj = function () { }; + g.k.gy = function () { this.eb.Xb("active_view_measurable") }; + g.k.iy = function () { this.eb.Xb("active_view_viewable") }; + g.k.ey = function () { this.eb.Xb("active_view_fully_viewable_audible_half_duration") }; + g.k.Zx = function () { this.eb.Xb("audio_measurable") }; + g.k.Yx = function () { this.eb.Xb("audio_audible") }; g.z(aE, FD); g.k = aE.prototype; g.k.init = function () { FD.prototype.init.call(this); var a = tC(this.layout.Ca, "metadata_type_instream_ad_player_overlay_renderer"), b = { adsClientData: this.layout.ac }; this.j.push(new Wy(a, this.layout.layoutId, tC(this.layout.Ca, "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds"), b, !0)) }; + g.k.rq = function () { this.D || this.Ia.get().resumeVideo(1) }; + g.k.startRendering = function (a) { FD.prototype.startRendering.call(this, a); t0(this.Ia.get(), "ad-showing"); this.callback.vc(this.slot, a); this.G.zt = this }; + g.k.Kd = function (a, b) { FD.prototype.Kd.call(this, a, b); u0(this.Ia.get(), "ad-showing"); Y0(this.G, this) }; + g.k.hg = function (a) { switch (a) { case "ad-info-icon-button": (this.D = this.Ia.get().Fo(1)) || this.Ia.get().pauseVideo(); break; case "visit-advertiser": this.Ia.get().pauseVideo() } }; + g.k.xa = function () { FD.prototype.xa.call(this) }; g.z(bE, Ex); g.z(cE, FD); g.k = cE.prototype; g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), void 0, this.callback, "metadata_type_top_banner_image_text_icon_buttoned_layout_view_model", function (b, c, d, e, f) { return new bE(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function () { }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; + g.k.hg = function () { }; g.z(dE, Ex); g.z(eE, FD); eE.prototype.init = function () { FD.prototype.init.call(this); var a = g.R(this.layout.renderingContent, sE) || tC(this.layout.Ca, "metadata_type_ad_action_interstitial_renderer"), b = GD(this.eb); this.j.push(new dE(a, b, this.layout.layoutId, { adsClientData: this.layout.ac }, !0, !0)) }; + eE.prototype.startRendering = function (a) { FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a) }; + eE.prototype.hg = function (a, b) { if (b === this.layout.layoutId) switch (a) { case "skip-button": var c; (a = (c = tC(this.layout.Ca, "metadata_type_ad_pod_skip_target_callback_ref")) == null ? void 0 : c.current) && a.EL(this.Zb(), this.layout) } }; + eE.prototype.xa = function () { FD.prototype.xa.call(this) }; gE.prototype.build = function (a, b, c, d) { if (fE(d, { Nd: ["metadata_type_ad_break_response_data"], Fe: ["LAYOUT_TYPE_AD_BREAK_RESPONSE", "LAYOUT_TYPE_THROTTLED_AD_BREAK_RESPONSE"] })) return new Ava(a, c, d, this.B, this.C, this.j); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in AdBreakRequestLayoutRenderingAdapterFactory."); }; g.z(Zva, Ex); g.z(hE, FD); g.k = hE.prototype; g.k.hg = function (a, b) { ID("ads-engagement-panel", a, this.K.get().nj, this.Oa.get(), this.D, this.G, this.Zb(), this.Za(), b) }; + g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), g.R(this.Za().renderingContent, UH), this.callback, "metadata_type_ads_engagement_panel_renderer", function (b, c, d, e, f) { return new Zva(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function (a, b) { b.layoutId === this.layout.layoutId ? this.eb.Xb("impression") : this.G === b.layoutId && (this.D === null ? this.D = this.Oa.get().Ki() : Ny("OnLayoutEntered should set engagePingCallback, but it was not null", this.slot, this.layout)) }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; g.z(iE, FD); g.k = iE.prototype; g.k.hg = function (a, b) { ID("top-banner-image-text-icon-buttoned", a, this.K.get().nj, this.Oa.get(), this.D, this.G, this.Zb(), this.Za(), b) }; + g.k.startRendering = function (a) { + HD(this.eb, this.Zb(), this.Za(), g.R(this.Za().renderingContent, WH), this.callback, "metadata_type_top_banner_image_text_icon_buttoned_layout_view_model", function (b, c, d, e, f) { return new bE(b, c, d, e, f) }, this.j); + FD.prototype.startRendering.call(this, a) + }; + g.k.vc = function (a, b) { this.G === b.layoutId && (this.D === null ? this.D = this.Oa.get().Ki() : Ny("OnLayoutEntered should set engagePingCallback, but it was not null", this.slot, this.layout)) }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.xa = function () { EC(this.qc(), this); FD.prototype.xa.call(this) }; bwa.prototype.build = function (a, b, c, d) { + if (fE(d, $va()) || g.R(d.renderingContent, UH) !== void 0) return new hE(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); if (fE(d, Mva()) || g.R(d.renderingContent, SH) !== void 0) return new XD(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); if (fE(d, Ova()) || g.R(d.renderingContent, TH) !== void 0) return new YD(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); if (fE(d, Qva())) return new ZD(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); if (fE(d, Vva())) return new $D(a, c, d, this.Bc, this.Oa, this.qc, + this.zb, this.j); if (fE(d, Lva()) || g.R(d.renderingContent, VH) !== void 0) return new VD(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); if (fE(d, awa()) || g.R(d.renderingContent, WH) !== void 0) return new iE(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); if (fE(d, Xva())) return new cE(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); if (fE(d, Jva()) || g.R(d.renderingContent, XH) !== void 0) return new UD(a, c, d, this.Bc, this.Oa, this.qc, this.zb, this.j); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + + uC(d.Ca) + " in DesktopAboveFeedLayoutRenderingAdapterFactory."); + }; g.z(jE, Ex); g.z(kE, FD); kE.prototype.init = function () { FD.prototype.init.call(this); var a = tC(this.layout.Ca, "metadata_type_player_underlay_renderer"); this.j.push(new jE(g.R(a, P$a), this.layout.layoutId, { adsClientData: this.layout.ac })) }; + kE.prototype.hg = function () { }; + kE.prototype.startRendering = function (a) { FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a) }; + kE.prototype.xa = function () { FD.prototype.xa.call(this) }; cwa.prototype.build = function (a, b, c, d) { b = ["metadata_type_player_underlay_renderer"]; for (var e = g.w(ND()), f = e.next(); !f.done; f = e.next())b.push(f.value); if (fE(d, { Nd: b, Fe: ["LAYOUT_TYPE_UNDERLAY_TEXT_ICON_BUTTON"] })) return new kE(a, c, d, this.Bc); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in DesktopPlayerUnderlayLayoutRenderingAdapterFactory."); }; g.k = dwa.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.init = function () { }; + g.k.release = function () { }; + g.k.startRendering = function (a) { a.layoutId !== this.layout.layoutId ? this.callback.Hf(this.slot, a, new qC("Tried to start rendering an unknown layout, this adapter requires LayoutId: " + this.layout.layoutId + ("and LayoutType: " + this.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") : (this.callback.vc(this.slot, a), this.eb.Xb("impression"), AG(this.Oi, a, "normal")) }; + g.k.Kd = function (a, b) { a.layoutId !== this.layout.layoutId ? this.callback.Hf(this.slot, a, new qC("Tried to stop rendering an unknown layout, this adapter requires LayoutId: " + this.layout.layoutId + ("and LayoutType: " + this.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_EXIT_LAYOUT_FAILED") : this.callback.Nc(this.slot, a, b) }; g.k = fwa.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.init = function () { }; + g.k.release = function () { }; + g.k.startRendering = function (a) { a.layoutId !== this.layout.layoutId ? this.callback.Hf(this.slot, a, new qC("Tried to start rendering an unknown layout, this adapter requires LayoutId: " + this.layout.layoutId + ("and LayoutType: " + this.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") : (this.callback.vc(this.slot, a), this.eb.Xb("impression"), AG(this.Oi, a, "normal")) }; + g.k.Kd = function (a, b) { a.layoutId !== this.layout.layoutId ? this.callback.Hf(this.slot, a, new qC("Tried to stop rendering an unknown layout, this adapter requires LayoutId: " + this.layout.layoutId + ("and LayoutType: " + this.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_EXIT_LAYOUT_FAILED") : this.callback.Nc(this.slot, a, b) }; lE.prototype.build = function (a, b, c, d) { if (!this.Aa.get().J.U().L("h5_optimize_forcasting_slot_layout_creation_with_trimmed_metadata")) { if (fE(d, ewa())) return new dwa(a, c, d, this.Oa, this.Oi) } else if (fE(d, { Nd: [], Fe: ["LAYOUT_TYPE_FORECASTING"] })) return new fwa(a, c, d, this.Oa, this.Oi); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in ForecastingLayoutRenderingAdapterFactory."); }; g.z(iwa, Ex); g.z(mE, FD); g.k = mE.prototype; g.k.init = function () { FD.prototype.init.call(this); var a = g.R(this.layout.renderingContent, rE) || tC(this.layout.Ca, "metadata_type_player_overlay_layout_renderer"), b = { adsClientData: this.layout.ac }; this.j.push(new iwa(a, tC(this.layout.Ca, "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds"), this.layout.layoutId, b)) }; + g.k.rq = function () { this.D || this.Ia.get().resumeVideo(2) }; + g.k.startRendering = function (a) { FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a); this.G.zt = this }; + g.k.Kd = function (a, b) { FD.prototype.Kd.call(this, a, b); Y0(this.G, this) }; + g.k.hg = function (a) { + if (eJ(this.K.get(), this.N)) switch (a) { case "visit-advertiser-link": this.Oa.get().J.sendVideoStatsEngageEvent(3, void 0, 2) }switch (a) { + case "ad-mute-confirm-dialog-close-button": case "ad-feedback-undo-mute-button": case "ad-info-dialog-close-button": this.D || this.Ia.get().resumeVideo(2); break; case "ad-info-icon-button": case "ad-player-overflow-button": (this.D = this.Ia.get().Fo(2)) || this.Ia.get().pauseVideo(); break; case "visit-advertiser-link": this.Ia.get().pauseVideo(); jwa(this).mM(); break; + case "skip-button": if (a = jwa(this), !this.layout.renderingContent && a.KK) Ny("Requesting to skip by LegacyPlayerBytes when components enabled"), a.qy(this.Zb(), this.layout); else { var b; (a = (b = tC(this.layout.Ca, "metadata_type_ad_pod_skip_target_callback_ref")) == null ? void 0 : b.current) && a.EL(this.Zb(), this.layout) } + } + }; + g.k.xa = function () { FD.prototype.xa.call(this) }; g.z(nE, FD); g.k = nE.prototype; g.k.init = function () { FD.prototype.init.call(this); var a = g.R(this.layout.renderingContent, qE) || tC(this.layout.Ca, "metadata_type_instream_ad_player_overlay_renderer"), b = { adsClientData: this.layout.ac }, c; (c = !!this.layout.renderingContent) || (c = !oE(this).KK); this.j.push(new Wy(a, this.layout.layoutId, tC(this.layout.Ca, "METADATA_TYPE_MEDIA_LAYOUT_DURATION_seconds"), b, c)) }; + g.k.rq = function () { this.D || this.Ia.get().resumeVideo(2) }; + g.k.startRendering = function (a) { FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a); this.G.zt = this }; + g.k.Kd = function (a, b) { FD.prototype.Kd.call(this, a, b); Y0(this.G, this) }; + g.k.hg = function (a) { + if (eJ(this.K.get(), this.N)) switch (a) { case "visit-advertiser": this.Oa.get().J.sendVideoStatsEngageEvent(3, void 0, 2) }switch (a) { + case "ad-mute-confirm-dialog-close-button": case "ad-feedback-undo-mute-button": case "ad-info-dialog-close-button": this.D || this.Ia.get().resumeVideo(2); break; case "ad-info-icon-button": case "ad-player-overflow-button": (this.D = this.Ia.get().Fo(2)) || this.Ia.get().pauseVideo(); break; case "visit-advertiser": this.Ia.get().pauseVideo(); oE(this).mM(); break; case "skip-button": if (a = + oE(this), !this.layout.renderingContent && a.KK) Ny("Requesting to skip by LegacyPlayerBytes"), a.qy(this.Zb(), this.layout); else { var b; (a = (b = tC(this.layout.Ca, "metadata_type_ad_pod_skip_target_callback_ref")) == null ? void 0 : b.current) && a.EL(this.Zb(), this.layout) } + } + }; + g.k.xa = function () { FD.prototype.xa.call(this) }; g.z(lwa, Ex); g.z(pE, FD); g.k = pE.prototype; g.k.startRendering = function (a) { var b = this; ED(this.B, a, function () { b.j.push(new lwa(tC(b.layout.Ca, "metadata_type_valid_ad_message_renderer"), a.layoutId, a.ac)); b.FM(); b.callback.vc(b.slot, a); g.U(k0(b.Ia.get(), 1), 512) && b.callback.Hf(b.Zb(), b.Za(), new qC("player is stuck during adNotify", void 0, "ADS_CLIENT_ERROR_MESSAGE_PLAYER_STUCK_DURING_ADNOTIFY"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") }) }; + g.k.Ni = function () { }; + g.k.Bg = function (a) { if (a.state.isError()) { var b; this.callback.Hf(this.Zb(), this.Za(), new qC("A player error happened during adNotify", { playerErrorCode: (b = a.state.eh) == null ? void 0 : b.errorCode }, "ADS_CLIENT_ERROR_MESSAGE_PLAYER_ERROR_DURING_ADNOTIFY"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") } }; + g.k.onFullscreenToggled = function () { }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.gj = function () { }; + g.k.onVolumeChange = function () { }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; + g.k.hg = function () { }; nwa.prototype.build = function (a, b, c, d) { if (a = tE(a, c, d, this.Bc, this.Ia, this.Oa, this.B, this.j, this.Aa)) return a; throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in OtherWebInPlayerLayoutRenderingAdapterFactory."); }; g.k = owa.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.init = function () { this.Ia.get().addListener(this); this.Ia.get().wE.push(this); var a = tC(this.layout.Ca, "metadata_type_video_length_seconds"), b = tC(this.layout.Ca, "metadata_type_active_view_traffic_type"), c = tC(this.layout.Ca, "metadata_type_active_view_identifier"); JD(this.layout.Eb) && l0(this.zb.get(), this.layout.layoutId, { At: b, lI: a, listener: this, b7: c }) }; + g.k.release = function () { this.Ia.get().removeListener(this); s7a(this.Ia.get(), this); JD(this.layout.Eb) && m0(this.zb.get(), this.layout.layoutId) }; + g.k.startRendering = function (a) { this.callback.vc(this.slot, a) }; + g.k.Kd = function (a, b) { wE(this, "abandon"); this.callback.Nc(this.slot, a, b) }; + g.k.Ij = function (a) { + switch (a.id) { + case "part2viewed": this.eb.Xb("start"); this.eb.Xb("impression"); break; case "videoplaytime25": this.eb.Xb("first_quartile"); break; case "videoplaytime50": this.eb.Xb("midpoint"); break; case "videoplaytime75": this.eb.Xb("third_quartile"); break; case "videoplaytime100": wE(this, "complete"); TD(this.eb) && RD(this.eb, Infinity, !0); break; case "engagedview": TD(this.eb) || this.eb.Xb("progress"); break; case "conversionview": case "videoplaybackstart": case "videoplayback2s": case "videoplayback10s": break; + default: Ny("Cue Range ID unknown in ShortsPlaybackTrackingLayoutRenderingAdapter", this.slot, this.layout) + } + }; + g.k.onVolumeChange = function () { }; + g.k.gj = function () { }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.onFullscreenToggled = function () { }; + g.k.Bg = function (a) { this.j || (g.Qy(a, 4) && !g.Qy(a, 2) ? QD(this.eb, "pause") : Py(a, 4) < 0 && !(Py(a, 2) < 0) && QD(this.eb, "resume")) }; + g.k.Ni = function () { }; + g.k.PR = function (a) { TD(this.eb) && RD(this.eb, a * 1E3, !1) }; + g.k.Lj = function () { wE(this, "swipe") }; + g.k.gy = function () { this.eb.Xb("active_view_measurable") }; + g.k.iy = function () { this.eb.Xb("active_view_viewable") }; + g.k.ey = function () { this.eb.Xb("active_view_fully_viewable_audible_half_duration") }; + g.k.Zx = function () { this.eb.Xb("audio_measurable") }; + g.k.Yx = function () { this.eb.Xb("audio_audible") }; pwa.prototype.build = function (a, b, c, d) { + b = ["metadata_type_ad_placement_config"]; for (var e = g.w(ND()), f = e.next(); !f.done; f = e.next())b.push(f.value); if (fE(d, { Nd: b, Fe: ["LAYOUT_TYPE_DISCOVERY_PLAYBACK_TRACKER"] })) return c.slotType === "SLOT_TYPE_PLAYER_BYTES_SEQUENCE_ITEM" ? new owa(a, c, d, this.Ia, this.Oa, this.Aa, this.zb) : new Wva(a, c, d, this.Ia, this.Oa, this.Aa, this.zb); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in PlaybackTrackingLayoutRenderingAdapterFactory."); + }; var AE = { contentCpn: "", Gt: new Map }; xwa.prototype.Gk = function (a, b) { var c = {}; b = Object.assign({}, b, (c.cc = this.Kf.Hm(), c)); zE(this.Kf, a, b) }; var gbb, H1, ywa; + gbb = { + Tfa: "ALREADY_PINNED_ON_A_DEVICE", AUTHENTICATION_EXPIRED: "AUTHENTICATION_EXPIRED", qga: "AUTHENTICATION_MALFORMED", rga: "AUTHENTICATION_MISSING", vga: "BAD_REQUEST", Cga: "CAST_SESSION_DEVICE_MISMATCHED", Dga: "CAST_SESSION_VIDEO_MISMATCHED", Ega: "CAST_TOKEN_EXPIRED", Fga: "CAST_TOKEN_FAILED", Gga: "CAST_TOKEN_MALFORMED", Hga: "CGI_PARAMS_MALFORMED", Iga: "CGI_PARAMS_MISSING", gha: "DEVICE_FALLBACK", Bha: "GENERIC_WITH_LINK_AND_CPN", Cha: "ERROR_HDCP", Dha: "LICENSE", Fha: "VIDEO_UNAVAILABLE", Lha: "FORMAT_UNAVAILABLE", Qha: "GEO_FAILURE", + iia: "HTML5_AUDIO_RENDERER_ERROR", jia: "GENERIC_WITHOUT_LINK", kia: "HTML5_NO_AVAILABLE_FORMATS_FALLBACK", lia: "HTML5_NO_AVAILABLE_FORMATS_FALLBACK_WITH_LINK", mia: "HTML5_NO_AVAILABLE_FORMATS_FALLBACK_WITH_LINK_SHORT", oia: "HTML5_SPS_UMP_STATUS_REJECTED", yia: "INVALID_DRM_MESSAGE", jka: "PURCHASE_NOT_FOUND", kka: "PURCHASE_REFUNDED", rka: "RENTAL_EXPIRED", xka: "RETRYABLE_ERROR", Fka: "SERVER_ERROR", Nka: "SIGNATURE_EXPIRED", Uka: "STOPPED_BY_ANOTHER_PLAYBACK", Vka: "STREAMING_DEVICES_QUOTA_PER_24H_EXCEEDED", Wka: "STREAMING_NOT_ALLOWED", + Xka: "STREAM_LICENSE_NOT_FOUND", hla: "TOO_MANY_REQUESTS", ila: "TOO_MANY_REQUESTS_WITH_LINK", jla: "TOO_MANY_STREAMS_PER_ENTITLEMENT", kla: "TOO_MANY_STREAMS_PER_USER", UNSUPPORTED_DEVICE: "UNSUPPORTED_DEVICE", Gla: "VIDEO_FORBIDDEN", Hla: "VIDEO_NOT_FOUND", yga: "BROWSER_OR_EXTENSION_ERROR" + }; H1 = {}; + g.EU = (H1.ALREADY_PINNED_ON_A_DEVICE = "This video has already been downloaded on the maximum number of devices allowed by the copyright holder. Before you can play the video here, it needs to be unpinned on another device.", H1.DEVICE_FALLBACK = "Sorry, this video is not available on this device.", H1.GENERIC_WITH_LINK_AND_CPN = "An error occurred. Please try again later. (Playback ID: $CPN) $BEGIN_LINKLearn More$END_LINK", H1.LICENSE = "Sorry, there was an error licensing this video.", H1.VIDEO_UNAVAILABLE = + "Video unavailable", H1.FORMAT_UNAVAILABLE = "This video isn't available at the selected quality. Please try again later.", H1.GEO_FAILURE = "This video isn't available in your country.", H1.HTML5_AUDIO_RENDERER_ERROR = "Audio renderer error. Please restart your computer.", H1.GENERIC_WITHOUT_LINK = "An error occurred. Please try again later.", H1.HTML5_NO_AVAILABLE_FORMATS_FALLBACK = "This video format is not supported.", H1.HTML5_NO_AVAILABLE_FORMATS_FALLBACK_WITH_LINK = "Your browser does not currently recognize any of the video formats available. $BEGIN_LINKClick here to visit our frequently asked questions about HTML5 video.$END_LINK", + H1.HTML5_NO_AVAILABLE_FORMATS_FALLBACK_WITH_LINK_SHORT = "Your browser can't play this video. $BEGIN_LINKLearn more$END_LINK", H1.HTML5_SPS_UMP_STATUS_REJECTED = "Something went wrong. Refresh or try again later. $BEGIN_LINKLearn more$END_LINK", H1.INVALID_DRM_MESSAGE = "The DRM system specific message is invalid.", H1.PURCHASE_NOT_FOUND = "This video requires payment.", H1.PURCHASE_REFUNDED = "This video's purchase has been refunded.", H1.RENTAL_EXPIRED = "This video's rental has expired.", H1.CAST_SESSION_DEVICE_MISMATCHED = + "The device in the cast session doesn't match the requested one.", H1.CAST_SESSION_VIDEO_MISMATCHED = "The video in the cast session doesn't match the requested one.", H1.CAST_TOKEN_FAILED = "Cast session not available. Please refresh or try again later.", H1.CAST_TOKEN_EXPIRED = "Cast session was expired. Please refresh.", H1.CAST_TOKEN_MALFORMED = "Invalid cast session. Please refresh or try again later.", H1.SERVER_ERROR = "There was an internal server error. Please try again later.", H1.STOPPED_BY_ANOTHER_PLAYBACK = + "Your account is playing this video in another location. Please reload this page to resume watching.", H1.STREAM_LICENSE_NOT_FOUND = "Video playback interrupted. Please try again.", H1.STREAMING_DEVICES_QUOTA_PER_24H_EXCEEDED = "Too many devices/IP addresses have been used over the 24 hour period.", H1.STREAMING_NOT_ALLOWED = "Playback not allowed because this video is pinned on another device.", H1.RETRYABLE_ERROR = "There was a temporary server error. Please try again later.", H1.TOO_MANY_REQUESTS = "Please log in to watch this video.", + H1.TOO_MANY_REQUESTS_WITH_LINK = "Please $BEGIN_LINKclick here$END_LINK to watch this video on YouTube.", H1.TOO_MANY_STREAMS_PER_USER = "Playback stopped because too many videos belonging to the same account are playing.", H1.TOO_MANY_STREAMS_PER_ENTITLEMENT = "Playback stopped because this video has been played on too many devices.", H1.UNSUPPORTED_DEVICE = "Playback isn't supported on this device.", H1.VIDEO_FORBIDDEN = "Access to this video is forbidden.", H1.VIDEO_NOT_FOUND = "This video can not be found.", H1.BROWSER_OR_EXTENSION_ERROR = + "Something went wrong. Refresh or try again later. $BEGIN_LINKLearn more$END_LINK", H1); + ywa = { + 300: "STREAMING_DEVICES_QUOTA_PER_24H_EXCEEDED", 301: "ALREADY_PINNED_ON_A_DEVICE", 303: "STOPPED_BY_ANOTHER_PLAYBACK", 304: "TOO_MANY_STREAMS_PER_USER", 305: "TOO_MANY_STREAMS_PER_ENTITLEMENT", 400: "VIDEO_NOT_FOUND", 401: "GEO_FAILURE", 402: "STREAMING_NOT_ALLOWED", 403: "UNSUPPORTED_DEVICE", 405: "VIDEO_FORBIDDEN", 500: "PURCHASE_NOT_FOUND", 501: "RENTAL_EXPIRED", 502: "PURCHASE_REFUNDED", 5E3: "BAD_REQUEST", 5001: "CGI_PARAMS_MISSING", 5002: "CGI_PARAMS_MALFORMED", 5100: "AUTHENTICATION_MISSING", 5101: "AUTHENTICATION_MALFORMED", + 5102: "AUTHENTICATION_EXPIRED", 5200: "CAST_TOKEN_MALFORMED", 5201: "CAST_TOKEN_EXPIRED", 5202: "CAST_TOKEN_FAILED", 5203: "CAST_SESSION_VIDEO_MISMATCHED", 5204: "CAST_SESSION_DEVICE_MISMATCHED", 6E3: "INVALID_DRM_MESSAGE", 7E3: "SERVER_ERROR", 8E3: "RETRYABLE_ERROR" + }; var hbb; var ibb = g.wb(), jbb = ibb.match(/\((iPad|iPhone|iPod)( Simulator)?;/); if (!jbb || jbb.length < 2) hbb = void 0; else { var kbb = ibb.match(/\((iPad|iPhone|iPod)( Simulator)?; (U; )?CPU (iPhone )?OS (\d+_\d)[_ ]/); hbb = kbb && kbb.length === 6 ? Number(kbb[5].replace("_", ".")) : 0 } var bQ = hbb, zU = bQ >= 0; g.z(g.OE, Ws); g.OE.prototype.T = function (a, b, c, d, e) { return Ws.prototype.T.call(this, a, b, c, d, e) }; var I1 = {}, zN = (I1.FAIRPLAY = "fairplay", I1.PLAYREADY = "playready", I1.WIDEVINE = "widevine", I1.CLEARKEY = null, I1.FLASHACCESS = null, I1.UNKNOWN = null, I1.WIDEVINE_CLASSIC = null, I1); PE.prototype.isMultiChannelAudio = function () { return this.numChannels > 2 }; var J1 = {}, HL = (J1.WIDTH = { name: "width", video: !0, valid: 640, zo: 99999 }, J1.HEIGHT = { name: "height", video: !0, valid: 360, zo: 99999 }, J1.FRAMERATE = { name: "framerate", video: !0, valid: 30, zo: 9999 }, J1.BITRATE = { name: "bitrate", video: !0, valid: 3E5, zo: 2E9 }, J1.EOTF = { name: "eotf", video: !0, valid: "bt709", zo: "catavision" }, J1.CHANNELS = { name: "channels", video: !1, valid: 2, zo: 99 }, J1.CRYPTOBLOCKFORMAT = { name: "cryptoblockformat", video: !0, valid: "subsample", zo: "invalidformat" }, J1.DECODETOTEXTURE = { + name: "decode-to-texture", video: !0, valid: "false", + zo: "nope" + }, J1.AV1_CODECS = { name: "codecs", video: !0, valid: "av01.0.05M.08", zo: "av99.0.05M.08" }, J1.EXPERIMENTAL = { name: "experimental", video: !0, valid: "allowed", zo: "invalid" }, J1); var lbb = ["h", "H"], mbb = ["9", "("], nbb = ["9h", "(h"], obb = ["8", "*"], pbb = ["a", "A"], qbb = ["o", "O"], rbb = ["m", "M"], sbb = ["mac3", "MAC3"], tbb = ["meac3", "MEAC3"], K1 = {}, JIa = (K1.h = lbb, K1.H = lbb, K1["9"] = mbb, K1["("] = mbb, K1["9h"] = nbb, K1["(h"] = nbb, K1["8"] = obb, K1["*"] = obb, K1.a = pbb, K1.A = pbb, K1.o = qbb, K1.O = qbb, K1.m = rbb, K1.M = rbb, K1.mac3 = sbb, K1.MAC3 = sbb, K1.meac3 = tbb, K1.MEAC3 = tbb, K1), ubb = new Set("o O a ah A m M mac3 MAC3 meac3 MEAC3 so sa".split(" ")), rDa = new Set("m M mac3 MAC3 meac3 MEAC3".split(" ")); var L1 = {}, VE = (L1["0"] = "f", L1["160"] = "h", L1["133"] = "h", L1["134"] = "h", L1["135"] = "h", L1["136"] = "h", L1["137"] = "h", L1["264"] = "h", L1["266"] = "h", L1["138"] = "h", L1["298"] = "h", L1["299"] = "h", L1["304"] = "h", L1["305"] = "h", L1["214"] = "h", L1["216"] = "h", L1["374"] = "h", L1["375"] = "h", L1["140"] = "a", L1["141"] = "ah", L1["327"] = "sa", L1["258"] = "m", L1["380"] = "mac3", L1["328"] = "meac3", L1["161"] = "H", L1["142"] = "H", L1["143"] = "H", L1["144"] = "H", L1["222"] = "H", L1["223"] = "H", L1["145"] = "H", L1["224"] = "H", L1["225"] = "H", L1["146"] = "H", L1["226"] = + "H", L1["227"] = "H", L1["147"] = "H", L1["384"] = "H", L1["376"] = "H", L1["385"] = "H", L1["377"] = "H", L1["149"] = "A", L1["261"] = "M", L1["381"] = "MAC3", L1["329"] = "MEAC3", L1["598"] = "9", L1["278"] = "9", L1["242"] = "9", L1["243"] = "9", L1["244"] = "9", L1["775"] = "9", L1["776"] = "9", L1["777"] = "9", L1["778"] = "9", L1["779"] = "9", L1["780"] = "9", L1["781"] = "9", L1["782"] = "9", L1["783"] = "9", L1["247"] = "9", L1["248"] = "9", L1["353"] = "9", L1["355"] = "9", L1["356"] = "9", L1["271"] = "9", L1["577"] = "9", L1["313"] = "9", L1["579"] = "9", L1["272"] = "9", L1["302"] = "9", + L1["303"] = "9", L1["407"] = "9", L1["408"] = "9", L1["308"] = "9", L1["315"] = "9", L1["330"] = "9h", L1["331"] = "9h", L1["332"] = "9h", L1["333"] = "9h", L1["334"] = "9h", L1["335"] = "9h", L1["336"] = "9h", L1["337"] = "9h", L1["338"] = "so", L1["600"] = "o", L1["250"] = "o", L1["251"] = "o", L1["194"] = "*", L1["195"] = "*", L1["220"] = "*", L1["221"] = "*", L1["196"] = "*", L1["197"] = "*", L1["279"] = "(", L1["280"] = "(", L1["317"] = "(", L1["318"] = "(", L1["273"] = "(", L1["274"] = "(", L1["357"] = "(", L1["358"] = "(", L1["275"] = "(", L1["359"] = "(", L1["360"] = "(", L1["276"] = "(", L1["583"] = + "(", L1["584"] = "(", L1["314"] = "(", L1["585"] = "(", L1["561"] = "(", L1["277"] = "(", L1["361"] = "(h", L1["362"] = "(h", L1["363"] = "(h", L1["364"] = "(h", L1["365"] = "(h", L1["366"] = "(h", L1["591"] = "(h", L1["592"] = "(h", L1["367"] = "(h", L1["586"] = "(h", L1["587"] = "(h", L1["368"] = "(h", L1["588"] = "(h", L1["562"] = "(h", L1["409"] = "(", L1["410"] = "(", L1["411"] = "(", L1["412"] = "(", L1["557"] = "(", L1["558"] = "(", L1["394"] = "1", L1["395"] = "1", L1["396"] = "1", L1["397"] = "1", L1["787"] = "1", L1["788"] = "1", L1["398"] = "1", L1["399"] = "1", L1["400"] = "1", L1["401"] = + "1", L1["571"] = "1", L1["402"] = "1", L1["694"] = "1h", L1["695"] = "1h", L1["696"] = "1h", L1["697"] = "1h", L1["698"] = "1h", L1["699"] = "1h", L1["700"] = "1h", L1["701"] = "1h", L1["702"] = "1h", L1["703"] = "1h", L1["386"] = "3", L1["387"] = "w", L1["406"] = "6", L1["645"] = "(", L1["646"] = "(", L1["647"] = "(", L1["648"] = "(", L1["649"] = "(", L1["650"] = "(", L1["651"] = "(", L1["652"] = "(", L1["653"] = "(", L1["654"] = "(", L1["655"] = "(", L1["656"] = "(", L1["657"] = "(", L1["658"] = "(", L1["659"] = "(", L1["660"] = "(", L1["661"] = "(", L1["662"] = "(", L1["663"] = "(", L1["664"] = "(", + L1["665"] = "(", L1["666"] = "(", L1["667"] = "(", L1["668"] = "(", L1["669"] = "(", L1["670"] = "(", L1["671"] = "(", L1["672"] = "(", L1["673"] = "(", L1["674"] = "(h", L1["675"] = "(h", L1["676"] = "(h", L1["677"] = "(h", L1["678"] = "(h", L1["679"] = "(h", L1["680"] = "(h", L1["681"] = "(h", L1["682"] = "(h", L1["683"] = "(h", L1["684"] = "(h", L1["685"] = "(h", L1["686"] = "(h", L1["687"] = "(h", L1["688"] = "A", L1["689"] = "A", L1["690"] = "A", L1["691"] = "MEAC3", L1["773"] = "i", L1); var M1 = {}, iIa = (M1.STEREO_LAYOUT_UNKNOWN = 0, M1.STEREO_LAYOUT_LEFT_RIGHT = 1, M1.STEREO_LAYOUT_TOP_BOTTOM = 2, M1); var N1, tL; N1 = {}; g.RE = (N1.auto = 0, N1.tiny = 144, N1.light = 144, N1.small = 240, N1.medium = 360, N1.large = 480, N1.hd720 = 720, N1.hd1080 = 1080, N1.hd1440 = 1440, N1.hd2160 = 2160, N1.hd2880 = 2880, N1.highres = 4320, N1); tL = { 0: "auto", 144: "tiny", 240: "small", 360: "medium", 480: "large", 720: "hd720", 1080: "hd1080", 1440: "hd1440", 2160: "hd2160", 2880: "hd2880", 4320: "highres" }; var TE = "highres hd2880 hd2160 hd1440 hd1080 hd720 large medium small tiny".split(" "); SE.prototype.isHdr = function () { return this.B === "smpte2084" || this.B === "arib-std-b67" }; WE.prototype.Le = function () { return this.containerType === 2 }; + WE.prototype.isEncrypted = function () { return !!this.me }; + WE.prototype.Gh = function () { return !!this.audio }; + WE.prototype.zg = function () { return !!this.video }; g.z(sF, g.Fx); g.k = sF.prototype; g.k.appendBuffer = function (a, b, c) { if (this.Jd.YE() !== this.appendWindowStart + this.start || this.Jd.PJ() !== this.appendWindowEnd + this.start || this.Jd.Dc() !== this.timestampOffset + this.start) this.Jd.supports(1), this.Jd.vT(this.appendWindowStart + this.start, this.appendWindowEnd + this.start), this.Jd.Nq(this.timestampOffset + this.start); this.Jd.appendBuffer(a, b, c) }; + g.k.abort = function () { this.Jd.abort() }; + g.k.remove = function (a, b) { this.Jd.remove(a + this.start, b + this.start) }; + g.k.removeAll = function () { this.remove(this.appendWindowStart, this.appendWindowEnd) }; + g.k.clear = function () { this.Jd.clear() }; + g.k.vT = function (a, b) { this.appendWindowStart = a; this.appendWindowEnd = b }; + g.k.kQ = function () { return this.timestampOffset + this.start }; + g.k.YE = function () { return this.appendWindowStart }; + g.k.PJ = function () { return this.appendWindowEnd }; + g.k.Nq = function (a) { this.timestampOffset = a }; + g.k.Dc = function () { return this.timestampOffset }; + g.k.oe = function (a) { a = this.Jd.oe(a === void 0 ? !1 : a); return rF(a, this.start, this.end) }; + g.k.Ek = function () { return this.Jd.Ek() }; + g.k.oK = function () { return this.Jd.oK() }; + g.k.Pm = function () { return this.Jd.Pm() }; + g.k.RQ = function () { return this.Jd.RQ() }; + g.k.Kz = function () { this.Jd.Kz() }; + g.k.Jx = function (a) { return this.Jd.Jx(a) }; + g.k.ex = function () { return this.Jd.ex() }; + g.k.YJ = function () { return this.Jd.YJ() }; + g.k.tU = function (a, b) { this.Jd.tU(a, b) }; + g.k.supports = function (a) { return this.Jd.supports(a) }; + g.k.Jr = function () { return this.Jd.Jr() }; + g.k.isView = function () { return !0 }; + g.k.gJ = function () { return this.Jd.gJ() ? this.isActive : !1 }; + g.k.isLocked = function () { return this.pI && !this.isActive }; + g.k.uc = function (a) { a = this.Jd.uc(a); a.vw = this.start + "-" + this.end; return a }; + g.k.ZJ = function () { return this.Jd.ZJ() }; + g.k.iF = function () { return this.Jd.iF() }; + g.k.eQ = function () { return this.Jd.eQ() }; + g.k.xa = function () { Hx(this.Jd, this.YY); g.Fx.prototype.xa.call(this) }; + g.k.RF = function () { return this.Jd.RF() }; + g.k.kJ = function () { this.Jd.kJ() }; var JW = !1; g.z(uF, g.Fx); g.k = uF.prototype; g.k.appendBuffer = function (a, b, c) { this.qE = !1; c && (this.WF = c); if (a.length) { var d; ((d = this.Qb) == null ? 0 : d.appendBuffer) ? this.Qb.appendBuffer(a) : this.Qb ? this.Qb.append(a) : this.vg && this.vg.webkitSourceAppend(this.id, a) } b && (b.isEncrypted() && (this.gR = this.WF), b.type === 3 && (this.Gf = b, b.Mi() && (this.oI = !0)), this.VF.push(b.Sc()), this.VF.length > 4 && this.VF.shift()); this.iC && (this.iC.length >= 2 || a.length > 1048576 ? delete this.iC : this.iC.push(a)) }; + g.k.abort = function () { try { this.Qb ? this.Qb.abort() : this.vg && this.vg.webkitSourceAbort(this.id) } catch (a) { nUa && g.ex(new g.pt("Error while abort the source buffer: " + a.name + ", " + a.message)) } this.WF = this.Gf = null; this.oI = !1 }; + g.k.remove = function (a, b, c) { this.qE = !1; var d; if ((d = this.Qb) == null ? 0 : d.remove) c && c({ b: lF(this.oe()), s: a, e: b }), this.Qb.remove(a, b) }; + g.k.removeAll = function () { this.remove(this.YE(), this.PJ()) }; + g.k.clear = function () { this.Pm() || (this.abort(), this.removeAll(), this.gR = this.WF = this.Gf = null, this.appendWindowStart = this.timestampOffset = 0, this.DO = kF([], []), this.qE = !1, this.iC = tF ? [] : void 0, this.lJ = !0, this.oI = !1) }; + g.k.YE = function () { if (JW && this.zg) return this.appendWindowStart; var a; return ((a = this.Qb) == null ? void 0 : a.appendWindowStart) || 0 }; + g.k.PJ = function () { var a; return ((a = this.Qb) == null ? void 0 : a.appendWindowEnd) || 0 }; + g.k.vT = function (a, b) { this.Qb && (JW && this.zg ? (this.appendWindowStart = a, this.Qb.appendWindowEnd = b) : a > this.YE() ? (this.Qb.appendWindowEnd = b, this.Qb.appendWindowStart = a) : (this.Qb.appendWindowStart = a, this.Qb.appendWindowEnd = b)) }; + g.k.kQ = function () { return this.timestampOffset }; + g.k.Nq = function (a) { JW ? this.timestampOffset = a : this.supports(1) && (this.Qb.timestampOffset = a) }; + g.k.Dc = function () { return JW ? this.timestampOffset : this.supports(1) ? this.Qb.timestampOffset : 0 }; + g.k.oe = function (a) { if (a === void 0 ? 0 : a) return this.qE || this.Ek() || (this.DO = this.oe(!1), this.qE = !0), this.DO; try { return this.Qb ? this.Qb.buffered : this.vg ? this.vg.webkitSourceBuffered(this.id) : kF([0], [Infinity]) } catch (b) { return kF([], []) } }; + g.k.Ek = function () { var a; return ((a = this.Qb) == null ? void 0 : a.updating) || !1 }; + g.k.Pm = function () { return this.lJ }; + g.k.RQ = function () { return !this.lJ && this.Ek() }; + g.k.Kz = function () { this.lJ = !1 }; + g.k.Jx = function (a) { var b = a == null ? void 0 : a.rb; a = a == null ? void 0 : a.containerType; return !b && !a || b === this.rb && a === this.containerType }; + g.k.ex = function () { return this.WF }; + g.k.YJ = function () { return this.gR }; + g.k.tU = function (a, b, c) { if (this.containerType !== a || c) this.supports(4), vF() && this.Qb.changeType(b); this.containerType = a }; + g.k.Jr = function () { return this.Gf }; + g.k.isView = function () { return !1 }; + g.k.supports = function (a) { switch (a) { case 1: var b; return ((b = this.Qb) == null ? void 0 : b.timestampOffset) !== void 0; case 0: var c; return !((c = this.Qb) == null || !c.appendBuffer); case 2: var d; return !((d = this.Qb) == null || !d.remove); case 3: var e, f; return !!(((e = this.Qb) == null ? 0 : e.addEventListener) && ((f = this.Qb) == null ? 0 : f.removeEventListener)); case 4: return !(!this.Qb || !this.Qb.changeType); default: return !1 } }; + g.k.gJ = function () { return !this.Ek() }; + g.k.isLocked = function () { return !1 }; + g.k.uc = function (a) { a.to = this.Dc(); a.up = this.Ek(); var b, c = ((b = this.Qb) == null ? void 0 : b.appendWindowStart) || 0, d; b = ((d = this.Qb) == null ? void 0 : d.appendWindowEnd) || Infinity; a.aw = c.toFixed(3) + "-" + b.toFixed(3); try { a.bu = lF(this.oe()) } catch (e) { } return a }; + g.k.oK = function () { var a; return ((a = this.Qb) == null ? void 0 : a.writeHead) || 0 }; + g.k.ZJ = function () { for (var a = {}, b = 0; b < this.VF.length; b++)a["s" + b] = this.VF[b]; return a }; + g.k.xa = function () { this.supports(3) && (this.Qb.removeEventListener("updateend", this.Hd), this.Qb.removeEventListener("error", this.Hd)); g.Fx.prototype.xa.call(this) }; + g.k.iF = function () { return this.containerType }; + g.k.eQ = function () { return this.iC }; + g.k.RF = function () { return this.oI }; + g.k.kJ = function () { this.oI = !1 }; + var tF = !1, nUa = !1; wF.prototype.dispose = function () { if (!this.La) { if (this.j) try { URL.revokeObjectURL(this.resource) } catch (a) { } this.B = !0 } }; + wF.prototype.La = function () { return this.B }; + wF.prototype.toString = function () { return "MediaResource {" + this.resource + "}" }; g.z(xF, g.O); g.k = xF.prototype; g.k.getDuration = function () { var a; return ((a = this.Qa) == null ? void 0 : a.duration) || this.ra }; + g.k.Xo = function (a) { try { this.Qa ? this.Qa.duration = a : (this.ra = a, this.vg.webkitSourceSetDuration(a)) } catch (b) { } }; + g.k.Ng = function () { try { return DF(this) === "closed" } catch (a) { return !0 } }; + g.k.Ek = function () { return !!(this.j && this.j.Ek() || this.B && this.B.Ek()) }; + g.k.isAsync = function () { return this.j ? !!this.j.supports(0) : EF() }; + g.k.rca = function () { !this.La() && yF(this) && this.callback && (this.callback(this), this.callback = null) }; + g.k.qca = function () { this.dispose() }; + g.k.F5 = function (a) { if (zF && !this.G && a.Pm() && a.oe().length === 0) { var b; AF(this.mediaElement, { l: "mswoue", sr: (b = this.mediaElement.ea) == null ? void 0 : BF(b) }, !1); a.Kz(); this.Pm() || (this.mediaElement.DK = !0, this.mediaElement.setCurrentTime(0)) } }; + g.k.GO = function () { return !!this.j.supports(2) }; + g.k.clear = function () { + Iwa(this, function () { }); + var a; (a = this.j) == null || a.clear(); var b; (b = this.B) == null || b.clear() + }; + g.k.Pm = function () { var a, b; return ((a = this.B) == null ? void 0 : a.Pm()) || ((b = this.j) == null ? void 0 : b.Pm()) }; + g.k.Jx = function (a, b) { return !!this.j && !!this.B && this.j.Jx(b) && this.B.Jx(a) }; + var zF = !1; FF.prototype.then = function (a, b) { return this.promise.then(a, b) }; + FF.prototype.resolve = function (a) { this.gC(a) }; + FF.prototype.reject = function (a) { this.ZS(a) }; g.z(GF, g.O); g.k = GF.prototype; g.k.HI = function () { return this.resource }; + g.k.activate = function (a) { var b = ""; a && (Rwa(this, a), b = a.resource); if (!this.Zh() || b) b && this.Zh() !== b && (this.zM(b), delete this.B, this.C && (this.C.reject(), delete this.C), !window.MediaSource && window.ManagedMediaSource && this.xT(!(a == null || !a.j))), a && a.j || this.load(), this.N || (this.addEventListener("volumechange", this.uX), this.N = !0) }; + g.k.Lr = function (a, b) { if (this.B) if (mUa && CF(this.B) && !this.B.Jx(a, b)) { var c; AF(this, { l: "megms", sr: (c = this.ea) == null ? void 0 : BF(c) }); Pwa(this); this.stopVideo() } else return this.Qa = this.B, this.B = void 0, this.Qa; a = window.MediaSource ? new xF(this, new window.MediaSource, !1) : window.ManagedMediaSource ? new xF(this, new window.ManagedMediaSource, !1) : window.WebKitMediaSource ? new xF(this, new window.WebKitMediaSource, !1) : new xF(this, void 0, !1); this.activate(a.C); this.Qa = a; this.DK = !1; return a }; + g.k.playVideo = function () { + var a = this; this.isEnded() && this.seekTo(0); !this.Zh() && this.resource && (g.ex(Error("playVideo without src")), this.zM(this.resource.resource), this.resource.j || this.load()); var b = this.play(), c; ((c = this.ea) == null ? 0 : c.L("html5_remove_ios_7_hack_force_play")) || !b && zU && (bQ || 0) >= 7 && Awa(this, function () { g.Kr(function () { Qwa(a, a.getCurrentTime(), 0) }, 500) }); + return b + }; + g.k.seekTo = function (a) { this.jl() > 0 && (zU && bQ < 4 && (a = Math.max(.1, a)), this.setCurrentTime(a)) }; + g.k.Vo = function () { if (!this.B && this.Qa) if (this.Qa.K) try { var a; AF(this, { l: "mer", sr: (a = this.ea) == null ? void 0 : BF(a), rs: DF(this.Qa) }); this.Qa.clear(); this.B = this.Qa; this.Qa = void 0 } catch (b) { a = new g.pt("Error while clearing Media Source in MediaElement: " + b.name + ", " + b.message), g.ex(a), this.stopVideo() } else this.stopVideo() }; + g.k.stopVideo = function () { + var a = this; if (!this.B) { + var b; (b = this.Qa) == null || Nwa(b); if (kUa) { + if (!this.C) { + var c = new FF; c.then(void 0, function () { }); + this.C = c; lUa && this.pause(); g.Kr(function () { a.C === c && (JF(a), c.resolve()) }, 200) + } + } else JF(this) + } + }; + g.k.pA = function () { var a = this.Eh(); return pF(a) > 0 && this.getDuration() ? oF(a, this.getCurrentTime()) : 0 }; + g.k.ix = function () { var a = this.getDuration(); return a === Infinity ? 1 : a ? this.pA() / a : 0 }; + g.k.uc = function () { try { var a = this.getSize(); return { vct: this.getCurrentTime().toFixed(3), vd: this.getDuration().toFixed(3), vpl: lF(this.mx(), ",", 3), vbu: lF(this.Eh()), vbs: lF(this.uA()), vpa: "" + +this.isPaused(), vsk: "" + +this.isSeeking(), ven: "" + +this.isEnded(), vpr: "" + this.getPlaybackRate(), vrs: "" + this.jl(), vns: "" + this.bK(), vec: "" + this.Xh(), vemsg: this.Xf(), vvol: "" + this.getVolume(), vdom: "" + +this.SQ(), vsrc: "" + +!!this.Zh(), vw: "" + a.width, vh: "" + a.height } } catch (b) { return {} } }; + g.k.hasError = function () { return this.Xh() > 0 }; + g.k.addEventListener = function (a, b) { this.D.listen(a, b, !1, this); this.uP(a) }; + g.k.removeEventListener = function (a, b) { this.D.Oc(a, b, !1, this) }; + g.k.dispatchEvent = function (a) { if (this.C && a.type === "pause") return !1; if (mUa) { var b, c = ((b = a.j) == null ? void 0 : b.timeStamp) || Infinity; b = c > performance.now() ? c - Date.now() + performance.now() : c; c = this.B || this.Qa; if ((c == null ? 0 : c.Pm()) || b <= ((c == null ? void 0 : c.N) || 0)) { var d; AF(this, { l: "mede", sr: (d = this.ea) == null ? void 0 : BF(d), et: a.type }); return !1 } if (this.DK) return AF(this, { l: "medes", et: a.type }), c && a.type === "seeking" && (c.N = performance.now(), this.DK = !1), !1 } return this.D.dispatchEvent(a) }; + g.k.rP = function () { this.K = !1 }; + g.k.nP = function () { this.K = !0; this.oC(!0) }; + g.k.uX = function () { this.K && !this.aK() && this.oC(!0) }; + g.k.xa = function () { this.N && this.removeEventListener("volumechange", this.uX); kUa && JF(this); g.O.prototype.xa.call(this) }; + var kUa = !1, lUa = !1, mUa = !1, Twa = !1; g.k = g.LF.prototype; g.k.isPaused = function () { return g.U(this, 4) }; + g.k.isPlaying = function () { return g.U(this, 8) && !g.U(this, 512) && !g.U(this, 64) && !g.U(this, 2) }; + g.k.isOrWillBePlaying = function () { return g.U(this, 8) && !g.U(this, 2) && !g.U(this, 1024) }; + g.k.isCued = function () { return g.U(this, 64) && !g.U(this, 8) && !g.U(this, 4) }; + g.k.isBuffering = function () { return g.U(this, 1) && !g.U(this, 2) }; + g.k.isError = function () { return g.U(this, 128) }; + g.k.isSuspended = function () { return g.U(this, 512) }; + g.k.MF = function () { return g.U(this, 64) && g.U(this, 4) }; + g.k.toString = function () { return "PSt." + this.state.toString(16) }; + var O1 = {}, P1 = (O1.BUFFERING = "buffering-mode", O1.CUED = "cued-mode", O1.ENDED = "ended-mode", O1.PAUSED = "paused-mode", O1.PLAYING = "playing-mode", O1.SEEKING = "seeking-mode", O1.UNSTARTED = "unstarted-mode", O1); g.z(VF, g.O); g.k = VF.prototype; g.k.jA = function () { return this.B }; + g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.init = function () { var a = tC(this.layout.Ca, "metadata_type_video_length_seconds"), b = tC(this.layout.Ca, "metadata_type_active_view_traffic_type"); JD(this.layout.Eb) && l0(this.zb.get(), this.layout.layoutId, { At: b, lI: a, listener: this, Eo: this.Ve() }); k7a(this.Oa.get(), this); a = this.Pg; b = this.layout.layoutId; var c = { Eo: this.Ve() }; a.j.set(b, c); this.zx() }; + g.k.release = function () { JD(this.layout.Eb) && m0(this.zb.get(), this.layout.layoutId); l7a(this.Oa.get(), this); this.Pg.j.delete(this.layout.layoutId); this.Gy() }; + g.k.Ds = function () { }; + g.k.Fs = function () { }; + g.k.startRendering = function (a) { DE(WF(this)); XF(this, a) && (YF(this), this.Rs(a), this.Ve() || this.XI(!1)) }; + g.k.vc = function (a, b) { + if (b.layoutId === this.layout.layoutId) { + this.lc = "rendering"; this.j = this.Ia.get().isMuted() || this.Ia.get().getVolume() === 0; this.Xb("impression"); this.Xb("start"); if (this.Ia.get().isMuted()) { dG(this, "mute"); var c; a = ((c = UF(this)) == null ? void 0 : c.muteCommands) || []; eD(this.Mb.get(), a, this.layout.layoutId) } if (this.Ia.get().isFullscreen()) { this.Rh("fullscreen"); var d; c = ((d = UF(this)) == null ? void 0 : d.fullscreenCommands) || []; eD(this.Mb.get(), c, this.layout.layoutId) } this.Ve() || (d = this.zc.get(), + d.C && !d.B && (d.G = !1, d.B = !0, d.actionType !== "ad_to_video" && (d.J.L("html5_no_video_to_ad_on_preroll") ? uA("pbs", void 0, d.actionType) : pA("pbs", void 0, d.actionType), g.Pr("finalize_all_timelines") && Pta(d.actionType)))); this.Eq(1); this.bS(b); var e; b = ((e = UF(this)) == null ? void 0 : e.impressionCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) + } + }; + g.k.pL = function (a, b, c) { this.N = { jN: 3, kI: a === "load_timeout" ? 402 : 400, errorMessage: b.message }; this.Xb("error"); var d; a = ((d = UF(this)) == null ? void 0 : d.errorCommands) || []; eD(this.Mb.get(), a, this.layout.layoutId); this.Ve() || this.Zo.Hf(this.slot, this.layout, b, c) }; + g.k.f3 = function () { if (this.lc === "rendering") { dG(this, "pause"); var a, b = ((a = UF(this)) == null ? void 0 : a.pauseCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId); this.Eq(2) } }; + g.k.g3 = function () { if (this.lc === "rendering") { dG(this, "resume"); var a, b = ((a = UF(this)) == null ? void 0 : a.resumeCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) } }; + g.k.bz = function (a, b) { + b = b === void 0 ? !1 : b; if (this.lc === "rendering") { + var c = b, d = this.Za().layoutId; if (!this.C) { this.C = !0; var e = this.context.Nn; if (cJ(e.Aa.get(), !0)) { var f = {}; e.Gk("p_ip", (f.cts = a, f.f = c, f.p_ac = d, f)) } } RD(this.eb, a * 1E3, b); this.j || RD(this.eb, a * 1E3, b === void 0 ? !1 : b); if (c = this.nA()) c /= 1E3, (a >= c * .25 || b) && this.Xb("first_quartile"), (a >= c * .5 || b) && this.Xb("midpoint"), (a >= c * .75 || b) && this.Xb("third_quartile"), this.Aa.get().J.U().experiments.kb("enable_progress_command_flush_on_kabuki") ? Uva(this.D, a * + 1E3, b) : Uva(this.D, a * 1E3, Zwa(this) ? b : !1) + } + }; + g.k.Hm = function () { var a; return ((a = ZF(this.Sa.get(), 1)) == null ? void 0 : a.clientPlaybackNonce) || "" }; + g.k.cz = function (a, b) { a.layoutId !== this.layout.layoutId ? this.Zo.Hf(this.slot, a, new qC("Tried to stop rendering an unknown layout, this adapter requires LayoutId: " + this.layout.layoutId + ("and LayoutType: " + this.layout.layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_EXIT_LAYOUT_FAILED") : b() }; + g.k.Nc = function (a, b, c) { + if (b.layoutId === this.layout.layoutId) switch (this.lc = "not_rendering", this.layoutExitReason = void 0, this.Ve() || (a = c !== "normal" || this.position + 1 === this.K) && this.XI(a), this.e3(c), this.Eq(0), c) { + case "abandoned": if (SD(this.eb, "impression")) { var d, e = ((d = UF(this)) == null ? void 0 : d.abandonCommands) || []; eD(this.Mb.get(), e, this.layout.layoutId) } break; case "normal": d = ((e = UF(this)) == null ? void 0 : e.completeCommands) || []; eD(this.Mb.get(), d, this.layout.layoutId); break; case "skipped": var f; d = ((f = + UF(this)) == null ? void 0 : f.skipCommands) || []; eD(this.Mb.get(), d, this.layout.layoutId) + } + }; + g.k.oA = function () { return this.layout.layoutId }; + g.k.HP = function () { return this.N }; + g.k.gy = function () { if (this.lc === "rendering") { this.eb.Xb("active_view_measurable"); var a, b = ((a = UF(this)) == null ? void 0 : a.activeViewMeasurableCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) } }; + g.k.ey = function () { if (this.lc === "rendering") { this.eb.Xb("active_view_fully_viewable_audible_half_duration"); var a, b = ((a = UF(this)) == null ? void 0 : a.activeViewFullyViewableAudibleHalfDurationCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) } }; + g.k.iy = function () { if (this.lc === "rendering") { this.eb.Xb("active_view_viewable"); var a, b = ((a = UF(this)) == null ? void 0 : a.activeViewViewableCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) } }; + g.k.Yx = function () { if (this.lc === "rendering") { this.eb.Xb("audio_audible"); var a, b = ((a = UF(this)) == null ? void 0 : a.activeViewAudioAudibleCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) } }; + g.k.Zx = function () { if (this.lc === "rendering") { this.eb.Xb("audio_measurable"); var a, b = ((a = UF(this)) == null ? void 0 : a.activeViewAudioMeasurableCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) } }; + g.k.XI = function (a) { this.zc.get().XI(tC(this.layout.Ca, "metadata_type_ad_placement_config").kind, a, this.position, this.K, !1) }; + g.k.onFullscreenToggled = function (a) { if (this.lc === "rendering") if (a) { this.Rh("fullscreen"); var b, c = ((b = UF(this)) == null ? void 0 : b.fullscreenCommands) || []; eD(this.Mb.get(), c, this.layout.layoutId) } else this.Rh("end_fullscreen"), b = ((c = UF(this)) == null ? void 0 : c.endFullscreenCommands) || [], eD(this.Mb.get(), b, this.layout.layoutId) }; + g.k.onVolumeChange = function () { if (this.lc === "rendering") if (this.Ia.get().isMuted()) { dG(this, "mute"); var a, b = ((a = UF(this)) == null ? void 0 : a.muteCommands) || []; eD(this.Mb.get(), b, this.layout.layoutId) } else dG(this, "unmute"), a = ((b = UF(this)) == null ? void 0 : b.unmuteCommands) || [], eD(this.Mb.get(), a, this.layout.layoutId) }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.gj = function () { }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; + g.k.Rh = function (a) { this.eb.Rh(a, !this.j) }; + g.k.Xb = function (a) { this.eb.Xb(a, !this.j) }; + g.k.Ve = function () { var a = tC(this.slot.Ca, "metadata_type_eligible_for_ssap"); return a === void 0 ? (Ny("Expected SSAP eligibility for PlayerBytes sub layout", this.slot, this.layout), !1) : this.Aa.get().Ve(a) }; g.z(hG, VF); g.k = hG.prototype; g.k.XO = function () { this.layoutExitReason ? this.Zo.Nc(this.slot, this.layout, this.layoutExitReason) : Vwa(this) }; + g.k.zx = function () { }; + g.k.Gy = function () { var a = this.Oa.get(); a.WH === this && (a.WH = null); this.Xe.stop() }; + g.k.Ds = function () { this.Xe.stop(); VF.prototype.f3.call(this) }; + g.k.Fs = function () { jG(this); VF.prototype.g3.call(this) }; + g.k.nA = function () { return tC(this.Za().Ca, "METADATA_TYPE_MEDIA_BREAK_LAYOUT_DURATION_MILLISECONDS") }; + g.k.Kd = function (a, b) { var c = this; this.cz(a, function () { c.lc !== "rendering_stop_requested" && (c.lc = "rendering_stop_requested", c.layoutExitReason = b, $F(c, b), c.Xe.stop()) }) }; + g.k.Tc = function () { var a = Date.now(), b = a - this.jR; this.jR = a; this.qj += b; this.qj >= this.nA() ? this.RY() : (this.bz(this.qj / 1E3), iG(this, this.qj)) }; + g.k.e3 = function () { }; + g.k.Ni = function () { }; + g.z(kG, hG); g.k = kG.prototype; g.k.Bg = function (a) { if (this.lc !== "not_rendering") { a = aG(this, a); var b = this.Ia.get().getPresentingPlayerType() === 2; this.lc === "rendering_start_requested" ? b && uE(a) && this.pJ() : b ? g.Qy(a, 2) ? Ny("Receive player ended event during MediaBreak", this.Zb(), this.Za()) : bG(this, a) : this.ox() } }; + g.k.Rs = function () { Xwa(this); v7a(this.Ia.get()); this.Oa.get().WH = this; sA("pbp") || sA("pbs") || uA("pbp"); sA("pbp", "watch") || sA("pbs", "watch") || uA("pbp", void 0, "watch"); this.pJ() }; + g.k.bS = function (a) { this.zc.get(); var b = tC(a.Ca, "metadata_type_ad_placement_config").kind, c = this.position === 0; a = tC(a.Ca, "metadata_type_linked_in_player_layout_type"); a = { adBreakType: cG(b), adType: hxa(a) }; var d = void 0; c ? b !== "AD_PLACEMENT_KIND_START" && (d = "video_to_ad") : d = "ad_to_ad"; pA("ad_mbs", void 0, d); g.qA(a, d); jG(this) }; + g.k.ox = function () { this.uE() }; + g.k.RY = function () { $wa(this); this.uE() }; + g.z(lG, hG); g.k = lG.prototype; g.k.Bg = function (a) { this.lc !== "not_rendering" && (a = aG(this, a), bG(this, a)) }; + g.k.Rs = function () { Ny("startRenderingHelper in SSAP") }; + g.k.bS = function () { jG(this) }; + g.k.ox = function () { Ny("handleAdPlayerNoLongerPresenting in SSAP") }; + g.k.RY = function () { $wa(this); this.Zo.eC(this.Zb(), this.Za(), "normal") }; + g.z(mG, lG); mG.prototype.Kd = function (a, b) { var c = this; this.cz(a, function () { yE(c.B, b) && (c.lc = "rendering_stop_requested", c.layoutExitReason = b, $F(c, b), c.Xe.stop()) }) }; + mG.prototype.startRendering = function (a) { DE(WF(this)); XF(this, a) && (YF(this), this.Oa.get().WH = this) }; g.z(pG, VF); g.k = pG.prototype; g.k.XO = function () { this.layoutExitReason ? this.Zo.Nc(this.slot, this.layout, this.layoutExitReason) : Vwa(this) }; + g.k.ox = function () { this.Ve() && Ny("Unexpected ad player in SSAP", this.slot, this.layout); this.uE() }; + g.k.Bg = function (a) { if (this.lc !== "not_rendering") { a = aG(this, a); var b = this.Ia.get().getPresentingPlayerType() === 2; this.lc === "rendering_start_requested" ? b && uE(a) && this.pJ() : b ? g.Qy(a, 2) ? this.uE() : bG(this, a) : this.ox() } }; + g.k.zx = function () { tC(this.Za().Ca, "metadata_type_player_bytes_callback_ref").current = this; this.shrunkenPlayerBytesConfig = tC(this.Za().Ca, "metadata_type_shrunken_player_bytes_config") }; + g.k.Gy = function () { tC(this.Za().Ca, "metadata_type_player_bytes_callback_ref").current = null; this.It && this.Pc.get().removeCueRange(this.It); this.It = void 0; var a; (a = this.dL) == null || a.dispose(); this.oB && this.oB.dispose() }; + g.k.Rs = function (a) { var b = nG(this.Aa.get()), c = oG(this.Aa.get()); if (b && c && !this.Ve()) { c = tC(a.Ca, "metadata_type_preload_player_vars"); var d = g.AC(this.Aa.get().J.U().experiments, "html5_preload_wait_time_secs"); c && this.oB && this.oB.start(d * 1E3) } cxa(this, a); Xwa(this); b ? (c = this.md.get(), a = tC(a.Ca, "metadata_type_player_vars"), c.J.loadVideoByPlayerVars(a, !1, 2)) : E7a(this.md.get(), tC(a.Ca, "metadata_type_player_vars")); var e; (e = this.dL) == null || e.start(); b || this.md.get().J.playVideo(2) }; + g.k.bS = function () { var a; (a = this.dL) == null || a.stop(); this.It = "adcompletioncuerange:" + this.Za().layoutId; this.Pc.get().addCueRange(this.It, 0x7ffffffffffff, 0x8000000000000, !1, this, 2, 2); a = this.context.Nn; var b = this.It, c = this.Za().layoutId; if (cJ(a.Aa.get(), !0)) { var d = {}; a.Gk("mccr", (d.cid = b, d.p_ac = c, d)) } (this.adCpn = Wwa(this)) || Ny("Media layout confirmed started, but ad CPN not set."); this.od.get().Yu("onAdStart", this.adCpn); this.PW = Date.now() }; + g.k.nA = function () { var a; return (a = ZF(this.Sa.get(), 2)) == null ? void 0 : a.Vca }; + g.k.mM = function () { this.eb.Rh("clickthrough") }; + g.k.Kd = function (a, b) { var c = this; this.cz(a, function () { if (c.lc !== "rendering_stop_requested") { c.lc = "rendering_stop_requested"; c.layoutExitReason = b; $F(c, b); var d; (d = c.dL) == null || d.stop(); c.oB && c.oB.stop(); dxa(c) } }) }; + g.k.onCueRangeEnter = function (a) { if (a !== this.It) Ny("Received CueRangeEnter signal for unknown layout.", this.Zb(), this.Za(), { cueRangeId: a }); else { var b = this.context.Nn, c = this.Za().layoutId; if (cJ(b.Aa.get(), !0)) { var d = {}; b.Gk("mccre", (d.cid = a, d.p_ac = c, d)) } this.Pc.get().removeCueRange(this.It); this.It = void 0; QI(this.context.Aa.get(), "html5_ssap_flush_at_stop_rendering") && this.Ve() || (a = tC(this.Za().Ca, "metadata_type_video_length_seconds"), this.bz(a, !0), this.Xb("complete")) } }; + g.k.e3 = function (a) { a !== "abandoned" && this.od.get().Yu("onAdComplete"); this.od.get().Yu("onAdEnd", this.adCpn) }; + g.k.onCueRangeExit = function () { }; + g.k.Ni = function (a) { this.lc === "rendering" && (this.shrunkenPlayerBytesConfig && this.shrunkenPlayerBytesConfig.shouldRequestShrunkenPlayerBytes && a >= (this.shrunkenPlayerBytesConfig.playerProgressOffsetSeconds || 0) && this.Ia.get().sC(!0), this.bz(a)) }; + g.k.bz = function (a, b) { VF.prototype.bz.call(this, a, b === void 0 ? !1 : b); if (a >= 5 && !this.cZ) { b = Date.now() - this.PW; a *= 1E3; var c = { contentCpn: this.Hm(), adCpn: Wwa(this) }, d = b < 1E3 ? 0 : 1; Ky(d, "i.k_", { metadata: c, f7: b, g7: Math.floor(a / 1E3) }); or("IKDSTAT", d); d === 0 && this.NT() && this.od.get().Yu("onAbnormalityDetected"); this.cZ = !0 } }; + g.k.NT = function () { if (!this.Aa.get().NT()) return !1; var a = tC(this.Zb().Ca, "metadata_type_player_bytes_slot_metadata"); a === void 0 && Ny("PlayerBytesSlotMetadata is not filled", this.Zb(), this.Za()); return (a == null ? void 0 : a.yu) === !0 }; g.z(qG, pG); qG.prototype.Bg = function (a) { this.lc !== "not_rendering" && (a = aG(this, a), bG(this, a)) }; + qG.prototype.Rs = function () { Ny("startRenderingHelper in SSAP") }; + g.z(rG, qG); rG.prototype.Kd = function (a, b) { var c = this; this.cz(a, function () { if (yE(c.B, b)) { c.lc = "rendering_stop_requested"; c.layoutExitReason = b; $F(c, b); if (QI(c.context.Aa.get(), "html5_ssap_flush_at_stop_rendering") && b === "normal") { var d = tC(c.Za().Ca, "metadata_type_video_length_seconds"); c.bz(d, !0) } dxa(c) } }) }; + rG.prototype.startRendering = function (a) { DE(WF(this)); XF(this, a) && (YF(this), cxa(this, a)) }; g.z(uG, g.O); g.k = uG.prototype; g.k.init = function () { var a = tC(this.layout.Ca, "metadata_type_player_bytes_layout_controls_callback_ref"); a && (a.current = this); this.Sa.get().addListener(this); this.Ld.init(); qwa([this.layout], this.Sa.get()); this.pO() }; + g.k.pO = function () { var a = tC(this.Ld.Za().Ca, "metadata_type_player_vars"); a ? this.md.get().addPlayerResponseForAssociation({ playerVars: a }) : (a = ixa(this.Ld.Za()), this.md.get().addPlayerResponseForAssociation({ uJ: a })) }; + g.k.CL = function () { }; + g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.Ds = function () { this.Ld.Ds() }; + g.k.Fs = function () { this.Ld.Fs() }; + g.k.qy = function () { Ny("Unexpected onSkipRequested from PlayerBytesSsapSingleLayoutRenderingAdapter. Skip should be handled by Triggers") }; + g.k.vc = function (a, b) { this.Ld.vc(a, b) }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.Ni = function (a) { this.Ld.Ni(a) }; + g.k.onFullscreenToggled = function (a) { this.Ld.onFullscreenToggled(a) }; + g.k.oh = function (a) { this.Ld.oh(a) }; + g.k.gj = function (a) { this.Ld.gj(a) }; + g.k.onVolumeChange = function () { this.Ld.onVolumeChange() }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; + g.k.Jj = function () { }; + g.z(tG, uG); g.k = tG.prototype; g.k.QQ = function () { return this.Ia.get().getPresentingPlayerType() === 2 }; + g.k.vG = function (a) { vwa({ cpn: a, Kf: this.Sa.get(), Zr: !0 }); this.layout.layoutId === a && (OAa(this.Yd, this.slot.slotId), this.Ev.vc(this.slot, this.layout)) }; + g.k.startRendering = function (a) { if (a.layoutId !== this.layout.layoutId) return void Ny("wrong layout"); this.Ia.get().addListener(this); DC(this.qc(), this); this.Ld.startRendering(this.layout) }; + g.k.Bg = function (a) { this.Ld.Bg(a) }; + g.k.Nc = function (a, b, c) { this.Ld.Nc(a, b, c) }; + g.k.release = function () { this.Sa.get().removeListener(this); this.Ld.release(); rwa(); EC(this.qc(), this) }; + g.k.Kd = function (a, b) { a.layoutId !== this.layout.layoutId ? Ny("wrong layout") : (this.Ld.Kd(this.layout, b), this.QQ() && this.Gc.get().finishSegmentByCpn(this.layout.layoutId, ZF(this.Sa.get(), 1).clientPlaybackNonce), this.Ia.get().removeListener(this)) }; + g.k.wG = function (a, b, c) { wwa({ cpn: a, Kf: this.Sa.get(), Zr: !0 }); this.Za().layoutId === a && (this.Ld.jA().currentState < 2 && (a = fG(c), QI(this.params.context.Aa.get(), "html5_fix_non_video_expiration") && a === "error" ? this.Ev.Hf(this.slot, this.layout, new qC("Non video ad expired during SSAP single layout.", { playerErrorCode: "non_video_expired" }, "ADS_CLIENT_ERROR_MESSAGE_NON_VIDEO_AD_EXPIRED"), "ADS_CLIENT_ERROR_TYPE_ERROR_DURING_RENDERING") : AG(this.gf, this.layout, a)), this.Ev.Nc(this.slot, this.layout, this.Ld.jA().j)) }; g.z(vG, g.O); g.k = vG.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.CL = function () { }; + g.k.Af = function () { return this.Qh[this.eE] }; + g.k.Al = function () { return this.eE }; + g.k.Ds = function (a, b) { var c = this.Af(); b.layoutId !== xG(c, a, b) ? Ny("pauseLayout for a PlayerBytes layout that is not currently active", a, b) : c.Ds() }; + g.k.Fs = function (a, b) { var c = this.Af(); b.layoutId !== xG(c, a, b) ? Ny("resumeLayout for a PlayerBytes layout that is not currently active", a, b) : c.Fs() }; + g.k.qy = function (a, b) { var c = this.Af(); mxa(this, a, b); nxa(c, a, b) && this.MJ(c.Zb(), c.Za(), "skipped") }; + g.k.EL = function (a, b) { var c = this.Af(); oxa(this); pxa(c, a, b) && (a = qxa(this, c, a, b), a !== void 0 && (this.Ve() ? this.yX() : sxa(this, c.Zb(), c.Za(), a))) }; + g.k.E0 = function (a, b) { var c = Object.assign({}, wG(this), { layoutId: b.layoutId }), d = c.layoutId, e = c.Zr; if (c.Eo) { var f = {}; CE(c.Kf, "wrse", (f.ec = d, f.is = e, f.ctp = BE(d), f)) } PC(this.Pq, a, b) }; + g.k.vc = function (a, b) { var c; (c = this.Af()) == null || c.vc(a, b) }; + g.k.Nc = function (a, b, c) { b.layoutId === this.Za().layoutId && (this.yx = !1, EC(this.qc(), this)); var d; (d = this.Af()) == null || d.Nc(a, b, c) }; + g.k.Ni = function (a) { var b; (b = this.Af()) == null || b.Ni(a) }; + g.k.sK = function (a, b, c) { this.Al() === -1 && (this.callback.vc(this.slot, this.layout), this.eE++); var d = this.Af(); d ? (d.pL(a, b, c), this.Ve() && this.callback.Hf(this.slot, this.layout, b, c)) : Ny("No active adapter found onLayoutError in PlayerBytesVodCompositeLayoutRenderingAdapter", void 0, void 0, { activeSubLayoutIndex: String(this.Al()), layoutId: this.Za().layoutId }) }; + g.k.onFullscreenToggled = function (a) { var b; (b = this.Af()) == null || b.onFullscreenToggled(a) }; + g.k.oh = function (a) { var b; (b = this.Af()) == null || b.oh(a) }; + g.k.gj = function (a) { var b; (b = this.Af()) == null || b.gj(a) }; + g.k.onVolumeChange = function () { var a; (a = this.Af()) == null || a.onVolumeChange() }; + g.k.YO = function (a, b, c) { QC(this.Pq, a, b, c) }; + g.k.ZT = function (a) { a.startRendering(a.Za()) }; + g.k.init = function () { + var a = tC(this.Za().Ca, "metadata_type_player_bytes_layout_controls_callback_ref"); a && (a.current = this); if (this.Qh.length < 1) throw new rC("Invalid sub layout rendering adapter length when scheduling composite layout.", { length: String(this.Qh.length) }); if (a = tC(this.Za().Ca, "metadata_type_ad_pod_skip_target_callback_ref")) a.current = this; a = g.w(this.Qh); for (var b = a.next(); !b.done; b = a.next())b = b.value, b.init(), Rua(this.Pq, this.slot, b.Za()), Sua(this.Pq, this.slot, b.Za()); if (this.Ve()) for (this.Sa.get().addListener(this), + qwa(lxa(this), this.Sa.get()), a = lxa(this), a = g.w(a), b = a.next(); !b.done; b = a.next())this.pO(b.value) + }; + g.k.pO = function (a) { var b = tC(a.Ca, "metadata_type_player_vars"); b ? (a.layoutType !== "LAYOUT_TYPE_MEDIA" && Ny("Non-video ad contains playerVars", this.slot, a), this.md.get().addPlayerResponseForAssociation({ playerVars: b })) : (a = ixa(a), this.md.get().addPlayerResponseForAssociation({ uJ: a })) }; + g.k.release = function () { var a = tC(this.Za().Ca, "metadata_type_player_bytes_layout_controls_callback_ref"); a && (a.current = null); if (a = tC(this.Za().Ca, "metadata_type_ad_pod_skip_target_callback_ref")) a.current = null; a = g.w(this.Qh); for (var b = a.next(); !b.done; b = a.next())b = b.value, Tua(this.Pq, this.slot, b.Za()), b.release(); this.Ve() && (this.Sa.get().removeListener(this), rwa()) }; + g.k.cz = function (a) { return a.layoutId !== this.Za().layoutId ? (this.callback.Hf(this.Zb(), a, new qC("Tried to start rendering an unknown layout, this adapter requires LayoutId: " + this.Za().layoutId + ("and LayoutType: " + this.Za().layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED"), !1) : !0 }; + g.k.OI = function () { this.Ia.get().addListener(this); DC(this.qc(), this) }; + g.k.Bg = function (a) { if (a.state.isError()) { var b, c; this.sK((b = a.state.eh) == null ? void 0 : b.errorCode, new qC("There was a player error during this media layout.", { playerErrorCode: (c = a.state.eh) == null ? void 0 : c.errorCode }, "ADS_CLIENT_ERROR_MESSAGE_PLAYER_ERROR"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") } else (b = this.Af()) && b.Bg(a) }; + g.k.Ve = function () { var a = tC(this.Zb().Ca, "metadata_type_eligible_for_ssap"); return a === void 0 ? (Ny("Expected SSAP eligibility in PlayerBytes slots", this.Zb(), this.Za()), !1) : this.Aa.get().Ve(a) }; + g.k.Jj = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; + g.z(BG, vG); g.k = BG.prototype; g.k.oR = function () { var a = this.Af(); a && a.ox() }; + g.k.G0 = function (a, b, c) { this.MJ(a, b, c) }; + g.k.F0 = function (a, b) { this.MJ(a, b, "error") }; + g.k.MJ = function (a, b, c) { var d = this; rxa(this, a, b, c, function () { yG(d, d.Al() + 1) }) }; + g.k.startRendering = function (a) { this.cz(a) && (this.OI(), h0(this.Aa.get()) && c0(this.zc.get()), S6a(this.Aa.get()) || v7a(this.Ia.get()), h0(this.Aa.get()) || c0(this.zc.get()), this.Al() === -1 && yG(this, this.Al() + 1)) }; + g.k.Kd = function (a, b) { + var c = this; this.yx = !0; this.Al() === this.Qh.length ? this.callback.Nc(this.slot, this.layout, b) : (a = this.Af(), a.Kd(a.Za(), b), this.pZ = function () { c.callback.Nc(c.slot, c.layout, b) }); + this.Ia.get().J.Hy(); E7a(this.md.get(), {}); a = k0(this.Ia.get(), 1); a.isPaused() && !g.U(a, 2) && this.Ia.get().playVideo(); this.Ia.get().removeListener(this); this.yx && this.oR() + }; + g.k.wG = function () { }; + g.k.vG = function () { }; + g.k.eC = function () { }; + g.k.yX = function () { }; + g.z(CG, vG); CG.prototype.G0 = function (a, b, c) { a = Object.assign({}, wG(this), { layoutId: b.layoutId, layoutExitReason: c }); b = a.layoutId; c = a.layoutExitReason; var d = {}; CE(a.Kf, "prse", (d.xc = b, d.ler = c, d.ctp = BE(b), d)) }; + CG.prototype.F0 = function () { Ny("onSubLayoutError in SSAP") }; + CG.prototype.MJ = function () { Ny("exitSubLayoutAndPlayNext in SSAP") }; + CG.prototype.yX = function () { Ny("confirmExitSubLayoutAndPlayTarget in SSAP") }; + g.z(DG, CG); g.k = DG.prototype; g.k.Af = function () { return this.Ch }; + g.k.Al = function () { var a = this; return this.Qh.findIndex(function (b) { var c; return b.Za().layoutId === ((c = a.Ch) == null ? void 0 : c.Za().layoutId) }) }; + g.k.ZT = function (a) { My(this.Ch === void 0, "replacing another adapter"); this.Ch = a; a.startRendering(a.Za()) }; + g.k.YO = function (a, b, c) { QC(this.Pq, a, b, c); var d; My(b.layoutId === ((d = this.Ch) == null ? void 0 : d.Za().layoutId), "currentAdapter does not match exiting layout", { slot: a ? "slot: " + a.slotType : "", subLayout: Ly(b) }) && (this.Ch = void 0) }; + g.k.release = function () { CG.prototype.release.call(this); My(this.Ch === void 0, "currentAdapter is still active during release"); this.Ch = void 0 }; + g.k.QQ = function () { return this.Ia.get().getPresentingPlayerType() === 2 }; + g.k.Kd = function (a, b) { My(a.layoutId === this.Za().layoutId, "StopRendering for wrong layout") && yE(this.Qw.B, b) && this.Ch && (a = this.Ch, a.jA().currentState < 2 && a.Kd(a.Za(), b), this.QQ() && this.Gc.get().finishSegmentByCpn(this.Ch.Za().layoutId, ZF(this.Sa.get(), 1).clientPlaybackNonce)) }; + g.k.Nc = function (a, b, c) { CG.prototype.Nc.call(this, a, b, c); b.layoutId === this.Za().layoutId && this.Ia.get().removeListener(this) }; + g.k.Hm = function () { return ZF(this.Sa.get(), 1).clientPlaybackNonce }; + g.k.wG = function (a, b, c) { + wwa(Object.assign({}, wG(this), { cpn: a })); if (this.Ch && this.Ch.Za().layoutId === a) txa(this, this.Ch, c); else { var d, e; Ny("Exiting cpn does not match active cpn", this.slot, (d = this.Ch) == null ? void 0 : d.Za(), { exitingCpn: a, transitionReason: c, activeCpn: (e = this.Ch) == null ? void 0 : e.Za().layoutId }) } b === this.Hm() && (this.Ch !== void 0 && (Ny("active adapter is not properly exited", this.slot, this.layout, { activeLayout: Ly(this.Ch.Za()) }), txa(this, this.Ch, c)), this.Qw.B.currentState < 2 && (a = fG(c), QI(this.Aa.get(), + "html5_fix_non_video_expiration") && a === "error" ? this.callback.Hf(this.slot, this.layout, new qC("Non video ad expired into content during SSAP composite layout.", { playerErrorCode: "non_video_expired" }, "ADS_CLIENT_ERROR_MESSAGE_NON_VIDEO_AD_EXPIRED"), "ADS_CLIENT_ERROR_TYPE_ERROR_DURING_RENDERING") : AG(this.Oi, this.layout, a)), this.callback.Nc(this.slot, this.layout, this.Qw.B.j)) + }; + g.k.startRendering = function (a) { this.cz(a) && (a = this.Qw, My(a.j === 1, "tickStartRendering: state is not initial"), a.j = 2, this.OI()) }; + g.k.vG = function (a) { + vwa(Object.assign({}, wG(this), { cpn: a })); var b = this.Qh.find(function (c) { return c.Za().layoutId === a }); + b ? (this.Qw.j !== 2 && (OAa(this.Yd, this.slot.slotId), My(this.Qw.j === 2, "Expect started"), this.callback.vc(this.slot, this.layout)), this.ZT(b), PC(this.Pq, this.slot, b.Za())) : uxa(this, a) + }; + g.k.qy = function (a, b) { mxa(this, a, b); var c = this.Af(); c ? nxa(c, a, b) && vxa(this, "skipped") : wxa(this, "onSkipRequested") }; + g.k.EL = function (a, b) { var c; a: { if (c = this.Af()) { if (oxa(this), pxa(c, a, b) && (a = qxa(this, c, a, b), a !== void 0)) { c = { a7: c, Fea: this.Qh[a] }; break a } } else wxa(this, "SkipWithAdPodSkip"); c = void 0 } if (a = c) c = a.a7, a = a.Fea, c.Kd(c.Za(), "skipped"), a = a.Za().layoutId, this.Gc.get().finishSegmentByCpn(c.Za().layoutId, a) }; + g.k.E0 = function () { Ny("Not used in html5_ssap_fix_layout_exit") }; + g.k.Bg = function (a) { var b; (b = this.Af()) == null || b.Bg(a) }; + g.k.sK = function () { Ny("Not used in html5_ssap_fix_layout_exit") }; + g.k.eC = function (a, b, c) { var d; if (((d = this.Af()) == null ? void 0 : d.Za().layoutId) !== b.layoutId) return void Ny("requestToExitSubLayout: wrong layout"); vxa(this, c) }; g.z(EG, g.O); g.k = EG.prototype; g.k.Zb = function () { return this.Ld.Zb() }; + g.k.Za = function () { return this.Ld.Za() }; + g.k.init = function () { var a = tC(this.Za().Ca, "metadata_type_player_bytes_layout_controls_callback_ref"); a && (a.current = this); this.zx() }; + g.k.zx = function () { this.Ld.init() }; + g.k.release = function () { var a = tC(this.Za().Ca, "metadata_type_player_bytes_layout_controls_callback_ref"); a && (a.current = null); this.Gy() }; + g.k.Gy = function () { this.Ld.release() }; + g.k.Ds = function () { this.Ld.Ds() }; + g.k.Fs = function () { this.Ld.Fs() }; + g.k.qy = function (a, b) { Ny("Unexpected onSkipRequested from PlayerBytesVodSingleLayoutRenderingAdapter. Skip should be handled by Triggers", this.Zb(), this.Za(), { requestingSlot: a, requestingLayout: b }) }; + g.k.startRendering = function (a) { a.layoutId !== this.Za().layoutId ? this.callback.Hf(this.Zb(), a, new qC("Tried to start rendering an unknown layout, this adapter requires LayoutId: " + this.Za().layoutId + ("and LayoutType: " + this.Za().layoutType), void 0, "ADS_CLIENT_ERROR_MESSAGE_UNKNOWN_LAYOUT"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") : (this.Ia.get().addListener(this), DC(this.qc(), this), h0(this.Aa.get()) && c0(this.zc.get()), S6a(this.Aa.get()) || v7a(this.Ia.get()), h0(this.Aa.get()) || c0(this.zc.get()), this.Rs(a)) }; + g.k.Rs = function (a) { this.Ld.startRendering(a) }; + g.k.Kd = function (a, b) { this.yx = !0; this.IM(a, b); this.Ia.get().J.Hy(); E7a(this.md.get(), {}); a = k0(this.Ia.get(), 1); a.isPaused() && !g.U(a, 2) && this.Ia.get().playVideo(); this.Ia.get().removeListener(this); this.yx && this.oR() }; + g.k.IM = function (a, b) { this.Ld.Kd(a, b) }; + g.k.vc = function (a, b) { this.Ld.vc(a, b) }; + g.k.Nc = function (a, b, c) { b.layoutId === this.Za().layoutId && (this.yx = !1, EC(this.qc(), this)); this.Ld.Nc(a, b, c); b.layoutId === this.Za().layoutId && zG(this.zc.get()) }; + g.k.oR = function () { this.Ld.ox() }; + g.k.Ni = function (a) { this.Ld.Ni(a) }; + g.k.Bg = function (a) { if (a.state.isError()) { var b, c; this.sK((b = a.state.eh) == null ? void 0 : b.errorCode, new qC("There was a player error during this media layout.", { playerErrorCode: (c = a.state.eh) == null ? void 0 : c.errorCode }, "ADS_CLIENT_ERROR_MESSAGE_PLAYER_ERROR"), "ADS_CLIENT_ERROR_TYPE_ENTER_LAYOUT_FAILED") } else this.Ld.Bg(a) }; + g.k.sK = function (a, b, c) { this.Ld.pL(a, b, c) }; + g.k.onFullscreenToggled = function (a) { this.Ld.onFullscreenToggled(a) }; + g.k.oh = function (a) { this.Ld.oh(a) }; + g.k.gj = function (a) { this.Ld.gj(a) }; + g.k.onVolumeChange = function () { this.Ld.onVolumeChange() }; + g.k.Jj = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; g.k = FG.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.init = function () { + this.xf.get().addListener(this); this.Ia.get().addListener(this); this.zx(); var a = tC(this.layout.Ca, "metadata_type_layout_enter_ms"), b = tC(this.layout.Ca, "metadata_type_layout_exit_ms"), c, d = (c = this.Sa.get().Tw) == null ? void 0 : c.clientPlaybackNonce; c = this.layout.ac.adClientDataEntry; GG(this.Oa.get(), { daiStateTrigger: { filledAdsDurationMs: b - a, contentCpn: d, adClientData: c } }); var e = this.xf.get(); e = zxa(e.C, a, b); e !== null && (GG(this.Oa.get(), { + daiStateTrigger: { + filledAdsDurationMs: e - a, contentCpn: d, + cueDurationChange: "DAI_CUE_DURATION_CHANGE_SHORTER", adClientData: c + } + }), this.Gc.get().Jz(e, b)) + }; + g.k.release = function () { this.Gy(); this.xf.get().removeListener(this); this.Ia.get().removeListener(this) }; + g.k.startRendering = function () { this.Rs(); this.callback.vc(this.slot, this.layout) }; + g.k.Kd = function (a, b) { this.IM(b); this.driftRecoveryMs !== null && (HG(this, { driftRecoveryMs: this.driftRecoveryMs.toString(), breakDurationMs: Math.round(Axa(this) - tC(this.layout.Ca, "metadata_type_layout_enter_ms")).toString(), driftFromHeadMs: Math.round(this.Ia.get().J.Kr() * 1E3).toString() }), this.driftRecoveryMs = null); this.callback.Nc(this.slot, this.layout, b) }; + g.k.m0 = function () { return !1 }; + g.k.h0 = function (a) { var b = tC(this.layout.Ca, "metadata_type_layout_enter_ms"), c = tC(this.layout.Ca, "metadata_type_layout_exit_ms"); a *= 1E3; if (b <= a && a < c) { var d; GG(this.Oa.get(), { daiStateTrigger: { filledAdsDurationMs: a - b, contentCpn: (d = this.Sa.get().Tw) == null ? void 0 : d.clientPlaybackNonce, cueDurationChange: "DAI_CUE_DURATION_CHANGE_SHORTER", adClientData: this.layout.ac.adClientDataEntry } }); this.Gc.get().Jz(a, c) } }; + g.k.Ni = function (a) { + this.V_(a); a = s0(this.Ia.get(), 2, !0); if (eJ(this.D.get(), this.layout.layoutId)) { + var b = tC(this.layout.Ca, "metadata_type_layout_enter_ms"), c = this.driftRecoveryMs; if (!(c === null || a * 1E3 < b + c)) { + this.driftRecoveryMs = null; var d = Axa(this), e = this.Ia.get().J.Kr(), f = Math.min(a + e, d / 1E3); f <= a ? HG(this, { driftRecoveryMs: c.toString(), breakDurationMs: Math.round(d - b).toString(), driftFromHeadMs: Math.round(e * 1E3).toString() }) : (HG(this, { + driftRecoveryMs: c.toString(), breakDurationMs: Math.round(d - b).toString(), + driftFromHeadMs: Math.round(e * 1E3).toString(), appliedDriftRecoveryMs: Math.round(a * 1E3 - b).toString(), destinationMs: Math.round(f * 1E3 - b).toString() + }), this.Ia.get().J.seekTo(f, void 0, void 0, 1)) + } + } + }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.gj = function () { }; + g.k.onVolumeChange = function () { }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; g.z(IG, FG); g.k = IG.prototype; g.k.zx = function () { + this.Sa.get().addListener(this); this.C.forEach(function (a) { a.init() }); + this.B != null && JG(this.Oa.get(), "ads_ssmplra_init", "lid." + this.layout.layoutId + ";smlid." + this.B) + }; + g.k.Gy = function () { this.Sa.get().removeListener(this); this.j = null; this.C.forEach(function (a) { a.release() }) }; + g.k.Rs = function () { if (this.j) Ny("Failed to restart rendering", this.slot, this.layout, { hasSurveyMediaSubLayout: String(!!this.B) }); else { var a, b = (a = this.Sa.get().Tw) == null ? void 0 : a.layoutId; Cxa(this, b) } }; + g.k.IM = function (a) { var b, c, d, e; (d = this.j) == null || (e = d.ym) == null || e.Kd((b = this.j) == null ? void 0 : (c = b.ym) == null ? void 0 : c.Za(), a); this.j = null }; + g.k.CL = function (a) { + var b = a.videoId; a = a.layoutId; if (b === "nPpU29QrbiU") { var c, d; JG(this.Oa.get(), "ads_ssmplra_opdcs", "vid." + b + ";lid." + this.layout.layoutId + ";smlid." + this.B + ";slrs." + !!this.j + ";slrslid." + ((c = this.j) == null ? void 0 : (d = c.ym) == null ? void 0 : d.Za().layoutId)) } if (this.j) { + var e; if (((e = this.j.ym) == null ? void 0 : e.Za().layoutId) === a) Ny("Unexpected transition into the same layout ID", this.slot, this.layout, { layoutId: a }); else { + var f, h; (h = this.j.ym) == null || h.Kd((f = this.j.ym) == null ? void 0 : f.Za(), "normal"); + Cxa(this, a) + } + } else Ny("Unexpected playback transition when no subLRA is rendering", this.slot, this.layout, { layoutId: a }) + }; + g.k.wG = function () { }; + g.k.vG = function () { }; + g.k.V_ = function () { }; + g.k.Bg = function () { }; + g.k.onFullscreenToggled = function () { }; g.k = Nxa.prototype; g.k.Zb = function () { return this.slot }; + g.k.Za = function () { return this.layout }; + g.k.jA = function () { Ny("Should not get exitStateMachine for DAI"); return new xE }; + g.k.init = function () { + var a = this; tC(this.layout.Ca, "metadata_type_player_bytes_callback_ref").current = this; this.rd = Dxa(this.slot, this.layout, tC(this.layout.Ca, "metadata_type_player_vars"), tC(this.layout.Ca, "metadata_type_layout_enter_ms"), tC(this.layout.Ca, "metadata_type_layout_exit_ms"), tC(this.layout.Ca, "metadata_type_video_length_seconds") * 1E3, this.Gc.get(), this.Ss.get(), function () { + var d = Object, e = d.assign, f = bH(a.layout); var h = tC(a.slot.Ca, "metadata_type_fulfilled_layout"); h = Object.assign({}, bH(h), + { adPlacementConfig: tC(h.Ca, "metadata_type_ad_placement_config"), subLayouts: tC(h.Ca, "metadata_type_sub_layouts").map(bH) }); return e.call(d, {}, { layoutType: "LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES" }, f, { compositeLayout: h, hasSurveyOverlay: nC(a.layout.Ca, "metadata_type_survey_overlay"), surveyOverlay: tC(a.layout.Ca, "metadata_type_survey_overlay") }) + }, this.Oa.get()); + this.Ia.get().addListener(this); var b = tC(this.layout.Ca, "metadata_type_video_length_seconds"), c = tC(this.layout.Ca, "metadata_type_active_view_traffic_type"); JD(this.layout.Eb) && l0(this.zb.get(), this.layout.layoutId, { At: c, lI: b, listener: this }); Rua(this.callback, this.slot, this.layout); Sua(this.callback, this.slot, this.layout) + }; + g.k.release = function () { this.Ia.get().removeListener(this); JD(this.layout.Eb) && m0(this.zb.get(), this.layout.layoutId); this.Aa.get(); Tua(this.callback, this.slot, this.layout) }; + g.k.startRendering = function () { + var a = this; nC(this.layout.Ca, "metadata_type_survey_overlay") && JG(this.Oa.get(), "ads_ssmlra_srs", "lid." + this.layout.layoutId); if (this.lc) Ny("Expected the layout not to be entered before start rendering", this.slot, this.layout, { hasSurveyOverlay: nC(this.layout.Ca, "metadata_type_survey_overlay"), surveyOverlay: tC(this.layout.Ca, "metadata_type_survey_overlay") }); else { + this.lc = { Ho: null, wH: !1 }; this.j = !1; if (Q6a(this.Aa.get())) { + var b; this.adCpn = (b = ZF(this.Sa.get(), 2)) == null ? void 0 : + b.clientPlaybackNonce + } this.Aa.get().J.U().experiments.kb("html5_disable_sodar_for_tvhtml5") || Exa(this.slot, this.layout, this.hf.get()); this.eb.Xb("start"); if (WI(this.Aa.get())) { b = k0(this.Ia.get()); var c = tC(this.layout.Ca, "metadata_type_video_length_seconds"), d = s0(this.Ia.get(), 2, !1); Fxa(this.eb, this.lc.Ho, b, c, d, function () { return void Pxa(a, "teois") }) } PC(this.callback, this.slot, this.layout); + nC(this.layout.Ca, "metadata_type_survey_overlay") && JG(this.Oa.get(), "ads_ssmlra_sre", "lid." + this.layout.layoutId) + } + }; + g.k.Kd = function (a, b) { + var c = this; if (this.lc) { + if (WI(this.Aa.get())) if (this.rd === null) Ny("Unexpected media sub layout exited without a timeline playback ID"); else { + a = tC(this.layout.Ca, "metadata_type_video_length_seconds"); var d = t7a(this.Ia.get(), this.rd); Q6a(this.Aa.get()) && this.adCpn === void 0 && Ny("Expected ad CPN in SSDAI macro data", this.slot, this.layout, { contentCpn: tC(this.layout.Ca, "metadata_type_content_cpn") }); Gva(this.eb, d, this.adCpn); LG(this.eb, null, this.lc.Ho, a, d, function (e) { + return void Oxa(c, + e, "fue") + }, Q6a(this.Aa.get())) + } this.lc = null; + QC(this.callback, this.slot, this.layout, this.j && this.Aa.get().J.U().L("dai_layout_log_skip_exit_reason") ? "skipped" : b) + } else Ny("Expected the layout to be entered before stop rendering", this.slot, this.layout) + }; + g.k.pL = function () { }; + g.k.ox = function () { }; + g.k.Ni = function (a) { var b = this; if (this.lc) { if (SD(this.eb, "impression")) { var c = k0(this.Ia.get()), d = tC(this.layout.Ca, "metadata_type_video_length_seconds"); MG(this.eb, c, a, this.lc.Ho, d, function (e) { return void Oxa(b, e, "tpaqe") }) } this.lc.Ho = a } }; + g.k.Bg = function (a) { var b = this; if (this.lc) { WI(this.Aa.get()) || this.lc.wH || (this.lc.wH = !0, a = new g.Oy(a.state, new g.LF)); var c = tC(this.layout.Ca, "metadata_type_video_length_seconds"), d = s0(this.Ia.get(), 2, !1); KG(this.eb, this.lc.Ho, a, c, d, !WI(this.Aa.get()), function () { return void Pxa(b, "teosc") }) } }; + g.k.onFullscreenToggled = function (a) { Gxa(this.eb, a) }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.gj = function () { }; + g.k.qy = function (a, b) { + var c; a = this.Oa.get(); var d = "ti." + SD(this.eb, "impression") + ";ts." + SD(this.eb, "skip") + ";hp.", e; var f = !((e = this.eb.C.get("skip")) == null || !e.length); JG(a, "ads_dsr", d + f + ";cpn." + tC(this.layout.Ca, "metadata_type_content_cpn") + ";acpn." + ((c = ZF(this.Sa.get(), 2)) == null ? void 0 : c.clientPlaybackNonce) + ";sl." + (tC(b.Ca, "metadata_type_linked_player_bytes_layout_id") === this.layout.layoutId)); SD(this.eb, "impression") && this.eb.Xb("skip"); b = ZF(this.Sa.get(), 1).oi && this.Aa.get().J.U().experiments.kb("html5_lifa_skip_to_content"); + this.j = !0; this.Gc.get().Ps(b) || (this.j = !1, Ny("Unexpected failure to skip a server stitched ad", this.slot, this.layout)) + }; + g.k.onVolumeChange = function () { }; + g.k.vc = function () { }; + g.k.Nc = function () { }; + g.k.Ds = function () { }; + g.k.Fs = function () { }; + g.k.mM = function () { Hxa(this.eb) }; + g.k.gy = function () { Ixa(this.eb) }; + g.k.ey = function () { Jxa(this.eb) }; + g.k.iy = function () { Kxa(this.eb) }; + g.k.Yx = function () { Lxa(this.eb) }; + g.k.Zx = function () { Mxa(this.eb) }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; g.z(eH, FG); g.k = eH.prototype; + g.k.zx = function () { + var a = this; tC(this.layout.Ca, "metadata_type_player_bytes_callback_ref").current = this; var b = tC(this.layout.Ca, "metadata_type_layout_enter_ms"), c = tC(this.layout.Ca, "metadata_type_layout_exit_ms"); this.rd = Dxa(this.slot, this.layout, tC(this.layout.Ca, "metadata_type_player_vars"), b, c, tC(this.layout.Ca, "metadata_type_video_length_seconds") * 1E3, this.Gc.get(), this.Ss.get(), function () { return { layoutType: "LAYOUT_TYPE_MEDIA", enterMs: b, exitMs: c, adPlacementConfig: tC(a.layout.Ca, "metadata_type_ad_placement_config") } }, + this.Oa.get()); + var d = tC(this.layout.Ca, "metadata_type_video_length_seconds"), e = tC(this.layout.Ca, "metadata_type_active_view_traffic_type"); JD(this.layout.Eb) && l0(this.zb.get(), this.layout.layoutId, { At: e, lI: d, listener: this }) + }; + g.k.Gy = function () { JD(this.layout.Eb) && m0(this.zb.get(), this.layout.layoutId) }; + g.k.Rs = function () { var a = this; if (this.lc) Ny("Expected the layout not to be entered before start rendering", this.slot, this.layout); else if (this.lc = { Ho: null, wH: !1 }, Exa(this.slot, this.layout, this.hf.get()), this.eb.Xb("start"), WI(this.Aa.get())) { var b = k0(this.Ia.get()), c = tC(this.layout.Ca, "metadata_type_video_length_seconds"), d = s0(this.Ia.get(), 2, !1); Fxa(this.eb, this.lc.Ho, b, c, d, function () { return void Qxa(a, "teois") }) } }; + g.k.IM = function () { var a = this; if (this.lc) { if (WI(this.Aa.get())) if (this.rd === null) Ny("Unexpected single media layout exited without a timeline playback ID"); else { var b = tC(this.layout.Ca, "metadata_type_video_length_seconds"), c = t7a(this.Ia.get(), this.rd); Gva(this.eb, c); LG(this.eb, null, this.lc.Ho, b, c, function (d) { return void Rxa(a, d, "fue") }) } this.lc = null } else Ny("Expected the layout to be entered before stop rendering", this.slot, this.layout) }; + g.k.V_ = function (a) { var b = this; if (this.lc) { if (SD(this.eb, "impression")) { var c = k0(this.Ia.get()), d = tC(this.layout.Ca, "metadata_type_video_length_seconds"); MG(this.eb, c, a, this.lc.Ho, d, function (e) { return void Rxa(b, e, "tpaqe") }) } this.lc.Ho = a } }; + g.k.Bg = function (a) { var b = this; if (this.lc) { WI(this.Aa.get()) || this.lc.wH || (this.lc.wH = !0, a = new g.Oy(a.state, new g.LF)); var c = tC(this.layout.Ca, "metadata_type_video_length_seconds"), d = s0(this.Ia.get(), 2, !1); KG(this.eb, this.lc.Ho, a, c, d, !WI(this.Aa.get()), function () { return void Qxa(b, "teosc") }) } }; + g.k.onFullscreenToggled = function (a) { Gxa(this.eb, a) }; + g.k.mM = function () { Hxa(this.eb) }; + g.k.gy = function () { Ixa(this.eb) }; + g.k.ey = function () { Jxa(this.eb) }; + g.k.iy = function () { Kxa(this.eb) }; + g.k.Yx = function () { Lxa(this.eb) }; + g.k.Zx = function () { Mxa(this.eb) }; fH.prototype.build = function (a, b, c, d) { + if (nC(c.Ca, "metadata_type_dai")) { + var e = tC(d.Ca, "metadata_type_ad_placement_config"); fE(d, { Nd: "metadata_type_video_length_seconds metadata_type_player_vars metadata_type_layout_enter_ms metadata_type_layout_exit_ms metadata_type_player_bytes_callback_ref metadata_type_content_cpn".split(" "), Fe: ["LAYOUT_TYPE_MEDIA"] }) && e !== void 0 ? (e = new MD(d.Eb, this.Oa, e, d.layoutId, null), e = new eH(a, c, d, this.Sa, this.Gc, this.Ss, this.xf, this.Ia, e, this.Oa, this.hf, this.j, this.zb, this.Aa)) : + e = null; if (e) return e; a: { + var f = tC(d.Ca, "metadata_type_sub_layouts"), h = tC(d.Ca, "metadata_type_ad_placement_config"); if (fE(d, { Nd: ["metadata_type_layout_enter_ms", "metadata_type_drift_recovery_ms", "metadata_type_layout_exit_ms"], Fe: ["LAYOUT_TYPE_COMPOSITE_PLAYER_BYTES"] }) && f !== void 0 && h !== void 0) { + e = []; f = g.w(f); for (var l = f.next(); !l.done; l = f.next()) { + l = l.value; var m = tC(l.Ca, "metadata_type_media_sub_layout_index"); if (!fE(l, { + Nd: "metadata_type_video_length_seconds metadata_type_player_vars metadata_type_layout_enter_ms metadata_type_layout_exit_ms metadata_type_player_bytes_callback_ref metadata_type_content_cpn".split(" "), + Fe: ["LAYOUT_TYPE_MEDIA"] + }) || m === void 0) { a = null; break a } m = new MD(l.Eb, this.Oa, h, l.layoutId, m); e.push(new Nxa(b, c, l, this.Gc, m, this.Ia, this.Ss, this.zb, this.hf, this.Aa, this.Oa, this.Sa)) + } b = new MD(d.Eb, this.Oa, h, d.layoutId); a = new IG(a, c, d, this.Sa, this.Gc, this.xf, this.Ia, b, this.Oa, this.j, e) + } else a = null + } if (a) return a + } else if (a = yxa(a, b, c, d, this.qc, this.Yd, this.Oi, this.Oa, this.zb, this.hf, this.md, this.Sa, this.Ia, this.Pc, this.zc, this.od, this.Mb, this.Yf, this.Aa, this.Gc, this.context, this.Pg)) return a; throw new qC("Unsupported layout with type: " + + d.layoutType + " and client metadata: " + uC(d.Ca) + " in PlayerBytesLayoutRenderingAdapterFactory."); + }; gH.prototype.build = function (a, b, c, d) { if (a = yxa(a, b, c, d, this.qc, this.Yd, this.Oi, this.Oa, this.zb, this.hf, this.md, this.Sa, this.Ia, this.Pc, this.zc, this.od, this.Mb, this.Yf, this.Aa, this.Gc, this.context, this.Pg)) return a; throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in PlayerBytesVodOnlyLayoutRenderingAdapterFactory."); }; g.z(Sxa, Ex); g.z(hH, FD); hH.prototype.startRendering = function (a) { var b = GD(this.eb), c = { adsClientData: this.layout.ac }; this.j.push(new Sxa(tC(this.layout.Ca, "metadata_type_valid_survey_text_interstitial_renderer"), b, this.Za().layoutId, c)); FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a) }; + hH.prototype.hg = function (a, b) { b !== this.layout.layoutId || a !== "survey-interstitial" && a !== "button" || ((a = tC(this.layout.Ca, "metadata_type_player_bytes_layout_controls_callback_ref").current) ? a.qy(this.slot, this.layout) : Ny("Tried to skip SurveyInterstitial but PlayerBytes callback is null")) }; + hH.prototype.xa = function () { FD.prototype.xa.call(this) }; var jH = new g.Id(320, 63); g.z(mH, Ex); g.z(nH, FD); g.k = nH.prototype; g.k.Ni = function () { }; + g.k.Bg = function () { }; + g.k.onFullscreenToggled = function () { }; + g.k.oh = function (a) { a && nJ(this.D, this.layout) }; + g.k.Jj = function () { }; + g.k.gj = function (a) { var b = lH(this.layout); if (this.N = kH(a, u7a(this.Ia.get()))) b.onErrorCommand && this.Mb.get().executeCommand(b.onErrorCommand, this.layout.layoutId), nJ(this.D, this.layout) }; + g.k.onVolumeChange = function () { }; + g.k.oA = function () { return this.Za().layoutId }; + g.k.HP = function () { return this.N }; + g.k.hg = function (a) { this.G.hg(a); a === "in_video_overlay_close_button" && nJ(this.D, this.layout) }; + g.k.qK = function (a) { a === "invideo-overlay" && nJ(this.D, this.layout) }; + g.k.rq = function () { this.G.rq() }; + g.k.startRendering = function (a) { FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a); this.K.zt = this }; + g.k.Kd = function (a, b) { FD.prototype.Kd.call(this, a, b); Y0(this.K, this) }; + g.k.init = function () { FD.prototype.init.call(this); k7a(this.Oa.get(), this); this.Ia.get().addListener(this); this.j.push(new mH(lH(this.layout), GD(this.eb), this.layout.layoutId, { adsClientData: this.layout.ac })) }; + g.k.release = function () { FD.prototype.release.call(this); this.Ia.get().removeListener(this); l7a(this.Oa.get(), this) }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; g.z(oH, FD); g.k = oH.prototype; g.k.init = function () { FD.prototype.init.call(this); k7a(this.Oa.get(), this); this.Ia.get().addListener(this); this.j.push(new mH(lH(this.layout), GD(this.eb), this.layout.layoutId, { adsClientData: this.layout.ac })) }; + g.k.rq = function () { this.G.rq() }; + g.k.startRendering = function (a) { FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a); this.K.zt = this }; + g.k.Kd = function (a, b) { FD.prototype.Kd.call(this, a, b); Y0(this.K, this) }; + g.k.hg = function (a) { this.G.hg(a); a === "in_video_overlay_close_button" && nJ(this.D, this.layout) }; + g.k.qQ = function (a) { if (a === "invideo-overlay") { a = NAa(this.Z, this.layout); a = g.w(a); for (var b = a.next(); !b.done; b = a.next())b.value.stop() } }; + g.k.qK = function (a) { a === "invideo-overlay" && nJ(this.D, this.layout) }; + g.k.pQ = function (a) { if (a === "invideo-overlay") { a = NAa(this.Z, this.layout); a = g.w(a); for (var b = a.next(); !b.done; b = a.next())b.value.start() } }; + g.k.Ni = function () { }; + g.k.Bg = function () { }; + g.k.onFullscreenToggled = function () { }; + g.k.oh = function (a) { a && nJ(this.D, this.layout) }; + g.k.Jj = function () { }; + g.k.gj = function (a) { var b = lH(this.layout), c = b.contentSupportedRenderer.imageOverlayAdContentRenderer, d = u7a(this.Ia.get()); a: { c = c.image; c = c === void 0 ? null : c; if (c != null && (c = c.thumbnail, c != null && c.thumbnails != null && c.thumbnails.length != 0 && c.thumbnails[0].width != null && c.thumbnails[0].height != null)) { c = new g.Id(c.thumbnails[0].width || 0, c.thumbnails[0].height || 0); break a } c = new g.Id(0, 0) } if (this.N = kH(a, d, c)) b.onErrorCommand && this.Mb.get().executeCommand(b.onErrorCommand, this.layout.layoutId), nJ(this.D, this.layout) }; + g.k.onVolumeChange = function () { }; + g.k.oA = function () { return this.Za().layoutId }; + g.k.HP = function () { return this.N }; + g.k.release = function () { FD.prototype.release.call(this); this.Ia.get().removeListener(this); l7a(this.Oa.get(), this) }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; pH.prototype.hg = function (a) { a === "ad-info-hover-text-button" && ((this.j = this.Ia.get().Fo(1)) || this.Ia.get().pauseVideo()) }; + pH.prototype.rq = function () { this.j || this.Ia.get().resumeVideo(1) }; g.z(Wxa, Ex); g.z(qH, FD); g.k = qH.prototype; g.k.init = function () { FD.prototype.init.call(this); this.Ia.get().addListener(this) }; + g.k.startRendering = function (a) { var b = tC(this.layout.Ca, "METADATA_TYPE_VALID_INSTREAM_SURVEY_AD_RENDERER_FOR_VOD"); this.j.push(new Wxa(b, this.layout.layoutId, { adsClientData: this.layout.ac })); FD.prototype.startRendering.call(this, a); this.callback.vc(this.slot, a) }; + g.k.vc = function () { }; + g.k.hg = function (a, b) { b !== this.layout.layoutId || a !== "ad-info-icon-button" && a !== "ad-info-dialog-close-button" || ((b = tC(this.layout.Ca, "metadata_type_player_bytes_layout_controls_callback_ref").current) ? a === "ad-info-icon-button" ? b.Ds(this.slot, this.layout) : a === "ad-info-dialog-close-button" && b.Fs(this.slot, this.layout) : Ny("Tried to use LayoutControlsCallback on Survey but it is null", this.slot, this.layout, { ComponentType: a })) }; + g.k.gj = function (a) { a.width < 450 && nJ(this.D, this.layout) }; + g.k.onVolumeChange = function () { }; + g.k.Ni = function () { }; + g.k.onFullscreenToggled = function () { }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.Bg = function () { }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; + g.k.xa = function () { FD.prototype.xa.call(this) }; + g.k.release = function () { FD.prototype.release.call(this); this.Ia.get().removeListener(this) }; Xxa.prototype.build = function (a, b, c, d) { + if (b = tE(a, c, d, this.Bc, this.Ia, this.Oa, this.D, this.j, this.Aa)) return b; if (fE(d, Vxa())) return new oH(c, d, this.Oa, this.zb, this.Bc, a, this.B, this.C, this.Ia, this.Mb, this.Aa, this.j, new pH(this.Ia)); if (fE(d, Uxa())) return new nH(c, d, this.Oa, this.zb, this.Bc, a, this.B, this.Ia, this.Mb, this.Aa, this.j, new pH(this.Ia)); if (fE(d, { Nd: ["METADATA_TYPE_VALID_INSTREAM_SURVEY_AD_RENDERER_FOR_VOD"], Fe: ["LAYOUT_TYPE_SURVEY"] })) return new qH(c, d, a, this.Bc, this.B, this.Ia, this.Aa); if (fE(d, + { Nd: ["metadata_type_player_bytes_layout_controls_callback_ref", "metadata_type_valid_survey_text_interstitial_renderer", "metadata_type_ad_placement_config"], Fe: ["LAYOUT_TYPE_VIDEO_INTERSTITIAL_BUTTONED_LEFT"] })) return new hH(c, d, a, this.Bc, this.Oa); if (fE(d, mwa())) return new pE(c, d, a, this.Bc, this.Ia, this.Aa); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in WebDesktopMainInPlayerLayoutRenderingAdapterFactory."); + }; Yxa.prototype.build = function (a, b, c, d) { if (b = tE(a, c, d, this.Bc, this.Ia, this.Oa, this.D, this.j, this.Aa)) return b; if (fE(d, Vxa())) return new oH(c, d, this.Oa, this.zb, this.Bc, a, this.B, this.C, this.Ia, this.Mb, this.Aa, this.j, new pH(this.Ia)); if (fE(d, Uxa())) return new nH(c, d, this.Oa, this.zb, this.Bc, a, this.B, this.Ia, this.Mb, this.Aa, this.j, new pH(this.Ia)); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in WebEmbeddedInPlayerLayoutRenderingAdapterFactory."); }; g.z(rH, nE); rH.prototype.startRendering = function (a) { nE.prototype.startRendering.call(this, a); if (a.renderingContent ? hwa(a, ZF(this.Sa.get(), 2) || void 0) : tC(this.layout.Ca, "metadata_ad_video_is_listed")) a = a.renderingContent ? gwa(a, ZF(this.Sa.get(), 2) || void 0) : tC(this.layout.Ca, "metadata_type_ad_info_ad_metadata"), this.Fn.get().J.ib("onAdMetadataAvailable", a) }; $xa.prototype.build = function (a, b, c, d) { if (fE(d, Zxa()) || d.layoutType === "LAYOUT_TYPE_MEDIA_LAYOUT_PLAYER_OVERLAY" && g.R(d.renderingContent, qE) !== void 0) return new rH(a, c, d, this.Bc, this.Ia, this.Oa, this.B, this.Fn, this.j, this.Sa); throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in WebRemixInPlayerLayoutRenderingAdapterFactory."); }; aya.prototype.build = function (a, b, c, d) { if (fE(d, Zxa())) return new rH(a, c, d, this.Bc, this.Ia, this.Oa, this.B, this.Fn, this.j, this.Sa); if (a = tE(a, c, d, this.Bc, this.Ia, this.Oa, this.B, this.j, this.Aa)) return a; throw new qC("Unsupported layout with type: " + d.layoutType + " and client metadata: " + uC(d.Ca) + " in WebUnpluggedInPlayerLayoutRenderingAdapterFactory."); }; IH.prototype.clone = function (a) { var b = this; return new IH(function () { return b.triggerId }, a) }; JH.prototype.clone = function (a) { var b = this; return new JH(function () { return b.triggerId }, a) }; KH.prototype.clone = function (a) { var b = this; return new KH(function () { return b.triggerId }, a) }; LH.prototype.clone = function (a) { var b = this; return new LH(function () { return b.triggerId }, a) }; MH.prototype.clone = function (a) { var b = this; return new MH(function () { return b.triggerId }, a) }; NH.prototype.clone = function (a) { var b = this; return new NH(function () { return b.triggerId }, a) }; g.z(pI, g.O); var DI = { layoutExitMuteTriggers: [], layoutExitNormalTriggers: [], layoutExitSkipTriggers: [], Yc: [], layoutExitUserInputSubmittedTriggers: [] }; var Rza = { + WVdDU7FEFNo: 15, "c-6Sb-muKCY": 6, "O9f9wIR-UI8": 6, "JNL-wFYNAP0": 15, dLYcTkdHPNA: 15, ZdVP0_LJZUE: 15, VXcUXyDNdEI: 15, VGQ8C9uQc_I: 15, "o2HqYt-U7YU": 15, rwNqPgKVbus: 15, ATgzDto2XcY: 15, attyPCCLlC4: 15, w3aSYOeWyYU: 15, wZMtuR2zzRA: 30, e3TvPYADCQA: 15, eMOw2R8yUHg: 15, "6lLyZenufEY": 15, "4q_FdWfUxR4": 15, "3NOPsNQV0zY": 15, IcEJuv4zMSI: 15, "8Eo9vaW_CqY": 15, O0DMDUDJK88: 15, wnboazT1Lio: 15, ZfRdOlbXmog: 5, "X-sKfjrb7uc": 15, RCVZbiJbZA0: 6, "7syqtZsUUwY": 15, OrlZSFgzFVA: 15, ulrgBGVttFg: 15, "1qC82K99ecI": 15, E9lmhFAK78w: 30, QSJFJNk_VSg: 15, + "i-8wX-g3FjI": 30, vgSkhTaAP6U: 15, iqslKcmG9zA: 15, VkNDKDDDSWA: 15, "2-Sj3oWDJCk": 6, z4zsVPqUVnc: 15, xKc7UMf8V4s: 15, wwrWuIYPaDE: 6, "_5NVge-Kmpk": 6, "eUdn6DcJx-4": 6, gxvBLc_C6Io: 15, O40oPma0obU: 15, "6xXRRLxj3DA": 15, T5sMvex24Os: 15, "74ccAT84jIY": 15, "YTlgTC-KM2U": 15, XxcipO9EBWc: 15, zI7xwG4M62k: 15, XrUrvpDMmOk: 15, H5KIgG21WjA: 15, R94pfM1wcac: 6, "TD0-7fMqNOE": 5, _evnWGoDAT8: 15, Wov4GF3oUSM: 6, DKcQEuGWmp4: 15, kp4aH06VQBg: 15, CI3LdgGodUw: 15, lcQzcg6e73Y: 15 + }; var SO = { hja: 1, ija: 2, jja: 3, 1: "LOAD_POLICY_ALWAYS", 2: "LOAD_POLICY_BY_PREFERENCE", 3: "LOAD_POLICY_BY_REQUEST" }; g.z(VI, g.O); g.k = VI.prototype; g.k.m0 = function (a) { if (!this.j) { var b; (b = this.Gc) == null || b.get().Vu(a.identifier); return !1 } zAa(this, this.j, a); return !0 }; + g.k.h0 = function () { }; + g.k.Kk = function (a) { this.j && this.j.contentCpn !== a && (Ny("Fetch instructions carried over from previous content video", void 0, void 0, { contentCpn: a, fetchInstructionsCpn: this.j.contentCpn }), this.j = null) }; + g.k.Lo = function (a) { this.j && this.j.contentCpn !== a && Ny("Expected content video of the current fetch instructions to end", void 0, void 0, { contentCpn: a, fetchInstructionsCpn: this.j.contentCpn }, !0); this.j = null }; + g.k.xa = function () { g.O.prototype.xa.call(this); this.j = null }; var E0 = ["metadata_type_content_cpn", "metadata_type_player_bytes_callback_ref", "metadata_type_instream_ad_player_overlay_renderer", "metadata_type_ad_placement_config"], vbb = ["metadata_type_content_cpn", "metadata_type_player_bytes_callback_ref", "metadata_type_player_overlay_layout_renderer", "metadata_type_ad_placement_config"]; g.z(ZI, g.O); g.k = ZI.prototype; g.k.vc = function (a, b) { + var c = this; if (b.layoutType === "LAYOUT_TYPE_MEDIA" && (oC(b, this.K) || oC(b, vbb))) { + var d = ZF(this.Sa.get(), 2), e = this.D(b, d || void 0); e ? BD(this.C.get(), "OPPORTUNITY_TYPE_PLAYER_BYTES_MEDIA_LAYOUT_ENTERED", function () { + var f = [fza(c.j.get(), e.contentCpn, e.Sq, function (h) { return c.G(h.slotId, "core", e, zC(c.Me.get(), h)) }, e.inPlayerSlotId)]; + e.instreamAdPlayerUnderlayRenderer && zI(c.Aa.get()) && f.push(EAa(c, e, e.instreamAdPlayerUnderlayRenderer)); return f + }) : Ny("Expected MediaLayout to carry valid opportunity on entered", a, b) + } + }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.sf = function () { }; + g.k.Lh = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.Nc = function () { }; g.z($I, g.O); $I.prototype.Kk = function (a, b, c, d, e, f, h) { var l = this, m = ZF(this.Sa.get(), 1); !P6a(this.Aa.get()) && m.Hp ? r0(this.Ia.get()) : (M6a(this.zc.get(), d), BD(this.B.get(), "OPPORTUNITY_TYPE_PLAYER_RESPONSE_RECEIVED", function () { return Jya(l.j.get(), d, e, f, a, b, h, m, "") }), H8a(this.C)) }; + $I.prototype.Lo = function () { }; g.z(aJ, g.O); g.z(bJ, g.O); bJ.prototype.onCueRangeEnter = function () { }; + bJ.prototype.onCueRangeExit = function (a) { + var b = this, c = this.j.get(a); c && (this.j.delete(a), this.Pc.get().removeCueRange(a), BD(this.B.get(), "OPPORTUNITY_TYPE_THROTTLED_AD_BREAK_REQUEST_SLOT_REENTRY", function () { var d = b.C.get(); d = CD(d.B.get(), "SLOT_TYPE_AD_BREAK_REQUEST"); return [Object.assign({}, c, { slotId: d, slotEntryTrigger: c.slotEntryTrigger ? VAa(c.slotId, d, c.slotEntryTrigger) : void 0, slotFulfillmentTriggers: WAa(c.slotId, d, c.slotFulfillmentTriggers), slotExpirationTriggers: WAa(c.slotId, d, c.slotExpirationTriggers) })] }, + c.slotId)) + }; + bJ.prototype.Kk = function () { for (var a = g.w(this.j.keys()), b = a.next(); !b.done; b = a.next())b = b.value, this.Pc.get().removeCueRange(b); this.j.clear() }; + bJ.prototype.Lo = function () { }; g.z(dJ, g.O); g.k = dJ.prototype; g.k.Rg = function () { }; + g.k.Oh = function (a) { var b = this; g.vt(g.xt(), function () { var c = b.j.get(a); c && Ny("Expected layouts to be properly unscheduled", a, void 0, { slotType: a.slotType, layoutTypes: [].concat(g.x(c)).map(function (d) { return d.layoutType }) }) }, 0) }; + g.k.sf = function () { }; + g.k.Lh = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function (a, b) { this.j.has(a) || this.j.set(a, new Set); this.j.get(a).add(b) }; + g.k.pg = function (a, b) { this.nj.has(a) && this.nj.get(a) === b && Ny("Unscheduled a Layout that is currently entered.", a, b); if (this.j.has(a)) { var c = this.j.get(a); c.has(b) ? (c.delete(b), c.size === 0 && this.j.delete(a)) : Ny("Trying to unscheduled a Layout that was not scheduled.", a, b) } else Ny("Trying to unscheduled a Layout that was not scheduled.", a, b) }; + g.k.vc = function (a, b) { this.nj.set(a, b) }; + g.k.Nc = function (a) { this.nj.delete(a) }; + g.k.Qg = function () { }; g.k = GAa.prototype; g.k.init = function () { }; + g.k.Zb = function () { return this.slot }; + g.k.IJ = function () { this.callback.sf(this.slot) }; + g.k.KJ = function () { this.callback.tf(this.slot) }; + g.k.release = function () { }; gJ.prototype.build = function (a, b) { return new GAa(a, b) }; g.k = HAa.prototype; g.k.init = function () { }; + g.k.Zb = function () { return this.slot }; + g.k.IJ = function () { t0(this.Ia.get(), "ad-showing"); this.callback.sf(this.slot) }; + g.k.KJ = function () { this.callback.tf(this.slot); u0(this.Ia.get(), "ad-showing") }; + g.k.release = function () { }; g.k = IAa.prototype; g.k.init = function () { }; + g.k.Zb = function () { return this.slot }; + g.k.IJ = function () { t0(this.Ia.get(), "ad-showing"); t0(this.Ia.get(), "ad-interrupting"); this.B = this.Ia.get().isAtLiveHead(); this.j = Math.ceil(Date.now() / 1E3); this.callback.sf(this.slot) }; + g.k.KJ = function () { u0(this.Ia.get(), "ad-showing"); u0(this.Ia.get(), "ad-interrupting"); var a = this.B ? Infinity : s0(this.Ia.get(), 1, !0) + Math.floor(Date.now() / 1E3) - this.j; this.Ia.get().J.seekTo(a, void 0, void 0, 1); this.callback.tf(this.slot) }; + g.k.release = function () { }; g.k = JAa.prototype; g.k.init = function () { }; + g.k.Zb = function () { return this.slot }; + g.k.IJ = function () { t0(this.Ia.get(), "ad-showing"); t0(this.Ia.get(), "ad-interrupting"); this.callback.sf(this.slot) }; + g.k.KJ = function () { r0(this.Ia.get()); u0(this.Ia.get(), "ad-showing"); u0(this.Ia.get(), "ad-interrupting"); this.callback.tf(this.slot) }; + g.k.release = function () { r0(this.Ia.get()) }; hJ.prototype.build = function (a, b) { if (vC(b, ["metadata_type_dai"], "SLOT_TYPE_PLAYER_BYTES")) return new HAa(a, b, this.Ia); if (b.slotEntryTrigger instanceof CH && vC(b, ["metadata_type_served_from_live_infra"], "SLOT_TYPE_PLAYER_BYTES")) return new IAa(a, b, this.Ia); if (vC(b, [], "SLOT_TYPE_PLAYER_BYTES")) return new JAa(a, b, this.Ia); throw new rC("Unsupported slot with type " + b.slotType + " and client metadata: " + (uC(b.Ca) + " in PlayerBytesSlotAdapterFactory.")); }; g.z(iJ, g.O); iJ.prototype.j = function (a) { for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next()) { d = d.value; var e = d.trigger; e instanceof HH && d.category === "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_MUTED" && e.triggeringLayoutId === a && b.push(d) } b.length ? RC(this.FN(), b) : Ny("Mute requested but no registered triggers can be activated.") }; g.z(kJ, iJ); g.k = kJ.prototype; g.k.hg = function (a, b) { if (b) if (a === "skip-button") { a = []; for (var c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next()) { d = d.value; var e = d.trigger; e instanceof HH && d.category === "TRIGGER_CATEGORY_LAYOUT_EXIT_USER_SKIPPED" && e.triggeringLayoutId === b && a.push(d) } a.length && RC(this.FN(), a) } else QI(this.Aa.get(), "supports_multi_step_on_desktop") ? a === "ad-action-submit-survey" && jJ(this, b) : a === "survey-submit" ? jJ(this, b) : a === "survey-single-select-answer-button" && jJ(this, b) }; + g.k.sQ = function (a) { iJ.prototype.j.call(this, a) }; + g.k.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof OH || b instanceof HH)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in AdUxUpdateTriggerAdapter."); this.Wb.set(b.triggerId, new QH(a, b, c, d)) }; + g.k.Ul = function (a) { this.Wb.delete(a.triggerId) }; + g.k.qQ = function () { }; + g.k.pQ = function () { }; + g.k.qK = function () { }; g.z(lJ, g.O); g.k = lJ.prototype; + g.k.Ql = function (a, b, c, d) { + if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof IH || b instanceof JH || b instanceof KH || b instanceof LH || b instanceof MH || b instanceof NH || b instanceof EH || b instanceof yH || b instanceof AH || b instanceof zH || b instanceof DH || b instanceof xH)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in AdsControlFlowEventTriggerAdapter"); a = new QH(a, b, c, d); this.Wb.set(b.triggerId, a); b instanceof + MH && this.G.has(b.triggeringSlotId) && RC(this.j(), [a]); b instanceof IH && this.C.has(b.triggeringSlotId) && RC(this.j(), [a]); b instanceof yH && this.B.has(b.triggeringLayoutId) && RC(this.j(), [a]) + }; + g.k.Ul = function (a) { this.Wb.delete(a.triggerId) }; + g.k.Rg = function (a) { this.G.add(a.slotId); for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next())d = d.value, d.trigger instanceof MH && a.slotId === d.trigger.triggeringSlotId && b.push(d); b.length > 0 && RC(this.j(), b) }; + g.k.Oh = function (a) { this.G.delete(a.slotId); for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next()) { d = d.value; var e = d.trigger; e instanceof NH && e.triggeringSlotId === a.slotId && b.push(d) } b.length > 0 && RC(this.j(), b) }; + g.k.Lh = function (a) { for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next()) { d = d.value; var e = d.trigger; e instanceof EH && e.slotType === a.slotType && e.j !== a.slotId && b.push(d) } b.length > 0 && RC(this.j(), b) }; + g.k.sf = function (a) { this.C.add(a.slotId); for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next())d = d.value, d.trigger instanceof IH && a.slotId === d.trigger.triggeringSlotId && b.push(d); b.length > 0 && RC(this.j(), b) }; + g.k.tf = function (a) { this.C.delete(a.slotId); this.D.add(a.slotId); for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next())if (d = d.value, d.trigger instanceof JH) a.slotId === d.trigger.triggeringSlotId && b.push(d); else if (d.trigger instanceof xH) { var e = d.trigger; a.slotId === e.slotId && this.B.has(e.triggeringLayoutId) && b.push(d) } b.length > 0 && RC(this.j(), b) }; + g.k.Mh = function (a) { for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next())d = d.value, d.trigger instanceof KH && a.slotId === d.trigger.triggeringSlotId && b.push(d); b.length > 0 && RC(this.j(), b) }; + g.k.Nh = function (a) { for (var b = [], c = g.w(this.Wb.values()), d = c.next(); !d.done; d = c.next())d = d.value, d.trigger instanceof LH && a.slotId === d.trigger.triggeringSlotId && b.push(d); b.length > 0 && RC(this.j(), b) }; + g.k.nh = function (a, b) { this.K.add(b.layoutId) }; + g.k.pg = function (a, b) { this.K.delete(b.layoutId) }; + g.k.vc = function (a, b) { this.B.add(b.layoutId); for (var c = [], d = g.w(this.Wb.values()), e = d.next(); !e.done; e = d.next())if (e = e.value, e.trigger instanceof yH) b.layoutId === e.trigger.triggeringLayoutId && c.push(e); else if (e.trigger instanceof DH) { var f = e.trigger; a.slotType === f.slotType && b.layoutType === f.layoutType && b.layoutId !== f.j && c.push(e) } else e.trigger instanceof xH && (f = e.trigger, b.layoutId === f.triggeringLayoutId && this.D.has(f.slotId) && c.push(e)); c.length > 0 && RC(this.j(), c) }; + g.k.Nc = function (a, b, c) { this.B.delete(b.layoutId); a = []; for (var d = g.w(this.Wb.values()), e = d.next(); !e.done; e = d.next())if (e = e.value, e.trigger instanceof AH && b.layoutId === e.trigger.triggeringLayoutId && a.push(e), e.trigger instanceof zH) { var f = e.trigger; b.layoutId === f.triggeringLayoutId && f.j.includes(c) && a.push(e) } a.length > 0 && RC(this.j(), a) }; + g.k.Qg = function () { }; + g.k.Kk = function () { this.D.clear() }; + g.k.Lo = function () { }; g.z(mJ, g.O); mJ.prototype.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof vH)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in CloseRequestedTriggerAdapter"); this.Wb.set(b.triggerId, new QH(a, b, c, d)) }; + mJ.prototype.Ul = function (a) { this.Wb.delete(a.triggerId) }; g.z(oJ, g.O); oJ.prototype.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof uH || b instanceof GH)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in ContentPlaybackLifecycleTriggerAdapter"); this.Wb.set(b.triggerId, new QH(a, b, c, d)) }; + oJ.prototype.Ul = function (a) { this.Wb.delete(a.triggerId) }; + oJ.prototype.Kk = function (a, b, c) { + b = []; for (var d = b.push, e = d.apply, f = [], h = g.w(this.Wb.values()), l = h.next(); !l.done; l = h.next())l = l.value, l.trigger instanceof uH && l.trigger.Hv === a && f.push(l); e.call(d, b, g.x(f)); if (!P6a(this.context.Aa.get())) { + d = b.push; e = d.apply; f = []; h = g.w(this.Wb.values()); for (l = h.next(); !l.done; l = h.next())if (l = l.value, l.trigger instanceof GH) { + var m = l.trigger.j === a; m ? c && m && (Ny("Firing OnNewPlaybackAfterContentVideoIdTrigger from presumed cached playback CPN match.", void 0, void 0, { cpn: a }), + f.push(l)) : f.push(l) + } e.call(d, b, g.x(f)) + } b.length && RC(this.j(), b) + }; + oJ.prototype.Lo = function (a) { for (var b = [], c = b.push, d = c.apply, e = [], f = g.w(this.Wb.values()), h = f.next(); !h.done; h = f.next()) { h = h.value; var l = h.trigger; l instanceof GH && l.j === a && e.push(h) } d.call(c, b, g.x(e)); b.length && RC(this.j(), b) }; g.z(pJ, g.O); g.k = pJ.prototype; g.k.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); var e = "adtriggercuerange:" + b.triggerId; if (b instanceof CH) KAa(this, a, b, c, d, e, b.j.start, b.j.end, b.Hv, b.visible); else if (b instanceof wH) KAa(this, a, b, c, d, e, 0x7ffffffffffff, 0x8000000000000, b.Hv, b.visible); else throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in CueRangeTriggerAdapter"); }; + g.k.Ul = function (a) { var b = this.Wb.get(a.triggerId); b && this.Pc.get().removeCueRange(b.vJ); this.Wb.delete(a.triggerId) }; + g.k.onCueRangeEnter = function (a) { var b = LAa(this, a); if (b && (b = this.Wb.get(b))) if (g.U(k0(this.Ia.get()), 32)) this.j.add(b.vJ); else { var c = b == null ? void 0 : b.nE.trigger; if (c instanceof CH || c instanceof wH) { if (cJ(this.context.Aa.get())) { var d = b.nE.slot, e = b.nE.layout, f = {}; this.context.Nn.Gk("cre", (f.ca = b.nE.category, f.tt = c.triggerType, f.st = d.slotType, f.lt = e == null ? void 0 : e.layoutType, f.cid = a, f)) } RC(this.B(), [b.nE]) } } }; + g.k.onCueRangeExit = function (a) { (a = LAa(this, a)) && (a = this.Wb.get(a)) && this.j.delete(a.vJ) }; + g.k.Bg = function (a) { if (Py(a, 16) < 0) { a = g.w(this.j); for (var b = a.next(); !b.done; b = a.next())this.onCueRangeEnter(b.value, !0); this.j.clear() } }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.vc = function () { }; + g.k.Nc = function () { }; + g.k.Qg = function () { }; + g.k.Ni = function () { }; + g.k.onFullscreenToggled = function () { }; + g.k.oh = function () { }; + g.k.Jj = function () { }; + g.k.gj = function () { }; + g.k.onVolumeChange = function () { }; + g.k.Ij = function () { }; + g.k.Lj = function () { }; g.z(qJ, g.O); g.k = qJ.prototype; + g.k.Ql = function (a, b, c, d) { if (this.B.has(b.triggerId) || this.C.has(b.triggerId)) throw new rC("Tried to re-register the trigger."); a = new QH(a, b, c, d); if (a.trigger instanceof dya) this.B.set(a.trigger.triggerId, a); else if (a.trigger instanceof BH) this.C.set(a.trigger.triggerId, a); else throw new rC("Incorrect TriggerType: Tried to register trigger of type " + a.trigger.triggerType + " in LiveStreamBreakTransitionTriggerAdapter"); this.B.has(a.trigger.triggerId) && a.slot.slotId === this.j && RC(this.D(), [a]) }; + g.k.Ul = function (a) { this.B.delete(a.triggerId); this.C.delete(a.triggerId) }; + g.k.CL = function (a) { a = a.slotId; if (this.j !== a) { var b = []; this.j != null && b.push.apply(b, g.x(MAa(this.C, this.j))); a != null && b.push.apply(b, g.x(MAa(this.B, a))); this.j = a; b.length && RC(this.D(), b) } }; + g.k.wG = function () { }; + g.k.vG = function () { }; g.z(rJ, g.O); g.k = rJ.prototype; g.k.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof FH)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in OnLayoutSelfRequestedTriggerAdapter"); this.Wb.set(b.triggerId, new QH(a, b, c, d)) }; + g.k.Ul = function (a) { this.Wb.delete(a.triggerId) }; + g.k.vc = function () { }; + g.k.Nc = function () { }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; g.z(sJ, g.O); g.k = sJ.prototype; g.k.Qg = function (a, b) { for (var c = [], d = g.w(this.Wb.values()), e = d.next(); !e.done; e = d.next()) { e = e.value; var f = e.trigger; f.opportunityType === a && (f.associatedSlotId && f.associatedSlotId !== b || c.push(e)) } c.length && RC(this.j(), c) }; + g.k.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof jva)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in OpportunityEventTriggerAdapter"); this.Wb.set(b.triggerId, new QH(a, b, c, d)) }; + g.k.Ul = function (a) { this.Wb.delete(a.triggerId) }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.vc = function () { }; + g.k.Nc = function () { }; g.z(tJ, g.O); g.k = tJ.prototype; g.k.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof PH)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in TimeRelativeToLayoutEnterTriggerAdapter"); this.Wb.set(b.triggerId, new QH(a, b, c, d)); a = this.j.has(b.triggeringLayoutId) ? this.j.get(b.triggeringLayoutId) : new Set; a.add(b); this.j.set(b.triggeringLayoutId, a) }; + g.k.Ul = function (a) { this.Wb.delete(a.triggerId); if (!(a instanceof PH)) throw new rC("Incorrect TriggerType: Tried to unregister trigger of type " + a.triggerType + " in TimeRelativeToLayoutEnterTriggerAdapter"); var b = this.B.get(a.triggerId); b && (b.dispose(), this.B.delete(a.triggerId)); if (b = this.j.get(a.triggeringLayoutId)) b.delete(a), b.size === 0 && this.j.delete(a.triggeringLayoutId) }; + g.k.Rg = function () { }; + g.k.Oh = function () { }; + g.k.Lh = function () { }; + g.k.sf = function () { }; + g.k.tf = function () { }; + g.k.Mh = function () { }; + g.k.Nh = function () { }; + g.k.nh = function () { }; + g.k.pg = function () { }; + g.k.Qg = function () { }; + g.k.vc = function (a, b) { var c = this; if (this.j.has(b.layoutId)) { a = this.j.get(b.layoutId); a = g.w(a); var d = a.next(); for (b = {}; !d.done; b = { VM: void 0 }, d = a.next())b.VM = d.value, d = new g.fp(function (e) { return function () { var f = c.Wb.get(e.VM.triggerId); RC(c.C(), [f]) } }(b), b.VM.durationMs), d.start(), this.B.set(b.VM.triggerId, d) } }; + g.k.Nc = function () { }; g.z(uJ, g.O); uJ.prototype.Ql = function (a, b, c, d) { if (this.Wb.has(b.triggerId)) throw new rC("Tried to register duplicate trigger for slot."); if (!(b instanceof sH)) throw new rC("Incorrect TriggerType: Tried to register trigger of type " + b.triggerType + " in VideoTransitionTriggerAdapter."); this.Wb.set(b.triggerId, new QH(a, b, c, d)) }; + uJ.prototype.Ul = function (a) { this.Wb.delete(a.triggerId) }; yJ.prototype.yu = function (a) { return a.kind === "AD_PLACEMENT_KIND_START" }; g.z(BJ, g.O); g.k = BJ.prototype; g.k.logEvent = function (a) { this.qs(a) }; + g.k.dk = function (a, b, c) { this.qs(a, void 0, void 0, void 0, b, void 0, void 0, void 0, b.adSlotLoggingData, void 0, void 0, c) }; + g.k.Th = function (a, b, c, d) { this.qs(a, void 0, void 0, void 0, b, c ? c : void 0, void 0, void 0, b.adSlotLoggingData, c ? c.adLayoutLoggingData : void 0, void 0, d) }; + g.k.GN = function (a, b, c, d) { QI(this.Aa.get(), "h5_enable_pacf_debug_logs") && console.log("[PACF]: " + a, "trigger:", c, "slot:", b, "layout:", d); yC(this.j.get()) && this.qs(a, void 0, void 0, void 0, b, d ? d : void 0, void 0, c, b.adSlotLoggingData, d ? d.adLayoutLoggingData : void 0) }; + g.k.JI = function (a, b, c, d, e) { this.qs(a, b, c, d, void 0, void 0, void 0, void 0, void 0, void 0, void 0, e) }; + g.k.mm = function (a, b, c, d) { this.qs("ADS_CLIENT_EVENT_TYPE_ERROR", void 0, void 0, void 0, c, d, void 0, void 0, c.adSlotLoggingData, d ? d.adLayoutLoggingData : void 0, { errorType: a, errorMessage: b }) }; + g.k.qs = function (a, b, c, d, e, f, h, l, m, n, p, q) { + var r = this; q = q === void 0 ? 0 : q; QI(this.Aa.get(), "h5_enable_pacf_debug_logs") && console.log("[PACF]: " + a, "slot:", e, "layout:", f, "ping:", h, "Opportunity:", { opportunityType: b, associatedSlotId: c, Lpa: d, Qpa: l, adSlotLoggingData: m, adLayoutLoggingData: n }); try { + var t = function () { + if (!r.Aa.get().J.U().L("html5_disable_client_tmp_logs") && (a !== "ADS_CLIENT_EVENT_TYPE_ERROR" || r.JT()) && a !== "ADS_CLIENT_EVENT_TYPE_UNSPECIFIED") { + a || Ny("Empty PACF event type", e, f); var u = yC(r.j.get()), + y = { eventType: a, eventOrder: ++r.eventCount }, A = {}; e && (A.slotData = xC(u, e)); f && (A.layoutData = Mua(u, f)); h && (A.pingData = { pingDispatchStatus: "ADS_CLIENT_PING_DISPATCH_STATUS_SUCCESS", serializedAdPingMetadata: h.ping.serializedAdPingMetadata, pingIndex: h.index }); l && (A.triggerData = wC(l.trigger, l.category)); b && (A.opportunityData = Nua(u, b, c, d)); u = { organicPlaybackContext: { contentCpn: ZF(r.Sa.get(), 1).clientPlaybackNonce } }; u.organicPlaybackContext.isLivePlayback = ZF(r.Sa.get(), 1).Vb; var D; u.organicPlaybackContext.isMdxPlayback = + (D = ZF(r.Sa.get(), 1)) == null ? void 0 : D.isMdxPlayback; var F; if ((F = ZF(r.Sa.get(), 1)) == null ? 0 : F.daiEnabled) u.organicPlaybackContext.isDaiContent = !0; var H; if (D = (H = ZF(r.Sa.get(), 2)) == null ? void 0 : H.clientPlaybackNonce) u.adVideoPlaybackContext = { adVideoCpn: D }; u && (A.externalContext = u); y.adClientData = A; m && (y.serializedSlotAdServingData = m.serializedSlotAdServingDataEntry); n && (y.serializedAdServingData = n.serializedAdServingDataEntry); p && (y.errorInfo = p); g.Ht("adsClientStateChange", { adsClientEvent: y }) + } + }; + q && q > 0 ? g.vt(g.xt(), function () { return t() }, q) : t() + } catch (u) { QI(this.Aa.get(), "html5_log_pacf_logging_errors") && g.vt(g.xt(), function () { Ny(u instanceof Error ? u : String(u), e, f, { pacf_message: "exception during pacf logging" }) }) } + }; + g.k.JT = function () { return this.Aa.get().JT() }; var wbb = new Set("ADS_CLIENT_EVENT_TYPE_LAYOUT_ENTERED ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_NORMALLY ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_SKIP ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_ABANDON ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_MUTE ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_USER_INPUT_SUBMITTED ADS_CLIENT_EVENT_TYPE_LAYOUT_EXITED_ABORTED".split(" ")); g.z(CJ, BJ); g.k = CJ.prototype; + g.k.dk = function (a, b, c) { BJ.prototype.dk.call(this, a, b, c); cJ(this.Aa.get()) && (c = {}, this.context.Nn.Gk("pacf", (c.et = a, c.st = b.slotType, c.si = b.slotId, c))) }; + g.k.Th = function (a, b, c, d) { var e = wbb.has(a); BJ.prototype.Th.call(this, a, b, c, d); cJ(this.Aa.get(), e) && (d = {}, this.context.Nn.Gk("pacf", (d.et = a, d.st = b.slotType, d.si = b.slotId, d.lt = c == null ? void 0 : c.layoutType, d.li = c == null ? void 0 : c.layoutId, d.p_ac = c == null ? void 0 : c.layoutId, d))) }; + g.k.JI = function (a, b, c, d, e) { BJ.prototype.JI.call(this, a, b, c, d, e); cJ(this.Aa.get()) && (c = {}, this.context.Nn.Gk("pacf", (c.et = a, c.ot = b, c.ss = d == null ? void 0 : d.length, c))) }; + g.k.GN = function (a, b, c, d) { BJ.prototype.GN.call(this, a, b, c, d); if (cJ(this.Aa.get())) { var e = {}; this.context.Nn.Gk("pacf", (e.et = a, e.tt = c.trigger.triggerType, e.tc = c.category, e.st = b.slotType, e.si = b.slotId, e.lt = d == null ? void 0 : d.layoutType, e.li = d == null ? void 0 : d.layoutId, e.p_ac = d == null ? void 0 : d.layoutId, e)) } }; + g.k.mm = function (a, b, c, d) { BJ.prototype.mm.call(this, a, b, c, d); if (cJ(this.Aa.get(), !0)) { var e = {}; this.context.Nn.Gk("perror", (e.ert = a, e.erm = b, e.st = c.slotType, e.si = c.slotId, e.lt = d == null ? void 0 : d.layoutType, e.li = d == null ? void 0 : d.layoutId, e.p_ac = d == null ? void 0 : d.layoutId, e)) } }; + g.k.qs = function (a, b, c, d, e, f, h, l, m, n, p) { if (g.OC(this.Aa.get().J.U())) { var q = this.Aa.get(); q = g.AC(q.J.U().experiments, "H5_async_logging_delay_ms") } else q = void 0; BJ.prototype.qs.call(this, a, b, c, d, e, f, h, l, m, n, p, q) }; DJ.prototype.clear = function () { this.j.clear() }; var $Aa = !1, FJ, GJ, HJ, IJ, JJ; g.z(KJ, g.O); + KJ.prototype.encrypt = function (a) { var b = a.length; a = new Uint8Array(a.buffer.slice(a.byteOffset, a.byteOffset + b)); for (var c = this.B, d = 0; d < b && this.j < 16;)a[d++] ^= c[this.j++]; for (var e = b - (b - d) % 16; d < e;)aBa(this), a[d++] ^= c[0], a[d++] ^= c[1], a[d++] ^= c[2], a[d++] ^= c[3], a[d++] ^= c[4], a[d++] ^= c[5], a[d++] ^= c[6], a[d++] ^= c[7], a[d++] ^= c[8], a[d++] ^= c[9], a[d++] ^= c[10], a[d++] ^= c[11], a[d++] ^= c[12], a[d++] ^= c[13], a[d++] ^= c[14], a[d++] ^= c[15]; if (d < b) for (aBa(this), this.j = 0; d < b;)a[d++] ^= c[this.j++]; return a }; var MJ = !1; (function () { + function a(d) { for (var e = new Uint8Array(d.length), f = 0; f < d.length; f++)e[f] = d[f]; return e } + function b(d) { return new Uint8Array(d) } + var c = new Uint8Array([1]); return c.length === 1 && c[0] === 1 ? b : a + })(); + var NJ; g.PJ.prototype.encrypt = function (a, b) { var c = this, d, e; return g.J(function (f) { if (f.j == 1) { d = OJ(); if (!d) return f.return(c.j(a, b)); g.va(f, 3); return g.G(f, c.B(a, b, d), 5) } if (f.j != 3) return f.return(f.B); e = g.xa(f); g.fx(e); MJ = !0; return f.return(c.j(a, b)) }) }; + g.PJ.prototype.B = function (a, b, c) { var d = this, e, f; return g.J(function (h) { switch (h.j) { case 1: if (d.G) { h.Ha(2); break } return g.G(h, c.importKey("raw", d.D, { name: "AES-CTR" }, !1, ["encrypt"]), 3); case 3: d.G = h.B; case 2: return e = { name: "AES-CTR", counter: b, length: 128 }, g.G(h, c.encrypt(e, d.G, a), 4); case 4: return f = h.B, h.return(new Uint8Array(f)) } }) }; + g.PJ.prototype.j = function (a, b) { this.C || (this.C = new KJ(this.D)); LJ(this.C, b); return this.C.encrypt(a) }; + g.PJ.prototype.decrypt = function (a, b) { return this.encrypt(a, b) }; + g.QJ.prototype.encrypt = function (a, b) { this.j || (this.j = new KJ(this.B)); LJ(this.j, b); return this.j.encrypt(a) }; + g.QJ.prototype.decrypt = function (a, b) { return this.encrypt(a, b) }; RJ.prototype.reset = function () { cBa(this); this.update(this.C) }; + RJ.prototype.update = function (a) { var b = 0, c = a.length; this.D += c; this.B && this.B + c >= 64 && (this.K.set(a.subarray(0, 64 - this.B), this.B), b = 64 - this.B, this.B = 0, bBa(this, this.K, 0)); for (; b + 64 <= c; b += 64)bBa(this, a, b); b < c && (a = a.subarray(b), this.K.set(a, this.B), this.B += a.length) }; + var SJ = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, + 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; var xbb; xbb = {}; g.ybb = g.zu("yt-idb-pref-storage", { + ys: (xbb.prefs = { Hn: 1 }, xbb), shared: !1, upgrade: function (a, b) { b(1) && g.gu(g.au(a, "prefs", { keyPath: "key" }), "byExpiration", "expirationTimestampMs") }, + version: 1 + }); TJ.prototype.getState = function () { return this.store.getState() }; + TJ.prototype.dispatch = function (a) { return this.store.dispatch(a) }; + TJ.prototype.subscribe = function (a) { return this.store.subscribe(a) }; + TJ.prototype.replaceReducer = function (a) { return this.store.replaceReducer(a) }; + TJ.prototype[Symbol.observable] = function () { return this.store[Symbol.observable]() }; VJ.prototype.append = function (a) { if (lBa(this, a)) { var b = this.j[this.j.length - 1]; this.j[this.j.length - 1] = new Uint8Array(b.buffer, b.byteOffset, b.length + a.length); YJ(this) } else this.j.push(a); this.totalLength += a.length }; + VJ.prototype.split = function (a) { for (var b = new VJ, c = new VJ, d = g.w(this.j), e = d.next(); !e.done; e = d.next())e = e.value, a >= e.length ? (b.append(e), a -= e.length) : a ? (b.append(new Uint8Array(e.buffer, e.byteOffset, a)), c.append(new Uint8Array(e.buffer, e.byteOffset + a, e.length - a)), a = 0) : c.append(e); return { zK: b, qn: c } }; + VJ.prototype.isFocused = function (a) { return a >= this.C && a < this.C + this.j[this.B].length }; + VJ.prototype.focus = function (a) { if (!this.isFocused(a)) { for (a < this.C && YJ(this); this.C + this.j[this.B].length <= a && this.B < this.j.length;)this.C += this.j[this.B].length, this.B += 1; this.D = void 0 } }; var fK, dK, hK; g.WX = function () { + function a(d) { for (var e = new Uint8Array(d.length), f = 0; f < d.length; f++)e[f] = d[f]; return e } + function b(d) { return new Uint8Array(d) } + var c = new Uint8Array([1]); return c.length === 1 && c[0] === 1 ? b : a + }(); + fK = Array(1024); dK = window.TextDecoder ? new TextDecoder : void 0; hK = window.TextEncoder ? new TextEncoder : void 0; for (var vBa = { + buttonEntity: 358, captionTrack: 225, channelHandle: 275, commerceAcquisitionClientPayloadEntity: 276, commerceCartListEntity: 236, continuationTokenEntity: 406, downloadQualityPickerEntity: 202, downloadsPageRefreshTokenEntity: 299, downloadsPageViewConfigurationEntity: 264, downloadStatusEntity: 141, sfvAudioItemCurrentlyPlayingEntity: 186, emojiFountainDataEntity: 393, emojiCustomizationSetEntity: 496, fakeChannel: 2, fakePlaylist: 279, fakePlaylistEntryCollection: 280, fakeVideo: 182, fakeVideoDescription: 278, featuredProductsEntity: 392, + flowStateEntity: 252, iconBadgeEntity: 229, interstitialInteractionStateEntity: 443, liveChatPollStateEntity: 217, liveReactionsDataEntity: 503, logoEntity: 245, macroMarkerEntity: 329, mainDownloadsLibraryEntity: 158, mainDownloadsListEntity: 164, mainPlaylistDownloadStateEntity: 373, mainPlaylistEntity: 306, mainPlaylistVideoEntity: 368, mainVideoDownloadStateEntity: 262, mainVideoEntity: 261, markersEngagementPanelSyncEntity: 196, markersVisibilityOverrideEntity: 312, musicAlbumReleaseDetail: 18, musicAlbumReleaseDownloadMetadataEntity: 259, + musicAlbumRelease: 17, musicAlbumReleaseUserDetail: 19, musicArtistDetail: 21, musicArtist: 20, musicArtistUserDetail: 22, musicDownloadsLibraryEntity: 257, musicLibraryEdit: 121, musicLibraryStatusEntity: 318, musicPlaylist: 24, musicPlaylistDownloadMetadataEntity: 248, musicShare: 100, musicTrackDetail: 29, musicTrackDownloadMetadataEntity: 234, musicTrack: 28, musicTrackUserDetail: 30, offlineOrchestrationActionWrapperEntity: 169, offlineVideoPolicy: 130, offlineVideoStreams: 198, offlineabilityEntity: 246, orchestrationWebSamplingEntity: 242, + pageHeaderEntity: 495, pdpStateEntity: 524, pinnedProductEntity: 273, playbackData: 119, quantityIncrementerEntity: 356, playerStateEntity: 323, refresh: 148, saveToPlaylistListEntity: 231, settingEntity: 297, transfer: 120, trendingOfferEntity: 469, videoDownloadContextEntity: 461, videoPlaybackPositionEntity: 76, ytMainChannelEntity: 152, ytMainDownloadedVideoEntity: 155, ytMainVideoEntity: 151 + }, uBa = {}, zbb = g.w(Object.entries(vBa)), Abb = zbb.next(); !Abb.done; Abb = zbb.next()) { + var Bbb = g.w(Abb.value), Cbb = Bbb.next().value, Dbb = Bbb.next().value, + Ebb = Cbb, Fbb = Dbb; Fbb && (uBa[Fbb] = Ebb) + }; var Q1; Q1 = {}; g.Gbb = (Q1.INVALID_ENCODER_VERSION = "Invalid encoder version", Q1.KEY_CREATION_FAILED = "Failed to create encoder key", Q1.UNKNOWN_DECODE_ERROR = "Failed to decode PES data", Q1.UNKNOWN_ENCODE_ERROR = "Failed to encode PES data", Q1.WRONG_DATA_TYPE = "Encoder cannot process the data type", Q1); var HK = window.xma || "en"; var BBa = [3611, 27686, 221058, 85013, 23462, 157557, 42016, 26926, 51236, 79148, 50160, 77504, 153587, 87907, 18630, 177018, 177023, 54445, 80935, 152172, 184553, 105675, 150723, 37521, 147285, 47786, 98349, 168271, 168954, 168277, 168273, 168270, 123695, 6827, 29434, 171388, 7282, 124448, 196088, 198104, 32276, 195115, 195114, 76278, 200635, 147868, 147869, 93911, 106531, 225031, 177843, 27259, 27262, 27263, 21759, 160866, 204249, 222900, 204250, 180626, 177959, 177957, 180628, 205716, 197878, 171243, 160789, 171244, 171241, 171245, 171242, 225560, 180627, 177960, 177958, + 180629, 205717, 197879, 177565, 212573, 210709, 197337, 209010, 197336, 197338, 198618, 175492, 198052, 198051, 197852, 197976, 175493, 175494, 175495, 189254, 175496, 175497, 38408, 175498, 175503, 175504, 175505, 175506, 175507, 175508, 80637, 68727, 206933, 207944, 206934, 206929, 221575, 68728, 221576, 80353, 80356, 180635, 74610, 45707, 83962, 83970, 46713, 166591, 89711, 74612, 213809, 179607, 155792, 93265, 74611, 131380, 128979, 139311, 128978, 131391, 105350, 139312, 134800, 131392, 113533, 93252, 99357, 94521, 114252, 113532, 94522, 94583, 202371, 88E3, 139580, + 93253, 93254, 94387, 94388, 93255, 97424, 72502, 219868, 212991, 110111, 76019, 117092, 117093, 89431, 191831, 110466, 77240, 60508, 186091, 148123, 148124, 137401, 137402, 137046, 73393, 113534, 92098, 131381, 84517, 83759, 162711, 162712, 80357, 86113, 72598, 168413, 72733, 107349, 124275, 118203, 200410, 133275, 160157, 152569, 156651, 133274, 160159, 160158, 133272, 133273, 133276, 144507, 143247, 175994, 156652, 143248, 143249, 143250, 143251, 189892, 189894, 189893, 156653, 214236, 144401, 117431, 133797, 225137, 222612, 222613, 153964, 201133, 201134, 201135, 201136, + 201137, 128572, 200411, 200412, 190337, 133405, 117429, 117430, 177950, 174734, 177951, 201138, 201139, 201140, 201141, 201142, 117432, 173996, 173995, 174953, 173994, 173997, 120080, 117259, 178546, 197891, 156655, 156654, 121692, 211414, 211411, 211412, 211413, 211403, 184846, 185993, 145656, 156656, 145655, 145653, 145654, 145657, 132972, 133051, 133658, 132971, 97615, 181262, 190762, 143359, 143356, 143361, 143358, 143360, 143357, 142303, 143353, 172859, 143354, 144479, 143355, 31402, 181590, 133624, 146477, 133623, 133622, 133621, 192418, 84774, 197993, 160801, + 197995, 95117, 172721, 150497, 98930, 98931, 98932, 153320, 153321, 43347, 210016, 210017, 211851, 211852, 211853, 129889, 197888, 197889, 149123, 221959, 221627, 221958, 45474, 100352, 98443, 117985, 74613, 155911, 74614, 64502, 136032, 74615, 74616, 122224, 74617, 77820, 74618, 226981, 93278, 93274, 93275, 93276, 200688, 200686, 200687, 199841, 22110, 29433, 133798, 132295, 120541, 222112, 82047, 113550, 75836, 75837, 192409, 203221, 42352, 84512, 76065, 75989, 205911, 205912, 205913, 51879, 16623, 32594, 27240, 32633, 74858, 222932, 213915, 225216, 218674, 156999, 3945, + 16989, 45520, 25488, 25492, 25494, 55760, 14057, 18451, 57204, 57203, 17897, 18198, 17898, 17909, 43980, 221053, 195529, 189660, 46220, 11721, 147994, 49954, 96369, 3854, 217640, 151633, 56251, 205192, 216797, 159108, 181568, 25624, 152036, 16906, 99999, 68172, 47973, 72773, 26970, 26971, 96805, 17752, 73233, 205923, 109512, 22256, 14115, 22696, 89278, 89277, 195745, 109513, 43278, 43459, 43464, 89279, 43717, 55764, 22255, 147912, 89281, 40963, 43277, 43442, 91824, 120137, 186350, 186351, 211026, 96367, 36850, 72694, 37414, 36851, 124863, 121343, 73491, 54473, 166861, 43375, + 46674, 143815, 139095, 144402, 149968, 149969, 32473, 72901, 72906, 50612, 50613, 50942, 84938, 84943, 84939, 84941, 84944, 84940, 84942, 35585, 51926, 79983, 18921, 57893, 41182, 135732, 33424, 22207, 36229, 22206, 22205, 44763, 33427, 67793, 22182, 37091, 34650, 50617, 22287, 25144, 97917, 220122, 62397, 150871, 150874, 125598, 137935, 36961, 108035, 27426, 27857, 27846, 27854, 69692, 61411, 39299, 38696, 62520, 36382, 108701, 192682, 50663, 36387, 14908, 37533, 105443, 61635, 62274, 161670, 133818, 182119, 65702, 65703, 65701, 76256, 196075, 194768, 194769, 191885, 194770, + 195350, 195349, 194771, 166382, 37671, 49953, 220669, 213774, 204572, 191389, 204574, 187917, 191390, 179556, 191402, 212661, 191392, 197826, 191393, 204573, 36216, 28237, 173718, 39553, 192547, 29222, 26107, 38050, 26108, 120745, 26109, 26110, 66881, 28236, 14586, 160598, 57929, 226736, 74723, 44098, 173689, 44099, 23528, 61699, 134104, 134103, 198313, 59149, 181013, 173191, 173192, 173193, 101951, 171502, 196043, 198305, 97346, 118051, 95102, 64882, 119505, 63595, 63349, 95101, 75240, 27039, 68823, 21537, 83464, 75707, 170215, 223033, 83113, 101952, 101953, 79610, 125755, + 24402, 24400, 32925, 193406, 57173, 183351, 156421, 122502, 145268, 138480, 64423, 64424, 33986, 100828, 129089, 21409, 185612, 222825, 135155, 135156, 135157, 135158, 158225, 135159, 135160, 167651, 135161, 135162, 135163, 158226, 158227, 135164, 135165, 135166, 11070, 11074, 17880, 30709, 30707, 30711, 30710, 30708, 185213, 185273, 146143, 63648, 63649, 221056, 211189, 111059, 211188, 5754, 20445, 151308, 151152, 130975, 130976, 210815, 191925, 167637, 197196, 214295, 110386, 221054, 113746, 66557, 183215, 17310, 28631, 201935, 21589, 164817, 168011, 154946, 68012, 162617, + 60480, 184431, 138664, 194E3, 141121, 164502, 31571, 195002, 206793, 141978, 150105, 150106, 150107, 150108, 76980, 41577, 45469, 38669, 13768, 13777, 141842, 62985, 213190, 4724, 223052, 59369, 43927, 43928, 12924, 197853, 100355, 56219, 27669, 209928, 10337, 203648, 203649, 47896, 122629, 186204, 222824, 139723, 139722, 121258, 107598, 127991, 96639, 107536, 130169, 216522, 96661, 145188, 213904, 96658, 116646, 159428, 168611, 168612, 121122, 219862, 96660, 127738, 127083, 155281, 162959, 220886, 163566, 186641, 147842, 217932, 104443, 96659, 147595, 106442, 182423, 162776, + 134840, 63667, 63668, 63669, 130686, 147036, 189810, 78314, 147799, 174049, 148649, 55761, 127098, 134841, 96368, 67374, 48992, 146176, 176105, 49956, 190190, 225739, 31961, 26388, 23811, 5E4, 126250, 96370, 210549, 47355, 47356, 37935, 45521, 21760, 83769, 49977, 49974, 93497, 93498, 34325, 140759, 115803, 123707, 100081, 35309, 68314, 25602, 100339, 170873, 143516, 178921, 59018, 18248, 50625, 9729, 37168, 37169, 21667, 16749, 18635, 39305, 18046, 221057, 53969, 8213, 93926, 221055, 210542, 212552, 102852, 110099, 22678, 69076, 137575, 139224, 100856, 154430, 209757, 223051, + 17736, 3832, 147111, 55759, 64031, 93044, 93045, 170701, 170702, 194796, 34388, 167841, 170419, 17657, 17655, 39579, 39578, 170412, 77448, 8196, 11357, 69877, 8197, 168501, 156512, 161613, 156509, 208274, 161612, 161614, 82039]; KK.prototype.BH = function (a) { this.client = a }; + KK.prototype.j = function () { this.clear(); this.csn = g.Ww() }; + KK.prototype.clear = function () { this.C.clear(); this.B.clear(); this.D.clear(); this.csn = null }; MK.prototype.BH = function (a) { g.tr(LK().BH).bind(LK())(a) }; + MK.prototype.clear = function () { g.tr(LK().clear).bind(LK())() }; g.k = NK.prototype; g.k.BH = function (a) { this.client = a }; + g.k.DX = function (a, b) { + var c = this; b = b === void 0 ? {} : b; g.tr(function () { + var d, e, f, h = ((d = g.R(a == null ? void 0 : a.commandMetadata, g.u1)) == null ? void 0 : d.rootVe) || ((e = g.R(a == null ? void 0 : a.commandMetadata, kab)) == null ? void 0 : (f = e.screenVisualElement) == null ? void 0 : f.uiType); if (h) { + d = g.R(a == null ? void 0 : a.commandMetadata, xab); if (d == null ? 0 : d.parentTrackingParams) { var l = g.Tw(d.parentTrackingParams); if (d.parentCsn) var m = d.parentCsn } else b.clickedVisualElement ? l = b.clickedVisualElement : a.clickTrackingParams && (l = g.Tw(a.clickTrackingParams)); + a: { d = g.R(a, g.mQ); e = g.R(a, uab); if (d) { if (e = zBa(d, "VIDEO")) { d = { token: e, videoId: d.videoId }; break a } } else if (e && (d = zBa(e, "PLAYLIST"))) { d = { token: d, playlistId: e.playlistId }; break a } d = void 0 } b = Object.assign({}, { cttAuthInfo: d, parentCsn: m }, b); if (g.Pr("expectation_logging")) { var n; b.loggingExpectations = ((n = g.R(a == null ? void 0 : a.commandMetadata, kab)) == null ? void 0 : n.loggingExpectations) || void 0 } PK(c, h, l, b) + } else g.fx(new g.pt("Error: Trying to create a new screen without a rootVeType", a)) + })() + }; + g.k.clickCommand = function (a, b, c) { a = a.clickTrackingParams; c = c === void 0 ? 0 : c; a ? (c = g.Ww(c === void 0 ? 0 : c)) ? (bsa(this.client, c, g.Tw(a), b), b = !0) : b = !1 : b = !1; return b }; + g.k.stateChanged = function (a, b, c) { this.visualElementStateChanged(g.Tw(a), b, c === void 0 ? 0 : c) }; + g.k.visualElementStateChanged = function (a, b, c) { c = c === void 0 ? 0 : c; c === 0 && this.B.has(c) ? this.Z.push([a, b]) : FBa(this, a, b, c) }; TK.prototype.fetch = function (a, b, c) { + var d = this, e = IBa(a, b, c); return new Promise(function (f, h) { + function l() { if (c == null ? 0 : c.Er) try { var n = d.handleResponse(a, e.status, e.response, c); f(n) } catch (p) { h(p) } else f(d.handleResponse(a, e.status, e.response, c)) } + e.onerror = l; e.onload = l; var m; e.send((m = b.body) != null ? m : null) + }) + }; + TK.prototype.handleResponse = function (a, b, c, d) { c = c.replace(")]}'", ""); try { var e = JSON.parse(c) } catch (f) { g.fx(new g.pt("JSON parsing failed after XHR fetch", a, b, c)); if ((d == null ? 0 : d.Er) && c) throw new g.FA(1, "JSON parsing failed after XHR fetch"); e = {} } b !== 200 && (g.fx(new g.pt("XHR API fetch failed", a, b, c)), e = Object.assign({}, e, { errorMetadata: { status: b } })); return e }; UK.getInstance = function () { var a = g.La("ytglobal.storage_"); a || (a = new UK, g.Ka("ytglobal.storage_", a)); return a }; + UK.prototype.estimate = function () { var a, b, c; return g.J(function (d) { a = navigator; return ((b = a.storage) == null ? 0 : b.estimate) ? d.return(a.storage.estimate()) : ((c = a.webkitTemporaryStorage) == null ? 0 : c.queryUsageAndQuota) ? d.return(JBa()) : d.return() }) }; + g.Ka("ytglobal.storageClass_", UK); Ft.prototype.Kl = function (a) { this.handleError(a) }; + Ft.prototype.logEvent = function (a, b) { + switch (a) { + case "IDB_DATA_CORRUPTED": g.Pr("idb_data_corrupted_killswitch") || this.j("idbDataCorrupted", b); break; case "IDB_UNEXPECTEDLY_CLOSED": this.j("idbUnexpectedlyClosed", b); break; case "IS_SUPPORTED_COMPLETED": g.Pr("idb_is_supported_completed_killswitch") || this.j("idbIsSupportedCompleted", b); break; case "QUOTA_EXCEEDED": LBa(this, b); break; case "TRANSACTION_ENDED": this.C && Math.random() <= .1 && this.j("idbTransactionEnded", b); break; case "TRANSACTION_UNEXPECTEDLY_ABORTED": a = + Object.assign({}, b, { hasWindowUnloaded: this.B }), this.j("idbTransactionAborted", a) + } + }; var R1 = {}, AKa = g.zu("yt-player-local-media", { + ys: (R1.index = { Hn: 2 }, R1.media = { Hn: 2 }, R1.captions = { Hn: 5 }, R1), shared: !1, upgrade: function (a, b) { b(2) && (g.au(a, "index"), g.au(a, "media")); b(5) && g.au(a, "captions"); b(6) && (bu(a, "metadata"), bu(a, "playerdata")) }, + version: 5 + }); var Hbb = { cupcake: 1.5, donut: 1.6, eclair: 2, froyo: 2.2, gingerbread: 2.3, honeycomb: 3, "ice cream sandwich": 4, jellybean: 4.1, kitkat: 4.4, lollipop: 5.1, marshmallow: 6, nougat: 7.1 }, S1; a: { var T1 = g.wb(); T1 = T1.toLowerCase(); if (g.rb(T1, "android")) { var Ibb = T1.match(/android\s*(\d+(\.\d+)?)[^;|)]*[;)]/); if (Ibb) { var Jbb = parseFloat(Ibb[1]); if (Jbb < 100) { S1 = Jbb; break a } } var Kbb = T1.match("(" + Object.keys(Hbb).join("|") + ")"); S1 = Kbb ? Hbb[Kbb[0]] : 0 } else S1 = void 0 } var MO = S1, LO = MO >= 0; var v2a = window; var MBa = $c(function () { var a, b; return (b = (a = window).matchMedia) == null ? void 0 : b.call(a, "(prefers-reduced-motion: reduce)").matches }); var VK; g.WK = new QA; VK = 0; var XK = { + kK: function (a, b) { var c = a[0]; a[0] = a[b % a.length]; a[b % a.length] = c }, + PN: function (a) { a.reverse() }, + Ew: function (a, b) { a.splice(0, b) } + }; var v4a = new Set(["embed_config", "endscreen_ad_tracking", "home_group_info", "ic_track"]); var iO = VBa() ? !0 : typeof window.fetch === "function" && window.ReadableStream && window.AbortController && !g.tu ? !0 : !1; var yJa = { Gfa: "adunit", fha: "detailpage", rha: "editpage", tha: "embedded", Yia: "leanback", dka: "previewpage", gka: "profilepage", W6: "unplugged", aka: "playlistoverview", Tka: "sponsorshipsoffer", Jka: "shortspage", Zha: "handlesclaiming", qia: "immersivelivepage", bha: "creatormusic", ria: "immersivelivepreviewpage", Afa: "admintoolyurt" }; var dDa = { ANDROID: 3, ANDROID_KIDS: 18, ANDROID_MUSIC: 21, ANDROID_UNPLUGGED: 29, WEB: 1, WEB_REMIX: 67, WEB_UNPLUGGED: 41, IOS: 5, IOS_KIDS: 19, IOS_MUSIC: 26, IOS_UNPLUGGED: 33 }, eDa = { android: "ANDROID", "android.k": "ANDROID_KIDS", "android.m": "ANDROID_MUSIC", "android.up": "ANDROID_UNPLUGGED", youtube: "WEB", "youtube.m": "WEB_REMIX", "youtube.up": "WEB_UNPLUGGED", ytios: "IOS", "ytios.k": "IOS_KIDS", "ytios.m": "IOS_MUSIC", "ytios.up": "IOS_UNPLUGGED" }, A2a = { "mdx-pair": 1, "mdx-dial": 2, "mdx-cast": 3, "mdx-voice": 4, "mdx-inappdial": 5 }; var UKa = { DISABLED: 1, ENABLED: 2, PAUSED: 3, 1: "DISABLED", 2: "ENABLED", 3: "PAUSED" }; g.nL.prototype.getLanguageInfo = function () { return this.dc }; + g.nL.prototype.getXtags = function () { if (!this.xtags) { var a = this.id.split(";"); a.length > 1 && (this.xtags = a[1]) } return this.xtags }; + g.nL.prototype.toString = function () { return this.dc.name }; + g.nL.prototype.getLanguageInfo = g.nL.prototype.getLanguageInfo; oL.prototype.isLocked = function () { return this.C && !!this.B && this.B === this.j }; + oL.prototype.compose = function (a) { if (a.C && sL(a)) return VP; if (a.C || sL(this)) return a; if (this.C || sL(a)) return this; var b = this.B && a.B ? Math.max(this.B, a.B) : this.B || a.B, c = this.j && a.j ? Math.min(this.j, a.j) : this.j || a.j; b = Math.min(b, c); var d = 0; pL && (d = this.ub !== 0 && a.ub !== 0 ? Math.min(this.ub, a.ub) : this.ub === 0 ? a.ub : this.ub); return pL && b === this.B && c === this.j && d === this.ub || !pL && b === this.B && c === this.j ? this : pL ? new oL(b, c, !1, c === this.j && d === this.ub ? this.reason : a.reason, d) : new oL(b, c, !1, c === this.j ? this.reason : a.reason) }; + oL.prototype.D = function (a) { return !a.video || pL && this.ub !== 0 && this.ub < a.ub ? !1 : gDa(this, a.video.quality) }; + var Lbb = g.rL("auto", "hd1080", !1, "l"), E1a = g.rL("auto", "large", !1, "l"), VP = g.rL("auto", "auto", !1, "p"), pL = !1; wL.prototype.Ut = function (a) { + a = a || VP; for (var b = g.kn(this.videoInfos, function (h) { return a.D(h) }), c = [], d = {}, e = 0; e < b.length; e++) { + var f = b[e].video; + d[f.quality] || (c.push(f), d[f.quality] = !0) + } return c + }; + wL.prototype.cF = function (a) { a = a || VP; return g.kn(this.videoInfos, function (b) { return a.D(b) }) }; + wL.prototype.getAvailableAudioTracks = function () { return this.audioTracks }; var xDa = new Set(["356"]); g.z(xL, g.O); xL.prototype.xa = function () { g.O.prototype.xa.call(this) }; g.IL.prototype.set = function (a, b) { this.j[a] !== b && (this.j[a] = b, this.url = "") }; + g.IL.prototype.get = function (a) { JL(this); return this.j[a] || null }; + g.IL.prototype.Ce = function () { this.url || (this.url = DDa(this)); return this.url }; + g.IL.prototype.clone = function () { var a = new g.IL(this.B, this.D); a.scheme = this.scheme; a.path = this.path; a.C = this.C; a.j = g.Fc(this.j); a.url = this.url; return a }; + var CDa = [Dma]; g.k = g.QL.prototype; g.k.HN = function (a) { this.segments.push(a) }; + g.k.po = function (a) { return !!this.Tn(a) }; + g.k.getDuration = function (a) { return (a = this.Tn(a)) ? a.duration : 0 }; + g.k.nY = function (a) { return this.getDuration(a) }; + g.k.Vn = function () { return this.segments.length ? this.segments[0].Pa : -1 }; + g.k.bf = function (a) { return (a = this.Tn(a)) ? a.ingestionTime : NaN }; + g.k.qd = function () { return this.segments.length ? this.segments[this.segments.length - 1].Pa : -1 }; + g.k.QF = function (a) { return this.qd() === a && !this.B && a >= 0 }; + g.k.Xt = function () { var a = this.segments[this.segments.length - 1]; return a ? a.endTime : NaN }; + g.k.Xc = function () { return this.segments[0].startTime }; + g.k.sA = function () { return this.segments.length }; + g.k.Km = function () { return 0 }; + g.k.Li = function (a) { return (a = this.eA(a)) ? a.Pa : -1 }; + g.k.hK = function (a) { return (a = this.Tn(a)) ? a.sourceURL : "" }; + g.k.getStartTime = function (a) { return (a = this.Tn(a)) ? a.startTime : 0 }; + g.k.UJ = function (a) { return this.getStartTime(a) + this.getDuration(a) }; + g.k.jK = aa(1); g.k.isLoaded = function () { return this.segments.length > 0 }; + g.k.Tn = function (a) { + if (this.j && this.j.Pa === a) return this.j; a = g.Yb(this.segments, new PL(a, 0, 0, 0, ""), function (b, c) { return b.Pa - c.Pa }); + return this.j = a >= 0 ? this.segments[a] : null + }; + g.k.eA = function (a) { + if (this.j && this.j.startTime <= a && a < this.j.startTime + this.j.duration) return this.j; a = g.Yb(this.segments, { startTime: a }, function (b, c) { return b.startTime - c.startTime }); + return this.j = a >= 0 ? this.segments[a] : this.segments[Math.max(0, -a - 2)] + }; + g.k.append = function (a) { if (a.length) if (a = g.Tb(a), this.segments.length) { var b = this.segments.length ? g.Ib(this.segments).endTime : 0, c = a[0].Pa - this.qd(); c > 1 && Haa(this.segments); for (c = c > 0 ? 0 : -c + 1; c < a.length; c++) { var d = a[c]; d.startTime = b; d.endTime = d.startTime + d.duration; b += a[c].duration; this.segments.push(a[c]) } } else this.segments = a }; + g.k.wY = function () { return 0 }; RL.prototype.skip = function (a) { this.j += a }; var U1 = {}, Mbb = (U1.predictStart = "predictStart", U1.start = "start", U1["continue"] = "continue", U1.stop = "stop", U1), JDa = { EVENT_PREDICT_START: "predictStart", EVENT_START: "start", EVENT_CONTINUE: "continue", EVENT_STOP: "stop" }; aM.prototype.AF = function () { return !!(this.data["Stitched-Video-Id"] || this.data["Stitched-Video-Cpn"] || this.data["Stitched-Video-Duration-Us"] || this.data["Stitched-Video-Start-Frame-Index"] || this.data["Serialized-State"] || this.data["Is-Ad-Break-Finished"]) }; + aM.prototype.toString = function () { for (var a = "", b = g.w(Object.keys(this.data)), c = b.next(); !c.done; c = b.next())c = c.value, a += c + ":" + this.data[c] + ";"; return a }; nM.prototype.Co = function () { var a = this.pos; this.pos = 0; var b = !1; try { rM(this, 440786851) && (this.pos = 0, rM(this, 408125543) && (b = !0)) } catch (c) { if (c instanceof RangeError) this.pos = 0, b = !1, g.fx(c); else throw c; } this.pos = a; return b }; BM.prototype.set = function (a, b) { this.base.get(a); this.j[a] = b; this.url = "" }; + BM.prototype.get = function (a) { return this.j[a] || this.base.get(a) }; + BM.prototype.Ce = function () { this.url || (this.url = dEa(this)); return this.url }; FM.prototype.Xj = function (a, b) { if (this.N) return !0; if (LL(this.j)) return !1; var c = EM(b, KL(this.j)); if (c.timedOut < 1 && c.j < 1) return !1; c = c.timedOut + c.j; a = GM(this, a); b = EM(b, KL(a)); return b.timedOut + b.j + 0 < c }; + FM.prototype.dK = function (a) { return this.C.get(a) }; + FM.prototype.Fl = function (a, b) { a.base === this.j && (this.j = CM(a, b)); a.base === this.D && (this.D = CM(a, b)) }; KM.prototype.jg = function () { return !!this.j && this.index.isLoaded() }; + KM.prototype.TA = function () { return !1 }; + KM.prototype.MV = function (a) { return [a] }; + KM.prototype.fC = function (a) { return [a] }; LM.prototype.toString = function () { return this.start + "-" + (this.end == null ? "" : this.end) }; PM.prototype.Mi = function () { return this.Se && this.j.index.QF(this.Pa) }; + PM.prototype.isEncrypted = function () { return this.j.info.isEncrypted() }; + PM.prototype.zg = function () { return !!this.j.info.video }; + PM.prototype.Sc = function () { + var a = UM(this), b = ""; g.qc(a, function (c, d) { b += d + "_" + c + "_" }); + return b.slice(0, -1) + }; WM.prototype.iA = function () { return this.j ? this.j.Ce() : "" }; + WM.prototype.eq = function () { return !!(this.j || this.D && this.D.dn) }; + WM.prototype.Lp = function () { return QM(this.gb[0]) }; + WM.prototype.Fl = function (a, b) { this.resource.Fl(a, b); if (this.j) { this.j = CM(a, b); b = g.w(["acpns", "cpn", "daistate", "skipsq"]); for (var c = b.next(); !c.done; c = b.next())this.j.set(c.value, null) } this.requestId = a.get("req_id") }; g.z($M, KM); g.k = $M.prototype; g.k.Rm = function () { return !1 }; + g.k.Fx = function () { return !0 }; + g.k.OA = function () { return !1 }; + g.k.TA = function () { return !this.G }; + g.k.jx = function () { return new WM([new PM(1, this, this.initRange, "getMetadataRequestInfo")], this.G) }; + g.k.rz = function () { return null }; + g.k.vD = function (a) { this.ut(a); return this.Fx() && a.B && !a.Se ? new WM([new PM(a.type, a.j, a.range, "liveGetNextRequestInfoBySegment", a.Pa, a.startTime, a.duration, a.Ub + a.B, NaN, !0)], this.index.hK(a.Pa)) : this.vt(TM(a), !1) }; + g.k.Mr = function (a, b) { b = b === void 0 ? !1 : b; a = this.index.Li(a); b && (a = Math.min(this.index.qd(), a + 1)); return this.vt(a, !0) }; + g.k.rQ = function (a) { oN(a) }; + g.k.ut = function (a) { return a.B === 0 ? !0 : this.index.qd() > a.Pa && this.index.Vn() <= a.Pa + 1 }; + g.k.update = function (a, b, c) { this.index.append(a); GDa(this.index, c); a = this.index; a.B = b; a.C = "update" }; + g.k.jg = function () { return this.TA() ? !0 : KM.prototype.jg.call(this) }; + g.k.vt = function (a, b) { var c = this.index.hK(a), d = this.index.getStartTime(a), e = this.index.getDuration(a), f; b ? e = f = 0 : f = this.info.ub > 0 ? this.info.ub * e : 1E3; return new WM([new PM(3, this, void 0, "liveCreateRequestInfoForSegment", a, d, e, 0, f, !b)], c) }; + g.k.ZP = function () { return this.TA() ? 0 : this.initRange.length }; + g.k.HS = function () { return !1 }; cN.prototype.update = function (a) { + var b = void 0; this.B && (b = this.B); var c = new cN, d = Array.from(a.getElementsByTagName("S")); if (d.length) { + var e = +aN(a, "timescale") || 1, f = (+d[0].getAttribute("t") || 0) / e, h = +aN(a, "startNumber") || 0; c.D = f; var l = b ? b.startSecs + b.Dh : 0, m = Date.parse(yEa(aN(a, "yt:segmentIngestTime"))) / 1E3; c.G = a.parentElement.tagName === "SegmentTemplate"; c.G && (c.N = aN(a, "media")); a = b ? h - b.Pa : 1; c.K = a > 0 ? 0 : -a + 1; a = g.w(d); for (d = a.next(); !d.done; d = a.next()) { + d = d.value; for (var n = +d.getAttribute("d") / e, p = (+d.getAttribute("yt:sid") || + 0) / e, q = +d.getAttribute("r") || 0, r = 0; r <= q; r++)if (b && h <= b.Pa) h++; else { var t = new wEa(h, l, n, m + p, f); c.j.push(t); var u = d; var y = e, A = t.startSecs; t = u.getAttribute("yt:cuepointTimeOffset"); var D = u.getAttribute("yt:cuepointDuration"); if (t && D) { t = Number(t); A = -t / y + A; y = Number(D) / y; D = u.getAttribute("yt:cuepointContext") || null; var F = u.getAttribute("yt:cuepointIdentifier") || ""; u = u.getAttribute("yt:cuepointEvent") || ""; u = new ZL(A, y, D, F, Mbb[u] || "unknown", t) } else u = null; u && c.C.push(u); h++; l += n; f += n; m += n + p } + } c.j.length && + (c.B = g.Ib(c.j)) + } this.K = c.K; this.B = c.B || this.B; g.Ub(this.j, c.j); g.Ub(this.C, c.C); this.G = c.G; this.N = c.N; this.D === -1 && (this.D = c.getStreamTimeOffset()) + }; + cN.prototype.getStreamTimeOffset = function () { return this.D === -1 ? 0 : this.D }; g.z(eN, g.QL); g.k = eN.prototype; g.k.po = function (a, b) { a = fN(this, a); return a >= 0 && (b || !this.segments[a].pending) }; + g.k.Vn = function () { return this.In ? this.segments.length ? this.eA(this.Xc()).Pa : -1 : g.QL.prototype.Vn.call(this) }; + g.k.Xc = function () { if (this.Wd) return 0; if (!this.In) return g.QL.prototype.Xc.call(this); if (!this.segments.length) return 0; var a = Math.max(g.Ib(this.segments).endTime - this.Br, 0); return this.df > 0 && this.eA(a).Pa < this.df ? this.Tn(this.df).startTime : a }; + g.k.Xt = function () { if (!this.segments.length) return g.QL.prototype.Xt.call(this); var a = this.qd(); if (!this.In || a <= this.segments[this.segments.length - 1].Pa) a = this.segments[this.segments.length - 1]; else { var b = this.segments[this.segments.length - 1]; a = new PL(a, Math.max(0, b.startTime - (b.Pa - a) * this.Vj), this.Vj, 0, "sq/" + a, void 0, void 0, !0) } return this.Wd ? Math.min(this.Br, a.endTime) : a.endTime }; + g.k.sA = function () { return this.In ? this.segments.length ? this.qd() - this.Vn() + 1 : 0 : g.QL.prototype.sA.call(this) }; + g.k.qd = function () { var a = Math.min(this.xi, Math.max(g.QL.prototype.qd.call(this), this.aq)), b = this.Br * 1E3; b = this.Sr > 0 && this.Sr < b; this.Wd && this.Br > 0 && this.aq > 0 && !b && (b = this.eA(this.Br)) && (a = Math.min(b.Pa - 1, a)); return a }; + g.k.gx = function () { return this.segments.length ? this.segments[this.segments.length - 1] : null }; + g.k.HN = function (a) { var b = fN(this, a.Pa); if (b >= 0) this.segments[b] = a; else if (this.segments.splice(-(b + 1), 0, a), this.kB && a.Pa % (300 / this.Vj) === 0) { var c = this.segments[0].Pa, d = Math.floor(this.kB / this.Vj); a = a.Pa - d; b = -(b + 1) - d; b > 0 && a > c && (this.segments = this.segments.slice(b)) } }; + g.k.XJ = function () { return this.aq }; + g.k.QF = function (a) { return dN ? !this.B && a >= 0 && this.qd() <= a : g.QL.prototype.QF.call(this, a) }; + g.k.eA = function (a) { + if (!this.In) return g.QL.prototype.eA.call(this, a); if (!this.segments.length) return null; var b = this.segments[this.segments.length - 1]; if (a < this.segments[0].startTime) b = Math.max(0, this.segments[0].Pa - Math.ceil((this.segments[0].startTime - a) / this.Vj)); else if (a >= b.endTime) b = b.Pa + Math.floor((a - b.endTime) / this.Vj + 1); else { + b = Zb(this.segments, function (d) { return a < d.startTime ? -1 : a >= d.endTime ? 1 : 0 }); + if (b >= 0) return this.segments[b]; var c = -(b + 1); b = this.segments[c - 1]; c = this.segments[c]; b = Math.floor((a - b.endTime) / ((c.startTime - b.endTime) / (c.Pa - b.Pa - 1)) + 1) + b.Pa + } return this.Tn(b) + }; + g.k.Tn = function (a) { + if (!this.In) return g.QL.prototype.Tn.call(this, a); if (!this.segments.length) return null; var b = fN(this, a); if (b >= 0) return this.segments[b]; var c = -(b + 1); b = this.Vj; if (c === 0) var d = Math.max(0, this.segments[0].startTime - (this.segments[0].Pa - a) * b); else c === this.segments.length ? (d = this.segments[this.segments.length - 1], d = d.endTime + (a - d.Pa - 1) * b) : (d = this.segments[c - 1], b = this.segments[c], b = (b.startTime - d.endTime) / (b.Pa - d.Pa - 1), d = d.endTime + (a - d.Pa - 1) * b); return new PL(a, d, b, 0, "sq/" + a, void 0, void 0, + !0) + }; + var dN = !1; g.z(gN, $M); g.k = gN.prototype; g.k.OA = function () { return !0 }; + g.k.jg = function () { return !0 }; + g.k.ut = function (a) { return this.Fx() && a.B && !a.Se || !a.j.index.QF(a.Pa) }; + g.k.jx = function () { }; + g.k.Mr = function (a, b) { return typeof a !== "number" || isFinite(a) ? $M.prototype.Mr.call(this, a, b === void 0 ? !1 : b) : new WM([new PM(3, this, void 0, "mlLiveGetReqInfoStubForTime", -1, void 0, this.Uj, void 0, this.Uj * this.info.ub)], "") }; + g.k.vt = function (a, b) { var c = c === void 0 ? !1 : c; if (this.index.po(a)) return $M.prototype.vt.call(this, a, b); var d = this.index.getStartTime(a), e = Math.round(this.Uj * this.info.ub), f = this.Uj; b && (f = e = 0); return new WM([new PM(c ? 6 : 3, this, void 0, "mlLiveCreateReqInfoForSeg", a, d, f, void 0, e, !b)], a >= 0 ? "sq/" + a : "") }; g.z(hN, KM); g.k = hN.prototype; g.k.Rm = function () { return !1 }; + g.k.Fx = function () { return !1 }; + g.k.OA = function () { return !1 }; + g.k.jx = function () { return new WM([new PM(1, this, void 0, "otfInit")], this.G) }; + g.k.rz = function () { return null }; + g.k.vD = function (a) { this.ut(a); return JHa(this, TM(a), !1) }; + g.k.Mr = function (a, b) { b = b === void 0 ? !1 : b; a = this.index.Li(a); b && (a = Math.min(this.index.qd(), a + 1)); return JHa(this, a, !0) }; + g.k.rQ = function (a) { a.info.type === 1 && (this.j || (this.j = aK(a.j)), a.B && a.B.uri === "http://youtube.com/streaming/otf/durations/112015" && KHa(this, a.B)) }; + g.k.ut = function (a) { return a.B === 0 ? !0 : this.index.qd() > a.Pa && this.index.Vn() <= a.Pa + 1 }; + g.k.ZP = function () { return 0 }; + g.k.HS = function () { return !1 }; g.k = g.pN.prototype; g.k.po = function (a) { return a <= this.qd() }; + g.k.Km = function (a) { return this.offsets[a] }; + g.k.getStartTime = function (a) { return this.Tg[a] / this.j }; + g.k.UJ = function (a) { return this.getStartTime(a) + this.getDuration(a) }; + g.k.jK = aa(0); g.k.bf = function () { return NaN }; + g.k.getDuration = function (a) { a = this.nY(a); return a >= 0 ? a / this.j : -1 }; + g.k.nY = function (a) { return a + 1 < this.count || this.B ? this.Tg[a + 1] - this.Tg[a] : -1 }; + g.k.Vn = function () { return 0 }; + g.k.qd = function () { return this.count - 1 }; + g.k.QF = function (a) { return this.qd() === a && a >= 0 }; + g.k.Xt = function () { return this.B ? this.Tg[this.count] / this.j : NaN }; + g.k.Xc = function () { return 0 }; + g.k.sA = function () { return this.count }; + g.k.hK = function () { return "" }; + g.k.Li = function (a) { a = g.Yb(this.Tg.subarray(0, this.count), a * this.j); return a >= 0 ? a : Math.max(0, -a - 2) }; + g.k.isLoaded = function () { return this.qd() >= 0 }; + g.k.wY = function (a, b) { if (a >= this.qd()) return 0; var c = 0; for (b = this.getStartTime(a) + b; a < this.qd() && b > this.getStartTime(a); a++)c = Math.max(c, SHa(this, a) / this.getDuration(a)); return c }; + g.k.resize = function (a) { a += 2; var b = this.offsets; this.offsets = new Float64Array(a + 1); var c = this.Tg; this.Tg = new Float64Array(a + 1); for (a = 0; a < this.count + 1; a++)this.offsets[a] = b[a], this.Tg[a] = c[a] }; + g.k.cap = function (a, b) { qN(this); this.B = !0; this.Tg[this.count] = b; this.offsets[this.count] = a }; g.z(rN, KM); g.k = rN.prototype; g.k.jx = function (a, b) { var c = new PM(2, this, this.indexRange, "indexInfo", void 0, void 0, void 0, void 0, void 0, void 0, void 0, b), d = [new PM(1, this, this.initRange, "initInfo", void 0, void 0, void 0, void 0, void 0, void 0, void 0, b), c]; this.info.contentLength > 0 && a && (c = c.range.end + 1, a = Math.min(a, this.info.contentLength - c), a > 0 && d.push(new PM(4, this, NM(c, a), "tbdRange", void 0, void 0, void 0, void 0, void 0, void 0, void 0, b))); return new WM(d) }; + g.k.rQ = function (a) { + if (a.info.type === 1) { if (this.j) return; this.j = aK(a.j) } else if (a.info.type === 2) { if (this.G || this.index.qd() >= 0) return; if (g.bF(this.info)) { var b = this.index, c = jN(a); a = a.info.range.start; var d = g.dM(c, 0, 1936286840); c = SDa(d); b.j = c.Ts; var e = c.c8; b.offsets[0] = c.B8 + a + d.size; b.Tg[0] = e; b.B = !0; a = c.dU.length; for (d = 0; d < a; d++) { e = b; var f = c.nda[d], h = c.dU[d]; e.count++; qN(e); e.offsets[e.count] = e.offsets[e.count - 1] + f; e.Tg[e.count] = e.Tg[e.count - 1] + h } } else this.G = jN(a) } if (this.info.Le() && this.j && this.G) { + c = + new DataView(this.j.buffer); b = this.index; d = this.G; a = this.indexRange.end; e = new nM(c); c = e; e = c.pos; f = { S2: 1E6, T2: 1E9, duration: 0, T1: 0, tT: 0 }; if (rM(c, 408125543)) if (f.T1 = sM(c, !0), f.tT = c.start + c.pos, rM(c, 357149030)) { for (h = qM(c); !oM(h);) { var l = sM(h, !1); l === 2807729 ? f.S2 = uM(h) : l === 2807730 ? f.T2 = uM(h) : l === 17545 ? f.duration = wM(h) : vM(h) } c.pos = e; c = f } else c.pos = e, c = null; else c.pos = e, c = null; if (c !== null) { + b.j = c.T2 / c.S2; e = new nM(d); d = e; h = c.tT; e = d.pos; f = []; if (rM(d, 475249515)) { + for (l = qM(d); rM(l, 187);) { + var m = qM(l); if (rM(m, + 179)) { var n = uM(m); if (rM(m, 183)) { m = qM(m); for (var p = h; rM(m, 241);)p = uM(m) + h; f.push({ oJ: p, M7: n }) } } + } if (f.length > 0 && a === f[0].oJ) for (a = 0; a < f.length; a++)f[a].oJ += 1; d.pos = e; a = f + } else d.pos = e, a = null; if (a !== null) { a = g.w(a); for (d = a.next(); !d.done; d = a.next())f = d.value, d = b, e = f.oJ, f = f.M7, qN(d), d.offsets[d.count] = e, d.Tg[d.count] = f, d.count++; b.cap(c.T1 + c.tT, c.duration) } + } this.G = null + } + }; + g.k.qF = function (a, b, c, d) { for (var e = [], f = a; f <= this.index.qd(); f++) { var h = NM(this.index.Km(f), SHa(this.index, f)), l = this.index.getStartTime(f), m = this.index.getDuration(f), n = Math.max(0, b - h.start), p = Math.min(h.end + 1, b + c) - (h.start + n); e.push(new PM(3, this, h, "getRequestInfoForRange", f, l, m, n, p, void 0, void 0, d)); if (h.start + n + p >= b + c) break } e.length || g.ex(new g.pt("b189619593", "" + a, "" + b, "" + c)); return new WM(e) }; + g.k.MV = function (a) { for (var b = this.fC(a.info), c = a.info.range.start + a.info.Ub, d = [], e = 0; e < b.length; e++) { var f = XJ(a.j, b[e].range.start + b[e].Ub - c, b[e].B); d.push(new iN(b[e], f)) } return d }; + g.k.fC = function (a) { for (var b = a.range.start + a.Ub, c = 0; c < this.index.qd() && b >= this.index.Km(c + 1);)c++; return this.qF(c, b, a.B).gb }; + g.k.ut = function (a) { a.Mi(); return this.jg() ? !0 : a.range.end + 1 < this.info.contentLength }; + g.k.rz = function (a, b) { this.ut(a); if (!this.jg()) return b = NM(a.range.end + 1, b), b.end + 1 > this.info.contentLength && (b = new LM(b.start, this.info.contentLength - 1)), new WM([new PM(4, a.j, b, "getNextRequestInfoByLength", void 0, void 0, void 0, void 0, void 0, void 0, void 0, a.clipId)]); a.type === 4 && (a = this.fC(a), a = a[a.length - 1]); var c = 0, d = a.range.start + a.Ub + a.B; a.type === 3 && (a.Mi(), c = a.Pa, d === a.range.end + 1 && (c += 1)); return this.qF(c, d, b) }; + g.k.vD = function () { return null }; + g.k.Mr = function (a, b, c) { b = b === void 0 ? !1 : b; a = this.index.Li(a); b && (a = Math.min(this.index.qd(), a + 1)); return this.qF(a, this.index.Km(a), 0, c) }; + g.k.Rm = function () { return !0 }; + g.k.Fx = function () { return !0 }; + g.k.OA = function () { return !1 }; + g.k.ZP = function () { return this.indexRange.length + this.initRange.length }; + g.k.HS = function () { return this.indexRange && this.initRange && this.initRange.end + 1 === this.indexRange.start ? !0 : !1 }; var V1 = {}, jIa = (V1.COLOR_PRIMARIES_BT709 = "bt709", V1.COLOR_PRIMARIES_BT2020 = "bt2020", V1.COLOR_PRIMARIES_UNKNOWN = null, V1.COLOR_PRIMARIES_UNSPECIFIED = null, V1), W1 = {}, UHa = (W1.COLOR_TRANSFER_CHARACTERISTICS_BT709 = "bt709", W1.COLOR_TRANSFER_CHARACTERISTICS_BT2020_10 = "bt2020", W1.COLOR_TRANSFER_CHARACTERISTICS_SMPTEST2084 = "smpte2084", W1.COLOR_TRANSFER_CHARACTERISTICS_ARIB_STD_B67 = "arib-std-b67", W1.COLOR_TRANSFER_CHARACTERISTICS_UNKNOWN = null, W1.COLOR_TRANSFER_CHARACTERISTICS_UNSPECIFIED = null, W1); g.sN.prototype.getName = function () { return this.name }; + g.sN.prototype.getId = function () { return this.id }; + g.sN.prototype.getIsDefault = function () { return this.isDefault }; + g.sN.prototype.toString = function () { return this.name }; + g.sN.prototype.getName = g.sN.prototype.getName; g.sN.prototype.getId = g.sN.prototype.getId; g.sN.prototype.getIsDefault = g.sN.prototype.getIsDefault; var YHa = /action_display_post/; var ZHa, vN, wN; g.z(xN, g.Fx); g.k = xN.prototype; g.k.isLoading = function () { return this.state === 1 }; + g.k.Qm = function () { return this.state === 3 }; + g.k.Mca = function (a) { + var b = a.getElementsByTagName("Representation"); if (a.getElementsByTagName("SegmentList").length > 0 || a.getElementsByTagName("SegmentTemplate").length > 0) { + this.Vb = this.B = !0; this.timeline || (this.timeline = new AEa); kHa(this.timeline, a); this.publish("refresh"); for (a = 0; a < b.length; a++) { + var c = qIa(this, b[a]); if (!this.j[c.id]) { var d = CN(bN(b[a], "BaseURL").textContent), e = bN(b[a], "Initialization"), f = aN(e, "sourceURL"); e = MM(aN(e, "range")); this.j[c.id] = new $M(d, c, f, e) } c = this.j[c.id]; d = aN(b[a], "id", + "AdaptationSet"); d = d !== "" ? d : aN(b[a], "mimetype", "AdaptationSet"); f = this.timeline; f = f.C[c.info.id] || f.B[d] || f.j || null; d = f.j; !this.N && f.getStreamTimeOffset() && (this.N = f.getStreamTimeOffset()); if (f.G) { + e = []; d = g.w(d); for (var h = d.next(); !h.done; h = d.next()) { + h = h.value; var l = c.info.id, m = c.info.ub * 8, n = h.Pa; var p = h.startSecs; var q = f.N.split("$$"); for (var r = 0; r < q.length; r++)q[r] = q[r].replace("$RepresentationID$", l), q[r] = q[r].replace("$Number$", n.toString()), q[r] = q[r].replace("$Bandwidth$", m.toString()), q[r] = q[r].replace("$Time$", + p.toString()); e.push(new PL(h.Pa, h.startSecs, h.Dh, h.j, q.join("$"), null, h.B)) + } d = e + } else { f = Vb(bN(b[a], "SegmentList").getElementsByTagName("SegmentURL"), f.K); e = []; for (h = 0; h < f.length; h++) { l = e; m = l.push; n = d[h]; p = void 0; r = f[h]; q = r.getAttribute("media"); if (r = r.getAttribute("mediaRange")) { var t = r.split("-"); t[1] && Number(t[1]) >= 0 ? p = MM(r) : q = q + "?range=" + r } m.call(l, new PL(n.Pa, n.startSecs, n.Dh, n.j, q, p, n.B)) } d = e } c.update(d, this.isLive, this.ob) + } IHa(this.timeline); return !0 + } this.duration = xEa(aN(a, "mediaPresentationDuration")); + a: { for (a = 0; a < b.length; a++) { f = b[a]; c = qIa(this, f); d = CN(bN(f, "BaseURL").textContent); e = bN(f, "SegmentBase"); f = MM(e.attributes.getNamedItem("indexRange").value); e = MM(e.getElementsByTagName("Initialization")[0].attributes.getNamedItem("range").value); c = new rN(d, c, e, f); if (!c) { b = !1; break a } uN(this, c) } b = !0 } return b + }; + g.k.refresh = function () { if (!this.isLoading() && !this.La()) { var a = g.Ti(this.sourceUrl, { start_seq: vIa(this).toString() }); sIa(this, a).Wk(function () { }) } }; + g.k.resume = function () { rIa(this) }; + g.k.Vd = function () { if (this.isManifestless && this.C && EN(this)) return EN(this); var a = this.j, b = !1, c = NaN, d = NaN, e; for (e in a) { var f = a[e], h = f.index; h.isLoaded() && !hF(f.info.mimeType) && (f.D && (b = !0), h = h.Xt(), f.info.Gh() && (isNaN(c) || h < c) ? c = h : f.info.zg() && (isNaN(d) || h < d) && (d = h)) } return b || isNaN(d) ? c : Math.min(c, d) }; + g.k.Xc = function () { if (this.isManifestless) { if (FN(this)) return FN(this); if (this.Rc) { var a = this.bf(this.Vd()); if (a && (a -= this.Rc, a > 0)) return this.Vd() - a } } a = this.j; for (var b in a) { var c = a[b].index; if (c.isLoaded() && !hF(a[b].info.mimeType)) return c.Xc() } return 0 }; + g.k.getStreamTimeOffset = function () { return this.N }; + g.k.bf = function (a) { for (var b in this.j) { var c = this.j[b].index; if (c.isLoaded()) { var d = c.Li(a), e = c.bf(d); if (e) return e + a - c.getStartTime(d) } } return NaN }; + var KN = null, Nbb, LN = !((Nbb = navigator.mediaCapabilities) == null || !Nbb.decodingInfo), pIa = { commentary: 1, alternate: 2, dub: 3, main: 4 }; g.MN.prototype.info = function () { }; + g.MN.prototype.debug = function () { }; + var EIa = new Map, HIa = new Map, FIa = new function () { var a = this; this.j = new Map; this.hd = { sna: function () { return a.j } } }; var GZ = new Set, NN = new Map; QN.prototype.clone = function (a) { return new QN(this.flavor, a, this.B, this.experiments) }; + QN.prototype.uc = function () { return { flavor: this.flavor, keySystem: this.keySystem } }; + QN.prototype.getInfo = function () { switch (this.keySystem) { case "com.youtube.playready": return "PRY"; case "com.microsoft.playready": return "PRM"; case "com.widevine.alpha": return "WVA"; case "com.youtube.widevine.l3": return "WVY"; case "com.youtube.fairplay": return "FPY"; case "com.youtube.fairplay.sbdl": return "FPC"; case "com.apple.fps.1_0": return "FPA"; default: return this.keySystem } }; + var Obb = {}, $N = (Obb.playready = ["com.youtube.playready", "com.microsoft.playready"], Obb.widevine = ["com.youtube.widevine.l3", "com.widevine.alpha"], Obb), X1 = {}, q1a = (X1.widevine = "DRM_SYSTEM_WIDEVINE", X1.fairplay = "DRM_SYSTEM_FAIRPLAY", X1.playready = "DRM_SYSTEM_PLAYREADY", X1), Y1 = {}, Pbb = (Y1.widevine = 1, Y1.fairplay = 2, Y1.playready = 3, Y1); bO.prototype.Ph = function (a, b) { b = b === void 0 ? 1 : b; this.Kn += b; this.B += a; a /= b; for (var c = 0; c < aO.length && !(a < aO[c]); ++c)this.j[c] += b }; + bO.prototype.toString = function () { return "" }; + var aO = [20, 100, 500, 2E3]; g.k = NIa.prototype; g.k.isActive = function () { return !0 }; + g.k.HK = function (a, b) { var c = this; if (b) { var d = {}, e; for (e in b) d = { M0: void 0, D1: void 0 }, b.hasOwnProperty(e) && (d.M0 = a.prototype[e], d.D1 = b[e], a.prototype[e] = function (f) { return function () { var h = g.Ca.apply(0, arguments), l = (0, g.Zt)(); h = f.M0.apply(this, h); return cO(c, h, f.D1, l) } }(d)) } }; + g.k.KA = function (a, b) { if (b) { var c = this, d = {}, e; for (e in b) d = { xX: void 0, G_: void 0 }, b.hasOwnProperty(e) && (d.G_ = a.prototype[e], d.xX = b[e], a.prototype[e] = function (f) { return function () { var h = g.Ca.apply(0, arguments), l = this, m = (0, g.Zt)(), n = f.G_.apply(l, h); return cO(c, n, null, m, function (p) { return f.xX.apply(l, [p].concat(h)) }) } }(d)) } }; + g.k.zC = function () { return new MIa }; + g.k.fA = function (a, b, c) { c = c === void 0 ? 1 : c; b instanceof MIa && (OIa(this, a, (0, g.Zt)() - b.startTimeMs, c), b.j = !0) }; + g.k.ev = function (a, b) { var c = (0, g.Zt)(); b = b(); return cO(this, b, a, c) }; + g.k.fY = function () { var a = {}, b; for (b in this.j) if (this.j.hasOwnProperty(b)) { var c = this.j[b]; if (c.Kn === 0) c = null; else { for (var d = Math.ceil(c.Kn).toFixed(0) + "." + c.B.toFixed(0), e = 0; e < aO.length; ++e)if (c.j[e] > 0) d += "." + aO[e].toFixed(0) + "_" + c.j[e].toFixed(0); else break; c = d } c && (a[b] = c) } this.j = new LIa; return a }; + g.k.toString = function () { return "" }; g.k = QIa.prototype; g.k.isActive = function () { return !1 }; + g.k.HK = function () { }; + g.k.KA = function () { }; + g.k.zC = function () { }; + g.k.fA = function () { }; + g.k.ev = function (a, b) { return b() }; + g.k.fY = function () { return {} }; + g.k.toString = function () { return "" }; var Z1, Qbb, Rbb, Sbb, Tbb, Ubb, $1, qU, MX, z5a, gO; Z1 = new QIa; Qbb = !!+qr("html5_enable_profiler"); Rbb = !!+qr("html5_onesie_enable_profiler"); Sbb = !!+qr("html5_offline_encryption_enable_profiler"); Tbb = !!+qr("html5_performance_impact_profiling_timer_ms"); Ubb = !!+qr("html5_drm_enable_profiler"); $1 = Qbb || Rbb || Sbb || Tbb || Ubb ? new NIa : Z1; g.uW = Qbb ? $1 : Z1; qU = Rbb ? $1 : Z1; MX = Sbb ? $1 : Z1; z5a = Tbb ? $1 : Z1; gO = Ubb ? $1 : Z1; var fO; g.z(dO, g.O); + dO.prototype.initialize = function (a, b) { + for (var c = this, d = g.w(Object.keys(a)), e = d.next(); !e.done; e = d.next()) { + e = g.w(a[e.value]); for (var f = e.next(); !f.done; f = e.next())if (f = f.value, f.me) for (var h = g.w(Object.keys(f.me)), l = h.next(); !l.done; l = h.next()) { + var m = l.value; l = m; m = $N[m]; !m && this.L("html5_enable_vp9_fairplay") && l === "fairplay" && (m = ["com.youtube.fairplay.sbdl"]); if (m) { + m = g.w(m); for (var n = m.next(); !n.done; n = m.next())n = n.value, this.C[n] = this.C[n] || new QN(l, n, f.me[l], this.Da.experiments), this.j[l] = this.j[l] || + {}, this.j[l][f.mimeType] = !0 + } + } + } ls() && (this.C["com.youtube.fairplay"] = new QN("fairplay", "com.youtube.fairplay", "", this.Da.experiments), this.L("html5_enable_vp9_fairplay") || (this.j.fairplay = this.j.fairplay || {}, this.j.fairplay['video/mp4; codecs="avc1.4d400b"'] = !0, this.j.fairplay['audio/mp4; codecs="mp4a.40.5"'] = !0)); this.B = KIa(b, this.useCobaltWidevine, this.L("html5_enable_safari_fairplay"), this.L("html5_enable_vp9_fairplay")).filter(function (p) { return !!c.C[p] }) + }; + dO.prototype.L = function (a) { return this.Da.experiments.kb(a) }; var e5a = { "": "LIVE_STREAM_MODE_UNKNOWN", dvr: "LIVE_STREAM_MODE_DVR", lp: "LIVE_STREAM_MODE_LP", post: "LIVE_STREAM_MODE_POST", window: "LIVE_STREAM_MODE_WINDOW", live: "LIVE_STREAM_MODE_LIVE" }; XIa.prototype.L = function (a) { return this.experiments.kb(a) }; var AJa = { RED: "red", rma: "white" }; YIa.prototype.kb = function (a) { return this.flags[a] === "true" }; var aJa = Promise.resolve(), dJa = window.queueMicrotask ? window.queueMicrotask.bind(window) : bJa; kO.prototype.canPlayType = function (a, b) { a = a.canPlayType ? a.canPlayType(b) : !1; ru ? a = a || Vbb[b] : MO === 2.2 ? a = a || Wbb[b] : js() && (a = a || Xbb[b]); return !!a }; + kO.prototype.isTypeSupported = function (a) { return this.Z ? window.cast.receiver.platform.canDisplayType(a) : LE(a) }; + var Wbb = { 'video/mp4; codecs="avc1.42001E, mp4a.40.2"': "maybe" }, Xbb = { "application/x-mpegURL": "maybe" }, Vbb = { "application/x-mpegURL": "maybe" }; g.z(oO, g.Fx); oO.prototype.add = function (a, b) { if (!this.items[a] && (b.iJ || b.LO || b.TM)) { var c = this.items, d = b; Object.isFrozen && !Object.isFrozen(b) && (d = Object.create(b), Object.freeze(d)); c[a] = d; this.publish("vast_info_card_add", a) } }; + oO.prototype.remove = function (a) { var b = this.get(a); delete this.items[a]; return b }; + oO.prototype.get = function (a) { return this.items[a] || null }; + oO.prototype.isEmpty = function () { return g.Bc(this.items) }; g.z(pO, g.PJ); pO.prototype.j = function (a, b) { return g.PJ.prototype.j.call(this, a, b) }; + pO.prototype.B = function (a, b, c) { var d = this; return g.J(function (e) { return e.j == 1 ? g.G(e, g.PJ.prototype.B.call(d, a, b, c), 2) : e.return(e.B) }) }; + g.z(qO, g.QJ); qO.prototype.encrypt = function (a, b) { return g.QJ.prototype.encrypt.call(this, a, b) }; sO.prototype.zm = function (a, b) { var c = Math.pow(this.alpha, a); this.j = b * (1 - c) + c * this.j; this.B += a }; + sO.prototype.fh = function () { return this.j / (1 - Math.pow(this.alpha, this.B)) }; tO.prototype.zm = function (a, b) { a = Math.min(this.j, Math.max(1, Math.round(a * this.resolution))); a + this.B >= this.j && (this.C = !0); for (; a--;)this.values[this.B] = b, this.B = (this.B + 1) % this.j; this.xl = !0 }; + tO.prototype.percentile = function (a) { + var b = this; if (!this.C && this.B === 0) return 0; this.xl && (g.$b(this.G, function (c, d) { return b.values[c] - b.values[d] }), this.xl = !1); + return this.values[this.G[Math.round(a * ((this.C ? this.j : this.B) - 1))]] || 0 + }; + tO.prototype.fh = function () { return this.K ? (this.percentile(this.D - this.K) + this.percentile(this.D) + this.percentile(this.D + this.K)) / 3 : this.percentile(this.D) }; g.z(uO, g.O); uO.prototype.Va = function () { var a; (a = this.Ga) == null || a.start(); if (DO(this) && this.policy.Y) { var b; (b = this.Ad) == null || b.pG() } }; g.z(tJa, g.O); var zJa = "blogger gac books docs duo flix google-live google-one play shopping chat hangouts-meet photos-edu picasaweb gmail jamboard".split(" "), FJa = { ega: "caoe", fga: "capsv", wga: "cbrand", xga: "cbr", zga: "cbrver", Kga: "cchip", Rga: "ccappver", Sga: "ccrv", Kha: "cfrmver", tia: "c", wia: "cver", via: "ctheme", uia: "cplayer", uja: "cmodel", Gja: "cnetwork", Nja: "cos", Oja: "cosver", Vja: "cplatform", tka: "crqyear" }; g.z(WO, g.O); g.k = WO.prototype; g.k.L = function (a) { return this.experiments.kb(a) }; + g.k.getWebPlayerContextConfig = function () { return this.webPlayerContextConfig }; + g.k.getVideoUrl = function (a, b, c, d, e, f, h) { b = { list: b }; c && (e ? b.time_continue = c : b.t = c); c = h ? "music.youtube.com" : g.YO(this); e = c === "www.youtube.com"; !f && d && e ? f = "https://youtu.be/" + a : g.PO(this) ? (f = "https://" + c + "/fire", b.v = a) : (f && e ? (f = this.protocol + "://" + c + "/shorts/" + a, d && (b.feature = "share")) : (f = this.protocol + "://" + c + "/watch", b.v = a), ru && (a = Hma()) && (b.ebc = a)); return g.Ti(f, b) }; + g.k.getVideoEmbedCode = function (a, b, c, d) { b = "https://" + g.YO(this) + "/embed/" + b; d && (b = g.Ti(b, { list: d })); d = c.width; c = c.height; b = Td(b); a = Td(a != null ? a : "YouTube video player"); return '') }; + g.k.supportsGaplessAudio = function () { return g.KE && !ru && kna() >= 74 || g.YN && g.kc(68) ? !0 : !1 }; + g.k.supportsGaplessShorts = function () { return !this.L("html5_enable_short_gapless") || this.Wa || g.Rt ? !1 : !0 }; + g.k.getPlayerType = function () { return this.j.cplayer }; + g.k.Ac = function () { return this.Rf }; + g.k.Uu = function () { this.L("html5_enable_lawnmower_messaging") }; + var JJa = ["www.youtube-nocookie.com", "youtube.googleapis.com", "www.youtubeeducation.com", "youtubeeducation.com"], EJa = ["EMBEDDED_PLAYER_LITE_MODE_UNKNOWN", "EMBEDDED_PLAYER_LITE_MODE_NONE", "EMBEDDED_PLAYER_LITE_MODE_FIXED_PLAYBACK_LIMIT", "EMBEDDED_PLAYER_LITE_MODE_DYNAMIC_PLAYBACK_LIMIT"], HJa = [19]; var a2 = {}, MJa = (a2["140"] = { numChannels: 2 }, a2["141"] = { numChannels: 2 }, a2["251"] = { audioSampleRate: 48E3, numChannels: 2 }, a2["380"] = { numChannels: 6 }, a2["328"] = { numChannels: 6 }, a2), b2 = {}, KJa = (b2["1"] = 'video/mp4; codecs="av01.0.08M.08"', b2["1h"] = 'video/mp4; codecs="av01.0.12M.10.0.110.09.16.09.0"', b2["9"] = 'video/webm; codecs="vp9"', b2["("] = 'video/webm; codecs="vp9"', b2["9h"] = 'video/webm; codecs="vp09.02.51.10.01.09.16.09.00"', b2.h = 'video/mp4; codecs="avc1.64001e"', b2.H = 'video/mp4; codecs="avc1.64001e"', b2.o = + 'audio/webm; codecs="opus"', b2.a = 'audio/mp4; codecs="mp4a.40.2"', b2.ah = 'audio/mp4; codecs="mp4a.40.2"', b2.mac3 = 'audio/mp4; codecs="ac-3"; channels=6', b2.meac3 = 'audio/mp4; codecs="ec-3"; channels=6', b2), c2 = {}, LJa = (c2["337"] = { width: 3840, height: 2160, bitrate: 3E7, fps: 30 }, c2["336"] = { width: 2560, height: 1440, bitrate: 15E6, fps: 30 }, c2["335"] = { width: 1920, height: 1080, bitrate: 75E5, fps: 30 }, c2["702"] = { width: 7680, height: 4320, bitrate: 4E7, fps: 60 }, c2["701"] = { width: 3840, height: 2160, bitrate: 2E7, fps: 60 }, c2["700"] = { + width: 2560, + height: 1440, bitrate: 1E7, fps: 60 + }, c2["412"] = { width: 1920, height: 1080, bitrate: 85E5, fps: 60, cryptoblockformat: "subsample" }, c2["359"] = { width: 1920, height: 1080, bitrate: 8E6, fps: 30, cryptoblockformat: "subsample" }, c2["411"] = { width: 1920, height: 1080, bitrate: 3316E3, fps: 60, cryptoblockformat: "subsample" }, c2["410"] = { width: 1280, height: 720, bitrate: 4746E3, fps: 60, cryptoblockformat: "subsample" }, c2["409"] = { width: 1280, height: 720, bitrate: 1996E3, fps: 60, cryptoblockformat: "subsample" }, c2["360"] = { + width: 1920, height: 1080, bitrate: 5331E3, + fps: 30, cryptoblockformat: "subsample" + }, c2["358"] = { width: 1280, height: 720, bitrate: 3508E3, fps: 30, cryptoblockformat: "subsample" }, c2["357"] = { width: 1280, height: 720, bitrate: 3206E3, fps: 30, cryptoblockformat: "subsample" }, c2["274"] = { width: 1280, height: 720, bitrate: 1446E3, fps: 30, cryptoblockformat: "subsample" }, c2["315"] = { width: 3840, height: 2160, bitrate: 2E7, fps: 60 }, c2["308"] = { width: 2560, height: 1440, bitrate: 1E7, fps: 60 }, c2["303"] = { width: 1920, height: 1080, bitrate: 5E6, fps: 60 }, c2["302"] = { + width: 1280, height: 720, bitrate: 25E5, + fps: 60 + }, c2["299"] = { width: 1920, height: 1080, bitrate: 75E5, fps: 60 }, c2["298"] = { width: 1280, height: 720, bitrate: 35E5, fps: 60 }, c2["571"] = { width: 7680, height: 4320, bitrate: 3E7, fps: 60 }, c2["401"] = { width: 3840, height: 2160, bitrate: 15E6, fps: 60 }, c2["400"] = { width: 2560, height: 1440, bitrate: 75E5, fps: 60 }, c2["399"] = { width: 1920, height: 1080, bitrate: 2E6, fps: 60 }, c2["398"] = { width: 1280, height: 720, bitrate: 1E6, fps: 60 }, c2["397"] = { width: 854, height: 480, bitrate: 4E5, fps: 30 }, c2["396"] = { width: 640, height: 360, bitrate: 25E4, fps: 30 }, c2["313"] = + { width: 3840, height: 2160, bitrate: 8E6, fps: 30 }, c2["271"] = { width: 2560, height: 1440, bitrate: 4E6, fps: 30 }, c2["248"] = { width: 1920, height: 1080, bitrate: 2E6, fps: 30 }, c2["247"] = { width: 1280, height: 720, bitrate: 15E5, fps: 30 }, c2["244"] = { width: 854, height: 480, bitrate: 52E4, fps: 30 }, c2["243"] = { width: 640, height: 360, bitrate: 28E4, fps: 30 }, c2["137"] = { width: 1920, height: 1080, bitrate: 4E6, fps: 30 }, c2["136"] = { width: 1280, height: 720, bitrate: 3E6, fps: 30 }, c2["135"] = { width: 854, height: 480, bitrate: 1E6, fps: 30 }, c2["385"] = { + width: 1920, height: 1080, + bitrate: 6503313, fps: 60 + }, c2["376"] = { width: 1280, height: 720, bitrate: 5706960, fps: 60 }, c2["384"] = { width: 1280, height: 720, bitrate: 3660979, fps: 60 }, c2["225"] = { width: 1280, height: 720, bitrate: 5805E3, fps: 30 }, c2["224"] = { width: 1280, height: 720, bitrate: 453E4, fps: 30 }, c2["145"] = { width: 1280, height: 720, bitrate: 2682052, fps: 30 }, c2); g.k = mP.prototype; g.k.getInfo = function () { return this.j }; + g.k.wD = function () { return null }; + g.k.pY = function () { var a = this.wD(); return a ? (a = g.zr(a.resource), Number(a.expire)) : NaN }; + g.k.uT = function () { }; + g.k.getHeight = function () { return this.j.video.height }; OJa.prototype.build = function () { + RJa(this); var a = ["#EXTM3U", "#EXT-X-INDEPENDENT-SEGMENTS"], b = {}; a: if (this.j) var c = this.j; else { c = ""; for (var d = g.w(this.C), e = d.next(); !e.done; e = d.next())if (e = e.value, e.dc) { if (e.dc.getIsDefault()) { c = e.dc.getId(); break a } c || (c = e.dc.getId()) } } d = g.w(this.C); for (e = d.next(); !e.done; e = d.next())if (e = e.value, this.K || !e.dc || e.dc.getId() === c) b[e.itag] || (b[e.itag] = []), b[e.itag].push(e); c = g.w(this.B); for (d = c.next(); !d.done; d = c.next())if (d = d.value, e = b[d.j]) { + e = g.w(e); for (var f = e.next(); !f.done; f = + e.next()) { var h = a, l = h.push; f = f.value; var m = "#EXT-X-MEDIA:TYPE=AUDIO,", n = "YES", p = "audio"; if (f.dc) { p = f.dc; var q = p.getId().split(".")[0]; q && (m += 'LANGUAGE="' + q + '",'); (this.j ? this.j === p.getId() : p.getIsDefault()) || (n = "NO"); p = p.getName() } q = ""; d !== null && (q = d.itag.toString()); q = oP(this, f.url, q); m = m + ('NAME="' + p + '",DEFAULT=' + (n + ',AUTOSELECT=YES,GROUP-ID="')) + (QJa(f, d) + '",URI="' + (q + '"')); l.call(h, m) } + } c = g.w(this.G); for (d = c.next(); !d.done; d = c.next())d = d.value, e = Ybb, d = (h = d.dc) ? '#EXT-X-MEDIA:URI="' + oP(this, d.url) + + '",TYPE=SUBTITLES,GROUP-ID="' + e + '",LANGUAGE="' + h.getId() + '",NAME="' + h.getName() + '",DEFAULT=NO,AUTOSELECT=YES' : void 0, d && a.push(d); c = this.G.length > 0 ? Ybb : void 0; d = g.w(this.B); for (e = d.next(); !e.done; e = d.next())e = e.value, l = b[e.j], h = void 0, ((h = l) == null ? void 0 : h.length) > 0 && (h = e, l = l[0], l = "#EXT-X-STREAM-INF:BANDWIDTH=" + (h.bitrate + l.bitrate) + ',CODECS="' + (h.codecs + "," + l.codecs + '",RESOLUTION=') + (h.width + "x" + h.height + ',AUDIO="') + (QJa(l, h) + '",') + (c ? 'SUBTITLES="' + c + '",' : "") + "CLOSED-CAPTIONS=NONE", h.fps > 1 && (l += + ",FRAME-RATE=" + h.fps), h.LC && (l += ",VIDEO-RANGE=" + h.LC), a.push(l), a.push(oP(this, e.url, ""))); return a.join("\n") + }; + var Ybb = "text"; g.z(pP, mP); pP.prototype.pY = function () { return this.expiration }; + pP.prototype.wD = function () { if (!this.resource || this.resource.La()) { var a = this.B.build(); a = "data:application/x-mpegurl;charset=utf-8," + encodeURIComponent(a); this.resource = new wF(a) } return this.resource }; g.z(qP, mP); qP.prototype.wD = function () { return new wF(this.B.Ce()) }; + qP.prototype.uT = function () { this.B = NL(this.B) }; g.z(rP, mP); rP.prototype.wD = function () { return new wF(this.B) }; var d2 = {}, cKa = (d2.PLAYABILITY_ERROR_CODE_VIDEO_BLOCK_BY_MRM = "mrm.blocked", d2.PLAYABILITY_ERROR_CODE_PERMISSION_DENIED = "auth", d2.PLAYABILITY_ERROR_CODE_EMBEDDER_IDENTITY_DENIED = "embedder.identity.denied", d2); g.k = g.sP.prototype; g.k.getId = function () { return this.id }; + g.k.getName = function () { return this.name }; + g.k.isServable = function () { return this.j }; + g.k.Ce = function () { return this.url }; + g.k.getXtags = function () { return this.xtags }; + g.k.toString = function () { return this.languageCode + ": " + g.tP(this) + " - " + this.vssId + " - " + (this.captionId || "") }; + g.k.qe = function () { return !(!this.languageCode || this.translationLanguage && !this.translationLanguage.languageCode) }; var hKa = { "ad-trueview-indisplay-pv": 6, "ad-trueview-insearch": 7 }, iKa = { "ad-trueview-indisplay-pv": 2, "ad-trueview-insearch": 2 }, jKa = /^(\d*)_((\d*)_?(\d*))$/; var lKa = { iurl: "default.jpg", iurlmq: "mqdefault.jpg", iurlhq: "hqdefault.jpg", iurlsd: "sddefault.jpg", iurlpop1: "pop1.jpg", iurlpop2: "pop2.jpg", iurlhq720: "hq720.jpg", iurlmaxres: "maxresdefault.jpg" }, mKa = { 120: "default.jpg", 320: "mqdefault.jpg", 480: "hqdefault.jpg", 560: "pop1.jpg", 640: "sddefault.jpg", 854: "pop2.jpg", 1280: "hq720.jpg" }; var e2 = {}, YKa = (e2.ALWAYS = 1, e2.BY_REQUEST = 3, e2.UNKNOWN = void 0, e2), f2 = {}, dLa = (f2.MDE_STREAM_OPTIMIZATIONS_RENDERER_LATENCY_UNKNOWN = "UNKNOWN", f2.MDE_STREAM_OPTIMIZATIONS_RENDERER_LATENCY_NORMAL = "NORMAL", f2.MDE_STREAM_OPTIMIZATIONS_RENDERER_LATENCY_LOW = "LOW", f2.MDE_STREAM_OPTIMIZATIONS_RENDERER_LATENCY_ULTRA_LOW = "ULTRALOW", f2); var kBa; + kBa = function (a) { + for (var b = Object.keys(a), c = {}, d = 0; d < b.length; d++) { var e = b[d]; typeof a[e] === "function" && (c[e] = a[e]) } var f = Object.keys(c); try { wma(c) } catch (l) { var h = l } return function (l, m) { + l = l === void 0 ? {} : l; if (h) throw h; for (var n = !1, p = {}, q = 0; q < f.length; q++) { + var r = f[q], t = l[r], u = (0, c[r])(t, m); if (typeof u === "undefined") throw l = m && m.type, Error("When called with an action of type " + (l ? '"' + String(l) + '"' : "(unknown type)") + ', the slice reducer for key "' + r + '" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'); p[r] = + u; n = n || u !== t + } return (n = n || f.length !== Object.keys(l).length) ? p : l + } + }({ + entities: function (a, b) { + a = a === void 0 ? {} : a; + return xBa(a, b) + } + }); + g.pQ = new TJ; AP.prototype.toString = function () { return this.type + this.id }; g.CP.prototype.gh = function (a) { a = a || "hqdefault.jpg"; var b = this.Z[a]; if (b) return b; if (a === "sddefault.jpg" || a === "hq720.jpg" || a === "maxresdefault.jpg") return b; if (this.j) return ZO(this.Da, this.j, a) }; + g.CP.prototype.El = function () { return this.Da.getVideoUrl(this.videoId, this.playlistId) }; g.DP.prototype.gh = function (a) { a || (a = "hqdefault.jpg"); var b = this.Z[a]; return b ? b : a === "pop1.jpg" || a === "pop2.jpg" || a === "sddefault.jpg" || a === "hq720.jpg" || a === "maxresdefault.jpg" ? b : ZO(this.Da, this.videoId, a) }; + g.DP.prototype.El = function (a) { return this.watchUrl || this.Da.getVideoUrl(this.videoId, void 0, void 0, void 0, void 0, a) }; var GP = void 0; sua("LMS", function () { return g.J(function (a) { return a.return(g.HP()) }) }); var LP; LP = 0; g.IKa = /^([\w\-_]+)\|(\d+)(;[\w\-_]+)?\|(\d+)\|(\d+)$/; sua("LMDB", function () { + var a, b; return g.J(function (c) { + if (c.j == 1) return g.G(c, g.xu(), 2); if (c.j != 3) { a = c.B; if (!a) throw g.Tt("edd"); return g.G(c, g.KP(a), 3) } b = c.B; return c.return(g.cu(b, ["index", "media", "captions"], { mode: "readonly", Pb: !0 }, function (d) { + var e = {}; d = [g.hu(d.objectStore("index"), {}, function (f) { e[f.cursor.key] = f.getValue(); return g.iu(f) }), + uoa(d.objectStore("media")), uoa(d.objectStore("captions"))]; return g.Vt.all(d).then(function (f) { var h = g.w(f); h.next(); f = h.next().value; h = h.next().value; return { index: e, media: JKa(f || []), captions: h } }) + })) + }) + }); g.z(NP, g.Fx); NP.prototype.xa = function () { this.j && (this.j = this.j.onload = null); g.Fx.prototype.xa.call(this) }; g.k = g.RP.prototype; g.k.getHeight = function () { return this.height }; + g.k.vY = aa(2); g.k.WJ = function () { return this.frameCount }; + g.k.isDefault = function () { return this.C.indexOf("default") !== -1 }; + g.k.isLoaded = function (a) { return this.loaded.has(a) }; + g.k.Ce = function (a) { var b = this.D; b = b.replace("$N", this.C); b = b.replace("$L", this.level.toString()); b = b.replace("$M", a.toString()); this.signature && (b = g.Ti(b, { sigh: this.signature })); return oD(b) }; + g.k.KI = function (a) { var b = this.WJ() - 1; return g.Dd(this.j === 0 ? Math.round(a * this.frameCount / this.videoLength) : Math.round(a * 1E3 / this.j), 0, b) }; + g.k.sz = function () { return this.frameCount - 1 }; + g.k.IN = function () { return this.frameCount ? 0 : -1 }; + g.k.NV = function () { }; g.z(SP, NP); SP.prototype.B = function (a, b) { var c = []; a = a.split("|"); for (var d = a[0], e = 1; e < a.length; e++) { var f = this.G(e - 1, d, a[e], b); (this.N || f.getHeight() < 180) && c.push(f) } return c }; + SP.prototype.G = function (a, b, c, d) { return new g.RP(a, b, c, d) }; g.z(TP, g.RP); g.k = TP.prototype; g.k.WJ = function () { return this.B.sA() }; + g.k.KI = function (a) { var b = this.rows * this.columns * this.G, c = this.B, d = c.qd(); a = c.Li(a); return a > d - b ? -1 : a }; + g.k.sz = function () { return this.B.qd() }; + g.k.IN = function () { return this.B.Vn() }; + g.k.NV = function (a) { this.B = a }; g.z(UP, SP); UP.prototype.B = function (a, b) { return SP.prototype.B.call(this, "$N|" + a, b) }; + UP.prototype.G = function (a, b, c) { return new TP(a, b, c, this.isLive) }; var hLa = [], kQ = new Set; g.z(g.WP, g.Fx); g.k = g.WP.prototype; g.k.U = function () { return this.Da }; + g.k.L = function (a) { return this.Da.L(a) }; + g.k.Jh = function () { return !this.isLivePlayback || this.allowLiveDvr }; + g.k.hasSupportedAudio51Tracks = function () { var a; return !((a = this.kf) == null || !a.ob) }; + g.k.j0 = function () { this.La() || (this.j.B || this.j.unsubscribe("refresh", this.j0, this), this.sX(-1)) }; + g.k.sX = function (a) { + if (!this.isLivePlayback || !this.G || this.G.flavor != "fairplay") { + var b = mIa(this.j, this.cH); if (b.length > 0) { + for (var c = g.w(b), d = c.next(); !d.done; d = c.next())d = d.value, d.startSecs = Math.max(d.startSecs, this.Xc()); this.publish("cuepointupdated", b, a); this.cH += b.length; if (iQ(this) && this.Da.Ac()) for (b = g.w(b), c = b.next(); !c.done; c = b.next())c = c.value, this.oa("cuepoint", { segNum: a, event: c.event, startSecs: c.startSecs, id: c.identifier.slice(-16) }), c.event === "start" && (c = c.startSecs, this.eD.start = this.Vk, + this.eD.end = c + 3) + } + } + }; + g.k.dj = function () { return this.me ? !0 : !!this.j && BL(this.j) }; + g.k.YI = function (a) { var b = this; if (this.La()) return $r(); this.Fd = this.ob = this.C = null; dQ(this, "html5_high_res_logging_always") && (this.Da.Rf = !0); return vLa(this, a).then(void 0, function () { return wLa(b, a) }).then(void 0, function () { return xLa(b) }).then(void 0, function () { return zLa(b) }) }; + g.k.zk = function () { + if (this.cotn) return null; var a = g.MC(this.Da) || this.L("web_l3_storyboard"); if (!this.Zk) if (this.playerResponse && this.playerResponse.storyboards) { var b = this.playerResponse.storyboards, c = b.playerStoryboardSpecRenderer; c && c.spec ? this.Zk = new SP(c.spec, this.lengthSeconds, void 0, !1, a) : (b = b.playerLiveStoryboardSpecRenderer) && b.spec && this.j && (c = $aa(this.j.j).index) && (this.Zk = new UP(b.spec, this.j.isLive, c, a)) } else this.nB ? this.Zk = new SP(this.nB, this.lengthSeconds, void 0, !1, a) : this.zw && this.j && + (b = $aa(this.j.j).index) && (this.Zk = new UP(this.zw, this.j.isLive, b, a)); return this.Zk + }; + g.k.getStoryboardFormat = function () { if (this.cotn) return null; if (this.playerResponse && this.playerResponse.storyboards) { var a = this.playerResponse.storyboards; return (a = a.playerStoryboardSpecRenderer || a.playerLiveStoryboardSpecRenderer) && a.spec || null } return this.nB || this.zw }; + g.k.Vd = function () { return this.j && !isNaN(this.j.Vd()) ? this.j.Vd() : iQ(this) ? 0 : this.lengthSeconds }; + g.k.Xc = function () { return this.j && !isNaN(this.j.Xc()) ? this.j.Xc() : 0 }; + g.k.getPlaylistSequenceForTime = function (a) { if (this.j && this.B) { var b = this.j.j[this.B.id]; if (!b) return null; var c = b.index.Li(a); b = b.index.getStartTime(c); return { sequence: c, elapsed: Math.floor((a - b) * 1E3) } } return null }; + g.k.qe = function () { return !this.La() && !(!this.videoId && !this.nm) }; + g.k.sx = function () { var a, b, c; return !!this.adaptiveFormats || !!((a = this.playerResponse) == null ? 0 : (b = a.streamingData) == null ? 0 : (c = b.adaptiveFormats) == null ? 0 : c.length) }; + g.k.isLoaded = function () { return XP(this) && !this.zj && !this.wp }; + g.k.gh = function (a) { a || (a = "hqdefault.jpg"); var b = this.Z[a]; return b || this.Da.ra || a == "pop1.jpg" || a == "pop2.jpg" || a == "sddefault.jpg" || a == "hq720.jpg" || a == "maxresdefault.jpg" ? b : ZO(this.Da, this.videoId, a) }; + g.k.Vb = function () { return this.isLivePlayback || this.Wd || this.Ka || !(!this.liveUtcStartSeconds || !this.bk) }; + g.k.isOtf = function () { return !!this.j && (this.j.isOtf || !this.Wd && !this.isLivePlayback && this.j.B) }; + g.k.getAvailableAudioTracks = function () { return this.C ? this.C.getAvailableAudioTracks().length > 0 ? this.C.getAvailableAudioTracks() : this.yw || [] : [] }; + g.k.getAudioTrack = function () { + var a = this; if (this.D && !cF(this.D)) return g.Kb(this.getAvailableAudioTracks(), function (d) { return d.id == a.D.id }) || this.bl; + if (this.yw) { if (!this.Pp) for (var b = g.w(this.yw), c = b.next(); !c.done; c = b.next())if (c = c.value, c.dc.getIsDefault()) { this.Pp = c; break } return this.Pp || this.bl } return this.bl + }; + g.k.getPlayerResponse = function () { return this.playerResponse }; + g.k.getWatchNextResponse = function () { return this.Wa }; + g.k.getHeartbeatResponse = function () { return this.YD }; + g.k.El = function () { return this.watchUrl ? this.watchUrl : this.Da.getVideoUrl(this.videoId) }; + g.k.TQ = function () { return !!this.j && (bIa(this.j) || cIa(this.j) || dIa(this.j)) }; + g.k.getEmbeddedPlayerResponse = function () { return this.Ii }; + g.k.Bk = function () { return (this.eventLabel || this.Da.Ma) === "shortspage" }; + g.k.isAd = function () { return this.ZF || !!this.adFormat }; + g.k.isDaiEnabled = function () { return !!(this.playerResponse && this.playerResponse.playerConfig && this.playerResponse.playerConfig.daiConfig && this.playerResponse.playerConfig.daiConfig.enableDai) }; + g.k.oi = function () { var a, b, c; return this.isDaiEnabled() && !!((a = this.playerResponse) == null ? 0 : (b = a.playerConfig) == null ? 0 : (c = b.daiConfig) == null ? 0 : c.ssaEnabledPlayback) }; + g.k.HT = function () { return ZKa(this) ? this.Q3 : this.Tq || this.Wi }; + g.k.JH = function () { return this.Nj || this.Wi }; + g.k.RI = function () { return dQ(this, "html5_samsung_vp9_live") }; + g.k.useInnertubeDrmService = function () { return !0 }; + g.k.oa = function (a, b, c) { this.publish("ctmp", a, b, c) }; + g.k.Fy = function (a, b, c) { this.publish("ctmpstr", a, b, c) }; + g.k.hasProgressBarBoundaries = function () { return !(!this.progressBarStartPosition || !this.progressBarEndPosition) }; + g.k.jd = function (a, b) { if (!g.IO(this.Da)) return !1; var c; if (((c = this.Da.getWebPlayerContextConfig()) == null ? 0 : c.embedsEnableEmc3ds) || (this.Da.Ga || "EMBEDDED_PLAYER_MODE_DEFAULT") !== "EMBEDDED_PLAYER_MODE_DEFAULT" || b) return !1; var d; return !!(((d = this.embeddedPlayerConfig) == null ? 0 : d.isShortsExperienceEligible) && a.width <= a.height) }; + g.k.xa = function () { g.Fx.prototype.xa.call(this); this.Rv = null; delete this.sfa; delete this.accountLinkingConfig; delete this.j; this.C = this.YD = this.playerResponse = this.Wa = null; this.Tf = this.adaptiveFormats = ""; delete this.botguardData; this.jf = this.suggestions = this.Uv = null }; var $La = { phone: "SMALL_FORM_FACTOR", tablet: "LARGE_FORM_FACTOR" }, aMa = { desktop: "DESKTOP", phone: "MOBILE", tablet: "TABLET" }, ZLa = { preroll: "BREAK_PREROLL", midroll: "BREAK_MIDROLL", postroll: "BREAK_POSTROLL" }, bMa = !1, WLa = { 0: "YT_KIDS_AGE_UP_MODE_UNKNOWN", 1: "YT_KIDS_AGE_UP_MODE_OFF", 2: "YT_KIDS_AGE_UP_MODE_TWEEN", 3: "YT_KIDS_AGE_UP_MODE_PRESCHOOL" }, YLa = { 0: "MDX_CONTROL_MODE_UNKNOWN", 1: "MDX_CONTROL_MODE_REMOTE", 2: "MDX_CONTROL_MODE_VOICE" }, XLa = { + 0: "UNPLUGGED_FILTER_MODE_TYPE_UNKNOWN", 1: "UNPLUGGED_FILTER_MODE_TYPE_NONE", + 2: "UNPLUGGED_FILTER_MODE_TYPE_PG", 3: "UNPLUGGED_FILTER_MODE_TYPE_PG_THIRTEEN" + }; g.z(eR, g.O); g.k = eR.prototype; g.k.handleExternalCall = function (a, b, c) { var d = this.state.N[a], e = this.state.Z[a], f = d; if (e) if (c && kD(c, fbb)) f = e; else if (!d) throw Error('API call from an untrusted origin: "' + c + '"'); this.logApiCall(a, c); if (f) { c = !1; d = g.w(b); for (e = d.next(); !e.done; e = d.next())if (String(e.value).includes("javascript:")) { c = !0; break } c && g.fx(Error('Dangerous call to "' + a + '" with [' + b + "].")); return f.apply(this, b) } throw Error('Unknown API method: "' + a + '".'); }; + g.k.logApiCall = function (a, b, c) { var d = this.app.U(); d.xp && !this.state.Y.has(a) && (this.state.Y.add(a), g.Ht("webPlayerApiCalled", { callerUrl: d.loaderUrl, methodName: a, origin: b || void 0, playerStyle: d.playerStyle || void 0, embeddedPlayerMode: d.Ga, errorCode: c })) }; + g.k.publish = function (a) { var b = g.Ca.apply(1, arguments); this.state.C.publish.apply(this.state.C, [a].concat(g.x(b))); if (a === "videodatachange" || a === "resize" || a === "cardstatechange") this.state.B.publish.apply(this.state.B, [a].concat(g.x(b))), this.state.D.publish.apply(this.state.D, [a].concat(g.x(b))) }; + g.k.ib = function (a) { var b = g.Ca.apply(1, arguments); this.state.C.publish.apply(this.state.C, [a].concat(g.x(b))); this.state.B.publish.apply(this.state.B, [a].concat(g.x(b))) }; + g.k.Hc = function (a) { var b = g.Ca.apply(1, arguments); this.state.C.publish.apply(this.state.C, [a].concat(g.x(b))); this.state.B.publish.apply(this.state.B, [a].concat(g.x(b))); this.state.D.publish.apply(this.state.D, [a].concat(g.x(b))) }; + g.k.Ai = function (a) { var b = g.Ca.apply(1, arguments); this.state.C.publish.apply(this.state.C, [a].concat(g.x(b))); this.state.B.publish.apply(this.state.B, [a].concat(g.x(b))); this.state.D.publish.apply(this.state.D, [a].concat(g.x(b))); this.state.G.publish.apply(this.state.G, [a].concat(g.x(b))) }; + g.k.L = function (a) { return this.app.U().L(a) }; + g.k.xa = function () { if (this.state.element) { var a = this.state.element, b; for (b in this.state.j) this.state.j.hasOwnProperty(b) && (a[b] = null); this.state.element = null } g.O.prototype.xa.call(this) }; g.z(jR, g.Gp); jR.prototype.publish = function (a) { var b = g.Ca.apply(1, arguments); if (this.G.has(a)) return this.G.get(a).push(b), !0; var c = !1; try { for (b = [b], this.G.set(a, b); b.length;)c = g.Gp.prototype.publish.call.apply(g.Gp.prototype.publish, [this, a].concat(g.x(b.shift()))) } finally { this.G.delete(a) } return c }; g.z(kR, g.O); kR.prototype.xa = function () { this.G.dispose(); this.D.dispose(); this.B.dispose(); this.C.dispose(); this.Y = this.j = this.Z = this.N = this.K = void 0 }; var iMa = new Set("endSeconds startSeconds mediaContentUrl suggestedQuality videoId rct rctn".split(" ")); g.z(mR, eR); g.k = mR.prototype; g.k.getApiInterface = function () { return Array.from(this.state.K) }; + g.k.l7 = function (a, b) { this.state.G.subscribe(a, b) }; + g.k.uda = function (a, b) { this.state.G.unsubscribe(a, b) }; + g.k.getPlayerState = function (a) { return U5a(this.app, a) }; + g.k.c9 = function () { return U5a(this.app) }; + g.k.Tda = function (a, b, c) { pR(this) && (V_(this.app, !0, 1), X_(this.app, a, b, c, 1)) }; + g.k.getCurrentTime = function (a, b, c) { var d = this.getPlayerState(a); if (this.app.getAppState() === 2 && d === 5) { var e; return ((e = this.app.getVideoData()) == null ? void 0 : e.startSeconds) || 0 } return this.L("web_player_max_seekable_on_ended") && d === 0 ? Q5a(this.app, a) : a ? this.app.getCurrentTime(a, b, c) : this.app.getCurrentTime(a) }; + g.k.P8 = function () { return this.app.getCurrentTime(1) }; + g.k.X8 = function () { var a = this.app.bf(1); return isNaN(a) ? this.getCurrentTime(1) : a }; + g.k.U8 = function () { return this.app.getDuration(1) }; + g.k.BM = function (a, b) { a = g.Dd(Math.floor(a), 0, 100); isFinite(a) && O_(this.app, { volume: a, muted: this.isMuted() }, b) }; + g.k.jea = function (a) { this.BM(a, !1) }; + g.k.lL = function (a) { O_(this.app, { muted: !0, volume: this.getVolume() }, a) }; + g.k.V$ = function () { this.lL(!1) }; + g.k.ZM = function (a) { g.oR(this.app) || O_(this.app, { muted: !1, volume: Math.max(5, this.getVolume()) }, a) }; + g.k.Xea = function () { this.ZM(!1) }; + g.k.getPlayerMode = function () { var a = {}; this.app.getVideoData().Ff && (a.pfp = { enableIma: g.aR(this.app.getVideoData()) && this.app.Od().allowImaMonetization, autoplay: TQ(this.app.Od()), mutedAutoplay: this.app.Od().mutedAutoplay }); return a }; + g.k.IS = function () { var a = this.app.getPresentingPlayerType(); if (a === 2 && !this.app.Ef()) { var b = uU(this.app.Bb()); if (!I8a(b) || J8a(b)) return } a === 3 ? BR(this.app.Bb()).zG("control_play") : this.app.U().L("html5_ssap_ignore_play_for_ad") && g.jQ(this.app.Od()) && a === 2 || this.app.playVideo(a) }; + g.k.Tca = function () { V_(this.app, !0, 1); this.IS() }; + g.k.pauseVideo = function (a) { var b = this.app.getPresentingPlayerType(); if (b !== 2 || this.app.Ef() || I8a(uU(this.app.Bb()))) b === 3 ? BR(this.app.Bb()).zG("control_pause") : this.app.pauseVideo(b, a) }; + g.k.yea = function () { var a = this.app, b = !1; a.W.wc && (a.Ua.publish("pageTransition"), b = !0); a.stopVideo(b) }; + g.k.clearVideo = function () { }; + g.k.getAvailablePlaybackRates = function () { var a = this.app.U(); return a.enableSpeedOptions ? ["https://admin.youtube.com", "https://viacon.corp.google.com", "https://yurt.corp.google.com"].includes(a.D ? a.ancestorOrigins[0] : window.location.origin) || a.yp ? Zab : Yab : [1] }; + g.k.getPlaybackQuality = function (a) { return (a = g.qR(this.app, a)) ? a.getPlaybackQuality() : "unknown" }; + g.k.dea = function () { }; + g.k.getAvailableQualityLevels = function (a) { return (a = g.qR(this.app, a)) ? (a = g.Al(a.Ut(), function (b) { return b.quality }), a.length && (a[0] === "auto" && a.shift(), a = a.concat(["auto"])), a) : [] }; + g.k.L8 = function () { return this.getAvailableQualityLevels(1) }; + g.k.h9 = function () { return this.LY() }; + g.k.i9 = function () { return 1 }; + g.k.getVideoLoadedFraction = function (a) { return this.app.getVideoLoadedFraction(a) }; + g.k.LY = function () { return this.getVideoLoadedFraction() }; + g.k.l9 = function () { return 0 }; + g.k.getSize = function () { var a = this.app.qb().getPlayerSize(); return { width: a.width, height: a.height } }; + g.k.setSize = function () { this.app.qb().resize() }; + g.k.loadVideoById = function (a, b, c, d) { if (!a) return !1; a = lR(a, b, c); return this.app.loadVideoByPlayerVars(a, d) }; + g.k.t$ = function (a, b, c) { a = this.loadVideoById(a, b, c, 1); V_(this.app, a, 1) }; + g.k.cueVideoById = function (a, b, c, d) { a = lR(a, b, c); this.app.cueVideoByPlayerVars(a, d) }; + g.k.N7 = function (a, b, c) { this.cueVideoById(a, b, c, 1) }; + g.k.loadVideoByUrl = function (a, b, c, d) { a = hMa(a, b, c); return this.app.loadVideoByPlayerVars(a, d) }; + g.k.w$ = function (a, b, c) { a = this.loadVideoByUrl(a, b, c, 1); V_(this.app, a, 1) }; + g.k.cueVideoByUrl = function (a, b, c, d) { a = hMa(a, b, c); this.app.cueVideoByPlayerVars(a, d) }; + g.k.Q7 = function (a, b, c) { this.cueVideoByUrl(a, b, c, 1) }; + g.k.n9 = function () { var a = this.app.U(); if (a.ra) return ""; var b = this.app.Od(), c = void 0; b.isLivePlayback || (c = Math.floor(this.app.getCurrentTime(1))); return a.getVideoUrl(b.videoId, this.getPlaylistId() || void 0, c) }; + g.k.S8 = function () { return this.app.getDebugText() }; + g.k.getVideoEmbedCode = function () { var a = this.app.U(); if (a.ra) return ""; var b = this.app.Od(); return a.getVideoEmbedCode(b.isPrivate ? "" : b.title, this.app.Od().videoId, this.app.qb().getPlayerSize(), this.getPlaylistId() || void 0) }; + g.k.j7 = function (a, b, c) { return $5a(this.app, a, b, c) }; + g.k.removeCueRange = function (a) { return b6a(this.app, a) }; + g.k.loadPlaylist = function (a, b, c, d) { this.app.loadPlaylist(a, b, c, d) }; + g.k.r$ = function (a, b, c, d) { this.loadPlaylist(a, b, c, d); V_(this.app, !0, 1) }; + g.k.cuePlaylist = function (a, b, c, d) { this.app.cuePlaylist(a, b, c, d) }; + g.k.nextVideo = function (a, b) { this.app.nextVideo(a, b) }; + g.k.W$ = function () { this.nextVideo(); V_(this.app, !0, 1) }; + g.k.previousVideo = function (a) { this.app.previousVideo(a) }; + g.k.gda = function () { this.previousVideo(); V_(this.app, !0, 1) }; + g.k.playVideoAt = function (a) { this.app.playVideoAt(a) }; + g.k.Sca = function (a) { this.playVideoAt(a); V_(this.app, !0, 1) }; + g.k.setShuffle = function (a) { var b = this.app.getPlaylist(); b && b.setShuffle(a) }; + g.k.setLoop = function (a) { var b = this.app.getPlaylist(); b && (b.loop = a) }; + g.k.e9 = function () { var a = this.app.getPlaylist(); if (!a) return null; for (var b = [], c = 0; c < a.length; c++) { var d = g.UT(a, c); d && b.push(d.videoId) } return b }; + g.k.getPlaylistIndex = function () { var a = this.app.getPlaylist(); return a ? a.index : -1 }; + g.k.getPlaylistId = function () { var a = this.app.getPlaylist(); return a && a.listId ? a.listId.toString() : null }; + g.k.g_ = function (a) { a === "captions" && (a = g.rU(this.app.Bb())) && !a.loaded && a.load() }; + g.k.t3 = function (a) { a === "captions" && (a = g.rU(this.app.Bb())) && a.loaded && a.bfa() }; + g.k.AT = function (a, b, c) { if (!b) return null; var d = this.app.Bb(); return a === "captions" ? (a = g.rU(d)) && a.Uh(b, c) : null }; + g.k.Y8 = function (a, b, c) { var d = g.qR(this.app, 1); return d && d.getVideoData().isPrivate && this.app.U().D ? {} : this.AT(a, b, c) }; + g.k.bQ = function (a) { var b = this.app.Bb(); if (a === "captions") { var c; return ((c = g.rU(b)) == null ? void 0 : c.getOptions()) || null } return a ? null : (a = [], g.rU(b) && a.push("captions"), a) }; + g.k.getVolume = function () { return this.app.Ri.volume }; + g.k.isMuted = function () { return this.app.Ri.muted }; + g.k.destroy = function () { this.app.dispose() }; + g.k.logImaAdEvent = function (a, b) { var c = this.app.U(); g.aR(this.app.getVideoData()) && this.app.Od().allowImaMonetization && (a = { adSource: "EMBEDS_AD_SOURCE_IMA", breakType: b, embedUrl: g.Mfa(this.app.U().loaderUrl), eventType: a, youtubeHost: g.Ni(this.app.U().Fa) || "" }, a.embeddedPlayerMode = c.Ga, g.Ht("embedsAdEvent", a)) }; + g.k.mutedAutoplay = function () { var a = this.app.U(), b, c; ((b = a.getWebPlayerContextConfig()) == null ? 0 : (c = b.embedsHostFlags) == null ? 0 : c.allowMutedAutoplay) && !a.C && this.app.mutedAutoplay() }; + g.k.preloadVideoById = function (a, b, c, d) { if (a) { a = lR(a, b, c); var e, f; ((e = this.app.U().getWebPlayerContextConfig()) == null ? 0 : (f = e.embedsHostFlags) == null ? 0 : f.allowPreloadVideoPlayerVars) && this.app.preloadVideoByPlayerVars(a, d) } }; + g.k.cda = function (a, b, c) { this.preloadVideoById(a, b, c, 1) }; + g.k.setFauxFullscreen = function (a) { g.Ms(); this.app.hn(a ? 2 : 0) }; + g.k.aea = function (a) { var b, c; ((b = this.app.U().getWebPlayerContextConfig()) == null ? 0 : (c = b.embedsHostFlags) == null ? 0 : c.allowSetFauxFullscreen) && this.setFauxFullscreen(a) }; + g.k.wakeUpControls = function () { var a = g.nR(this); a && a.Gv() }; var oMa = "driveweb flix hovercard projector texmex wshbp".split(" "); g.z(rR, mR); g.k = rR.prototype; g.k.m7 = function (a, b) { this.state.D.subscribe(a, b) }; + g.k.vda = function (a, b) { this.state.D.unsubscribe(a, b) }; + g.k.cueVideoByPlayerVars = function (a, b) { this.app.cueVideoByPlayerVars(a, b) }; + g.k.P7 = function (a, b) { b = b === void 0 ? 1 : b; this.cueVideoByPlayerVars(sR(this, a), b) }; + g.k.loadVideoByPlayerVars = function (a, b, c, d, e) { this.app.loadVideoByPlayerVars(a, c, b, d, e) }; + g.k.v$ = function (a, b, c, d) { c = c === void 0 ? 1 : c; this.loadVideoByPlayerVars(sR(this, a), b, c, d) }; + g.k.preloadVideoByPlayerVars = function (a, b, c, d, e) { c = c === void 0 ? NaN : c; this.app.preloadVideoByPlayerVars(a, b, c, d === void 0 ? "" : d, e === void 0 ? "" : e) }; + g.k.eda = function (a, b, c, d) { b = b === void 0 ? 1 : b; this.preloadVideoByPlayerVars(sR(this, a), b, c, d) }; + g.k.i_ = function (a, b, c) { this.loadVideoById(a, b, c, 1) }; + g.k.j_ = function (a, b, c) { this.loadVideoByUrl(a, b, c, 1) }; + g.k.d9 = function (a) { return this.getPlayerState(a) }; + g.k.KY = function (a) { + a = a === void 0 ? 1 : a; var b = kMa(this, a); if (a = g.qR(this.app, a)) { + a = a.getVideoData(); b.backgroundable = a.backgroundable; b.eventId = a.eventId; b.cpn = a.clientPlaybackNonce; b.isLive = a.isLivePlayback; b.isWindowedLive = a.Ka; b.isManifestless = iQ(a); b.allowLiveDvr = a.allowLiveDvr; b.isListed = a.isListed; a.liveUtcStartSeconds != null && (b.liveUtcStartSeconds = a.liveUtcStartSeconds); a.dj() && (b.isEncrypted = !0); if (a.C) for (var c = g.w(a.C.videoInfos), d = c.next(); !d.done; d = c.next()) { + var e = void 0; if ((e = d.value.video) == + null ? 0 : e.isHdr()) { b.isHdr = !0; break } + } var f, h; b.isMultiChannelAudio = !!((f = a.D) == null ? 0 : (h = f.audio) == null ? 0 : h.isMultiChannelAudio()) + } return b + }; + g.k.seekBy = function (a, b, c, d, e) { pR(this) && X_(this.app, this.app.getCurrentTime() + a, b, c, e, d) }; + g.k.Rda = function (a, b, c) { this.seekBy(a, b, c, void 0, 1) }; + g.k.seekTo = function (a, b, c, d, e) { pR(this) && X_(this.app, a, b, c, d, e) }; + g.k.Uda = function (a, b, c, d) { this.seekTo(a, b, c, d === void 0 ? 1 : d) }; + g.k.getStoryboardFormat = function () { return this.app.getStoryboardFormat() }; + g.k.Q8 = function (a, b) { return this.getCurrentTime(a === void 0 ? 1 : a, b) }; + g.k.fK = function () { var a = this.app.getPresentingPlayerType(!0); a === 2 && this.app.Ef() && (a = 1); return a }; + g.k.getDuration = function (a, b) { if (this.fK() === 3) { var c; return ((c = BR(this.app.Bb()).getProgressState()) == null ? void 0 : c.duration) || 0 } return a ? this.app.getDuration(a, b) : this.app.getDuration(a) }; + g.k.oY = function (a, b) { return this.getDuration(a === void 0 ? 1 : a, b) }; + g.k.k9 = function (a) { return this.getVideoLoadedFraction(a) }; + g.k.loadModule = function (a) { if (a === "annotations_module") { var b = g.xU(this.app.Bb()); b && !b.loaded && b.load() } this.g_(a) }; + g.k.unloadModule = function (a) { if (a === "annotations_module") { var b = g.xU(this.app.Bb()); b && b.loaded && b.unload() } this.t3(a) }; + g.k.getOption = function (a, b, c, d) { return (d = g.qR(this.app, d)) && d.getVideoData().isPrivate && this.app.U().D ? {} : this.setOption(a, b, c) }; + g.k.BY = function (a, b, c) { return this.getOption(a, b, c, 1) }; + g.k.getOptions = function (a) { + var b = this.app.Bb(); switch (a) { + case "ad": var c, d; return ((c = uU(b)) == null ? void 0 : (d = c.getOptions) == null ? void 0 : d.call(c)) || null; case "remote": var e, f; return ((e = BR(b)) == null ? void 0 : (f = e.getOptions) == null ? void 0 : f.call(e)) || null; case "annotations_module": var h, l; return ((h = g.xU(b)) == null ? void 0 : (l = h.getOptions) == null ? void 0 : l.call(h)) || null; case "creatorendscreen": var m, n; return ((m = bPa(b)) == null ? void 0 : (n = m.getOptions) == null ? void 0 : n.call(m)) || null; case "unplugged": var p, q; return ((p = + g.vU(b)) == null ? void 0 : (q = p.getOptions) == null ? void 0 : q.call(p)) || null; case "kids": var r, t; return ((r = $Oa(b)) == null ? void 0 : (t = r.getOptions) == null ? void 0 : t.call(r)) || null + }if (!a) { a = this.bQ(); if (!a) return a; uU(b) && a.push("ad"); BR(b) && a.push("remote"); g.xU(b) && a.push("annotations_module"); bPa(b) && a.push("creatorendscreen"); g.vU(b) && a.push("unplugged"); $Oa(b) && a.push("kids"); return a } return this.bQ(a) + }; + g.k.setOption = function (a, b, c) { if (!b) return null; var d = this.app.Bb(); switch (a) { case "ad": return (a = uU(d)) && a.Uh && a.Uh(b, c); case "kids": return (a = $Oa(d)) && a.Uh(b, c); case "remote": return (a = BR(d)) && a.Uh(b, c); case "unplugged": return (a = g.vU(d)) && a.Uh(b, c); case "annotations_module": return (a = g.xU(d)) && a.Uh(b, c); case "creatorendscreen": return (a = bPa(d)) && a.Uh(b, c) }return this.AT(a, b, c) }; + g.k.addCueRange = function (a, b, c, d, e) { return $5a(this.app, a, b, c, d, e) }; + g.k.getDebugText = function (a) { return this.app.getDebugText(a) }; + g.k.getCurrentBroadcastId = function () { return null }; + g.k.handleGlobalKeyDown = function (a, b, c, d, e, f, h, l) { b = b === void 0 ? !1 : b; c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; e = e === void 0 ? !1 : e; var m = g.nR(this); m && m.handleGlobalKeyDown(a, b, c, d, e, f, h, l) }; + g.k.handleGlobalKeyUp = function (a, b, c, d, e, f, h) { b = b === void 0 ? !1 : b; c = c === void 0 ? !1 : c; d = d === void 0 ? !1 : d; e = e === void 0 ? !1 : e; var l = g.nR(this); l && l.handleGlobalKeyUp(a, b, c, d, e, f, h) }; + g.k.setSizeStyle = function (a, b) { this.app.setSizeStyle(a, b) }; + g.k.showControls = function () { var a = g.nR(this); a && a.showControls(!0) }; + g.k.hideControls = function () { var a = g.nR(this); a && a.showControls(!1) }; + g.k.getVideoContentRect = function (a) { a = this.app.qb().getVideoContentRect(a); return { left: a.left, top: a.top, width: a.width, height: a.height } }; + g.k.toggleFullscreen = function () { + function a(c) { g.fx(c) } + var b = this.app.U(); if (b.externalFullscreen) { if (!g.dP(b)) return this.isFullscreen() ? Os(window.document.documentElement) : Ls(window.document.documentElement).catch(a) } else if (g.Ms() || b.Z) return this.isFullscreen() ? Os(Ns()) : b.controlsType !== "3" && g.Ms() ? Ls(this.app.qb().element).catch(a) : (b = this.app.Ke().Ib()) ? Ls(b).catch(a) : Promise.reject(Error("Media element missing")); this.Hc("onFullscreenToggled", this.isFullscreen()); return Promise.resolve(void 0) + }; + g.k.isFullscreen = function () { return this.app.isFullscreen() }; + g.k.cancelPlayback = function () { var a = uU(this.app.Bb()); a && a.created && a.destroy(); (a = g.qR(this.app)) && a.stopVideo(); (a = this.app.Bb().He.get("endscreen")) && a.e$() && g.AR(this.app.Ua, !0) }; + g.k.getProgressState = function (a) { + if (this.fK() === 3) return BR(this.app.Bb()).getProgressState(); var b = this.app.getVideoData(), c = g.qR(this.app, a) || g.qR(this.app), d = c.getPlayerType(); a: { var e = this.app.getVideoData(); var f; if ((f = e.progressBarStartPosition) == null ? 0 : f.utcTimeMillis) if (e = Number(e.progressBarStartPosition.utcTimeMillis) / 1E3, !isNaN(e)) { e = tR(this, e, a); break a } e = 0 } var h; a: { + f = this.app.getVideoData(); if ((h = f.progressBarEndPosition) == null ? 0 : h.utcTimeMillis) if (h = Number(f.progressBarEndPosition.utcTimeMillis) / + 1E3, !isNaN(h)) { h = tR(this, h, a); break a } h = 0 + } f = this.getCurrentTime(a); a = this.getDuration(a); var l = this.app.bf(d), m = this.app.isAtLiveHead(d), n = this.app.pA(); var p = this.app; var q = g.qR(p, d); q ? (q = G_(p, q), p = Q_(p, g.jQ(q.videoData) ? q.videoData.Xc() : q.Xc(), q)) : p = 0; q = Q5a(this.app, d); c = c.Dc(); var r = this.app.getVideoData().NC; !r || isNaN(r) ? d = 0 : (d = tR(this, r, d), r = g.AC(this.app.U().experiments, "partial_rewind_buffer_seconds"), d -= r > d ? d : r); return { + airingStart: e, airingEnd: h, allowSeeking: this.app.Jh(), clipEnd: b.clipEnd, + clipStart: b.clipStart, current: f, displayedStart: -1, duration: a, ingestionTime: l, isAtLiveHead: m, loaded: n, seekableStart: p, seekableEnd: q, offset: c, viewerLivestreamJoinMediaTime: d + } + }; + g.k.isInline = function () { return this.app.isInline() }; + g.k.setInline = function (a) { this.app.setInline(a) }; + g.k.m9 = function () { return g.qR(this.app, 1).uc(!0) }; + g.k.toggleSubtitles = function () { var a = g.rU(this.app.Bb()); a && a.Nea() }; + g.k.getPlayerSize = function () { var a = this.app.qb().getPlayerSize(); return { width: a.width, height: a.height } }; + g.k.setCenterCrop = function (a) { this.app.qb().setCenterCrop(a) }; + g.k.getLoopVideo = function () { return this.app.getLoopVideo() }; + g.k.setLoopVideo = function (a) { this.app.setLoopVideo(a) }; + var nMa = "BASE_URL BASE_YT_URL adformat adaptive_fmts allow_embed audio_only authuser autoplay cc_load_policy cpn dash dashmpd disable_native_context_menu disablekb docid el enable_faster_speeds enablecastapi end eventid external_fullscreen fmt_list hl hlsdvr hlsvp iurl iurlhq iurlmq length_seconds live_playback osig override_hl partnerid pause_at_start pipable player_response playsinline plid post_live_playback postid ps public qoe_cat raw_player_response rel show_loop_video_toggle start startSeconds status suggestedQuality timestamp title token ttsurl use_native_controls url_encoded_fmt_stream_map video_id videoId".split(" "), + qMa = "adformat allow_embed authuser autohide autonav autoplay c cbr cbrver cc_load_policy controls cos cosver cr csi_page_type cver cyc dash dashmpd disablekb el enablecastapi enablecsi end external_fullscreen external_list fs hl host_language innertube_api_key innertube_api_version innertube_context_client_version iurl iurlhq iurlmq iv_load_policy jsapicallback length_seconds live_playback live_storyboard_spec loaderUrl osig override_hl pageid partnerid pipable player_params player_wide playsinline plid postid profile_picture ps rel show_miniplayer_button showinfo showwatchlater start startSeconds status storyboard_spec suggestedQuality timestamp title tkn token transparent_background ucid url_encoded_fmt_stream_map use_miniplayer_ui use_native_controls videoId video_id vss_host watermark".split(" "); var g2 = {}, rMa = (g2["api.invalidparam"] = 2, g2.auth = 150, g2["drm.auth"] = 150, g2["heartbeat.net"] = 150, g2["heartbeat.servererror"] = 150, g2["heartbeat.stop"] = 150, g2["html5.unsupportedads"] = 5, g2["fmt.noneavailable"] = 5, g2["fmt.decode"] = 5, g2["fmt.unplayable"] = 5, g2["html5.missingapi"] = 5, g2["html5.unsupportedlive"] = 5, g2["drm.unavailable"] = 5, g2["mrm.blocked"] = 151, g2["embedder.identity.denied"] = 152, g2); g.z(g.uR, rR); g.k = g.uR.prototype; g.k.isExternalMethodAvailable = function (a, b) { return this.state.N[a] ? !0 : !!(this.state.Z[a] && b && kD(b, fbb)) }; + g.k.getBandwidthEstimate = function () { return CO(this.app.U().schedule) }; + g.k.reportPlaybackIssue = function (a) { a = a === void 0 ? "" : a; var b = g.qR(this.app); b && (a = { gpu: (0, g.NZ)(), d: a }, b.handleError(new FE("feedback", a))) }; + g.k.getInternalApi = function () { return Object.assign({}, this.state.j) }; + g.k.getInternalApiInterface = function () { return g.xc(this.state.j) }; + g.k.queueNextVideo = function (a, b, c, d, e) { c = c === void 0 ? NaN : c; this.app.queueNextVideo(a, b, c, d === void 0 ? "" : d, e === void 0 ? "" : e) }; + g.k.b9 = function (a) { a = this.app.getPlayerStateObject(a); return { isBuffering: g.U(a, 1), isCued: a.isCued(), isDomPaused: g.U(a, 1024), isEnded: g.U(a, 2), isError: g.U(a, 128), isOrWillBePlaying: a.isOrWillBePlaying(), isPaused: a.isPaused(), isPlaying: a.isPlaying(), isSeeking: g.U(a, 16), isUiSeeking: g.U(a, 32), isUnstarted: g.U(a, 64) } }; + g.k.createSubtitlesModuleIfNeeded = function () { return this.app.createSubtitlesModuleIfNeeded() }; + g.k.startSeekCsiAction = function () { this.app.Wh().D.j = (0, g.Zt)() }; + g.k.O8 = function (a, b, c) { return this.getCurrentTime(a === void 0 ? 1 : a, b, c) }; + g.k.seekToStreamTime = function (a, b, c, d) { var e = this.app; b = b === void 0 ? !0 : b; var f = g.qR(e, 1), h = 0; f && f.getStreamTimeOffset() && !f.Dc() && (h = f.getStreamTimeOffset()); X_(e, a - h, b, c, 1, d) }; + g.k.getStreamTimeOffset = function () { var a = g.qR(this.app, 1); return a ? a.getStreamTimeOffset() : 0 }; + g.k.seekToLiveHead = function (a, b) { var c = g.qR(this.app, 1); c && (c = c.getVideoData()) && c.isLivePlayback && X_(this.app, Infinity, a, b, 1) }; + g.k.requestSeekToWallTimeSeconds = function (a, b) { var c = g.qR(this.app, 1); c && c.dC(a, b) }; + g.k.Sda = function (a, b, c, d, e) { this.seekTo(a, b, c, d === void 0 ? 1 : d, e) }; + g.k.Qda = function (a, b, c, d) { this.seekBy(a, b, c, d, 1) }; + g.k.setVolume = function (a, b) { this.BM(a, b === void 0 ? !0 : b) }; + g.k.mute = function (a) { this.lL(a === void 0 ? !0 : a) }; + g.k.unMute = function (a) { this.ZM(a === void 0 ? !0 : a) }; + g.k.syncVolume = function () { var a = r5a(this.app); O_(this.app, { volume: a.volume, muted: a.muted }, !1) }; + g.k.getAvailableQualityLabels = function () { var a = g.qR(this.app, 1); return a ? g.Al(a.Ut(), function (b) { return b.qualityLabel }) : [] }; + g.k.channelSubscribed = function () { this.ib("SUBSCRIBE", this.app.Od().Wl) }; + g.k.channelUnsubscribed = function () { this.ib("UNSUBSCRIBE", this.app.Od().Wl) }; + g.k.setScreenLayer = function (a) { this.app.setScreenLayer(a) }; + g.k.getCurrentPlaylistSequence = function () { return g.qR(this.app).getPlaylistSequenceForTime(this.app.getCurrentTime()) }; + g.k.getPlaylistSequenceForTime = function (a) { return g.qR(this.app).getPlaylistSequenceForTime(a) }; + g.k.shouldSendVisibilityState = function () { return !0 }; + g.k.confirmYpcRental = function () { var a = g.qR(this.app, 1); a && a.Dg("ypc_clickwrap") }; + g.k.setHomeGroupInfo = function (a) { this.app.U().homeGroupInfo = a }; + g.k.setConnectedRemoteApps = function (a) { this.app.U().Hj = a }; + g.k.setLivingRoomAppMode = function (a) { this.app.U().livingRoomAppMode = zs("LIVING_ROOM_APP_MODE_UNSPECIFIED", a, DJa) }; + g.k.setEnablePrivacyFilter = function (a) { this.app.U().enablePrivacyFilter = a === void 0 ? !1 : a }; + g.k.togglePictureInPicture = function () { this.app.togglePictureInPicture() }; + g.k.addUtcCueRange = function (a, b, c, d, e) { return a6a(this.app, a, b, c, d, e) }; + g.k.j9 = function (a) { + a = a === void 0 ? 1 : a; var b = this.KY(a); if (a = g.qR(this.app, a)) { + a = a.getVideoData(); b.hasProgressBarBoundaries = a.hasProgressBarBoundaries(); b.isPremiere = a.isPremiere; b.itct = a.Ma; b.playerResponseCpn = a.playerResponseCpn; var c; var d = a.hasProgressBarBoundaries() && ((c = a.progressBarStartPosition) == null ? 0 : c.utcTimeMillis) ? Wd(a.progressBarStartPosition.utcTimeMillis) : null; b.progressBarStartPositionUtcTimeMillis = d; var e; c = a.hasProgressBarBoundaries() && ((e = a.progressBarEndPosition) == null ? 0 : e.utcTimeMillis) ? + Wd(a.progressBarEndPosition.utcTimeMillis) : null; b.progressBarEndPositionUtcTimeMillis = c; b.ypcOriginalItct = a.C4; b.ypcPreview = a.ypcPreview; b.paidContentOverlayText = ALa(a); b.paidContentOverlayDurationMs = BLa(a); a.j && yL(a.j) && (b.usingLocalMedia = "true"); b.transitionEndpointAtEndOfStream = a.transitionEndpointAtEndOfStream + } return b + }; + g.k.getAdState = function () { return this.app.getAdState() }; + g.k.isNotServable = function (a) { if (a !== this.app.config.args.video_id) return !1; var b = (a = (a = g.qR(this.app, 1)) ? a.getPlayerState() : null) ? a.eh : null; return !!(a && b && g.U(a, 128) && sMa(b.errorCode) === 5) }; + g.k.supportsGaplessAudio = function () { return this.app.U().supportsGaplessAudio() }; + g.k.supportsGaplessShorts = function () { return this.app.U().supportsGaplessShorts() }; + g.k.enqueueVideoByPlayerVars = function (a, b, c, d) { c = c === void 0 ? Infinity : c; this.app.enqueueVideoByPlayerVars(a, b, c, d === void 0 ? "" : d) }; + g.k.clearQueue = function () { this.app.clearQueue() }; + g.k.Ji = function () { return g.nR(this) }; + g.k.sendAbandonmentPing = function () { var a = g.qR(this.app); a && a.sendAbandonmentPing() }; + g.k.setAutonavState = function (a, b) { b = b === void 0 ? !1 : b; if (this.L("web_player_autonav_use_server_provided_state") && !b && (b = this.app.Od(), b == null ? 0 : lQ(b))) { if (this.L("web_player_autonav_server_provided_state_pause_killswitch")) return; if (a === 3) b.autonavState !== 3 && (b.BD = b.autonavState); else if (b.BD !== void 0) a = b.BD, b.BD = void 0; else return } h6a(this.app, a) }; + g.k.setAutonav = function (a, b) { this.setAutonavState(a ? 2 : 1, b === void 0 ? !1 : b) }; + g.k.setLoopRange = function (a) { this.app.setLoopRange(a) }; + g.k.getLoopRange = function () { return this.app.getLoopRange() }; + g.k.hasSupportedAudio51Tracks = function () { var a; return !((a = g.qR(this.app, 1)) == null || !a.hasSupportedAudio51Tracks()) }; + g.k.setUserAudio51Preference = function (a, b) { b = b === void 0 ? !1 : b; var c = g.qR(this.app, 1); c && c.setUserAudio51Preference(a, b) }; + g.k.getUserAudio51Preference = function () { var a, b; return (b = (a = g.qR(this.app, 1)) == null ? void 0 : a.getUserAudio51Preference()) != null ? b : 1 }; + g.k.setProximaLatencyPreference = function (a) { var b = g.qR(this.app, 1); b && b.setProximaLatencyPreference(a) }; + g.k.getProximaLatencyPreference = function () { var a = g.qR(this.app, 1); return a ? a.getProximaLatencyPreference() : 0 }; + g.k.isProximaLatencyEligible = function () { var a = g.qR(this.app, 1); return a ? a.isProximaLatencyEligible() : !1 }; + g.k.getAppState = function () { return this.app.getAppState() }; + g.k.updateLastActiveTime = function () { Tv() }; + g.k.setBlackout = function (a) { this.app.setBlackout(a) }; + g.k.setUserEngagement = function (a) { this.app.U().hm !== a && (this.app.U().hm = a, (a = g.qR(this.app, 1)) && x_(a)) }; + g.k.updateSubtitlesUserSettings = function (a, b) { b = b === void 0 ? !0 : b; g.rU(this.app.Bb()).B3(a, b) }; + g.k.getCaptionWindowContainerId = function () { var a = g.rU(this.app.Bb()); return a ? a.getCaptionWindowContainerId() : "" }; + g.k.toggleSubtitlesOn = function () { var a = g.rU(this.app.Bb()); a && a.X2() }; + g.k.isSubtitlesOn = function () { var a = g.rU(this.app.Bb()); return a ? a.isSubtitlesOn() : !1 }; + g.k.getPlayerResponse = function (a) { return (a = g.qR(this.app, a)) ? a.getVideoData().getPlayerResponse() : null }; + g.k.a9 = function () { return this.getPlayerResponse(1) }; + g.k.getEmbeddedPlayerResponse = function () { var a = g.qR(this.app, 1); return a ? a.getVideoData().getEmbeddedPlayerResponse() : null }; + g.k.getWatchNextResponse = function (a) { return (a = g.qR(this.app, a)) ? a.getVideoData().getWatchNextResponse() : null }; + g.k.o9 = function () { return this.getWatchNextResponse(1) }; + g.k.getHeartbeatResponse = function (a) { return (a = g.qR(this.app, a)) ? a.getVideoData().getHeartbeatResponse() : null }; + g.k.V8 = function () { return this.getHeartbeatResponse(1) }; + g.k.getStoryboardFrame = function (a, b) { var c = this.app.zk(); if (!c) return null; b = c.levels[b]; return b ? (a = g.QP(b, a)) ? { column: a.column, columns: a.columns, height: a.Tx, row: a.row, rows: a.rows, url: a.url, width: a.mG } : null : null }; + g.k.getStoryboardFrameIndex = function (a, b) { var c = this.app.zk(); if (!c) return -1; b = c.levels[b]; if (!b) return -1; a -= this.Dc(); return b.KI(a) }; + g.k.getStoryboardLevel = function (a) { var b = this.app.zk(); return b ? (b = b.levels[a]) ? { index: a, intervalMs: b.j, maxFrameIndex: b.sz(), minFrameIndex: b.IN() } : null : null }; + g.k.getNumberOfStoryboardLevels = function () { var a = this.app.zk(); return a ? a.levels.length : 0 }; + g.k.H8 = function () { return this.getAudioTrack(1) }; + g.k.getAudioTrack = function (a) { return (a = g.qR(this.app, a)) ? a.getAudioTrack() : this.app.getVideoData().bl }; + g.k.setAudioTrack = function (a, b, c) { + this.fK() === 3 && BR(this.app.Bb()).zG("control_set_audio_track", a); if (c = g.qR(this.app, c)) if (c.La() || g.U(c.playerState, 128)) a = !1; else { + var d; if ((d = c.videoData.C) == null ? 0 : d.j) { d = b ? c.getCurrentTime() - c.Dc() : NaN; if (b) { var e = b4a(c.Qc); c.oa("aswh", { id: a.id, xtags: a.xtags, bh: e.toFixed(3) }) } c.ya.setAudioTrack(a, d, b) } else if (S4a(c)) { + b: { + b = c.mediaElement.audioTracks(); for (d = 0; d < b.length; ++d)if (e = b[d], e.label === a.dc.getName()) { if (e.enabled) { b = !1; break b } b = e.enabled = !0; break b } b = + void 0 + } b && c.oa("hlsaudio", { id: a.id }) + } else { b: if (b = c.videoData, b.D && !cF(b.D) || a == b.Pp || !b.Fd || b.Fd.length <= 0) b = !1; else { d = g.w(b.Fd); for (e = d.next(); !e.done; e = d.next()) { e = e.value; if (!(e instanceof pP)) { b = !1; break b } var f = a.dc.getId(); e.B && (PJa(e.B, f), e.resource = null) } b.Pp = a; b = !0 } b && q_(c) && (c.publish("internalaudioformatchange", c.videoData, !0), c.oa("hlsaudio", { id: a.id })) } a = !0 + } else a = !1; return a + }; + g.k.Yda = function (a, b) { return this.setAudioTrack(a, b, 1) }; + g.k.K8 = function () { return this.getAvailableAudioTracks(1) }; + g.k.getAvailableAudioTracks = function (a) { return g.qR(this.app, a).getAvailableAudioTracks() }; + g.k.getMaxPlaybackQuality = function () { var a = g.qR(this.app, 1); return a && a.getVideoData().B ? uL(a.Jf ? c2a(a.Ok, a.Jf, a.hx()) : VP) : "unknown" }; + g.k.getUserPlaybackQualityPreference = function () { var a = g.qR(this.app, 1); return a ? a.getUserPlaybackQualityPreference() : "auto" }; + g.k.getSubtitlesUserSettings = function () { var a = g.rU(this.app.Bb()); return a ? a.g9() : null }; + g.k.resetSubtitlesUserSettings = function () { g.rU(this.app.Bb()).Dda() }; + g.k.setMinimized = function (a) { this.app.setMinimized(a) }; + g.k.setOverlayVisibility = function (a) { this.publish("overlayvisibilitychange", a) }; + g.k.setInlinePreview = function (a) { this.app.setInlinePreview(a) }; + g.k.setSqueezeback = function (a) { this.app.setSqueezeback(a) }; + g.k.setGlobalCrop = function (a) { this.app.qb().setGlobalCrop(a) }; + g.k.getVisibilityState = function () { var a = this.isMinimized(); return this.app.getVisibilityState(this.ji(), this.isFullscreen() || g.NO(this.app.U()), a, this.isInline(), this.app.Dj(), this.app.NA(), this.app.UA(), this.app.Dk()) }; + g.k.isMutedByMutedAutoplay = function () { return this.app.tB }; + g.k.setInternalSize = function (a, b) { this.app.qb().setInternalSize(new g.Id(a, b)) }; + g.k.Dc = function () { var a = g.qR(this.app); return a ? a.Dc() : 0 }; + g.k.isMinimized = function () { return this.app.isMinimized() }; + g.k.Dj = function () { return this.app.Dj() }; + g.k.ji = function () { var a = g.qR(this.app); return !!a && a.ji() }; + g.k.setSafetyMode = function (a) { this.app.U().enableSafetyMode = a }; + g.k.canPlayType = function (a) { return this.app.canPlayType(a) }; + g.k.updatePlaylist = function (a) { if (a) { var b = this.getPlaylistId(), c = !1; b && b !== a.list && (c = !0); a.external_list !== void 0 && (this.app.Aj = ys(!1, a.external_list)); var d = a.video; (b = this.app.getPlaylist()) && !c ? this.isFullscreen() && ((c = d[b.index]) && c.encrypted_id !== g.UT(b).videoId || (a.index = b.index)) : K_(this.app, { list: a.list, index: a.index, playlist_length: d.length }); mOa(this.app.getPlaylist(), a); this.Hc("onPlaylistUpdate") } else this.app.updatePlaylist() }; + g.k.updateVideoData = function (a, b) { var c = g.qR(this.app, 1); c && g.$P(c.getVideoData(), a, b) }; + g.k.updateEnvironmentData = function (a) { UO(this.app.U(), a, !1) }; + g.k.Xda = function (a) { this.app.sendVideoStatsEngageEvent(a, 1) }; + g.k.productsInVideoVisibilityUpdated = function (a) { this.publish("changeProductsInVideoVisibility", a) }; + g.k.isAtLiveHead = function (a, b) { return this.app.isAtLiveHead(a, b === void 0 ? !0 : b) }; + g.k.getVideoAspectRatio = function () { return this.app.qb().getVideoAspectRatio() }; + g.k.getPreferredQuality = function () { var a = g.qR(this.app); return a ? a.getPreferredQuality() : "unknown" }; + g.k.getPlaybackQualityLabel = function (a) { if (a = g.qR(this.app, a)) { var b, c; return ((c = (b = a.getVideoData().B) == null ? void 0 : b.video) == null ? void 0 : c.qualityLabel) || "" } return "" }; + g.k.setPlaybackQualityRange = function (a, b, c, d) { (d = g.qR(this.app, d)) && g.P4a(d, g.rL(a, b || a, !0, "m"), !0, c) }; + g.k.eea = function (a, b, c) { this.setPlaybackQualityRange(a, b, c, 1) }; + g.k.onAdUxClicked = function (a, b) { this.publish("aduxclicked", a, b) }; + g.k.showAirplayPicker = function () { this.app.showAirplayPicker() }; + g.k.dispatchReduxAction = function (a) { g.pQ.dispatch(a) }; + g.k.changeMarkerVisibility = function (a, b) { + var c = this.app.getVideoData(), d = !1; a ? b.forEach(function (e) { c.jf.includes(e) || (c.jf.push(e), d = !0) }) : b.forEach(function (e) { c.visibleOnLoadKeys.includes(e) || g.Pb(c.jf, e) && (d = !0) }); + d && this.publish("updatemarkervisibility") + }; + g.k.highlightSettingsMenuItem = function (a) { this.publish("highlightSettingsMenu", a) }; + g.k.openSettingsMenuItem = function (a) { this.publish("openSettingsMenuItem", a) }; + g.k.k7 = function (a, b) { this.state.B.subscribe(a, b) }; + g.k.tda = function (a, b) { this.state.B.unsubscribe(a, b) }; + g.k.O7 = function (a, b) { this.cueVideoByPlayerVars(a, b === void 0 ? 1 : b) }; + g.k.u$ = function (a, b, c, d) { this.loadVideoByPlayerVars(a, b, c === void 0 ? 1 : c, d) }; + g.k.dda = function (a, b, c, d) { this.preloadVideoByPlayerVars(a, b === void 0 ? 1 : b, c, d) }; + g.k.getFeedbackProductData = function () { return this.app.getFeedbackProductData() }; + g.k.Hh = function () { return g.nR(this).Hh() }; + g.k.Og = function () { return g.nR(this).Og() }; + g.k.Sm = function () { return g.nR(this).Sm() }; + g.k.Re = function () { return this.Ji().Re() }; + g.k.Cm = function () { var a = g.Ca.apply(0, arguments), b; (b = this.Re()).Cm.apply(b, g.x(a)) }; + g.k.Vh = function () { this.Re().Vh() }; + g.k.DQ = function () { this.Re().DQ() }; + g.k.gi = function () { this.Re().hide() }; + g.k.HM = function (a, b, c, d, e, f, h, l) { this.Re().HM(a, b, c, d, e, f, h, l) }; + g.k.LH = function (a, b) { this.Re().LH(a, b) }; + g.k.zy = function (a, b, c, d, e) { this.Ji().zy(a, b, c, d, e) }; + g.k.GH = function (a) { this.Re().setEnabled(a) }; + g.k.Cz = function (a) { this.Ji().Cz(a) }; + g.k.NE = function (a, b) { this.Ji().NE(a, b) }; + g.k.bA = function (a, b) { this.Ji().bA(a, b) }; + g.k.Dr = function () { this.Ji().Dr() }; + g.k.zT = function (a, b) { this.Ji().zT(a, b) }; + g.k.pC = aa(4); g.k.qC = aa(6); g.k.Ms = aa(9); g.k.Ls = aa(12); g.k.kH = function (a, b) { this.Ji().kH(a, b) }; + g.k.Zw = function () { this.Ji().Zw() }; + g.k.getWebPlayerContextConfig = function () { return this.app.U().getWebPlayerContextConfig() }; + g.k.notifyShortsAdSwipeEvent = function () { this.publish("shortsadswipe") }; + g.k.Yt = function () { var a = g.qR(this.app); return a ? a.Yt() : "" }; g.z(g.yR, g.uR); g.k = g.yR.prototype; g.k.qp = function (a, b, c, d, e, f, h) { return this.app.qp(a, b, c, d, e, f, h) }; + g.k.bF = function () { return this.app.bF() }; + g.k.Tt = aa(14); g.k.Bb = function () { return this.app.Bb() }; + g.k.Df = function () { var a = this.Bb().He.get("endscreen"); return !!a && a.Df() }; + g.k.getRootNode = function () { return this.qb().element }; + g.k.U = function () { return this.app.U() }; + g.k.qA = aa(16); g.k.Im = function (a) { return this.app.Im(a) }; + g.k.Lm = function () { var a; return ((a = g.nR(this)) == null ? void 0 : a.Lm()) || null }; + g.k.getPlayerStateObject = function (a) { return this.app.getPlayerStateObject(a) }; + g.k.qb = function () { return this.app.qb() }; + g.k.getPlaylist = function () { return this.app.getPlaylist() }; + g.k.getVideoData = function (a) { + var b = g.qR(this.app, a); if (!b) return null; b = b.getVideoData(); var c; if (b.enableServerStitchedDai && a === 2 || g.jQ(b) && a !== 1) a: { + var d = this.app; b = d.getVideoData(); if (d.ue) { a = d.ue; d = d.getCurrentTime(); if (a.On) var e = void 0; else { var f = void 0; a.Sb && (f = a.C.get(a.Sb)); if (!f) { f = GUa(a, d * 1E3); var h = (e = f) == null ? void 0 : e.cpn; a.Sb ? h && a.Sb !== h && a.ea.oa("sdai", { cpcnm: h + "_" + a.Sb, cmt: d.toFixed(3) }) : a.ea.oa("sdai", { cpcna: h, cmt: d.toFixed(3) }) } e = (c = f) == null ? void 0 : c.videoData } b = e || b } else if (d.wb && + d.xb) { c = d.wb.getVideoData(a); break a } c = b + } else c = b; return c + }; + g.k.zk = function (a) { return this.app.zk(a) }; + g.k.Dk = function () { return this.app.Dk() }; + g.k.isHdr = function () { var a = g.qR(this.app); return a ? a.isHdr() : !1 }; + g.k.ZQ = function () { return this.app.ZQ() }; + g.k.jd = function () { var a = g.nR(this), b = this.getVideoData(); a = a ? a.FK : this.getPlayerSize(); var c = !!this.getPlaylist(); return !(!b || !b.jd(new g.Id(a.width, a.height), c)) }; + g.k.rC = function (a) { this.app.rC(a) }; + g.k.Lf = function (a, b, c, d, e) { this.app.Sg(a, b, c, d, e) }; + g.k.Ns = function (a, b) { this.app.Ns(a, b) }; + g.k.playVideo = function (a) { try { if (this.getPresentingPlayerType() === 3) { BR(this.app.Bb()).zG("control_play"); return } if (!a && this.getPresentingPlayerType() === 2) { var b = uU(this.app.Bb()); if (b && J8a(b)) return } } catch (c) { g.ex(c) } this.app.playVideo(a) }; + g.k.stopVideo = function (a) { g.qR(this.app, a).stopVideo() }; + g.k.Vo = function (a) { g.qR(this.app, a).Vo() }; + g.k.addEventListener = function (a, b) { this.state.C.subscribe(a, b) }; + g.k.removeEventListener = function (a, b) { this.state.C.unsubscribe(a, b) }; + g.k.bH = function (a) { this.app.bH(a) }; + g.k.setPlaybackQuality = function (a, b) { this.setPlaybackQualityRange(a, a, b) }; + g.k.Ut = function () { var a = {}, b = g.qR(this.app).Ut(); b = g.w(b); for (var c = b.next(); !c.done; c = b.next())c = c.value, a[c.quality] = c; return a }; + g.k.cF = function () { return g.qR(this.app).cF() }; + g.k.lF = aa(20); g.k.oM = function (a) { this.app.oM(a); a && h6a(this.app, a) }; + g.k.getVideoUrl = function (a, b, c, d) { var e = this.getPresentingPlayerType(), f = e === 2; if (d && f || e === 3) f = !1, e = 1; d = this.getVideoData(e); if (!d) return ""; var h; a || d.isLivePlayback || (h = Math.floor(this.getCurrentTime(e))); a = f ? void 0 : this.getPlaylistId() || void 0; b && a === "WL" && (a = void 0); return this.app.getVideoUrl(d.videoId, a, h, b, c) }; + g.k.mF = aa(22); g.k.Mo = aa(26); g.k.Uo = function (a) { var b = g.qR(this.app); b && b.Uo(a) }; + g.k.Oj = aa(30); g.k.jj = aa(34); g.k.fB = function (a, b) { this.Bb().fB(a, b) }; + g.k.rl = function () { var a = g.xU(this.Bb()); return !!a && a.rl() }; + g.k.Gp = function () { var a = g.xU(this.Bb()); return !!a && a.Gp() }; + g.k.nC = function (a, b, c) { var d = g.xU(this.Bb()); d && d.nC(a, b, c) }; + g.k.mC = aa(35); g.k.kp = function () { var a = g.qR(this.app); a && a.kp() }; + g.k.xM = function (a) { this.Hc("onVideoAreaChange"); this.Hc(a ? "onShowControls" : "onHideControls") }; + g.k.Zn = function (a, b) { var c = g.nR(this); if (c) return c.Zn(a, b); a = this.app.qb().ai(); return new g.gm(0, 0, a.width, a.height) }; + g.k.bj = function () { return this.app.bj() }; + g.k.LF = function () { var a = this.Bb().He.get("heartbeat"); return !!a && a.LF() }; + g.k.Jh = function () { var a = this.U(); if (a.Ra || a.disableSeek) return !1; var b = g.qR(this.app); if (!b) return !1; var c = b.getVideoData(); return !c.qe() || g.IQ(c) || this.getPresentingPlayerType() === 2 && !this.app.Ef() || c.oi() && this.getPresentingPlayerType(!0) === 2 || b.oo() && this.getPresentingPlayerType() !== 3 || g.Fs(g.RO(a)) && !c.zn || g.oR(this.app) ? !1 : !0 }; + g.k.HF = function () { var a; return ((a = g.qR(this.app)) == null ? void 0 : a.HF) || !1 }; + g.k.isOrchestrationLeader = function () { return this.app.isOrchestrationLeader() }; + g.k.xv = function () { var a = g.qR(this.app); a && a.xv() }; + g.k.sendVideoStatsEngageEvent = function (a, b, c) { this.app.sendVideoStatsEngageEvent(a, c, b) }; + g.k.lf = function (a, b, c) { this.app.Bz(a, b, c) }; + g.k.Wo = function (a, b) { this.app.jH(a, b) }; + g.k.rf = function (a, b) { R5a(this.app, a, b) }; + g.k.vK = function (a) { var b = g.qR(this.app); return b ? b.Bh.vK(a) : !1 }; + g.k.Zy = function (a) { return this.app.Zy(a) }; + g.k.Dg = function (a, b) { (b = g.qR(this.app, b)) && b.Dg(a) }; + g.k.oo = function () { var a = g.qR(this.app); return a ? a.oo() : !0 }; + g.k.sx = function () { var a = this.getVideoData(); return !!a && (a.sx() || !!a.hlsFormats || !!a.Wc) }; + g.k.getPlaybackRate = function () { return g.qR(this.app, 1).getPlaybackRate() }; + g.k.setPlaybackRate = function (a, b) { this.app.setPlaybackRate(a, b) }; + g.k.Ke = function () { return this.app.Ke() }; + g.k.Wh = function () { return this.app.Wh() }; + g.k.Ki = function (a) { return this.app.Ki(a) }; + g.k.createClientVe = function (a, b, c, d) { this.U().Xa && this.app.Ur.createClientVe(a, b, c, d === void 0 ? !1 : d) }; + g.k.createServerVe = function (a, b, c) { this.U().Xa && this.app.Ur.createServerVe(a, b, c === void 0 ? !1 : c) }; + g.k.setTrackingParams = function (a, b) { this.U().Xa && this.app.Ur.setTrackingParams(a, b) }; + g.k.logClick = function (a, b) { this.U().Xa && (this.app.Ur.click(a, b), this.publish("veClickLogged", a)) }; + g.k.logVisibility = function (a, b, c) { if (this.U().Xa) { var d = this.app.Ur; d.elements.has(a); b ? d.j.add(a) : d.j.delete(a); var e = g.Ww(), f = a.visualElement; d.B.has(a) ? e && f && (b ? g.Ax(e, [f]) : g.Bx(e, [f])) : b && !d.C.has(a) && (e && f && g.zx(e, f, void 0, c), d.C.add(a)) } }; + g.k.hasVe = function (a) { return this.U().Xa ? this.app.Ur.hasVe(a) : !1 }; + g.k.destroyVe = function (a) { this.U().Xa && this.app.Ur.destroyVe(a) }; + g.k.Vc = function () { return g.qR(this.app) }; + g.k.getPresentingPlayerType = function (a) { return this.app.getPresentingPlayerType(a) }; + g.k.Hy = function () { this.app.Hy() }; + g.k.Wz = function (a, b) { return this.app.Wz(a, b) }; + g.k.Mq = function (a) { this.app.Mq(a) }; + g.k.iB = function () { this.app.iB() }; + g.k.addPlayerResponseForAssociation = function (a) { this.app.addPlayerResponseForAssociation(a) }; + g.k.finishSegmentByCpn = function (a, b) { return this.app.finishSegmentByCpn(a, b) }; + g.k.gE = function (a, b, c, d, e, f, h) { return this.app.gE(a, b, c, d, e, f, h) }; + g.k.EF = function (a, b, c, d, e, f, h) { return this.app.EF(a, b, c, d, e, f, h) }; + g.k.PA = function () { return this.app.PA() }; + g.k.Vu = function (a) { this.app.Vu(a) }; + g.k.Jz = function (a, b) { b = b === void 0 ? Infinity : b; this.app.Jz(a === void 0 ? -1 : a, b) }; + g.k.bN = function (a) { var b; (b = g.rU(this.Bb())) == null || b.bN(a) }; + g.k.hI = function (a, b, c) { this.app.hI(a, b, c) }; + g.k.Kr = function () { return this.app.Kr() }; + g.k.HJ = function (a, b, c) { this.app.HJ(a, b, c === void 0 ? 0 : c) }; + g.k.Do = function () { return this.app.Do() }; + g.k.Ef = function () { return this.app.Ef() }; + g.k.Iu = function (a, b, c) { return this.app.Iu(a, b, c) }; + g.k.oa = function (a, b, c, d) { c = c === void 0 ? !1 : c; var e; (e = g.qR(this.app, d)) == null || e.oa(a, b, c) }; + g.k.KR = function (a, b) { this.publish("aduxmouseover", a, b) }; + g.k.JR = function (a, b) { this.publish("aduxmouseout", a, b) }; + g.k.jS = function (a, b) { this.publish("muteadaccepted", a, b) }; + g.k.NF = function () { return this.app.qb().NF() }; + g.k.sC = function (a) { this.app.qb().sC(a) }; + g.k.Ps = function (a) { return a ? this.app.ST() : (a = g.qR(this.app)) ? a.Ps() : !1 }; + g.k.BT = function (a) { this.app.BT(a) }; + g.k.mB = function (a) { var b, c = (b = g.qR(this.app)) == null ? void 0 : b.ya; c && c.mB(a) }; + g.k.Ys = function () { g.qR(this.app, 1).Ys() }; + g.k.vA = function () { var a = g.qR(this.app); return a ? a.vA() : 0 }; + g.k.tC = function (a) { var b = g.qR(this.app); b && b.tC(a) }; + g.k.CH = function (a) { var b = g.qR(this.app); b && b.CH(a) }; var bS; g.z(IR, gt); IR.prototype.aF = function (a, b) { a = gt.prototype.aF.call(this, a, b); return Object.assign({}, a, this.requestHeaders) }; g.z(g.hS, g.Nx); g.k = g.hS.prototype; g.k.show = function () { var a = this.Ck(); g.Nx.prototype.show.call(this); this.Fa && (this.N.T(window, "blur", this.Nb), this.N.T(document, "click", this.G5)); a || this.publish("show", !0) }; + g.k.hide = function () { var a = this.Ck(); g.Nx.prototype.hide.call(this); xMa(this); a && this.publish("show", !1) }; + g.k.pd = function (a, b) { this.B = a; this.qa.show(); b ? (this.Y || (this.Y = this.N.T(this.J, "appresize", this.UW)), this.UW()) : this.Y && (this.N.Oc(this.Y), this.Y = void 0) }; + g.k.gY = function () { this.B && this.element && (this.B.getAttribute("aria-haspopup"), this.B.setAttribute("aria-expanded", "true"), this.focus()) }; + g.k.UW = function () { var a = g.nR(this.J); this.B && a.zy(this.element, this.B) }; + g.k.Nb = function () { var a = this.Ck(); xMa(this); this.qa.hide(); a && this.publish("show", !1) }; + g.k.G5 = function (a) { var b = Us(a); b && (g.qe(this.element, b) || this.B && g.qe(this.B, b) || !g.$y(a)) || this.Nb() }; + g.k.Ck = function () { return this.Hb && this.qa.state !== 4 }; g.z(jS, g.hS); jS.prototype.pd = function () { g.hS.prototype.pd.call(this); this.dialog.focus() }; g.z(g.kS, g.Nx); g.kS.prototype.setIcon = function (a) { this.updateValue("icon", a) }; + g.kS.prototype.Tj = function (a) { this.updateValue("label", a) }; + g.kS.prototype.updateValue = function (a, b) { g.Nx.prototype.updateValue.call(this, a, b); this.publish("size-change") }; g.BS = { R6: 15, pka: 14, Pka: 13, K6: 12, U6: 11, f4: 10, o4: 9, Z3: 8, AUDIO: 7, SUBTITLES: 6, Q6: 5, SLEEP_TIMER: 4, N6: 3, Zia: 2, REMOTE: 1, Wga: 0, 15: "STABLE_VOLUME", 14: "REMOTE_SELECT", 13: "SIZE", 12: "MINIPLAYER", 11: "THREED", 10: "AUTONAV", 9: "CINEMATIC", 8: "ANNOTATIONS", 7: "AUDIO", 6: "SUBTITLES", 5: "SPEED", 4: "SLEEP_TIMER", 3: "QUALITY", 2: "LINKEDACCOUNT", 1: "REMOTE", 0: "CONTEXTMENU" }; g.z(mS, g.kS); mS.prototype.Mc = function (a) { this.B && this.J.logVisibility(this.element, this.j && a) }; + mS.prototype.D = function () { + var a, b, c = (a = this.J.getVideoData()) == null ? void 0 : (b = a.accountLinkingConfig) == null ? void 0 : b.linked; if (c && !this.j) { + var d; a = (d = this.J.getVideoData()) == null ? void 0 : d.accountLinkingConfig; this.setIcon(Wx()); var e; this.Tj(nS(a == null ? void 0 : (e = a.menuData) == null ? void 0 : e.connectedMenuLabel)); var f, h, l; this.C = new jS(this.J, nS(a == null ? void 0 : (f = a.menuData) == null ? void 0 : f.connectedDialogTitle), nS(a == null ? void 0 : (h = a.menuData) == null ? void 0 : h.connectedDialogMessage), nS(a == null ? void 0 : + (l = a.menuData) == null ? void 0 : l.confirmButtonText)); g.P(this, this.C); var m; d = (a == null ? void 0 : (m = a.menuData) == null ? void 0 : m.trackingParams) || null; (this.B = !!d) && this.J.setTrackingParams(this.element, d); this.Fb.Uc(this); this.j = !0 + } else !c && this.j && (this.Fb.qh(this), this.j = !1) + }; + mS.prototype.onClick = function () { this.B && this.J.logClick(this.element); this.Fb.Nb(); this.C && this.C.pd() }; g.z(oS, g.O); oS.prototype.L = function (a) { return this.api.L(a) }; g.z(pS, oS); pS.prototype.onVideoDataChange = function (a) { if (!a.accountLinkingConfig) { var b, c = (b = a.getPlayerResponse()) == null ? void 0 : b.accountLinkingConfig; a.accountLinkingConfig = c } var d; if (b = (d = a.accountLinkingConfig) == null ? void 0 : d.alsParam) a.zW = b }; + pS.prototype.setAccountLinkState = function (a) { this.api.getVideoData().zW = a; this.api.kp() }; + pS.prototype.updateAccountLinkingConfig = function (a) { var b = this.api.getVideoData(), c = b.accountLinkingConfig; c && (c.linked = a); this.api.publish("videodatachange", "dataupdated", b, this.api.getPresentingPlayerType()) }; g.z(rS, oS); + rS.prototype.B = function (a) { + var b = a.getId(), c = this.api.getVideoData(1), d = !this.api.isInline(); if (!c.inlineMetricEnabled && !this.api.L("enable_player_logging_lr_home_infeed_ads") || d) { + if (b === "part2viewed") { if (c.wW && g.nv(c.wW), c.YC && sS(this, c.YC), c.Xw) for (var e = { CPN: this.api.getVideoData().clientPlaybackNonce }, f = g.w(c.Xw), h = f.next(); !h.done; h = f.next())sS(this, g.Ho(h.value, e)) } else b === "conversionview" ? this.api.Ys() : b === "engagedview" && c.Ej && (e = { CPN: this.api.getVideoData().clientPlaybackNonce }, g.nv(g.Ho(c.Ej, + e))); c.xW && (e = c.xW, f = a.getId(), e = g.Ar(e, { label: f }), g.nv(e)); switch (b) { case "videoplaytime25": c.qW && sS(this, c.qW); c.dD && tS(this, c.dD); c.BW && g.nv(c.BW); break; case "videoplaytime50": c.rW && sS(this, c.rW); c.fD && tS(this, c.fD); c.EW && g.nv(c.EW); break; case "videoplaytime75": c.sW && sS(this, c.sW); c.hD && tS(this, c.hD); c.GW && g.nv(c.GW); break; case "videoplaytime100": c.pW && sS(this, c.pW), c.bD && tS(this, c.bD), c.yW && g.nv(c.yW) }(e = this.api.getVideoData().Rv) && CMa(this, e, a.getId()) && CMa(this, e, a.getId() + "gaia") + } if (c.inlineMetricEnabled && + !d) switch (b) { case "videoplaybackstart": var l, m = (l = c.yA) == null ? void 0 : l.j; m && sS(this, m); break; case "videoplayback2s": (l = (m = c.yA) == null ? void 0 : m.C) && sS(this, l); break; case "videoplayback10s": var n; (l = (n = c.yA) == null ? void 0 : n.B) && sS(this, l) }this.api.Wo([a], 1) + }; g.z(EMa, oS); g.z(uS, g.T); g.k = uS.prototype; + g.k.xD = function () { + var a; if (a = this.J.getPresentingPlayerType() !== 3 && g.HR(this.J) && this.J.qb().getPlayerSize().width >= 400) if (a = this.Od(), this.J.U().L("client_respect_autoplay_switch_button_renderer")) a = !!a.autoplaySwitchButtonRenderer; else { var b, c, d, e; a = !!((b = a.getWatchNextResponse()) == null ? 0 : (c = b.contents) == null ? 0 : (d = c.twoColumnWatchNextResults) == null ? 0 : (e = d.autoplay) == null ? 0 : e.autoplay) !== !1 } if (a) this.j || (this.j = !0, g.Mx(this, this.j), this.J.U().L("web_player_autonav_toggle_always_listen") || FMa(this), + b = this.Od(), this.OV(b.autonavState), this.J.logVisibility(this.element, this.j)); else if (this.j = !1, g.Mx(this, this.j), !this.J.U().L("web_player_autonav_toggle_always_listen")) for (this.J.U().L("web_player_autonav_toggle_always_listen"), b = g.w(this.B), c = b.next(); !c.done; c = b.next())this.Oc(c.value) + }; + g.k.OV = function (a) { HMa(this) ? this.isChecked = a !== 1 : ((a = a !== 1) || (g.it(), a = g.Pr("web_autonav_allow_off_by_default") && !g.kt(0, 141) && g.pr("AUTONAV_OFF_BY_DEFAULT") ? !1 : !g.kt(0, 140)), this.isChecked = a); GMa(this) }; + g.k.onClick = function () { this.isChecked = !this.isChecked; this.J.oM(this.isChecked ? 2 : 1); GMa(this); if (HMa(this)) { var a = this.Od().autoplaySwitchButtonRenderer; this.isChecked && (a == null ? 0 : a.onEnabledCommand) ? this.J.ib("innertubeCommand", a.onEnabledCommand) : !this.isChecked && (a == null ? 0 : a.onDisabledCommand) && this.J.ib("innertubeCommand", a.onDisabledCommand) } this.J.logClick(this.element) }; + g.k.getValue = function () { return this.isChecked }; + g.k.Od = function () { return this.J.getVideoData(1) }; g.z(IMa, oS); g.z(vS, g.kS); vS.prototype.onClick = function () { this.enabled && (wS(this, !this.checked), this.publish("select", this.checked)) }; + vS.prototype.getValue = function () { return this.checked }; + vS.prototype.setEnabled = function (a) { (this.enabled = a) ? this.element.removeAttribute("aria-disabled") : this.element.setAttribute("aria-disabled", "true") }; var KMa = ["en-CA", "en", "es-MX", "fr-CA"]; g.z(DS, vS); DS.prototype.Ta = function (a) { a ? this.j || (this.Fb.Uc(this), this.j = !0) : this.j && (this.Fb.qh(this), this.j = !1); this.j && wS(this, NBa()) }; + DS.prototype.D = function () { g.pp(this.element, "ytp-menuitem-highlight-transition-enabled") }; + DS.prototype.C = function (a) { var b = NBa(); a !== b && (b = g.it(), mt(190, a), mt(192, !0), b.save(), this.J.ib("cinematicSettingsToggleChange", a)) }; + DS.prototype.xa = function () { this.j && this.Fb.qh(this); vS.prototype.xa.call(this) }; g.z(ES, oS); ES.prototype.updateCinematicSettings = function (a) { this.j = a; var b; (b = this.menuItem) == null || b.Ta(a); this.api.publish("onCinematicSettingsVisibilityChange", a) }; g.z(FS, vS); FS.prototype.B = function (a) { this.C(a ? 1 : 0) }; + FS.prototype.onVideoDataChange = function () { var a = this.hasDrcAudioTrack(), b = this.j() === 1 && a; wS(this, b); this.setEnabled(a) }; + FS.prototype.xa = function () { this.Fb.qh(this); vS.prototype.xa.call(this) }; g.z(GS, oS); GS.prototype.getDrcUserPreference = function () { return this.j }; + GS.prototype.setDrcUserPreference = function (a) { g.bt("yt-player-drc-pref", a, 31536E3); a !== this.j && (this.j = a, this.updateEnvironmentData(), (a = this.api.Vc()) && this.B() && FZ(a)) }; + GS.prototype.updateEnvironmentData = function () { this.api.U().Tf = this.j === 1 }; + GS.prototype.B = function () { var a, b, c = (a = this.api.getVideoData()) == null ? void 0 : (b = a.C) == null ? void 0 : b.j; return c ? Em(c, function (d) { var e; return ((e = d.audio) == null ? void 0 : e.j) === !0 }) : !1 }; g.z(HS, oS); HS.prototype.onVideoDataChange = function () { var a = this, b = this.api.getVideoData(); this.api.rf("embargo", 1); var c = b == null ? void 0 : b.CD.get("PLAYER_CUE_RANGE_SET_IDENTIFIER_EMBARGO"); (c == null ? 0 : c.length) ? OMa(this, c.filter(function (d) { return NMa(a, d) })) : (b == null ? 0 : b.cueRanges) && OMa(this, b.cueRanges.filter(function (d) { return NMa(a, d) })) }; + HS.prototype.B = function (a) { return a.embargo !== void 0 }; + HS.prototype.xa = function () { oS.prototype.xa.call(this); this.j = {} }; g.z(IS, oS); + IS.prototype.addEmbedsConversionTrackingParams = function (a) { + var b = this.api.U(), c = b.widgetReferrer, d = b.Rc, e = this.j, f = "", h = b.getWebPlayerContextConfig(); h && (f = h.embedsIframeOriginParam || ""); c.length > 0 && (a.embeds_widget_referrer = c); d.length > 0 && (a.embeds_referring_euri = d); b.D && f.length > 0 && (a.embeds_referring_origin = f); e.length > 0 && (b.L("embeds_web_enable_lite_experiment_control_arm_logging") ? e.unshift(28572) : g.Fs(g.RO(b)) && e.unshift(159628), b = e.join(","), b = g.ks() ? b : g.Ue(b, 4), a.source_ve_path = b); this.j.length = + 0 + }; g.z(PMa, oS); g.z(JS, g.O); JS.prototype.xa = function () { g.O.prototype.xa.call(this); this.j = null; this.B && this.B.disconnect() }; g.z(RMa, oS); g.z(KS, g.T); KS.prototype.show = function () { g.T.prototype.show.call(this); this.api.logVisibility(this.element, !0) }; + KS.prototype.onVideoDataChange = function (a) { var b, c, d = (b = this.api.getVideoData()) == null ? void 0 : (c = b.getPlayerResponse()) == null ? void 0 : c.playabilityStatus; d && (b = SMa(d), g.U(this.api.getPlayerStateObject(), 128) || a === "dataloaderror" || !b ? (this.B = 0, LS(this), this.hide()) : (a = (b.remainingTimeSecs || 0) * 1E3, a > 0 && (this.show(), this.updateValue("label", ABa(b.label)), UMa(this, a)))) }; + KS.prototype.xa = function () { LS(this); g.T.prototype.xa.call(this) }; g.z(VMa, oS); g.z(MS, g.T); MS.prototype.onClick = function () { this.Ua.logClick(this.element); this.Ua.ib("onFullerscreenEduClicked") }; + MS.prototype.Ta = function () { this.Ua.isFullscreen() ? this.B ? this.j.hide() : this.j.show() : this.hide(); this.Ua.logVisibility(this.element, this.Ua.isFullscreen() && !this.B) }; g.z(NS, oS); NS.prototype.updateFullerscreenEduButtonSubtleModeState = function (a) { var b; (b = this.j) != null && (g.rp(b.element, "ytp-fullerscreen-edu-button-subtle", a), a && !b.C && (b.element.setAttribute("title", "Scroll for details"), wR(b.Ua, b.element, b), b.C = !0)) }; + NS.prototype.updateFullerscreenEduButtonVisibility = function (a) { var b; (b = this.j) != null && (b.B = a, b.Ta()) }; g.z(WMa, g.T); g.z(ZMa, oS); g.z($Ma, oS); g.z(aNa, oS); g.z(OS, oS); OS.prototype.getSphericalProperties = function () { var a = g.ER(this.api.Bb()); return a ? a.getSphericalProperties() : {} }; + OS.prototype.setSphericalProperties = function (a) { if (a) { var b = g.ER(this.api.Bb()); b && b.setSphericalProperties(a, !0) } }; g.z(PS, oS); g.k = PS.prototype; g.k.createClientVe = function (a, b, c, d) { this.api.createClientVe(a, b, c, d === void 0 ? !1 : d) }; + g.k.createServerVe = function (a, b, c) { this.api.createServerVe(a, b, c === void 0 ? !1 : c) }; + g.k.setTrackingParams = function (a, b) { this.api.setTrackingParams(a, b) }; + g.k.logClick = function (a, b) { this.api.logClick(a, b) }; + g.k.logVisibility = function (a, b, c) { this.api.logVisibility(a, b, c) }; + g.k.hasVe = function (a) { return this.api.hasVe(a) }; + g.k.destroyVe = function (a) { this.api.destroyVe(a) }; g.z(QS, oS); QS.prototype.seekToChapterWithAnimation = function (a) { var b = this; if (g.nR(this.api) && !(a < 0)) { var c = this.api.getVideoData(), d = c.Xk; if (d && a < d.length) { d = g.w(d); for (var e = d.next(); !e.done; e = d.next())if (e = e.value, e.index === a) { RS(this, e.startTime, e.title); return } } this.L("web_key_moments_markers") && (c = c.HW) && a < c.length && c.forEach(function (f, h) { h === a && RS(b, f.timeRangeStartMillis, f.title) }) } }; + QS.prototype.seekToTimeWithAnimation = function (a, b) { g.nR(this.api) && RS(this, a, b) }; + QS.prototype.setMacroMarkers = function (a, b) { b = { playerOverlays: { playerOverlayRenderer: { decoratedPlayerBarRenderer: { decoratedPlayerBarRenderer: { playerBar: { multiMarkersPlayerBarRenderer: b } } } } } }; a = a.getVideoData(); a.getWatchNextResponse(); a && a.getWatchNextResponse() == null && (ZP(a, { raw_watch_next_response: b }), a.publish("dataupdated")) }; g.z(SS, oS); SS.prototype.updateMetadata = function () { + var a = this, b = this.api.getVideoData(); if (b != null && b.qe()) { + var c = this.api.U(), d = [], e = ""; if (!c.ra) { var f = dNa(this); g.hz(c) && f ? (d = eNa(f.thumbnailDetails), f.album && (e = ABa(f.album))) : d = [{ src: b.gh("mqdefault.jpg") || "", sizes: "320x180", type: "image/jpeg" }] } bNa(this); cNa(this); navigator.mediaSession.metadata = new MediaMetadata({ title: b.title, artist: b.author, artwork: d, album: e }); c = b = null; g.CR(this.api) && (b = function () { a.api.nextVideo() }, c = function () { a.api.previousVideo() }); + TS("nexttrack", b); TS("previoustrack", c) + } + }; + SS.prototype.xa = function () { navigator.mediaSession.playbackState = "none"; navigator.mediaSession.metadata = null; for (var a = g.w("nexttrack previoustrack play pause seekbackward seekforward".split(" ")), b = a.next(); !b.done; b = a.next())TS(b.value, null); oS.prototype.xa.call(this) }; g.z(US, oS); US.prototype.D = function (a) { return a.compositeEmbargo !== void 0 }; + US.prototype.xa = function () { oS.prototype.xa.call(this); this.B.clear() }; g.z(VS, oS); g.k = VS.prototype; g.k.queueOfflineAction = function (a, b, c, d) { var e = this, f, h; return g.J(function (l) { return l.j == 1 ? (f = wU(e.api.Bb())) ? g.G(l, f.A1([a], b, c, d), 3) : l.Ha(2) : l.j != 2 && (h = l.B, h.length) ? l.return(h[0]) : l.return(Promise.reject()) }) }; + g.k.updateDownloadState = function (a, b) { var c = wU(this.api.Bb()); return c ? c.updateDownloadState(a, b) : Promise.reject() }; + g.k.pauseVideoDownload = function (a) { var b = wU(this.api.Bb()); b && b.ES(a) }; + g.k.resumeVideoDownload = function (a) { var b = this, c; return g.J(function (d) { return (c = wU(b.api.Bb())) ? d.return(c.sH(a)) : d.return(Promise.reject()) }) }; + g.k.isOrchestrationLeader = function () { return this.api.isOrchestrationLeader() }; + g.k.refreshAllStaleEntities = function (a) { a === void 0 && (a = 14400); var b = wU(this.api.Bb()); return b ? b.refreshAllStaleEntities(a) : Promise.reject() }; + g.k.setUpPositionSyncInterval = function (a) { var b = wU(this.api.Bb()); b && b.setUpPositionSyncInterval(a) }; g.z(WS, oS); WS.prototype.getAvailableQualityDataAndMessaging = function () { return { qualityData: this.getAvailableQualityData(), qualityMessagingFormattedString: void 0 } }; + WS.prototype.getAvailableQualityData = function () { + var a = this.api.getVideoData(); if (!a) return []; var b = [], c, d, e = (c = a.getPlayerResponse()) == null ? void 0 : (d = c.playabilityStatus) == null ? void 0 : d.paygatedQualitiesMetadata; d = (e == null ? void 0 : e.qualityDetails) || []; c = new Map; c = g.Qa(d) && !Array.isArray(d) ? new Map(Object.entries(d)) : new Map(d.map(function (h) { return [h.key, h.value] })); + if (d = e == null ? void 0 : e.restrictedAdaptiveFormats) { e = []; d = g.w(d); for (var f = d.next(); !f.done; f = d.next())f = f.value, f = iF(f.mimeType, f.quality, f.itag.toString(), f.width.toString(), f.height.toString(), f.qualityLabel), e.push(f); a = uQ(a); DL(e); d = []; e = g.w(e); for (f = e.next(); !f.done; f = e.next())f = f.value, AL(a, f, this.api.U().G) === !0 && d.push(f); b = b.concat(jNa(d, !1, c)) } a = this.api.cF(); b = b.concat(jNa(a, !0, c)); c = []; if (this.api.L("web_player_enable_premium_hbr_in_h5_api")) return b = lNa(b), kNa(b), b; a = {}; b = g.w(b); for (e = + b.next(); !e.done; e = b.next())e = e.value, d = e.quality, a[d] || (e.formatId = void 0, c.push(e), a[d] = !0); return c + }; var h2 = {}, Zbb = (h2["internal-error"] = -1, h2["non-recoverable-error"] = -2, h2["api-disabled-by-application"] = -3, h2["invalid-argument"] = -4, h2["token-provider-invalid"] = -5, h2); g.z(XS, oS); + XS.prototype.gI = function (a) { + var b = this; window.android && window.android.webview && window.android.webview.getExperimentalMediaIntegrityTokenProvider && (!this.j && this.C ? (this.api.L("html5_enable_d6de4_cold_start_and_error") && this.api.CH({ coldStartInfo: { clientState: this.B } }), this.C.then(function () { nNa(b, a) })) : this.j ? nNa(this, a) : this.api.oa("pf", { + m: this.j ? 1 : 0, + p: this.C ? 1 : 0 + })) + }; + XS.prototype.handleError = function (a) { g.fx(a); if (this.api.L("html5_enable_d6de4_cold_start_and_error")) { var b = 0; a.mediaIntegrityErrorName ? b || (b = Zbb[a.mediaIntegrityErrorName]) : a.code && (b = a.code()); this.api.CH({ Qca: { code: b } }) } }; g.z(YS, g.T); YS.prototype.Ta = function (a) { a = a ? "Exit picture-in-picture" : "Picture-in-picture"; this.update({ "data-title-no-tooltip": a, title: a }); this.api.Vh() }; + YS.prototype.onClick = function () { this.api.togglePictureInPicture() }; g.z(ZS, oS); ZS.prototype.createButton = function () { + var a = this; this.button = new YS(this.api); g.P(this, this.button); this.api.Cz(this.button); this.events.T(this.api, "videodatachange", function () { oNa(a) }); + oNa(this) + }; + ZS.prototype.setDocumentPictureInPicture = function (a) { this.api.bj().My(a); a = this.api.Dj(); var b = aPa(this.api.Bb()); b && (a ? b.load() : b.unload()); this.api.publish("documentpictureinpicturechange") }; g.z(pNa, oS); g.z(bT, g.T); g.k = bT.prototype; g.k.tG = function () { }; + g.k.Ru = function () { }; + g.k.Qy = function () { return !0 }; + g.k.uea = function () { if (this.expanded) { this.Xa.show(); var a = this.C.element.scrollWidth } else a = this.C.element.scrollWidth, this.Xa.hide(); this.wc = 34 + a; g.rp(this.badge.element, "ytp-suggested-action-badge-expanded", this.expanded); this.badge.element.style.width = (this.expanded ? 34 : this.wc) + "px"; this.Ya.start() }; + g.k.l8 = function () { this.badge.element.style.width = (this.expanded ? this.wc : 34) + "px"; this.fb.start() }; + g.k.aL = function () { this.D && this.J.logVisibility(this.badge.element, this.Qy()); this.G && this.J.logVisibility(this.dismissButton.element, this.Qy() && this.DM()) }; + g.k.wL = function (a) { this.Ba = a; aT(this); $S(this); this.Vl() }; + g.k.efa = function () { g.rp(this.badge.element, "ytp-suggested-action-badge-with-offline-slate", !0) }; + g.k.DM = function () { return this.ra || this.Ba || !this.Y }; + g.k.Vl = function () { this.Qy() ? this.qa.show() : this.qa.hide(); this.aL() }; + g.k.PV = function () { this.enabled = !1; this.Vl() }; + g.k.Rx = function (a) { a ? this.G && this.J.logClick(this.dismissButton.element) : this.D && this.J.logClick(this.badge.element) }; + g.k.dfa = function () { this.Vl() }; + g.k.vaa = function (a) { this.Ab = a === 1; this.Vl(); g.rp(this.badge.element, "ytp-suggested-action-badge-with-offline-slate", !1) }; + g.k.Oaa = function () { g.rp(this.badge.element, "ytp-suggested-action-badge-fullscreen", this.J.isFullscreen()); this.Vl() }; g.z(cT, g.Nx); cT.prototype.f0 = function () { this.publish("size-change") }; + cT.prototype.focus = function () { this.content.focus() }; + cT.prototype.Y_ = function () { this.publish("back") }; g.z(g.dT, cT); g.k = g.dT.prototype; g.k.Uc = function (a, b) { if (b === void 0 ? 0 : b) this.items.push(a), this.menuItems.element.appendChild(a.element); else { b = g.Yb(this.items, a, rNa); if (b >= 0) return; b = ~b; g.Wb(this.items, b, 0, a); oe(this.menuItems.element, a.element, b) } a.subscribe("size-change", this.iS, this); this.menuItems.publish("size-change") }; + g.k.qh = function (a) { a.unsubscribe("size-change", this.iS, this); this.La() || (g.Pb(this.items, a), this.menuItems.element.removeChild(a.element), this.menuItems.publish("size-change")) }; + g.k.iS = function () { this.menuItems.publish("size-change") }; + g.k.focus = function () { for (var a = 0, b = 0; b < this.items.length; b++) { var c = this.items[b].element; if (c.getAttribute("role") === "menuitemradio") { if (c.getAttribute("aria-checked") === "true") { a = b; break } } else break } this.items[a].focus() }; + g.k.Up = function () { return this.items.length }; g.z(g.fT, g.hS); g.k = g.fT.prototype; g.k.show = function () { g.hS.prototype.show.call(this); this.HC() }; + g.k.hide = function () { g.hS.prototype.hide.call(this); this.j.length > 1 && g.iT(this) }; + g.k.HC = function () { tNa(this); this.Hb && (sNa(this), g.um(this.element, this.size)) }; + g.k.hj = function () { var a = this.j.pop(); gT(this, a, this.j[this.j.length - 1], !0) }; + g.k.H5 = function (a) { if (!a.defaultPrevented) switch (a.keyCode) { case 27: this.Nb(); a.preventDefault(); break; case 37: this.j.length > 1 && this.hj(); a.preventDefault(); break; case 39: a.preventDefault() } }; + g.k.focus = function () { this.j.length && this.j[this.j.length - 1].focus() }; + g.k.xa = function () { g.hS.prototype.xa.call(this); this.G && this.G.dispose(); this.K && this.K.dispose() }; g.z(jT, g.fT); jT.prototype.open = function (a, b) { this.initialize(a.items) && this.pd(b, !!b) }; + jT.prototype.initialize = function (a) { g.eT(this.Oe); if (a === void 0 || a.length === 0) return !1; var b = a.length; a = g.w(a); for (var c = a.next(); !c.done; c = a.next())this.Uc(c.value, b--); return !0 }; + jT.prototype.Uc = function (a, b) { a.menuNavigationItemRenderer ? wNa(this, a.menuNavigationItemRenderer, b) : a.menuServiceItemRenderer && xNa(this, a.menuServiceItemRenderer, b) }; g.z(kT, bT); g.k = kT.prototype; g.k.tG = function (a) { a.target !== this.dismissButton.element && a.target !== this.overflowButton.element && (this.Rx(), this.onClickCommand && this.J.ib("innertubeCommand", this.onClickCommand)) }; + g.k.Ru = function () { this.enabled = !1; this.qa.hide() }; + g.k.Qy = function () { return !!this.j && this.enabled }; + g.k.onVideoDataChange = function (a, b) { + this.Z1(b); if (this.j) { + this.d2(); a: if (!this.isCounterfactual) { + var c, d, e; this.banner.update({ title: (c = this.j) == null ? void 0 : c.title, subtitle: (d = this.j) == null ? void 0 : d.subtitle, metadata: (e = this.j) == null ? void 0 : e.metadataText }); var f; this.onClickCommand = g.R((f = this.j) == null ? void 0 : f.onTap, ix); var h; if (a = g.R((h = this.j) == null ? void 0 : h.onOverflow, ix)) this.N = g.R(a, pab); var l; if ((l = this.j) == null ? 0 : l.thumbnailImage) { + var m, n; h = ((m = this.j) == null ? void 0 : (n = m.thumbnailImage) == + null ? void 0 : n.sources) || []; if (h.length === 0) break a; this.thumbnailImage.update({ url: h[0].url }) + } else { var p; if ((p = this.j) == null ? 0 : p.thumbnailIconName) { var q; this.thumbnailIcon.update({ icon: (q = this.j) == null ? void 0 : q.thumbnailIconName }) } } var r; this.shouldShowOverflowButton = !((r = this.j) == null || !r.shouldShowOverflowButton); var t; this.shouldHideDismissButton = !((t = this.j) == null || !t.shouldHideDismissButton) + } var u; this.banner.element.setAttribute("aria-label", ((u = this.j) == null ? void 0 : u.a11yLabel) || ""); var y; + this.Va = (y = this.j) == null ? void 0 : y.dismissButtonA11yLabel; this.dismissButton.hide(); this.overflowButton.hide(); this.isInitialized = !0; lT(this) + } + }; + g.k.Maa = function () { this.isVisible = !0; lT(this) }; + g.k.Naa = function () { this.isVisible = !1; lT(this) }; + g.k.aL = function () { bT.prototype.aL.call(this); this.B && this.J.logVisibility(this.banner.element, this.isVisible) }; + g.k.Rx = function () { bT.prototype.Rx.call(this, !1); this.B && this.J.logClick(this.banner.element) }; + g.k.I5 = function (a) { this.K || (this.K = new jT(this.J), g.P(this, this.K)); var b, c; if ((b = this.N) == null ? 0 : (c = b.menu) == null ? 0 : c.menuRenderer) this.K.open(this.N.menu.menuRenderer, a.target), a.preventDefault() }; + g.k.Z1 = function () { }; + g.k.d2 = function () { }; + g.k.xa = function () { this.J.rf("suggested_action_view_model"); bT.prototype.xa.call(this) }; g.z(mT, kT); + mT.prototype.Z1 = function (a) { + var b, c, d; this.productUpsellSuggestedActionViewModel = g.R((b = a.getWatchNextResponse()) == null ? void 0 : (c = b.playerOverlays) == null ? void 0 : (d = c.playerOverlayRenderer) == null ? void 0 : d.suggestedActionViewModel, Bab); var e; if ((e = this.productUpsellSuggestedActionViewModel) == null ? 0 : e.content) { var f; this.j = g.R((f = this.productUpsellSuggestedActionViewModel) == null ? void 0 : f.content, mab) } var h, l; if (this.B = !!((h = this.productUpsellSuggestedActionViewModel) == null ? 0 : (l = h.loggingDirectives) == null ? + 0 : l.trackingParams)) { var m, n; this.J.setTrackingParams(this.banner.element, ((m = this.productUpsellSuggestedActionViewModel) == null ? void 0 : (n = m.loggingDirectives) == null ? void 0 : n.trackingParams) || null) } var p; this.isCounterfactual = !((p = this.productUpsellSuggestedActionViewModel) == null || !p.isCounterfactualServing) + }; + mT.prototype.d2 = function () { var a = [], b, c = g.w(((b = this.productUpsellSuggestedActionViewModel) == null ? void 0 : b.ranges) || []); for (b = c.next(); !b.done; b = c.next()) { var d = b.value; d && (b = Number(d.startTimeMilliseconds), d = Number(d.endTimeMilliseconds), isNaN(b) || isNaN(d) || a.push(new g.qD(b, d, { id: "product_upsell", namespace: "suggested_action_view_model" }))) } this.J.lf(a) }; g.z(zNa, oS); g.z(nT, oS); nT.prototype.onVideoDataChange = function (a) { a === "newdata" && this.j && ANa(this) }; g.z(g.oT, g.kS); g.k = g.oT.prototype; g.k.open = function () { g.hT(this.Fb, this.B) }; + g.k.Ti = function (a) { BNa(this); var b = this.options[a]; b && (b.element.setAttribute("aria-checked", "true"), this.Dd(this.ll(a)), this.C = a) }; + g.k.Gz = function (a, b, c, d) { + var e = this; c = { I: "div", Na: ["ytp-menuitem", d ? "ytp-menuitem-with-footer" : ""], X: { tabindex: "0", role: "menuitemradio", "aria-checked": c ? "true" : "false" }, V: [{ I: "div", Na: ["ytp-menuitem-label"], va: "{{label}}" }] }; d && (d = { I: "div", S: "ytp-menuitem-footer", V: [d] }, c.V ? c.V.push(d) : c.V = [d]); b = new g.kS(c, b, this.ll(a, !0)); b.listen("click", function () { e.JN(a) }); + return b + }; + g.k.enable = function (a) { this.K ? a || (this.K = !1, this.vz(!1)) : a && (this.K = !0, this.vz(!0)) }; + g.k.vz = function (a) { a ? this.Fb.Uc(this) : this.Fb.qh(this) }; + g.k.Hg = function (a) { this.publish("select", a) }; + g.k.JN = function (a) { this.Hg(a) }; + g.k.ll = function (a) { return a.toString() }; + g.k.J5 = function (a) { a.defaultPrevented || a.keyCode !== 39 || (this.open(), a.preventDefault()) }; + g.k.xa = function () { this.K && this.Fb.qh(this); g.kS.prototype.xa.call(this); for (var a = g.w(Object.keys(this.options)), b = a.next(); !b.done; b = a.next())this.options[b.value].dispose() }; g.z(qT, g.oT); g.k = qT.prototype; g.k.Ta = function () { var a = this.mA("Off"); this.J.getPresentingPlayerType() !== 2 ? (CNa(this), this.Ti(this.G), this.j && (this.G === a ? this.j = "" : this.setSleepTimerTimeLeft(this.j)), this.N && this.setVideoTimeLeft(this.N), this.enable(!0)) : (g.pT(this, []), this.enable(!1)) }; + g.k.Hg = function (a) { DNa(this, a); this.Fb.hj() }; + g.k.mA = function (a) { switch (a) { case "Off": return "Off"; case "End of video": return "End of video"; case "End of playlist": return "End of playlist"; default: return (a.toString() + " Minutes").toLowerCase() } }; + g.k.onVideoDataChange = function (a) { a === "dataloaded" && CNa(this) }; + g.k.kca = function (a) { this.J.logVisibility(this.element, a) }; + g.k.onClick = function () { this.J.logClick(this.element) }; + g.k.resetSleepTimerMenuSettings = function () { DNa(this, this.mA("Off")) }; + g.k.setSleepTimerTimeLeft = function (a) { this.j = a; this.Dd(a) }; + g.k.setVideoTimeLeft = function (a) { this.N = a; this.D.Dd(a) }; g.z(rT, oS); rT.prototype.resetSleepTimerMenuSettings = function () { this.menuItem && this.menuItem.resetSleepTimerMenuSettings() }; + rT.prototype.setSleepTimerTimeLeft = function (a) { this.menuItem && this.menuItem.setSleepTimerTimeLeft(a) }; + rT.prototype.setVideoTimeLeft = function (a) { this.menuItem && this.menuItem.setVideoTimeLeft(a) }; g.z(g.tT, g.Fx); g.k = g.tT.prototype; g.k.T = function (a, b) { this.D.T(this.Z, a, b, void 0, !this.j) }; + g.k.cancel = function () { this.C && (this.C = !1, this.publish("dragend", 0, 0, null)); this.B && (this.B = !1, this.publish("hoverend", 0, 0, null), uT(this), sT(this)) }; + g.k.Ux = function (a) { uT(this); this.T(vT("move"), this.QV); this.T(vT("out"), this.sB); this.T("touchstart", this.LN); this.j && this.T(vT("down"), this.KN); var b = a.target; a = new g.Gd(a.pageX, a.pageY); this.B = !0; this.publish("hoverstart", a.x, a.y, b); this.publish("hovermove", a.x, a.y, b) }; + g.k.QV = function (a) { var b = a.target; a = new g.Gd(a.pageX, a.pageY); if (this.G) { var c = this.G; this.G = null; if (c.relatedTarget === b && Hd(new g.Gd(c.pageX, c.pageY), a)) return } this.publish("hovermove", a.x, a.y, b) }; + g.k.sB = function (a) { var b = new g.Gd(a.pageX, a.pageY), c = a.relatedTarget; try { if (c && g.qe(this.target, c)) { this.G = a; this.publish("hovermove", b.x, b.y, c); return } } catch (d) { } uT(this); sT(this); this.B = !1; this.publish("hoverend", b.x, b.y, c) }; + g.k.T$ = function (a) { this.Ux(a); this.KN(a) }; + g.k.KN = function (a) { if (typeof a.button !== "number" || a.button === 0) { uT(this); this.D.T(wT(a.target), vT("move"), this.S$); this.D.T(wT(a.target), vT("up"), this.K5); var b = a.target; if (g.lc) this.T("dragstart", this.Y7); else if (a.preventDefault(), (g.eP || km) && b) a: { for (var c = b; c;) { if (aca(c) || c.getAttribute("tabindex") === "-1") { c.focus(); break a } c = c.parentElement } wT(b).activeElement.blur() } this.C = !0; a = new g.Gd(a.pageX, a.pageY); this.publish("dragstart", a.x, a.y, b); this.publish("dragmove", a.x, a.y, b) } }; + g.k.Y7 = function (a) { a.preventDefault() }; + g.k.S$ = function (a) { var b = a.target; b === wT(a.target) && (b = null); a = new g.Gd(a.pageX, a.pageY); this.publish("hovermove", a.x, a.y, b); this.publish("dragmove", a.x, a.y, b) }; + g.k.K5 = function (a) { uT(this); this.C = !1; var b = Us(a), c = a.target; a = new g.Gd(a.pageX, a.pageY); b && g.qe(this.target, b) ? (this.T(vT("move"), this.QV), this.T(vT("out"), this.sB), this.T(vT("down"), this.KN), this.T("touchstart", this.LN), this.publish("dragend", a.x, a.y, c)) : (sT(this), this.B = !1, this.publish("dragend", a.x, a.y, c), this.publish("hoverend", a.x, a.y, c)) }; + g.k.LN = function (a) { var b = a.changedTouches[0]; b && (uT(this), this.Y || (this.T("touchmove", this.Oea), this.T("touchend", this.RV), this.T("touchcancel", this.RV), this.K = b.identifier, a = a.target, this.B || (this.B = !0, this.publish("hoverstart", b.pageX, b.pageY, a)), this.publish("hovermove", b.pageX, b.pageY, a), this.j && (this.C = !0, this.publish("dragstart", b.pageX, b.pageY, a), this.publish("dragmove", b.pageX, b.pageY, a)))) }; + g.k.Oea = function (a) { var b = ENa(this, a); b && (this.j && a.preventDefault(), a = a.target, this.publish("hovermove", b.pageX, b.pageY, a), this.j && this.publish("dragmove", b.pageX, b.pageY, a)) }; + g.k.RV = function (a) { var b = ENa(this, a); if (b) { uT(this); sT(this); this.B = !1; var c = a.target; this.j && (this.N || a.preventDefault(), this.C = !1, this.publish("dragend", b.pageX, b.pageY, c)); this.publish("hoverend", b.pageX, b.pageY, c) } }; + g.k.xa = function () { this.j && (g.lc && this.target.removeAttribute("draggable"), this.target.style.touchAction = ""); uT(this); g.Fx.prototype.xa.call(this) }; + var FNa = !1; g.z(xT, g.T); xT.prototype.gi = function () { g.jm(this.element, "display", "none"); this.J.logVisibility(this.j, !1) }; g.z(zT, oS); zT.prototype.ra = function (a, b) { this.Z = [a, b]; this.j.subscribe("dragmove", this.K, this); this.j.subscribe("dragend", this.G, this); this.C || g.gp(this.delay) }; + zT.prototype.Ga = function () { if (this.D) { this.C = !0; this.Fa = this.api.getPlaybackRate(); this.Ma = this.api.getPlayerStateObject().isPaused(); var a = this.speedmasterUserEdu; g.jm(a.element, "display", ""); a.J.logVisibility(a.j, !0); this.api.setPlaybackRate(this.Ka); this.api.hideControls(); this.api.playVideo(); this.N && (this.N.HA = !0); this.qa && (this.qa.EK = !0) } }; + zT.prototype.K = function (a, b) { if (!this.C) { a = [a, b]; var c = this.Z; c && a && c.length === 2 && a.length === 2 ? (b = Math.abs(c[0] - a[0]), c = Math.abs(c[1] - a[1]), b = Math.sqrt(b * b + c * c)) : b = -1; b < this.Ba ? this.Z = a : AT(this) } }; + zT.prototype.G = function () { AT(this) }; g.z(CT, oS); CT.prototype.onVideoDataChange = function (a) { a === "newdata" && this.api.Bb().createSubtitlesModuleIfNeeded() }; g.z(DT, g.lb); DT.prototype.preventDefault = function () { g.lb.prototype.preventDefault.call(this); this.j && this.j.preventDefault() }; + DT.prototype.stopPropagation = function () { g.lb.prototype.stopPropagation.call(this); this.j && this.j.stopPropagation() }; g.z(g.ET, GF); g.k = g.ET.prototype; g.k.cw = function () { return !0 }; + g.k.isView = function () { return !1 }; + g.k.hT = function () { return !1 }; + g.k.Ib = function () { return this.j }; + g.k.Zh = function () { return this.j.src }; + g.k.zM = function (a) { var b = this.getPlaybackRate(); this.j.src = a; this.setPlaybackRate(b) }; + g.k.lM = function () { this.j.removeAttribute("src") }; + g.k.getPlaybackRate = function () { try { return this.j.playbackRate >= 0 ? this.j.playbackRate : 1 } catch (a) { return 1 } }; + g.k.setPlaybackRate = function (a) { this.getPlaybackRate() !== a && (this.j.playbackRate = a); return a }; + g.k.Wt = function () { return this.j.loop }; + g.k.setLoop = function (a) { this.j.loop = a }; + g.k.canPlayType = function (a, b) { return this.j.canPlayType(a, b) }; + g.k.isPaused = function () { return this.j.paused }; + g.k.isSeeking = function () { return this.j.seeking }; + g.k.isEnded = function () { return this.j.ended }; + g.k.aK = function () { return this.j.muted }; + g.k.oC = function (a) { NE(); this.j.muted = a }; + g.k.mx = function () { return this.j.played || kF([], []) }; + g.k.Eh = function () { try { var a = this.j.buffered } catch (b) { } return a || kF([], []) }; + g.k.uA = function () { return this.j.seekable || kF([], []) }; + g.k.II = function () { var a = this.j; return a.getStartDate ? a.getStartDate() : null }; + g.k.getCurrentTime = function () { return this.j.currentTime }; + g.k.setCurrentTime = function (a) { this.j.currentTime = a }; + g.k.getDuration = function () { return this.j.duration }; + g.k.load = function () { var a = this.j.playbackRate; try { this.j.load() } catch (b) { } this.j.playbackRate = a }; + g.k.pause = function () { this.j.pause() }; + g.k.play = function () { + var a = this.j.play(); if (!a || !a.then) return null; a.then(void 0, function () { }); + return a + }; + g.k.jl = function () { return this.j.readyState }; + g.k.bK = function () { return this.j.networkState }; + g.k.Xh = function () { return this.j.error ? this.j.error.code : null }; + g.k.Xf = function () { return this.j.error ? this.j.error.message : "" }; + g.k.getVideoPlaybackQuality = function () { if (window.HTMLVideoElement && this.j instanceof window.HTMLVideoElement && this.j.getVideoPlaybackQuality) return this.j.getVideoPlaybackQuality(); if (this.j) { var a = this.j, b = a.webkitDroppedFrameCount; if (a = a.webkitDecodedFrameCount) return { droppedVideoFrames: b || 0, totalVideoFrames: a } } return {} }; + g.k.ji = function () { return !!this.j.webkitCurrentPlaybackTargetIsWireless }; + g.k.xv = function () { return !!this.j.webkitShowPlaybackTargetPicker() }; + g.k.togglePictureInPicture = function () { var a = this.j, b = window.document; window.document.pictureInPictureEnabled ? this.j !== b.pictureInPictureElement ? a.requestPictureInPicture() : b.exitPictureInPicture() : ME() && a.webkitSetPresentationMode(a.webkitPresentationMode === "picture-in-picture" ? "inline" : "picture-in-picture") }; + g.k.Zt = function () { var a = this.j; return new g.Gd(a.offsetLeft, a.offsetTop) }; + g.k.getSize = function () { return g.Am(this.j) }; + g.k.setSize = function (a) { g.um(this.j, a) }; + g.k.getVolume = function () { return this.j.volume }; + g.k.setVolume = function (a) { NE(); this.j.volume = a }; + g.k.uP = function (a) { this.G[a] || (this.j.addEventListener(a, this.listener), this.G[a] = this.listener) }; + g.k.setAttribute = function (a, b) { this.j.setAttribute(a, b) }; + g.k.removeAttribute = function (a) { this.j.removeAttribute(a) }; + g.k.hasAttribute = function (a) { return this.j.hasAttribute(a) }; + g.k.hE = aa(37); g.k.UH = aa(39); g.k.VH = aa(41); g.k.Mz = aa(43); g.k.QE = function () { return Os(this.j) }; + g.k.Bt = function (a) { g.np(this.j, a) }; + g.k.sF = function (a) { return g.mm(this.j, a) }; + g.k.SQ = function () { return g.qe(document.body, this.j) }; + g.k.audioTracks = function () { var a = this.j; if ("audioTracks" in a) return a.audioTracks }; + g.k.xa = function () { for (var a = g.w(Object.keys(this.G)), b = a.next(); !b.done; b = a.next())b = b.value, this.j.removeEventListener(b, this.G[b]); GF.prototype.xa.call(this) }; + g.k.xT = function (a) { this.j.disableRemotePlayback = a }; FT.prototype.add = function (a) { this.j = (this.j + 1) % this.data.length; this.data[this.j] = a }; + FT.prototype.forEach = function (a) { for (var b = this.j + 1; b < this.data.length; b++)a(this.data[b] || 0); for (b = 0; b <= this.j; b++)a(this.data[b] || 0) }; + FT.prototype.clear = function () { for (var a = this.data.length, b = 0; b < a; b++)this.data[b] = 0; this.B = this.j = this.data.length - 1 }; g.z(GT, g.O); GT.prototype.start = function () { this.B.start() }; + GT.prototype.stop = function () { this.B.stop() }; + GT.prototype.clear = function () { for (var a = g.w(this.j.values()), b = a.next(); !b.done; b = a.next())b.value.clear() }; + GT.prototype.sample = function () { for (var a = g.w(this.C), b = a.next(); !b.done; b = a.next()) { var c = g.w(b.value); b = c.next().value; c = c.next().value; this.j.has(b) || this.j.set(b, new INa($bb.has(b))); this.j.get(b).update(c()) } this.B.start() }; + var $bb = new Set(["networkactivity"]); INa.prototype.update = function (a) { this.j ? (this.buffer.add(a - this.YA || 0), this.YA = a) : this.buffer.add(a) }; + INa.prototype.clear = function () { this.buffer.clear(); this.YA = 0 }; g.z(KT, g.T); g.z(MT, g.T); MT.prototype.show = function () { g.T.prototype.show.call(this); this.Ta(); this.Ua.L("html5_enable_moving_s4n_window") && g.OC(this.Ua.U()) && this.N() }; + MT.prototype.hide = function () { g.T.prototype.hide.call(this); this.delay.stop(); this.D.stop() }; + MT.prototype.Ta = function () { var a = (0, g.Zt)(), b = LNa(this.Ua); LT(this.j, b.bandwidth_samples); LT(this.K, b.network_activity_samples); LT(this.C, b.live_latency_samples); LT(this.B, b.buffer_health_samples); var c = {}; b = g.w(Object.entries(b)); for (var d = b.next(); !d.done; d = b.next()) { var e = g.w(d.value); d = e.next().value; e = e.next().value; this.Y[d] !== e && (c[d] = " " + String(e)); this.Y[d] = e } this.update(c); a = (0, g.Zt)() - a > 25 ? 5E3 : 500; this.delay.start(a) }; + MT.prototype.N = function () { this.G ? (this.position += 1, this.position > 15 && (this.G = !1)) : (--this.position, this.position <= 0 && (this.G = !0)); this.element.style.left = this.position + "%"; this.element.style.top = this.position + "%"; this.D.start(2E4) }; g.z(ONa, oS); g.z(NT, g.O); NT.prototype.j = function () { var a = (0, g.Zt)() - this.startTime; a = a < this.duration ? a / this.duration : 1; this.B(Cp(acb, a)); a < 1 && this.delay.start() }; + var acb = new Bp(0, 0, .4, 0, .2, 1, 1, 1), UNa = /[0-9.-]+|[^0-9.-]+/g; g.z(OT, g.T); OT.prototype.onClick = function () { var a = this.api.app; var b = a.L("web_log_theater_mode_visibility") ? !a.Dk() : !a.aR; a.Ua.ib("SIZE_CLICKED", b); this.api.logClick(this.element) }; + OT.prototype.Ta = function () { g.Mx(this, this.api.ZQ() && !this.api.isFullscreen() && this.api.getPresentingPlayerType() !== 3); if (this.Hb) { var a = this.api.Dk(); this.Dk !== a && this.vC(a) } this.api.logVisibility(this.element, this.Hb) }; + OT.prototype.vC = function (a) { + var b = a ? { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "m 26,13 0,10 -16,0 0,-10 z m -14,2 12,0 0,6 -12,0 0,-6 z", fill: "#fff", "fill-rule": "evenodd" } }] } : { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "m 28,11 0,14 -20,0 0,-14 z m -18,2 16,0 0,10 -16,0 0,-10 z", fill: "#fff", "fill-rule": "evenodd" } }] }; this.Dk == null ? this.updateValue("icon", b) : TNa(this.transition, this.element, + b); this.Dk = a; b = g.xR(this.api, "Default view", "t"); var c = g.xR(this.api, "Theater mode", "t"); this.updateValue("title", a ? b : c); this.update({ "data-title-no-tooltip": a ? "Default view" : "Theater mode" }); this.api.Vh() + }; g.z(VNa, oS); g.z(WNa, oS); var i2 = {}, aOa = (i2[1] = "pot_ss", i2[2] = "pot_sf", i2[3] = "pot_se", i2[4] = "pot_xs", i2[5] = "pot_xf", i2[6] = "pot_xe", i2); g.z(PT, oS); PT.prototype.xa = function () { this.G && (g.Nr(this.G), this.G = void 0); oS.prototype.xa.call(this) }; + PT.prototype.GP = function (a) { var b = this; return g.J(function (c) { return b.j ? c.return(b.j.ready().then(function () { b.Lb.wg("pot_if"); return bOa(b, a) })) : c.return(Promise.reject("web po not ready")) }) }; + PT.prototype.zR = function (a) { return bOa(this, a) }; + PT.prototype.wU = function () { this.j && !this.j.isReady() && QT(this) }; g.z(cOa, oS); g.z(RT, g.O); RT.prototype.j = function () { for (var a = g.w(g.Ca.apply(0, arguments)), b = a.next(); !b.done; b = a.next())(b = b.value) && this.features.push(b) }; + RT.prototype.xa = function () { for (var a = this.features.length - 1; a >= 0; a--)this.features[a].dispose(); this.features.length = 0; g.O.prototype.xa.call(this) }; ST.prototype.MR = function () { this.B = (0, g.Zt)() }; + ST.prototype.reset = function () { this.j = this.B = NaN }; + ST.prototype.RR = function (a, b) { if (a.clientPlaybackNonce && !isNaN(this.j)) { if (Math.random() < .01) { b = b ? "pbp" : "pbs"; var c = { startTime: this.j }; a.K && (c.cttAuthInfo = { token: a.K, videoId: a.videoId }); rA("seek", c); g.qA({ clientPlaybackNonce: a.clientPlaybackNonce }, "seek"); isNaN(this.B) || pA("pl_ss", this.B, "seek"); pA(b, (0, g.Zt)(), "seek") } this.reset() } }; g.k = dOa.prototype; g.k.reset = function () { mA(this.timerName) }; + g.k.tick = function (a, b) { pA(a, b, this.timerName) }; + g.k.wg = function (a) { return tA(a, this.timerName) }; + g.k.Dv = function (a) { gG(a, void 0, this.timerName) }; + g.k.infoGel = function (a) { g.qA(a, this.timerName) }; g.z(hOa, g.Fx); g.k = hOa.prototype; g.k.Gl = function (a) { return this.loop || !!a || this.index + 1 < this.length }; + g.k.Yp = function (a) { return this.loop || !!a || this.index - 1 >= 0 }; + g.k.setShuffle = function (a) { this.shuffle = a; a = this.order && this.order[this.index] != null ? this.order[this.index] : this.index; this.order = []; for (var b = 0; b < this.items.length; b++)this.order.push(b); this.index = a; this.B++; if (this.shuffle) { a = this.order[this.index]; for (b = 1; b < this.order.length; b++) { var c = Math.floor(Math.random() * (b + 1)), d = this.order[b]; this.order[b] = this.order[c]; this.order[c] = d } for (b = 0; b < this.order.length; b++)this.order[b] === a && (this.index = b); this.B++ } this.publish("shuffle") }; + g.k.gh = function (a) { a = a || "hqdefault.jpg"; var b = this.Z[a]; if (b || this.Da.ra || a === "sddefault.jpg" || a === "hq720.jpg" || a === "maxresdefault.jpg") return b; if (this.C.length) return ZO(this.Da, this.C[0], a) }; + g.k.findIndex = function (a) { if (a && (a = a.videoId, !this.items[this.index] || this.items[this.index].video_id !== a)) for (var b = 0; b < this.items.length; b++)if (this.items[b].video_id === a) { this.index = b; break } }; + g.k.onReady = function (a) { this.j = a; this.loaded && g.Kr(this.j, 0) }; + g.k.getPlaylistId = function () { return this.listId ? this.listId.toString() : null }; + g.k.El = function () { return this.Da.getVideoUrl(g.UT(this).videoId, this.getPlaylistId()) }; + g.k.xa = function () { this.j = null; g.gb(this.items); g.Fx.prototype.xa.call(this) }; var VT = new Map; g.z(g.XT, g.Fx); g.k = g.XT.prototype; g.k.create = function () { }; + g.k.load = function () { this.loaded = !0 }; + g.k.unload = function () { this.loaded = !1 }; + g.k.Uh = function () { }; + g.k.jn = function () { return !0 }; + g.k.xa = function () { this.loaded && this.unload(); g.Fx.prototype.xa.call(this) }; + g.k.uc = function () { return {} }; + g.k.getOptions = function () { return [] }; g.z(g.aU, g.O); g.k = g.aU.prototype; g.k.Hu = aa(46); g.k.eB = function () { }; + g.k.Ws = function () { }; + g.k.nx = function () { return "" }; + g.k.OS = aa(47); g.k.yG = function () { this.D.resolve() }; + g.k.xa = function () { this.Ws(); g.O.prototype.xa.call(this) }; g.z(g.bU, g.aU); g.bU.prototype.Hu = aa(45); g.bU.prototype.eB = function (a) { if (this.audioTrack) for (var b = g.w(this.audioTrack.captionTracks), c = b.next(); !c.done; c = b.next())g.$T(this.B, c.value); a() }; + g.bU.prototype.nx = function (a, b) { var c = a.Ce(), d = { fmt: b }; if (b === "srv3" || b === "3" || b === "json3") g.ks() ? Object.assign(d, { xorb: 2, xobt: 1, xovt: 1 }) : Object.assign(d, { xorb: 2, xobt: 3, xovt: 3 }); a.translationLanguage && (d.tlang = g.vP(a)); this.W.L("web_player_topify_subtitles_for_shorts") && this.C && (d.xosf = "1"); Object.assign(d, this.W.j); return g.Ar(c, d) }; + g.bU.prototype.Ws = function () { + this.W.L("web_player_pt_tt") && (this.D.promise.catch(function () { }), this.D.reject(), this.D = new g.oj); + this.j && this.j.abort() + }; g.uOa.prototype.Uu = function (a) { this.Da.Uu(a) }; g.bcb = new Map; g.z(g.fU, g.aU); g.fU.prototype.Hu = aa(44); + g.fU.prototype.eB = function (a) { + var b = this, c = this.C, d = { type: "list", tlangs: 1, v: this.videoId, vssids: 1 }; this.rZ && (d.asrs = 1); c = g.Ar(c, d); this.Ws(); this.j = g.Ur(c, { + format: "RAW", onSuccess: function (e) { + b.j = null; if ((e = e.responseXML) && e.firstChild) { + for (var f = e.getElementsByTagName("track"), h = 0; h < f.length; h++) { + var l = f[h], m = l.getAttribute("lang_code"), n = l.getAttribute("lang_translated"), p = l.getAttribute("name"), q = l.getAttribute("kind"), r = l.getAttribute("id"), t = l.getAttribute("lang_default") === "true", u = l.getAttribute("cantran") === + "true"; l = l.getAttribute("vss_id"); g.$T(b.B, new g.sP({ languageCode: m, languageName: n, name: p, kind: q, id: r, is_servable: !0, is_translateable: u, vss_id: l, is_default: t })) + } e = e.getElementsByTagName("target"); f = e.length; for (h = 0; h < f; h++)m = { languageCode: e[h].getAttribute("lang_code"), languageName: e[h].getAttribute("lang_translated"), languageOriginal: e[h].getAttribute("lang_original"), id: e[h].getAttribute("id"), isDefault: e[h].getAttribute("lang_default") === "true" }, b.K[m.languageCode] = m.languageName, b.G.push(m) + } a() + }, + withCredentials: !0 + }) + }; + g.fU.prototype.nx = function (a, b) { var c = this.C; b = { v: this.videoId, type: "track", lang: a.languageCode, name: a.getName(), kind: a.kind, fmt: b }; this.W.L("captions_url_add_ei") && (b.ei = this.eventId); a.translationLanguage && (b.tlang = g.vP(a)); Object.assign(b, this.W.j); return c = g.Ar(c, b) }; + g.fU.prototype.Ws = function () { this.j && this.j.abort() }; iU.prototype.resolve = function (a) { gU(this, a) }; + iU.prototype.reject = function (a) { hU(this, a) }; + iU.prototype.mf = function (a) { + var b = kU(); this.onSuccess.push(function (c) { try { var d = a(c); gU(b, d) } catch (e) { hU(b, e) } }); + this.onFailure.push(function (c) { hU(b, c) }); + mU(this); return b + }; AOa.prototype.Hs = function () { + for (var a = g.Ca.apply(0, arguments), b = this, c = lU("empty"), d = [], e = { GA: 0 }; e.GA < this.B.length && c.currentState !== 1; e = { Rn: void 0, GA: e.GA }, e.GA++)e.Rn = this.B[e.GA], e.Rn.condition.apply(e.Rn, g.x(a)) && (c = nU(nU(c, function (f) { + return function () { + if (!f.Rn.condition.apply(f.Rn, g.x(a))) throw "condition failed"; var h = f.Rn.bx.apply(f.Rn, g.x(a)); return b.j === void 0 || b.j === null ? h : jU().mf(function () { return h }).mf(function (l) { + if (!b.j.apply(b, [l].concat(g.x(a)))) throw "verification failed"; + return l + }) + } + }(e)), function (f) { + return function (h) { + h !== "empty" && h !== "condition failed" && h !== "verification failed" && h !== "error" && (f.Rn.onFailure && f.Rn.onFailure.apply(f.Rn, [h].concat(g.x(a))), b.onFailure && b.onFailure.apply(b, [h, + f.GA, f.Rn].concat(g.x(a))), d.push(h)); throw "error"; + } + }(e))); + return nU(c, function () { return lU(d) }) + }; oU.prototype.preload = function (a) { a = a ? BOa(this.capabilities, a) : this.capabilities; return a.wd ? EOa(this, a).mf(function () { }) : jU() }; + oU.prototype.compile = function (a) { + return nU(this.G.Hs(a), function (b) { + throw Error("wasm module compile failure: " + b.map(function (c) { return c.message }).join(", "), { cause: b }); + }) + }; + oU.prototype.instantiate = function (a, b) { + return nU(this.K.Hs(a, b), function (c) { + throw Error("wasm module instantiation failure: " + c.map(function (d) { return d.message }).join(", "), { cause: c }); + }) + }; IOa.prototype.emscripten_notify_memory_growth = function () { }; + JOa.prototype.proc_exit = function () { }; + JOa.prototype.fd_write = function (a, b, c) { if (!this.exports) return 1; a = new Uint32Array(this.exports.memory.buffer, b, c * 2); b = []; for (var d = 0; d < c; ++d) { var e = new Uint8Array(this.exports.memory.buffer, a[d * 2], a[d * 2 + 1]); e = g.gK(e); b.push(e) } return b.reduce(function (f, h) { return f + h.length }, 0) }; var FOa; pU.prototype.xE = function (a) { if (a.buffer !== this.exports.memory.buffer) { var b = this.exports.malloc(a.byteLength); b = new Uint8Array(this.exports.memory.buffer, b, a.byteLength); b.set(a); return b } }; + pU.prototype.CR = function (a) { if (a.buffer === this.exports.memory.buffer) { var b = a.slice(); this.exports.free(a.byteOffset); return b } }; + var t5a = "WebAssembly" in window && ("instantiateStreaming" in window.WebAssembly || "instantiate" in window.WebAssembly); qU.KA(pU, { + xE: function (a) { return { profile: "copyj2w", Kn: a === void 0 ? 0 : Math.ceil(a.byteLength / 16) } }, + CR: function (a) { return { profile: "copyw2j", Kn: a === void 0 ? 0 : Math.ceil(a.byteLength / 16) } } + }); g.z(MOa, g.O); g.k = MOa.prototype; g.k.createSubtitlesModuleIfNeeded = function () { QOa(this) && sU(this, "captions"); return !!g.rU(this) }; + g.k.JH = function () { return this.J.getVideoData().JH() }; + g.k.HT = function () { return this.J.getVideoData().HT() }; + g.k.BX = function () { var a = this.He.get("heartbeat"); sU(this, "heartbeat", !1, !0, this.BX); !a && this.He.has("heartbeat") && this.J.publish("offlineslatestatechange") }; + g.k.qJ = function () { sU(this, "annotations_module", !0, void 0, this.qJ); var a = this.He.get("annotations_module"); if (a) for (var b in this.C) if (this.C.hasOwnProperty(b)) { var c = b; a.subscribe(c, this.C[c]) } }; + g.k.eP = function () { if (!this.He.get("ad")) try { NOa(this) ? sU(this, "ad", !1, !0, this.eP) : this.J.Dg("ad") } catch (a) { this.J.Dg("ad"), g.ex(a) } }; + g.k.Wh = function () { return this.B }; + g.k.Nr = function () { var a = {}, b = g.rU(this); b && Object.assign(a, b.Nr()); return a }; + g.k.fB = function (a, b) { Object.assign(this.B, a || null); Object.assign(this.tJ, b || null) }; + g.k.onVideoDataChange = function () { var a = this.J.getVideoData(); this.J.L("enable_wn_infocards") && g.OQ(a) && !g.xU(this) && this.qJ() }; + g.k.xa = function () { g.O.prototype.xa.call(this); tU(this, 1, !0); for (var a = g.w(Object.entries(ePa)), b = a.next(); !b.done; b = a.next()) { var c = g.w(b.value); b = c.next().value; c = c.next().value; this.D.has(c) && VT.delete(b) } this.D.clear() }; + var j2 = {}, ePa = (j2.ad = "ad.js", j2.annotations_module = "annotations_module.js", j2.asmjs = "asmjs.js", j2.creatorendscreen = "annotations_module.js", j2.embed = "embed.js", j2.endscreen = "endscreen.js", j2.heartbeat = "heartbeat.js", j2.inline_preview = "inline_preview.js", j2.kids = "kids.js", j2.remote = "remote.js", j2.miniplayer = "miniplayer.js", j2.offline = "offline.js", j2.captions = "captions.js", j2.unplugged = "unplugged.js", j2.ux = "ux.js", j2.webgl = "webgl.js", j2.ypc = "ypc.js", j2.ypc_clickwrap = "ypc_clickwrap.js", j2.yto = "yto.js", + j2), ZOa = "ad annotations_module asmjs creatorendscreen embed endscreen heartbeat inline_preview kids remote miniplayer offline captions webgl ypc ypc_clickwrap yto unplugged ux".split(" "); g.z(gPa, g.Fx); g.k = gPa.prototype; g.k.L5 = function (a) { a = new g.Gd(a.pageX, a.pageY); if (!Hd(a, this.D)) { var b = 2; this.K && (b |= 8); this.D = a; yU(this, b, !0) } }; + g.k.U$ = function () { this.K && yU(this, 8, !0); yU(this, 2, !1) }; + g.k.Ux = function (a) { var b = new g.Gd(a.pageX, a.pageY); Hd(b, this.D) || (this.D = b, (a = a.target) && this.hJ(a) && (yU(this, 4, !0), this.j.Oc(this.C), this.C = this.j.T(this.target, "mouseover", this.sB), this.N = this.j.T(this.target, "mouseout", this.sB))) }; + g.k.sB = function (a) { a = a.relatedTarget; a && this.hJ(a) || (this.D = new g.Gd(NaN, NaN), hPa(this)) }; + g.k.l$ = function () { yU(this, 1, !0) }; + g.k.C8 = function (a) { a = a.target; a instanceof Element && !(a.tabIndex > 0) || yU(this, 1, !0) }; + g.k.SV = function () { this.K = !0; this.j.Oc(this.G); this.G = this.j.T(document, "mouseup", this.M5) }; + g.k.M5 = function () { this.K = !1; yU(this, 8, !1); this.j.Oc(this.G); this.G = this.j.T(this.target, "mousedown", this.SV) }; + g.k.TV = function (a) { if (a = (a = a.changedTouches) && a[0]) this.Ba = a.identifier, this.j.Oc(this.Z), this.Z = this.j.T(this.target, "touchend", this.N5, void 0, !0), yU(this, 1024, !0) }; + g.k.N5 = function (a) { if (a = a.changedTouches) for (var b = 0; b < a.length; b++) { var c = a[b]; if (c.identifier === this.Ba) { var d = c; break } } d && (this.j.Oc(this.Z), this.Z = this.j.T(this.target, "touchstart", this.TV, void 0, !0), yU(this, 1024, !1)) }; + g.k.Gv = function () { yU(this, 2, !0) }; + g.k.resize = function () { g.KE && hPa(this) }; + g.k.toString = function () { return g.Fx.prototype.toString.call(this) }; g.z(g.AU, g.T); g.k = g.AU.prototype; g.k.cfa = function () { this.Ta() }; + g.k.Ta = function () { + var a = this.api.getVideoData(), b = this.api.U(), c = !!this.api.jd(); g.rp(this.element, "ytp-shorts-mode", c); c ? b = [{ + I: "svg", X: { fill: "none", height: "100%", viewBox: "0 0 87 115", width: "100%" }, V: [{ + I: "path", X: { + "clip-rule": "evenodd", d: "M83.99 10.81C90.08 21.24 86.62 34.66 76.26 40.79L69.05 45.06L74.17 47.38C81.58 50.74 86.52 57.99 86.96 66.17C87.40 74.34 83.27 82.09 76.26 86.24L32.76 111.97C22.41 118.10 9.08 114.61 3.00 104.18C-3.08 93.75 .37 80.33 10.73 74.20L17.94 69.93L12.82 67.61C5.41 64.25 .47 57.00 .03 48.82C-0.40 40.65 3.72 32.90 10.73 28.75L54.23 3.02C64.58 -3.10 77.91 .38 83.99 10.81Z", + fill: "#f00", "fill-rule": "evenodd" + } + }, { I: "path", X: { "clip-rule": "evenodd", d: "M33 74L33 41L61 57.5L33 74Z", fill: "white", "fill-rule": "evenodd" } }] + }] : g.aR(a) ? b = [{ I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 60 60", width: "100%" }, V: [{ I: "path", S: "ytp-dni-large-play-button-bg", X: { d: "M30,0A30,30,0,1,0,60,30,30,30,0,0,0,30,0Z", fill: "#1f1f1f" } }, { I: "path", X: { d: "M21,41.65V18L43.7,29.85Z", fill: "#fff" } }] }] : a.Ff && a.Rp ? b = [{ + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 68 48", width: "100%" }, V: [{ + I: "path", S: "ytp-dni-large-play-button-bg", + X: { d: "M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z", fill: "#212121", "fill-opacity": "0.8" } + }, { I: "path", X: { d: "M 45,24 27,14 27,34", fill: "#fff" } }] + }] : b.K ? (g.rp(this.element, "ytp-touch-device", b.B), b = [b.K ? { + I: "svg", X: { + height: "100%", version: "1.1", + viewBox: "0 0 60 60", width: "100%" + }, V: [{ I: "path", S: "ytp-large-play-button-bg", X: { d: "M30,0A30,30,0,1,0,60,30,30,30,0,0,0,30,0Z", fill: "#1f1f1f" } }, { I: "path", X: { d: "M21,41.65V18L43.7,29.85Z", fill: "#fff" } }] + } : { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 68 48", width: "100%" }, V: [{ + I: "path", S: "ytp-large-play-button-bg", X: { + d: "M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z", + fill: "#212121", "fill-opacity": "0.8" + } + }, { I: "path", X: { d: "M 45,24 27,14 27,34", fill: "#fff" } }] + }]) : b = [{ + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 68 48", width: "100%" }, V: [{ + I: "path", S: "ytp-large-play-button-bg", X: { + d: "M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z", + fill: "#f00" + } + }, { I: "path", X: { d: "M 45,24 27,14 27,34", fill: "#fff" } }] + }]; this.updateValue("largePlayButtonChildren", b); a.Ff && a.Rp && (a = a.Rp ? a.Rp : "#1f1f1f", this.Ea("ytp-dni-large-play-button-bg").setAttribute("fill", a)) + }; + g.k.show = function () { g.T.prototype.show.call(this); this.api.U().L("embeds_web_enable_lite_experiment_control_arm_logging") && this.api.logVisibility(this.element, !0) }; + g.k.t9 = function () { this.api.getVideoData().mutedAutoplay || (this.api.iB(), this.api.playVideo()) }; + g.k.fda = function (a) { this.api.getVideoData().mutedAutoplay || a.preventDefault() }; g.z(g.BU, g.T); g.k = g.BU.prototype; g.k.show = function () { + var a = this; this.Hb || (this.D.T(this.api, "videodatachange", function () { g.gp(a.j) }), this.D.T(this.api, "videoplayerreset", function () { g.gp(a.j) })); + g.T.prototype.show.call(this) + }; + g.k.hide = function () { this.D && g.Ys(this.D); g.T.prototype.hide.call(this) }; + g.k.kc = function () { g.gp(this.j) }; + g.k.onStateChange = function () { g.gp(this.j) }; + g.k.Lca = function () { g.gp(this.j) }; + g.k.onReset = function () { this.B.stop(); this.hide(); g.gp(this.j) }; + g.k.Ta = function () { + var a = this.api.getPlayerStateObject(); if (this.api.getPresentingPlayerType() === 3 && (a.isPlaying() || a.isPaused())) var b = !0; else (b = this.api.Bb().He.get("ypc")) && b.OL ? b = !0 : (b = this.api.U(), b = g.U(a, 2) && g.zR(this.api) && b.Ig ? !0 : !1); b ? (b = !0, this.C.hide()) : this.api.L("web_player_show_frame_zero_when_cued") && iPa(this) ? (b = !0, this.C.hide()) : (this.C.show(), b = a.isCued() && this.api.getPresentingPlayerType() !== 2 || g.U(a, 2) && !g.zR(this.api) && !this.api.bF() || g.U(a, 1024) ? !0 : !1); var c = this.api.getVideoData(); + b && !c.FW ? (this.B.show(), this.jfa(this.api.getPlaylist(), c)) : (this.B.hide(), g.U(a, 1) || this.B.stop()) + }; + g.k.jfa = function () { + var a = g.Ca.apply(0, arguments), b = this.api.U(), c, d = (c = this.api.getVideoData()) == null ? void 0 : c.videoId; if (b.L("web_player_show_frame_zero_when_cued") && d && iPa(this)) var e = "https://i.ytimg.com/vi/" + d + "/frame0.jpg"; else for (a = g.w(a), c = a.next(); !c.done; c = a.next())if (c = c.value, !(!c || c instanceof g.WP && !c.videoId)) { + e = this.api.qb().getPlayerSize(); var f = g.aP(); d = e.width * f; f *= e.height; if (d > 1280 || f > 720) if (e = c.gh("maxresdefault.jpg")) break; if (d > 640 || f > 480) if (e = c.gh("maxresdefault.jpg")) break; + if (d > 320 || f > 180) if (e = c.gh("sddefault.jpg") || c.gh("hqdefault.jpg") || c.gh("mqdefault.jpg")) break; if (e = c.gh("default.jpg")) break + } g.dP(b) && (b = new Image, b.addEventListener("load", function () { Vta() }), b.src = e ? e : "", this.api.Wh().tick("ftr")); + this.G.style.backgroundImage = e ? "url(" + e + ")" : "" + }; g.z(g.CU, g.T); g.CU.prototype.resize = function () { }; + g.CU.prototype.B = function (a) { + var b = this; this.C = !1; lPa(this); var c = a.wP, d = this.api.U(); c !== "GENERIC_WITHOUT_LINK" || d.K ? c === "TOO_MANY_REQUESTS" ? (d = this.api.getVideoData(), this.Dd(FU(this, "TOO_MANY_REQUESTS_WITH_LINK", d.El(), void 0, void 0, void 0, !1))) : c !== "HTML5_NO_AVAILABLE_FORMATS_FALLBACK" || d.K ? this.api.U().L("html5_enable_bandaid_error_screen") && c === "HTML5_SPS_UMP_STATUS_REJECTED" && !d.K ? (d = d.hostLanguage, a = "//support.google.com/youtube?p=videoError", d && (a = g.Ti(a, { hl: d })), this.Dd(FU(this, "HTML5_SPS_UMP_STATUS_REJECTED", + a))) : this.api.U().L("enable_adb_handling_in_sabr") && c === "BROWSER_OR_EXTENSION_ERROR" && !d.K ? (d = d.hostLanguage, a = "//support.google.com/youtube/answer/3037019#zippy=%2Cupdate-your-browser-and-check-your-extensions", d && (a = g.Ti(a, { hl: d })), this.Dd(FU(this, "BROWSER_OR_EXTENSION_ERROR", a))) : this.Dd(g.DU(a.errorMessage)) : this.Dd(FU(this, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK_WITH_LINK_SHORT", "//www.youtube.com/supported_browsers")) : (a = d.hostLanguage, c = "//support.google.com/youtube/?p=player_error1", a && (c = g.Ti(c, + { hl: a })), this.Dd(FU(this, "GENERIC_WITH_LINK_AND_CPN", c, !0)), d.wc && !d.D && kPa(this, function (f) { if (g.xS(f, b.api, !$O(b.api.U()))) { f = { as3: !1, html5: !0, player: !0, cpn: b.api.getVideoData().clientPlaybackNonce }; var h = b.api; h.Hc("onFeedbackArticleRequest", { articleId: 3037019, helpContext: "player_error", productData: f }); h.isFullscreen() && h.toggleFullscreen() } })); + if (this.C) { var e = this.Ea("ytp-error-link"); e && (this.api.createClientVe(e, this, 216104), this.api.logVisibility(e, !0), kPa(this, function () { b.api.logClick(e) })) } + }; + var jPa = /([^<>]+)<\/a>/; g.z(mPa, g.T); g.k = mPa.prototype; g.k.onClick = function (a) { this.innertubeCommand ? (this.J.ib("innertubeCommand", this.innertubeCommand), a.preventDefault()) : g.xS(a, this.J, !0); this.J.logClick(this.element) }; + g.k.onVideoDataChange = function (a, b) { oPa(this, b); this.Ee && pPa(this, this.Ee) }; + g.k.O5 = function (a) { var b = this.J.getVideoData(); this.videoId !== b.videoId && oPa(this, b); this.j && pPa(this, a.state); this.Ee = a.state }; + g.k.pd = function () { this.D.show(); this.J.publish("paidcontentoverlayvisibilitychange", !0); this.J.logVisibility(this.element, !0) }; + g.k.Nb = function () { this.D.hide(); this.J.publish("paidcontentoverlayvisibilitychange", !1); this.J.logVisibility(this.element, !1) }; g.z(GU, g.T); GU.prototype.hide = function () { this.j.stop(); this.message.style.display = "none"; g.T.prototype.hide.call(this) }; + GU.prototype.onStateChange = function (a) { this.zd(a.state) }; + GU.prototype.zd = function (a) { if (g.U(a, 128)) var b = !1; else { var c; b = ((c = this.api.Vc()) == null ? 0 : c.xu) ? !1 : g.U(a, 16) || g.U(a, 1) ? !0 : !1 } b ? this.j.start() : this.hide() }; + GU.prototype.B = function () { this.message.style.display = "block" }; g.z(HU, g.hS); HU.prototype.onMutedAutoplayChange = function (a) { this.C && (a ? (qPa(this), this.pd()) : (this.j && this.logClick(), this.Nb())) }; + HU.prototype.Lk = function (a) { this.api.isMutedByMutedAutoplay() && g.Qy(a, 2) && this.Nb() }; + HU.prototype.onClick = function () { this.api.unMute(); this.logClick() }; + HU.prototype.logClick = function () { this.clicked || (this.clicked = !0, this.api.logClick(this.element)) }; g.z(g.IU, g.OE); g.k = g.IU.prototype; g.k.init = function () { var a = this.api, b = a.getPlayerStateObject(); this.FK = a.getPlayerSize(); this.Ec(b); this.Vq(); this.kc(); this.api.publish("basechromeinitialized", this); this.jQ() && this.api.publish("standardControlsInitialized") }; + g.k.onVideoDataChange = function (a, b) { var c = this.XF !== b.videoId; if (c || a === "newdata") { a = this.api; a.isFullscreen() || (this.FK = a.getPlayerSize()); var d; ((d = this.api.getVideoData(1)) == null ? 0 : g.jQ(d)) && this.Uq() } c && (this.XF = b.videoId, c = this.Jg, c.Fa = 3E3, yU(c, 512, !0), this.Vq()); this.api.L("web_render_jump_buttons") && b.showSeekingControls && (this.z2 = 572) }; + g.k.xba = function () { this.onVideoDataChange("newdata", this.api.getVideoData()) }; + g.k.wC = function () { var a = this.api.rl() && this.api.Gp(), b = this.api.PA(); return this.cP || a || this.BQ || b }; + g.k.Uq = function () { var a = !this.wC(); g.rp(this.api.getRootNode(), "ytp-menu-shown", !a); var b; ((b = this.api.getVideoData(1)) == null ? 0 : g.jQ(b)) && g.rp(this.api.getRootNode(), "ytp-hide-controls", !a) }; + g.k.hJ = function (a) { try { if (!g.qe(this.api.getRootNode(), a)) return !1 } catch (b) { return !1 } for (; a && !aca(a);)a = a === this.api.getRootNode() ? null : a.parentElement || null; return !!a }; + g.k.yB = function (a) { var b = this.api.getRootNode(); g.rp(b, "ytp-autohide", a); g.rp(b, "ytp-autohide-active", !0); this.ZW.start(a ? 250 : 100); a && (this.SM = !1, g.pp(b, "ytp-touch-mode")); this.dP = !a; this.api.xM(!a) }; + g.k.LR = function () { var a = this.api.getRootNode(); g.rp(a, "ytp-autohide-active", !1) }; + g.k.bca = function () { this.mU = !0 }; + g.k.aca = function (a) { + if (this.api.U().L("player_doubletap_to_seek") || this.api.U().Z) this.mU = !1, this.nU && this.Oc(this.nU), this.qG === 0 && JU(this, a) ? (this.CQ(), this.AJ.start(), this.nU = this.T(this.api.qb(), "touchmove", this.bca, void 0, !0)) : this.AJ.stop(); uPa(this) && JU(this, a) && !this.api.U().Z && sPa(this); var b = this.rU.Ck(); if (!g.IO(this.api.U()) && FO && vPa(this, a)) b && a.preventDefault(); else if (this.SM = !0, g.np(this.api.getRootNode(), "ytp-touch-mode"), this.Jg.Gv(), this.api.U().L("player_doubletap_to_seek") || this.api.U().Z) if (b = + this.api.getPlayerStateObject(), !(!this.api.Jh() || g.U(b, 2) && g.zR(this.api) || g.U(b, 64))) { + b = Date.now() - this.XZ; this.qG += 1; if (b <= 350) { this.IE = !0; b = this.api.getPlayerSize().width / 3; var c = this.api.getRootNode().getBoundingClientRect(), d = a.targetTouches[0].clientX - c.left; c = a.targetTouches[0].clientY - c.top; var e = (this.qG - 1) * 10; d > 0 && d < b ? (this.lH(-1, d, c, e), this.api.seekBy(-10 * this.api.getPlaybackRate())) : d > b * 2 && d < b * 3 && (this.lH(1, d, c, e), this.api.seekBy(10 * this.api.getPlaybackRate())); a.preventDefault() } else zU && + this.api.U().Z && JU(this, a) && a.preventDefault(); this.XZ = Date.now(); this.K1.start() + } + }; + g.k.Zba = function () { this.jL.HA = !1; this.api.publish("rootnodemousedown", this.jL) }; + g.k.Vba = function (a) { if (this.api.U().L("web_fix_fine_scrubbing_false_play")) { if (vPa(this, a) || this.jL.HA) return } else if (this.jL.HA || vPa(this, a)) return; uPa(this) || !JU(this, a) || this.AJ.isActive() || (sPa(this), a.preventDefault()); this.IE && (this.IE = !1) }; + g.k.CQ = function () { }; + g.k.KH = function () { }; + g.k.lH = function () { }; + g.k.kH = function () { }; + g.k.Us = function () { var a = this.api.getPlayerStateObject(); g.U(a, 2) && g.zR(this.api) || (a.isOrWillBePlaying() ? this.api.pauseVideo() : (this.Mn && (a = this.Mn.C, document.activeElement === a.element && this.api.publish("largeplaybuttonclicked", a.element)), this.api.iB(), this.api.playVideo(), this.Mn && document.activeElement === this.Mn.C.element && ((a = this.jQ()) == null ? a = 0 : a.playButton ? (a.playButton.focus(), a = !0) : a = !1, a || this.api.getRootNode().focus()))) }; + g.k.Wba = function (a) { var b = this, c = this.api.getPresentingPlayerType(); if (!tPa(this, Us(a))) if (a = this.api.U(), (this.api.U().L("player_doubletap_to_seek") || this.api.U().Z) && this.IE) this.IE = !1; else if (a.Ab && c !== 3) try { this.api.toggleFullscreen().catch(function (d) { b.xF(d) }) } catch (d) { this.xF(d) } }; + g.k.xF = function (a) { String(a).includes("fullscreen error") ? g.fx(a) : g.ex(a) }; + g.k.Xba = function (a) { wPa(this, .3, a.scale); a.preventDefault() }; + g.k.Yba = function (a) { wPa(this, .1, a.scale) }; + g.k.kc = function () { var a = this.api.qb().getPlayerSize(), b = this.api.getRootNode(), c = a.width >= 650; this.Jg.resize(); g.rp(b, "ytp-fullscreen", this.api.isFullscreen()); g.rp(b, "ytp-large-width-mode", c); g.rp(b, "ytp-small-mode", this.Og()); g.rp(b, "ytp-tiny-mode", this.MK()); g.rp(b, "ytp-big-mode", this.Hh()); this.xg && this.xg.resize(a) }; + g.k.Lk = function (a) { this.Ec(a.state); this.Vq() }; + g.k.qC = aa(5); g.k.UP = function () { var a = !!this.XF && !this.api.Df() && !this.BS, b = this.api.getPresentingPlayerType() === 2, c = this.api.U(); if (b) { if (a9a && c.L("enable_visit_advertiser_support_on_ipad_mweb")) return !1; b = uU(this.api.Bb()); a && (a = (a = b.player.getVideoData(2)) ? a.isListed && !g.MC(b.player.U()) : !1); return a } return a && (c.zn || this.api.isFullscreen() || c.Xk) }; + g.k.Vq = function () { var a = this.UP(); this.Ao !== a && (this.Ao = a, g.rp(this.api.getRootNode(), "ytp-hide-info-bar", !a)) }; + g.k.Ec = function (a) { + var b = a.isCued() || this.api.oo() && this.api.getPresentingPlayerType() !== 3; b !== this.isCued && (this.isCued = b, this.oU && this.Oc(this.oU), this.oU = this.T(this.api.qb(), "touchstart", this.aca, void 0, b)); var c = this.Jg, d = a.isPlaying() && !g.U(a, 32) || this.api.LF(); yU(c, 128, !d); c = this.Jg; d = this.api.getPresentingPlayerType() === 3; yU(c, 256, d); c = this.api.getRootNode(); g.U(a, 2) ? d = [P1.ENDED] : (d = [], g.U(a, 8) ? d.push(P1.PLAYING) : g.U(a, 4) && d.push(P1.PAUSED), g.U(a, 1) && !g.U(a, 32) && d.push(P1.BUFFERING), g.U(a, + 32) && d.push(P1.SEEKING), g.U(a, 64) && d.push(P1.UNSTARTED)); g.ac(this.gO, d) || (g.qp(c, this.gO), this.gO = d, g.op(c, d)); d = this.api.U(); var e = g.U(a, 2); a: { var f = this.api.U(); var h = f.controlsType; switch (h) { case "2": case "0": f = !1; break a }f = h === "3" && !g.U(a, 2) || this.isCued || (this.api.getPresentingPlayerType() !== 2 ? 0 : J8a(uU(this.api.Bb()))) || this.api.PA() || g.IO(f) && this.api.getPresentingPlayerType() === 2 ? !1 : !0 } g.rp(c, "ytp-hide-controls", !f); g.rp(c, "ytp-native-controls", d.controlsType === "3" && !b && !e && !this.BQ); g.U(a, + 128) && !g.IO(d) ? (this.xg || (this.xg = new g.CU(this.api), g.P(this, this.xg), g.GR(this.api, this.xg.element, 4)), this.xg.B(a.eh), this.xg.show()) : this.xg && (this.xg.dispose(), this.xg = null) + }; + g.k.Dr = function () { return this.api.rl() && this.api.Gp() ? (this.api.nC(!1, !1), !0) : this.api.Df() ? (g.AR(this.api, !0), !0) : !1 }; + g.k.onMutedAutoplayChange = function (a) { this.BQ = a; this.Uq() }; + g.k.Hh = function () { return !1 }; + g.k.Og = function () { return !this.Hh() && (this.api.getPlayerSize().width < this.z2 || this.api.getPlayerSize().height < 290) }; + g.k.MK = function () { return this.Og() && (this.api.getPlayerSize().width < 240 || this.api.getPlayerSize().height < 140) }; + g.k.Sm = function () { return this.SM }; + g.k.Lm = function () { return null }; + g.k.lY = function () { return null }; + g.k.Zn = function () { var a = this.api.qb().getPlayerSize(); return new g.gm(0, 0, a.width, a.height) }; + g.k.handleGlobalKeyDown = function () { return !1 }; + g.k.handleGlobalKeyUp = function () { return !1 }; + g.k.zy = function () { }; + g.k.showControls = function (a) { a !== void 0 && this.api.qb().xM(a) }; + g.k.Gv = function () { }; + g.k.jQ = function () { return null }; g.z(KU, g.Fx); g.k = KU.prototype; g.k.SJ = function () { return 1E3 * this.api.getDuration(this.ip, !1) }; + g.k.stop = function () { this.j && this.Hd.Oc(this.j) }; + g.k.Tc = function () { var a = this.api.getProgressState(this.ip); this.B = { seekableStart: a.seekableStart, seekableEnd: a.seekableEnd, current: this.api.getCurrentTime(this.ip, !1) }; this.publish("h") }; + g.k.getProgressState = function () { return this.B }; + g.k.P5 = function (a) { g.Qy(a, 2) && this.publish("g") }; g.z(g.LU, g.T); g.LU.prototype.show = function () { g.T.prototype.show.call(this); g.gp(this.j) }; + g.LU.prototype.hide = function () { this.B.stop(); g.T.prototype.hide.call(this) }; + g.LU.prototype.KH = function (a) { a ? g.U(this.J.getPlayerStateObject(), 64) || MU(this, $x(), "Play") : (a = this.J.getVideoData(), a.isLivePlayback && !a.allowLiveDvr ? MU(this, ysa(), "Stop live playback") : MU(this, usa(), "Pause")) }; g.z(zPa, g.T); g.k = zPa.prototype; g.k.GH = function (a) { a ? this.j = wR(this.J, this.element, null) : (this.j = this.j, this.j(), this.j = null) }; + g.k.pd = function () { this.J.U().L("player_new_info_card_format") && g.mp(this.J.getRootNode(), "ytp-cards-teaser-shown") && !g.IO(this.J.U()) || (this.B.show(), g.Iv("iv-button-shown")) }; + g.k.Nb = function () { g.Iv("iv-button-hidden"); this.B.hide() }; + g.k.Ck = function () { return this.Hb && this.B.state !== 4 }; + g.k.xa = function () { this.j && this.j(); g.T.prototype.xa.call(this) }; + g.k.Taa = function () { g.Iv("iv-button-mouseover") }; + g.k.onClicked = function (a) { this.J.rl(); var b = g.mp(this.J.getRootNode(), "ytp-cards-teaser-shown"); g.Iv("iv-teaser-clicked", b); var c; if ((c = this.J.getVideoData()) == null ? 0 : g.NQ(c)) { var d; a = (d = this.J.getVideoData()) == null ? void 0 : g.OQ(d); (a == null ? 0 : a.onIconTapCommand) && this.J.ib("innertubeCommand", a.onIconTapCommand) } else d = a.screenX === 0 && a.screenY === 0, this.J.nC(!this.J.Gp(), d, "YOUTUBE_DRAWER_MANUAL_OPEN") }; g.z(APa, g.T); g.k = APa.prototype; g.k.v3 = function () { this.J.rl() && this.J.Gp() && this.Ck() && this.Nb() }; + g.k.eU = function () { this.Nb(); !this.J.rl() && this.J.U().L("enable_error_corrections_infocards_icon_web") && this.Yg.Nb(); g.Iv("iv-teaser-clicked", this.j != null); if (this.onClickCommand) this.J.ib("innertubeCommand", this.onClickCommand); else { var a; ((a = this.J.getVideoData()) == null ? 0 : g.NQ(a)) || this.J.nC(!0, !1, "YOUTUBE_DRAWER_MANUAL_OPEN") } }; + g.k.R5 = function () { g.Iv("iv-teaser-mouseover"); this.j && this.j.stop() }; + g.k.vca = function (a) { this.J.U().L("player_new_info_card_format") && !g.IO(this.J.U()) ? this.Yg.Nb() : this.J.U().L("enable_error_corrections_infocards_icon_web") && this.Yg.pd(); this.j || !a || this.J.Gp() || this.B && this.B.isActive() || (this.pd(a), g.Iv("iv-teaser-shown")) }; + g.k.pd = function (a) { + this.onClickCommand = a.onClickCommand; this.updateValue("text", a.teaserText); this.element.setAttribute("dir", g.wp(a.teaserText)); this.D.show(); this.B = new g.fp(function () { g.np(this.J.getRootNode(), "ytp-cards-teaser-shown"); this.J.L("player_new_info_card_format") && !g.IO(this.J.U()) && this.Yg.Nb(); this.MN() }, 0, this); + this.B.start(); this.Yg.GH(!1); this.j = new g.fp(this.Nb, 580 + a.durationMs, this); this.j.start(); this.G.push(this.listen("mouseover", this.VV, this)); this.G.push(this.listen("mouseout", this.UV, this)) + }; + g.k.MN = function () { if (!this.J.U().L("player_new_info_card_format") && g.IO(this.J.U()) && this.Hb) { var a = this.Yg.element.offsetLeft, b = g.de("ytp-cards-button-icon"), c = this.J.isFullscreen() ? 54 : 36; if (b) { var d = a + b.offsetLeft; this.element.style.marginRight = this.Yg.element.offsetParent.offsetWidth - a - b.offsetLeft - c + "px"; this.element.style.marginLeft = d + "px" } } }; + g.k.y7 = function () { g.IO(this.J.U()) && this.J.Og() && this.Hb && this.Y.start() }; + g.k.VV = function () { this.K.stop(); this.j && this.j.isActive() && this.N.start() }; + g.k.UV = function () { this.N.stop(); this.j && !this.j.isActive() && this.K.start() }; + g.k.jba = function () { this.j && this.j.stop() }; + g.k.hba = function () { this.Nb() }; + g.k.Q5 = function () { this.Nb() }; + g.k.Nb = function () { !this.j || this.C && this.C.isActive() || (g.Iv("iv-teaser-hidden"), this.D.hide(), g.pp(this.J.getRootNode(), "ytp-cards-teaser-shown"), this.C = new g.fp(function () { for (var a = g.w(this.G), b = a.next(); !b.done; b = a.next())this.Oc(b.value); this.G = []; this.j && (this.j.dispose(), this.j = null); this.Yg.GH(!0); !this.J.rl() && this.J.U().L("enable_error_corrections_infocards_icon_web") && this.Yg.Nb() }, 330, this), this.C.start()) }; + g.k.Ck = function () { return this.Hb && this.D.state !== 4 }; + g.k.xa = function () { var a = this.J.getRootNode(); a && g.pp(a, "ytp-cards-teaser-shown"); g.gb(this.B, this.C, this.j); g.T.prototype.xa.call(this) }; var k2 = {}, OU = (k2.BUTTON = "ytp-button", k2.TITLE_NOTIFICATIONS = "ytp-title-notifications", k2.TITLE_NOTIFICATIONS_ON = "ytp-title-notifications-on", k2.TITLE_NOTIFICATIONS_OFF = "ytp-title-notifications-off", k2.NOTIFICATIONS_ENABLED = "ytp-notifications-enabled", k2); g.z(BPa, g.T); BPa.prototype.onClick = function () { this.api.logClick(this.element); var a = !this.j; this.updateValue("label", a ? "Stop getting notified about every new video" : "Get notified about every new video"); this.updateValue("pressed", a); CPa(this, a) }; g.Ka("yt.pubsub.publish", g.Iv); g.z(g.PU, g.T); g.PU.prototype.D = function () { window.location.reload() }; + g.PU.prototype.j = function () { g.np(this.element, "ytp-sb-subscribed") }; + g.PU.prototype.B = function () { g.pp(this.element, "ytp-sb-subscribed") }; g.z(HPa, g.T); g.k = HPa.prototype; g.k.yaa = function (a) { this.api.logClick(this.B); var b = this.api.U(); b.B || b.Wa ? LPa(this) && (this.isExpanded() ? this.UO() : this.yP()) : g.Md(GPa(this)); a.preventDefault() }; + g.k.iT = function () { KPa(this); this.channel.classList.remove("ytp-title-expanded") }; + g.k.isExpanded = function () { return this.channel.classList.contains("ytp-title-expanded") }; + g.k.yP = function () { + if (LPa(this) && !this.isExpanded()) { + this.updateValue("flyoutUnfocusable", "false"); this.updateValue("channelTitleFocusable", "0"); this.updateValue("shouldHideExpandedTitleForA11y", "false"); this.updateValue("shouldHideExpandedSubtitleForA11y", "false"); this.C && this.C.stop(); this.api.logVisibility(this.channelName, !0); this.subscribeButton && (this.subscribeButton.show(), this.api.logVisibility(this.subscribeButton.element, !0)); var a = this.api.getVideoData(); this.j && a.hm && a.subscribed && (this.j.show(), + this.api.logVisibility(this.j.element, !0)); this.channel.classList.add("ytp-title-expanded"); this.channel.classList.add("ytp-title-show-expanded") + } + }; + g.k.UO = function () { this.updateValue("flyoutUnfocusable", "true"); this.updateValue("channelTitleFocusable", "-1"); this.updateValue("shouldHideExpandedTitleForA11y", "true"); this.updateValue("shouldHideExpandedSubtitleForA11y", "true"); this.C && this.C.start() }; + g.k.Ta = function () { + var a = this.api.U(); g.Mx(this, !this.api.jd()); var b = this.api.getVideoData(), c = this.api.U(), d = this.api.getVideoData(); this.D = !1; var e = !!d.videoId && !!d.Ab && !!d.profilePicture; this.api.getPresentingPlayerType() === 2 ? this.D = e && !!d.isListed && !!d.author : g.IO(c) && (this.D = e && !g.aR(d) && !c.C && !(c.Z && this.api.getPlayerSize().width < 200)); c = b.profilePicture; a = g.IO(a) ? b.expandedTitle : b.author; c = c === void 0 ? "" : c; a = a === void 0 ? "" : a; this.D ? (this.K !== c && (this.B.style.backgroundImage = "url(" + c + ")", this.K = + c), this.updateValue("channelLogoLabel", g.DD("Photo image of $CHANNEL_NAME", { CHANNEL_NAME: a })), g.np(this.api.getRootNode(), "ytp-title-enable-channel-logo")) : g.pp(this.api.getRootNode(), "ytp-title-enable-channel-logo"); this.api.logVisibility(this.B, this.D && this.Z); this.subscribeButton && (this.subscribeButton.channelId = b.Wl); this.updateValue("expandedTitle", b.expandedTitle); this.updateValue("expandedSubtitle", b.expandedSubtitle) + }; + g.k.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.api.logVisibility(this.B, this.D && a) }; g.z(QU, g.kS); QU.prototype.j = function (a) { a.defaultPrevented || a.keyCode !== 39 || (this.element.click(), a.preventDefault()) }; g.z(MPa, g.T); g.k = MPa.prototype; g.k.show = function () { g.T.prototype.show.call(this); this.element.tabIndex = 0; this.element.focus(); this.updateValue("userInfoFocusable", "0"); this.updateValue("userInfoFocusable2", "0") }; + g.k.hide = function () { g.T.prototype.hide.call(this); this.updateValue("userInfoFocusable", "-1"); this.updateValue("userInfoFocusable2", "-1") }; + g.k.S5 = function (a) { var b = Us(a), c = g.qe(this.closeButton.element, b), d = g.qe(this.element, b); a = this.j && g.qe(this.j, b) && g.$y(a); b && (d || a) && !c || this.hide() }; + g.k.T5 = function () { EPa(g.YO(this.Ua.U()), "user_info_panel", function () { window.location.reload() }) }; + g.k.Ta = function () { var a = this.Ua.U(), b = { USER_NAME: a.userDisplayName, USER_EMAIL: a.Wi }; this.updateValue("icon", vsa()); this.updateValue("watchingAsUsername", g.DD("Watching as $USER_NAME", b)); a.Wi ? this.updateValue("watchingAsEmail", g.DD("($USER_EMAIL)", b)) : this.updateValue("watchingAsEmail", "") }; g.z(OPa, g.dT); g.k = OPa.prototype; g.k.B7 = function () { this.Fb.Nb() }; + g.k.Daa = function () { AS(this.Uz.element) }; + g.k.Paa = function () { SU(this, this.J.getDebugText(!0)) && MU(this.le, Sx()) }; + g.k.Qaa = function () { SU(this, this.J.getVideoEmbedCode()) && MU(this.le, msa()); this.J.logClick(this.Un.element); iz("EMBED", this.J.getVideoData().videoId, this.J.getPlaylistId() || "") }; + g.k.Raa = function () { SU(this, this.J.getVideoUrl(!0, !0)) && MU(this.le, Wx()); this.J.logClick(this.getVideoUrl.element); iz("COPY_PASTE", this.J.getVideoData().videoId, this.J.getPlaylistId() || "") }; + g.k.Saa = function () { SU(this, this.J.getVideoUrl(!1, !0)) && MU(this.le, Wx()); this.J.logClick(this.ao.element); iz("COPY_PASTE", this.J.getVideoData().videoId, this.J.getPlaylistId() || "") }; + g.k.onLoopChange = function (a) { var b; (b = this.Ll) == null || wS(b, a) }; + g.k.aba = function () { this.J.setLoopVideo(this.Ll.getValue()); this.Fb.Nb(); this.J.logClick(this.Ll.element) }; + g.k.Rba = function (a) { this.J.reportPlaybackIssue(); if (g.xS(a, this.J, !$O(this.J.U()))) { a = this.J; var b = a.app.getFeedbackProductData(); a.Hc("onFeedbackStartRequest", b); a.isFullscreen() && a.toggleFullscreen() } this.Fb.Nb() }; + g.k.mca = function () { g.iR(this.J, "isVideoInfoVisible", []) ? g.iR(this.J, "hideVideoInfo", []) : g.iR(this.J, "showVideoInfo", []); this.Fb.Nb() }; + g.k.lca = function () { this.Rl && (this.jI || (this.jI = new MPa(this.J, this.Rl.element), g.P(this, this.jI), g.GR(this.J, this.jI.element, 4)), this.jI.show(), this.Fb.Nb(), this.J.logClick(this.Rl.element)) }; + g.k.onVideoDataChange = function (a, b) { this.AM(b) }; + g.k.AM = function (a) { + var b = this.J.U(), c = this.J.getPresentingPlayerType() === 2, d = !c || a.isListed; d = !b.ra && !!a.videoId && d; b.playerStyle !== "play" ? b = "https://support.google.com/youtube/?p=report_playback" : (b = { contact_type: "playbackissue", html5: 1, ei: a.eventId, v: a.videoId, p: "movies_playback" }, a.B && (b.fmt = a.B.itag), a.clientPlaybackNonce && (b.cpn = a.clientPlaybackNonce), a.Va && (b.partnerid = a.Va), b = g.Ti("//support.google.com/googleplay/", b)); g.Mx(this.Un, d && a.allowEmbed); g.Mx(this.getVideoUrl, d); g.Mx(this.ao, d && + !a.isLivePlayback); this.mH.Dd(b, "href"); var e; (e = this.Ll) == null || g.Mx(e, !a.isLivePlayback && !c); var f; (f = this.Rl) == null || g.Mx(f, !c) + }; + g.k.Mc = function (a) { g.dT.prototype.Mc.call(this, a); this.J.logVisibility(this.Un.element, a); this.J.logVisibility(this.getVideoUrl.element, a); this.J.logVisibility(this.ao.element, a); this.Ll && this.J.logVisibility(this.Ll.element, a); this.Rl && this.J.logVisibility(this.Rl.element, a) }; g.z(RPa, g.fT); g.k = RPa.prototype; g.k.V5 = function (a) { var b = Us(a); if (!(b && (te(b, "a") || te(b, null, "ytp-no-contextmenu")) || this.Hb)) { var c; this.Ba = (a = (c = a.touches) == null ? void 0 : c.item(0)) ? new g.Gd(a.clientX, a.clientY) : new g.Gd(0, 0); this.ra.start() } }; + g.k.H0 = function () { this.ra.stop() }; + g.k.Aca = function () { this.open(this.Ba) }; + g.k.gY = function () { if (this.C && PPa(this.C)) { var a = PPa(this.C).element; a.tabIndex = -1; a.focus() } else this.element.tabIndex = -1, this.element.focus() }; + g.k.show = function () { this.C || (this.C = new OPa(this.J, this, this.le), g.P(this, this.C), g.hT(this, this.C)); this.C.onLoopChange(this.J.getLoopVideo()); g.fT.prototype.show.call(this); this.J.logVisibility(this.element, !0); this.C.Mc(!0) }; + g.k.hide = function () { QPa(this); g.fT.prototype.hide.call(this); this.J.logVisibility(this.element, !1); this.C && this.C.Mc(!1) }; + g.k.Baa = function (a) { var b = Us(a); this.Hb || b && (te(b, "a") || te(b, null, "ytp-no-contextmenu")) || (a.preventDefault(), this.open(new g.Gd(a.pageX, a.pageY))) }; + g.k.pd = function (a) { if (a) { var b = a.getBoundingClientRect(); this.open(new g.Gd(b.x, b.y)) } g.fT.prototype.pd.call(this, a) }; + g.k.open = function (a) { + SPa(this); var b = this.J.getVideoData(); g.rp(this.element, "ytp-dni", b.Ff); this.element.style.left = ""; this.element.style.top = ""; a.x++; a.y++; g.fT.prototype.pd.call(this); var c = document.body; b = new $l(0, Infinity, Infinity, 0); var d = Zd(c); for (var e = d.j.body, f = d.j.documentElement, h = Xba(d.j); c = Cia(c);)if ((!g.lc || c.clientHeight != 0 || c != e) && c != e && c != f && om(c, "overflow") != "visible") { + var l = g.sm(c), m = new g.Gd(c.clientLeft, c.clientTop); l.x += m.x; l.y += m.y; b.top = Math.max(b.top, l.y); b.right = Math.min(b.right, + l.x + c.clientWidth); b.bottom = Math.min(b.bottom, l.y + c.clientHeight); b.left = Math.max(b.left, l.x) + } e = h.scrollLeft; h = h.scrollTop; b.left = Math.max(b.left, e); b.top = Math.max(b.top, h); d = d.j; d = Wba(d.parentWindow || d.defaultView || window); b.right = Math.min(b.right, e + d.width); b.bottom = Math.min(b.bottom, h + d.height); d = b.top >= 0 && b.left >= 0 && b.bottom > b.top && b.right > b.left ? b : null; b = this.size; a = a.clone(); b = b.clone(); d && (h = b, e = 5, (e & 65) == 65 && (a.x < d.left || a.x >= d.right) && (e &= -2), (e & 132) == 132 && (a.y < d.top || a.y >= d.bottom) && (e &= + -5), a.x < d.left && e & 1 && (a.x = d.left), e & 16 && (f = a.x, a.x < d.left && (a.x = d.left), a.x + h.width > d.right && (h.width = Math.min(d.right - a.x, f + h.width - d.left), h.width = Math.max(h.width, 0))), a.x + h.width > d.right && e & 1 && (a.x = Math.max(d.right - h.width, d.left)), a.y < d.top && e & 4 && (a.y = d.top), e & 32 && (f = a.y, a.y < d.top && (a.y = d.top), a.y + h.height > d.bottom && (h.height = Math.min(d.bottom - a.y, f + h.height - d.top), h.height = Math.max(h.height, 0))), a.y + h.height > d.bottom && e & 4 && (a.y = Math.max(d.bottom - h.height, d.top))); d = new g.gm(0, 0, 0, 0); d.left = + a.x; d.top = a.y; d.width = b.width; d.height = b.height; g.qm(this.element, new g.Gd(d.left, d.top)); g.Ys(this.D); this.D.T(document, "contextmenu", this.Iaa); this.D.T(this.J, "fullscreentoggled", this.onFullscreenToggled); this.D.T(this.J, "pageTransition", this.U5) + }; + g.k.Iaa = function (a) { if (!a.defaultPrevented) { var b = Us(a); g.qe(this.element, b) || this.Nb(); this.J.U().disableNativeContextMenu && a.preventDefault() } }; + g.k.onFullscreenToggled = function () { this.Nb(); SPa(this) }; + g.k.U5 = function () { this.Nb() }; g.z(TU, g.T); TU.prototype.onClick = function () { var a = this, b, c, d, e; return g.J(function (f) { if (f.j == 1) return b = a.api.U(), c = a.api.getVideoData(), d = a.api.getPlaylistId(), e = b.getVideoUrl(c.videoId, d, void 0, !0), g.G(f, VPa(a, e), 2); f.B && UPa(a); a.api.logClick(a.element); g.ua(f) }) }; + TU.prototype.Ta = function () { + this.updateValue("icon", { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M21.9,8.3H11.3c-0.9,0-1.7,.8-1.7,1.7v12.3h1.7V10h10.6V8.3z M24.6,11.8h-9.7c-1,0-1.8,.8-1.8,1.8v12.3 c0,1,.8,1.8,1.8,1.8h9.7c1,0,1.8-0.8,1.8-1.8V13.5C26.3,12.6,25.5,11.8,24.6,11.8z M24.6,25.9h-9.7V13.5h9.7V25.9z" } }] }); this.updateValue("title-attr", "Copy link"); this.visible = TPa(this); g.rp(this.element, "ytp-copylink-button-visible", this.visible); + g.Mx(this, this.visible); this.tooltip.Vh(); this.api.logVisibility(this.element, this.visible && this.Z) + }; + TU.prototype.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.api.logVisibility(this.element, this.visible && a) }; + TU.prototype.xa = function () { g.T.prototype.xa.call(this); g.pp(this.element, "ytp-copylink-button-visible") }; g.z(UU, g.T); UU.prototype.show = function () { g.T.prototype.show.call(this); g.gp(this.B) }; + UU.prototype.hide = function () { this.D.stop(); this.C = 0; g.pp(this.element, "ytp-chapter-seek"); g.pp(this.element, "ytp-time-seeking"); g.T.prototype.hide.call(this) }; + UU.prototype.lH = function (a, b, c, d) { + this.C = a === this.K ? this.C + d : d; this.K = a; var e = a === -1 ? this.Y : this.N; e && this.J.logClick(e); this.G ? this.B.stop() : g.ip(this.B); this.D.start(); this.element.setAttribute("data-side", a === -1 ? "back" : "forward"); var f = 3 * this.J.qb().getPlayerSize().height; e = this.J.qb().getPlayerSize(); e = e.width / 3 - 3 * e.height; this.j.style.width = f + "px"; this.j.style.height = f + "px"; a === 1 ? (this.j.style.left = "", this.j.style.right = e + "px") : a === -1 && (this.j.style.right = "", this.j.style.left = e + "px"); var h = f * + 2.5; f = h / 2; var l = this.Ea("ytp-doubletap-ripple"); l.style.width = h + "px"; l.style.height = h + "px"; a === 1 ? (a = this.J.qb().getPlayerSize().width - b + Math.abs(e), l.style.left = "", l.style.right = a - f + "px") : a === -1 && (a = Math.abs(e) + b, l.style.right = "", l.style.left = a - f + "px"); l.style.top = "calc((33% + " + Math.round(c) + "px) - " + f + "px)"; if (c = this.Ea("ytp-doubletap-ripple")) c.classList.remove("ytp-doubletap-ripple"), c.classList.add("ytp-doubletap-ripple"); WPa(this, this.G ? this.C : d) + }; g.z(YPa, bT); g.k = YPa.prototype; g.k.W5 = function (a) { this.Ka || (this.Ka = new jT(this.J), g.P(this, this.Ka)); var b, c; if ((b = this.yb) == null ? 0 : (c = b.menu) == null ? 0 : c.menuRenderer) this.Ka.open(this.yb.menu.menuRenderer, a.target), a.preventDefault() }; + g.k.Uaa = function () { this.J.ib("innertubeCommand", this.Wc); this.J.logClick(this.infoButton.element) }; + g.k.Qy = function () { return !!this.j }; + g.k.DM = function () { return !!this.j }; + g.k.tG = function (a) { a.target === this.dismissButton.element || a.target === this.overflowButton.element || a.target === this.infoButton.element ? a.preventDefault() : (this.yc && this.J.ib("innertubeCommand", this.yc), this.Rx(!1)) }; + g.k.Ru = function () { this.Rx(!0); var a, b; ((a = this.j) == null ? 0 : (b = a.bannerData) == null ? 0 : b.dismissedStatusKey) && this.Ob.push(this.j.bannerData.dismissedStatusKey); this.bC() }; + g.k.PV = function () { this.bC(); YU(this) }; + g.k.bea = function (a) { + var b = this, c; if (a.id !== ((c = this.j) == null ? void 0 : c.identifier)) { + this.bC(); c = g.w(this.Fa); for (var d = c.next(); !d.done; d = c.next()) { + var e = d.value, f = void 0, h = void 0; if ((d = (f = e) == null ? void 0 : (h = f.bannerData) == null ? void 0 : h.itemData) && e.identifier === a.id) { + h = f = void 0; var l = ((f = e) == null ? void 0 : (h = f.bannerData) == null ? void 0 : h.dismissedStatusKey) || ""; if (this.Ob.includes(l)) break; this.j = e; this.banner.element.setAttribute("aria-label", d.accessibilityLabel || ""); d.trackingParams && (this.D = !0, this.J.setTrackingParams(this.badge.element, + d.trackingParams)); this.qa.show(); aT(this); g.Mx(this.Ga, !d.stayInApp); jQa(this); $Pa(this); XU(this); this.yc = g.R(d.onTapCommand, ix); if (e = g.R(d.menuOnTap, ix)) this.yb = g.R(e, pab); e = void 0; this.banner.update({ thumbnail: (e = (d.thumbnailSources || [])[0]) == null ? void 0 : e.url, title: d.productTitle, price: d.priceReplacementText ? d.priceReplacementText : d.price, salesOriginalPrice: cQa(this), priceDropReferencePrice: dQa(this), promotionText: bQa(this), priceA11yText: eQa(this), affiliateDisclaimer: d.affiliateDisclaimer, vendor: fQa(this) }); + l = h = f = e = void 0; ((e = d) == null ? 0 : (f = e.hiddenProductOptions) == null ? 0 : f.showDropCountdown) && ((h = d) == null ? 0 : (l = h.hiddenProductOptions) == null ? 0 : l.dropTimestampMs) && (this.Kb = new g.fp(function () { iQa(b) }, 1E3), this.Ga.hide(), this.countdownTimer.show(), iQa(this)); + this.J.L("web_player_enable_featured_product_banner_exclusives_on_desktop") && ZPa(this) && (this.Tb = new g.fp(function () { aQa(b) }, 1E3), aQa(this)) + } + } + } + }; + g.k.bC = function () { this.j && (this.j = void 0, this.Vl()) }; + g.k.onVideoDataChange = function (a, b) { + var c = this; a === "dataloaded" && YU(this); a = this.J.L("web_player_enable_vod_featured_product_banner_on_desktop"); var d, e, f = b == null ? void 0 : (d = b.getPlayerResponse()) == null ? void 0 : (e = d.videoDetails) == null ? void 0 : e.isLiveContent; if (a || f) { + var h, l, m; b = g.R((h = b.getWatchNextResponse()) == null ? void 0 : (l = h.playerOverlays) == null ? void 0 : (m = l.playerOverlayRenderer) == null ? void 0 : m.productsInVideoOverlayRenderer, nab); this.J.L("web_player_enable_info_button_in_banner_on_desktop") && + a && !f ? this.infoButton.show() : this.infoButton.hide(); this.J.L("web_player_enable_overflow_button_in_banner_on_desktop") && (this.overflowButton.show(), this.dismissButton.hide(), this.infoButton.hide()); var n = b == null ? void 0 : b.featuredProductsEntityKey; this.trendingOfferEntityKey = b == null ? void 0 : b.trendingOfferEntityKey; var p; if (h = b == null ? void 0 : (p = b.dismissButton) == null ? void 0 : p.trackingParams) this.J.setTrackingParams(this.dismissButton.element, h), this.G = !0; var q; (p = b == null ? void 0 : (q = b.dismissButton) == + null ? void 0 : q.a11yLabel) && this.dismissButton.element.setAttribute("aria-label", g.Qx(p)); this.Wc = b == null ? void 0 : b.onClickCommand; this.Fa.length || (hQa(this, n), XU(this)); var r; (r = this.Rc) == null || r.call(this); this.Rc = g.pQ.subscribe(function () { hQa(c, n); XU(c) }) + } else { + var t; + (t = this.Rc) == null || t.call(this); this.bC() + } + }; + g.k.xa = function () { YU(this); jQa(this); $Pa(this); bT.prototype.xa.call(this) }; g.z(oQa, g.T); oQa.prototype.onClick = function () { this.J.logClick(this.element, this.B) }; g.z(pQa, g.hS); g.k = pQa.prototype; g.k.show = function () { g.hS.prototype.show.call(this); this.J.publish("infopaneldetailvisibilitychange", !0); this.J.logVisibility(this.element, !0); qQa(this, !0) }; + g.k.hide = function () { g.hS.prototype.hide.call(this); this.J.publish("infopaneldetailvisibilitychange", !1); this.J.logVisibility(this.element, !1); qQa(this, !1) }; + g.k.getId = function () { return this.D }; + g.k.Up = function () { return this.itemData.length }; + g.k.onVideoDataChange = function (a, b) { + if (b) { + var c, d, e, f; this.update({ title: ((c = b.Zj) == null ? void 0 : (d = c.title) == null ? void 0 : d.content) || "", body: ((e = b.Zj) == null ? void 0 : (f = e.bodyText) == null ? void 0 : f.content) || "" }); var h; a = ((h = b.Zj) == null ? void 0 : h.trackingParams) || null; this.J.setTrackingParams(this.element, a); h = g.w(this.itemData); for (a = h.next(); !a.done; a = h.next())a.value.dispose(); this.itemData = []; var l; if ((l = b.Zj) == null ? 0 : l.ctaButtons) for (b = g.w(b.Zj.ctaButtons), l = b.next(); !l.done; l = b.next())if (l = g.R(l.value, + jab)) l = new oQa(this.J, l, this.j), l.qe && (this.itemData.push(l), l.Ja(this.items)) + } + }; + g.k.xa = function () { this.hide(); g.hS.prototype.xa.call(this) }; g.z(tQa, g.T); g.k = tQa.prototype; g.k.onVideoDataChange = function (a, b) { sQa(this, b); this.Ee && vQa(this, this.Ee) }; + g.k.Z5 = function (a) { var b = this.J.getVideoData(); this.videoId !== b.videoId && sQa(this, b); vQa(this, a.state); this.Ee = a.state }; + g.k.g0 = function (a) { (this.D = a) ? this.hide() : this.j && this.show() }; + g.k.Y5 = function () { this.B || this.pd(); this.showControls = !0 }; + g.k.X5 = function () { this.B || this.Nb(); this.showControls = !1 }; + g.k.pd = function () { var a; if ((a = this.J) == null ? 0 : a.L("embeds_web_enable_info_panel_sizing_fix")) { var b; a = (b = this.J) == null ? void 0 : b.getPlayerSize(); b = a.width < 380; var c; a = a.height < (((c = this.J) == null ? 0 : c.jd()) ? 400 : 280); var d, e; if ((((d = this.J) == null ? 0 : d.getPlayerStateObject().isCued()) || ((e = this.J) == null ? 0 : g.U(e.getPlayerStateObject(), 1024))) && b && a) return } this.j && !this.D && (this.C.show(), this.J.publish("infopanelpreviewvisibilitychange", !0), this.J.logVisibility(this.element, !0)) }; + g.k.Nb = function () { this.j && !this.D && (this.C.hide(), this.J.publish("infopanelpreviewvisibilitychange", !1), this.J.logVisibility(this.element, !1)) }; + g.k.gea = function () { this.B = !1; this.showControls || this.Nb() }; var ccb = { "default": 0, monoSerif: 1, propSerif: 2, monoSans: 3, propSans: 4, casual: 5, cursive: 6, smallCaps: 7 }; Object.keys(ccb).reduce(function (a, b) { a[ccb[b]] = b; return a }, {}); + var dcb = { none: 0, raised: 1, depressed: 2, uniform: 3, dropShadow: 4 }; Object.keys(dcb).reduce(function (a, b) { a[dcb[b]] = b; return a }, {}); + var ecb = { normal: 0, bold: 1, italic: 2, bold_italic: 3 }; Object.keys(ecb).reduce(function (a, b) { a[ecb[b]] = b; return a }, {}); var fcb, gcb; fcb = [{ option: "#fff", text: "White" }, { option: "#ff0", text: "Yellow" }, { option: "#0f0", text: "Green" }, { option: "#0ff", text: "Cyan" }, { option: "#00f", text: "Blue" }, { option: "#f0f", text: "Magenta" }, { option: "#f00", text: "Red" }, { option: "#080808", text: "Black" }]; gcb = [{ option: 0, text: ZU(0) }, { option: .25, text: ZU(.25) }, { option: .5, text: ZU(.5) }, { option: .75, text: ZU(.75) }, { option: 1, text: ZU(1) }]; + g.bV = [{ option: "fontFamily", text: "Font family", options: [{ option: 1, text: "Monospaced Serif" }, { option: 2, text: "Proportional Serif" }, { option: 3, text: "Monospaced Sans-Serif" }, { option: 4, text: "Proportional Sans-Serif" }, { option: 5, text: "Casual" }, { option: 6, text: "Cursive" }, { option: 7, text: "Small Capitals" }] }, { option: "color", text: "Font color", options: fcb }, { + option: "fontSizeIncrement", text: "Font size", options: [{ option: -2, text: ZU(.5) }, { option: -1, text: ZU(.75) }, { option: 0, text: ZU(1) }, { option: 1, text: ZU(1.5) }, { + option: 2, + text: ZU(2) + }, { option: 3, text: ZU(3) }, { option: 4, text: ZU(4) }] + }, { option: "background", text: "Background color", options: fcb }, { option: "backgroundOpacity", text: "Background opacity", options: gcb }, { option: "windowColor", text: "Window color", options: fcb }, { option: "windowOpacity", text: "Window opacity", options: gcb }, { option: "charEdgeStyle", text: "Character edge style", options: [{ option: 0, text: "None" }, { option: 4, text: "Drop Shadow" }, { option: 1, text: "Raised" }, { option: 2, text: "Depressed" }, { option: 3, text: "Outline" }] }, { + option: "textOpacity", + text: "Font opacity", options: [{ option: .25, text: ZU(.25) }, { option: .5, text: ZU(.5) }, { option: .75, text: ZU(.75) }, { option: 1, text: ZU(1) }] + }]; var hcb = [27, 9, 33, 34, 13, 32, 187, 61, 43, 189, 173, 95, 79, 87, 67, 80, 78, 75, 70, 65, 68, 87, 83, 107, 221, 109, 219]; g.z(BQa, g.OE); g.k = BQa.prototype; + g.k.VY = function (a) { + a.repeat || (this.C.EK = !1); var b = !1, c = a.keyCode, d = Us(a), e = !a.altKey && !a.ctrlKey && !a.metaKey && (!g.oR(this.api.app) || hcb.includes(c)), f = !1, h = !1, l = this.api.U(); a.defaultPrevented ? (e = !1, h = !0) : l.jf && !g.oR(this.api.app) && (e = !1); if (c === 9) b = !0; else { + if (d) switch (c) { + case 32: case 13: if (d.tagName === "BUTTON" || d.tagName === "A" || d.tagName === "INPUT") b = !0, e = !1; else if (e) { var m = d.getAttribute("role"); !m || m !== "option" && m !== "button" && m.indexOf("menuitem") !== 0 || (b = !0, d.click(), f = !0) } break; case 37: case 39: case 36: case 35: b = + d.getAttribute("role") === "slider"; break; case 38: case 40: m = d.getAttribute("role"), d = c === 38 ? d.previousSibling : d.nextSibling, m === "slider" ? b = !0 : e && (m === "option" ? (d && d.getAttribute("role") === "option" && d.focus(), f = b = !0) : m && m.indexOf("menuitem") === 0 && (d && d.hasAttribute("role") && d.getAttribute("role").indexOf("menuitem") === 0 && d.focus(), f = b = !0)) + }if (e && !f) switch (c) { + case 38: f = Math.min(this.api.getVolume() + 5, 100); NU(this.le, f, !1); this.api.setVolume(f); h = f = !0; break; case 40: f = Math.max(this.api.getVolume() - 5, 0); + NU(this.le, f, !0); this.api.setVolume(f); h = f = !0; break; case 36: this.api.Jh() && (this.api.startSeekCsiAction(), this.api.seekTo(0, void 0, void 0, void 0, 79), h = f = !0); break; case 35: this.api.Jh() && (this.api.startSeekCsiAction(), this.api.seekTo(Infinity, void 0, void 0, void 0, 80), h = f = !0) + } + } b && aV(this, !0); (b || h) && this.Jg.Gv(); (f || e && this.handleGlobalKeyDown(c, a.shiftKey, a.ctrlKey, a.altKey, a.metaKey, a.key, a.code, a.repeat)) && a.preventDefault(); l.N && (a = { + keyCode: a.keyCode, altKey: a.altKey, ctrlKey: a.ctrlKey, metaKey: a.metaKey, + shiftKey: a.shiftKey, handled: a.defaultPrevented, fullscreen: this.api.isFullscreen() + }, this.api.Hc("onKeyPress", a)) + }; + g.k.WY = function (a) { var b = a.keyCode; (!this.api.L("web_player_spacebar_control_bugfix") || this.api.L("web_player_spacebar_control_bugfix") && !this.D) && this.handleGlobalKeyUp(b, a.shiftKey, a.ctrlKey, a.altKey, a.metaKey, a.key, a.code) && a.preventDefault() }; + g.k.handleGlobalKeyUp = function (a, b, c, d, e, f, h) { + this.api.publish("keyboardserviceglobalkeyup", { keyCode: a, shiftKey: b, ctrlKey: c, altKey: d, metaKey: e, key: f, code: h }); b = !1; if (this.C.EK) return b; (c = g.ER(this.api.Bb())) && (c = c.Av) && c.Hb && (c.TY(a), b = !0); switch (a) { + case 9: aV(this, !0); b = !0; break; case 32: if (this.api.L("web_speedmaster_spacebar_control") && (!this.api.L("web_player_spacebar_control_bugfix") && !this.D || this.api.L("web_player_spacebar_control_bugfix")) && !this.api.U().jf) { + var l, m; a = (l = this.progressBar) == + null ? void 0 : (m = l.B) == null ? void 0 : m.isEnabled; b = this.Us(a) + } + }return b + }; + g.k.handleGlobalKeyDown = function (a, b, c, d, e, f, h, l) { + l || (this.C.EK = !1); var m = !1, n = this.api.U(); if (n.jf && !g.oR(this.api.app)) return m; var p = g.ER(this.api.Bb()); if (p && (p = p.Av) && p.Hb) switch (a) { case 65: case 68: case 87: case 83: case 107: case 221: case 109: case 219: m = p.SY(a) }n.K || m || (m = f || String.fromCharCode(a).toLowerCase(), this.B += m, "awesome".indexOf(this.B) === 0 ? (m = !0, 7 === this.B.length && xla(this.api.getRootNode(), "ytp-color-party")) : (this.B = m, m = "awesome".indexOf(this.B) === 0)); if (!m && (!g.oR(this.api.app) || + hcb.includes(a))) { + var q = this.api.getVideoData(), r, t; p = (r = this.progressBar) == null ? void 0 : (t = r.B) == null ? void 0 : t.isEnabled; r = q ? q.Xk : []; t = uX ? d : c; switch (a) { + case 80: b && !n.Ra && (MU(this.le, xsa(), "Previous"), this.api.previousVideo(), m = !0); break; case 78: b && !n.Ra && (MU(this.le, Xx(), "Next"), this.api.nextVideo(), m = !0); break; case 74: this.api.Jh() && (this.api.startSeekCsiAction(), this.j ? VU(this.j, -1, 10) : MU(this.le, { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", Fc: !0, S: "ytp-svg-fill", + X: { d: "M 18,11 V 7 l -5,5 5,5 v -4 c 3.3,0 6,2.7 6,6 0,3.3 -2.7,6 -6,6 -3.3,0 -6,-2.7 -6,-6 h -2 c 0,4.4 3.6,8 8,8 4.4,0 8,-3.6 8,-8 0,-4.4 -3.6,-8 -8,-8 z M 16.9,22 H 16 V 18.7 L 15,19 v -0.7 l 1.8,-0.6 h .1 V 22 z m 4.3,-1.8 c 0,.3 0,.6 -0.1,.8 l -0.3,.6 c 0,0 -0.3,.3 -0.5,.3 -0.2,0 -0.4,.1 -0.6,.1 -0.2,0 -0.4,0 -0.6,-0.1 -0.2,-0.1 -0.3,-0.2 -0.5,-0.3 -0.2,-0.1 -0.2,-0.3 -0.3,-0.6 -0.1,-0.3 -0.1,-0.5 -0.1,-0.8 v -0.7 c 0,-0.3 0,-0.6 .1,-0.8 l .3,-0.6 c 0,0 .3,-0.3 .5,-0.3 .2,0 .4,-0.1 .6,-0.1 .2,0 .4,0 .6,.1 .2,.1 .3,.2 .5,.3 .2,.1 .2,.3 .3,.6 .1,.3 .1,.5 .1,.8 v .7 z m -0.9,-0.8 v -0.5 c 0,0 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.1 -0.2,-0.2 -0.1,-0.1 -0.2,-0.1 -0.3,-0.1 -0.1,0 -0.2,0 -0.3,.1 l -0.2,.2 c 0,0 -0.1,.2 -0.1,.3 v 2 c 0,0 .1,.2 .1,.3 0,.1 .1,.1 .2,.2 .1,.1 .2,.1 .3,.1 .1,0 .2,0 .3,-0.1 l .2,-0.2 c 0,0 .1,-0.2 .1,-0.3 v -1.5 z" } + }] + }), + this.api.seekBy(-10 * this.api.getPlaybackRate(), void 0, void 0, 73), m = !0); break; case 76: this.api.Jh() && (this.api.startSeekCsiAction(), this.j ? VU(this.j, 1, 10) : MU(this.le, { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 10,19 c 0,4.4 3.6,8 8,8 4.4,0 8,-3.6 8,-8 h -2 c 0,3.3 -2.7,6 -6,6 -3.3,0 -6,-2.7 -6,-6 0,-3.3 2.7,-6 6,-6 v 4 l 5,-5 -5,-5 v 4 c -4.4,0 -8,3.6 -8,8 z m 6.8,3 H 16 V 18.7 L 15,19 v -0.7 l 1.8,-0.6 h .1 V 22 z m 4.3,-1.8 c 0,.3 0,.6 -0.1,.8 l -0.3,.6 c 0,0 -0.3,.3 -0.5,.3 C 20,21.9 19.8,22 19.6,22 19.4,22 19.2,22 19,21.9 18.8,21.8 18.7,21.7 18.5,21.6 18.3,21.5 18.3,21.3 18.2,21 18.1,20.7 18.1,20.5 18.1,20.2 v -0.7 c 0,-0.3 0,-0.6 .1,-0.8 l .3,-0.6 c 0,0 .3,-0.3 .5,-0.3 .2,0 .4,-0.1 .6,-0.1 .2,0 .4,0 .6,.1 .2,.1 .3,.2 .5,.3 .2,.1 .2,.3 .3,.6 .1,.3 .1,.5 .1,.8 v .7 z m -0.8,-0.8 v -0.5 c 0,0 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.1 -0.2,-0.2 -0.1,-0.1 -0.2,-0.1 -0.3,-0.1 -0.1,0 -0.2,0 -0.3,.1 l -0.2,.2 c 0,0 -0.1,.2 -0.1,.3 v 2 c 0,0 .1,.2 .1,.3 0,.1 .1,.1 .2,.2 .1,.1 .2,.1 .3,.1 .1,0 .2,0 .3,-0.1 l .2,-0.2 c 0,0 .1,-0.2 .1,-0.3 v -1.5 z" } }] }), + this.api.seekBy(10 * this.api.getPlaybackRate(), void 0, void 0, 74), m = !0); break; case 37: this.api.Jh() && (this.api.startSeekCsiAction(), t ? (t = yQa(r, this.api.getCurrentTime() * 1E3), t !== -1 && this.j != null && (XPa(this.j, -1, r[t].title), this.api.seekTo(r[t].startTime / 1E3, void 0, void 0, void 0, 53), m = !0)) : (this.j ? VU(this.j, -1, 5) : MU(this.le, { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 18,11 V 7 l -5,5 5,5 v -4 c 3.3,0 6,2.7 6,6 0,3.3 -2.7,6 -6,6 -3.3,0 -6,-2.7 -6,-6 h -2 c 0,4.4 3.6,8 8,8 4.4,0 8,-3.6 8,-8 0,-4.4 -3.6,-8 -8,-8 z m -1.3,8.9 .2,-2.2 h 2.4 v .7 h -1.7 l -0.1,.9 c 0,0 .1,0 .1,-0.1 0,-0.1 .1,0 .1,-0.1 0,-0.1 .1,0 .2,0 h .2 c .2,0 .4,0 .5,.1 .1,.1 .3,.2 .4,.3 .1,.1 .2,.3 .3,.5 .1,.2 .1,.4 .1,.6 0,.2 0,.4 -0.1,.5 -0.1,.1 -0.1,.3 -0.3,.5 -0.2,.2 -0.3,.2 -0.4,.3 C 18.5,22 18.2,22 18,22 17.8,22 17.6,22 17.5,21.9 17.4,21.8 17.2,21.8 17,21.7 16.8,21.6 16.8,21.5 16.7,21.3 16.6,21.1 16.6,21 16.6,20.8 h .8 c 0,.2 .1,.3 .2,.4 .1,.1 .2,.1 .4,.1 .1,0 .2,0 .3,-0.1 L 18.5,21 c 0,0 .1,-0.2 .1,-0.3 v -0.6 l -0.1,-0.2 -0.2,-0.2 c 0,0 -0.2,-0.1 -0.3,-0.1 h -0.2 c 0,0 -0.1,0 -0.2,.1 -0.1,.1 -0.1,0 -0.1,.1 0,.1 -0.1,.1 -0.1,.1 h -0.7 z" } }] }), + this.api.seekBy(-5 * this.api.getPlaybackRate(), void 0, void 0, 71), m = !0)); break; case 39: this.api.Jh() && (this.api.startSeekCsiAction(), t ? (t = xQa(r, this.api.getCurrentTime() * 1E3), t !== -1 && this.j != null && (XPa(this.j, 1, r[t].title), this.api.seekTo(r[t].startTime / 1E3, void 0, void 0, void 0, 52), m = !0)) : (this.j != null ? VU(this.j, 1, 5) : MU(this.le, { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 10,19 c 0,4.4 3.6,8 8,8 4.4,0 8,-3.6 8,-8 h -2 c 0,3.3 -2.7,6 -6,6 -3.3,0 -6,-2.7 -6,-6 0,-3.3 2.7,-6 6,-6 v 4 l 5,-5 -5,-5 v 4 c -4.4,0 -8,3.6 -8,8 z m 6.7,.9 .2,-2.2 h 2.4 v .7 h -1.7 l -0.1,.9 c 0,0 .1,0 .1,-0.1 0,-0.1 .1,0 .1,-0.1 0,-0.1 .1,0 .2,0 h .2 c .2,0 .4,0 .5,.1 .1,.1 .3,.2 .4,.3 .1,.1 .2,.3 .3,.5 .1,.2 .1,.4 .1,.6 0,.2 0,.4 -0.1,.5 -0.1,.1 -0.1,.3 -0.3,.5 -0.2,.2 -0.3,.2 -0.5,.3 C 18.3,22 18.1,22 17.9,22 17.7,22 17.5,22 17.4,21.9 17.3,21.8 17.1,21.8 16.9,21.7 16.7,21.6 16.7,21.5 16.6,21.3 16.5,21.1 16.5,21 16.5,20.8 h .8 c 0,.2 .1,.3 .2,.4 .1,.1 .2,.1 .4,.1 .1,0 .2,0 .3,-0.1 L 18.4,21 c 0,0 .1,-0.2 .1,-0.3 v -0.6 l -0.1,-0.2 -0.2,-0.2 c 0,0 -0.2,-0.1 -0.3,-0.1 h -0.2 c 0,0 -0.1,0 -0.2,.1 -0.1,.1 -0.1,0 -0.1,.1 0,.1 -0.1,.1 -0.1,.1 h -0.6 z" } }] }), + this.api.seekBy(5 * this.api.getPlaybackRate(), void 0, void 0, 72), m = !0)); break; case 77: this.api.isMuted() ? (this.api.unMute(), NU(this.le, this.api.getVolume(), !1)) : (this.api.mute(), NU(this.le, 0, !0)); m = !0; break; case 32: m = this.api.L("web_speedmaster_spacebar_control") ? !this.api.U().Ra : this.Us(p); break; case 75: m = this.Us(p); break; case 190: b ? !n.enableSpeedOptions || this.api.L("html5_lifa_ui_disablement") && !CQa(this) || (m = this.api.getPlaybackRate(), this.api.setPlaybackRate(m + .25, !0), xPa(this.le, !1), m = !0) : this.api.Jh() && + (this.step(1), m = !0); break; case 188: b ? !n.enableSpeedOptions || this.api.L("html5_lifa_ui_disablement") && !CQa(this) || (m = this.api.getPlaybackRate(), this.api.setPlaybackRate(m - .25, !0), xPa(this.le, !0), m = !0) : this.api.Jh() && (this.step(-1), m = !0); break; case 70: JMa(this.api) && (this.api.toggleFullscreen().catch(function () { }), m = !0); + break; case 27: p ? (this.progressBar.Zw(), m = !0) : this.K() && (m = !0) + }if (n.controlsType !== "3") switch (a) { case 67: g.rU(this.api.Bb()) && (n = this.api.getOption("captions", "track"), this.api.toggleSubtitles(), yPa(this.le, !n || n && !n.displayName), m = !0); break; case 79: cV(this, "textOpacity"); break; case 87: cV(this, "windowOpacity"); break; case 187: case 61: cV(this, "fontSizeIncrement", !1, !0); break; case 189: case 173: cV(this, "fontSizeIncrement", !0, !0) }var u; b || c || d || (a >= 48 && a <= 57 ? u = a - 48 : a >= 96 && a <= 105 && (u = a - 96)); u != null && this.api.Jh() && + (this.api.startSeekCsiAction(), n = this.api.getProgressState(), this.api.seekTo(u / 10 * (n.seekableEnd - n.seekableStart) + n.seekableStart, void 0, void 0, void 0, 81), m = !0); m && this.Jg.Gv() + } this.D || this.api.publish("keyboardserviceglobalkeydown", { keyCode: a, shiftKey: b, ctrlKey: c, altKey: d, metaKey: e, key: f, code: h, repeat: l }, this.C); return m + }; + g.k.step = function (a) { this.api.Jh(); if (this.api.getPlayerStateObject().isPaused()) { var b = this.api.getVideoData().B; b && (b = b.video) && this.api.seekBy(a / (b.fps || 30), void 0, void 0, a > 0 ? 77 : 78) } }; + g.k.Us = function (a) { if (!this.api.U().Ra) { var b; var c, d = (b = this.api.getVideoData()) == null ? void 0 : (c = b.getPlayerResponse()) == null ? void 0 : c.playabilityStatus; if (d) { var e; b = ((e = g.R(d.miniplayer, vab)) == null ? void 0 : e.playbackMode) === "PLAYBACK_MODE_PAUSED_ONLY" } else b = !1; b && this.api.ib("onExpandMiniplayer"); a ? this.progressBar.BP() : (a = !this.api.getPlayerStateObject().isOrWillBePlaying(), this.le.KH(a), a ? this.api.playVideo() : this.api.pauseVideo()); return !0 } return !1 }; + g.k.xa = function () { g.ip(this.G); g.OE.prototype.xa.call(this) }; g.z(g.dV, g.T); g.dV.prototype.Ls = aa(11); g.dV.prototype.Ta = function () { var a = this.J.U(), b = a.C || this.J.L("web_player_hide_overflow_button_if_empty_menu") && this.zi.isEmpty(); a = g.IO(a) && g.CR(this.J) && g.U(this.J.getPlayerStateObject(), 128); var c = this.J.getPlayerSize(); this.visible = this.J.Og() && !a && c.width >= 240 && !g.aR(this.J.getVideoData()) && !b && !this.j && !this.J.jd(); g.rp(this.element, "ytp-overflow-button-visible", this.visible); this.visible && this.J.Vh(); this.J.logVisibility(this.element, this.visible && this.Z) }; + g.dV.prototype.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.J.logVisibility(this.element, this.visible && a) }; + g.dV.prototype.xa = function () { g.T.prototype.xa.call(this); g.pp(this.element, "ytp-overflow-button-visible") }; g.z(DQa, g.hS); g.k = DQa.prototype; g.k.a6 = function (a) { a = Us(a); g.qe(this.element, a) && (g.qe(this.j, a) || g.qe(this.closeButton, a) || iS(this)) }; + g.k.Nb = function () { g.hS.prototype.Nb.call(this); this.J.Cm(this.element) }; + g.k.show = function () { this.Hb && this.J.publish("OVERFLOW_PANEL_OPENED"); g.hS.prototype.show.call(this); this.element.setAttribute("aria-modal", "true"); FQa(this, !0) }; + g.k.hide = function () { g.hS.prototype.hide.call(this); this.element.removeAttribute("aria-modal"); FQa(this, !1) }; + g.k.onFullscreenToggled = function (a) { !a && this.Ck() && iS(this) }; + g.k.isEmpty = function () { return this.actionButtons.length === 0 }; + g.k.focus = function () { for (var a = g.w(this.actionButtons), b = a.next(); !b.done; b = a.next())if (b = b.value, b.Hb) { b.focus(); break } }; g.z(GQa, g.T); GQa.prototype.onClick = function (a) { g.xS(a, this.api) && this.api.playVideoAt(this.index) }; g.z(HQa, g.hS); g.k = HQa.prototype; g.k.show = function () { g.hS.prototype.show.call(this); this.j.T(this.api, "videodatachange", this.NN); this.j.T(this.api, "onPlaylistUpdate", this.NN); this.NN() }; + g.k.hide = function () { g.hS.prototype.hide.call(this); g.Ys(this.j); this.updatePlaylist(null) }; + g.k.NN = function () { this.updatePlaylist(this.api.getPlaylist()); this.api.U().C && (this.Ea("ytp-playlist-menu-title-name").removeAttribute("href"), this.C && (this.Oc(this.C), this.C = null)) }; + g.k.qM = function () { + var a = this.playlist, b = a.author, c = b ? "by $AUTHOR \u2022 $CURRENT_POSITION/$PLAYLIST_LENGTH" : "$CURRENT_POSITION/$PLAYLIST_LENGTH", d = { CURRENT_POSITION: String(a.index + 1), PLAYLIST_LENGTH: String(a.length) }; b && (d.AUTHOR = b); this.update({ title: a.title, subtitle: g.DD(c, d), playlisturl: this.api.getVideoUrl(!0) }); b = a.B; if (b === this.D) this.selected.element.setAttribute("aria-checked", "false"), this.selected = this.playlistData[a.index]; else { + c = g.w(this.playlistData); for (d = c.next(); !d.done; d = c.next())d.value.dispose(); + c = a.length; this.playlistData = []; for (d = 0; d < c; d++) { var e = new GQa(this.api, a, d); this.playlistData.push(e); e.Ja(this.items) } this.selected = this.playlistData[a.index]; this.D = b + } this.selected && this.selected.element.setAttribute("aria-checked", "true") + }; + g.k.zca = function (a) { var b = this.api.getVideoUrl(!0); g.yS(b, this.api, a) }; + g.k.updatePlaylist = function (a) { this.playlist !== a ? (this.playlist && this.playlist.unsubscribe("shuffle", this.qM, this), this.playlist = a, this.D = null, a ? (a.subscribe("shuffle", this.qM, this), this.qM()) : this.Hb && this.hide()) : this.playlist && this.qM() }; + g.k.focus = function () { this.selected.focus() }; + g.k.xa = function () { this.hide(); g.hS.prototype.xa.call(this) }; g.z(eV, g.T); eV.prototype.hide = function () { g.T.prototype.hide.call(this); this.Mc(!1); this.api.Vh() }; + eV.prototype.Ta = function () { + var a = g.IO(this.api.U()); g.rp(this.element, "ytp-playlist-menu-button-tiny", this.api.qb().getPlayerSize().width < 400 && !a); this.api.jd() ? this.hide() : this.playlist && this.api.getPresentingPlayerType() !== 2 ? (this.update({ text: g.DD("$CURRENT_POSITION/$PLAYLIST_LENGTH", { CURRENT_POSITION: String(this.playlist.index + 1), PLAYLIST_LENGTH: String(this.playlist.length) }), title: g.DD("Playlist: $PLAYLIST_NAME", { PLAYLIST_NAME: this.playlist.title }) }), this.Hb || (this.show(), this.api.Vh()), this.visible = + !0, this.Mc(!0)) : this.Hb && this.hide() + }; + eV.prototype.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.api.logVisibility(this.element, this.visible && a) }; + eV.prototype.j = function () { this.playlist && this.playlist.unsubscribe("shuffle", this.Ta, this); (this.playlist = this.api.getPlaylist()) && this.playlist.subscribe("shuffle", this.Ta, this); this.Ta() }; g.z(IQa, g.T); g.k = IQa.prototype; g.k.c6 = function () { this.C ? MQa(this) : LQa(this) }; + g.k.b6 = function () { this.C ? (fV(this), this.G = !0) : LQa(this) }; + g.k.aaa = function () { this.D = !0; this.zH(1); this.J.publish("promotooltipacceptbuttonclicked", this.acceptButton); fV(this); this.j && this.J.logClick(this.acceptButton) }; + g.k.Haa = function () { this.D = !0; this.zH(2); fV(this); this.j && this.J.logClick(this.dismissButton) }; + g.k.d6 = function (a) { + if (this.J.getPresentingPlayerType() === 1 || this.J.getPresentingPlayerType() === 2 && this.K) { + var b = !0, c = g.de("ytp-ad-overlay-ad-info-dialog-container"), d = Us(a); if (this.B && d && g.qe(this.B, d)) this.B = null; else { + this.J.getPresentingPlayerType() === 1 && d && Array.from(d.classList).forEach(function (l) { l.startsWith("ytp-ad") && (b = !1) }); + var e = NQa(this.tooltipRenderer), f; if (((f = this.tooltipRenderer.dismissStrategy) == null ? void 0 : f.type) === "TOOLTIP_DISMISS_TYPE_TAP_ANYWHERE") e && (b = b && !g.qe(this.element, d)); else { var h; ((h = this.tooltipRenderer.dismissStrategy) == null ? void 0 : h.type) === "TOOLTIP_DISMISS_TYPE_TAP_INTERNAL" && (b = e ? !1 : b && g.qe(this.element, d)) } this.targetElement && this.Hb && !c && (!d || b && g.$y(a)) && (this.D = !0, fV(this)) + } + } + }; + g.k.zH = function (a) { var b = this.tooltipRenderer.promoConfig; if (b) { switch (a) { case 0: var c; if ((c = b.impressionEndpoints) == null ? 0 : c.length) var d = b.impressionEndpoints[0]; break; case 1: d = b.acceptCommand; break; case 2: d = b.dismissCommand }var e; a = (e = g.R(d, iab)) == null ? void 0 : e.feedbackToken; d && a && (e = { feedbackTokens: [a] }, a = this.J.Im(), (a == null ? 0 : mta(d, a.tP)) && wA(a, d, e)) } }; + g.k.kc = function () { this.G || (this.targetElement || (this.targetElement = JQa(this)), MQa(this)) }; + var KQa = { "ytp-settings-button": g.cy() }; g.z(gV, g.T); gV.prototype.onStateChange = function (a) { this.zd(a.state) }; + gV.prototype.zd = function (a) { g.Mx(this, g.U(a, 2)) }; + gV.prototype.onClick = function () { this.J.getPlayerStateObject().isOrWillBePlaying(); this.J.playVideo() }; g.z(hV, g.T); hV.prototype.onClick = function (a) { this.api.logClick(this.element); var b = g.Ti(this.api.U().Fa, { focusSearch: "true" }), c = {}; g.iR(this.api, "addEmbedsConversionTrackingParams", [c]); this.api.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(c, "emb_search"); b = g.Ti(b, c); var d; (c = (d = this.api.getVideoData().w4) == null ? void 0 : d.params) && (b = g.Ti(b, { bp: c })); g.Md(b); a.preventDefault() }; + hV.prototype.j = function () { if (this.api.L("embeds_web_enable_search_button")) { var a = this.api.U(); var b = this.api.getVideoData(), c = this.api.qb().getPlayerSize().width; a = g.IO(a) && c >= this.B && !a.C && !b.isAd() && !this.api.jd() } else a = !1; this.visible = a; g.Mx(this, this.visible); g.rp(this.element, "ytp-search-button-visible", this.visible); g.rp(this.element, "ytp-show-search-title", !this.api.Og()); this.api.logVisibility(this.element, this.visible && this.Z) }; + hV.prototype.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.api.logVisibility(this.element, this.visible && a) }; g.z(g.iV, g.T); g.k = g.iV.prototype; g.k.Ms = aa(8); g.k.onClick = function () { + var a = this, b = this.api.U(), c = this.api.getVideoData(this.api.getPresentingPlayerType()), d = this.api.getPlaylistId(); b = b.getVideoUrl(c.videoId, d, void 0, !0); if (navigator.share) try { var e = navigator.share({ title: c.title, url: b }); e instanceof Promise && e.catch(function (f) { PQa(a, f) }) } catch (f) { f instanceof Error && PQa(this, f) } else this.Ne.Dr(), iS(this.B, this.element, !1); + this.api.logClick(this.element) + }; + g.k.Ta = function () { + var a = this.api.U(), b = this.api.jd(); g.rp(this.element, "ytp-show-share-title", g.IO(a) && !b); this.Ne.Hh() && b ? (a = (this.api.qb().getPlayerSize().width - this.api.getVideoContentRect().width) / 2, g.jm(this.element, "right", a + "px")) : b && g.jm(this.element, "right", "0px"); this.updateValue("icon", { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 20.20,14.19 0,-4.45 7.79,7.79 -7.79,7.79 0,-4.56 C 16.27,20.69 12.10,21.81 9.34,24.76 8.80,25.13 7.60,27.29 8.12,25.65 9.08,21.32 11.80,17.18 15.98,15.38 c 1.33,-0.60 2.76,-0.98 4.21,-1.19 z" } }] }); + this.visible = OQa(this); g.rp(this.element, "ytp-share-button-visible", this.visible); g.Mx(this, this.visible); this.tooltip.Vh(); this.api.logVisibility(this.element, OQa(this) && this.Z) + }; + g.k.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.api.logVisibility(this.element, this.visible && a) }; + g.k.xa = function () { g.T.prototype.xa.call(this); g.pp(this.element, "ytp-share-button-visible") }; g.z(RQa, g.hS); g.k = RQa.prototype; g.k.e6 = function (a) { a = Us(a); g.qe(this.G, a) || g.qe(this.closeButton, a) || iS(this) }; + g.k.Nb = function () { g.hS.prototype.Nb.call(this); this.tooltip.Cm(this.element); this.api.logVisibility(this.j, !1); for (var a = g.w(this.C), b = a.next(); !b.done; b = a.next())b = b.value, this.api.hasVe(b.element) && this.api.logVisibility(b.element, !1) }; + g.k.show = function () { var a = this.Hb; g.hS.prototype.show.call(this); this.Ta(); a || this.api.ib("onSharePanelOpened") }; + g.k.B$ = function () { this.Hb && this.Ta() }; + g.k.Ta = function () { + var a = this; g.np(this.element, "ytp-share-panel-loading"); g.pp(this.element, "ytp-share-panel-fail"); var b = this.api.getVideoData(), c = this.api.getPlaylistId() && this.D.checked; b.getSharePanelCommand && wA(this.api.Im(), b.getSharePanelCommand, { includeListId: c }).then(function (d) { a.La() || (g.pp(a.element, "ytp-share-panel-loading"), TQa(a, d)) }); + b = this.api.getVideoUrl(!0, !0, !1, !1); this.updateValue("link", b); this.updateValue("linkText", b); this.updateValue("shareLinkWithUrl", g.DD("Share link $URL", { URL: b })); AS(this.j); this.api.logVisibility(this.j, !0) + }; + g.k.onFullscreenToggled = function (a) { !a && this.Ck() && iS(this) }; + g.k.focus = function () { this.j.focus() }; + g.k.xa = function () { g.hS.prototype.xa.call(this); SQa(this) }; g.z(WQa, bT); g.k = WQa.prototype; g.k.xa = function () { aRa(this); bT.prototype.xa.call(this) }; + g.k.tG = function (a) { a.target !== this.dismissButton.element && (this.Rx(!1), this.J.ib("innertubeCommand", this.onClickCommand)) }; + g.k.Ru = function () { this.Wa = !0; this.Rx(!0); this.Vl() }; + g.k.zba = function (a) { this.N = a; this.Vl() }; + g.k.onVideoDataChange = function (a, b) { + if (a = !!b.videoId && this.videoId !== b.videoId) this.videoId = b.videoId, this.Wa = !1, this.Ba = !0, this.Y = this.ra = !1, aRa(this), $Qa(this, !1), this.B = this.j = !1, kV(this), XQa(this); if (a || !b.videoId) this.G = this.D = !1; var c, d; if (b == null ? 0 : (c = b.getPlayerResponse()) == null ? 0 : (d = c.videoDetails) == null ? 0 : d.isLiveContent) this.If(!1); else { + var e, f, h; b = g.R((e = b.getWatchNextResponse()) == null ? void 0 : (f = e.playerOverlays) == null ? void 0 : (h = f.playerOverlayRenderer) == null ? void 0 : h.productsInVideoOverlayRenderer, + nab); this.N = this.enabled = !1; if (b) { + if (this.J.L("web_player_enable_vod_featured_product_banner_on_desktop") && (e = b == null ? void 0 : b.featuredProductsEntityKey)) { f = g.pQ.getState().entities; var l; if ((l = GK(f, "featuredProductsEntity", e)) == null ? 0 : l.productsData) { this.If(!1); return } } this.enabled = !0; if (!this.D) { var m; l = (m = b.badgeInteractionLogging) == null ? void 0 : m.trackingParams; (this.D = !!l) && this.J.setTrackingParams(this.badge.element, l || null) } if (!this.G) { + var n; if (this.G = !((n = b.dismissButton) == null || !n.trackingParams)) { + var p; + this.J.setTrackingParams(this.dismissButton.element, ((p = b.dismissButton) == null ? void 0 : p.trackingParams) || null) + } + } b.isContentForward && (m = b.productsData, $Qa(this, !0), XQa(this), m = ZQa(this, m), n = [], m.length > 0 && n.push(m[0]), m.length > 1 && (p = new g.T({ I: "div", S: "ytp-suggested-action-more-products-icon" }), g.P(this, p), n.push(p), n.push.apply(n, g.x(m.slice(1)))), this.K = new g.T({ I: "div", V: n, S: "ytp-suggested-action-content-forward-container" }), g.P(this, this.K), this.Ma.element.append(this.K.element)); this.text = g.Qx(b.text); + var q; if (m = (q = b.dismissButton) == null ? void 0 : q.a11yLabel) this.Va = g.Qx(m); this.onClickCommand = b.onClickCommand; this.timing = b.timing; this.lf() + } qNa(this); aT(this); this.Vl() + } + }; + g.k.Qy = function () { return !this.N && this.enabled && !this.Wa && !this.J.Og() && !this.Ab && (this.Y || this.Ba) }; + g.k.wL = function (a) { + bT.prototype.wL.call(this, a); if (this.j || this.B) this.timing && jV(this.timing.preview) && (this.j = !1, kV(this), this.B = !1, kV(this), this.J.rf("shopping_overlay_preview_collapsed"), this.J.rf("shopping_overlay_preview_expanded"), a = lV(this.timing.preview.startSec, this.timing.preview.endSec, "shopping_overlay_expanded"), jV(this.timing.expanded) && this.timing.preview.endSec === this.timing.expanded.startSec && (this.J.rf("shopping_overlay_expanded"), a.end = this.timing.expanded.endSec * 1E3), this.J.lf([a])), + this.ra = !0, aT(this); kV(this) + }; + g.k.If = function (a) { (this.Y = a) ? ($S(this), aT(this, !1)) : (aRa(this), this.Ra.start()); this.Vl() }; + g.k.lf = function (a) { var b = this.timing; a = (a === void 0 ? 0 : a) + this.J.getCurrentTime(); var c = [], d = b.visible, e = b.preview; b = b.expanded; jV(d) && (UQa(d, a), c.push(lV(d.startSec, d.endSec, "shopping_overlay_visible"))); jV(e) && (UQa(e, a), d = e.startSec + 1, c.push(lV(e.startSec, d, "shopping_overlay_preview_collapsed")), c.push(lV(d, e.endSec, "shopping_overlay_preview_expanded"))); jV(b) && (UQa(b, a), c.push(lV(b.startSec, b.endSec, "shopping_overlay_expanded"))); this.J.lf(c) }; g.z(dRa, g.T); + dRa.prototype.Ta = function () { + var a = this.api.U(); g.Mx(this, g.IO(a) && this.api.jd()); this.subscribeButton && this.api.logVisibility(this.subscribeButton.element, this.Hb); var b = this.api.getVideoData(), c = !1; this.api.getPresentingPlayerType() === 2 ? c = !!b.videoId && !!b.isListed && !!b.author && !!b.Ab && !!b.profilePicture : g.IO(a) && (c = !!b.videoId && !!b.Ab && !!b.profilePicture && !g.aR(b) && !a.C && !(a.Z && this.api.getPlayerSize().width < 200)); var d = b.profilePicture; a = g.IO(a) ? b.expandedTitle : b.author; d = d === void 0 ? "" : d; a = a === + void 0 ? "" : a; c ? (this.B !== d && (this.j.style.backgroundImage = "url(" + d + ")", this.B = d), this.updateValue("channelLogoLabel", g.DD("Photo image of $CHANNEL_NAME", { CHANNEL_NAME: a })), g.np(this.api.getRootNode(), "ytp-title-enable-channel-logo")) : g.pp(this.api.getRootNode(), "ytp-title-enable-channel-logo"); this.api.logVisibility(this.j, c && this.Z); this.api.logVisibility(this.channelName, c && this.Z); this.subscribeButton && (this.subscribeButton.channelId = b.Wl); this.updateValue("expandedTitle", b.expandedTitle) + }; g.z(mV, g.hS); mV.prototype.show = function () { g.hS.prototype.show.call(this); this.j.start() }; + mV.prototype.hide = function () { g.hS.prototype.hide.call(this); this.j.stop() }; + mV.prototype.ju = function (a, b) { + a === "dataloaded" && ((this.Bj = b.Bj, this.Qf = b.Qf, isNaN(this.Bj) || isNaN(this.Qf)) ? this.C && (this.J.rf("intro"), this.J.removeEventListener(g.sD("intro"), this.K), this.J.removeEventListener(g.tD("intro"), this.G), this.J.removeEventListener("onShowControls", this.D), this.hide(), this.C = !1) : (this.J.addEventListener(g.sD("intro"), this.K), this.J.addEventListener(g.tD("intro"), this.G), this.J.addEventListener("onShowControls", this.D), a = new g.qD(this.Bj, this.Qf, { priority: 9, namespace: "intro" }), + this.J.lf([a]), this.C = !0)) + }; g.z(nV, g.T); nV.prototype.onClick = function () { this.J.xv() }; + nV.prototype.Ta = function () { + var a = !0; g.IO(this.J.U()) && (a = a && this.J.qb().getPlayerSize().width >= 480); g.Mx(this, a); this.updateValue("icon", this.J.ji() ? { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, X: { d: "M11,13 L25,13 L25,21 L11,21 L11,13 Z M12,28 L24,28 L18,22 L12,28 Z M27,9 L9,9 C7.9,9 7,9.9 7,11 L7,23 C7,24.1 7.9,25 9,25 L13,25 L13,23 L9,23 L9,11 L27,11 L27,23 L23,23 L23,25 L27,25 C28.1,25 29,24.1 29,23 L29,11 C29,9.9 28.1,9 27,9 L27,9 Z", fill: "#fff" } }] } : + { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M12,28 L24,28 L18,22 L12,28 Z M27,9 L9,9 C7.9,9 7,9.9 7,11 L7,23 C7,24.1 7.9,25 9,25 L13,25 L13,23 L9,23 L9,11 L27,11 L27,23 L23,23 L23,25 L27,25 C28.1,25 29,24.1 29,23 L29,11 C29,9.9 28.1,9 27,9 L27,9 Z" } }] }) + }; g.z(fRa, g.T); fRa.prototype.xa = function () { this.j = null; g.T.prototype.xa.call(this) }; g.z(oV, g.T); oV.prototype.onClick = function () { this.J.ib("innertubeCommand", this.B) }; + oV.prototype.N = function (a) { a !== this.G && (this.update({ title: a, ariaLabel: a }), this.G = a); a ? this.show() : this.hide() }; + oV.prototype.K = function () { this.j.disabled = this.B == null; g.rp(this.j, "ytp-chapter-container-disabled", this.j.disabled); this.Tc() }; g.z(pV, oV); pV.prototype.onClickCommand = function (a) { g.R(a, oQ) && this.Tc() }; + pV.prototype.updateVideoData = function (a, b) { var c, d, e; a = g.R((c = b.getWatchNextResponse()) == null ? void 0 : (d = c.playerOverlays) == null ? void 0 : (e = d.playerOverlayRenderer) == null ? void 0 : e.decoratedPlayerBarRenderer, EP); var f; this.B = (f = g.R(a == null ? void 0 : a.playerBarActionButton, g.nI)) == null ? void 0 : f.command; oV.prototype.K.call(this) }; + pV.prototype.Tc = function () { var a = "", b = this.D.j, c, d = ((c = this.J.getLoopRange()) == null ? void 0 : c.type) === "clips"; if (b.length > 1 && !d) { a = this.J.getProgressState().current * 1E3; c = $U(b, a); a = b[c].title || "Chapters"; if (c !== this.currentIndex || this.C) this.J.ib("innertubeCommand", b[c].onActiveCommand), this.currentIndex = c; this.C = !1 } else this.C = !0; oV.prototype.N.call(this, a) }; g.z(qV, g.T); qV.prototype.G = function (a) { g.U(a.state, 32) ? iRa(this, this.api.zk()) : this.Hb && (g.U(a.state, 16) || g.U(a.state, 1)) || this.j.hide() }; + qV.prototype.Cg = function () { var a = this.api.getPlayerStateObject(); (g.U(a, 32) || g.U(a, 16)) && jRa(this) }; + qV.prototype.K = function () { this.C = NaN; jRa(this) }; + qV.prototype.hide = function () { this.B && iRa(this, null); g.T.prototype.hide.call(this) }; g.z(kRa, g.T); g.k = kRa.prototype; g.k.onClick = function () { var a = this; if (this.J.U().Ab || this.J.U().Z) { this.J.logClick(this.element); try { this.J.toggleFullscreen().catch(function (b) { a.xF(b) }) } catch (b) { this.xF(b) } } else iS(this.message, this.element, !0) }; + g.k.xF = function (a) { String(a).includes("fullscreen error") ? g.fx(a) : g.ex(a); this.XR() }; + g.k.XR = function () { this.disable(); this.message.pd(this.element, !0) }; + g.k.ly = function () { Ns() === this.J.getRootNode() ? this.B.start() : (this.B.stop(), this.message && this.message.hide()) }; + g.k.u7 = function () { if (window.screen && window.outerWidth && window.outerHeight) { var a = window.screen.width * .9, b = window.screen.height * .9, c = Math.max(window.outerWidth, window.innerWidth), d = Math.max(window.outerHeight, window.innerHeight); if (c > d !== a > b) { var e = c; c = d; d = e } a > c && b > d && this.XR() } }; + g.k.disable = function () { + var a = this; if (!this.message) { + var b = (Ks(["requestFullscreen", "webkitRequestFullscreen", "mozRequestFullScreen", "msRequestFullscreen"], document.body) != null ? "Full screen is unavailable. $BEGIN_LINKLearn More$END_LINK" : "Your browser doesn't support full screen. $BEGIN_LINKLearn More$END_LINK").split(/\$(BEGIN|END)_LINK/); this.message = new g.hS(this.J, { + I: "div", Na: ["ytp-popup", "ytp-generic-popup"], X: { role: "alert", tabindex: "0" }, V: [b[0], { + I: "a", X: { + href: "https://support.google.com/youtube/answer/6276924", + target: this.J.U().Y + }, va: b[2] + }, b[4]] + }, 100, !0); this.message.hide(); g.P(this, this.message); this.message.subscribe("show", function (c) { a.Ne.NE(a.message, c) }); + g.GR(this.J, this.message.element, 4); this.element.setAttribute("aria-disabled", "true"); this.element.setAttribute("aria-haspopup", "true"); (0, this.j)(); this.j = null + } + }; + g.k.Ta = function () { var a = JMa(this.J), b = this.J.U().Z && this.J.getPlayerSize().width < 250; g.Mx(this, a && !b); this.J.logVisibility(this.element, this.Hb) }; + g.k.hn = function (a) { + if (a) { + var b = { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "g", S: "ytp-fullscreen-button-corner-2", V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 14,14 -4,0 0,2 6,0 0,-6 -2,0 0,4 0,0 z" } }] }, { I: "g", S: "ytp-fullscreen-button-corner-3", V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 22,14 0,-4 -2,0 0,6 6,0 0,-2 -4,0 0,0 z" } }] }, { I: "g", S: "ytp-fullscreen-button-corner-0", V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 20,26 2,0 0,-4 4,0 0,-2 -6,0 0,6 0,0 z" } }] }, { + I: "g", + S: "ytp-fullscreen-button-corner-1", V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 10,22 4,0 0,4 2,0 0,-6 -6,0 0,2 0,0 z" } }] + }] + }; a = g.xR(this.J, "Exit full screen", "f"); this.update({ "data-title-no-tooltip": "Exit full screen" }); document.activeElement === this.element && this.J.getRootNode().focus(); document.pictureInPictureElement && document.exitPictureInPicture().catch(function (c) { g.fx(c) }) + } else b = { + I: "svg", + X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ I: "g", S: "ytp-fullscreen-button-corner-0", V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 10,16 2,0 0,-4 4,0 0,-2 L 10,10 l 0,6 0,0 z" } }] }, { I: "g", S: "ytp-fullscreen-button-corner-1", V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 20,10 0,2 4,0 0,4 2,0 L 26,10 l -6,0 0,0 z" } }] }, { I: "g", S: "ytp-fullscreen-button-corner-2", V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "m 24,24 -4,0 0,2 L 26,26 l 0,-6 -2,0 0,4 0,0 z" } }] }, { + I: "g", S: "ytp-fullscreen-button-corner-3", + V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 12,20 10,20 10,26 l 6,0 0,-2 -4,0 0,-4 0,0 z" } }] + }] + }, a = g.xR(this.J, "Full screen", "f"), this.update({ "data-title-no-tooltip": "Full screen" }); a = this.message ? null : a; this.update({ title: a, icon: b }); this.Ne.Re().Vh() + }; + g.k.xa = function () { this.message || ((0, this.j)(), this.j = null); g.T.prototype.xa.call(this) }; g.z(rV, g.T); rV.prototype.onClick = function () { this.J.logClick(this.element); this.J.seekBy(this.j, !0); var a = this.j > 0 ? 1 : -1, b = Math.abs(this.j), c = this.J.Ji().Uw; c && VU(c, a, b); this.B.isActive() ? this.C = !0 : (a = ["ytp-jump-spin"], this.j < 0 && a.push("backwards"), this.element.classList.add.apply(this.element.classList, g.x(a)), g.gp(this.B)) }; g.z(sV, oV); sV.prototype.onClickCommand = function (a) { g.R(a, lab) && this.Tc() }; + sV.prototype.updateVideoData = function () { var a, b; this.B = (a = mRa(this)) == null ? void 0 : (b = a.onTap) == null ? void 0 : b.innertubeCommand; oV.prototype.K.call(this) }; + sV.prototype.Tc = function () { var a = "", b = this.D.K, c, d = (c = mRa(this)) == null ? void 0 : c.headerTitle; c = d ? g.Qx(d) : ""; var e; d = ((e = this.J.getLoopRange()) == null ? void 0 : e.type) === "clips"; b.length > 1 && !d && (a = this.J.getProgressState().current * 1E3, e = wQa(b, a), a = e != null ? b[e].title : c, e != null && e !== this.currentIndex && (this.J.ib("innertubeCommand", b[e].onActiveCommand), this.currentIndex = e)); oV.prototype.N.call(this, a) }; g.z(tV, g.T); tV.prototype.onClick = function () { this.J.ib("onCollapseMiniplayer"); this.J.logClick(this.element) }; + tV.prototype.Ta = function () { this.visible = !this.J.isFullscreen(); g.Mx(this, this.visible); this.J.logVisibility(this.element, this.visible && this.Z) }; + tV.prototype.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.J.logVisibility(this.element, this.visible && a) }; g.z(nRa, g.T); g.k = nRa.prototype; g.k.WV = function (a) { this.visible = a.width >= 300 || this.Ga; g.Mx(this, this.visible); this.J.logVisibility(this.element, this.visible && this.Z) }; + g.k.kba = function () { this.J.U().Va ? this.J.isMuted() ? this.J.unMute() : this.J.mute() : iS(this.message, this.element, !0); this.J.logClick(this.element) }; + g.k.onVolumeChange = function (a) { this.setVolume(a.volume, a.muted) }; + g.k.setVolume = function (a, b) { + var c = this, d = b ? 0 : a / 100, e = this.J.U(); a = d === 0 ? 1 : a > 50 ? 1 : 0; if (this.G !== a) { + var f = this.ra; isNaN(f) ? qRa(this, a) : RNa(this.Fa, function (l) { qRa(c, f + (c.G - f) * l) }, 250); + this.G = a + } d = d === 0 ? 1 : 0; if (this.D !== d) { + var h = this.Y; isNaN(h) ? rRa(this, d) : RNa(this.qa, function (l) { rRa(c, h + (c.D - h) * l) }, 250); + this.D = d + } e.Va && (e = g.xR(this.J, "Mute", "m"), d = g.xR(this.J, "Unmute", "m"), this.updateValue("title", b ? d : e), this.update({ "data-title-no-tooltip": b ? "Unmute" : "Mute" }), this.tooltip.Vh()) + }; + g.k.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.J.logVisibility(this.element, this.visible && a) }; + var oRa = ["M", 19, ",", 11.29, " C", 21.89, ",", 12.15, " ", 24, ",", 14.83, " ", 24, ",", 18, " C", 24, ",", 21.17, " ", 21.89, ",", 23.85, " ", 19, ",", 24.71, " L", 19, ",", 24.77, " C", 21.89, ",", 23.85, " ", 24, ",", 21.17, " ", 24, ",", 18, " C", 24, ",", 14.83, " ", 21.89, ",", 12.15, " ", 19, ",", 11.29, " L", 19, ",", 11.29, " Z"], pRa = ["M", 19, ",", 11.29, " C", 21.89, ",", 12.15, " ", 24, ",", 14.83, " ", 24, ",", 18, " C", 24, ",", 21.17, " ", 21.89, ",", 23.85, " ", 19, ",", 24.71, " L", 19, ",", 26.77, " C", 23.01, ",", 25.86, " ", 26, ",", 22.28, " ", 26, ",", 18, " C", 26, ",", 13.72, " ", + 23.01, ",", 10.14, " ", 19, ",", 9.23, " L", 19, ",", 11.29, " Z"]; g.z(g.uV, g.T); g.uV.prototype.onStateChange = function (a) { this.zd(a.state) }; + g.uV.prototype.zd = function (a) { + var b = g.IQ(this.J.getVideoData()), c = !1; a.isOrWillBePlaying() ? a = b ? 4 : 2 : g.U(a, 2) ? (a = 3, c = b) : a = 1; this.element.disabled = c; if (this.j !== a) { + b = null; switch (a) { case 2: b = g.xR(this.J, "Pause", "k"); this.update({ "data-title-no-tooltip": "Pause" }); break; case 3: b = "Replay"; this.update({ "data-title-no-tooltip": "Replay" }); break; case 1: b = g.xR(this.J, "Play", "k"); this.update({ "data-title-no-tooltip": "Play" }); break; case 4: b = "Stop live playback", this.update({ "data-title-no-tooltip": "Stop live playback" }) }a === + 3 ? this.update({ title: b, icon: sRa(a) }) : (this.update({ title: b }), (b = sRa(a)) && this.j && this.j !== 3 ? TNa(this.transition, this.element, b) : this.updateValue("icon", b)); this.tooltip.Vh(); this.j = a + } + }; + g.uV.prototype.onVideoDataChange = function () { g.rp(this.element, "ytp-play-button-playlist", g.CR(this.J)) }; + g.uV.prototype.Us = function (a) { + this.J.logClick(this.element); if (this.J.getPlayerStateObject().isOrWillBePlaying()) this.J.pauseVideo(); else { if (this.J.isMinimized() && this.J.getPlayerStateObject().isCued()) { var b = {}, c; if ((c = this.J.getVideoData()) == null ? 0 : c.K) b.cttAuthInfo = { token: this.J.getVideoData().K, videoId: this.J.getVideoData().videoId }; rA("direct_playback", b); this.J.Wh().timerName = "direct_playback" } else this.j === 3 && TT(this.J.Wh()); this.J.playVideo() } this.J.isMinimized() && (a == null ? void 0 : a.type) === + "click" && this.element.blur() + }; g.z(g.vV, g.T); g.k = g.vV.prototype; g.k.onVideoDataChange = function () { uRa(this); this.D && (this.Oc(this.D), this.D = null); this.videoData = this.J.getVideoData(1); if (this.playlist = this.J.getPlaylist()) this.playlist.subscribe("shuffle", this.onVideoDataChange, this), this.D = this.T(this.J, "progresssync", this.f6); this.C = vRa(this); tRa(this); this.ON(this.J.qb().getPlayerSize()) }; + g.k.ON = function (a) { a = a === void 0 ? this.J.qb().getPlayerSize() : a; var b, c = ((b = this.J.getLoopRange()) == null ? void 0 : b.type) === "clips"; a = (g.CR(this.J) || this.j && g.HR(this.J) && !this.J.L("web_hide_next_button") || wRa(this)) && !c && (this.j || a.width >= 400); g.Mx(this, a); this.J.logVisibility(this.element, a) }; + g.k.onClick = function (a) { this.J.logClick(this.element); var b = !0; this.K ? b = g.xS(a, this.J) : a.preventDefault(); b && (this.j && this.J.getPresentingPlayerType() === 5 ? this.J.publish("ytoprerollinternstitialnext") : this.j ? (TT(this.J.Wh()), this.J.publish("playlistnextbuttonclicked", this.element), this.J.nextVideo(!0)) : this.C ? this.J.seekTo(0) : (TT(this.J.Wh()), this.J.publish("playlistprevbuttonclicked", this.element), this.J.previousVideo(!0))) }; + g.k.f6 = function () { var a = vRa(this); a !== this.C && (this.C = a, tRa(this)) }; + g.k.xa = function () { this.B && (this.B(), this.B = null); uRa(this); g.T.prototype.xa.call(this) }; g.z(yRa, g.T); g.k = yRa.prototype; g.k.i6 = function (a) { this.RN(a.pageX); this.QN(a.pageX + a.deltaX); zRa(this) }; + g.k.RN = function (a) { this.qa = a - this.Ka }; + g.k.QN = function (a) { a -= this.Ka; !isNaN(this.qa) && this.thumbnails.length > 0 && (this.Y = a - this.qa, this.thumbnails.length > 0 && this.Y !== 0 && (this.C = this.N + this.Y, a = ERa(this, this.C), this.C <= this.j / 2 && this.C >= DRa(this) ? (this.api.seekTo(a, !1, void 0, void 0, 25), g.jm(this.Ba, "transform", "translateX(" + (this.C - this.j / 2) + "px)"), xRa(this, a)) : this.C = this.N)) }; + g.k.g6 = function () { this.ra && (this.ra.HA = !0); var a = (0, g.Zt)() - this.Va < 300; if (Math.abs(this.Y) < 5 && !a) { this.Va = (0, g.Zt)(); a = this.qa + this.Y; var b = this.j / 2 - a; this.RN(a); this.QN(a + b); zRa(this); this.api.logClick(this.G) } zRa(this) }; + g.k.DB = function () { wV(this, this.api.getCurrentTime()) }; + g.k.play = function (a) { this.api.seekTo(ERa(this, this.C), void 0, void 0, void 0, 26); this.api.playVideo(); a && this.api.logClick(this.playButton) }; + g.k.onExit = function (a) { this.api.seekTo(this.Ra, void 0, void 0, void 0, 63); this.api.playVideo(); a && this.api.logClick(this.dismissButton) }; + g.k.kc = function (a, b) { this.Ka = a; this.j = b; wV(this, this.api.getCurrentTime()) }; + g.k.enable = function () { this.isEnabled || (this.isEnabled = !0, this.Ra = this.api.getCurrentTime(), xRa(this, this.Ra), g.rp(this.api.getRootNode(), "ytp-fine-scrubbing-enable", this.isEnabled), this.Ma = this.T(this.element, "wheel", this.i6), this.logVisibility(this.isEnabled)) }; + g.k.disable = function () { this.isEnabled = !1; this.hide(); g.rp(this.api.getRootNode(), "ytp-fine-scrubbing-enable", this.isEnabled); this.Ma && this.Oc(this.Ma); this.logVisibility(this.isEnabled) }; + g.k.reset = function () { this.disable(); this.D = []; this.Ga = !1 }; + g.k.logVisibility = function (a) { this.api.logVisibility(this.element, a); this.api.logVisibility(this.G, a); this.api.logVisibility(this.dismissButton, a); this.api.logVisibility(this.playButton, a) }; + g.k.xa = function () { for (; this.B.length;) { var a = void 0; (a = this.B.pop()) == null || a.dispose() } g.T.prototype.xa.call(this) }; + g.z(ARa, g.T); g.z(BRa, g.T); g.z(FRa, g.T); g.z(xV, g.T); xV.prototype.Ib = function (a) { return a === "PLAY_PROGRESS" ? this.K : a === "LOAD_PROGRESS" ? this.G : a === "LIVE_BUFFER" ? this.D : this.B }; IRa.prototype.update = function (a, b, c, d) { c = c === void 0 ? 0 : c; this.width = b; this.D = c; this.j = b - c - (d === void 0 ? 0 : d); this.position = g.Dd(a, c, c + this.j); this.C = this.position - c; this.B = this.C / this.j }; g.z(JRa, g.T); g.z(g.AV, g.Nx); g.k = g.AV.prototype; + g.k.x3 = function () { + var a = !1, b = this.api.getVideoData(); if (!b) return a; this.api.rf("timedMarkerCueRange"); MRa(this); for (var c = g.w(b.jf), d = c.next(); !d.done; d = c.next()) { + d = d.value; var e = void 0, f = (e = this.Ka[d]) == null ? void 0 : e.markerType; e = void 0; var h = (e = this.Ka[d]) == null ? void 0 : e.markers; if (!h) break; if (f === "MARKER_TYPE_TIMESTAMPS") { + a = g.w(h); for (f = a.next(); !f.done; f = a.next()) { + e = f.value; f = new JRa; h = void 0; f.title = ((h = e.title) == null ? void 0 : h.simpleText) || ""; f.timeRangeStartMillis = Number(e.startMillis); f.j = + Number(e.durationMillis); var l = h = void 0; f.onActiveCommand = (l = (h = e.onActive) == null ? void 0 : h.innertubeCommand) != null ? l : void 0; SRa(this, f) + } TRa(this, this.K); a = this.K; f = this.ze; e = []; h = null; for (l = 0; l < a.length; l++) { var m = a[l].timeRangeStartMillis; if (!isNaN(m) && a[l].onActiveCommand) { var n = void 0, p = (n = a[l].j) != null ? n : 1E4; h && h.end > m && (h.end = m); m = zQa(m, m + p); e.push(m); h = m; f[m.id] = a[l].onActiveCommand } } this.api.lf(e); this.Pf = this.Ka[d]; a = !0 + } else if (f === "MARKER_TYPE_HEATMAP") { + d = this.Ka[d]; p = n = e = m = l = h = void 0; if (d && + d.markers) { + f = (e = (p = d.markersMetadata) == null ? void 0 : (n = p.heatmapMetadata) == null ? void 0 : n.minHeightDp) != null ? e : 0; e = (h = (m = d.markersMetadata) == null ? void 0 : (l = m.heatmapMetadata) == null ? void 0 : l.maxHeightDp) != null ? h : 60; h = this.j.length; l = null; for (m = 0; m < h; m++) { + p = this.j[m].startTime; var q = m === h - 1 ? Infinity : this.j[m + 1].startTime; m === this.G.length && LRa(this); n = []; l && n.push(l); for (var r = g.w(d.markers), t = r.next(); !t.done; t = r.next()) { t = t.value; var u = Number(t.startMillis); u >= p && u <= q && n.push(t) } e > 0 && (this.ra.style.height = + e + "px"); p = this.G[m]; q = n; t = f; var y = e, A = m === 0; A = A === void 0 ? !1 : A; GRa(p, y); r = q; u = p.j; A = A === void 0 ? !1 : A; var D = 1E3 / r.length, F = []; F.push({ x: 0, y: 100 }); for (var H = 0; H < r.length; H++) { var M = (H + .5) * D, N = 100 - g.Dd((r[H].intensityScoreNormalized || 0) * 100, t / u * 100, y / u * 100); H !== 0 || A || F.push({ x: 0, y: N }); F.push({ x: M, y: N }); H === r.length - 1 && F.push({ x: 1E3, y: N }) } F.push({ x: 1E3, y: 100 }); r = F; q = q.length === 0 ? "" : uua(r); p.C.setAttribute("d", q); p.qe = q !== ""; g.rp(p.api.getRootNode(), "ytp-heat-map", p.qe); n.length > 0 && (l = n[n.length - 1]) + } g.BV(this) + } e = + void 0; f = []; if (d = (e = d.markersDecoration) == null ? void 0 : e.timedMarkerDecorations) for (d = g.w(d), e = d.next(); !e.done; e = d.next())e = e.value, m = l = h = void 0, f.push({ visibleTimeRangeStartMillis: (h = e.visibleTimeRangeStartMillis) != null ? h : -1, visibleTimeRangeEndMillis: (l = e.visibleTimeRangeEndMillis) != null ? l : -1, decorationTimeMillis: (m = e.decorationTimeMillis) != null ? m : NaN, label: e.label ? g.Qx(e.label) : "" }); d = f; this.heatMarkersDecorations = d + } + } b.HW = this.K; g.rp(this.element, "ytp-timed-markers-enabled", a); return a + }; + g.k.kc = function () { g.BV(this); EV(this); TRa(this, this.K); if (this.B) { var a = g.sm(this.element).x || 0; this.B.kc(a, this.N) } }; + g.k.onClickCommand = function (a) { if (a = g.R(a, oQ)) { var b = a.key; a.isVisible && b && XRa(this, b) } }; + g.k.yca = function (a) { this.api.ib("innertubeCommand", this.ze[a.id]) }; + g.k.Tc = function () { EV(this); var a = this.api.getCurrentTime(); (a < this.clipStart || a > this.clipEnd) && this.kM() }; + g.k.j6 = function (a) { if (!a.defaultPrevented) { var b = !1; switch (a.keyCode) { case 36: this.api.seekTo(0, void 0, void 0, void 0, 79); b = !0; break; case 35: this.api.seekTo(Infinity, void 0, void 0, void 0, 80); b = !0; break; case 34: this.api.seekBy(-60, void 0, void 0, 76); b = !0; break; case 33: this.api.seekBy(60, void 0, void 0, 75); b = !0; break; case 38: this.api.seekBy(5, void 0, void 0, 72); b = !0; break; case 40: this.api.seekBy(-5, void 0, void 0, 71), b = !0 }b && a.preventDefault() } }; + g.k.ju = function (a, b) { this.updateVideoData(b, a === "newdata") }; + g.k.B9 = function () { this.ju("newdata", this.api.getVideoData()) }; + g.k.updateVideoData = function (a, b) { + b = b === void 0 ? !1 : b; var c = !!a && a.qe(); c && ($Q(a) || cSa(this) ? this.jf = !1 : this.jf = a.allowLiveDvr, g.rp(this.api.getRootNode(), "ytp-enable-live-buffer", !(a == null || !$Q(a)))); nSa(this, this.api.Jh()); if (b) { + if (c) { + b = a.clipEnd; this.clipStart = a.clipStart; this.clipEnd = b; IV(this); for (FV(this, this.qa, this.fb); this.G.length > 0;)this.G.pop().dispose(); this.heatMarkersDecorations = []; this.yb = {}; var d; (d = this.B) == null || d.reset(); NV(this); g.rp(this.api.getRootNode(), "ytp-fine-scrubbing-exp", + zV(this)) + } else this.kM(); this.gi() + } if (a) { + var e; d = ((e = this.Db) == null ? void 0 : e.type) === "clips"; if (e = !a.isLivePlayback) { e = this.api.getVideoData(); b = g.FP(e); c = ORa(e); var f; e = b != null || c != null && c.length > 0 || ((f = e.Aw) == null ? void 0 : f.length) > 0 } if (e && !d) { + f = this.api.getVideoData(); d = g.FP(f); e = !1; if (d == null ? 0 : d.markersMap) { + e = this.api.getVideoData(); var h; e.mw = ((h = d.visibleOnLoad) == null ? void 0 : h.key) || e.mw; h = g.w(d.markersMap); for (d = h.next(); !d.done; d = h.next())d = d.value, d.key && d.value && (this.yb[d.key] = d.value, + d.value.onChapterRepeat && (e.t4 = d.value.onChapterRepeat)); e.mw != null && XRa(this, e.mw); e = !0 + } var l; if (((l = f.Aw) == null ? void 0 : l.length) > 0) { l = g.pQ.getState().entities; h = g.w(f.Aw); for (d = h.next(); !d.done; d = h.next()) { d = d.value; c = void 0; b = (c = GK(l, "macroMarkersListEntity", d)) == null ? void 0 : c.markersList; var m = c = void 0; if (((c = b) == null ? void 0 : c.markerType) === "MARKER_TYPE_TIMESTAMPS" || ((m = b) == null ? void 0 : m.markerType) === "MARKER_TYPE_HEATMAP") this.Ka[d] = b } e = this.x3() || e } !e && (l = ORa(f)) && (QRa(this, l), f.Xk = this.j, PRa(this)); + dSa(this, null); a.PU && this.G.length === 0 && (a = a.PU, l = a.key, a.isVisible && l && XRa(this, l)) + } else KRa(this), MRa(this) + } EV(this) + }; + g.k.C9 = function (a) { this.Y && !g.U(a.state, 32) && this.api.getPresentingPlayerType() !== 3 && this.Y.cancel(); var b; ((b = this.B) == null ? 0 : b.isEnabled) && g.U(a.state, 8) && this.api.pauseVideo() }; + g.k.XV = function (a) { + var b = !!this.Db !== !!a, c = this.Db; this.Db = a; dSa(this, c); (a == null ? void 0 : a.type) !== "clips" && a || (a ? (this.updateValue("clipstarticon", tsa()), this.updateValue("clipendicon", tsa()), this.updateValue("clipstarttitle", null), this.updateValue("clipendtitle", null)) : (this.updateValue("clipstarticon", lsa()), this.updateValue("clipendicon", ksa()), this.updateValue("clipstarttitle", "Watch full video"), this.updateValue("clipendtitle", "Watch full video")), b && (this.updateVideoData(this.api.getVideoData(), + !0), g.BV(this)), IV(this)); FV(this, this.qa, this.fb) + }; + g.k.Cba = function (a, b, c) { + var d = g.sm(this.element), e = DV(this).j, f = c ? c.getAttribute("data-tooltip") : void 0, h = c ? c.getAttribute("data-position") : void 0, l = c ? c.getAttribute("data-offset-y") : void 0; l = l ? Number(l) : 0; h && (a = ez(this.C, Number(c.getAttribute("data-position")), 0) * e + g.sm(this.progressBar).x); this.Xa.x = a - d.x; this.Xa.y = b - d.y; a = DV(this); c = HV(this, a); b = 0; var m; if ((m = this.api.getVideoData()) == null ? 0 : $Q(m)) (m = this.api.getProgressState().seekableEnd) && c > m && (c = m, a.position = ez(this.C, m) * DV(this).j), b = this.C.B; + cSa(this) && (b = this.C.B); m = f || g.Zy(this.jf ? c - this.C.j : c - b); b = a.position + this.Sf; c -= this.api.Dc(); var n; if ((n = this.B) == null || !n.isEnabled) if (this.api.zk()) { + if (this.j.length > 1) { n = GV(this, this.Xa.x, !0); if (!this.Db) for (d = 0; d < this.j.length;)g.rp(this.j[d].j, "ytp-exp-chapter-hover-effect", d === n), d++; if (this.G.length > 1) for (d = 0; d < this.j.length; d++)g.rp(this.G[d].element, "ytp-heatmap-hover", d === n) } if (this.K.length > 0) for (n = this.Xa.x, d = g.w(this.K), e = d.next(); !e.done; e = d.next())e = e.value, h = CV(this, e.timeRangeStartMillis / + (this.C.j * 1E3), DV(this)), g.rp(e.element, "ytp-timed-marker-hover", h <= n && h + 6 >= n); d = this.tooltip.scale; l = (isNaN(l) ? 0 : l) - 45 * d; this.api.L("web_key_moments_markers") ? this.Pf ? (n = wQa(this.K, c * 1E3), n = n != null ? this.K[n].title : "") : (n = $U(this.j, c * 1E3), n = this.j[n].title) : (n = $U(this.j, c * 1E3), n = this.j[n].title); n || (l += 16 * d); this.tooltip.scale === .6 && (this.api.L("web_cairo_modern_miniplayer") ? (l = this.api.qb().getPlayerSize().height - 225, l = n ? l + 110 : l + 110 + 16) : l = n ? 110 : 126); d = $U(this.j, c * 1E3); this.Wa = eSa(this, c, d) ? d : eSa(this, + c, d + 1) ? d + 1 : -1; g.rp(this.api.getRootNode(), "ytp-progress-bar-snap", this.Wa !== -1 && this.j.length > 1); d = !1; e = g.w(this.heatMarkersDecorations); for (h = e.next(); !h.done; h = e.next()) { h = h.value; var p = c * 1E3; p >= h.visibleTimeRangeStartMillis && p <= h.visibleTimeRangeEndMillis && (n = h.label, m = g.Zy(h.decorationTimeMillis / 1E3), d = !0) } this.Fd !== d && (this.Fd = d, this.api.logVisibility(this.Ed, this.Fd)); g.rp(this.api.getRootNode(), "ytp-progress-bar-decoration", d); d = this.tooltip.scale * 320; e = n.length * (this.D ? 8.55 : 5.7); e = e <= d ? e : + d; h = e < 160 * this.tooltip.scale; d = 3; !h && e / 2 > a.position && (d = 1); !h && e / 2 > this.N - a.position && (d = 2); this.api.U().Z && (l -= 10); this.G.length && this.G[0].qe && (l -= 14 * (this.D ? 2 : 1), this.Ga || (this.Ga = !0, this.api.logVisibility(this.ra, this.Ga))); var q; if (zV(this) && (((q = this.B) == null ? 0 : q.isEnabled) || this.Va > 0)) { var r; l -= ((r = this.B) == null ? 0 : r.isEnabled) ? KV(this) : this.Va } q = void 0; zV(this) && (q = "Pull up for precise seeking", this.Fa || (this.Fa = !0, this.api.logVisibility(this.Zd, this.Fa))); this.tooltip.HM(b, c, m, !!f, l, n, d, q) + } else this.tooltip.HM(b, + c, m, !!f, l); g.np(this.api.getRootNode(), "ytp-progress-bar-hover"); bSa(this) + }; + g.k.Bba = function () { this.gi(); g.pp(this.api.getRootNode(), "ytp-progress-bar-hover"); this.Ga && (this.Ga = !1, this.api.logVisibility(this.ra, this.Ga)); this.Fa && (this.Fa = !1, this.api.logVisibility(this.Zd, this.Fa)) }; + g.k.Aba = function (a, b) { zV(this) && this.B && (this.B.Ga ? wV(this.B, this.api.getCurrentTime()) : CRa(this.B), this.B.show(), g.rp(this.api.getRootNode(), "ytp-fine-scrubbing-enable", this.B.isEnabled)); this.Ie && (this.Ie.dispose(), this.Ie = null); this.Tf = b; this.j.length > 1 && this.Wa !== -1 ? this.api.seekTo(this.j[this.Wa].startTime / 1E3, !1, void 0, void 0, 7) : this.api.seekTo(HV(this, DV(this)), !1, void 0, void 0, 7); g.np(this.element, "ytp-drag"); (this.kf = this.api.getPlayerStateObject().isOrWillBePlaying()) && this.api.pauseVideo() }; + g.k.Dba = function () { + if (zV(this) && this.B) { var a = KV(this); this.Va >= a * .5 ? (this.B.enable(), wV(this.B, this.api.getCurrentTime()), mSa(this, a)) : NV(this) } if (g.U(this.api.getPlayerStateObject(), 32) || this.api.getPresentingPlayerType() === 3) { + var b; if ((b = this.B) == null ? 0 : b.isEnabled) this.api.pauseVideo(); else { + this.api.startSeekCsiAction(); if (this.j.length > 1 && this.Wa !== -1) this.api.seekTo(this.j[this.Wa].startTime / 1E3, void 0, void 0, void 0, 7); else { + a = HV(this, DV(this)); this.api.seekTo(a, void 0, void 0, void 0, 7); b = g.w(this.heatMarkersDecorations); + for (var c = b.next(); !c.done; c = b.next())c = c.value, a * 1E3 >= c.visibleTimeRangeStartMillis && a * 1E3 <= c.visibleTimeRangeEndMillis && this.api.logClick(this.Ed) + } g.pp(this.element, "ytp-drag"); this.kf && !g.U(this.api.getPlayerStateObject(), 2) && this.api.playVideo() + } + } + }; + g.k.Eba = function (a, b) { a = DV(this); a = HV(this, a); this.api.seekTo(a, !1, void 0, void 0, 7); var c; zV(this) && ((c = this.B) == null ? 0 : c.Ga) && (wV(this.B, a), this.B.isEnabled || (this.Va = g.Dd(this.Tf - b - 10, 0, KV(this)), mSa(this, this.Va))) }; + g.k.gi = function () { this.tooltip.DQ() }; + g.k.d0 = function () { this.Db || (this.updateValue("clipstarticon", jsa()), this.updateValue("clipendicon", jsa()), g.np(this.element, "ytp-clip-hover")) }; + g.k.b0 = function () { this.Db || (this.updateValue("clipstarticon", lsa()), this.updateValue("clipendicon", ksa()), g.pp(this.element, "ytp-clip-hover")) }; + g.k.kM = function () { this.clipStart = 0; this.clipEnd = Infinity; IV(this); FV(this, this.qa, this.fb) }; + g.k.gfa = function (a) { a = g.w(a); for (var b = a.next(); !b.done; b = a.next())if (b = b.value, b.visible) { var c = b.getId(); if (!this.Ma[c]) { var d = g.je("DIV"); b.tooltip && d.setAttribute("data-tooltip", b.tooltip); this.Ma[c] = b; this.Ob[c] = d; g.lp(d, b.style); fSa(this, c); this.api.U().L("disable_ad_markers_on_content_progress_bar") || this.j[0].C.appendChild(d) } } else lSa(this, b) }; + g.k.wda = function (a) { a = g.w(a); for (var b = a.next(); !b.done; b = a.next())lSa(this, b.value) }; + g.k.Zw = function (a) { this.B && (this.B.onExit(a != null), NV(this)) }; + g.k.BP = function (a) { this.B && (this.B.play(a != null), NV(this)) }; + g.k.ifa = function () { nSa(this, this.api.Jh()) }; + g.k.xa = function () { nSa(this, !1); g.Nx.prototype.xa.call(this) }; g.z(OV, g.T); OV.prototype.isActive = function () { return !!this.J.getOption("remote", "casting") }; + OV.prototype.Ta = function () { + var a = !1; this.J.getOptions().includes("remote") && (a = this.J.getOption("remote", "receivers").length > 1); g.Mx(this, a && this.J.qb().getPlayerSize().width >= 400); this.J.logVisibility(this.element, this.Hb); var b = 1; a && this.isActive() && (b = 2); if (this.j !== b) { + this.j = b; switch (b) { + case 1: this.updateValue("icon", { + I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 36 36", width: "100%" }, V: [{ + I: "path", Fc: !0, X: { + d: "M27,9 L9,9 C7.9,9 7,9.9 7,11 L7,14 L9,14 L9,11 L27,11 L27,25 L20,25 L20,27 L27,27 C28.1,27 29,26.1 29,25 L29,11 C29,9.9 28.1,9 27,9 L27,9 Z M7,24 L7,27 L10,27 C10,25.34 8.66,24 7,24 L7,24 Z M7,20 L7,22 C9.76,22 12,24.24 12,27 L14,27 C14,23.13 10.87,20 7,20 L7,20 Z M7,16 L7,18 C11.97,18 16,22.03 16,27 L18,27 C18,20.92 13.07,16 7,16 L7,16 Z", + fill: "#fff" + } + }] + }); break; case 2: this.updateValue("icon", g.isa()) + }g.rp(this.element, "ytp-remote-button-active", this.isActive()) + } + }; + OV.prototype.B = function () { if (this.J.getOption("remote", "quickCast")) this.J.setOption("remote", "quickCast", !0); else { var a = this.Fb, b = this.element; if (a.Ck()) a.Nb(); else { a.initialize(); a: { var c = g.w(a.Oe.items); for (var d = c.next(); !d.done; d = c.next())if (d = d.value, d.priority === 1) { c = d; break a } c = null } c && (c.open(), a.pd(b)); a.pd(b) } } this.J.logClick(this.element) }; g.z(PV, g.T); PV.prototype.j = function (a) { var b = this.J.U(), c = 400; this.J.L("web_player_small_hbp_settings_menu") && b.K ? c = 300 : b.Z && (c = 200); a = this.B && a.width >= c; g.Mx(this, a); this.J.logVisibility(this.element, a) }; + PV.prototype.C = function () { if (this.Fb.Hb) this.Fb.Nb(); else { var a = g.rU(this.J.Bb()); a && !a.loaded && (a.Uh("tracklist", { includeAsr: !0 }).length || a.load()); this.J.logClick(this.element); this.Fb.pd(this.element) } }; + PV.prototype.updateBadge = function () { + var a = this.J.isHdr(), b = this.J.getPresentingPlayerType(), c = b !== 2 && b !== 3, d = g.FR(this.J), e = c && !!g.ER(this.J.Bb()); b = e && d.displayMode === 1; d = e && d.displayMode === 2; c = (e = b || d) || !c ? null : this.J.getPlaybackQuality(); g.rp(this.element, "ytp-hdr-quality-badge", a); g.rp(this.element, "ytp-hd-quality-badge", !a && (c === "hd1080" || c === "hd1440")); g.rp(this.element, "ytp-4k-quality-badge", !a && c === "hd2160"); g.rp(this.element, "ytp-5k-quality-badge", !a && c === "hd2880"); g.rp(this.element, "ytp-8k-quality-badge", + !a && c === "highres"); g.rp(this.element, "ytp-3d-badge-grey", !a && e && b); g.rp(this.element, "ytp-3d-badge", !a && e && d) + }; g.z(QV, vS); QV.prototype.isLoaded = function () { var a = g.xU(this.J.Bb()); return a !== void 0 && a.loaded }; + QV.prototype.Ta = function () { g.xU(this.J.Bb()) !== void 0 && this.J.getPresentingPlayerType() !== 3 ? this.j || (this.Fb.Uc(this), this.j = !0) : this.j && (this.Fb.qh(this), this.j = !1); wS(this, this.isLoaded()) }; + QV.prototype.onSelect = function (a) { this.isLoaded(); a ? this.J.loadModule("annotations_module") : this.J.unloadModule("annotations_module"); this.J.publish("annotationvisibility", a) }; + QV.prototype.xa = function () { this.j && this.Fb.qh(this); vS.prototype.xa.call(this) }; g.z(RV, g.oT); RV.prototype.Ta = function () { var a = this.J.getAvailableAudioTracks(); a.length > 1 ? (g.pT(this, g.Al(a, this.j)), this.tracks = g.dc(a, this.j, this), this.countLabel.Dd(a.length ? " (" + a.length + ")" : ""), this.publish("size-change"), this.Ti(this.j(this.J.getAudioTrack())), this.enable(!0)) : this.enable(!1) }; + RV.prototype.Hg = function (a) { g.oT.prototype.Hg.call(this, a); this.J.setAudioTrack(this.tracks[a]); this.Fb.hj() }; + RV.prototype.j = function (a) { return a.toString() }; g.z(SV, vS); + SV.prototype.B = function () { + var a = this.J.getPresentingPlayerType(); if (a !== 2 && a !== 3 && g.HR(this.J)) this.j || (this.Fb.Uc(this), this.j = !0, this.C.push(this.T(this.J, "videodatachange", this.B)), this.C.push(this.T(this.J, "videoplayerreset", this.B)), this.C.push(this.T(this.J, "onPlaylistUpdate", this.B)), this.C.push(this.T(this.J, "autonavchange", this.D)), a = this.J.getVideoData(), this.D(a.autonavState), this.J.logVisibility(this.element, this.j)); else if (this.j) { + this.Fb.qh(this); this.j = !1; a = g.w(this.C); for (var b = a.next(); !b.done; b = + a.next())this.Oc(b.value) + } + }; + SV.prototype.D = function (a) { wS(this, a !== 1) }; + SV.prototype.onSelect = function (a) { this.J.oM(a ? 2 : 1); this.j && (this.J.logVisibility(this.element, this.j), this.J.logClick(this.element)) }; + SV.prototype.xa = function () { this.j && this.Fb.qh(this); vS.prototype.xa.call(this) }; g.z(pSa, g.kS); pSa.prototype.onClick = function (a) { a.preventDefault(); var b, c; (b = g.nR(this.J)) == null || (c = b.Lm()) == null || c.Nb(); var d, e; (d = g.nR(this.J)) == null || (e = d.lY()) == null || e.pd(a.target) }; g.z(qSa, g.oT); g.k = qSa.prototype; + g.k.yD = function () { + var a = this.J.getPresentingPlayerType(); if (a !== 2 && a !== 3) { + this.Ba = this.J.Ut(); a = this.J.getAvailableQualityLevels(); if (this.j) { this.D = {}; var b = g.iR(this.J, "getAvailableQualityData", []); b = g.w(b); for (var c = b.next(); !c.done; c = b.next())c = c.value, this.D[c.qualityLabel] = c; b = Object.keys(this.D); a[a.length - 1] === "auto" && b.push("auto"); this.Fa = new Set(a) } else if (this.G) { + c = g.iR(this.J, "getAvailableQualityData", []); b = []; c = g.w(c); for (var d = c.next(); !d.done; d = c.next())d = d.value, this.Y[d.quality] = + d, d.quality && b.push(d.quality); a[a.length - 1] === "auto" && b.push("auto") + } else b = a; g.vMa(this.J) && this.J.sx() && b.unshift("missing-qualities"); wMa(this.J) && b.unshift("inline-survey"); g.pT(this, b); a = this.J.getVideoData().cotn ? !0 : !1; c = this.ra.Ih(); c = !g.bP(this.J.U()) || !(a === void 0 ? 0 : a) || !(c === void 0 || c); a = this.B; c = c === void 0 ? !1 : c; c = c === void 0 ? !1 : c; a.eZ && (a = a.Ea("ytp-panel-footer"), g.rp(a, "ytp-panel-hide-footer", c)); if (b.length) { this.YV(); this.enable(!0); return } + } this.enable(!1) + }; + g.k.YV = function () { if (this.j) { var a = this.J.getPreferredQuality(); this.Fa.has(a) && (this.N = this.J.getPlaybackQuality(), this.qa = this.J.getPlaybackQualityLabel(), a === "auto" ? (this.Ti(a), this.Dd(this.ll(a))) : this.Ti(this.qa)) } else a = this.J.getPreferredQuality(), this.options[a] && (this.N = this.J.getPlaybackQuality(), this.Ti(a), a === "auto" && this.Dd(this.ll(a))) }; + g.k.Hg = function (a) { + if (a !== "missing-qualities") { + g.oT.prototype.Hg.call(this, a); var b = this.j ? this.D[a] : this.Y[a]; var c = b == null ? void 0 : b.quality, d = b == null ? void 0 : b.formatId, e = b == null ? void 0 : b.paygatedQualityDetails; b = e == null ? void 0 : e.endpoint; if (e) { var f; e = (f = this.options[a]) == null ? void 0 : f.element; this.J.logClick(e) } if (this.j) { + var h, l; if ((h = g.R(b, g.hab)) == null ? 0 : (l = h.popup) == null ? 0 : l.notificationActionRenderer) this.J.ib("innertubeCommand", b); else if (b) { this.J.ib("innertubeCommand", b); return } d ? this.J.setPlaybackQuality(c, + d) : this.J.setPlaybackQuality(c) + } else { if (this.G) { var m, n; if ((m = g.R(b, g.hab)) == null ? 0 : (n = m.popup) == null ? 0 : n.notificationActionRenderer) this.J.ib("innertubeCommand", b); else if (b) { this.J.ib("innertubeCommand", b); return } } this.J.setPlaybackQuality(a) } this.Fb.Nb(); this.yD() + } + }; + g.k.open = function () { for (var a = g.w(Object.values(this.options)), b = a.next(); !b.done; b = a.next()) { b = b.value; var c = void 0; this.J.hasVe((c = b) == null ? void 0 : c.element) && (c = void 0, this.J.logVisibility((c = b) == null ? void 0 : c.element, !0)) } g.oT.prototype.open.call(this); this.J.logClick(this.element) }; + g.k.Gz = function (a, b, c) { + var d = this; if (a === "missing-qualities") return new g.kS({ I: "a", Na: ["ytp-menuitem"], X: { href: "https://support.google.com/youtube/?p=missing_quality", target: this.J.U().Y, tabindex: "0", role: "menuitemradio" }, V: [{ I: "div", Na: ["ytp-menuitem-label"], va: "{{label}}" }] }, b, this.ll(a)); if (a !== "inline-survey") { + var e, f = (e = this.j ? this.D[a] : this.Y[a]) == null ? void 0 : e.paygatedQualityDetails; e = f == null ? void 0 : f.veType; f = f == null ? void 0 : f.trackingParams; b = g.oT.prototype.Gz.call(this, a, b, c); f ? (this.J.createServerVe(b.element, + this, !0), this.J.setTrackingParams(b.element, f)) : e && this.J.createClientVe(b.element, this, e, !0); return b + } a = [{ I: "span", va: "Looks good?" }]; c = g.w([!0, !1]); f = c.next(); for (e = {}; !f.done; e = { FQ: void 0 }, f = c.next())e.FQ = f.value, f = new g.T({ I: "span", S: "ytp-menuitem-inline-survey-response", V: [e.FQ ? ssa() : nsa()], X: { tabindex: "0", role: "button" } }), f.listen("click", function (h) { return function () { var l = h.FQ, m = g.qR(d.J.app); m && (m.oa("iqsr", { tu: l }), m.getVideoData().EU = !0); d.Fb.Nb(); d.yD() } }(e)), a.push(f); + return new g.kS({ I: "div", S: "ytp-menuitem", X: { "aria-disabled": "true" }, V: [{ I: "div", Na: ["ytp-menuitem-label"], V: a }] }, b) + }; + g.k.ll = function (a, b) { b = b === void 0 ? !1 : b; if (a === "missing-qualities") return { I: "div", va: "Missing options?" }; if (a === "inline-survey") return ""; var c = this.G || this.j ? [tSa(this, a, b, !1)] : [sSa(this, a)]; var d = this.J.getPreferredQuality(); b || d !== "auto" || a !== "auto" || (c.push(" "), this.j ? c.push(tSa(this, this.qa, b, !0, ["ytp-menu-label-secondary"])) : this.G ? c.push(tSa(this, this.N, b, !0, ["ytp-menu-label-secondary"])) : c.push(sSa(this, this.N, ["ytp-menu-label-secondary"]))); return { I: "div", V: c } }; g.z(TV, g.T); TV.prototype.init = function () { this.updateValue("minvalue", this.D); this.updateValue("maxvalue", this.K); this.updateValue("stepvalue", this.N); this.updateValue("slidervalue", this.B); uSa(this, this.B) }; + TV.prototype.G = function () { var a = Number(this.j.value); this.B = a; this.updateValue("slidervalue", this.B); this.j.valueAsNumber = this.B; uSa(this, a); this.j.focus() }; g.z(UV, TV); UV.prototype.G = function () { TV.prototype.G.call(this); this.C && (this.C.textContent = this.B + "x") }; + UV.prototype.ra = function () { this.qa() }; + UV.prototype.Y = function () { this.J.setPlaybackRate(this.B, !0) }; g.z(VV, g.T); g.k = VV.prototype; g.k.init = function () { this.Oy(this.j); this.updateValue("minvalue", this.B); this.updateValue("maxvalue", this.C) }; + g.k.m6 = function (a) { if (!a.defaultPrevented) { switch (a.keyCode) { case 37: case 40: var b = -this.N; break; case 39: case 38: b = this.N; break; default: return }this.Oy(this.j + b); a.preventDefault() } }; + g.k.k6 = function (a) { var b = this.j; b += (a.deltaX || -a.deltaY) < 0 ? -this.Y : this.Y; this.Oy(b); a.preventDefault() }; + g.k.l6 = function (a) { a = (a - g.sm(this.D).x) / this.qa * this.range + this.B; this.Oy(a) }; + g.k.Oy = function (a, b) { b = b === void 0 ? "" : b; a = g.Dd(a, this.B, this.C); b === "" && (b = a.toString()); this.updateValue("valuenow", a); this.updateValue("valuetext", b); this.ra.style.left = (a - this.B) / this.range * (this.qa - this.Ga) + "px"; this.j = a }; + g.k.focus = function () { this.Ma.focus() }; g.z(WV, VV); WV.prototype.Ba = function () { this.J.setPlaybackRate(this.j, !0) }; + WV.prototype.Oy = function (a) { VV.prototype.Oy.call(this, a, wSa(this, a).toString()); this.G && (vSa(this), this.Fa()) }; + WV.prototype.updateValues = function () { var a = this.J.getPlaybackRate(); wSa(this, this.j) !== a && (this.Oy(a), vSa(this)) }; g.z(xSa, g.Nx); xSa.prototype.focus = function () { this.j.focus() }; g.z(ySa, cT); g.z(zSa, g.oT); g.k = zSa.prototype; g.k.ll = function (a) { return a === "1" ? "Normal" : a.toLocaleString() }; + g.k.Ta = function () { var a, b = (a = this.J.getVideoData()) == null ? void 0 : a.oi(); a = this.J.getPresentingPlayerType(b); this.enable(a !== 2 && a !== 3); DSa(this) }; + g.k.vz = function (a) { g.oT.prototype.vz.call(this, a); a ? (this.N = this.T(this.J, "onPlaybackRateChange", this.onPlaybackRateChange), DSa(this), BSa(this, this.J.getPlaybackRate())) : (this.Oc(this.N), this.N = null) }; + g.k.onPlaybackRateChange = function (a) { var b = this.J.getPlaybackRate(); this.G.includes(b) || CSa(this, b); BSa(this, a) }; + g.k.Gz = function (a, b, c) { return a === this.j && ESa(this.J) ? g.oT.prototype.Gz.call(this, a, b, c, { I: "div", S: "ytp-speed-slider-menu-footer", V: [this.Y] }) : g.oT.prototype.Gz.call(this, a, b, c) }; + g.k.Hg = function (a) { g.oT.prototype.Hg.call(this, a); a === this.j ? this.J.setPlaybackRate(this.D, !0) : this.J.setPlaybackRate(Number(a), !0); ESa(this.J) || this.Fb.hj() }; + g.k.JN = function (a) { a === this.j && XV(this.J) && !ESa(this.J) ? (a = new ySa(this.J), g.hT(this.Fb, a)) : g.oT.prototype.JN.call(this, a) }; g.z(GSa, g.oT); g.k = GSa.prototype; g.k.Ti = function (a) { g.oT.prototype.Ti.call(this, a) }; + g.k.ZV = function (a) { return a.option.toString() }; + g.k.getOption = function (a) { return this.settings[a] }; + g.k.ll = function (a) { return this.getOption(a).text || "" }; + g.k.Hg = function (a) { g.oT.prototype.Hg.call(this, a); this.publish("settingChange", this.N, this.settings[a].option) }; g.z(YV, g.dT); YV.prototype.Ci = function (a) { for (var b = g.w(Object.keys(a)), c = b.next(); !c.done; c = b.next()) { var d = c.value; if (c = this.Nu[d]) { var e = a[d].toString(); d = !!a[d + "Override"]; c.options[e] && (c.Ti(e), c.D.element.setAttribute("aria-checked", String(!d)), c.j.element.setAttribute("aria-checked", String(d))) } } }; + YV.prototype.Mk = function (a, b) { this.publish("settingChange", a, b) }; g.z(ZV, g.oT); ZV.prototype.j = function (a) { return a.languageCode }; + ZV.prototype.ll = function (a) { return this.languages[a].languageName || "" }; + ZV.prototype.Hg = function (a) { this.publish("select", a); this.J.logClick(this.element); g.iT(this.Fb) }; g.z(JSa, g.oT); g.k = JSa.prototype; g.k.zD = function (a) { return g.Bc(a) ? "__off__" : a.displayName }; + g.k.ll = function (a) { return a === "__off__" ? "Off" : a === "__translate__" ? "Auto-translate" : a === "__contribute__" ? "Add subtitles/CC" : a === "__correction__" ? "Suggest caption corrections" : (a === "__off__" ? {} : this.tracks[a]).displayName }; + g.k.Hg = function (a) { + if (a === "__translate__") this.j.open(); else if (a === "__contribute__") { this.J.pauseVideo(); this.J.isFullscreen() && this.J.toggleFullscreen(); var b = g.YK(this.J.U(), this.J.getVideoData()); g.nz(b) } else if (a === "__correction__") { + this.J.pauseVideo(); this.J.isFullscreen() && this.J.toggleFullscreen(); var c = KSa(this); $V(this, c); g.oT.prototype.Hg.call(this, this.zD(c)); var d, e; c = (b = this.J.getVideoData().getPlayerResponse()) == null ? void 0 : (d = b.captions) == null ? void 0 : (e = d.playerCaptionsTracklistRenderer) == + null ? void 0 : e.openTranscriptCommand; this.J.ib("innertubeCommand", c); this.Fb.hj(); this.D && this.J.logClick(this.D) + } else { + if (a === "__correction__") { this.J.pauseVideo(); this.J.isFullscreen() && this.J.toggleFullscreen(); b = KSa(this); $V(this, b); g.oT.prototype.Hg.call(this, this.zD(b)); var f, h; b = (c = this.J.getVideoData().getPlayerResponse()) == null ? void 0 : (f = c.captions) == null ? void 0 : (h = f.playerCaptionsTracklistRenderer) == null ? void 0 : h.openTranscriptCommand; this.J.ib("innertubeCommand", b) } else this.J.logClick(this.element), + $V(this, a === "__off__" ? {} : this.tracks[a]), g.oT.prototype.Hg.call(this, a); this.Fb.hj() + } + }; + g.k.Ta = function () { + var a = this.J.getOptions(); a = a && a.indexOf("captions") !== -1; var b = this.J.getVideoData(), c = b && b.ew, d, e = !((d = this.J.getVideoData()) == null || !g.YQ(d)); d = {}; if (a || c) { + var f; if (a) { + var h = this.J.getOption("captions", "track"); d = this.J.getOption("captions", "tracklist", { includeAsr: !0 }); var l = e ? [] : this.J.getOption("captions", "translationLanguages"); this.tracks = g.dc(d, this.zD, this); e = g.Al(d, this.zD); var m, n; KSa(this) && ((f = b.getPlayerResponse()) == null ? 0 : (m = f.captions) == null ? 0 : (n = m.playerCaptionsTracklistRenderer) == + null ? 0 : n.openTranscriptCommand) && e.push("__correction__"); if (l.length && !g.Bc(h)) { + if ((f = h.translationLanguage) && f.languageName) { + var p = f.languageName; f = l.findIndex(function (q) { return q.languageName === p }); + Oaa(l, f) + } HSa(this.j, l); e.push("__translate__") + } f = this.zD(h) + } else this.tracks = {}, e = [], f = "__off__"; e.unshift("__off__"); this.tracks.__off__ = {}; c && e.unshift("__contribute__"); this.tracks[f] || (this.tracks[f] = h, e.push(f)); g.pT(this, e); this.Ti(f); h && h.translationLanguage ? this.j.Ti(this.j.j(h.translationLanguage)) : BNa(this.j); a && this.G.Ci(this.J.getSubtitlesUserSettings()); this.countLabel.Dd(d && d.length ? " (" + d.length + ")" : ""); this.publish("size-change"); this.J.logVisibility(this.element, !0); this.enable(!0) + } else this.enable(!1) + }; + g.k.n6 = function (a) { var b = this.J.getOption("captions", "track"); b = g.Fc(b); b.translationLanguage = this.j.languages[a]; $V(this, b) }; + g.k.Mk = function (a, b) { if (a === "reset") this.J.resetSubtitlesUserSettings(); else { var c = {}; c[a] = b; this.J.updateSubtitlesUserSettings(c) } ISa(this, !0); this.N.start(); this.G.Ci(this.J.getSubtitlesUserSettings()) }; + g.k.jca = function (a) { a || g.ip(this.N) }; + g.k.xa = function () { g.ip(this.N); g.oT.prototype.xa.call(this) }; + g.k.open = function () { g.oT.prototype.open.call(this); this.options.__correction__ && !this.D && (this.D = this.options.__correction__.element, this.J.createClientVe(this.D, this, 167341), this.J.logVisibility(this.D, !0)) }; g.z(LSa, g.fT); g.k = LSa.prototype; + g.k.initialize = function () { + if (!this.isInitialized) { + var a = this.J.U(); this.isInitialized = !0; try { this.US = new qSa(this.J, this) } catch (c) { g.fx(Error("QualityMenuItem creation failed")) } g.P(this, this.US); var b = new JSa(this.J, this); g.P(this, b); a.C || (b = new QV(this.J, this), g.P(this, b)); a.enableSpeedOptions && (b = new zSa(this.J, this), g.P(this, b)); (g.IO(a) || a.K) && (a.B || a.Wa) && (b = new pSa(this.J, this), g.P(this, b)); a.ge && !a.L("web_player_move_autonav_toggle") && (a = new SV(this.J, this), g.P(this, a)); a = new RV(this.J, this); + g.P(this, a); this.J.publish("settingsMenuInitialized"); oSa(this.settingsButton, this.Oe.Up()) + } + }; + g.k.Uc = function (a) { this.initialize(); this.Oe.Uc(a); oSa(this.settingsButton, this.Oe.Up()) }; + g.k.qh = function (a) { this.Hb && this.Oe.Up() <= 1 && this.hide(); this.Oe.qh(a); oSa(this.settingsButton, this.Oe.Up()) }; + g.k.pd = function (a) { this.initialize(); this.Oe.Up() > 0 && g.fT.prototype.pd.call(this, a) }; + g.k.Nb = function () { this.PL ? this.PL = !1 : g.fT.prototype.Nb.call(this) }; + g.k.show = function () { g.fT.prototype.show.call(this); g.np(this.J.getRootNode(), "ytp-settings-shown") }; + g.k.hide = function () { g.fT.prototype.hide.call(this); g.pp(this.J.getRootNode(), "ytp-settings-shown") }; + g.k.If = function (a) { this.J.logVisibility(this.element, a); this.J.publish("settingsMenuVisibilityChanged", a) }; g.z(aW, g.T); aW.prototype.onClick = function () { if (NSa(this) && (this.J.toggleSubtitles(), this.J.logClick(this.element), !this.isEnabled())) { var a = !1, b = g.kt(g.it(), 65); g.bP(this.J.U()) && b != null && (a = !b); a && this.J.U().L("web_player_nitrate_promo_tooltip") && this.J.publish("showpromotooltip", this.element) } }; + aW.prototype.j = function (a) { var b, c; (b = g.nR(this.J)) == null || (c = b.Lm()) == null || c.pd(a) }; + aW.prototype.isEnabled = function () { return !!this.J.getOption("captions", "track").displayName }; + aW.prototype.Ta = function () { + var a = NSa(this), b = 300; this.J.U().Z && (b = 480); if (this.J.U().K) { this.updateValue("title", g.xR(this.J, "Subtitles/closed captions", "c")); this.update({ "data-title-no-tooltip": "Subtitles/closed captions" }); var c = a } else { + if (a) (c = this.Ea("ytp-subtitles-button-icon")) == null || c.setAttribute("fill-opacity", "1"), this.updateValue("title", g.xR(this.J, "Subtitles/closed captions", "c")), this.update({ "data-title-no-tooltip": "Subtitles/closed captions" }); else { + var d; (d = this.Ea("ytp-subtitles-button-icon")) == + null || d.setAttribute("fill-opacity", "0.3"); this.updateValue("title", "Subtitles/closed captions unavailable"); this.update({ "data-title-no-tooltip": "Subtitles/closed captions unavailable" }) + } c = !0 + } this.tooltip.Vh(); c = c && this.J.qb().getPlayerSize().width >= b; g.Mx(this, c); this.J.logVisibility(this.element, c); a ? this.updateValue("pressed", this.isEnabled()) : this.updateValue("pressed", !1) + }; g.z(g.cW, g.T); g.k = g.cW.prototype; + g.k.Tc = function () { + var a = this.api.qb().getPlayerSize().width, b = this.N; this.api.U().Z && (b = 400); b = a >= b && (!eW(this) || !g.U(this.api.getPlayerStateObject(), 64)); g.Mx(this, b); g.rp(this.element, "ytp-time-display-allow-autohide", b && a < 400); a = this.api.getProgressState(); if (b) { + b = this.api.getPresentingPlayerType(); var c = this.api.getCurrentTime(b, !1); this.B && (c -= a.airingStart); dW(this) && (c -= this.Db.startTimeMs / 1E3); c = g.Zy(c); this.C !== c && (this.updateValue("currenttime", c), this.C = c); b = dW(this) ? g.Zy((this.Db.endTimeMs - + this.Db.startTimeMs) / 1E3) : g.Zy(this.api.getDuration(b, !1)); this.D !== b && (this.updateValue("duration", b), this.D = b) + } a = a.isAtLiveHead; !eW(this) || this.K === a && this.G === this.isPremiere || (this.K = a, this.G = this.isPremiere, this.Tc(), b = this.liveBadge.element, b.disabled = a, this.liveBadge.Dd(this.isPremiere ? "Premiere" : "Live"), a ? this.j && (this.j(), this.j = null, b.removeAttribute("title")) : (b.title = "Skip ahead to live broadcast.", this.j = g.vR(this.tooltip, this.liveBadge.element))); a = this.api.getLoopRange(); b = this.Db !== + a; this.Db = a; b && bW(this) + }; + g.k.onLoopRangeChange = function (a) { var b = this.Db !== a; this.Db = a; b && (this.Tc(), bW(this)) }; + g.k.Hca = function () { this.api.setLoopRange(null) }; + g.k.onVideoDataChange = function (a, b, c) { this.updateVideoData((this.api.U().L("enable_topsoil_wta_for_halftime") || this.api.U().L("enable_topsoil_wta_for_halftime_live_infra")) && c === 2 ? this.api.getVideoData(1) : b); this.Tc(); bW(this) }; + g.k.updateVideoData = function (a) { this.KF = a.isLivePlayback && !a.yb; this.B = $Q(a); this.isPremiere = a.isPremiere; g.rp(this.element, "ytp-live", eW(this)) }; + g.k.onClick = function (a) { a.target === this.liveBadge.element && (this.api.seekTo(Infinity, void 0, void 0, void 0, 33), this.api.playVideo()) }; + g.k.xa = function () { this.j && this.j(); g.T.prototype.xa.call(this) }; g.z(PSa, g.T); g.k = PSa.prototype; g.k.ly = function () { var a = this.api.Hh(); this.C !== a && (this.C = a, OSa(this, this.api.getVolume(), this.api.isMuted())) }; + g.k.aW = function (a) { g.Mx(this, a.width >= 350) }; + g.k.q6 = function (a) { if (!a.defaultPrevented) { var b = a.keyCode, c = null; b === 37 ? c = this.volume - 5 : b === 39 ? c = this.volume + 5 : b === 36 ? c = 0 : b === 35 && (c = 100); c !== null && (c = g.Dd(c, 0, 100), c === 0 ? this.api.mute() : (this.api.isMuted() && this.api.unMute(), this.api.setVolume(c)), a.preventDefault()) } }; + g.k.o6 = function (a) { var b = a.deltaX || -a.deltaY; a.deltaMode ? this.api.setVolume(this.volume + (b < 0 ? -10 : 10)) : this.api.setVolume(this.volume + g.Dd(b / 10, -10, 10)); a.preventDefault() }; + g.k.pca = function () { fW(this, this.j, !0, this.B, this.api.Sm()); this.Y = this.volume; this.api.isMuted() && this.api.unMute() }; + g.k.p6 = function (a) { var b = this.C ? 78 : 52, c = this.C ? 18 : 12; a -= g.sm(this.N).x; this.api.setVolume(g.Dd((a - c / 2) / (b - c), 0, 1) * 100) }; + g.k.oca = function () { fW(this, this.j, !1, this.B, this.api.Sm()); this.volume === 0 && (this.api.mute(), this.api.setVolume(this.Y)) }; + g.k.onVolumeChange = function (a) { OSa(this, a.volume, a.muted) }; + g.k.tX = function () { fW(this, this.j, this.isDragging, this.B, this.api.Sm()) }; + g.k.xa = function () { g.T.prototype.xa.call(this); g.pp(this.K, "ytp-volume-slider-active") }; g.z(gW, g.T); + gW.prototype.onVideoDataChange = function () { + var a = this.api.U(); this.kc(); this.visible = !!this.api.getVideoData().videoId && !g.aR(this.api.getVideoData(1)); g.Mx(this, this.visible); this.api.logVisibility(this.element, this.visible && this.Z); if (this.visible) { var b = this.api.getVideoUrl(!0, !1, !1, !0); this.updateValue("url", b) } a.C && (this.j && (this.Oc(this.j), this.j = null), this.element.removeAttribute("href"), this.element.removeAttribute("title"), this.element.removeAttribute("aria-label"), g.np(this.element, "no-link")); + b = this.api.U(); a = this.api.getVideoData(); var c = ""; b.C || (b = g.YO(b), b.indexOf("www.") === 0 && (b = b.substring(4)), c = g.bR(a) ? "Watch on YouTube Music" : b === "youtube.com" ? "Watch on YouTube" : g.DD("Watch on $WEBSITE", { WEBSITE: b })); this.updateValue("title", c) + }; + gW.prototype.onClick = function (a) { this.api.L("web_player_log_click_before_generating_ve_conversion_params") && this.api.logClick(this.element); var b = this.api.U(), c = this.api.getVideoUrl(!g.$y(a), !1, !0, !0); if (g.IO(b)) { var d = {}; g.IO(b) && g.iR(this.api, "addEmbedsConversionTrackingParams", [d]); this.api.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(d, "emb_logo"); c = g.Ti(c, d) } g.yS(c, this.api, a); this.api.L("web_player_log_click_before_generating_ve_conversion_params") || this.api.logClick(this.element) }; + gW.prototype.kc = function () { + var a = { I: "svg", X: { height: "100%", version: "1.1", viewBox: "0 0 67 36", width: "100%" }, V: [{ I: "path", Fc: !0, S: "ytp-svg-fill", X: { d: "M 45.09 10 L 45.09 25.82 L 47.16 25.82 L 47.41 24.76 L 47.47 24.76 C 47.66 25.14 47.94 25.44 48.33 25.66 C 48.72 25.88 49.16 25.99 49.63 25.99 C 50.48 25.99 51.1 25.60 51.5 24.82 C 51.9 24.04 52.09 22.82 52.09 21.16 L 52.09 19.40 C 52.12 18.13 52.05 17.15 51.90 16.44 C 51.75 15.74 51.50 15.23 51.16 14.91 C 50.82 14.59 50.34 14.44 49.75 14.44 C 49.29 14.44 48.87 14.57 48.47 14.83 C 48.27 14.96 48.09 15.11 47.93 15.29 C 47.78 15.46 47.64 15.65 47.53 15.86 L 47.51 15.86 L 47.51 10 L 45.09 10 z M 8.10 10.56 L 10.96 20.86 L 10.96 25.82 L 13.42 25.82 L 13.42 20.86 L 16.32 10.56 L 13.83 10.56 L 12.78 15.25 C 12.49 16.62 12.31 17.59 12.23 18.17 L 12.16 18.17 C 12.04 17.35 11.84 16.38 11.59 15.23 L 10.59 10.56 L 8.10 10.56 z M 30.10 10.56 L 30.10 12.58 L 32.59 12.58 L 32.59 25.82 L 35.06 25.82 L 35.06 12.58 L 37.55 12.58 L 37.55 10.56 L 30.10 10.56 z M 19.21 14.46 C 18.37 14.46 17.69 14.63 17.17 14.96 C 16.65 15.29 16.27 15.82 16.03 16.55 C 15.79 17.28 15.67 18.23 15.67 19.43 L 15.67 21.06 C 15.67 22.24 15.79 23.19 16 23.91 C 16.21 24.62 16.57 25.15 17.07 25.49 C 17.58 25.83 18.27 26 19.15 26 C 20.02 26 20.69 25.83 21.19 25.5 C 21.69 25.17 22.06 24.63 22.28 23.91 C 22.51 23.19 22.63 22.25 22.63 21.06 L 22.63 19.43 C 22.63 18.23 22.50 17.28 22.27 16.56 C 22.04 15.84 21.68 15.31 21.18 14.97 C 20.68 14.63 20.03 14.46 19.21 14.46 z M 56.64 14.47 C 55.39 14.47 54.51 14.84 53.99 15.61 C 53.48 16.38 53.22 17.60 53.22 19.27 L 53.22 21.23 C 53.22 22.85 53.47 24.05 53.97 24.83 C 54.34 25.40 54.92 25.77 55.71 25.91 C 55.97 25.96 56.26 25.99 56.57 25.99 C 57.60 25.99 58.40 25.74 58.96 25.23 C 59.53 24.72 59.81 23.94 59.81 22.91 C 59.81 22.74 59.79 22.61 59.78 22.51 L 57.63 22.39 C 57.62 23.06 57.54 23.54 57.40 23.83 C 57.26 24.12 57.01 24.27 56.63 24.27 C 56.35 24.27 56.13 24.18 56.00 24.02 C 55.87 23.86 55.79 23.61 55.75 23.25 C 55.71 22.89 55.68 22.36 55.68 21.64 L 55.68 21.08 L 59.86 21.08 L 59.86 19.16 C 59.86 17.99 59.77 17.08 59.58 16.41 C 59.39 15.75 59.07 15.25 58.61 14.93 C 58.15 14.62 57.50 14.47 56.64 14.47 z M 23.92 14.67 L 23.92 23.00 C 23.92 24.03 24.11 24.79 24.46 25.27 C 24.82 25.76 25.35 26.00 26.09 26.00 C 27.16 26.00 27.97 25.49 28.5 24.46 L 28.55 24.46 L 28.76 25.82 L 30.73 25.82 L 30.73 14.67 L 28.23 14.67 L 28.23 23.52 C 28.13 23.73 27.97 23.90 27.77 24.03 C 27.57 24.16 27.37 24.24 27.15 24.24 C 26.89 24.24 26.70 24.12 26.59 23.91 C 26.48 23.70 26.43 23.35 26.43 22.85 L 26.43 14.67 L 23.92 14.67 z M 36.80 14.67 L 36.80 23.00 C 36.80 24.03 36.98 24.79 37.33 25.27 C 37.60 25.64 37.97 25.87 38.45 25.96 C 38.61 25.99 38.78 26.00 38.97 26.00 C 40.04 26.00 40.83 25.49 41.36 24.46 L 41.41 24.46 L 41.64 25.82 L 43.59 25.82 L 43.59 14.67 L 41.09 14.67 L 41.09 23.52 C 40.99 23.73 40.85 23.90 40.65 24.03 C 40.45 24.16 40.23 24.24 40.01 24.24 C 39.75 24.24 39.58 24.12 39.47 23.91 C 39.36 23.70 39.31 23.35 39.31 22.85 L 39.31 14.67 L 36.80 14.67 z M 56.61 16.15 C 56.88 16.15 57.08 16.23 57.21 16.38 C 57.33 16.53 57.42 16.79 57.47 17.16 C 57.52 17.53 57.53 18.06 57.53 18.78 L 57.53 19.58 L 55.69 19.58 L 55.69 18.78 C 55.69 18.05 55.71 17.52 55.75 17.16 C 55.79 16.81 55.87 16.55 56.00 16.39 C 56.13 16.23 56.32 16.15 56.61 16.15 z M 19.15 16.19 C 19.50 16.19 19.75 16.38 19.89 16.75 C 20.03 17.12 20.09 17.7 20.09 18.5 L 20.09 21.97 C 20.09 22.79 20.03 23.39 19.89 23.75 C 19.75 24.11 19.51 24.29 19.15 24.30 C 18.80 24.30 18.54 24.11 18.41 23.75 C 18.28 23.39 18.22 22.79 18.22 21.97 L 18.22 18.5 C 18.22 17.7 18.28 17.12 18.42 16.75 C 18.56 16.38 18.81 16.19 19.15 16.19 z M 48.63 16.22 C 48.88 16.22 49.08 16.31 49.22 16.51 C 49.36 16.71 49.45 17.05 49.50 17.52 C 49.55 17.99 49.58 18.68 49.58 19.55 L 49.58 21 L 49.59 21 C 49.59 21.81 49.57 22.45 49.5 22.91 C 49.43 23.37 49.32 23.70 49.16 23.89 C 49.00 24.08 48.78 24.17 48.51 24.17 C 48.30 24.17 48.11 24.12 47.94 24.02 C 47.76 23.92 47.62 23.78 47.51 23.58 L 47.51 17.25 C 47.59 16.95 47.75 16.70 47.96 16.50 C 48.17 16.31 48.39 16.22 48.63 16.22 z " } }] }, + b = 28666, c = this.api.getVideoData(); this.api.jd() ? a = { + I: "svg", X: { fill: "none", height: "100%", viewBox: "-10 -8 67 36", width: "100%" }, V: [{ + I: "path", X: { + d: "m.73 13.78 2.57-.05c-.05 2.31.36 3.04 1.34 3.04.95 0 1.34-.61 1.34-1.88 0-1.88-.97-2.83-2.37-4.04C1.47 8.99.55 7.96.55 5.23c0-2.60 1.15-4.14 4.17-4.14 2.91 0 4.12 1.70 3.71 5.20l-2.57.15c.05-2.39-.20-3.22-1.26-3.22-.97 0-1.31.64-1.31 1.82 0 1.77.74 2.31 2.34 3.84 1.98 1.88 3.09 2.98 3.09 5.54 0 3.24-1.26 4.48-4.20 4.48-3.06.02-4.30-1.62-3.78-5.12ZM9.67.74h2.83V4.58c0 1.15-.05 1.95-.15 2.93h.05c.54-1.15 1.44-1.75 2.60-1.75 1.75 0 2.5 1.23 2.5 3.35v9.53h-2.83V9.32c0-1.03-.25-1.54-.90-1.54-.48 0-.92.28-1.23.79V18.65H9.70V.74h-.02ZM18.67 13.27v-1.82c0-4.07 1.18-5.64 3.99-5.64 2.80 0 3.86 1.62 3.86 5.64v1.82c0 3.96-1.00 5.59-3.94 5.59-2.98 0-3.91-1.67-3.91-5.59Zm5 1.03v-3.94c0-1.72-.25-2.60-1.08-2.60-.79 0-1.05.87-1.05 2.60v3.94c0 1.80.25 2.62 1.05 2.62.82 0 1.08-.82 1.08-2.62ZM27.66 6.03h2.19l.25 2.73h.10c.28-2.01 1.21-3.01 2.39-3.01.15 0 .30.02.51.05l-.15 3.27c-1.18-.25-2.13-.05-2.57.72V18.63h-2.73V6.03ZM34.80 15.67V8.27h-1.03V6.05h1.15l.36-3.73h2.11V6.05h1.93v2.21h-1.80v6.98c0 1.18.15 1.44.61 1.44.41 0 .77-.05 1.10-.18l.36 1.80c-.85.41-1.93.54-2.60.54-1.82-.02-2.21-.97-2.21-3.19ZM40.26 14.81l2.39-.05c-.12 1.39.36 2.19 1.21 2.19.72 0 1.13-.46 1.13-1.10 0-.87-.79-1.46-2.16-2.5-1.62-1.23-2.60-2.16-2.60-4.20 0-2.24 1.18-3.32 3.63-3.32 2.60 0 3.63 1.28 3.42 4.35l-2.39.10c-.02-1.90-.28-2.44-1.08-2.44-.77 0-1.10.38-1.10 1.08 0 .97.56 1.44 1.49 2.11 2.21 1.64 3.24 2.47 3.24 4.53 0 2.26-1.28 3.40-3.73 3.40-2.78-.02-3.81-1.54-3.45-4.14Z", + fill: "#fff" + } + }] + } : g.bR(c) && (a = { + I: "svg", X: { fill: "none", height: "25", viewBox: "0 0 140 25", width: "140" }, V: [{ I: "path", X: { d: "M33.96 20.91V15.45L37.43 4.11H34.84L33.52 9.26C33.22 10.44 32.95 11.67 32.75 12.81H32.59C32.48 11.81 32.16 10.50 31.84 9.24L30.56 4.11H27.97L31.39 15.45V20.91H33.96Z", fill: "white" } }, { + I: "path", X: { + d: "M40.92 8.31C37.89 8.31 36.85 10.06 36.85 13.83V15.62C36.85 19.00 37.50 21.12 40.86 21.12C44.17 21.12 44.88 19.10 44.88 15.62V13.83C44.88 10.46 44.20 8.31 40.92 8.31ZM42.21 16.73C42.21 18.37 41.92 19.40 40.87 19.40C39.84 19.40 39.55 18.36 39.55 16.73V12.69C39.55 11.29 39.75 10.04 40.87 10.04C42.05 10.04 42.21 11.36 42.21 12.69V16.73Z", + fill: "white" + } + }, { I: "path", X: { d: "M49.09 21.10C50.55 21.10 51.46 20.49 52.21 19.39H52.32L52.43 20.91H54.42V8.55H51.78V18.48C51.50 18.97 50.85 19.33 50.24 19.33C49.47 19.33 49.23 18.72 49.23 17.70V8.55H46.60V17.82C46.60 19.83 47.18 21.10 49.09 21.10Z", fill: "white" } }, { I: "path", X: { d: "M59.64 20.91V6.16H62.68V4.11H53.99V6.16H57.03V20.91H59.64Z", fill: "white" } }, { + I: "path", X: { + d: "M64.69 21.10C66.15 21.10 67.06 20.49 67.81 19.39H67.92L68.03 20.91H70.02V8.55H67.38V18.48C67.10 18.97 66.45 19.33 65.84 19.33C65.07 19.33 64.83 18.72 64.83 17.70V8.55H62.20V17.82C62.20 19.83 62.78 21.10 64.69 21.10Z", + fill: "white" + } + }, { I: "path", X: { d: "M77.49 8.28C76.21 8.28 75.29 8.84 74.68 9.75H74.55C74.63 8.55 74.69 7.53 74.69 6.72V3.45H72.14L72.13 14.19L72.14 20.91H74.36L74.55 19.71H74.62C75.21 20.52 76.12 21.03 77.33 21.03C79.34 21.03 80.20 19.30 80.20 15.62V13.71C80.20 10.27 79.81 8.28 77.49 8.28ZM77.58 15.62C77.58 17.92 77.24 19.29 76.17 19.29C75.67 19.29 74.98 19.05 74.67 18.60V11.25C74.94 10.55 75.54 10.04 76.21 10.04C77.29 10.04 77.58 11.35 77.58 13.74V15.62Z", fill: "white" } }, { + I: "path", X: { + d: "M89.47 13.51C89.47 10.53 89.17 8.32 85.74 8.32C82.51 8.32 81.79 10.47 81.79 13.63V15.80C81.79 18.88 82.45 21.12 85.66 21.12C88.20 21.12 89.51 19.85 89.36 17.39L87.11 17.27C87.08 18.79 86.73 19.41 85.72 19.41C84.45 19.41 84.39 18.20 84.39 16.40V15.56H89.47V13.51ZM85.68 9.98C86.90 9.98 86.99 11.13 86.99 13.08V14.09H84.39V13.08C84.39 11.15 84.47 9.98 85.68 9.98Z", + fill: "white" + } + }, { I: "path", X: { d: "M93.18 20.86H95.50V13.57C95.50 11.53 95.46 9.36 95.30 6.46H95.56L95.99 8.24L98.73 20.86H101.09L103.78 8.24L104.25 6.46H104.49C104.37 9.03 104.30 11.35 104.30 13.57V20.86H106.63V4.06H102.67L101.25 10.27C100.65 12.85 100.22 16.05 99.97 17.68H99.78C99.60 16.02 99.15 12.83 98.56 10.29L97.10 4.06H93.18V20.86Z", fill: "white" } }, { + I: "path", X: { + d: "M111.27 21.05C112.73 21.05 113.64 20.44 114.39 19.34H114.50L114.61 20.86H116.60V8.50H113.96V18.43C113.68 18.92 113.03 19.28 112.42 19.28C111.65 19.28 111.41 18.67 111.41 17.65V8.50H108.78V17.77C108.78 19.78 109.36 21.05 111.27 21.05Z", + fill: "white" + } + }, { + I: "path", X: { + d: "M121.82 21.12C124.24 21.12 125.59 20.05 125.59 17.86C125.59 15.87 124.59 15.06 122.21 13.44C121.12 12.72 120.53 12.27 120.53 11.21C120.53 10.42 121.02 10.00 121.91 10.00C122.88 10.00 123.21 10.64 123.25 12.46L125.41 12.34C125.59 9.49 124.57 8.27 121.95 8.27C119.47 8.27 118.28 9.34 118.28 11.46C118.28 13.42 119.21 14.31 120.96 15.53C122.51 16.60 123.36 17.27 123.36 18.16C123.36 18.89 122.85 19.42 121.96 19.42C120.94 19.42 120.36 18.54 120.46 17.21L118.27 17.25C117.93 19.81 119.13 21.12 121.82 21.12Z", + fill: "white" + } + }, { I: "path", X: { d: "M128.45 6.93C129.35 6.93 129.77 6.63 129.77 5.39C129.77 4.23 129.32 3.87 128.45 3.87C127.57 3.87 127.14 4.19 127.14 5.39C127.14 6.63 127.55 6.93 128.45 6.93ZM127.23 20.86H129.76V8.50H127.23V20.86Z", fill: "white" } }, { + I: "path", X: { + d: "M135.41 21.06C136.67 21.06 137.38 20.91 137.95 20.37C138.80 19.63 139.15 18.48 139.09 16.54L136.78 16.42C136.78 18.54 136.44 19.34 135.45 19.34C134.36 19.34 134.18 18.15 134.18 15.99V13.43C134.18 11.07 134.41 9.95 135.47 9.95C136.35 9.95 136.70 10.69 136.70 13.05L138.99 12.89C139.15 11.20 138.98 9.82 138.18 9.05C137.58 8.49 136.69 8.27 135.51 8.27C132.48 8.27 131.54 10.19 131.54 13.84V15.53C131.54 19.18 132.25 21.06 135.41 21.06Z", + fill: "white" + } + }] + }, b = 216163); g.bR(c) ? g.np(this.element, "ytp-youtube-music-button") : g.pp(this.element, "ytp-youtube-music-button"); a.X = Object.assign({}, a.X, { "aria-hidden": "true" }); this.updateValue("logoSvg", a); this.api.hasVe(this.element) && this.api.destroyVe(this.element); this.api.createClientVe(this.element, this, b, !0) + }; + gW.prototype.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.api.logVisibility(this.element, this.visible && a) }; g.z(RSa, g.OE); g.k = RSa.prototype; g.k.Cg = function () { if (this.J.L("web_player_max_seekable_on_ended") || !g.U(this.J.getPlayerStateObject(), 2)) this.progressBar.Tc(), this.Ba.Tc() }; + g.k.yB = function () { this.xU(); this.Jg.B ? this.Cg() : this.progressBar.gi() }; + g.k.r6 = function () { this.Cg(); this.Z.start() }; + g.k.xU = function () { var a; if (a = !this.J.U().B) { a = this.progressBar; var b = a.N * 2 * g.aP(), c = a.C; a = (c.j - c.B) * 1E3 / a.api.getPlaybackRate() / b < 300 } a = a && this.J.getPlayerStateObject().isPlaying() && !!window.requestAnimationFrame; b = !a; this.Jg.B || (a = b = !1); b ? this.ra || (this.ra = this.T(this.J, "progresssync", this.Cg)) : this.ra && (this.Oc(this.ra), this.ra = null); a ? this.Z.isActive() || this.Z.start() : this.Z.stop() }; + g.k.kc = function () { + var a = this.J.Hh(), b = this.J.qb().getPlayerSize(), c = TSa(this), d = Math.max(b.width - c * 2, 100); if (this.fb !== b.width || this.Xa !== a) { this.fb = b.width; this.Xa = a; var e = USa(this); this.C.element.style.width = e + "px"; this.C.element.style.left = c + "px"; g.kSa(this.progressBar, c, e, a); this.J.Re().bW = e } c = this.B; d = Math.min(570 * (a ? 1.5 : 1), d); a = Math.min(413 * (a ? 1.5 : 1), Math.round((b.height - VSa(this)) * .82)); c.maxWidth = d; c.maxHeight = a; c.HC(); this.xU(); this.J.U().L("html5_player_dynamic_bottom_gradient") && eRa(this.Wa, + b.height) + }; + g.k.onVideoDataChange = function () { var a = this.J.getVideoData(); this.Ka.style.background = a.Ff ? a.Rp : ""; this.qa && lRa(this.qa, a.showSeekingControls); this.Y && lRa(this.Y, a.showSeekingControls) }; + g.k.Ib = function () { return this.C.element }; g.z(WSa, bT); g.k = WSa.prototype; g.k.tG = function (a) { a.target !== this.dismissButton.element && (this.onClickCommand && this.J.ib("innertubeCommand", this.onClickCommand), this.Ru()) }; + g.k.Ru = function () { this.enabled = !1; this.qa.hide() }; + g.k.onVideoDataChange = function (a, b) { + a === "dataloaded" && XSa(this); a = []; var c, d, e, f; if (b = (f = g.R((c = b.getWatchNextResponse()) == null ? void 0 : (d = c.playerOverlays) == null ? void 0 : (e = d.playerOverlayRenderer) == null ? void 0 : e.suggestedActionsRenderer, Dab)) == null ? void 0 : f.suggestedActions) for (c = g.w(b), d = c.next(); !d.done; d = c.next())(d = g.R(d.value, Eab)) && g.R(d.trigger, Cab) && a.push(d); if (a.length !== 0) { + c = []; a = g.w(a); for (d = a.next(); !d.done; d = a.next())if (d = d.value, e = g.R(d.trigger, Cab)) f = (f = d.title) ? g.Qx(f) : "View Chapters", + b = e.timeRangeStartMillis, e = e.timeRangeEndMillis, b != null && e != null && d.tapCommand && (c.push(new g.qD(b, e, { priority: 9, namespace: "suggested_action_button_visible", id: f })), this.suggestedActions[f] = d.tapCommand); this.J.lf(c) + } + }; + g.k.Qy = function () { return this.enabled }; + g.k.If = function () { this.enabled ? this.Ra.start() : $S(this); this.Vl() }; + g.k.xa = function () { XSa(this); bT.prototype.xa.call(this) }; var l2 = {}, hW = (l2.CHANNEL_NAME = "ytp-title-channel-name", l2.FULLERSCREEN_LINK = "ytp-title-fullerscreen-link", l2.LINK = "ytp-title-link", l2.SESSIONLINK = "yt-uix-sessionlink", l2.SUBTEXT = "ytp-title-subtext", l2.TEXT = "ytp-title-text", l2.TITLE = "ytp-title", l2); g.z(iW, g.T); + iW.prototype.onClick = function (a) { this.api.logClick(this.element); var b = this.api.U(), c = this.api.getVideoUrl(!g.$y(a), !1, !0); g.IO(b) && (b = {}, g.iR(this.api, "addEmbedsConversionTrackingParams", [b]), this.api.L("embeds_web_enable_referring_feature_deprecation") || g.ZK(b, "emb_title"), c = g.Ti(c, b)); g.yS(c, this.api, a) }; + iW.prototype.Ta = function () { + var a = this.api.getVideoData(), b = this.api.U(); this.updateValue("title", a.title); var c = { I: "a", S: hW.CHANNEL_NAME, X: { href: "{{channelLink}}", target: "_blank" }, va: "{{channelName}}" }; this.api.U().C && (c = { I: "span", S: hW.CHANNEL_NAME, va: "{{channelName}}", X: { tabIndex: "{{channelSubtextFocusable}}" } }); this.updateValue("subtextElement", c); YSa(this); this.api.getPresentingPlayerType() === 2 && (c = this.api.getVideoData(), c.videoId && c.isListed && c.author && c.Ab && c.profilePicture ? (this.updateValue("channelLink", + c.Ab), this.updateValue("channelName", c.author), this.updateValue("channelTitleFocusable", "0")) : YSa(this)); c = b.externalFullscreen || !this.api.isFullscreen() && b.Xk; g.rp(this.link, hW.FULLERSCREEN_LINK, c); b.ra || !a.videoId || c || g.aR(a) || b.C ? this.j && (this.updateValue("url", null), this.Oc(this.j), this.j = null) : (this.updateValue("url", this.api.getVideoUrl(!0)), this.j || (this.j = this.T(this.link, "click", this.onClick))); b.C && (this.element.classList.add("ytp-no-link"), this.updateValue("channelName", g.IO(b) ? a.expandedTitle : + a.author), this.updateValue("channelTitleFocusable", "0"), this.updateValue("channelSubtextFocusable", "0")) + }; g.z(g.jW, g.T); g.k = g.jW.prototype; g.k.setEnabled = function (a) { if (this.type != null) if (a) switch (this.type) { case 3: case 2: $Sa(this); this.K.show(); break; default: this.K.show() } else this.K.hide(); this.Y = a }; + g.k.HM = function (a, b, c, d, e, f, h, l) { + if (!this.Ka || this.env.Z) { + this.type === 3 && this.gi(); this.type !== 1 && (g.lp(this.element, "ytp-tooltip ytp-bottom"), (hRa(this.api) || this.api.isInline()) && g.np(this.element, "ytp-rounded-tooltip"), this.type = 1, this.Y && this.K.show(), this.B && this.B.dispose(), (this.B = this.api.zk()) && this.B.subscribe("l", this.l0, this)); if (l) { var m = g.Am(this.bg).height || this.Ba; this.Ra.style.bottom = m + 2 + "px" } this.update({ text: c, title: f != null ? f : "", eduText: l != null ? l : "" }); g.rp(this.text, "ytp-tooltip-text-no-title", + this.type === 1 && !f); this.api.isInline() && g.np(this.text, "ytp-modern-tooltip-text"); g.rp(this.element, "ytp-text-detail", !!d); c = -1; this.B && (c = OP(this.B, this.N * this.scale), this.env.L("web_l3_storyboard") && this.B.levels.length === 4 && (c = this.B.levels.length - 1), c = OKa(this.B, c, b)); bTa(this, c); if (h) switch (b = g.Am(this.element).width, h) { + case 1: this.title.style.right = "0"; this.title.style.textAlign = "left"; break; case 2: this.title.style.right = b + "px"; this.title.style.textAlign = "right"; break; case 3: this.title.style.right = + b / 2 + "px", this.title.style.textAlign = "center" + }aTa(this, !!d, a, e) + } + }; + g.k.DQ = function () { this.type === 1 && this.gi() }; + g.k.LH = function (a, b) { if (this.type) if (this.type === 3) this.gi(); else return; ZSa(this, a, 3, b) }; + g.k.Vh = function () { this.j && !this.qa && this.j.hasAttribute("title") && (this.C = this.j.getAttribute("title") || "", this.j.removeAttribute("title"), this.Y && $Sa(this)) }; + g.k.l0 = function (a, b) { a <= this.D && this.D <= b && (a = this.D, this.D = NaN, bTa(this, a)) }; + g.k.q$ = function () { MKa(this.B, this.D, this.N * this.scale) }; + g.k.gi = function () { switch (this.type) { case 2: var a = this.j; a.removeEventListener("mouseout", this.ra); a.addEventListener("mouseover", this.G); a.removeEventListener("blur", this.ra); a.addEventListener("focus", this.G); cTa(this); break; case 3: cTa(this); break; case 1: this.B && (this.B.unsubscribe("l", this.l0, this), this.B = null), this.api.removeEventListener("videoready", this.Fa), this.Ga.stop() }this.type = null; this.Y && this.K.hide() }; + g.k.Cm = function () { if (this.j) for (var a = 0; a < arguments.length; a++)g.qe(arguments[a], this.j) && this.gi() }; + g.k.xa = function () { this.type != null && this.gi(); this.B && this.B.dispose(); g.T.prototype.xa.call(this) }; g.z(eTa, g.T); g.k = eTa.prototype; g.k.AD = function () { this.visible = fTa(this); g.Mx(this, this.visible); this.icon && hTa(this, this.icon); this.J.logVisibility(this.element, this.visible && this.Z) }; + g.k.nf = function () { return this.J.getVideoData().videoId }; + g.k.onClick = function () { this.J.logClick(this.element); var a = this.J.U(), b = this.nf(); a.Ba ? dTa(this) : gTa(this, b) }; + g.k.onReset = function () { this.isRequestPending = this.j = !1; this.Ta(2); this.AD() }; + g.k.Ta = function (a, b) { var c = this.J.U(); hTa(this, a); b ? this.update({ title: b, image: null }) : c.userDisplayName ? (a = { USER_NAME: c.userDisplayName }, this.update({ title: this.j ? g.DD("Added as $USER_NAME", a) : g.DD("Watch later as $USER_NAME", a), image: iP(c) })) : this.update({ title: "Watch later", image: null }); this.J.Vh() }; + g.k.Mc = function (a) { g.T.prototype.Mc.call(this, a); this.J.logVisibility(this.element, this.visible && a) }; g.z(g.kW, g.IU); g.k = g.kW.prototype; + g.k.init = function () { + var a = this; this.le = new g.LU(this.api); this.Uw = new UU(this.api); this.Di = new g.T({ I: "div", S: "ytp-chrome-top" }); this.tooltip = new g.jW(this.api, this); this.channelAvatar = new HPa(this.api); this.title = new iW(this.api); this.Ug = new g.Jx({ I: "div", S: "ytp-chrome-top-buttons" }); this.Yg = new zPa(this.api, this.Di.element); this.Eg = this.api.U().controlsType === "1" ? new RSa(this.api, this, this.Jg) : null; this.contextMenu = new RPa(this.api, this.le); this.WE = new g.T({ I: "div", X: { tabindex: "0" } }); this.VE = new g.T({ + I: "div", + X: { tabindex: "0" } + }); var b = this.api.qb(), c = this.api.U(), d = this.api.getVideoData(); this.Wr && (g.np(this.api.getRootNode(), "ytp-embed"), g.np(this.api.getRootNode(), "ytp-embed-playlist"), this.IK && (g.np(this.api.getRootNode(), "ytp-embed-overlays-autohide"), g.np(this.contextMenu.element, "ytp-embed-overlays-autohide")), this.PO = 60, this.QO = 89); this.api.U().C && g.np(this.api.getRootNode(), "ytp-embed-pfl"); this.api.U().B && (g.np(this.api.getRootNode(), "ytp-mobile"), this.api.U().Z && g.np(this.api.getRootNode(), "ytp-embed-mobile")); + this.Ii = d && d.getEmbeddedPlayerResponse(); g.P(this, this.le); g.GR(this.api, this.le.element, 4); g.P(this, this.Uw); g.GR(this.api, this.Uw.element, 4); d = new g.T({ I: "div", S: "ytp-gradient-top" }); g.P(this, d); g.GR(this.api, d.element, 1); this.RM = new g.Dy(d, 250, !0, 100); g.P(this, this.RM); g.P(this, this.Di); g.GR(this.api, this.Di.element, 1); this.QM = new g.Dy(this.Di, 250, !0, 100); g.P(this, this.QM); g.P(this, this.tooltip); g.GR(this.api, this.tooltip.element, 4); var e = new HQa(this.api); g.P(this, e); g.GR(this.api, e.element, 5); + e.subscribe("show", function (m) { a.bA(e, m) }); + this.aI.push(e); this.OB = new eV(this.api, e); g.P(this, this.OB); !this.Wr && this.OB.Ja(this.Di.element); g.P(this, this.channelAvatar); this.channelAvatar.Ja(this.Di.element); g.P(this, this.title); this.title.Ja(this.Di.element); this.Wr && (d = new dRa(this.api), g.P(this, d), d.Ja(this.Di.element)); g.P(this, this.Ug); this.Ug.Ja(this.Di.element); var f = new RQa(this.api, this); g.P(this, f); g.GR(this.api, f.element, 5); f.subscribe("show", function (m) { a.bA(f, m) }); + this.aI.push(f); this.searchButton = new hV(this.api); g.P(this, this.searchButton); this.searchButton.Ja(this.Ug.element); this.pp = new eTa(this.api); g.P(this, this.pp); this.pp.Ja(this.Ug.element); this.shareButton = new g.iV(this.api, this, f); g.P(this, this.shareButton); this.shareButton.Ja(this.Ug.element); this.copyLinkButton = new TU(this.api, this); g.P(this, this.copyLinkButton); this.copyLinkButton.Ja(this.Ug.element); this.Wr && this.OB.Ja(this.Ug.element); g.P(this, this.Yg); this.Yg.Ja(this.Ug.element); c.Ap && (d = new mV(this.api), + g.P(this, d), g.GR(this.api, d.element, 4)); c.C || (d = new APa(this.api, this.Yg), g.P(this, d), d.Ja(this.Ug.element)); this.zi = new DQa(this.api); g.P(this, this.zi); g.GR(this.api, this.zi.element, 5); this.zi.subscribe("show", function () { a.bA(a.zi, a.zi.Ck()) }); + this.aI.push(this.zi); this.overflowButton = new g.dV(this.api, this.zi); g.P(this, this.overflowButton); this.overflowButton.Ja(this.Ug.element); this.Eg && g.P(this, this.Eg); c.controlsType === "3" && (d = new gV(this.api), g.P(this, d), g.GR(this.api, d.element, 9)); g.P(this, this.contextMenu); this.contextMenu.subscribe("show", this.D3, this); d = new fz(this.api, new KU(this.api)); g.P(this, d); g.GR(this.api, d.element, 4); this.WE.listen("focus", this.D8, this); g.P(this, this.WE); this.VE.listen("focus", this.E8, this); g.P(this, this.VE); + var h; (this.Kx = c.Zj ? null : new BQa(this.api, b, this.contextMenu, this.Jg, this.le, this.Uw, function () { return a.Dr() }, (h = this.Eg) == null ? void 0 : h.progressBar)) && g.P(this, this.Kx); + this.Wr || (this.aY = new YPa(this.api), g.P(this, this.aY), g.GR(this.api, this.aY.element, 4), this.q2 = new WQa(this.api), g.P(this, this.q2), g.GR(this.api, this.q2.element, 4)); this.K2 = new WSa(this.api); g.P(this, this.K2); g.GR(this.api, this.K2.element, 4); if (this.Wr) { + var l = new pQa(this.api, this.api.U().Wa); g.P(this, l); g.GR(this.api, l.element, 5); l.subscribe("show", function (m) { a.bA(l, m) }); + b = new tQa(this.api, l); g.P(this, b); g.GR(this.api, b.element, 4) + } this.oG.push(this.le.element); this.T(this.api, "fullscreentoggled", this.ly); this.T(this.api, "offlineslatestatechange", function () { a.api.LF() && yU(a.Jg, 128, !1) }); + this.T(this.api, "cardstatechange", function () { a.Uq() }); + this.T(this.api, "resize", this.Caa); this.T(this.api, "videoplayerreset", this.onReset); this.T(this.api, "showpromotooltip", this.cba); g.IU.prototype.init.call(this) + }; + g.k.Re = function () { return this.tooltip }; + g.k.jQ = function () { return this.Eg }; + g.k.bA = function (a, b) { b ? this.yE = a : this.yE = null; this.Uq() }; + g.k.NE = function (a, b) { if (b) this.Pu.push(a); else for (b = this.Pu.length; b >= 0; b--)if (this.Pu[b] === a) { this.Pu.splice(b, 1); break } yU(this.Jg, 64, this.Pu.length > 0) }; + g.k.wC = function () { this.api.rl() && this.api.Gp(); return !!this.yE || iTa(this) || g.IU.prototype.wC.call(this) }; + g.k.pC = aa(3); g.k.Ms = aa(7); g.k.Ls = aa(10); g.k.Uq = function () { var a = !this.wC(), b = a && this.api.rl() && !g.U(this.api.getPlayerStateObject(), 2) && !g.aR(this.api.getVideoData()) && !this.api.U().C && !this.api.jd(), c = this.Wr && g.CR(this.api) && g.U(this.api.getPlayerStateObject(), 128); a || c ? (this.QM.show(), this.RM.show()) : (this.QM.hide(), this.RM.hide(), this.api.Cm(this.Di.element)); b ? this.Yg.pd() : this.Yg.Nb(); this.Eg && SSa(this.Eg, this.AS || !a); this.api.L("web_player_hide_overflow_button_if_empty_menu") && jTa(this); g.IU.prototype.Uq.call(this) }; + g.k.zy = function (a, b, c, d, e) { + a.style.left = ""; a.style.top = ""; a.style.bottom = ""; var f = g.Am(a), h = d || this.Eg && g.qe(this.Eg.Ib(), b), l = d = null; c != null && h || (d = g.Am(b), l = g.tm(b, this.api.getRootNode()), c == null && (c = l.x + d.width / 2)); c -= f.width / 2; h ? (b = this.Eg, d = TSa(b), l = USa(b), h = this.api.qb().getPlayerSize().height, c = g.Dd(c, d, d + l - f.width), f = h - VSa(b) - f.height) : g.qe(this.Di.element, b) ? (b = this.api.qb().getPlayerSize().width, c = g.Dd(c, 12, b - f.width - 12), f = this.Hh() ? this.QO : this.PO, this.api.U().playerStyle === "gvn" && (f += + 20), this.Wr && (f -= this.Hh() ? 26 : 18)) : (b = this.api.qb().getPlayerSize(), c = g.Dd(c, 12, b.width - f.width - 12), f = l.y > (b.height - d.height) / 2 ? l.y - f.height - 12 : l.y + d.height + 12); a.style.top = f + (e || 0) + "px"; a.style.left = c + "px" + }; + g.k.yB = function (a) { a && (this.api.Cm(this.Di.element), this.Eg && this.api.Cm(this.Eg.Ib())); this.IK && (g.rp(this.contextMenu.element, "ytp-autohide", a), g.rp(this.contextMenu.element, "ytp-autohide-active", !0)); g.IU.prototype.yB.call(this, a) }; + g.k.LR = function () { g.IU.prototype.LR.call(this); this.IK && (g.rp(this.contextMenu.element, "ytp-autohide-active", !1), this.IK && (this.contextMenu.hide(), this.zi && this.zi.hide())) }; + g.k.Zn = function (a, b) { var c = this.api.qb().getPlayerSize(); c = new g.gm(0, 0, c.width, c.height); if (a || this.Jg.B && !this.wC()) { if (this.api.U().zn || b) a = this.Hh() ? this.QO : this.PO, c.top += a, c.height -= a; this.Eg && (c.height -= VSa(this.Eg)) } return c }; + g.k.ly = function (a) { var b = this.api.getRootNode(); a ? b.parentElement ? (b.setAttribute("aria-label", "YouTube Video Player in Fullscreen"), this.api.U().externalFullscreen || (b.parentElement.insertBefore(this.WE.element, b), b.parentElement.insertBefore(this.VE.element, b.nextSibling))) : g.ex(Error("Player not in DOM.")) : (b.setAttribute("aria-label", "YouTube Video Player"), this.WE.detach(), this.VE.detach()); this.kc(); this.Vq() }; + g.k.Hh = function () { var a = this.api.U(); return this.api.isFullscreen() && !a.Z || !1 }; + g.k.showControls = function (a) { this.cP = !a; this.Uq() }; + g.k.kc = function () { var a = this.Hh(); this.tooltip.scale = a ? 1.5 : 1; this.contextMenu && g.rp(this.contextMenu.element, "ytp-big-mode", a); this.Uq(); this.api.L("web_player_hide_overflow_button_if_empty_menu") || jTa(this); this.Vq(); var b = this.api.jd(); b && a ? (a = (this.api.qb().getPlayerSize().width - this.api.getVideoContentRect().width) / 2, g.jm(this.Di.element, "padding-left", a + "px"), g.jm(this.Di.element, "padding-right", a + "px")) : b && (g.jm(this.Di.element, "padding-left", ""), g.jm(this.Di.element, "padding-right", "")); g.IU.prototype.kc.call(this) }; + g.k.UP = function () { if (iTa(this) && !g.CR(this.api)) return !1; var a = this.api.getVideoData(); return !g.IO(this.api.U()) || this.api.getPresentingPlayerType() === 2 || !this.Ii || ((a = this.Ii || a.Ii) ? (a = a.embedPreview) ? (a = a.thumbnailPreviewRenderer, a = a.videoDetails && g.R(a.videoDetails, FLa) || null) : a = null : a = null, a && a.collapsedRenderer && a.expandedRenderer) ? g.IU.prototype.UP.call(this) : !1 }; + g.k.Vq = function () { + g.IU.prototype.Vq.call(this); this.api.logVisibility(this.title.element, !!this.Ao); this.OB && this.OB.Mc(!!this.Ao); this.channelAvatar.Mc(!!this.Ao); this.overflowButton && this.overflowButton.Mc(this.Og() && !!this.Ao); this.shareButton && this.shareButton.Mc(!this.Og() && !!this.Ao); this.pp && this.pp.Mc(!this.Og() && !!this.Ao); this.searchButton && this.searchButton.Mc(!this.Og() && !!this.Ao); this.copyLinkButton && this.copyLinkButton.Mc(!this.Og() && !!this.Ao); if (!this.Ao) { + this.api.Cm(this.Di.element); + for (var a = 0; a < this.aI.length; a++) { var b = this.aI[a]; b.Ck() && b.Nb() } + } + }; + g.k.Ec = function (a) { this.Eg && SSa(this.Eg, this.wC()); this.Uq(); g.IU.prototype.Ec.call(this, a) }; + g.k.handleGlobalKeyDown = function (a, b, c, d, e, f, h, l) { return this.Kx ? this.Kx.handleGlobalKeyDown(a, b, c, d, e, f, h, l) : !1 }; + g.k.handleGlobalKeyUp = function (a, b, c, d, e, f, h) { return this.Kx ? this.Kx.handleGlobalKeyUp(a, b, c, d, e, f, h) : !1 }; + g.k.Dr = function () { if (this.contextMenu.Hb) return this.contextMenu.Nb(), !0; if (this.Pu.length) return this.Pu[this.Pu.length - 1].Nb(), !0; if (this.yE) return this.yE.Nb(), !0; this.Eg && this.api.Cm(this.Eg.Ib()); this.Ug && this.api.Cm(this.Ug.element); return g.IU.prototype.Dr.call(this) }; + g.k.zT = function (a, b) { this.tR = b; this.NE(a, b); this.D3() }; + g.k.D3 = function () { var a = this.tR || this.contextMenu.Ck(); this.xO !== a && (this.xO = a, this.api.ib("onAutonavPauseRequest", this.xO)) }; + g.k.D8 = function () { kTa(this, this.api.getRootNode(), !0).focus() }; + g.k.E8 = function () { kTa(this, this.api.getRootNode(), !1).focus() }; + g.k.Lm = function () { return this.Eg && this.Eg.B }; + g.k.Gv = function () { this.Jg.Gv() }; + g.k.CQ = function () { this.le.hide() }; + g.k.KH = function (a) { this.le.KH(!a.isOrWillBePlaying()) }; + g.k.lH = function (a, b, c, d) { this.Uw.lH(a, b, c, d) }; + g.k.kH = function (a, b) { XPa(this.Uw, a, b) }; + g.k.Caa = function () { lTa(this, !0) }; + g.k.onReset = function () { jTa(this) }; + g.k.cba = function (a) { lTa(this, !1, a) }; + g.k.lY = function () { return this.contextMenu }; + g.k.Cz = function (a) { var b; if ((b = this.Eg) != null) { for (var c = Number(a.element.getAttribute("data-priority")) || 0, d = 0, e = g.w(b.j.element.children), f = e.next(); !(f.done || c < (Number(f.value.getAttribute("data-priority")) || 0)); f = e.next())d++; a.Ja(b.j.element, d) } }; + g.k.Zw = function () { var a, b = (a = this.Eg) == null ? void 0 : a.progressBar; if (b) { var c; ((c = b.B) == null ? 0 : c.isEnabled) && b.Zw() } }; g.z(g.lW, g.XT); g.lW.prototype.jn = function () { return !1 }; + g.lW.prototype.create = function () { var a = this.player.U(); g.hz(a) && a.B || a.disableOrganicUi ? this.chrome = new g.IU(this.player) : this.chrome = new g.kW(this.player); g.P(this, this.chrome); this.chrome.init(); this.player.Dg("ux") }; + g.lW.prototype.Ji = function () { return this.chrome }; var nTa = !1; g.z(nW, g.O); nW.prototype.C = function (a, b) { if (b) { b = b instanceof g.IL ? b : oW(this, b); var c; ((c = this.j.get(a)) == null ? void 0 : KL(c.location)) !== KL(b) && this.j.set(a, new vTa(b, a)) } else this.j.delete(a) }; + nW.prototype.load = function () { + var a = this, b, c, d, e, f, h, l, m, n, p; return g.J(function (q) { + switch (q.j) { + case 1: b = a.j.get(0); g.va(q, 2); var r; if (r = b && !a.B) r = KL(b.location), r = a.B === qW(r); if (r) { q.Ha(4); break } return g.G(q, tTa(a, a.B ? 2 : 0), 5); case 5: if (c = q.B) a.C(0, c), ML(c) && a.C(1, NL(c)); case 4: g.wa(q, 3); break; case 2: d = g.xa(q); g.fx(d); if (!a.B) { q.Ha(3); break } a.B = !1; return g.G(q, a.load(), 7); case 7: return q.return(); case 3: if (!a.W.experiments.kb("html5_onesie_probe_ec_hosts")) { q.Ha(0); break } g.va(q, 9); e = a; f = e.C; h = 3; return g.G(q, + tTa(a, 1), 11); case 11: return f.call(e, h, q.B), l = a, m = l.C, n = 4, g.G(q, tTa(a, 2), 12); case 12: m.call(l, n, q.B); g.wa(q, 0); break; case 9: p = g.xa(q), g.fx(p), g.ua(q) + } + }) + }; + nW.prototype.N = function () { var a = this, b, c; return g.J(function (d) { g.gp(a.Z); b = g.AC(a.W.experiments, "html5_onesie_prewarm_max_lact_ms"); if (Wv() >= b) return d.return(); (c = a.j.get(0)) && rTa(a, c); g.ua(d) }) }; + var oTa = { fka: 0, Dka: 1, nka: 2, Eka: 3, eha: 4, 0: "PRIMARY", 1: "SECONDARY", 2: "RANDOM", 3: "SENSITIVE_CONTENT", 4: "C_YOUTUBE" }; var rW = [], q5a = !1; g.NZ = $c(function () { var a = ""; try { var b = g.je("CANVAS").getContext("webgl"); b && (b.getExtension("WEBGL_debug_renderer_info"), a = b.getParameter(37446), a = a.replace(/[ :]/g, "_")) } catch (c) { } return a }); g.z(sW, g.O); sW.prototype.K = function () { this.j != null && this.app.getVideoData() !== this.j && XP(this.j) && W5a(this.app, this.j, void 0, void 0, this.B) }; + sW.prototype.G = function () { if (this.j != null && this.app.getVideoData() !== this.j && this.xb != null && this.C != null && this.D != null && XP(this.j)) { var a = yTa(this.xb, this.C, this.D); a == null ? W5a(this.app, this.j, void 0, void 0, this.B) : (this.xb.oa("sgap", a), this.xb.getVideoData().Y && A_(this.xb, !1)) } }; + sW.prototype.N = function (a) { var b = this.app.Vc(); if (b) { var c = this.app.getCurrentTime(); Math.abs(c - a.end / 1E3) > 5 && b.oa("glrs", { cmt: c }); b.seekTo(0, { seekSource: 58 }); b.oa("glrre", { cmt: c }) } }; + sW.prototype.xa = function () { this.j = null; g.O.prototype.xa.call(this) }; g.z(g.tW, GF); g.k = g.tW.prototype; g.k.isView = function () { return !0 }; + g.k.hT = function () { var a = this.mediaElement.getCurrentTime(); if (a < this.start) try { var b = this.mediaElement.Eh(), c = oF(b, a); return !(this.start < c) } catch (d) { } return !1 }; + g.k.mx = function () { return rF(this.mediaElement.mx(), this.start, this.end) }; + g.k.Eh = function () { return rF(this.mediaElement.Eh(), this.start, this.end) }; + g.k.uA = function () { return rF(this.mediaElement.uA(), this.start, this.end) }; + g.k.getCurrentTime = function () { return this.mediaElement.getCurrentTime() - this.start }; + g.k.setCurrentTime = function (a) { this.mediaElement.setCurrentTime(a + this.start) }; + g.k.getDuration = function () { return isFinite(this.end) && !this.j ? this.end - this.start : this.mediaElement.getDuration() - this.start }; + g.k.play = function () { if (this.hT()) { this.mediaElement.getCurrentTime(); try { this.mediaElement.setCurrentTime(this.start) } catch (a) { } } return this.mediaElement.play() }; + g.k.uc = function () { var a = GF.prototype.uc.call(this); a.view = this.start + "-" + this.end; return a }; + g.k.addEventListener = function (a, b) { this.mediaElement.addEventListener(a, b) }; + g.k.removeEventListener = function (a, b) { this.mediaElement.removeEventListener(a, b) }; + g.k.HI = function () { return this.mediaElement.HI() }; + g.k.activate = function (a) { this.mediaElement.activate(a) }; + g.k.Lr = function () { return this.mediaElement.Lr() }; + g.k.playVideo = function () { return this.mediaElement.playVideo() }; + g.k.rP = function () { this.mediaElement.rP() }; + g.k.nP = function () { this.mediaElement.nP() }; + g.k.cw = function () { return this.mediaElement.cw() }; + g.k.Ib = function () { return this.mediaElement.Ib() }; + g.k.Zh = function () { return this.mediaElement.Zh() }; + g.k.zM = function (a) { this.mediaElement.zM(a) }; + g.k.lM = function () { this.mediaElement.lM() }; + g.k.getPlaybackRate = function () { return this.mediaElement.getPlaybackRate() }; + g.k.setPlaybackRate = function (a) { return this.mediaElement.setPlaybackRate(a) }; + g.k.Wt = function () { return this.mediaElement.Wt() }; + g.k.setLoop = function (a) { this.mediaElement.setLoop(a) }; + g.k.canPlayType = function (a, b) { return this.mediaElement.canPlayType(a, b) }; + g.k.isPaused = function () { return this.mediaElement.isPaused() }; + g.k.isSeeking = function () { return this.mediaElement.isSeeking() }; + g.k.isEnded = function () { return this.mediaElement.isEnded() }; + g.k.aK = function () { return this.mediaElement.aK() }; + g.k.oC = function (a) { this.mediaElement.oC(a) }; + g.k.II = function () { return this.mediaElement.II() }; + g.k.load = function () { this.mediaElement.load() }; + g.k.pause = function () { this.mediaElement.pause() }; + g.k.jl = function () { return this.mediaElement.jl() }; + g.k.bK = function () { return this.mediaElement.bK() }; + g.k.Xh = function () { return this.mediaElement.Xh() }; + g.k.Xf = function () { return this.mediaElement.Xf() }; + g.k.getVideoPlaybackQuality = function () { return this.mediaElement.getVideoPlaybackQuality() }; + g.k.ji = function () { return this.mediaElement.ji() }; + g.k.xv = function () { return this.mediaElement.xv() }; + g.k.togglePictureInPicture = function () { this.mediaElement.togglePictureInPicture() }; + g.k.Zt = function () { return this.mediaElement.Zt() }; + g.k.getSize = function () { return this.mediaElement.getSize() }; + g.k.setSize = function (a) { this.mediaElement.setSize(a) }; + g.k.getVolume = function () { return this.mediaElement.getVolume() }; + g.k.setVolume = function (a) { this.mediaElement.setVolume(a) }; + g.k.setAttribute = function (a, b) { this.mediaElement.setAttribute(a, b) }; + g.k.removeAttribute = function (a) { this.mediaElement.removeAttribute(a) }; + g.k.hasAttribute = function (a) { return this.mediaElement.hasAttribute(a) }; + g.k.hE = aa(36); g.k.UH = aa(38); g.k.VH = aa(40); g.k.Mz = aa(42); g.k.QE = function () { return this.mediaElement.QE() }; + g.k.Bt = function (a) { this.mediaElement.Bt(a) }; + g.k.sF = function (a) { return this.mediaElement.sF(a) }; + g.k.SQ = function () { return this.mediaElement.SQ() }; + g.k.stopVideo = function () { this.mediaElement.stopVideo() }; + g.k.uP = function (a) { this.mediaElement.uP(a) }; + g.k.audioTracks = function () { return this.mediaElement.audioTracks() }; + g.k.xT = function (a) { this.mediaElement.xT(a) }; g.z(BTa, g.O); g.k = BTa.prototype; g.k.getStatus = function () { return this.status }; + g.k.Jn = function () { + var a = this.j.getVideoData(), b = this.B.getVideoData(), c; if ((c = a.C) && !(c = !a.j)) { c = a.j; for (var d = !1, e = !1, f = g.w(Object.values(c.j)), h = f.next(); !h.done; h = f.next())h = h.value, h.info.audio && h.index.isLoaded() && (d = !0), h.info.video && h.index.isLoaded() && (e = !0); c.j["0"] && (e = !0); c = d && e } if (c) if (this.j.Ke()) { + f = xTa(this.policy, this.j, this.B, this.un); h = CTa(this); c = h.R7; e = h.Q_; d = h.GX; h = h.O_; if (!this.N) { + var l = this.B.Wf() * 1E3, m = this.j.Wf(); m = (d - c - m) * 1E3; f && f.msg === "in-the-past" && (m = 0); a = a.isAd(); this.B.eH(l, + m, a); this.N = !0 + } f ? (b = "cannot_apply" + f.msg, delete f.msg, this.Sg(b, f)) : this.status.status === 2 ? MTa(this) : (a = this.j.Lr()) && CF(a) && (!yF(a) && g.ks() ? this.Sg("mse_closed") : b.j && BL(b.j) && a.B && !a.B.YJ() ? this.Sg("encr_upgrade") : (b = this.j.Ke(), b.isEnded() ? this.Sg("elem_ended") : e < 0 ? this.Sg("next_player_future") : (this.K = d, this.currentVideoDuration = d - c, this.C = Mwa(a, c, d, !0), this.D = Mwa(a, e, h, !1), a = this.B.getVideoData().clientPlaybackNonce, this.j.oa("gaplessPrep", { cpn: a }), ITa(this.j, this.C, !1, JTa(this)), this.j.setMediaElement(DTa(b, + c, d, !this.j.getVideoData().isAd())), vW(this, 2), MTa(this)))) + } else this.Sg("no-elem") + }; + g.k.wz = function (a) { + var b = a === LTa(this).GT, c = b ? this.C.j : this.C.B; b = b ? this.D.j : this.D.B; if (c.isActive && !b.isActive) { + var d = this.K; nF(a.oe(), d - .01) && (vW(this, 4), c.isActive = !1, c.pI = c.pI || c.isActive, (this.G === 1 ? this.j : this.B).oa("sbh", {}), b.isActive = !0, b.pI = b.pI || b.isActive, this.G !== 0 && (this.j.getVideoData().LX = !0)); a = this.D.B; if (this.D.j.isActive && a.isActive && (vW(this, 5), this.G !== 0)) { + this.j.oa("sbs", {}); if ((a = this.B.hA()) && ZE(a)) { var e; this.j.oa("sbs", { itag: a.itag, h: (e = a.video) == null ? void 0 : e.height }) } var f; + if ((f = this.B) != null && rQ(f.videoData) && f.videoData.L("html5_gapless_append_early")) { var h; (h = f.ya) != null && h.Ue() } + } + } + }; + g.k.n0 = function () { this.wu() && this.Sg("player-reload-after-handoff") }; + g.k.Sg = function (a, b) { b = b === void 0 ? {} : b; if (!this.La() && this.status.status !== 6) { var c = this.status.status >= 4 && a !== "player-reload-after-handoff"; this.status = { status: Infinity, error: a }; if (this.j && this.B) { var d = this.B.getVideoData().clientPlaybackNonce; this.j.Id(new FE("dai.transitionfailure", Object.assign(b, { cpn: d, transitionTimeMs: this.un, msg: a }))); A_(this.j, c) } this.Rq.reject(a); this.dispose() } }; + g.k.wu = function () { return this.status.status >= 4 && this.status.status < 6 }; + g.k.xa = function () { KTa(this); this.j.unsubscribe("newelementrequired", this.n0, this); if (this.C) { var a = this.C.B; this.C.j.Jd.unsubscribe("updateend", this.wz, this); a.Jd.unsubscribe("updateend", this.wz, this) } g.O.prototype.xa.call(this) }; + g.k.cW = function (a) { g.Qy(a, 128) && this.Sg("player-error-event") }; g.z(OTa, g.O); g.k = OTa.prototype; g.k.clearQueue = function (a, b) { a = a === void 0 ? !1 : a; b = b === void 0 ? !1 : b; this.D && this.D.reject("Queue cleared"); this.app.U().L("html5_gapless_fallback_on_qoe_restart_v2") || b && this.B && A_(this.B, !1); xW(this, a) }; + g.k.Do = function () { return !this.j }; + g.k.OF = function (a) { return this.j === a }; + g.k.wu = function () { var a; return ((a = this.C) == null ? void 0 : a.wu()) || !1 }; + g.k.xa = function () { xW(this); g.O.prototype.xa.call(this) }; g.z(XTa, g.Fx); g.k = XTa.prototype; g.k.getVisibilityState = function (a, b, c, d, e, f, h, l) { return a ? 4 : TTa() ? 3 : b ? 2 : c ? 1 : d ? 5 : e ? 7 : f ? 8 : h ? 9 : l ? 10 : 0 }; + g.k.hn = function (a) { this.fullscreen !== a && (this.fullscreen = a, this.If()) }; + g.k.setMinimized = function (a) { this.B !== a && (this.B = a, this.If()) }; + g.k.setInline = function (a) { this.inline !== a && (this.inline = a, this.If()) }; + g.k.My = function (a) { this.pictureInPicture !== a && (this.pictureInPicture = a, this.If()) }; + g.k.setSqueezeback = function (a) { this.C !== a && (this.C = a, this.If()) }; + g.k.vC = function (a) { this.D !== a && (this.D = a, this.If()) }; + g.k.ji = function () { return this.j }; + g.k.isFullscreen = function () { return this.fullscreen !== 0 }; + g.k.lA = function () { return this.fullscreen }; + g.k.isMinimized = function () { return this.B }; + g.k.isInline = function () { return this.inline }; + g.k.isBackground = function () { return TTa() }; + g.k.Dj = function () { return this.pictureInPicture }; + g.k.NA = function () { return !1 }; + g.k.UA = function () { return this.C }; + g.k.Dk = function () { return this.D }; + g.k.If = function () { this.publish("visibilitychange"); var a = this.getVisibilityState(this.ji(), this.isFullscreen(), this.isMinimized(), this.isInline(), this.Dj(), this.NA(), this.UA(), this.Dk()); a !== this.K && this.publish("visibilitystatechange"); this.K = a }; + g.k.xa = function () { WTa(this.G); g.Fx.prototype.xa.call(this) }; g.z(CW, g.O); CW.prototype.Uk = function () { if (!this.uf.length) return []; var a = this.uf; this.uf = []; this.C = g.Ib(a).info; return a }; + CW.prototype.SG = function () { return this.uf }; + CW.prototype.xa = function () { g.O.prototype.xa.call(this); this.j = null; this.uf.length = 0; this.gb.length = 0; this.C = null }; g.z(EW, g.O); g.k = EW.prototype; g.k.Gr = function () { return Array.from(this.fd.keys()) }; + g.k.Os = function (a) { a = this.fd.get(a); var b = a.uf; a.Hz += b.totalLength; a.uf = new VJ; return b }; + g.k.Ng = function (a) { return this.fd.get(a).Ng }; + g.k.Bx = function (a) { return this.fd.get(a).Bx }; + g.k.EB = function (a, b, c, d) { this.fd.get(a) || dUa(this, a, b); b = this.fd.get(a); if (this.manifest) { a = fUa(this, a, c); if (d) for (var e = g.w(a), f = e.next(); !f.done; f = e.next()) { f = f.value; var h = d; f.K = h; f.startTime += h; f.We += h; f.Mf += h } eUa(this, c.bq, b, a) } else c.Co ? b.xZ = c.Is : b.kG.push(c), b.sT.push(c) }; + g.k.Yn = function (a) { var b; return ((b = this.fd.get(a)) == null ? void 0 : b.gb) || [] }; + g.k.vB = function () { for (var a = g.w(this.fd.values()), b = a.next(); !b.done; b = a.next())b = b.value, b.QS && (b.Cg && b.Cg(), b.QS = !1) }; + g.k.uq = function (a, b) { + this.logger.debug(function () { return "[onMediaEnd] formatId: " + b }); + var c = this.fd.get(b); if (FW) { if (c && !c.Ng) { if (c.Gj.get(a)) c.Gj.get(a).Ex = !0; else { var d; ((d = this.Ge) == null ? 0 : d.yc) && c.Gj.set(a, { data: new VJ, bJ: 0, Ex: !0 }) } c.Bx = !0 } } else c && !c.Bx && (c.Bx = !0) + }; + g.k.Uk = function (a) { + if (FW) { + var b = this.fd.get(a); if (b) for (var c = g.w(b.Gj), d = c.next(); !d.done; d = c.next()) { + var e = g.w(d.value); d = e.next().value; e = e.next().value; var f = b.OH.get(d); if (QM(f[0])) { if (!e.Ex) continue; var h = e.data, l = 0, m = []; f = g.w(f); for (var n = f.next(); !n.done; n = f.next()) { n = n.value; var p = n.B, q = XJ(h, l, p); l += p; m.push(new iN(n, q)) } b.Sx.push.apply(b.Sx, g.x(m)) } else if (e.data.totalLength > 0 || !f[0].range && e.Ex) h = void 0, l = f[0], m = e.bJ, f = e.data, l.range || (h = e.Ex), h = new iN(rEa(l, l.Ub + m, f.totalLength, h), f), + e.bJ += h.info.B, b.Sx.push(h); b.Gj.get(d).data = new VJ; e.Ex && b.Gj.delete(d) + } a = this.fd.get(a); if (!a) return []; b = a.Sx; a.Sx = []; c = g.w(b); for (d = c.next(); !d.done; d = c.next())a.Hz += d.value.info.B; return b || [] + } c = (b = this.fd.get(a)) == null ? void 0 : b.eg; if (!c) return []; this.Nm(a, c); return c.Uk() + }; + g.k.Ol = function (a) { if (FW) return HW(this, a); var b, c, d; return !!((c = (b = this.fd.get(a)) == null ? void 0 : b.eg) == null ? 0 : (d = c.SG()) == null ? 0 : d.length) || HW(this, a) }; + g.k.Nm = function (a, b) { for (; HW(this, a);) { var c = this.Os(a); var d = a; d = this.fd.get(d).Ng && !bUa(this, d); DW(b, c, d && cUa(this, a)) } }; + g.k.xa = function () { g.O.prototype.xa.call(this); for (var a = g.w(this.fd.keys()), b = a.next(); !b.done; b = a.next())ZTa(this, b.value); var c; if ((c = this.Ge) == null ? 0 : c.ze) for (a = g.w(this.fd.values()), b = a.next(); !b.done; b = a.next())b = b.value, b.Gj.clear(), b.OH.clear(), b.Sx.length = 0, b.gb.length = 0, b.sT.length = 0, b.kG.length = 0; this.fd.clear() }; + var FW = !1; g.z(KW, g.O); g.k = KW.prototype; g.k.enqueue = function (a, b) { if (a.D !== this) return !1; if (this.segments.length === 0 || (b === void 0 ? 0 : b)) this.j = a; this.segments.push(a); return !0 }; + g.k.Ze = function () { return this.pc || 0 }; + g.k.Yh = function () { return this.C || 0 }; + g.k.removeAll = function () { for (; this.segments.length;) { var a = void 0; (a = this.segments.pop()) == null || a.dispose() } this.B.clear() }; + g.k.xa = function () { this.removeAll(); g.O.prototype.xa.call(this) }; + g.z(tUa, g.O); g.k = tUa.prototype; g.k.Ze = function () { return this.pc }; + g.k.Yh = function () { return this.B }; + g.k.getType = function () { return this.type }; + g.k.getVideoData = function () { return this.videoData }; + g.k.AM = function (a) { AQ(a); this.videoData = a }; + g.k.xa = function () { uUa(this); g.O.prototype.xa.call(this) }; g.z(g.PW, g.O); g.k = g.PW.prototype; g.k.sJ = function (a, b, c) { return new g.qD(a, b, { id: c, namespace: "serverstitchedcuerange", priority: 9 }) }; + g.k.onCueRangeEnter = function (a) { + this.Ka.push(a); var b = a.getId(); this.ea.oa("sdai", { oncueEnter: 1, cpn: b, start: a.start, end: a.end, ct: (this.ea.getCurrentTime() || 0).toFixed(3), cmt: (this.ea.Wf() || 0).toFixed(3) }); var c = b === ""; this.fb.add(a.B); var d = this.C.get(b); if (c) { + var e; if (this.ea.getVideoData().oi() && ((e = this.j) == null ? 0 : e.OW) && this.N) { + var f; a = ((f = this.j) == null ? void 0 : f.Vg) || this.ea.getCurrentTime(); var h, l; TW(this.ea, (h = this.j) == null ? void 0 : h.OW, this.eF(), a, this.ea.getCurrentTime(), !1, !0, (l = this.j) == + null ? void 0 : l.tea, (0, g.Zt)()); this.wl = 0; this.j = void 0; this.ob && (this.events.Oc(this.ob), this.ob = null); this.N = ""; this.Ra = !0; return + } + } else if (this.ea.oa("sdai", { enterAdCueRange: 1 }), this.ea.getVideoData().oi() && (d == null ? 0 : d.SA)) return; if (this.Ra && !this.j) this.Ra = !1, !c && d && (c = this.ea.getCurrentTime(), UW(this, { je: a, isAd: !0, fq: !0, Vg: c, adCpn: b }, { isAd: !1, fq: !1, Vg: c }), this.Sb = d.cpn, this.api.publish("serverstitchedvideochange", d.rd, d.vr), a = SW(this, "midab", d), this.ea.oa("sdai", a), this.wl = 1), this.qa = !1; else if (this.j) { + if (this.j.fq) this.ea.oa("sdai", + { a_pair_of_same_transition_occurs_enter: 1, acpn: this.j.adCpn, transitionTime: this.j.Vg, cpn: b, currentTime: this.ea.getCurrentTime() }), d = this.ea.getCurrentTime(), a = { je: a, isAd: !c, fq: !0, Vg: d, adCpn: b }, b = { je: this.j.je, isAd: this.j.isAd, fq: !1, Vg: d, adCpn: this.j.adCpn }, this.j.je && this.fb.delete(this.j.je.B), UW(this, a, b); else { + if (this.j.je === a) { + this.ea.oa("sdai", { same_cue_range_pair_enter: 1, acpn: this.j.adCpn, transitionTime: this.j.Vg, cpn: b, currentTime: this.ea.getCurrentTime(), cueRangeStartTime: a.start, cueRangeEndTime: a.end }); + this.j = void 0; return + } if (this.j.adCpn === b) { b && this.ea.oa("sdai", { dchtsc: b }); this.j = void 0; return } a = { je: a, isAd: !c, fq: !0, Vg: this.ea.getCurrentTime(), adCpn: b }; UW(this, a, this.j) + } this.j = void 0; this.qa = !1 + } else this.j = { je: a, isAd: !c, fq: !0, Vg: this.ea.getCurrentTime(), adCpn: b } + }; + g.k.onCueRangeExit = function (a) { + var b = a.getId(); this.ea.oa("sdai", { oncueExit: 1, cpn: b, start: a.start, end: a.end, ct: (this.ea.getCurrentTime() || 0).toFixed(3), cmt: (this.ea.Wf() || 0).toFixed(3) }); var c = b === "", d = this.C.get(b); if (this.ea.getVideoData().oi() && !c && d) { if (d.SA) return; d.SA = !0; this.K.clear(); if (this.W.L("html5_lifa_no_rewatch_ad_sbc")) if (this.ea.GO()) { var e = d.pc; this.ea.aT(e / 1E3, (e + d.durationMs) / 1E3) } else this.ea.oa("lifa", { remove: 0 }) } if (this.fb.has(a.B)) if (this.fb.delete(a.B), this.Ka = this.Ka.filter(function (f) { + return f !== + a + }), this.Ra && (this.qa = this.Ra = !1, this.ea.oa("sdai", { cref: 1 })), this.j) { + if (this.j.fq) { + if (this.j.je === a) { + this.ea.oa("sdai", { + same_cue_range_pair_exit: 1, + acpn: this.j.adCpn, transitionTime: this.j.Vg, cpn: b, currentTime: this.ea.getCurrentTime(), cueRangeStartTime: a.start, cueRangeEndTime: a.end + }); this.j = void 0; return + } if (this.j.adCpn === b) { b && this.ea.oa("sdai", { dchtsc: b }); this.j = void 0; return } b = { je: a, isAd: !c, fq: !1, Vg: this.ea.getCurrentTime(), adCpn: b }; UW(this, this.j, b) + } else this.ea.oa("sdai", { a_pair_of_same_transition_occurs_exit: 1, pendingCpn: this.j.adCpn, transitionTime: this.j.Vg, upcomingCpn: b, contentCpn: this.ea.getVideoData().clientPlaybackNonce, currentTime: this.ea.getCurrentTime() }); + this.j = void 0; this.qa = !1 + } else this.j = { je: a, isAd: !c, fq: !1, Vg: this.ea.getCurrentTime(), adCpn: b }; else this.ea.oa("sdai", { ignore_single_exit: 1 }) + }; + g.k.eF = function () { return { cpn: this.ea.getVideoData().clientPlaybackNonce, durationMs: 0, pc: 0, playerType: 1, Xd: 0, videoData: this.ea.getVideoData(), errorCount: 0 } }; + g.k.Hl = function () { if (this.On) return !1; var a = void 0; this.Sb && (a = this.C.get(this.Sb)); return this.ea.getVideoData().oi() ? !!a && !a.SA : !!a }; + g.k.seekTo = function (a, b, c, d) { a = a === void 0 ? 0 : a; b = b === void 0 ? {} : b; c = c === void 0 ? !1 : c; d = d === void 0 ? null : d; if (this.ea.getVideoData().oi() && this.W.L("html5_lifa_ad_removed_ne") && a <= this.Wa / 1E3) this.ea.pauseVideo(), this.Wa = 0, this.qa = !0, EZ(this.ea), this.ea.seekTo(a), this.ea.playVideo(); else if (this.qa = !0, c) wUa(this, a, b); else { c = this.api.Vc(); var e = c === this.Xa ? this.Jb : null; VW(this, !1); this.Tb = a; this.Ob = b; d != null && this.Kb.start(d); c && (this.Jb = e || c.getPlayerState(), $4a(c), this.Xa = c) } }; + g.k.xa = function () { VW(this, !1); IUa(this); JUa(this); g.O.prototype.xa.call(this) }; + g.k.FT = function (a) { this.Rc = a; this.ea.oa("sdai", { swebm: a }) }; + g.k.Fl = function (a, b, c, d) { if (c && b) { var e; this.W.L("html5_ssdai_use_media_time") ? e = XW(this, d) : e = this.K.get(a); e && (e.locations || (e.locations = new Map), d = Number(b.split(";")[0]), c = new g.IL(c), this.Va && this.ea.oa("sdai", { hdlredir: 1, itag: b, seg: a, hostport: KL(c) }), e.locations.set(d, c)) } }; + g.k.nK = function (a, b, c, d, e, f) { + var h = d === 3; e = LUa(this, a, b, d, c, f); if (!e) return ZW(this, b, h), e = g.KUa(this, b) ? "undec" : "ncp", this.ea.oa("sdai", { gvprp: e, mt: a, seg: b, tt: d, itag: c, ce: f }), null; h || this.K.set(b, e); a = e.xm; var l; d = ((l = YW(this, b - 1, d)) == null ? void 0 : l.Nt) || ""; d === "" && this.ea.oa("sdai", { eds: 1 }); l = rO(e.ssdaiAdsConfig || "") || void 0; c = this.ea.getVideoData(); var m; f = ((m = c.B) == null ? void 0 : m.containerType) || 0; m = c.JD[f]; b = e.Qs && b >= e.Qs ? e.Qs : void 0; return { + dn: { + MI: a ? PUa(this, a) : [], SW: l, Nt: d, UT: b, K3: Wd(m.split(";")[0]), + L3: m.split(";")[1] || "" + } + } + }; + g.k.iQ = function (a) { a: { if (!this.On) { var b = XW(this, a); if (!(this.ea.getVideoData().oi() && (b == null ? 0 : b.SA))) break a } b = void 0 } var c = b; if (!c) return this.ea.oa("sdai", { gvprp: "ncp", mt: a }), null; b = c.xm; var d = rO(c.ssdaiAdsConfig || "") || void 0; a = c.Qs && c.TT && a >= c.TT ? c.Qs : void 0; c = this.ea.getVideoData(); var e, f = ((e = c.B) == null ? void 0 : e.containerType) || 0; e = c.JD[f]; return { MI: b ? PUa(this, b) : [], SW: d, UT: a, K3: Wd(e.split(";")[0]), L3: e.split(";")[1] || "" } }; + g.k.iA = function (a, b, c, d, e, f) { + var h = Number(c.split(";")[0]); e = d === 3; a = LUa(this, a, b, d, c, f); this.Va && this.ea.oa("sdai", { gdu: 1, seg: b, itag: h, pb: "" + !!a }); if (!a) return ZW(this, b, e), null; a.locations || (a.locations = new Map); if (!a.locations.has(h)) { + var l, m; f = (l = a.videoData.getPlayerResponse()) == null ? void 0 : (m = l.streamingData) == null ? void 0 : m.adaptiveFormats; if (!f) return this.ea.oa("sdai", { gdu: "noadpfmts", seg: b, itag: h }), ZW(this, b, e), null; l = f.find(function (u) { return u.itag === h }); + if (!l || !l.url) { var n = a.videoData.videoId; a = []; d = g.w(f); for (var p = d.next(); !p.done; p = d.next())a.push(p.value.itag); this.ea.oa("sdai", { gdu: "nofmt", seg: b, vid: n, itag: h, fullitag: c, itags: a.join(",") }); ZW(this, b, e); return null } a.locations.set(h, new g.IL(l.url, !0)) + } l = a.locations.get(h); if (!l) return this.ea.oa("sdai", { gdu: "nourl", seg: b, itag: h }), ZW(this, b, e), null; l = new BM(l); this.Rc && (l.get("dvc") ? this.ea.oa("sdai", { dvc: l.get("dvc") || "" }) : l.set("dvc", "webm")); var q; (m = (q = YW(this, b - 1, d)) == null ? void 0 : q.Nt) && + l.set("daistate", m); a.Qs && b >= a.Qs && l.set("skipsq", "" + a.Qs); (m = this.ea.getVideoData().clientPlaybackNonce) && l.set("cpn", m); q = []; a.xm && (q = PUa(this, a.xm), q.length > 0 && l.set("acpns", q.join(","))); e || this.K.set(b, a); e = null; e = l.get("aids"); var r; if ((((p = e) == null ? void 0 : (r = p.split(",")) == null ? void 0 : r.length) || 0) !== q.length) if (a.xm) { var t; this.ea.oa("sdai", { acpns_aids_nm: 1, ids: RUa(this, a.xm).join("_"), acpns: q.join("_"), aids: (t = e) == null ? void 0 : t.replace(/,/g, "_"), cpn: m, trackType: d }) } else this.ea.oa("sdai", + { acpns_aids_nm: "noAdBreakId", cpn: m }); d = l.Ce(); (d == null ? void 0 : d.length) > 2048 && this.ea.oa("sdai", { urltoolong: 1, sq: b, itag: h, len: d.length }); this.Va && (d && (r = a.cpn, p = a.xm, TUa(this, r, p), p && !this.Ie.has(p) && (r = QUa(this, r, p), t = SUa(this, p), this.ea.oa("sdai", { iofa: r }), this.ea.oa("sdai", { noawnzd: t - r }), this.ea.oa("sdai", { acpns: q.join("."), aids: (n = e) == null ? void 0 : n.replace(/,/g, ".") }), this.Ie.add(p))), this.ea.oa("sdai", { gdu: "v", seg: b, itag: c, ast: a.pc.toFixed(3), alen: a.durationMs.toFixed(3), acpn: a.cpn, avid: a.videoData.videoId })); + return d + }; + g.k.vH = function (a, b, c) { var d = WW(this, a, c); return (d = d ? (d.pc + d.durationMs) / 1E3 : 0) && b > d ? (this.yv(a, c, !0), this.ea.seekTo(d), !0) : !1 }; + g.k.yv = function (a, b, c) { c = c === void 0 ? !1 : c; var d = WW(this, a, b); if (d) { var e = void 0, f = d.xm; if (f) { this.ea.oa("sdai", { skipadonsq: b, sts: c, abid: f, acpn: d.cpn, avid: d.videoData.videoId }); c = this.Y.get(f); if (!c) return; c = g.w(c); for (f = c.next(); !f.done; f = c.next())f = f.value, f.Qs = b, f.TT = a, f.pc > d.pc && (e = f) } this.N = d.cpn; MUa(this); a = this.ea.getCurrentTime(); DUa(this, d, e, a, a, !1, !0) } }; + g.k.kT = function () { for (var a = g.w(this.G), b = a.next(); !b.done; b = a.next())b = b.value, b.Qs = NaN, b.TT = NaN; MUa(this); this.ea.oa("sdai", { rsac: "resetSkipAd", sac: this.N }); this.N = "" }; + g.k.fI = aa(49); + g.k.oS = function (a, b, c, d, e, f, h, l, m) { + d.length > 0 && this.ea.oa("sdai", { onssinfo: 1, sq: a, start: b.toFixed(3), cpns: d.join(","), ds: e.join(","), isVideo: h ? 1 : 0 }); m && (h ? this.Ya.set(a, { Nt: m, Az: l }) : this.Ga.set(a, { Nt: m, Az: l })); l = gQ(this.ea.getVideoData()) && this.W.L("html5_consume_ssdai_info_with_streaming"); if (h || l) { + if (d.length && e.length) for (this.N && this.N === d[0] && this.ea.oa("sdai", { skipfail: 1, sq: a, acpn: this.N }), a = b + this.du(), h = 0; h < d.length; h++)if (m = d[h], l = a, a = l + e[h], m = this.C.get(m)) l -= f[h], m.vr = m.vr != null ? Math.min(m.vr, + l) : l; if (d.length && e.length) for (b = (b + this.du()) * 1E3, c = 0; c < d.length; c++)if (a = d[c], h = e[c] * 1E3, a === this.ea.getVideoData().clientPlaybackNonce) OUa(this, b, b + h, !1), b += h; else { + this.Ed.has(a) || (this.ea.oa("sdai", { adCpnFromEmsg: 1 }), this.Ed.add(a)); l = 0; c < f.length && (l = f[c] * 1E3); m = this.B.get(a); var n = !1; m ? (m.start = b - l, m.end = b + h, this.ea.Bh.sync()) : (m = this.sJ(b - l, b + h, a), this.B.set(a, m), this.ea.oa("sdai", { newAdCR: 1, cpn: a, startTime: m.start, endTime: m.end }), n = !0); b = m.end; OUa(this, m.start, m.end, !0); if (n) for (this.ea.addCueRange(m), + a = this.ea.RE("serverstitchedcuerange", 36E5), a = g.w(a), h = a.next(); !h.done; h = a.next())this.B.delete(h.value.getId()) + } else c !== 5 && c !== 4 || OUa(this, (b + this.du()) * 1E3, (b + this.du()) * 1E3 + 5E3, !1) + } + }; + g.k.fF = aa(51); g.k.du = function () { return this.ea.du() }; + g.k.Kl = function (a) { this.ea.oa("timelineerror", { e: a }) }; + g.k.wF = function (a) { this.Ba && this.ra && this.Fa.push(this.ra); a && this.ra && this.yc.push(this.ra); this.ra = null; this.ea.wF(a) }; + g.k.pK = function (a) { + if (this.On || a.identifier && this.ze.has(a.identifier)) this.Va && this.ea.oa("sdai", { startnoad: a.identifier }), RW(this); else if (Em(this.Fa, function (c) { return c.identifier === a.identifier })) this.ea.oa("sdai", { timedoutcp: 1 }), this.Z.start(0); + else if (Em(this.yc, function (c) { return c.identifier === a.identifier })) this.ea.oa("sdai", { fetchedcp: 1 }), RW(this); + else if (this.Z.isActive()) { var b; this.ea.oa("sdai", { racingcp: ((b = this.ra) == null ? void 0 : b.identifier) + "_" + a.identifier }) } else this.Wc = (new Date).getTime() / 1E3, this.Va && this.ea.oa("sdai", { adf: 1 }), (b = 5E3, a.event === "predictStart") && (b -= a.j), this.Ab = Math.max(b, 15E3), this.Ba = !1, this.Z.start(this.Ab), this.ra = a, this.Ga.clear(), this.Ya.clear(), this.Ma.clear(), this.yb = [] + }; + g.k.FE = function (a, b, c) { c = c || { reason: "disablessdai" }; if (a && b) { if (!WW(this, a, b)) return !1; c.sq = b } if (this.On) return !1; this.On = !0; this.wl > 0 && (this.wl = 0, this.Sb = "", this.api.publish("serverstitchedvideochange")); O1a(this.ea, c); return !0 }; + g.k.qx = function () { this.ea.oa("sdai", { rstdaist: 1 }); this.Ga.clear(); this.Ya.clear(); this.Ma.clear() }; + g.k.Vu = function (a) { this.ze.add(a); var b; ((b = this.ra) == null ? void 0 : b.identifier) === a && RW(this) }; + g.k.MP = function () { return this.wl }; + g.k.Cl = function () { return this.Sb }; + g.k.Su = function (a) { var b = uU(this.api.Bb()); return b ? b.Su(a) : !1 }; + g.k.qP = function (a) { return this.On ? !1 : !!XW(this, a) }; + g.k.ST = function (a) { + var b = this; this.ea.pauseVideo(); var c = this.ea.getCurrentTime(), d = this.C.get(this.Sb), e = this.B.get(this.Sb); if (d) { + this.N = this.Sb; this.qa = !1; d.SA = !0; var f = this.ea.getCurrentTime(); this.j = { je: e, isAd: !0, fq: !1, Vg: f, adCpn: this.Sb, OW: d, tea: a }; if (e == null ? 0 : e.start) this.Wa = f * 1E3 - e.start; this.K.clear(); EZ(this.ea); this.Sb = this.eF().cpn; this.api.publish("serverstitchedvideochange"); this.ea.seekTo(c); this.ea.playVideo(); this.ob || (this.ob = this.events.T(this.api, "progresssync", function () { + var h = + d.vr ? d.vr * 1E3 : d.pc, l = b.B.get(d.cpn); l && b.ea.removeCueRange(l); b.B.delete(d.cpn); b.C.delete(d.cpn); l = b.G.indexOf(d); l >= 0 && b.G.splice(l, 1); l = []; for (var m = g.w(b.D), n = m.next(); !n.done; n = m.next())n = n.value, n.end <= h ? b.ea.removeCueRange(n) : l.push(n); b.D = l; NUa(b, 0, h + d.durationMs) + })); + return !0 + } this.ea.oa("sdai", { skipFail: c }); return !1 + }; + var BUa = 0; g.z(WUa, g.O); g.k = WUa.prototype; + g.k.nO = function (a, b) { + b = b === void 0 ? "" : b; if (this.OM === b) return !0; var c = this.timeline.j, d = c == null ? void 0 : c.getVideoData(); if (!c || !d) return this.api.oa("ssap", { htsm: c ? 0 : 1 }), !1; if (this.api.L("html5_ssap_clear_timeline_before_update")) { var e = this.timeline, f; (f = e.j) == null || uUa(f); e.B.clear() } e = LW(c); var h = !1; f = []; var l = new Map; c = []; var m = [], n = 0, p = 0, q = 0, r = []; a = g.w(a); for (var t = a.next(); !t.done; t = a.next())a: { + var u = void 0, y = void 0, A = t.value, D = A.clipId; if (D) { + if (A.Yq) { + q = A.Yq.k_ || 0; t = A.Yq.l_ || 1; var F = Number(((A.Yq.Y0 || + 0) / (A.Yq.Z0 || 1) * 1E3).toFixed(0)); q = t = F + Number((q / t * 1E3).toFixed(0)) + } else t = F = q, this.NH.has(D) || this.Jk.add(D); var H = (y = l.get(D)) != null ? y : 0; y = !1; if (this.OM && this.api.L("html5_ssap_clear_timeline_before_update")) { var M = this.pk.get(D); M && (M.start = F, M.end = t, y = !0) } else { if (M = this.OM) { var N = D; M = F; var Q = t, Z = H, fa = NW(this.timeline, N); if (fa != null && fa.length) { Z < fa.length && (fa[Z].pc = M, fa[Z].B = Q); if (N = this.pk.get(N)) N.start = M, N.end = Q; M = !0 } else M = !1 } if (M) { l.set(D, H + 1); h = !0; break a } } r.push(D); !y && A.Yq && (r = this.sJ(F, + t, r.join(",")), this.pk.set(D, r), c.push(r), r = []); if (((u = A.Yq) == null ? void 0 : u.V3) === d.videoId) { + y = u = void 0; A = D; D = d; A !== D.clientPlaybackNonce && this.api.oa("ssap", { cnm: 1, cid: A, cpn: D.clientPlaybackNonce }); if (this.api.L("html5_ssap_clear_timeline_before_update")) D.Rf = F, A = OW(this.timeline, 1, F, t - F, D), f.push(A), F = MW(this.timeline, F, t, [A]), h = h || F; else if (M = [], D && (D.Rf = F, M = (y = NW(this.timeline, A)) != null ? y : []), !this.OM && M.length && H === 0) { + h = M[0]; h.pc = F; h.B = t; D = (u = this.timeline.j) == null ? void 0 : u.j; if ((u = D == null ? void 0 : + D.get(0)) && D) for (y = 0; y < u.length; y++)if (M = u[y], M.Ze() !== M.Yh()) { M.pc = F; M.C = t; u.splice(y, 1); D.has(F) ? D.get(F).push(M) : D.set(F, [M]); break } f.push(h); l.set(A, H + 1); h = !0 + } else A = OW(this.timeline, 1, F, t - F, D), f.push(A), F = MW(this.timeline, F, t, [A]), h = h || F; m.length && (m = XUa(this, n || 0, p, m), h = h || m); p = n = t; m = [] + } else H = void 0, u = this.Np.get(D), y = u != null ? u : new g.WP(this.api.U(), { cpn: D }), y.ZF = !0, this.Jk.has(D) && this.Np.set(D, y), n = Math.min(F, n), p = Math.max(t, p), this.api.oa("ssap", { e: F, d: t - F, c: D, p: u ? 1 : 0 }), y.Rf = F, t = OW(this.timeline, + 2, F, t - F, y, (H = A.GR) == null ? void 0 : H.XK), m.push(t), this.IT && A.Yq && !this.iY && (this.api.oa("ssap", { reloada: D }), this.ax = D) + } else this.api.oa("ssap", { cm: 1 }) + } m.length && (d = XUa(this, n || 0, p, m), h = h || d); e && f.length && (sUa(this.timeline, e, f), this.api.L("html5_ssap_clear_timeline_before_update") && (d = f[f.length - 1].Yh(), (e = this.timeline.j) != null && (e.B = d))); c.length && this.ea.Bz(c); if (h) { + this.OM = b; d = this.ea.Bl(); b = []; d = g.w(d); for (c = d.next(); !c.done; c = d.next()) { + c = c.value; if (c.C) { + e = aX(this, c.C); if (e === c.Nl) continue; c.start = + c.start - c.Nl + e; c.end = c.end - c.Nl + e; c.Nl = e; b.push(c) + } c = this.ea.Bh; b.length <= 0 || c.La() || (c = c.j, c.array.sort(c.j)) + } this.api.oa("ssap", { tu: bX(this) }); b = uU(this.api.Bb()); this.api.oa("ssap", { am: b ? 1 : 0 }) + } else this.api.oa("ssap", { tnu: 1 }); return !0 + }; + g.k.addPlayerResponseForAssociation = function (a) { + var b = new g.WP(this.api.U(), a.playerVars); b.playerResponseCpn ? b.clientPlaybackNonce = b.playerResponseCpn : this.api.oa("ssap", { eim: this.ea.getVideoData().clientPlaybackNonce }); b.ZF = !0; if (a = a.uJ) b.uJ = a, b.clientPlaybackNonce = a.cpn; a = b.clientPlaybackNonce; this.api.oa("ssap", { aprfa: a + "_" + b.videoId }); if (a) { + this.Np.set(a, b); var c = NW(this.timeline, a), d = !1; if (c == null ? 0 : c.length) { + c = g.w(c); for (var e = c.next(); !e.done; e = c.next())e = e.value, b.Rf = e.Ze(), e.AM(b), e.C && + (d = !0) + } else d = !b.videoId; if (!d) { if (!o3a(this.ea.hc(b.videoId))) { var f; this.api.oa("ssap", { nlc: a, nlcc: (f = this.timeline.j) == null ? void 0 : LW(f) }) } this.ea.rA().rJ(a, b, 2) } + } + }; + g.k.BG = function () { this.WQ = !0 }; + g.k.finishSegmentByCpn = function (a, b, c, d) { + c = c === void 0 ? 3 : c; this.IT && this.ax && a === this.ax && (this.api.oa("ssap", { reloadp: this.ax }), EZ(this.ea), this.ax = "", this.iY = !0); if (this.Sb === b) return []; this.WQ && (c = 5, this.WQ = !1); this.api.L("html5_ssap_support_more_transition_reasons") && this.api.oa("ssap", { fsbc: a + ";" + b, fsbcr: c, fsbct: this.api.getCurrentTime().toFixed() }); this.Sy = b; var e = !1; if (this.Jk.has(a) && (e = UUa(this, c), !e)) return [a]; var f = NW(this.timeline, b); if (f) { + f.sort(function (m, n) { return m.Ze() - n.Ze() }); + var h = g.w(f); for (f = h.next(); !f.done; f = h.next()) { f = f.value; var l = this.ea.getCurrentTime() * 1E3; if (f.Ze() >= l) { this.bI.set(a, c); nVa(this, a, b); this.UM.set(a, (0, g.Zt)()); if (c = this.pk.get(b)) for (c = c.getId().split(","), c = g.w(c), h = c.next(); !h.done; h = c.next())h = h.value, h !== b && this.Jk.has(h) && (this.Jk.delete(h), this.NH.add(h)); d && EZ(this.ea); iVa(this); b = f.Ze() / 1E3; d = void 0; f = (d = g.AC(this.api.U().experiments, "html5_ssap_skip_seeking_offset_ms")) != null ? d : 0; this.ea.seekTo(b + f / 1E3); e && this.api.playVideo(1); return [a] } } + } return [] + }; + g.k.WP = function () { var a = this.timeline.j; if (!a) return 0; var b = a.Yh(); a = g.w(a.j.values()); for (var c = a.next(); !c.done; c = a.next()) { c = g.w(c.value); for (var d = c.next(); !d.done; d = c.next())d = d.value, d.Yh() > b && (b = d.Yh()) } return b / 1E3 }; + g.k.Xc = function () { var a = this.ea.getCurrentTime() * 1E3; var b = $W(this, a); if (!b) { var c = NW(this.timeline, this.Sb); if (c) { c = g.w(c); for (var d = c.next(); !d.done; d = c.next())d = d.value, d.Ze() > a && (b = d) } } return b && b.getType() === 1 ? b.Ze() / 1E3 : 0 }; + g.k.getVideoData = function (a) { if (a === 2 && !this.Hl()) { if (this.TK && this.Np.has(this.TK)) return this.Np.get(this.TK); this.api.oa("ssap", { lpanf: "" + this.ea.getVideoData().clientPlaybackNonce }); return null } return dVa(this) }; + g.k.Hl = function () { var a = NW(this.timeline, this.Sb); return (a == null ? 0 : a.length) ? a[0].getType() === 2 : !1 }; + g.k.PA = function () { var a = NW(this.timeline, this.Sb); return (a == null ? 0 : a.length) ? a[0].C : !1 }; + g.k.seekTo = function (a, b) { b = b === void 0 ? {} : b; var c = bVa(this, this.ea.getCurrentTime()); this.ea.seekTo(a + c / 1E3, b) }; + g.k.sJ = function (a, b, c) { return new g.qD(a, b, { id: c, namespace: "ssap", priority: 9 }) }; + g.k.onCueRangeEnter = function (a) { + if (!this.WL.has(a.getId())) { + this.api.oa("ssap", { oce: 1, cpn: a.getId(), st: a.start, et: a.end, ct: (this.ea.getCurrentTime() || 0).toFixed(3), cmt: (this.ea.Wf() || 0).toFixed(3) }); for (var b = a.getId().split(","), c = 0; c < b.length && this.Sy && b[c] !== this.Sy;) { var d = b[c]; this.Jk.has(d) && (this.Jk.delete(d), this.NH.add(d)); c++ } if (b.length > c + 1) for (d = c + 1; d < b.length; d++)this.TG.push(b[d]); b = b[c]; this.Jk.has(b) && eVa(this, b); this.NH.has(b) || fVa(this, b); b = g.w(this.pk.values()); for (c = b.next(); !c.done; c = + b.next())c = c.value, c.start <= a.start && !this.WL.has(a.getId()) && this.WL.add(c.getId()) + } + }; + g.k.MP = function () { return this.wl }; + g.k.Cl = function () { return this.Sb }; + g.k.handleError = function (a, b) { b = b === void 0 ? 0 : b; if (a !== "fmt.decode" && a !== "fmt.unplayable" || !this.Hl() || this.UZ === this.Sb) return !1; this.ea.oa("ssap", { skiperr: a, acpn: this.Sb }); this.UZ = this.Sb; var c = this.ea.getVideoData().clientPlaybackNonce, d = 3; this.api.L("html5_ssap_support_more_transition_reasons") && (d = b === 1 || b === 2 ? 7 : 6); this.finishSegmentByCpn(this.Sb, c, d, a); return !0 }; + g.k.xa = function () { this.api.U().Ac() && this.api.oa("ssap", { di: "" + this.Sb, dic: "" + this.ea.getVideoData().clientPlaybackNonce }); this.Np.clear(); this.Jk.clear(); this.WL.clear(); this.bI.clear(); this.UM.clear(); this.NH.clear(); this.TG = []; VUa(this); this.Sy = ""; g.Ys(this.events); g.O.prototype.xa.call(this) }; g.z(qVa, g.O); g.k = qVa.prototype; g.k.onCueRangeEnter = function (a) { + if (this.j === this.api.Vc()) { var b = this.K.get(a); b ? wVa(this, b.target, b.un, a) : this.Id("dai.transitionfailure", { e: "unexpectedCueRangeTriggered", cr: a.toString() }) } else if (b = this.B.find(function (e) { return e.Pt.je === a })) { + var c = b.Pt, d = c.target; + c = c.un; d ? wVa(this, d, c, a) : vVa(this, b.Xd, c, a) + } + }; + g.k.onQueuedVideoLoaded = function () { var a = this.N; kX(this); if (a) { if (!jX(this, a)) { var b = this.api.Vc(); this.Id("dai.transitionfailure", { e: "unexpectedPresentingPlayer", pcpn: b == null ? void 0 : b.getVideoData().clientPlaybackNonce, ccpn: "" + a.playerVars.cpn }) } this.api.Vc().addCueRange(a.Pt.je) } }; + g.k.seekTo = function (a, b, c, d) { a = a === void 0 ? 0 : a; b = b === void 0 ? {} : b; d = d === void 0 ? null : d; if (c === void 0 ? 0 : c) pVa(this, a, b); else { c = this.api.Vc(); var e = c === this.D ? this.G : null; lX(this, !1); this.qa = a; this.Y = b; d != null && this.Z.start(d); c && (this.G = e || c.getPlayerState(), $4a(c), this.D = c) } }; + g.k.Lk = function (a) { g.Qy(a, 128) && BVa(this) }; + g.k.isManifestless = function () { return iQ(this.j.getVideoData()) }; + g.k.xa = function () { lX(this, !1); DVa(this); g.O.prototype.xa.call(this) }; + g.k.Id = function (a, b) { this.j.Id(new FE(a, b)) }; + var rVa = 0; var EVa = "MWEB TVHTML5 TVHTML5_AUDIO TVHTML5_CAST TVHTML5_KIDS TVHTML5_FOR_KIDS TVHTML5_SIMPLY TVHTML5_SIMPLY_EMBEDDED_PLAYER TVHTML5_UNPLUGGED TVHTML5_VR TV_UNPLUGGED_CAST WEB WEB_CREATOR WEB_EMBEDDED_PLAYER WEB_EXPERIMENTS WEB_GAMING WEB_HEROES WEB_KIDS WEB_LIVE_STREAMING WEB_MUSIC WEB_MUSIC_ANALYTICS WEB_REMIX WEB_UNPLUGGED WEB_UNPLUGGED_ONBOARDING WEB_UNPLUGGED_OPS WEB_UNPLUGGED_PUBLIC".split(" "); g.z(oX, g.O); g.k = oX.prototype; g.k.get = function (a) { + mX(this); var b = this.data.find(function (c) { return c.key === a }); + return b ? b.value : null + }; + g.k.set = function (a, b, c) { this.remove(a, !0); mX(this); a = { key: a, value: b, expire: Infinity }; c && isFinite(c) && (c *= 1E3, a.expire = (0, g.Zt)() + c); for (this.data.push(a); this.data.length > this.C;)(c = this.data.shift()) && pX(this, c, !0); nX(this) }; + g.k.remove = function (a, b) { + b = b === void 0 ? !1 : b; var c = this.data.find(function (d) { return d.key === a }); + c && (pX(this, c, b), g.Qb(this.data, function (d) { return d.key === a }), nX(this)) + }; + g.k.removeAll = function (a) { if (a = a === void 0 ? !1 : a) for (var b = g.w(this.data), c = b.next(); !c.done; c = b.next())pX(this, c.value, a); this.data = []; nX(this) }; + g.k.xa = function () { + var a = this; g.O.prototype.xa.call(this); this.data.forEach(function (b) { pX(a, b, !0) }); + this.data = [] + }; g.z(qX, g.O); qX.prototype.VJ = function (a) { if (a) return this.B.get(a) }; + qX.prototype.xa = function () { this.j.removeAll(); this.B.removeAll(); g.O.prototype.xa.call(this) }; g.icb = $c(function () { var a = window.AudioContext || window.webkitAudioContext; try { return new a } catch (b) { return b.name } }); var m2; m2 = {}; g.rX = (m2.STOP_EVENT_PROPAGATION = "html5-stop-propagation", m2.IV_DRAWER_ENABLED = "ytp-iv-drawer-enabled", m2.IV_DRAWER_OPEN = "ytp-iv-drawer-open", m2.MAIN_VIDEO = "html5-main-video", m2.VIDEO_CONTAINER = "html5-video-container", m2.VIDEO_CONTAINER_TRANSITIONING = "html5-video-container-transitioning", m2.HOUSE_BRAND = "house-brand", m2); g.z(LVa, g.T); g.k = LVa.prototype; g.k.Bt = function () { g.op(this.element, g.Ca.apply(0, arguments)) }; + g.k.Rj = function () { this.Cc && (this.Cc.removeEventListener("focus", this.VR), g.pe(this.Cc), this.Cc = null) }; + g.k.lP = function () { this.La(); var a = this.app.U(); a.Cn || this.Bt("tag-pool-enabled"); a.K && this.Bt(g.rX.HOUSE_BRAND); a.playerStyle === "gvn" && (this.Bt("ytp-gvn"), this.element.style.backgroundColor = "transparent"); a.wc && (this.aP = g.Gv("yt-dom-content-change", this.resize, this)); this.T(window, "orientationchange", this.resize, this); this.T(window, "resize", this.resize, this) }; + g.k.xM = function (a) { g.NO(this.app.U()); this.AK = !a; sX(this) }; + g.k.resize = function () { if (this.Cc) { var a = this.ai(); if (!a.isEmpty()) { var b = !g.Jd(a, this.RB.getSize()), c = QVa(this); b && (this.RB.width = a.width, this.RB.height = a.height); a = this.app.U(); (c || b || a.wc) && this.app.Ua.publish("resize", this.getPlayerSize()) } } }; + g.k.ju = function (a, b) { this.updateVideoData(b) }; + g.k.updateVideoData = function (a) { if (this.Cc) { var b = this.app.U(); ru && (this.Cc.setAttribute("x-webkit-airplay", "allow"), a.title ? this.Cc.setAttribute("title", a.title) : this.Cc.removeAttribute("title")); this.Cc.setAttribute("controlslist", "nodownload"); b.Zq && a.videoId && (this.Cc.poster = a.gh("default.jpg")) } b = g.EQ(a, "yt:bgcolor"); this.Tz.style.backgroundColor = b ? b : ""; this.vR = Cs(g.EQ(a, "yt:stretch")); this.wR = Cs(g.EQ(a, "yt:crop"), !0); g.rp(this.element, "ytp-dni", a.Ff); this.resize() }; + g.k.setGlobalCrop = function (a) { this.nQ = Cs(a, !0); this.resize() }; + g.k.setCenterCrop = function (a) { this.pX = a; this.resize() }; + g.k.hn = function () { }; + g.k.getPlayerSize = function () { + var a = this.app.U(), b = this.app.Ua.isFullscreen(), c = a.externalFullscreen && g.IO(a); if (b && js() && !c) return new g.Id(window.outerWidth, window.outerHeight); c = !isNaN(this.UE.width) && !isNaN(this.UE.height); var d = this.app.U().L("kevlar_player_enable_squeezeback_fullscreen_sizing"); if (b && !c && d) return new g.Id(this.element.clientWidth, this.element.clientHeight); if (b || a.Cp) { + if (window.matchMedia) { + a = "(width: " + window.innerWidth + "px) and (height: " + window.innerHeight + "px)"; this.hG && this.hG.media === + a || (this.hG = window.matchMedia(a)); var e = this.hG && this.hG.matches + } if (e) return new g.Id(window.innerWidth, window.innerHeight) + } else if (c) return this.UE.clone(); return new g.Id(this.element.clientWidth, this.element.clientHeight) + }; + g.k.ai = function () { var a = this.app.U().L("enable_desktop_player_underlay"), b = this.getPlayerSize(), c = g.AC(this.app.U().experiments, "player_underlay_min_player_width"); return a && this.NS && b.width > c ? new g.Id(b.width * g.AC(this.app.U().experiments, "player_underlay_video_width_fraction"), b.height) : b }; + g.k.getVideoAspectRatio = function () { return isNaN(this.vR) ? NVa(this) : this.vR }; + g.k.getVideoContentRect = function (a) { var b = this.ai(); a = OVa(this, b, this.getVideoAspectRatio(), a); return new g.gm((b.width - a.width) / 2, (b.height - a.height) / 2, a.width, a.height) }; + g.k.sC = function (a) { this.NS = a; this.resize() }; + g.k.NF = function () { return this.ZL }; + g.k.onMutedAutoplayChange = function () { sX(this) }; + g.k.setInternalSize = function (a) { g.Jd(this.UE, a) || (this.UE = a, this.resize()) }; + g.k.xa = function () { this.aP && g.Hv(this.aP); this.Rj(); g.T.prototype.xa.call(this) }; g.k = RVa.prototype; g.k.click = function (a, b) { this.elements.has(a); this.j.has(a); var c = g.Ww(); c && a.visualElement && g.Cx(c, a.visualElement, b) }; + g.k.createClientVe = function (a, b, c, d) { + var e = this; d = d === void 0 ? !1 : d; this.elements.has(a); this.elements.add(a); c = mra(c); a.visualElement = c; var f = g.Ww(), h = g.Vw(); f && h && (g.Pr("combine_ve_grafts") ? QK(OK(), c, h) : g.tr(g.sx)(void 0, f, h, c)); b.addOnDisposeCallback(function () { e.elements.has(a) && e.destroyVe(a) }); + d && this.B.add(a) + }; + g.k.createServerVe = function (a, b, c) { + var d = this; c = c === void 0 ? !1 : c; this.elements.has(a); this.elements.add(a); b.addOnDisposeCallback(function () { d.destroyVe(a) }); + c && this.B.add(a) + }; + g.k.destroyVe = function (a) { this.elements.has(a); this.elements.delete(a); this.C.delete(a); this.j.delete(a); this.B.delete(a) }; + g.k.DX = function (a, b) { this.clientPlaybackNonce !== b && (this.clientPlaybackNonce = b, PK(OK(), a), SVa(this)) }; + g.k.setTrackingParams = function (a, b) { this.elements.has(a); b && (a.visualElement = g.Tw(b)) }; + g.k.hasVe = function (a) { return this.elements.has(a) }; TVa.prototype.setPlaybackRate = function (a) { this.playbackRate = Math.max(1, a) }; + TVa.prototype.getPlaybackRate = function () { return this.playbackRate }; ZVa.prototype.XP = function (a) { + var b = dF(a.info.j.info, this.manifest.Vb), c = a.info.Pa + this.C, d = a.info.startTime * 1E3; if (this.policy.Ya) try { d = this.policy.Ya ? lN(a) * 1E3 : a.info.startTime * 1E3 } catch (h) { Math.random() > .99 && this.logger && (d = aK(a.j).slice(0, 1E3), this.logger && this.logger({ parserErrorSliceInfo: a.info.Sc(), encodedDataView: g.Te(d, 4) })), d = a.info.startTime * 1E3 } var e = a.info.clipId; if (this.policy.Ya) { if (a.info.j.Rm()) var f = a.info.duration; else a.D === -1 && (a.D = mN(a)), f = a.D || a.info.duration; f *= 1E3 } else f = a.info.duration * + 1E3; this.policy.Ya && (d < 0 || f < 0) && this.logger && (this.logger({ missingSegInfo: a.info.Sc(), startTimeMs: d, durationMs: f }), d < 0 && (d = a.info.startTime * 1E3), f < 0 && (f = a.info.duration * 1E3)); return { formatId: b, Pa: c, startTimeMs: d, clipId: e, b8: f } + }; + ZVa.prototype.Nq = function (a) { this.timestampOffset = a }; xX.prototype.seek = function (a, b) { a !== this.j && (this.seekCount = 0); this.j = a; var c = this.videoTrack.B, d = this.audioTrack.B, e = this.audioTrack.Qb, f = mWa(this, this.videoTrack, a, this.videoTrack.Qb, b); b = mWa(this, this.audioTrack, this.policy.wh ? a : f, e, b); a = Math.max(a, f, b); this.G = !0; this.manifest.isManifestless && (iWa(this, this.videoTrack, c), iWa(this, this.audioTrack, d)); return a }; + xX.prototype.isSeeking = function () { return this.G }; + xX.prototype.DT = function (a) { this.C = a }; + var lWa = 2 / 24; var qWa = 0; g.k = HX.prototype; g.k.Wu = function () { this.G = this.now(); nJa(this.Kc, this.G); this.Cb.Wu() }; + g.k.Bs = function (a, b) { var c = this.policy.B ? (0, g.Zt)() : 0; IX(this, a, b); a - this.K < 10 && this.ri() || this.dw(a, b); this.Cb.Bs(a, b); this.policy.B && (a = (0, g.Zt)() - c, this.Ab += a, this.ob = Math.max(a, this.ob)) }; + g.k.dw = function (a, b) { var c = (a - this.K) / 1E3, d = b - this.B; this.Qp || (AO(this.Kc, c, d), this.hv(c, d)); this.K = a; this.B = b }; + g.k.Oo = function () { this.Fa && rWa(this); this.Cb.Oo() }; + g.k.As = function (a) { this.Fa || (this.Fa = this.D - this.Ob + a, this.wc = this.D, this.yc = this.N) }; + g.k.fv = function (a, b) { a = a === void 0 ? this.N : a; b = b === void 0 ? this.D : b; this.ri() || (this.qa = a, this.ra = b, this.isActive = !0, this.policy.j && (this.Y = !0)) }; + g.k.ri = function () { return this.ra > 0 }; + g.k.C1 = function () { }; + g.k.qr = function () { var a = { rn: this.requestNumber, rt: (this.N - this.j).toFixed(), lb: this.D, stall: (1E3 * this.C).toFixed(), ht: (this.G - this.j).toFixed(), elt: (this.qa - this.j).toFixed(), elb: this.ra, d: tWa(this) }; this.url && mTa(a, this.url); this.policy.B && (a.mph = this.ob.toFixed(), a.tph = this.Ab.toFixed()); a.ulb = this.Va; a.ult = this.Ga; a.abw = this.Ra; return a }; + g.k.now = function () { return (0, g.Zt)() }; + g.k.deactivate = function () { this.isActive && (this.isActive = !1) }; + var GX; g.z(JX, HX); g.k = JX.prototype; g.k.qr = function () { var a = HX.prototype.qr.call(this); a.pb = this.dA; a.pt = (1E3 * this.Wa).toFixed(); a.se = this.Tb; return a }; + g.k.Tp = function () { var a = this.Cb; this.fb || (this.fb = a.Tp ? a.Tp() : 1); return this.fb }; + g.k.LK = function () { return this.Ml ? this.Tp() !== 1 : !1 }; + g.k.HR = function (a, b, c) { if (!this.Kb) { this.Kb = !0; if (!this.Qp) { IX(this, a, b); this.dw(a, b); var d = this.Tp(); this.Tb = c; d === 2 ? this.Qp || (this.Ga ? vO(this.Kc, this.Ga / 1E3, this.Va, .25) : vO(this.Kc, b / (c || this.Ra), b, .01), yO(this.Kc, b, this.C)) : d === 1 && (c = (a - this.j) / 1E3, !(c <= this.policy.C) && this.policy.C || this.yb || this.policy.K || !this.ri() || wWa(this, c, b), this.ri() && yO(this.Kc, b, this.C)); a = (a - this.j) / 1E3 || .01; this.policy.G && !this.ri() || xO(this.Kc, a, this.B, this.Wa, this.Lp) } this.deactivate() } }; + g.k.dw = function (a, b) { var c = (a - this.K) / 1E3, d = b - this.B, e = this.Tp(); this.isActive ? e === 1 && ((d > 0 || this.policy.D) && (c > .2 || d < 1024) ? (this.C += c, d > 0 && c > .2 && wWa(this, .05, d), this.yb = !0) : d > 0 && (wWa(this, c, d), this.yb = !0)) : xWa(this, b) && (this.policy.j ? this.fv(a, b) : (e === 1 && (c = (this.G - this.j) / 1E3, d = (a - this.G) / 1E3, CWa(this) || this.Qp || wO(this.Kc, c, d)), this.qa = a, this.ra = b, this.isActive = !0)); HX.prototype.dw.call(this, a, b) }; + g.k.qL = function (a) { if (!this.Qp) { IX(this, a, this.D); var b = (a - this.j) / 1E3; this.Tp() !== 2 && this.ri() && (this.C += (a - this.K) / 1E3, yO(this.Kc, this.B, this.C)); xO(this.Kc, b, this.B, this.Wa, this.Lp, !0); a = (a - this.K) / 1E3; AO(this.Kc, a, 0); this.hv(a, 0) } }; + g.k.fv = function (a, b) { a = a === void 0 ? this.N : a; b = b === void 0 ? this.D : b; this.ri() || (HX.prototype.fv.call(this, a, b), this.Tp() === 1 && (b = (this.G - this.j) / 1E3, a = (a - this.G) / 1E3, CWa(this) || this.Qp || wO(this.Kc, b, a))) }; + g.k.EY = function () { this.Ml && BWa(this, this.now()); return this.Ka }; + g.k.Gx = function () { return this.B > this.zS && xWa(this, this.B) }; + g.k.gK = function () { return this.Xa }; + g.k.dT = function (a) { a = a === void 0 ? this.now() : a; if (this.Ml) { BWa(this, a); if (this.fb ? this.LK() : this.Ba !== this.Ma) { var b = this.Ma; if (a < b) { this.Xa = this.Ma; return } } else b = this.Ba; b = Math.max(b, this.Ka) } else b = this.Ka; var c = this.dA - this.B; c < 0 && (c = 0); c = (c * this.snapshot.stall + c / this.snapshot.byterate) * 1E3; this.Xa = c = this.ri() ? c + a : c + Math.max(a, b) }; + g.k.TJ = function () { return this.now() - this.qa }; + g.k.cQ = function () { return (this.B - this.ra) * 1E3 / this.TJ() || 0 }; + g.k.FY = function () { return this.qa }; KX.prototype.feed = function (a) { WJ(this.j, a); this.Ue() }; + KX.prototype.Ue = function () { + if (this.D) { if (!this.j.totalLength) return; var a = this.j.split(this.C - this.B), b = a.zK; a = a.qn; if (!this.Cb.As(this.D, b, this.B, this.C)) return; this.B += b.totalLength; this.j = a; this.B === this.C && (this.D = this.C = this.B = void 0) } for (; ;) { + var c = 0; a = g.w(DWa(this.j, c)); b = a.next().value; c = a.next().value; c = g.w(DWa(this.j, c)); a = c.next().value; c = c.next().value; if (b < 0 || a < 0) break; if (!(c + a <= this.j.totalLength)) { + if (!(this.Cb.As && c + 1 <= this.j.totalLength)) break; c = this.j.split(c).qn; this.Cb.As(b, c, 0, + a) && (this.D = b, this.B = c.totalLength, this.C = a, this.j = new VJ([])); break + } a = this.j.split(c).qn.split(a); c = a.qn; this.Cb.FB(b, a.zK); this.j = c + } + }; + KX.prototype.dispose = function () { this.j = new VJ }; g.k = LX.prototype; g.k.LP = function () { return 0 }; + g.k.XJ = function () { return null }; + g.k.tY = function () { return null }; + g.k.Bu = function () { return this.state >= 1 }; + g.k.isComplete = function () { return this.state >= 3 }; + g.k.Qm = function () { return this.state === 5 }; + g.k.onStateChange = function () { }; + g.k.zd = function (a) { var b = this.state; this.state = a; this.onStateChange(b); this.callback && this.callback(this, b) }; + g.k.vB = function (a) { a && this.state < a ? this.zd(a) : this.callback && this.callback(this, this.state) }; + g.k.La = function () { return this.state === -1 }; + g.k.Sc = function () { + var a = ""; this.info.gb.forEach(function (b) { a += b.Sc() + "." }); + return a.slice(0, -1) + }; + g.k.dispose = function () { this.La() || (this.info.gb[0].j.C = !1, this.zd(-1)) }; + g.k.hQ = function () { return 0 }; g.k = FWa.prototype; g.k.BB = function () { this.xhr.status && (this.status = this.xhr.status); this.xhr.readyState === this.xhr.HEADERS_RECEIVED && this.Cb.Wu() }; + g.k.onError = function () { this.C = !0; this.onDone() }; + g.k.onDone = function () { this.La || (this.D = !0, this.Cb.Oo()) }; + g.k.nu = function () { return this.xhr.readyState >= this.xhr.HEADERS_RECEIVED }; + g.k.getResponseHeader = function (a) { try { return this.xhr.getResponseHeader(a) } catch (b) { return "" } }; + g.k.dF = function () { return +this.getResponseHeader("content-length") }; + g.k.Jm = function () { return this.B }; + g.k.Zu = function () { return this.status >= 200 && this.status < 300 && !!this.B }; + g.k.Vr = function () { return this.j.totalLength > 0 }; + g.k.Py = function () { var a = this.j; this.j = new VJ; return a }; + g.k.TL = function () { return this.j }; + g.k.abort = function () { this.La = !0; this.xhr.abort() }; + g.k.CC = function () { return !0 }; + g.k.gM = function () { return this.C }; + g.k.Xf = function () { return "" }; g.k = HWa.prototype; + g.k.Hs = function () { + var a = this, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y; return g.J(function (A) { + if (A.j == 1) { a.status = 200; b = a.j.get("docid"); c = Sd(a.j.get("fmtid") || ""); d = a.j.get("lmt") || "0"; e = +(a.j.get("csz") || 0); if (!b || !c || !e) throw Error("Invalid local URL"); a.j.get("ck") && a.j.get("civ") && (f = new GWa(a.j.get("ck"), a.j.get("civ"))); h = a.range; l = Math.floor(h.start / e); m = Math.floor(h.end / e); n = l } if (A.j != 5) return n <= m ? g.G(A, HKa(b, c, d, n, f), 5) : A.Ha(0); p = A.B; if (p === void 0) throw Error("invariant: data is undefined"); q = n * e; + r = (n + 1) * e; t = Math.max(0, h.start - q); u = Math.min(h.end + 1, r) - (t + q); y = new Uint8Array(p.buffer, t, u); a.B.append(y); a.loaded += u; a.loaded < h.length && a.Cb.Bs((0, g.Zt)(), a.loaded); n++; return A.Ha(2) + }) + }; + g.k.getResponseHeader = function (a) { return a === "content-type" ? this.j.get("type") : "" }; + g.k.abort = function () { }; + g.k.nu = function () { return !0 }; + g.k.dF = function () { return this.range.length }; + g.k.Jm = function () { return this.loaded }; + g.k.Zu = function () { return !!this.loaded }; + g.k.Vr = function () { return !!this.B.totalLength }; + g.k.Py = function () { var a = this.B; this.B = new VJ; return a }; + g.k.TL = function () { return this.B }; + g.k.CC = function () { return !0 }; + g.k.gM = function () { return !!this.error }; + g.k.Xf = function () { return this.error }; g.k = JWa.prototype; g.k.start = function (a) { var b = { credentials: "include", cache: "no-store" }; Object.assign(b, this.N); this.D && (b.signal = this.D.signal); a = new Request(a, b); fetch(a).then(this.Y, this.onError).then(void 0, Gt) }; + g.k.onDone = function () { this.La() || this.Cb.Oo() }; + g.k.getResponseHeader = function (a) { return this.responseHeaders ? this.responseHeaders.get(a) : null }; + g.k.nu = function () { return !!this.responseHeaders }; + g.k.Jm = function () { return this.B }; + g.k.dF = function () { return +this.getResponseHeader("content-length") }; + g.k.Zu = function () { return this.status >= 200 && this.status < 300 && !!this.B }; + g.k.Vr = function () { return !!this.j.totalLength }; + g.k.Py = function () { var a = this.j; this.j = new VJ; return a }; + g.k.TL = function () { return this.j }; + g.k.La = function () { return this.G }; + g.k.abort = function () { + this.C && this.C.cancel().catch(function () { }); + this.D && this.D.abort(); this.G = !0 + }; + g.k.CC = function () { return !0 }; + g.k.gM = function () { return this.K }; + g.k.Xf = function () { return this.errorMessage }; g.k = KWa.prototype; g.k.onDone = function () { if (!this.La) { this.status = this.xhr.status; try { this.response = this.xhr.response, this.B = this.response.byteLength } catch (a) { } this.j = !0; this.Cb.Oo() } }; + g.k.BB = function () { this.xhr.readyState === 2 && this.Cb.Wu() }; + g.k.Cg = function (a) { this.La || (this.status = this.xhr.status, this.j || (this.B = a.loaded), this.Cb.Bs((0, g.Zt)(), a.loaded)) }; + g.k.nu = function () { return this.xhr.readyState >= 2 }; + g.k.getResponseHeader = function (a) { try { return this.xhr.getResponseHeader(a) } catch (b) { return g.fx(Error("Could not read XHR header " + a)), "" } }; + g.k.dF = function () { return +this.getResponseHeader("content-length") }; + g.k.Jm = function () { return this.B }; + g.k.Zu = function () { return this.status >= 200 && this.status < 300 && this.j && !!this.B }; + g.k.Vr = function () { return this.j && !!this.response && !!this.response.byteLength }; + g.k.Py = function () { var a = this.response; this.response = void 0; return new VJ([new Uint8Array(a)]) }; + g.k.TL = function () { return new VJ([new Uint8Array(this.response)]) }; + g.k.abort = function () { this.La = !0; this.xhr.abort() }; + g.k.CC = function () { return !1 }; + g.k.gM = function () { return !1 }; + g.k.Xf = function () { return "" }; g.z(OX, g.O); g.k = OX.prototype; g.k.zda = function () { + if (!this.La()) { + var a = (0, g.Zt)(), b = !1; if (this.timing.ri()) { if (this.G) return; var c = this.timing.gK(); this.timing.dT(); var d = this.timing.gK(); d - c >= this.policy.Zk * .8 ? (this.j++, this.logger.debug(function () { return "Mispredicted by " + (d - c).toFixed(0) }), b = this.j >= 5) : this.j = 0 } else { + var e = a - this.timing.EY(); + e > 0 && (this.j += 1); a = fEa(PX(this), !1) * this.policy.VD; (b = e > a * 1E3) && this.logger.debug(function () { return "Elbow late by " + e.toFixed(3) }) + } this.j > 0 && this.Cb.tQ(); + b ? this.cI(!1) : this.B.start() + } + }; + g.k.cI = function (a) { this.D = !0; a && (a = PX(this), a.C += 1); this.Cb.zz(); this.lastError = "net.timeout"; QX(this) }; + g.k.canRetry = function (a) { var b = PX(this); a = a ? this.policy.qw : this.policy.Ej; return b.timedOut < this.policy.xw && b.j < a }; + g.k.Xh = function () { return this.lastError }; + g.k.kx = function () { return this.j }; + g.k.dispose = function () { this.B.dispose(); g.O.prototype.dispose.call(this) }; var n2 = {}, bXa = (n2["1h"] = 8, n2["9h"] = 4, n2["1"] = 8, n2["9"] = 4, n2["("] = 4, n2.h = 2, n2.H = 2, n2), o2 = {}, cXa = (o2.o = 3, o2.O = 3, o2.so = 3, o2.a = 1, o2.ah = 1, o2.A = 1, o2.m = 1, o2.M = 1, o2.sa = 1, o2.mac3 = 7, o2.MAC3 = 7, o2.meac3 = 5, o2.MEAC3 = 5, o2), p2 = {}, dXa = (p2.o = 0, p2.O = 0, p2.a = 0, p2.ah = 0, p2.A = 0, p2.m = 1, p2.M = 1, p2.mac3 = 1, p2.MAC3 = 1, p2.meac3 = 1, p2.MEAC3 = 1, p2.so = 4, p2.sa = 4, p2); var gXa = { WEB: 1, MWEB: 2, TVHTML5: 7, WEB_UNPLUGGED: 41, WEB_EMBEDDED_PLAYER: 56, TVHTML5_AUDIO: 57, TV_UNPLUGGED_CAST: 58, TVHTML5_KIDS: 59, WEB_MUSIC: 61, WEB_CREATOR: 62, TVHTML5_UNPLUGGED: 65, WEB_REMIX: 67, TVHTML5_SIMPLY: 75, WEB_KIDS: 76, TVHTML5_SIMPLY_EMBEDDED_PLAYER: 85, WEB_MUSIC_EMBEDDED_PLAYER: 86, WEB_MUSIC_ANALYTICS: 31, WEB_GAMING: 32, WEB_EXPERIMENTS: 42, WEB_HEROES: 60, WEB_UNPLUGGED_ONBOARDING: 69, WEB_UNPLUGGED_OPS: 70, WEB_UNPLUGGED_PUBLIC: 71, TVHTML5_VR: 72, TVHTML5_FOR_KIDS: 93 }; var TX, SX, UX = [["337", "336", "335"], ["702", "701", "700"], ["315", "308", "303", "302"], ["299", "298"]], WWa = [["571", "401", "400", "399", "398"], ["313", "271", "248", "247"], ["137", "136"]], XWa = ["571 401 400 399 398 397 396".split(" "), "313 271 248 247 781 777 244 243".split(" "), ["137", "136", "135"]], YWa = [["411", "410", "409"], ["360", "358", "357", "274"], ["385", "376", "384"], ["225", "224", "145"]], ZWa = ["412", "359"], $Wa = [["140"], ["251"], ["380"], ["328"]], q2 = {}, SWa = (q2["398"] = ["397", "396", "395", "394"], q2["247"] = ["780", "779", + "244", "243", "242"], q2["136"] = ["135", "134", "133", "160"], q2["141"] = ["140"], q2["251"] = ["250"], q2), r2 = {}, TWa = (r2["135"] = ["134", "133", "160"], r2["243"] = ["242"], r2["781"] = ["780", "779"], r2["777"] = ["776", "775"], r2["396"] = ["395", "394"], r2["141"] = ["140"], r2["251"] = ["250"], r2), s2 = {}, UWa = (s2["274"] = ["317", "273", "318", "280", "279"], s2["145"] = ["144", "222", "223", "143", "142"], s2["141"] = ["149"], s2["140"] = ["149"], s2["380"] = ["381"], s2["328"] = ["329"], s2), t2 = {}, QWa = (t2["133"] = 240, t2["134"] = 360, t2["135"] = 480, t2["136"] = 720, + t2["137"] = 1080, t2["242"] = 240, t2["243"] = 360, t2["244"] = 480, t2["247"] = 720, t2["248"] = 1080, t2["298"] = 720, t2["299"] = 1080, t2["302"] = 720, t2["303"] = 1080, t2["395"] = 240, t2["396"] = 360, t2["397"] = 480, t2["398"] = 720, t2["399"] = 1080, t2); g.z(zX, LX); g.k = zX.prototype; g.k.Vp = function () { return this.timing.requestNumber }; + g.k.Ce = function () { return this.ke.Ce() }; + g.k.Hr = function () { + var a = NWa(this.Cd); if (this.Tl) { var b = this.Tl, c = b.j.totalLength; a.ulen = c; c > 0 && (b = bK(b.j, 0), a.ubyte = b, c === 1 && b === 0 && (a.b248180278 = !0)) } this.Ag && (a.rc = this.policy.Xl ? this.Ag : this.Ag.toString()); this.policy.Wc && this.V2 && (a.tr = this.V2); a.itag = this.info.gb[0].j.info.itag; a.ml = "" + +this.info.gb[0].j.jg(); a.sq = "" + this.info.gb[0].Pa; this.ke && (a.ifi = "" + +ML(this.info.resource.C)); this.Ag !== 410 && this.Ag !== 500 && this.Ag !== 503 || (a.fmt_unav = "true"); var d; (c = this.errorMessage || ((d = this.xhr) == null ? + void 0 : d.Xf())) && (a.msg = c); this.SH && (a.smb = "1"); this.info.eq() && (a.sdai = "1"); return a + }; + g.k.mY = function () { return yWa(this.timing) }; + g.k.Xf = function () { return this.xhr.Xf() || "" }; + g.k.Gx = function () { return this.isComplete() || this.timing.Gx() }; + g.k.Bs = function () { !this.La() && this.xhr && (this.Ag = this.xhr.status, this.policy.lq && this.eg && this.Nm(!1), this.Ol() ? this.vB(2) : !this.hZ && this.Gx() && (this.vB(), this.hZ = !0)) }; + g.k.Wu = function () { + if (!this.La() && this.xhr) { + if (!this.Pz && this.xhr.nu() && this.xhr.getResponseHeader("X-Walltime-Ms")) { var a = Number(this.xhr.getResponseHeader("X-Walltime-Ms")); this.Pz = ((0, g.Zt)() - a) / 1E3 } this.xhr.nu() && this.xhr.getResponseHeader("X-Restrict-Formats-Hint") && this.policy.ED && !bCa() && g.bt("yt-player-headers-readable", !0, 2592E3); a = Number(this.xhr.getResponseHeader("X-Head-Seqnum")); var b = Number(this.xhr.getResponseHeader("X-Head-Time-Millis")), c; (c = this.Ou) == null || c.stop(); this.aq = a || this.aq; + this.Sr = b || this.Sr + } + }; + g.k.Oo = function () { var a = this.xhr; if (!this.La() && a) { this.Ag = a.status; a = this.xQ(a); if (this.policy.Wc) { var b; (b = this.Ou) == null || b.stop() } a === 5 ? QX(this.Cd) : this.zd(a); this.Cd.B.stop() } }; + g.k.xQ = function (a) { + var b = this; nXa(this); if (RX(this.Cd, this.xhr.status, this.Sp ? this.timing.Y || this.YM : this.xhr.Zu(), !1, this.Au)) return 5; var c = ""; if (jXa(this)) { var d = a.TL(); d.totalLength <= this.policy.iq && (c = kXa(this, $J(d))) } if (c) return DM(PX(this.Cd)), this.info.Fl(this.ke, c), 3; c = a.Jm(); if (this.Tl) { this.Nm(!0); nXa(this); if (RX(this.Cd, this.xhr.status, this.timing.Y || this.YM, !1, this.Au)) return 5; if (!this.q3) { if (this.YM) return DM(PX(this.Cd)), 3; this.Cd.lastError = "net.closed"; return 5 } } else { + if (RX(this.Cd, + this.xhr.status, this.xhr.Zu(), !1, this.Au)) return 5; if ((d = this.info.C) && d !== c || a.gM()) return this.Cd.lastError = "net.closed", 5; this.Nm(!0) + } d = EWa(this) ? a.getResponseHeader("X-Bandwidth-Est") : 0; if (a = EWa(this) ? a.getResponseHeader("X-Bandwidth-Est3") : 0) this.Y1 = !0, this.policy.sI && (d = a); MWa(this.Cd, c, d ? Number(d) : 0); this.logger.debug(function () { var e = b.timing; return "Succeeded, rtpd=" + (e.Wa * 1E3 + e.j - Date.now()).toFixed(0) }); + return 4 + }; + g.k.canRetry = function () { this.La(); var a = this.info.eq(); return this.Cd.canRetry(a) }; + g.k.onStateChange = function () { this.isComplete() && (this.policy.yp ? this.zz() : this.timing.deactivate()) }; + g.k.cI = function (a) { this.Cd.cI(a) }; + g.k.tQ = function () { this.callback && this.callback(this, this.state) }; + g.k.kx = function () { return this.Cd.kx() }; + g.k.dispose = function () { LX.prototype.dispose.call(this); this.Cd.dispose(); var a; (a = this.Ou) == null || a.dispose(); this.policy.yp || this.zz() }; + g.k.zz = function () { this.logger.debug("Abort"); this.xhr && this.xhr.abort(); this.timing.deactivate() }; + g.k.Uk = function () { if (!this.SG().length) return []; this.zQ = !0; return this.eg.Uk() }; + g.k.Ol = function () { if (this.state < 1) return !1; if (this.eg && this.eg.uf.length) return !0; var a; return ((a = this.xhr) == null ? 0 : a.Vr()) ? !0 : !1 }; + g.k.SG = function () { this.Nm(!1); return this.eg ? this.eg.SG() : [] }; + g.k.Nm = function (a) { try { if (a || this.xhr.nu() && this.xhr.Vr() && !jXa(this) && !this.KB) this.eg || (this.eg = new CW(this.policy, this.info.gb)), this.xhr.Vr() && (this.Tl ? this.Tl.feed(this.xhr.Py()) : DW(this.eg, this.xhr.Py(), a && !this.xhr.Vr())) } catch (b) { this.Tl ? iXa(this, b) : g.fx(b) } }; + g.k.FB = function (a, b) { + switch (a) { + case 21: a = b.split(1).qn; lXa(this, a); break; case 22: this.q3 = !0; DW(this.eg, new VJ([]), !0); break; case 43: if (a = qK(new kK(b), 1)) this.info.Fl(this.ke, a), this.YM = !0; break; case 45: b = mL(new kK(b)); a = b.pT; b = b.qT; a && b && (this.cJ = a / b); break; case 44: this.kC = XCa(new kK(b)); var c, d, e; !this.timing.Y && ((c = this.kC) == null ? void 0 : c.action) === 4 && ((d = this.kC) == null ? 0 : (e = d.R1) == null ? 0 : e.Sp) && (this.Sp = this.kC.R1.Sp); break; case 53: this.policy.Wc && (a = UCa(new kK(b)).qq) && (this.Ou || (this.qq = a, this.Ou = + new g.fp(this.A_, a, this)), this.Ou.start()); break; case 60: this.bB = lL(new kK(b)); break; case 64: this.policy.aD && (a = HCa(new kK(b)), this.policy.Uu(a)); break; case 58: this.policy.Jw && (a = xCa(new kK(b))) && (this.pj = a, this.policy.Bj && a.pj === 3 && (this.Au = !0)) + } + }; + g.k.As = function (a, b, c, d) { c || this.timing.As(d); if (a !== 21) return !1; if (a = this.policy.lq) if (a *= this.info.gb[0].j.info.ub, b.totalLength + c !== d && b.totalLength < a) return !1; if (!c) { if (b.totalLength === 1) return !0; b = b.split(1).qn } lXa(this, b); return !0 }; + g.k.Jm = function () { return this.xhr.Jm() }; + g.k.LP = function () { return this.Pz }; + g.k.Tp = function () { return this.LK() ? 2 : 1 }; + g.k.LK = function () { + if (!this.policy.N.sj || !isNaN(this.info.hh) && this.info.hh > 0) return !1; if (!this.xhr.nu()) return this.logger.debug("No headers, cannot tell if head segment."), !0; if (this.Tl) var a = !this.info.C; else this.xhr.dF() ? a = !1 : (a = this.xhr.getResponseHeader("content-type"), a = a === "audio/mp4" || a === "video/mp4" || a === "video/webm"); if (!a) return !1; if (isNaN(this.info.hh)) if (a = this.xhr.getResponseHeader("x-head-seqnum"), !a) this.logger.debug("No x-head-seqnum, cannot tell if head segment."); else if (Number(a) > + this.info.gb[0].Pa) return !1; return !0 + }; + g.k.hQ = function () { return +this.xhr.getResponseHeader("X-Segment-Lmt") || 0 }; + g.k.XJ = function () { this.xhr && (this.aq = Number(this.xhr.getResponseHeader("X-Head-Seqnum"))); return this.aq }; + g.k.tY = function () { this.xhr && (this.Sr = Number(this.xhr.getResponseHeader("X-Head-Time-Millis"))); return this.Sr }; + g.k.Xh = function () { return this.Cd.Xh() }; + g.k.A_ = function () { if (!this.La() && this.xhr) { this.V2 = "heartbeat"; var a = this.Cd; a.j += 2; this.tQ() } }; XX.prototype.FB = function (a, b) { switch (a) { case 20: a = new kK(b); a = { bq: nK(a, 1), videoId: qK(a, 2), itag: nK(a, 3), lmt: nK(a, 4), xtags: qK(a, 5), lC: nK(a, 6), Co: oK(a, 8), Kq: nK(a, 9), Vma: nK(a, 10), startMs: nK(a, 11), durationMs: nK(a, 12), Is: nK(a, 14), timeRange: rK(a, 15, jCa), Sj: nK(a, 16), rL: nK(a, 17), clipId: qK(a, 1E3) }; this.fS(a); break; case 21: this.dS(b, !1); break; case 22: this.uq(b); break; case 31: a = uK(b, MCa); this.AB(a); break; case 52: a = uK(b, VCa); this.CB(a); break; default: this.TR(a, b) } }; + XX.prototype.fS = function () { }; + XX.prototype.TR = function () { }; g.z(YX, HX); g.k = YX.prototype; g.k.dw = function (a, b) { var c = (a - this.K) / 1E3, d = b - this.B; this.ri() ? d > 0 && (this.Ba && (c > .2 || d < 1024 ? (this.C += c, c > .2 && vO(this.Kc, .05, d, .05)) : vO(this.Kc, c, d, c)), this.Ma && (this.Ka += d, this.Wa += c)) : this.policy.j ? b > 2048 && this.fv(a, b) : (wO(this.Kc, (this.G - this.j) / 1E3, (a - this.G) / 1E3), this.qa = a, this.ra = b); HX.prototype.dw.call(this, a, b) }; + g.k.HR = function (a, b) { IX(this, a, b); this.dw(a, b); this.Ba && (b = this.B * this.snapshot.stall + this.B / this.snapshot.byterate, this.ri() && yO(this.Kc, this.Ka, this.C), a = (a - this.j) / 1E3 || .01, this.policy.G && !this.ri() || xO(this.Kc, a, this.B, b, !1)) }; + g.k.qL = function (a) { IX(this, a, this.D); var b = (a - this.K) / 1E3; AO(this.Kc, b, 0); this.hv(b, 0); if (this.Ba || !this.ri()) b = this.B * this.snapshot.stall + this.B / this.snapshot.byterate, this.ri() && (this.C += (a - this.K) / 1E3, yO(this.Kc, this.Ka, this.C)), xO(this.Kc, (a - this.j) / 1E3 || .01, this.B, b, !1, !0) }; + g.k.LG = function (a) { a = a.zO || 2147483647; (a & 2) !== 2 && (this.Ma = !1); (a & 1) === 1 && (this.Ba = !0) }; + g.k.CG = function (a) { a = a.zO || 2147483647; (a & 2) === 2 && (this.Ma = !1); (a & 1) === 1 && (this.Ba = !1) }; + g.k.FY = function () { return this.qa }; + g.k.TJ = function () { var a = this.Ma ? this.now() - this.K : 0; return Math.max(this.Wa * 1E3 + a, 1) }; + g.k.cQ = function () { return this.Ka * 1E3 / this.TJ() }; + g.k.ri = function () { return this.policy.j ? HX.prototype.ri.call(this) : this.B > 2048 }; + g.k.fv = function (a, b) { a = a === void 0 ? this.N : a; b = b === void 0 ? this.D : b; this.ri() || (HX.prototype.fv.call(this, a, b), wO(this.Kc, (this.G - this.j) / 1E3, (a - this.G) / 1E3)) }; + g.k.C1 = function (a) { this.Xa = a }; + g.k.qr = function () { var a = HX.prototype.qr.call(this); a.rbw = this.cQ(); a.rbe = +this.Ma; a.gbe = +this.Ba; a.ackt = (this.Xa - this.j).toFixed(); return a }; + g.k.dT = function () { }; + g.k.gK = function () { return NaN }; + g.k.EY = function () { return this.j + this.snapshot.delay * 1E3 }; g.z(pXa, XX); g.k = pXa.prototype; + g.k.TR = function (a, b) { + switch (a) { + case 35: this.wq(b); break; case 44: this.IG(b); break; case 43: this.nS(b); break; case 53: this.lS(b); break; case 55: a = new kK(b); (a = { timeline: rK(a, 1, ZCa), Kda: rK(a, 2, bDa) }, a.timeline) && a.timeline.U2 && this.Cb.sS(a.timeline.U2, a.timeline.pea, a.Kda); break; case 56: this.FG(); break; case 57: this.HG(b); break; case 42: this.WR(b); break; case 45: this.xq(b); break; case 59: this.GG(b); break; case 51: this.KG(b); break; case 49: this.LG(b); break; case 50: this.CG(b); break; case 47: this.JG(b); break; case 58: this.Vm(b); + break; case 61: this.Cb.Pd.C1((0, g.Zt)()); break; case 66: this.DG(b) + } + }; + g.k.KG = function (a) { a = new kK(a); a = { ppa: tK(a, 1, jL), opa: tK(a, 2, jL) }; this.Cb.KG(a) }; + g.k.GG = function (a) { var b = new kK(a); a = sK(b, 1); var c = sK(b, 2); b = sK(b, 3); this.Cb.GG(a, c, b) }; + g.k.xq = function (a) { a = mL(new kK(a)); this.Cb.xq(a) }; + g.k.JG = function (a) { a = uK(a, PCa); this.Cb.JG(a) }; + g.k.WR = function (a) { a = new kK(a); a = { videoId: qK(a, 1), formatId: rK(a, 2, jL), endTimeMs: nK(a, 3), Zma: nK(a, 4), mimeType: qK(a, 5), yZ: rK(a, 6, FCa), indexRange: rK(a, 7, FCa), DP: rK(a, 8, wCa) }; this.Cb.WR(a) }; + g.k.HG = function (a) { a = bDa(new kK(a)); this.Cb.HG(a) }; + g.k.FG = function () { this.Cb.FG() }; + g.k.wq = function (a) { a = NCa(new kK(a)); this.Cb.wq(a) }; + g.k.lS = function (a) { a = UCa(new kK(a)); this.Cb.lS(a) }; + g.k.IG = function (a) { a = XCa(new kK(a)); this.Cb.IG(a) }; + g.k.nS = function (a) { a = { redirectUrl: qK(new kK(a), 1) }; this.Cb.nS(a) }; + g.k.dS = function (a) { var b = bK(a, 0); if (a.totalLength !== 1) { a = a.split(1).qn; var c = this.B[b] || null; c && hUa(this.Cb.ag, b, c, a) } }; + g.k.uq = function (a) { a = bK(a, 0); var b = this.B[a] || null; b && this.Cb.uq(a, b) }; + g.k.CB = function (a) { this.Cb.CB(a) }; + g.k.fS = function (a) { var b = a.bq, c = a.Co, d = a.lC, e = a.rL, f = a.Sj, h = a.Kq, l = a.startMs, m = a.durationMs, n = a.timeRange, p = a.Is, q = a.clipId, r = oXa(a); a = ubb.has(VE["" + a.itag]); this.B[b] = r; this.Cb.EB(r, a, { bq: b, Co: !!c, lC: d != null ? d : -1, Kq: h != null ? h : -1, startMs: l != null ? l : -1, durationMs: m != null ? m : -1, Is: p, rL: e, Sj: f, clipId: q, timeRange: n }) }; + g.k.LG = function (a) { a = { zO: nK(new kK(a), 1) }; this.Cb.LG(a) }; + g.k.CG = function (a) { a = { zO: nK(new kK(a), 1) }; this.Cb.CG(a) }; + g.k.AB = function (a) { this.Cb.AB(a) }; + g.k.Vm = function (a) { a = xCa(new kK(a)); this.Cb.Vm(a) }; + g.k.DG = function (a) { a = { FZ: rK(new kK(a), 1, SCa) }; this.Cb.DG(a) }; g.z(ZX, g.O); g.k = ZX.prototype; g.k.Bs = function () { !this.La() && this.xhr && (this.Nm(), V_a(this.Cb, this)) }; + g.k.Wu = function () { }; + g.k.Oo = function () { if (!this.La() && this.xhr) { var a = this.xQ(); a === 5 ? QX(this.Cd) : this.zd(a); this.Cd.B.stop(); var b; (b = this.oH) == null || b.stop() } }; + g.k.xQ = function () { if (!this.policy.jw && RX(this.Cd, this.xhr.status, this.xhr.Zu(), this.info.Xr(), this.Au)) return 5; this.Nm(); if (this.policy.jw && RX(this.Cd, this.xhr.status, this.xhr.Zu(), this.info.Xr(), this.Au)) return 5; if (this.S1) return 3; MWa(this.Cd, this.xhr.Jm(), 0); this.policy.wc && Z_a(this.Cb); return 4 }; + g.k.Nm = function () { + var a = this.xhr; if (a.Vr()) { + a = a.Py(); var b = a.totalLength; this.logger.debug(function () { return "handleAvailableSlices: slice length " + b }); + this.Tl.feed(a) + } + }; + g.k.FB = function (a, b) { this.Pd.policy.j && a === 21 && this.Pd.fv(); this.Mda.FB(a, b) }; + g.k.As = function (a, b, c, d) { this.Pd.policy.j && a === 21 && (this.Pd.Y = !0); c || this.Pd.As(d); return !1 }; + g.k.wq = function (a) { this.Cb.wq(a) }; + g.k.lS = function (a) { if (this.policy.enableServerDrivenRequestCancellation) { var b; (b = this.oH) == null || b.dispose(); this.eT = a; a.b1 && (this.oH = new g.fp(this.z_, a.b1, this)); this.z_() } }; + g.k.z_ = function () { var a; if ((a = this.eT) != null && a.items) { var b; (b = this.oH) == null || b.start(); if (this.Pd.ri()) { a = this.Pd.TJ(); b = this.Pd.cQ(); var c = rXa(this, a); if (!(b > c.hL || c.yR > 0 && this.info.PP() > c.yR)) { this.fT = (0, g.Zt)(); var d; (d = this.oH) == null || d.stop(); this.policy.wc && (d = this.Cb, a = { Lw: Math.round(b * a / 1E3), Vy: a }, d.policy.wc && (d.Ba = a, d.Gq++)); this.Cd.cI(!1) } } } }; + g.k.IG = function (a) { this.Cb.IG(a) }; + g.k.nS = function (a) { this.S1 = !0; this.info.resource.Fl(this.ke, a.redirectUrl) }; + g.k.LG = function (a) { this.Pd instanceof YX && this.Pd.LG(a) }; + g.k.CG = function (a) { this.Pd instanceof YX && this.Pd.CG(a) }; + g.k.sS = function (a, b, c) { this.Cb.sS(a, b, c, this.Vp()) }; + g.k.WR = function (a) { if (dU(this.policy)) { var b = a.formatId, c = oXa({ itag: b.itag, lmt: b.lmt, xtags: b.xtags }), d, e, f = new LM(((d = a.yZ) == null ? void 0 : d.first) || 0, ((e = a.yZ) == null ? void 0 : e.SZ) || 0), h, l; d = new LM(((h = a.indexRange) == null ? void 0 : h.first) || 0, ((l = a.indexRange) == null ? void 0 : l.SZ) || 0); this.manifest.K.get(c) || (c = a.DP || {}, c.mimeType = a.mimeType, c.itag = b.itag, c.lastModified = "" + (b.lmt || 0), c.xtags = b.xtags, a = this.manifest, b = CN(""), c = AN(c, null), uN(a, new rN(b, c, f, d))) } }; + g.k.xq = function (a) { this.Cb.xq(a) }; + g.k.AB = function (a) { this.Cb.AB(a) }; + g.k.GG = function (a, b, c) { this.Cb.GG(a, b, c) }; + g.k.HG = function (a) { a.scope === 2 && (this.Lda = a); this.Cb.HG(a) }; + g.k.FG = function () { this.VW = !0; this.Cb.FG() }; + g.k.KG = function (a) { this.policy.wp && this.Cb.KG(a) }; + g.k.JG = function (a) { this.Cb.JG(a, this.Vp()) }; + g.k.Vm = function (a) { this.policy.Bj && a.pj === 3 && (this.Au = !0); this.Cb.Vm(a) }; + g.k.DG = function (a) { this.Cb.DG(a) }; + g.k.canRetry = function () { this.La(); return this.Cd.canRetry(!1) }; + g.k.dispose = function () { if (!this.La()) { g.O.prototype.dispose.call(this); this.Cd.dispose(); var a; (a = this.oH) == null || a.dispose(); this.zd(-1); this.zz() } }; + g.k.zd = function (a) { this.state = a; V_a(this.Cb, this) }; + g.k.Xr = function () { return this.info.Xr() }; + g.k.FO = function () { return this.VW }; + g.k.fQ = function () { return this.Lda }; + g.k.EB = function (a, b, c) { c.clipId && (this.clipId = c.clipId); this.policy.G && !b && (this.mj = c.Kq, this.uv = c.startMs); var d = 0; this.policy.Rf && this.B_ && this.clipId && (d = aX(this.B_, this.clipId) / 1E3); this.ag.EB(a, b, c, d); this.ag.fd.get(a).dE = !0 }; + g.k.uq = function (a, b) { this.ag.uq(a, b) }; + g.k.CB = function (a) { this.requestIdentifier = a }; + g.k.Uk = function (a) { return this.ag.Uk(a) }; + g.k.Yn = function (a) { return this.ag.Yn(a) }; + g.k.Ol = function (a) { return this.ag.Ol(a) }; + g.k.Gr = function () { return this.ag.Gr() }; + g.k.Tp = function () { return 1 }; + g.k.Vp = function () { return this.Pd.requestNumber }; + g.k.dQ = function () { return this.requestIdentifier }; + g.k.kY = function () { return this.clipId }; + g.k.Ce = function () { return this.ke.Ce() }; + g.k.W_ = function () { this.zz() }; + g.k.zz = function () { this.Pd.deactivate(); var a; (a = this.xhr) == null || a.abort() }; + g.k.isComplete = function () { return this.state >= 3 }; + g.k.MZ = function () { return this.state === 3 }; + g.k.Qm = function () { return this.state === 5 }; + g.k.yQ = function () { return this.isComplete() }; + g.k.Bu = function () { return this.state >= 1 }; + g.k.kx = function () { return 0 }; + g.k.jY = function () { var a; return (a = this.info.data) == null ? void 0 : a.CO }; + g.k.tQ = function () { }; + g.k.GY = function () { return PZa(this.info) }; + g.k.Xh = function () { return this.Cd.Xh() }; + g.k.Hr = function () { var a = NWa(this.Cd); Object.assign(a, RZa(this.info)); a.req = "sabr"; a.rn = this.Vp(); var b; if ((b = this.xhr) == null ? 0 : b.status) a.rc = this.policy.Xl ? this.xhr.status : this.xhr.status.toString(); var c; (b = (c = this.xhr) == null ? void 0 : c.Xf()) && (a.msg = b); this.fT && (c = rXa(this, this.fT - this.Pd.FY()), a.letm = c.m$, a.mrbps = c.hL, a.mram = c.yR); return a }; + g.k.IY = function () { return { mj: this.mj, uv: this.uv, eq: this.info.eq() } }; sXa.prototype.tick = function (a, b) { this.ticks[a] = b ? window.performance.timing.navigationStart + b : (0, g.Zt)() }; g.z(DXa, g.Fx); g.k = DXa.prototype; g.k.hS = function (a, b, c, d) { if (this.K && d) { d = []; var e = [], f = [], h = void 0, l = 0; b && (d = b.j, e = b.B, f = b.D, h = b.C, l = b.Az); this.K.oS(a.Pa, a.startTime, this.B, d, e, f, c, l, h) } this.policy.Ab ? (this.B === 1 && bY(this, 5, "noad"), FXa(this, a, b), isNaN(a.startTime) || GXa(this, a.Pa, cY(this, a.startTime, a.Pa), !!b, this.K)) : c && FXa(this, a, b) }; + g.k.gS = function (a, b, c) { var d = this.videoTrack.j.index.qd() <= b; this.j = { Zg: a, Pa: b, AF: c }; d && aY(this, a, b) }; + g.k.qx = function () { this.K && this.K.qx() }; + g.k.oa = function (a, b) { this.ya.oa(a, b) }; + g.k.Ps = function (a, b) { var c = this.videoTrack.j.index.Li(a); if (c >= 0) { var d; var e = ((d = YW(b.bd, c, 2)) == null ? void 0 : d.Nt) || ""; if (this.policy.G || e) return b.yv(a, c), IXa(this.ya, a, a, c), this.oa("sdai", { cmskpad: 1, t: a.toFixed(3), sq: c }), !0 } this.oa("sdai", { cmskpad: 0, t: a.toFixed(3), sq: c }); return !1 }; g.z(gY, g.O); gY.prototype.gp = function (a, b, c) { c = c === void 0 ? {} : c; this.policy.wj = PN(a, c, this.D, b === void 0 ? !1 : b) }; OXa.prototype.yL = function (a) { var b = this; if (this.policy.XC) { var c = new Set(a); c.size === this.Ga.size && [].concat(g.x(c)).every(function (d) { return b.Ga.has(d) }) || (this.ya.oa("lwnmow", { itagDenylist: [].concat(g.x(a)).join(",") }), this.ya.Jy(!!c.size), this.Y = -1, this.Ga = c, lY(this, this.j), this.Ra = !0) } }; + OXa.prototype.gp = function (a, b, c) { c = c === void 0 ? {} : c; var d = this.policy.wj; this.G.gp(a, b === void 0 ? !1 : b, c); if (d !== this.policy.wj) { lY(this, this.j); mY(this); var e, f; d > this.policy.wj && ((e = this.C) == null ? 0 : ZE(e.info)) && ((f = this.nextVideo) == null || !ZE(f.info)) && (this.qa = !0) } }; gYa.prototype.dispose = function () { this.ra = !0 }; + gYa.prototype.La = function () { return this.ra }; + g.z(tY, Error); var j5a = new Uint8Array([0, 0, 0, 38, 112, 115, 115, 104, 0, 0, 0, 0, 237, 239, 139, 169, 121, 214, 74, 206, 163, 200, 39, 220, 213, 29, 33, 237, 0, 0, 0, 6, 72, 227, 220, 149, 155, 6]); wY.prototype.skip = function (a) { this.offset += a }; + wY.prototype.Km = function () { return this.offset }; g.k = zYa.prototype; g.k.DY = function () { return this.B }; + g.k.Ro = function () { return this.B.length ? this.B[this.B.length - 1] : null }; + g.k.lk = function () { this.B = []; yY(this); yYa(this) }; + g.k.Os = function () { this.Ya = this.B.shift().info }; + g.k.Yn = function () { return g.Al(this.B, function (a) { return a.info }) }; + g.k.Gh = function () { return !!this.K.info.audio }; + g.k.getDuration = function () { return this.K.index.Xt() }; g.z(yX, LX); g.k = yX.prototype; g.k.onStateChange = function () { this.La() && (GW(this.ag, this.formatId), this.j.dispose()) }; + g.k.Hr = function () { var a = aUa(this.ag, this.formatId), b; var c = ((b = this.ag.fd.get(this.formatId)) == null ? void 0 : b.bytesReceived) || 0; var d; b = ((d = this.ag.fd.get(this.formatId)) == null ? void 0 : d.Hz) || 0; return { expected: a, received: c, bytesShifted: b, sliceLength: bUa(this.ag, this.formatId), isAnyMediaEndReceived: this.ag.Bx(this.formatId) } }; + g.k.mY = function () { return 0 }; + g.k.Gx = function () { return !0 }; + g.k.Uk = function () { return this.ag.Uk(this.formatId) }; + g.k.SG = function () { return [] }; + g.k.Ol = function () { return this.ag.Ol(this.formatId) }; + g.k.Xh = function () { return this.lastError }; + g.k.kx = function () { return 0 }; g.z(AY, g.O); g.k = AY.prototype; g.k.Ro = function () { return this.D.Ro() }; + g.k.Os = function (a) { this.D.Os(a); var b; (b = this.Z) != null && (b.B = cWa(b, b.kd, b.vy, b.B, a), b.D = a, b.G = (0, g.Zt)()); this.ub = Math.max(this.ub, a.info.j.info.ub || 0) }; + g.k.getDuration = function () { if (this.policy.j) { var a = this.ya.Bf(); if (a) return dX(a) } return this.j.index.Xt() }; + g.k.lk = function () { AX(this); this.D.lk() }; + g.k.YP = function () { return this.D }; + g.k.isRequestPending = function (a) { return this.C.length ? a === this.C[this.C.length - 1].info.gb[0].Pa : !1 }; + g.k.Nq = function (a) { var b; (b = this.Z) == null || b.Nq(a) }; g.z(PY, g.O); PY.prototype.C = function () { this.B++ > 15 || (this.j = !this.j, new nZa(this.ya, this.policy, this.Kc, this.resource, this.j), this.delay.start()) }; + g.k = nZa.prototype; g.k.Wu = function () { }; + g.k.Bs = function () { }; + g.k.Oo = function () { if (!this.done) if (this.done = !0, this.xhr.status === 200 && this.xhr.Jm() === this.size) this.ya.oa("rqs", this.getInfo()); else { var a = "net.connect"; this.xhr.status > 200 ? a = "net.badstatus" : this.xhr.nu() && (a = "net.closed"); this.onError(a) } }; + g.k.onError = function (a) { var b = this; this.ya.handleError(a, this.getInfo()); mW("https://www.gstatic.com/ytlr/img/sign_in_avatar_default.png?rn=" + this.timing.requestNumber, "gp", function (c) { b.ya.oa("pathprobe", c) }, function (c) { b.ya.handleError(c.errorCode, c.details) }) }; + g.k.getInfo = function () { var a = this.timing.qr(); a.shost = KL(this.location.base); a.pb = this.size; return a }; g.z(QY, g.O); QY.prototype.YQ = function (a, b) { + if (!MY(a) || !a.j.jg()) return !1; var c = this.C.Ra || bZa(a) || b <= this.policy.UD || this.C.qa; this.logger.debug(function () { return "ready to adapt: " + c + ", upgrade pending: " + bZa(a) + ", health: " + b }); + return c + }; + QY.prototype.xa = function () { g.O.prototype.xa.call(this) }; + var RY = 2 / 24; g.z(WY, g.O); WY.prototype.xL = function (a, b, c) { var d; var e = ((d = this.B) == null ? void 0 : d.reason) === "m" ? "m" : this.B && GZa(this, this.B) ? this.B.reason : "a"; this.ya.xL(new fY(a, e, c)); UY(this.ya, b, a, !0) }; + WY.prototype.U1 = function (a) { for (var b = g.w(this.N), c = b.next(); !c.done; c = b.next())if (c = c.value, c.id === a) return this.C = [c], this.K = this.manifest.j[a], this.Ge.j && (this.qa = !0), new fY(this.K, "m"); this.C = []; return null }; + WY.prototype.gp = function (a, b, c) { c = c === void 0 ? {} : c; this.j.gp(a, b === void 0 ? !1 : b, c) }; XY.prototype.Xr = function () { return this.requestType === 1 }; + XY.prototype.PP = function () { var a; return ((a = this.Cb) == null ? void 0 : a.PP()) || 0 }; + XY.prototype.eq = function () { var a; return !((a = this.data) == null || !a.dn) }; YY.prototype.encrypt = function (a) { this.wd.exports.AES128CTRCipher_encrypt(this.cipher, a.byteOffset, a.byteLength); return a }; + YY.prototype.La = function () { return this.cipher === 0 }; + YY.prototype.dispose = function () { this.wd.exports.AES128CTRCipher_release(this.cipher); this.cipher = 0 }; ZY.prototype.encrypt = function (a, b) { return kU(this.subtleCrypto.encrypt({ name: "AES-CTR", length: 128, counter: b }, this.key, a).catch(function (c) { return Promise.reject(c.name + ": " + c.message) }).then(function (c) { return new Uint8Array(c) })) }; + ZY.prototype.La = function () { return this.j }; + ZY.prototype.dispose = function () { this.j = !0 }; + qU.KA(ZY, { encrypt: SZa("oan2") }); $Y.prototype.encrypt = function (a, b) { LJ(this.B, b); return jU(this.B.encrypt(a)) }; + $Y.prototype.La = function () { return this.j }; + $Y.prototype.dispose = function () { this.j = !0 }; + qU.KA($Y, { encrypt: SZa("oap") }); aZ.prototype.encrypt = function (a, b) { var c = this.wd.xE(b), d = this.j; d.wd.exports.AES128CTRCipher_setCounter(d.cipher, (c != null ? c : b).byteOffset); b = this.wd.xE(a); this.j.encrypt(b != null ? b : a); c && this.wd.exports.free(c.byteOffset); return b ? jU(this.wd.CR(b)) : jU(a) }; + aZ.prototype.La = function () { return this.j.La() }; + aZ.prototype.dispose = function () { this.j.dispose() }; + qU.KA(aZ, { encrypt: SZa("oalw") }); ZZa.prototype.encrypt = function (a) { (0, g.Zt)(); return (new qO(this.j.j)).encrypt(a, this.iv) }; + ZZa.prototype.decrypt = function (a, b) { (0, g.Zt)(); return (new qO(this.j.j)).decrypt(a, b) }; c_a.prototype.decrypt = function (a) { + var b = this, c, d, e, f, h, l; return g.J(function (m) { + switch (m.j) { + case 1: if (b.j.length && !b.j[0].isEncrypted) return m.return(); b.B = !0; b.Wm.Md("omd_s"); c = new Uint8Array(16); OJ() ? d = new pO(a) : e = new qO(a); case 2: if (!b.j.length || !b.j[0].isEncrypted) { m.Ha(4); break } f = b.j.shift(); if (!d) { h = e.decrypt($J(f.buffer), c); m.Ha(5); break } return g.G(m, d.decrypt($J(f.buffer), c), 6); case 6: h = m.B; case 5: l = h; for (var n = 0; n < c.length; n++)if (c[n] === 255) c[n] = 0; else { c[n] += 1; break } n = b.Wm; var p = f.videoId, + q = f.bq, r = f.formatId, t = new VJ([l]), u; (u = bZ(n.Jc, p)) == null || hUa(u, q, r, t); m.Ha(2); break; case 4: b.Wm.Md("omd_c"), cZ(b), b.B = !1, b.Wm.eS(), g.ua(m) + } + }) + }; + c_a.prototype.enqueue = function (a, b, c, d, e) { this.j.push({ videoId: a, bq: b, formatId: c, buffer: d, isEncrypted: e }); this.B || cZ(this) }; var m_a = !!Uint8Array.prototype.copyWithin, dZ = [], d_a = [], g_a = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], fZ = [], eZ = [], gZ = [], e_a = []; iZ.prototype.uZ = function (a) { return g.l_a(new g.f_a(a)) }; + iZ.prototype.vZ = function (a) { + function b(h) { if (!h.done) return f.append(h.value), e.read().then(function (l) { return b(l) }) } + if (!("DecompressionStream" in window)) return lU("native decompression unavailable"); var c = new DecompressionStream("gzip"), d = c.writable.getWriter(); d.write(a).then(function () { return d.close() }); + var e = c.readable.getReader(), f = new VJ([]); return nU(kU(e.read()).mf(b).mf(function () { return $J(f) }), function (h) { return lU(h.message) }) + }; + iZ.prototype.wZ = function (a, b) { var c, d = (c = b.xE(a)) != null ? c : a; a = b.exports.getInflatedSize(d.byteOffset, d.length); c = b.exports.malloc(a); return b.exports.inflateGzip(d.byteOffset, d.length, c) ? lU("inflateGzip failed") : jU(new Uint8Array(b.exports.memory.buffer, c, a)) }; + qU.KA(iZ, { + uZ: function (a) { return { profile: "gzjb", Kn: Math.ceil(a.byteLength / 16) } }, + vZ: function (a) { return { profile: "gznb", Kn: Math.ceil(a.byteLength / 16) } }, + wZ: function (a) { return { profile: "gzwb", Kn: Math.ceil(a.byteLength / 16) } } + }); g.z(p_a, XX); g.k = p_a.prototype; g.k.eS = function () { this.Jc.eS() }; + g.k.TR = function (a, b) { + switch (a) { + case 10: var c = uK(b, KCa); a = c.Nca; var d = !1; switch (a) { case 0: this.C = !c.X0.f$; this.iv = c.X0.iv; break; case 2: break; case 23: var e = this.Jc; c = c.L$; e.Md("omp_r"); c.videoId && (e.Xu = c.videoId); e.Xu !== e.videoData.videoId && (e.videoData.r4 = e.Xu, e.oa("ompp", "vid." + e.Xu)); e.sR = !0; break; case 24: c = this.Jc; c.Md("omp_c"); c.sR = !1; c.rH = !1; var f = (e = c.cg) == null ? void 0 : e.get(c.Xu); c.notifySubscribers(c.Xu); f != null && (f.j = !0); lZ(c); break; default: d = !0 }this.Jc.Om && this.Jc.oa("ombup", "id.10;pt." + a + + ";len." + b.totalLength + (d ? ";ignored.1" : "")); this.D = a; break; case 11: t_a(this, b); break; case 12: this.dS(b, !0); break; case 37: b = uK(b, LCa); (b.p7 || b.BU) && b.videoId && this.Jc.hY.set(b.videoId, b); break; case 60: this.aS(b); break; case 64: this.Uu(b); break; case 47: this.L("html5_server_playback_start_policy") && (b = uK(b, PCa), this.Jc.playbackStartPolicy = b); break; case 35: this.wq(b); break; case 45: this.xq(b); break; default: this.Jc.Om && this.Jc.oa("ombup", "id." + a + ";len." + b.totalLength + ";ignored.1") + } + }; + g.k.AB = function (a) { this.Jc.f_ = a }; + g.k.aS = function (a) { a = uK(a, lL); this.Jc.aS(a) }; + g.k.Uu = function (a) { this.L("html5_enable_lawnmower_messaging") && (a = uK(a, HCa), this.Jc.Uu(a)) }; + g.k.xq = function (a) { a = uK(a, mL); this.Jc.xq(a) }; + g.k.fS = function (a) { var b = a.bq, c = a.Co, d = a.lC, e = a.Sj, f = a.Kq, h = a.startMs, l = a.durationMs, m = a.timeRange, n = a.Is, p = oXa(a), q = ubb.has(VE["" + a.itag]); c && this.Md(q ? "oais_r" : "ovis_r"); var r = this.j[p] !== void 0; this.Jc.Om && this.Jc.oa("ombup", "id.20;hid." + b + ";fid" + p); var t = a.videoId || ""; this.B[b] = p; this.G[b] = t; r || (this.j[p] = { videoId: t, bZ: !1, Gh: q, headers: [] }); this.j[p].headers.push(a); this.Jc.EB(t, p, q, { bq: b, Co: !!c, lC: d != null ? d : -1, Kq: f != null ? f : -1, startMs: h != null ? h : -1, durationMs: l != null ? l : -1, Is: n != null ? n : 0, Sj: e, timeRange: m }) }; + g.k.dS = function (a, b) { var c = bK(a, 0); this.Jc.Om && this.Jc.oa("ombup", "id." + (b ? 12 : 21) + ";len." + a.totalLength + ";hid." + c); if (a.totalLength !== 1) { a = a.split(1).qn; var d = this.B[c] || null, e = this.G[c] || ""; d && (this.wg(this.j[d].Gh ? "oafs_r" : "ovfs_r"), this.queue.enqueue(e, c, d, a, b)) } }; + g.k.uq = function (a) { var b = bK(a, 0); this.Jc.Om && this.Jc.oa("ombup", "id.22;len." + a.totalLength + ";hid." + b); a = this.B[b] || null; var c = this.G[b] || ""; if (a) if (this.L("html5_use_ump_request_slicer")) { var d = this.queue; d.j.push({ videoId: c, bq: b, formatId: a, isEncrypted: !1, F8: !0 }); d.B || cZ(d) } else this.Jc.uq(c, b, a) }; + g.k.CB = function (a) { this.Jc.CB(a) }; + g.k.BL = function (a, b) { + var c = this, d, e, f, h, l, m, n, p, q, r, t, u, y, A; return g.J(function (D) { + switch (D.j) { + case 1: c.Jc.BL(); d = $J(a); if (!b) { f = d; D.Ha(2); break } return g.G(D, F_a(c.Jc, d, c.iv), 3); case 3: f = D.B; case 2: e = f; if (!c.Jc.enableCompression) { D.Ha(4); break } l = (h = performance) == null ? void 0 : h.now(); return g.G(D, n_a(e), 5); case 5: e = D.B, c.Jc.oa("decompression", { ds: "DecompressionStream" in window, rt: ((m = performance) == null ? NaN : m.now()) - l }); case 4: try { n = uK(e, vCa) } catch (F) { + return p = F instanceof Error ? { name: F.name, message: F.message } : + {}, p.webcrypto = "" + +!!OJ(), p.enc = "" + +c.C, q = new FE("onesie.response.parse", p), D.return(Promise.reject(q)) + } if (n.KL !== 1) return r = { st: n.KL, webcrypto: "" + +!!OJ(), textencoder: "" + +!!g.Ja.TextEncoder }, t = new FE("onesie.response.badproxystatus", r), D.return(Promise.reject(t)); if (n.BK !== 200) return u = { st: n.BK }, y = new FE("onesie.response.badstatus", u), D.return(Promise.reject(y)); A = g.gK(n.body); return D.return(A) + } + }) + }; + g.k.wq = function (a) { this.L("html5_consume_onesie_next_request_policy_for_sabr") && (a = uK(a, NCa), this.Jc.wq(a)) }; + g.k.Md = function (a) { this.Jc.Md(a) }; + g.k.wg = function (a) { return this.Jc.wg(a) }; + g.k.L = function (a) { return this.Jc.L(a) }; g.z(kZ, g.O); g.k = kZ.prototype; g.k.kY = function () { return "" }; + g.k.Gr = function (a) { var b, c; return ((c = (b = this.cg) == null ? void 0 : b.get(a)) == null ? void 0 : c.Gr()) || [] }; + g.k.Ol = function (a, b) { var c; return !((c = bZ(this, b)) == null || !c.Ol(a)) }; + g.k.Uk = function (a, b) { var c; return ((c = bZ(this, b)) == null ? void 0 : c.Uk(a)) || [] }; + g.k.Yn = function (a, b) { var c; return ((c = bZ(this, b)) == null ? void 0 : c.Yn(a)) || [] }; + g.k.zd = function (a) { this.state = a; this.notifySubscribers() }; + g.k.Xr = function () { return !1 }; + g.k.FO = function () { return !1 }; + g.k.fQ = function () { }; + g.k.Md = function (a) { this.ea.Md(a) }; + g.k.wg = function (a) { return this.ea.wg(a) }; + g.k.As = function (a, b, c, d) { c || this.Pd.As(d); return !1 }; + g.k.FB = function (a, b) { this.Wm.FB(a, b) }; + g.k.UR = function () { this.Md("orfb"); this.JK = !0; if (G_a(this) && this.xhr) { var a = { rc: this.xhr.status, lb: this.xhr.Jm(), rt: (1E3 * yWa(this.Pd)).toFixed(), shost: g.Ni(this.wS), trigger: "o1" }; this.oa("pathprobe", EE(a)) } }; + g.k.BL = function () { this.Md("opr_r"); this.gZ = !0 }; + g.k.EB = function (a, b, c, d) { if (this.cg) { if (!this.cg.has(a)) { var e = new EW(this); this.cg.set(a, e); g.P(this, e) } var f; (f = this.cg.get(a)) == null || f.EB(b, c, d); lZ(this); this.L("html5_enable_sabr_ssdai") && !c && (this.mj = d.Kq, this.uv = d.startMs) } else lZ(this) }; + g.k.aS = function (a) { this.bB = a }; + g.k.Uu = function (a) { this.W.Uu(a) }; + g.k.wq = function (a) { a.videoId && this.P_.set(a.videoId, a) }; + g.k.eS = function () { if (this.cg) for (var a = g.w(this.cg.keys()), b = a.next(); !b.done; b = a.next()) { var c = void 0; (c = this.cg.get(b.value)) == null || c.vB() } }; + g.k.xq = function (a) { this.L0 = a }; + g.k.oa = function (a, b, c) { this.ea.oa(a, b, c === void 0 ? !1 : c) }; + g.k.uq = function (a, b, c) { var d; (d = bZ(this, a)) == null || d.uq(b, c) }; + g.k.CB = function (a) { this.J1.set(a.videoId, a) }; + g.k.fetch = function () { + var a = this, b, c, d, e, f, h, l, m, n, p, q, r, t, u, y, A, D, F, H, M; return g.J(function (N) { + switch (N.j) { + case 1: a.logger.debug("Onesie fetch started."); a.iI ? a.NO.start() : a.OG.start(); a.Md("or_i"); b = a.W.experiments.kb("html5_onesie_verbose_timing"); c = {}; d = (0, g.Zt)(); e = function (Q) { b && (c[Q] = (0, g.Zt)() - d) }; + e("loc_s"); if (f = w_a(a.videoData, a.BA)) { N.Ha(2); break } e("loc_async"); h = g.AC(a.W.experiments, "html5_onesie_redirector_timeout_ms"); return g.G(N, x_a(a.videoData, a.BA, h), 3); case 3: f = N.B; case 2: if (!f) return a.logger.info("Onesie URL creation failed."), l = { url: "0" }, m = new FE("onesie.unavailable.hotconfig", l), a.Zi(m), N.return(a.Rq); a.V1 = KL(f); e("loc_e"); n = g.kP(a.W, g.VQ(a.videoData)); if (!n.j) { p = n.getValue(); N.Ha(4); break } return g.G(N, n.j, 5); case 5: p = N.B; case 4: q = p; e("oauth"); r = z_a(a.playerRequest, a.W, a.videoData, + q, qW(a.V1)); g.va(N, 6); if (!E_a(a, r)) { e("or_s_sync"); a.LL = B_a(r, a.NG, a.W, a.ea, a.jP.onesieUstreamerConfig, (t = a.videoData.vS) == null ? void 0 : t.mp); N.Ha(8); break } e("or_s_async"); return g.G(N, D_a(r, a.NG, a.W, a.ea, a.jP.onesieUstreamerConfig, (u = a.videoData.vS) == null ? void 0 : u.mp), 9); case 9: a.LL = N.B; case 8: g.wa(N, 7); break; case 6: return y = g.xa(N), a.logger.info("Failed to create OnesieRequestProto."), a.Zi(y), N.return(a.Rq); case 7: return e("or_e"), b && a.oa("oreqvt", c), a.enableCompression = a.LL.MQ.sP, a.Md("osor"), A = + tOa(), D = g.CK(a.LL, fCa), F = { method: "POST", body: D, headers: { "Content-Type": "text/plain", Referer: location.origin } }, H = a.L("html5_onesie_media_capabilities"), y_a(f, a.videoData, I_a(a), H), a.logger.debug("Starting Onesie network request."), a.Om && a.oa("ombrs", "1"), M = a.ea.U().schedule, a.Pd = new JX(a, { + Kc: M, DJ: a.Om, hv: function (Q, Z) { a.ea.hH(Q, Z) }, + Lp: a.L("html5_disable_variability_reporting_for_onesie") + }), f.set("rn", "" + a.Pd.requestNumber), a.wS = f.Ce(), uWa(a.Pd, a.wS), a.Md("or_p"), a.xhr = NX(new BM(f), A, a.Pd, iO, F), a.K0.start(), N.return(a.Rq) + } + }) + }; + g.k.Tp = function () { return 2 }; + g.k.Wu = function () { this.Md("orh_r") }; + g.k.Bs = function () { !this.JK && this.xhr.Jm() && this.UR(); if (this.MA && !this.iI) { var a; (a = this.JL) == null || a.start() } this.Nm() }; + g.k.Oo = function (a) { + a = a === void 0 ? !1 : a; this.logger.debug("onXhrDone"); this.Nm(); if (!(this.La() || this.state >= 4)) { + var b = jZ(this), c = this.xhr; b.rc = c.status; a && (b.ab = !0); if (c.Xf()) { var d = "onesie.net"; b.msg = c.Xf() } else c.status >= 400 ? d = "onesie.net.badstatus" : c.Zu() ? this.gZ || (d = "onesie.response.noplayerresponse") : d = c.status === 204 ? "onesie.net.nocontent" : "onesie.net.connect"; d ? this.Zi(new FE(d, b)) : (this.Md("or_fs"), this.Pd.HR((0, g.Zt)(), c.Jm(), 0), this.zd(4), this.Om && this.oa("rqs", b)); this.Om && this.oa("ombre", + "ok." + +!d); this.rH = !1; lZ(this); q_a(this.Wm); if (!this.iI) { this.OG.stop(); var e; (e = this.JL) == null || e.stop() } var f; if (a = (f = this.BA) == null ? void 0 : uTa(f)) for (f = 0; f < a.length; f++)this.oa("pathprobe", a[f]) + } + }; + g.k.jY = function () { }; + g.k.W_ = function () { if (this.playerResponse && this.xhr && this.cg) for (var a = g.w(this.cg.entries()), b = a.next(); !b.done; b = a.next())if (b = g.w(b.value), b.next(), b.next().value.B) { this.xhr.abort(); this.Oo(!0); break } }; + g.k.U = function () { return this.W }; + g.k.L = function (a) { return this.W.L(a) }; + g.k.I$ = function () { if (G_a(this) && this.BA && (!this.JK || this.L("html5_onesie_probe_ec_hosts"))) { var a = this.BA; if (a.W.experiments.kb("html5_onesie_probe_ec_hosts")) { var b, c = (b = a.j.get(3)) == null ? void 0 : KL(b.location); c && pW(a, c, "osc", this); var d; (c = (d = a.j.get(4)) == null ? void 0 : KL(d.location)) && pW(a, c, "ocy", this) } else { var e; (d = (e = a.j.get(1)) == null ? void 0 : KL(e.location)) && pW(a, d, "o2", this); (d = (c = a.j.get(2)) == null ? void 0 : KL(c.location)) && pW(a, d, "o3", this) } } }; + g.k.v7 = function () { if (!this.La() && !this.isComplete()) { if (this.MA) { if ((0, g.Zt)() - this.Pd.N > 1E3) { var a; (a = this.Pd) == null || a.qL((0, g.Zt)()); a = jZ(this); if (this.W.Ac() && this.xhr instanceof FWa) { var b = this.xhr; a.xrs = b.xhr.readyState; a.xpb = b.j.totalLength; a.xdc = b.D } this.Zi(new FE("net.timeout", a)) } } else (0, g.Zt)() - this.Pd.j > 1E4 && ((b = this.Pd) == null || b.qL((0, g.Zt)()), this.vQ()); this.isComplete() || this.NO.start() } }; + g.k.vQ = function () { this.logger.info("Onesie request timed out"); this.rH = !1; if (!lZ(this)) { var a = jZ(this); a.timeout = "1"; this.Zi(new FE("onesie.request", a)) } }; + g.k.Zi = function (a) { + var b = this; a = HE(a); this.MA ? this.ea.Id(a) : (this.Rq.reject(a), this.MA = !0); q_a(this.Wm); this.iI || this.OG.stop(); this.Md("or_fe"); var c, d; (c = this.BA) == null || (d = uTa(c)) == null || d.forEach(function (e) { b.oa("pathprobe", e) }); + this.zd(5); this.dispose() + }; + g.k.isComplete = function () { return this.state >= 3 }; + g.k.yQ = function (a) { var b, c; return this.isComplete() || !!((b = this.cg) == null ? 0 : (c = b.get(a)) == null ? 0 : c.j) }; + g.k.MZ = function () { return !1 }; + g.k.Qm = function () { return this.state === 5 }; + g.k.notifySubscribers = function (a) { for (var b = 0; b < this.TH.length; b++)a && this.TH[b].nf() !== a || V_a(this.TH[b], this) }; + g.k.GY = function () { var a, b; return ((a = this.LL) == null ? void 0 : (b = a.zr) == null ? void 0 : b.MS) || 0 }; + g.k.xa = function () { this.playerResponse = ""; var a; (a = this.xhr) == null || a.abort(); q_a(this.Wm); this.Tl.dispose(); var b; (b = this.JL) == null || b.dispose(); this.zd(-1); this.TH = []; g.O.prototype.xa.call(this) }; + g.k.Nm = function () { + try { + var a = this.xhr; a.Jm() > 102400 && !this.HZ && (this.Md("or100k"), this.HZ = !0); if (a.Vr()) { + var b = a.Py(), c = b.totalLength; this.logger.debug(function () { return "handleAvailableSlices: slice length " + c }); + this.Om && this.oa("ombrss", "len." + c); this.Tl.feed(b) + } if (this.cg) for (var d = g.w(this.cg.keys()), e = d.next(); !e.done; e = d.next()) { var f = e.value; a = void 0; (a = this.cg.get(f)) == null || a.vB(); this.notifySubscribers(f) } + } catch (h) { this.Zi(h) } + }; + g.k.Vp = function () { return this.Pd.requestNumber }; + g.k.dQ = function (a) { return this.J1.get(a) }; + g.k.IY = function () { return { mj: this.mj, uv: this.uv, eq: !1 } }; g.z(K_a, g.O); g.k = K_a.prototype; g.k.qv = function (a) { this.qa = void 0; Z_a(this); X_a(this, a) }; + g.k.XQ = function (a) { if (this.j.length === 0) return !1; var b = this.j[0]; return b instanceof kZ && this.policy.bl ? a === this.ya.getCurrentTime() * 1E3 : !(b instanceof ZX && QZa(b.info)) && Math.abs(b.GY() - a) < 50 }; + g.k.wq = function (a) { this.B = a; this.qa = (0, g.Zt)() + (a.backoffTimeMs || 0) }; + g.k.IG = function (a) { if (a.action === void 0) { var b = this.ea.lx(); b !== void 0 && this.ya.Ku(b) } else if (a.action !== 0 || !this.Ma) switch (b = {}, b.reason = a.mda, b.action = a.action, a.action) { case 1: this.policy.G && this.K && this.K.FE(void 0, void 0, b); break; case 0: this.Ma = !0; this.ya.oP(b); break; case 2: this.ya.handleError("sabr.config", b, 1); break; case 5: a5a(this.ea, !0); break; case 6: a5a(this.ea, !1); break; case 3: this.policy.gD && ((a = this.manifest.Y) != null && (a.N = !0), this.ya.handleError("sabr.hostfallback", b)) } }; + g.k.sS = function (a, b, c, d) { if (this.policy.j) { this.ya.oa("ssap", { rn: d, v: b, tl: a0a(a) }); var e = this.ya.Bf(); a = { Gt: a, context: c, version: b }; c && c.type && (this.videoData.sabrContextUpdates.set(c.type, c), c.sendByDefault && this.Ak.add(c.type)); e ? Y_a(this, e, a) : (this.ya.oa("ssap", { cacheclips: 1, rn: d, v: b }), this.N = a) } }; + g.k.HG = function (a) { this.policy.qa && a && a.type && a.sendByDefault && this.Ak.add(a.type) }; + g.k.FG = function () { }; + g.k.xq = function (a) { if (a.pT !== void 0 && a.qT) { var b = a.pT / a.qT; this.audioTrack.N = !1; this.videoTrack.N = !1; if (this.policy.ra || this.policy.Ig) this.ya.Lg.B = !1; this.ya.Fp(b, 1); if (this.ea.getCurrentTime() !== b) { var c = { Zc: "sabr_seek", XA: !0, RT: !0 }; a.seekSource && (c.seekSource = a.seekSource); EX(this.ya, b, c) } } }; + g.k.AB = function (a) { a.xK && a.yK && IN(this.manifest, a.xK, a.yK); this.policy.Lv && (a.J_ && a.K_ && (this.manifest.Fa = a.J_ / a.K_), a.w_ && a.x_ && (this.manifest.Z = a.w_ / a.x_)) }; + g.k.Vm = function (a) { this.ya.Vm(a) }; + g.k.GG = function (a, b, c) { this.policy.C && this.ya.oa("sabrctxtplc", { start: a ? a.join("_") : "", stop: b ? b.join("_") : "", discard: c ? c.join("_") : "" }); if (a) { a = g.w(a); for (var d = a.next(); !d.done; d = a.next())this.Ak.add(d.value) } if (b) for (b = g.w(b), a = b.next(); !a.done; a = b.next())a = a.value, this.Ak.has(a) && this.Ak.delete(a); if (c) for (c = g.w(c), b = c.next(); !b.done; b = c.next())b = b.value, this.videoData.sabrContextUpdates.has(b) && (this.videoData.sabrContextUpdates.delete(b), b === 3 && (this.videoData.WA = "")) }; + g.k.KG = function () { }; + g.k.JG = function (a, b) { xOa(this.policy, a, 4, b) }; + g.k.DG = function (a) { if (a == null ? 0 : a.FZ) if (a = a.FZ.G8) { a = g.w(a); for (var b = a.next(); !b.done; b = a.next())if (b = b.value, b.formatId) { var c = this.manifest.K.get(hIa(b.formatId)); c && c.info && (c.info.debugInfo = b.debugInfo) } } }; + g.k.nf = function () { return this.ea.nf() || "" }; + g.k.PP = function () { var a = IY(this.audioTrack, !0) * 1E3, b = IY(this.videoTrack, !0) * 1E3; return Math.min(a, b) }; + g.k.Gk = function (a, b) { this.ya.oa(a, b) }; + g.k.rK = function (a) { t0a(this.ya, YXa(this.ra, a)) }; + g.k.xa = function () { g.O.prototype.xa.call(this); this.B = void 0; X_a(this, !0); this.j = [] }; b0a.prototype.Ue = function (a, b) { if (this.D) return g0a(this, b); if (b = FX(a)) { var c = b.B; c && c.C && c.j && (a = a.C.length ? a.C[0] : null) && a.state >= 2 && !a.Qm() && a.info.hh === 0 && (this.D = a, this.N = c, this.B = b.info, this.K = this.startTimeSecs = Date.now() / 1E3, this.G = this.B.startTime) } return NaN }; + b0a.prototype.clear = function () { this.B = this.N = this.D = null; this.j = this.G = this.K = this.startTimeSecs = NaN; this.C = !1 }; g.z(g.pZ, g.O); g.k = g.pZ.prototype; g.k.initialize = function (a, b, c) { + this.logger.debug(function () { return "Initialized, t=" + a }); + a = a || 0; dU(this.policy) || (b = oY(this.j), w0a(this.ea, new fY(b.video, b.reason)), this.ea.oy(new fY(b.audio, b.reason))); this.manifest.isManifestless && AZa(this.D); this.G && d0a(this.G, this.videoTrack.j); b = isNaN(this.getCurrentTime()) ? 0 : this.getCurrentTime(); var d = !this.manifest.isManifestless; this.policy.Pv && (d = d || this.manifest.Wd); this.policy.yb || (this.currentTime = d ? a : b); this.policy.ra && this.seek(this.getCurrentTime(), {}).Wk(function () { }); + if (this.policy.B) { var e; ((e = this.qa) == null ? 0 : J_a(e, this.nf() || "")) && l0a(this) && k0a(this, this.videoTrack) && k0a(this, this.audioTrack) && ($_a(this.Z, this.qa), this.policy.K && j0a(this)) } else this.ra && (m0a(this, this.videoTrack), m0a(this, this.audioTrack), $Ta(this.ra), delete this.ra); c ? (this.policy.Qf ? (this.Jb = c, sZ(this, c)) : sZ(this, !1), g.gp(this.fG)) : (c = this.getCurrentTime() === 0, TY(this.D, this.videoTrack, this.videoTrack.j, c), TY(this.D, this.audioTrack, this.audioTrack.j, c), this.policy.B && N_a(this.Z, !0), this.policy.ra || + this.seek(this.getCurrentTime(), {}).Wk(function () { }), this.timing.tick("gv")); + (this.manifest.df || this.manifest.xi || this.manifest.Ra || this.manifest.Tb || this.manifest.Rc) && this.ea.fH(this.manifest) + }; + g.k.resume = function () { if (this.isSuspended || this.Yr) { this.logger.debug("Resumed."); this.zJ = this.Yr = this.isSuspended = !1; try { this.Ue() } catch (a) { g.ex(a) } } }; + g.k.Zz = function (a) { a = a === void 0 ? !1 : a; this.logger.debug("detaching media source"); p0a(this); BF(this.ea) && (this.N = NaN); a ? (this.logger.debug("enable updateMetadataWithoutMediaSource"), this.policy.Ka && this.oa("loader", { setsmb: 1 }), this.policy.Ma = !0) : this.policy.Qf ? sZ(this, this.Jb) : sZ(this, !1); this.lk() }; + g.k.setAudioTrack = function (a, b, c) { + c = c === void 0 ? !1 : c; if (!this.La()) { + var d = !isNaN(b); c && d && (this.audioTrack.Y = Date.now(), this.policy.Ie && (this.Wa = !0)); if (dU(this.policy)) { + var e = this.B.U1(a.id); this.logger.debug(function () { return "Logging new audio format: " + e.j.info.id }); + this.ea.oy(e) + } else { + var f = XXa(this.j, a.id, d); this.logger.debug(function () { return "Logging new audio format: " + f.audio.info.id }); + this.ea.oy(new fY(f.audio, f.reason)) + } if (d && (c = this.audioTrack.j.index.Li(b), this.oa("setAudio", { id: a.id, cmt: b, sq: c }), c >= 0)) { this.policy.B && (this.B.Z = !0, this.qv(!0)); aZa(this.audioTrack, c, NaN, NaN); HN(this.manifest, c, !1); return } this.ea.Iq() + } + }; + g.k.setPlaybackRate = function (a) { a !== this.Y.getPlaybackRate() && this.Y.setPlaybackRate(a) }; + g.k.xL = function (a) { + var b = a.j.info.Gh(); this.logger.debug(function () { return "New " + (b ? "audio" : "video") + " format from SABR: " + jF(a.j.info) }); + b ? this.ea.oy(a) : w0a(this.ea, a) + }; + g.k.rK = function (a) { RM(a.gb[a.gb.length - 1]) && t0a(this, YXa(this.j, a.gb[0].j)) }; + g.k.Yt = function () { return this.ea.Yt() }; + g.k.eK = function () { return this.ea.eK() }; + g.k.Vm = function (a) { if (this.policy.Bj) if (a.pj === 1) this.ea.tC(0); else { if (a.pj === 2 || a.pj === 3) { var b = !1; if (a.pj === 3) { b = this.ea.vA(); var c; this.Ob = (c = a.F1) != null ? c : Infinity; this.ea.tC(b + 1); (b = zZa(this)) && this.mB(!0) } this.ea.pS(!0, b) } } else this.ea.Vm(a) }; + g.k.tA = function () { return this.ea.tA() }; + g.k.Bl = function () { return this.ea.Bl() }; + g.k.uS = function (a) { this.ea.uS(a) }; + g.k.Yca = function () { var a, b = (a = this.ea.Ke()) == null ? void 0 : a.getCurrentTime(); b ? this.ea.oa("rms", { cta: b }) : g.gp(this.Kb) }; + g.k.Ue = function () { + s0a(this); if (this.Qa && yF(this.Qa) && !this.Qa.Ek()) { + var a = CY(this.videoTrack); a = this.policy.PD && a && a.Mi(); this.manifest.isManifestless && this.manifest.C && EN(this.manifest) ? (this.N = EN(this.manifest), this.Qa.Xo(this.N)) : JN(this.manifest) && !a ? isNaN(this.N) ? (this.N = this.getCurrentTime() + 3600, this.Qa.Xo(this.N)) : this.N <= this.getCurrentTime() + 1800 && (this.N = Math.max(this.N + 1800, this.getCurrentTime() + 3600), this.Qa.Xo(this.N)) : this.Qa.isView || (a = Math.max(this.audioTrack.getDuration(), this.videoTrack.getDuration()), + (!isFinite(this.N) || this.N !== a) && a > 0 && (this.Qa.Xo(a), this.N = a)) + } if (!this.La()) if (DN(this.manifest) && this.manifest.Qm()) { var b = this.manifest; this.handleError("manifest.net.retryexhausted", b.yb ? { rc: b.Ag } : { rc: b.Ag.toString() }, 1) } else if (this.policy.B) a: { + try { + T_a(this.Z); this.manifest.isManifestless && this.policy.K && DX(this.Lg); if (dU(this.policy) && !vF() && this.policy.Bn && this.Qa && !CF(this.Qa) && this.videoTrack.Ma && this.audioTrack.Ma) { + this.oa("ssap", { + delaysb: 1, v: this.videoTrack.j.info.id, vf: this.videoTrack.j.info.rb, + a: this.audioTrack.j.info.id, af: this.audioTrack.j.info.rb + }); var c = this.Qa, d = this.videoTrack.j, e = this.audioTrack.j; !CF(c) && e && d && (Kwa(c, d.info, e.info, this.policy.Ob), q0a(this, c)) + } var f; ((f = this.Qa) == null ? 0 : CF(f)) && this.QB(); dU(this.policy) || rZ(this); N_a(this.Z) + } catch (l) { g.fx(l); b = l; if (b.message.includes("changeType")) { this.oa("ssap", { exp: b.name, msg: b.message, s: b.stack }); break a } this.handleError("fmt.unplayable", { exp: b.name, msg: b.message, s: b.stack }, 1) } L0a(this); g.gp(this.Xa) + } else if (!this.manifest.B || + !eZa(this.videoTrack) && !eZa(this.audioTrack) || (this.videoTrack.G || this.audioTrack.G) && this.policy.Jb ? c = !1 : (this.lk(), this.ea.seekTo(Infinity, { Zc: "checkLoaderTracksSync", Fp: !0 }), c = !0), !c) { + s0a(this); this.manifest.isManifestless && (fZa(this.videoTrack), fZa(this.audioTrack), DX(this.Lg), (c = FX(this.videoTrack)) && c.B && (c = c.B.C && !this.policy.vk, this.oa(c === this.policy.N.sj ? "strm" : "strmbug", { strm: c, sfmp4: this.policy.N.sj, dfs: this.policy.vk }, !0))); if (this.Qa) this.QB(); else if (this.policy.D) { + var h; c = !1; if (this.policy.ZB) for (d = + g.w([this.videoTrack, this.audioTrack]), e = d.next(); !e.done; e = d.next()) { f = e.value; for (e = FX(f); e && f.Ro() !== CY(f); e = FX(f))f.Os(e); c = c || !!e } else (b = FX(this.videoTrack)) && this.videoTrack.Os(b), (h = FX(this.audioTrack)) && this.audioTrack.Os(h); FY(this.videoTrack) && FY(this.audioTrack) ? this.logger.debug("Received all background data; disposing") : (b || h || c) && tZ(this) + } rZ(this); TY(this.D, this.videoTrack, this.videoTrack.j, !1); TY(this.D, this.audioTrack, this.audioTrack.j, !1); this.policy.PC || v0a(this, this.videoTrack, + this.audioTrack); sZa(this.D, this.videoTrack, this.audioTrack); sZa(this.D, this.audioTrack, this.videoTrack); L0a(this); this.G && (b = this.G, b.D ? (h = b.K + b.policy.ww, b.C || (h = Math.min(h, b.startTimeSecs + b.policy.Zj)), b = Math.max(0, h * 1E3 - Date.now())) : b = NaN, isNaN(b) || g.gp(this.Tb, b)); g.gp(this.Xa) + } + }; + g.k.oP = function (a) { this.ea.oP(a) }; + g.k.QB = function () { + var a = this; if (this.Qa) { + var b = this.Qa.j, c = this.Qa.B; S0a(this, this.audioTrack); S0a(this, this.videoTrack); var d = y0a(this); if (d) { + if (this.policy.Zs) { if (!b.ex()) { var e = FX(this.audioTrack); if (e) { if (!oZ(this, this.audioTrack, b, e.info)) return; B0a(this, b, e) } } if (!c.ex() && (e = FX(this.videoTrack))) { if (!oZ(this, this.videoTrack, c, e.info)) return; B0a(this, c, e) } } this.Ep || (this.Ep = (0, g.Zt)(), this.logger.debug(function () { return "Appends pause start " + a.Ep + " reason " + d }), this.policy.C && this.oa("apdps", + { r: d })) + } else if (this.Ep && (x0a(this, this.Ep), this.Ep = 0), z0a(this), e = !1, this.policy.j && OY(this.videoTrack) || !F0a(this, this.videoTrack, c) || (e = !0, vXa(this.timing), zXa(this.timing)), this.Qa && !this.Qa.Ng() && (this.policy.j && OY(this.audioTrack) || !F0a(this, this.audioTrack, b) || (e = !0, wXa(this.timing), AXa(this.timing)), !this.La() && this.Qa)) { + if (!this.policy.Xa && FY(this.videoTrack) && FY(this.audioTrack) && yF(this.Qa) && !this.Qa.Ek()) { + c = !1; + c = CY(this.audioTrack); if (this.policy.j) { var f; b = (f = this.wb) == null ? void 0 : cX(f, c.We * 1E3); c = !(!b || b.clipId !== c.clipId); this.oa("ssap", { eos: c }) } else f = c.j, c = f === this.manifest.j[f.info.id]; c && (this.logger.debug("Setting EOS"), Lwa(this.Qa), oJa(this.schedule)) + } e && !this.Qa.isAsync() && tZ(this) + } + } + }; + g.k.s6 = function (a) { + var b = this, c, d; (d = (a === ((c = this.Qa) == null ? void 0 : c.j) ? this.audioTrack : this.videoTrack).Ba) == null || d.stop(); var e; R0a(this, a === ((e = this.Qa) == null ? void 0 : e.j)); var f; if (this.policy.Ie && a === ((f = this.Qa) == null ? void 0 : f.j) && this.Ya) { c = this.Ya - this.getCurrentTime(); var h; this.ea.oa("asl", { l: c, xtag: (h = CY(this.audioTrack)) == null ? void 0 : h.j.info.j }); this.Wa = !1; this.Ya = 0 } a.Pm() && a.oe().length === 0 && (a.Kz(), this.Qa && !this.Qa.Pm() && (this.ea.U().Ac() && this.ea.oa("rms", { ld: "seek" }), this.Qa.N = + performance.now(), this.ea.CP(), this.ea.U().Ac() && g.gp(this.Kb))); if (this.policy.Ra && this.Qa) { + h = a === this.Qa.j; var l = a.Jr(); if (l) { + if (!l.Ub || l.Se) h = a.uc({ a: h }), h.omt = (this.getCurrentTime() + this.Dc()).toFixed(3), h.to = this.Dc(), this.oa("sbu", h), this.policy.Ap && l.Mi() && !nF(a.oe(), Math.min(l.We + RY, l.Mf)) && this.oa("sbunb", { st: l.We, et: l.Mf }); l.Se && !a.Ek() && setTimeout(function () { var m = a.oe(), n = mF(m, l.startTime + RY), p = mF(m, b.getCurrentTime()); (n < 0 || n !== p) && b.oa("sbu_mismatch", { b: lF(m), c: b.getCurrentTime(), s: l.Sc() }) }, + 0) + } + } this.Ue() + }; + g.k.maa = function (a) { if (this.Qa) { var b = CY(a === this.Qa.j ? this.audioTrack : this.videoTrack); if (a = a.eQ()) for (var c = 0; c < a.length; c++)this.oa("appendedbuffer", { i: c, b: g.Te(a[c].subarray(0, 4096), 3) }); a = void 0; b && (a = UM(b), this.policy.j && this.wb && this.wb.Cl() && (a.ccid = this.wb.Cl())); this.handleError("fmt.unplayable", a, 1) } }; + g.k.py = function (a) { this.ea.py(a) }; + g.k.hS = function (a, b, c) { this.manifest.isManifestless && PYa(this, b, c, !!a.info.video, !0) }; + g.k.gS = function (a, b, c, d) { a.info.video && this.C.gS(b, c, d) }; + g.k.yL = function (a) { this.j.yL(a) }; + g.k.tF = aa(18); g.k.FH = function (a) { this.wb = a; var b; (b = this.audioTrack.Z) != null && (b.bd = a); (b = this.videoTrack.Z) != null && (b.bd = a); b = this.Z; b.N && (b.ya.oa("ssap", { addcacheclips: 1, v: b.N.version, tl: a0a(b.N.Gt) }), Y_a(b, a, b.N), b.N = void 0) }; + g.k.Bf = function () { return this.wb }; + g.k.PF = function () { return this.videoTrack.N || this.audioTrack.N }; + g.k.seek = function (a, b) { + if (this.La()) return Ie(); if (this.PF()) return Ie("seeking to head"); if (this.policy.ra && !isFinite(a)) return kWa(this.Lg), He(Infinity); s0a(this); this.jq = (0, g.Zt)(); dU(this.policy) || rZ(this, a); this.Qa && this.Qa.j && this.Qa.B && !this.ea.getVideoData().LX && (this.Qa.j.isLocked() || this.Qa.B.isLocked()) && this.ea.Iq({ reattachOnLockedBuffer: 1, vsb: "" + this.Qa.B.isLocked(), asb: "" + this.Qa.j.isLocked() }); var c = this.getCurrentTime(), d = this.Lg.seek(a, b); this.policy.yb || (this.currentTime = d); dY(this.C, + a, c, this.policy.nw && !b.XA); tZ(this); return He(d) + }; + g.k.XQ = function (a) { return this.policy.B && this.Z.XQ(a) }; + g.k.qv = function (a) { this.Z.qv(a) }; + g.k.getCurrentTime = function () { if (this.policy.yb) { var a = this.Dc() || 0; return this.ea.getCurrentTime() - a } return this.currentTime }; + g.k.OP = function () { return this.audioTrack.j.info }; + g.k.hA = function () { return this.videoTrack.j.info }; + g.k.NP = function () { return this.audioTrack.j.info.rb }; + g.k.QP = function () { return this.videoTrack.j.info.rb }; + g.k.xa = function () { try { this.Zz(), AX(this.audioTrack), AX(this.videoTrack), NY(this.audioTrack), NY(this.videoTrack), this.audioTrack.dispose(), this.videoTrack.dispose(), g.O.prototype.xa.call(this) } catch (a) { g.ex(a) } }; + g.k.handleError = function (a, b, c) { c = c === void 0 ? 0 : c; var d = GE(c); a === "fmt.unplayable" && this.manifest.isLive && (this.policy.Zs = !1, yIa(this.manifest)); b = new FE(a, b, c); g.Ta(this); EE(b.details); this.ea.handleError(b); a !== "html5.invalidstate" && b.errorCode !== "fmt.unplayable" && a !== "fmt.unparseable" && d && this.dispose() }; + g.k.uc = function () { + var a = CY(this.audioTrack), b = CY(this.videoTrack); a = { lct: this.getCurrentTime().toFixed(3), lsk: this.Lg.isSeeking(), lmf: this.j.j.isLocked(), lbw: BO(this.schedule).toFixed(3), lhd: zO(this.schedule).toFixed(3), lst: ((this.schedule.G.fh() || 0) * 1E9).toFixed(3), laa: a ? a.Sc() : "", lva: b ? b.Sc() : "", lar: this.audioTrack.B ? this.audioTrack.B.Sc() : "", lvr: this.videoTrack.B ? this.videoTrack.B.Sc() : "", laq: "" + GY(this.audioTrack), lvq: "" + GY(this.videoTrack) }; this.Qa && !this.Qa.Ng() && this.Qa.j && this.Qa.B && (a.lab = + lF(this.Qa.j.oe()), a.lvb = lF(this.Qa.B.oe())); this.Ep && (a.lapt = ((0, g.Zt)() - this.Ep).toFixed(0), a.lapr = y0a(this)); this.Ga && (a.lapmabht = ((0, g.Zt)() - this.Ga).toFixed(0), a.lapmabh = SY(this, this.audioTrack).toFixed(0)); this.Ka && (a.lapmvbht = ((0, g.Zt)() - this.Ka).toFixed(0), a.lapmvbh = SY(this, this.videoTrack).toFixed(0)); this.Ma && (a.lapsdai = ((0, g.Zt)() - this.Ma).toFixed(0)); return a + }; + g.k.lk = function () { try { this.policy.B && this.Z.qv(!1), this.audioTrack.lk(), this.videoTrack.lk() } catch (a) { g.ex(a) } this.policy.D = "" }; + g.k.JP = function () { return vX(this.Y) }; + g.k.oa = function (a, b, c) { this.ea.oa(a, b, c === void 0 ? !1 : c) }; + g.k.nf = function () { return this.ea.nf() }; + g.k.Fp = function (a, b) { a /= b; isNaN(this.timestampOffset) && T0a(this, a - Math.min(a, this.policy.YD)); return (a - this.timestampOffset) * b }; + g.k.Dc = function () { return this.timestampOffset }; + g.k.isSeeking = function () { return this.Lg.isSeeking() }; + g.k.qx = function () { this.C.qx() }; + g.k.gp = function (a, b, c) { b = b === void 0 ? !1 : b; c = c === void 0 ? {} : c; dU(this.policy) ? this.B.gp(a, b, c) : this.j.gp(a, b, c) }; + g.k.vH = function (a, b) { if (!this.K) return !1; var c = this.videoTrack.j.index.Li(a); return this.K.vH(a, b, c) }; + g.k.Ps = function (a, b) { if (this.K && this.C.Ps(a, this.K)) return T0a(this, this.timestampOffset - b), tZ(this), this.policy.G && (yIa(this.manifest), NY(this.audioTrack), NY(this.videoTrack), this.lk()), !0; b = this.videoTrack.j.index.Li(a); this.handleError("ad.skipfailed", { dec: !!this.K, t: a.toFixed(3), sq: b }); return !1 }; + g.k.getManifest = function () { return this.manifest }; + g.k.isOffline = function () { return !!this.ea.getVideoData().cotn }; + g.k.hH = function (a, b) { this.ea.hH(a, b) }; + g.k.dC = function (a) { if (this.policy.En) this.policy.B && this.Z.qv(!0), this.Ue(); else { var b = this.ea.getVideoData().Ei; if (b) { var c = this.D; c.rh = a; c.Ei = b; VY(this) } } }; + g.k.Ku = function (a) { this.videoTrack.N = !1; this.audioTrack.N = !1; this.Lg.B = !1; this.ea.Ku(a) }; + g.k.DT = function (a) { this.Lg.DT(a - this.Dc()) }; + g.k.sE = function () { this.ea.sE() }; + g.k.mB = function (a) { a !== this.policy.Sf && ((this.policy.Sf = a) || this.Ue()) }; + g.k.aT = function (a, b) { var c = this.audioTrack.Qb, d = this.videoTrack.Qb; c && d && (c.remove(a, b), d.remove(a, b)) }; + g.k.Iq = function (a) { this.ea.Iq(a) }; + g.k.Jy = function (a) { this.ea.Jy(a) }; g.k = g.uZ.prototype; g.k.iA = function (a, b, c, d, e, f) { return this.bd.iA(a, b, c, d, e, f) }; + g.k.nK = function (a, b, c, d, e, f) { return this.bd.nK(a, b, c, d, e, f) }; + g.k.iQ = function (a) { return this.bd.iQ(a) }; + g.k.pK = function (a) { this.bd.pK(a) }; + g.k.FE = function (a, b, c) { return this.bd.FE(a, b, c) }; + g.k.qx = function () { this.bd.qx() }; + g.k.vH = function (a, b, c) { return this.bd.vH(a, b, c) }; + g.k.yv = function (a, b) { this.bd.yv(a, b) }; + g.k.kT = function () { this.bd.kT() }; + g.k.fF = aa(50); g.k.Fl = function (a, b, c, d) { this.bd.Fl(a, b, c, d) }; + g.k.fI = aa(48); g.k.oS = function (a, b, c, d, e, f, h, l, m) { this.bd.oS(a, b, c, d, e, f, h, l, m) }; + g.k.FT = function (a) { this.bd.FT(a) }; + g.k.Su = function (a) { return this.bd.Su(a) }; + g.k.qP = function (a) { return this.bd.qP(a) }; g.z(vZ, g.Fx); g.z(wZ, vZ); wZ.prototype.K = function (a, b) { if (a && b) { var c = Number(Vi(a, "cpi")) * 1 + 1; isNaN(c) || c <= 0 || c < this.C ? (this.D.stop(), this.B.stop(), this.C = -1, this.j = {}) : (c > this.C && (this.C = c, g.Bc(this.j) || (this.j = {}, this.D.stop(), this.B.stop())), this.j[b] = a, g.gp(this.B)) } }; + wZ.prototype.G = function () { + for (var a = g.w(Object.keys(this.j)), b = a.next(); !b.done; b = a.next()) { + var c = b.value; b = this.publish; for (var d = this.C, e = this.j[c].match(Li), f = [], h = g.w(e[6].split("&")), l = h.next(); !l.done; l = h.next())l = l.value, l.indexOf("cpi=") === 0 ? f.push("cpi=" + d.toString()) : l.indexOf("ek=") === 0 ? f.push("ek=" + g.Rd(c)) : f.push(l); e[6] = "?" + f.join("&"); c = "skd://" + e.slice(2).join(""); e = c.length * 2; d = new Uint8Array(e + 4); d[0] = e % 256; d[1] = (e - d[0]) / 256; for (e = 0; e < c.length; ++e)d[e * 2 + 4] = c.charCodeAt(e); b.call(this, + "rotated_need_key_info_ready", new uY(d, "fairplay", !0)) + } this.j = {} + }; + wZ.prototype.xa = function () { this.j = {}; vZ.prototype.xa.call(this) }; g.z(xZ, vZ); + xZ.prototype.G = function (a) { + var b; a: { if ((b = a.cryptoPeriodIndex) && this.j.length > 0) for (var c = g.w(this.j), d = c.next(); !d.done; d = c.next())if (b === d.value.info.cryptoPeriodIndex) { b = !0; break a } b = !1 } if (!b) { + b = (0, g.Zt)(); a: { c = a.cryptoPeriodIndex; if (!isNaN(c)) { d = g.w(this.C.values()); for (var e = d.next(); !e.done; e = d.next())if (Math.abs(e.value.cryptoPeriodIndex - c) <= 1) { c = !0; break a } } c = !1 } c ? (c = a.j, c = Math.max(0, Math.random() * ((isNaN(c) ? 120 : c) - 30)) * 1E3) : c = 0; this.publish("log_qoe", { + wvagt: "delay." + c, cpi: a.cryptoPeriodIndex, reqlen: this.j.length, + ignore: this.D + }); c <= 0 ? X0a(this, a) : this.D || (this.j.push({ time: b + c, info: a }), g.gp(this.B, c)) + } + }; + xZ.prototype.xa = function () { this.j = []; vZ.prototype.xa.call(this) }; var u2 = {}, e1a = (u2.DRM_TRACK_TYPE_AUDIO = "AUDIO", u2.DRM_TRACK_TYPE_SD = "SD", u2.DRM_TRACK_TYPE_HD = "HD", u2.DRM_TRACK_TYPE_UHD1 = "UHD1", u2); g.z(a1a, g.O); g.z(g1a, g.Fx); g.k = g1a.prototype; g.k.tq = function (a) { var b = this; this.La() || a.size <= 0 || (a.forEach(function (c, d) { var e = TN(b.B) ? d : c; d = new Uint8Array(TN(b.B) ? c : d); TN(b.B) && x1a(d); c = g.Te(d, 4); x1a(d); d = g.Te(d, 4); b.j[c] ? b.j[c].status = e : b.j[d] ? b.j[d].status = e : b.j[c] = { type: "", status: e } }), s1a(this, ","), yZ(this, { onkeystatuschange: 1 }), this.status = "kc", this.publish("keystatuseschange", this)) }; + g.k.error = function (a, b, c, d) { this.La() || (this.publish("licenseerror", a, b, c, d), a === "drm.provision" && (a = (Date.now() - this.K) / 1E3, this.K = NaN, this.publish("ctmp", "provf", { et: a.toFixed(3) }))); GE(b) && this.dispose() }; + g.k.shouldRetry = function (a, b) { return this.Ga && this.N ? !1 : !a && this.requestNumber === b.requestNumber }; + g.k.xa = function () { this.j = {}; g.Fx.prototype.xa.call(this) }; + g.k.uc = function () { var a = { ctype: this.Y.contentType || "", length: this.Y.initData.length, requestedKeyIds: this.Fa, cryptoPeriodIndex: this.cryptoPeriodIndex }; this.C && (a.keyStatuses = this.j); return a }; + g.k.getInfo = function () { var a = this.D.join(); if (zZ(this)) { var b = new Set, c; for (c in this.j) this.j[c].status !== "usable" && b.add(this.j[c].type); a += "/UKS." + Array.from(b) } return a += "/" + this.cryptoPeriodIndex }; + g.k.Ce = function () { return this.url }; g.z(AZ, g.O); g.k = AZ.prototype; g.k.t6 = function (a) { if (this.G) { var b = a.messageType || "license-request"; this.G(new Uint8Array(a.message), b) } }; + g.k.tq = function () { this.N && this.N(this.j.keyStatuses) }; + g.k.onClosed = function () { this.La() || g.is("xboxone") && this.C && this.C("closed") }; + g.k.v0 = function (a) { this.G && this.G(a.message, "license-request") }; + g.k.u0 = function (a) { if (this.C) { if (this.B) { var b = this.B.error.code; a = this.B.error.systemCode } else b = a.errorCode, a = a.systemCode; this.C("t.prefixedKeyError;c." + b + ";sc." + a, b, a) } }; + g.k.t0 = function () { this.K && this.K() }; + g.k.update = function (a) { + var b = this; if (this.j) return (gO.isActive() ? gO.ev("emeupd", function () { return b.j.update(a) }) : this.j.update(a)).then(null, JK(function (c) { z1a(b, "t.update", c) })); + this.B ? this.B.update(a) : this.element.addKey ? this.element.addKey(this.Z.keySystem, a, this.initData, this.sessionId) : this.element.webkitAddKey && this.element.webkitAddKey(this.Z.keySystem, a, this.initData, this.sessionId); return as() + }; + g.k.xa = function () { this.j && (this.Y ? this.j.close().catch(g.fx) : this.j.close()); this.element = null; g.O.prototype.xa.call(this) }; g.z(BZ, g.O); g.k = BZ.prototype; g.k.tO = function () { + var a = this; if (this.j.keySystemAccess) return (gO.isActive() ? gO.ev("emenew", function () { return a.j.keySystemAccess.createMediaKeys() }) : this.j.keySystemAccess.createMediaKeys()).then(function (c) { + if (!a.La()) if (a.B = c, gO.isActive()) gO.ev("emeset", function () { return a.element.setMediaKeys(c) }); + else { var d; (d = a.element) == null || d.setMediaKeys(c) } + }); + if (SN(this.j)) this.C = new (RN())(this.j.keySystem); else if (UN(this.j)) { this.C = new (RN())(this.j.keySystem); var b; (b = this.element) == null || b.webkitSetMediaKeys(this.C) } else gO.isActive() && this.oa("emev", { v: "01b" }), Xs(this.G, this.element, ["keymessage", "webkitkeymessage"], this.w6), Xs(this.G, this.element, ["keyerror", "webkitkeyerror"], this.v6), Xs(this.G, this.element, ["keyadded", "webkitkeyadded"], this.u6); return null + }; + g.k.setServerCertificate = function () { return this.B.setServerCertificate ? this.j.flavor === "widevine" && this.j.pm ? this.B.setServerCertificate(this.j.pm) : WN(this.j) && this.j.fb ? this.B.setServerCertificate(this.j.fb) : null : null }; + g.k.createSession = function (a, b) { + var c = a.initData; if (this.j.keySystemAccess) { + b && b("createsession"); var d = this.B.createSession(); VN(this.j) ? c = A1a(c, this.j.fb) : WN(this.j) && (c = W0a(c) || new Uint8Array(0)); b && b("genreq"); var e = gO.isActive() ? gO.ev("emegen", function () { return d.generateRequest(a.contentType, c) }) : d.generateRequest(a.contentType, c); + var f = new AZ(null, null, null, d, null, this.N); e.then(function () { b && b("genreqsuccess") }, JK(function (l) { z1a(f, "t.generateRequest", l) })); + return f + } if (SN(this.j)) return C1a(this, c); if (UN(this.j)) return B1a(this, c); if ((e = this.element) == null ? 0 : e.generateKeyRequest) this.element.generateKeyRequest(this.j.keySystem, c); else { var h; (h = this.element) == null || h.webkitGenerateKeyRequest(this.j.keySystem, c) } return this.D = new AZ(this.element, this.j, c, null, null, this.N) + }; + g.k.w6 = function (a) { var b = D1a(this, a); b && b.v0(a) }; + g.k.v6 = function (a) { var b = D1a(this, a); b && b.u0(a) }; + g.k.u6 = function (a) { var b = D1a(this, a); b && b.t0(a) }; + g.k.getMetrics = function () { if (this.B && this.B.getMetrics) try { var a = this.B.getMetrics() } catch (b) { } return a }; + g.k.xa = function () { this.C = this.B = null; var a; (a = this.D) == null || a.dispose(); a = g.w(Object.values(this.K)); for (var b = a.next(); !b.done; b = a.next())b.value.dispose(); this.K = {}; g.O.prototype.xa.call(this); delete this.element }; g.k = CZ.prototype; g.k.get = function (a) { a = this.findIndex(a); return a !== -1 ? this.values[a] : null }; + g.k.remove = function (a) { a = this.findIndex(a); a !== -1 && (this.keys.splice(a, 1), this.values.splice(a, 1)) }; + g.k.removeAll = function () { this.keys = []; this.values = [] }; + g.k.set = function (a, b) { var c = this.findIndex(a); c !== -1 ? this.values[c] = b : (this.keys.push(a), this.values.push(b)) }; + g.k.findIndex = function (a) { return g.Lb(this.keys, function (b) { return g.ac(a, b) }) }; g.z(G1a, g.Fx); g.k = G1a.prototype; g.k.Laa = function (a) { this.vj({ onecpt: 1 }); a.initData && J1a(this, new Uint8Array(a.initData), a.initDataType) }; + g.k.mba = function (a) { this.vj({ onndky: 1 }); J1a(this, a.initData, a.contentType) }; + g.k.py = function (a) { this.vj({ onneedkeyinfo: 1 }); this.W.L("html5_eme_loader_sync") && (this.N.get(a.initData) || this.N.set(a.initData, a)); I1a(this, a) }; + g.k.RW = function (a) { this.C.push(a); DZ(this) }; + g.k.createSession = function (a) { + var b = L1a(this) ? sYa(a) : g.Te(a.initData); this.B.get(b); this.Fa = !0; a = new g1a(this.videoData, this.W, a, this.drmSessionId); this.B.set(b, a); a.subscribe("ctmp", this.vL, this); a.subscribe("keystatuseschange", this.tq, this); a.subscribe("licenseerror", this.zL, this); a.subscribe("newlicense", this.q0, this); a.subscribe("newsession", this.r0, this); a.subscribe("sessionready", this.C0, this); a.subscribe("fairplay_next_need_key_info", this.k0, this); this.W.L("html5_enable_vp9_fairplay") && a.subscribe("qualitychange", + this.yU, this); this.W.L("html5_enable_sabr_drm_hd720p") && a.subscribe("sabrlicenseconstraint", this.cca, this); k1a(a, this.D) + }; + g.k.q0 = function (a) { this.La() || (this.vj({ onnelcswhb: 1 }), a && !this.heartbeatParams && (this.heartbeatParams = a, this.publish("heartbeatparams", a))) }; + g.k.r0 = function () { this.La() || (this.vj({ newlcssn: 1 }), this.C.shift(), this.Fa = !1, DZ(this)) }; + g.k.C0 = function () { if (SN(this.j) && (this.vj({ onsnrdy: 1 }), this.Ka--, this.Ka === 0)) { var a = this.qa, b, c; (b = a.element) == null || (c = b.msSetMediaKeys) == null || c.call(b, a.C) } }; + g.k.tq = function (a) { + if (!this.La()) { + !this.Ma && this.videoData.L("html5_log_drm_metrics_on_key_statuses") && (M1a(this), this.Ma = !0); this.vj({ onksch: 1 }); var b = this.yU; if (!zZ(a) && g.tu && a.B.keySystem === "com.microsoft.playready" && navigator.requestMediaKeySystemAccess) var c = "large"; else { c = []; var d = !0; if (zZ(a)) for (var e = g.w(Object.keys(a.j)), f = e.next(); !f.done; f = e.next())f = f.value, a.j[f].status === "usable" && c.push(a.j[f].type), a.j[f].status !== "unknown" && (d = !1); if (!zZ(a) || d) c = a.D; c = r1a(c) } b.call(this, c); this.publish("keystatuseschange", + a) + } + }; + g.k.vL = function (a, b) { this.La() || this.publish("ctmp", a, b) }; + g.k.k0 = function (a, b) { this.La() || this.publish("fairplay_next_need_key_info", a, b) }; + g.k.zL = function (a, b, c, d) { this.La() || (this.videoData.L("html5_log_drm_metrics_on_error") && M1a(this), this.publish("licenseerror", a, b, c, d)) }; + g.k.hx = function () { return this.Z }; + g.k.yU = function (a) { var b = g.rL("auto", a, !1, "l"); if (this.videoData.Yj) { if (qL(this.Z, b)) return } else if (gDa(this.Z, a)) return; this.Z = b; this.publish("qualitychange"); this.vj({ updtlq: a }) }; + g.k.cca = function (a) { this.videoData.sabrLicenseConstraint = a }; + g.k.xa = function () { + this.j.keySystemAccess && this.element && (this.Ba ? this.element.setMediaKeys(null).catch(g.fx) : this.element.setMediaKeys(null)); this.element = null; this.C = []; for (var a = g.w(this.B.values()), b = a.next(); !b.done; b = a.next())b = b.value, b.unsubscribe("ctmp", this.vL, this), b.unsubscribe("keystatuseschange", this.tq, this), b.unsubscribe("licenseerror", this.zL, this), b.unsubscribe("newlicense", this.q0, this), b.unsubscribe("newsession", this.r0, this), b.unsubscribe("sessionready", this.C0, this), b.unsubscribe("fairplay_next_need_key_info", + this.k0, this), this.W.L("html5_enable_vp9_fairplay") && b.unsubscribe("qualitychange", this.yU, this), b.dispose(); this.B.clear(); this.K.removeAll(); this.N.removeAll(); this.heartbeatParams = null; g.Fx.prototype.xa.call(this) + }; + g.k.uc = function () { for (var a = { systemInfo: this.j.uc(), sessions: [] }, b = g.w(this.B.values()), c = b.next(); !c.done; c = b.next())a.sessions.push(c.value.uc()); return a }; + g.k.getInfo = function () { return this.B.size <= 0 ? "no session" : "" + this.B.values().next().value.getInfo() + (this.G ? "/KR" : "") }; + g.k.vj = function (a, b) { b = b === void 0 ? !1 : b; this.La() || (EE(a), (this.W.Ac() || b) && this.publish("ctmp", "drmlog", a)) }; g.z(N1a, g.O); g.k = N1a.prototype; g.k.FJ = function () { return !!this.YF }; + g.k.NK = function () { return this.B }; + g.k.handleError = function (a) { + var b = this; U1a(this, a); if ((a.errorCode !== "html5.invalidstate" && a.errorCode !== "fmt.unplayable" && a.errorCode !== "fmt.unparseable" || !T1a(this, a.errorCode, a.details)) && !Y1a(this, a)) { + if (this.Da.qa !== "yt" && W1a(this, a) && this.videoData.iq && (0, g.Zt)() / 1E3 > this.videoData.iq && this.Da.qa === "hm") { + var c = Object.assign({ e: a.errorCode }, a.details); c.stalesigexp = "1"; c.expire = this.videoData.iq; c.init = this.videoData.jW / 1E3; c.now = (0, g.Zt)() / 1E3; c.systelapsed = ((0, g.Zt)() - this.videoData.jW) / 1E3; + a = new FE(a.errorCode, c, 2); this.ea.Lf(a.errorCode, 2, "SIGNATURE_EXPIRED", EE(a.details)) + } if (GE(a.severity)) { + var d; c = (d = this.ea.ya) == null ? void 0 : d.j.j; if (this.Da.L("html5_use_network_error_code_enums")) if (V1a(a) && c && c.isLocked()) var e = "FORMAT_UNAVAILABLE"; else if (this.Da.K || a.errorCode !== "auth" || a.details.rc !== 429) a.errorCode === "ump.spsrejectfailure" && (e = "HTML5_SPS_UMP_STATUS_REJECTED"); else { e = "TOO_MANY_REQUESTS"; var f = "6" } else V1a(a) && c && c.isLocked() ? e = "FORMAT_UNAVAILABLE" : this.Da.K || a.errorCode !== "auth" || + a.details.rc !== "429" ? a.errorCode === "ump.spsrejectfailure" && (e = "HTML5_SPS_UMP_STATUS_REJECTED") : (e = "TOO_MANY_REQUESTS", f = "6"); this.ea.Lf(a.errorCode, a.severity, e, EE(a.details), f) + } else this.ea.publish("nonfatalerror", a), d = /^pp/.test(this.videoData.clientPlaybackNonce), this.Id(a.errorCode, a.details), d && a.errorCode === "manifest.net.connect" && (a = "https://www.youtube.com/generate_204?cpn=" + this.videoData.clientPlaybackNonce + "&t=" + (0, g.Zt)(), mW(a, "manifest", function (h) { b.K = !0; b.oa("pathprobe", h) }, function (h) { + b.Id(h.errorCode, + h.details) + })) + } + }; + g.k.oa = function (a, b) { this.ea.hc().oa(a, b) }; + g.k.Id = function (a, b) { b = EE(b); this.ea.hc().Id(a, b) }; a2a.prototype.IP = function (a) { return a ? { T0: l2a(this, a) } : { T0: VP } }; + a2a.prototype.L = function (a) { return this.W.L(a) }; g.z(HZ, g.O); HZ.prototype.onError = function (a) { if (a !== "player.fatalexception" || this.provider.L("html5_exception_to_health")) a === "sabr.fallback" && (this.encounteredSabrFallback = !0), a.match(jcb) ? this.networkErrorCount++ : this.nonNetworkErrorCount++ }; + HZ.prototype.send = function () { + if (!(this.C || this.j < 0)) { + r2a(this); var a = g.XI(this.provider) - this.j, b = "PLAYER_PLAYBACK_STATE_UNKNOWN", c = this.playerState.eh; this.playerState.isError() ? b = c && c.errorCode === "auth" ? "PLAYER_PLAYBACK_STATE_UNKNOWN" : "PLAYER_PLAYBACK_STATE_ERROR" : g.U(this.playerState, 2) ? b = "PLAYER_PLAYBACK_STATE_ENDED" : g.U(this.playerState, 64) ? b = "PLAYER_PLAYBACK_STATE_UNSTARTED" : g.U(this.playerState, 16) || g.U(this.playerState, 32) ? b = "PLAYER_PLAYBACK_STATE_SEEKING" : g.U(this.playerState, 1) && g.U(this.playerState, + 4) ? b = "PLAYER_PLAYBACK_STATE_PAUSED_BUFFERING" : g.U(this.playerState, 1) ? b = "PLAYER_PLAYBACK_STATE_BUFFERING" : g.U(this.playerState, 4) ? b = "PLAYER_PLAYBACK_STATE_PAUSED" : g.U(this.playerState, 8) && (b = "PLAYER_PLAYBACK_STATE_PLAYING"); c = e5a[DQ(this.provider.videoData)]; a: switch (this.provider.W.playerCanaryState) { case "canary": var d = "HTML5_PLAYER_CANARY_TYPE_EXPERIMENT"; break a; case "holdback": d = "HTML5_PLAYER_CANARY_TYPE_CONTROL"; break a; default: d = "HTML5_PLAYER_CANARY_TYPE_UNSPECIFIED" }var e = s2a(this.provider), + f = this.B < 0 ? a : this.B - this.j; a = this.provider.W.Sf + 36E5 < (0, g.Zt)(); b = { + started: this.B >= 0, stateAtSend: b, joinLatencySecs: f, jsErrorCount: this.jsErrorCount, playTimeSecs: this.playTimeSecs, rebufferTimeSecs: this.rebufferTimeSecs, seekCount: this.seekCount, networkErrorCount: this.networkErrorCount, nonNetworkErrorCount: this.nonNetworkErrorCount, playerCanaryType: d, playerCanaryStage: e, isAd: this.provider.videoData.isAd(), liveMode: c, hasDrm: !!g.BQ(this.provider.videoData), isGapless: this.provider.videoData.Y, isServerStitchedDai: this.provider.videoData.enableServerStitchedDai, + encounteredSabrFallback: this.encounteredSabrFallback, isSabr: gQ(this.provider.videoData) + }; a || g.Ht("html5PlayerHealthEvent", b); this.C = !0; this.dispose() + } + }; + HZ.prototype.xa = function () { this.C || this.send(); window.removeEventListener("error", this.zB); window.removeEventListener("unhandledrejection", this.zB); g.O.prototype.xa.call(this) }; + var jcb = /\bnet\b/; var t2a = /[?&]cpn=/; var y2a = Math.pow(10, 8); g.z(g.KZ, g.O); g.k = g.KZ.prototype; g.k.E9 = function () { var a = g.XI(this.provider); B2a(this, a) }; + g.k.jF = function () { return this.Ma }; + g.k.oF = function () { return { SB: this.SB, TB: this.TB } }; + g.k.EH = function (a, b) { this.SB = a; this.TB = b }; + g.k.fH = function (a) { this.j.lwc = [[a.df ? a.df.toFixed() : "", a.xi ? a.xi.toFixed() : "", a.Ra ? (a.Ra * 1E3).toFixed() : "", a.Tb ? (a.Tb * 1E3).toFixed() : "", a.Rc ? (a.Rc * 1E3).toFixed() : ""].join(":")] }; + g.k.reportStats = function (a) { + a = a === void 0 ? NaN : a; if (!this.La() && (a = a >= 0 ? a : g.XI(this.provider), ["PL", "B", "S"].indexOf(this.Ee) > -1 && (!g.Bc(this.j) || a >= this.G + 30) && (g.JZ(this, a, "vps", [this.Ee]), this.G = a), !g.Bc(this.j))) { + this.sequenceNumber === 7E3 && g.fx(Error("Sent over 7000 pings")); if (!(this.sequenceNumber >= 7E3)) { + LZ(this, a); var b = a, c = this.provider.ea.vF(), d = c.droppedVideoFrames || 0, e = c.totalVideoFrames || 0, f = d - this.SB, h = e && !this.TB; d > c.totalVideoFrames || f > 5E3 ? J2a(this, "html5.badframedropcount", "df." + d + ";tf." + + c.totalVideoFrames) : (f > 0 || h) && g.JZ(this, b, "df", [f]); this.SB = d; this.TB = e; this.Z > 0 && (g.JZ(this, a, "glf", [this.Z]), this.Z = 0); $1.isActive() && (a = $1.fY(), Object.keys(a).length > 0 && this.oa("profile", a)); this.yb && MZ(this, "lwnmow"); this.provider.W.Ac() && this.provider.L("html5_record_now") && this.oa("now", { wt: (0, g.Zt)() }); a = {}; this.provider.videoData.B && (a.fmt = this.provider.videoData.B.itag, (b = this.provider.videoData.D) && b.itag !== a.fmt && (a.afmt = b.itag)); a.cpn = this.provider.videoData.clientPlaybackNonce; this.adCpn && + (a.adcpn = this.adCpn); this.Y && (a.addocid = this.Y); this.contentCpn && (a.ccpn = this.contentCpn); this.ra && (a.cdocid = this.ra); this.provider.videoData.cotn && (a.cotn = this.provider.videoData.cotn); a.el = QQ(this.provider.videoData); a.content_v = SQ(this.provider.videoData); a.ns = this.provider.W.qa; a.fexp = $Ia(this.provider.W.experiments).toString(); a.cl = (657810031).toString(); (b = this.provider.videoData.adFormat || this.adFormat) && (a.adformat = b); (b = DQ(this.provider.videoData)) && (a.live = b); this.provider.videoData.dj() && + (a.drm = 1, this.provider.videoData.G && (a.drm_system = Pbb[this.provider.videoData.G.flavor] || 0), this.provider.videoData.fl && (a.drm_product = this.provider.videoData.fl)); Dr() && this.provider.videoData.K && (a.ctt = this.provider.videoData.K, a.cttype = this.provider.videoData.xn, this.provider.videoData.mdxEnvironment && (a.mdx_environment = this.provider.videoData.mdxEnvironment)); this.provider.videoData.isDaiEnabled() ? (a.dai = this.provider.videoData.enableServerStitchedDai ? "ss" : "cs", this.provider.videoData.HU && (a.dai_fallback = + "1")) : this.provider.videoData.rd ? a.dai = "cs" : this.provider.videoData.bE && (a.dai = "disabled"); a.seq = this.sequenceNumber++; if (this.provider.videoData.PZ) { if (b = this.provider.videoData.PZ, a && b) for (b.ns === "3pp" && (a.ns = "3pp"), this.Ed.has(b.ns) && MZ(this, "hbps"), b.shbpslc && (this.serializedHouseBrandPlayerServiceLoggingContext = b.shbpslc), c = g.w(Object.keys(b)), d = c.next(); !d.done; d = c.next())d = d.value, this.Zd.has(d) || (a[d] = b[d]) } else a.event = "streamingstats", a.docid = this.provider.videoData.videoId, a.ei = this.provider.videoData.eventId; + this.provider.L("html5_record_qclc_in_qoe_stats_dictionary") || (a.qclc = E2a(this, a.seq)); this.isEmbargoed && (a.embargoed = "1"); g.Hc(a, this.provider.W.j); this.provider.L("html5_record_qclc_in_qoe_stats_dictionary") && (b = a.seq) && (b = E2a(this, +b), this.j.qclc = [b]); a = g.Ti("//" + this.provider.W.En + "/api/stats/qoe", a); c = b = ""; d = g.w(Object.keys(this.j)); for (e = d.next(); !e.done; e = d.next())e = e.value, this.j[e] === null ? g.fx(new g.pt("Stats report key has invalid value", e)) : (e = "&" + e + "=" + this.j[e].join(","), e.length > 100 ? + c += e : b += e); F2a(this, a + b, c.replace(/ /g, "%20")) + } this.j = {} + } + }; + g.k.Jy = function (a) { this.yb = a }; + g.k.e2 = function () { if (this.provider.videoData.G) { var a = this.provider.videoData.G; MZ(this, "eme-" + (a.keySystemAccess ? "final" : SN(a) ? "ms" : VN(a) ? "ytfp" : UN(a) ? "safarifp" : "nonfinal")) } }; + g.k.MG = function (a) { + var b = g.XI(this.provider), c = [a.j.id, a.B, this.wc, a.reason]; a.token && c.push(a.token); g.JZ(this, b, "vfs", c); this.wc = a.j.id; c = this.provider.ea.getPlayerSize(); if (c.width > 0 && c.height > 0) { c = [Math.round(c.width), Math.round(c.height)]; var d = g.aP(); d > 1 && c.push(d); g.JZ(this, b, "view", c) } this.Ya || (this.provider.W.Ac() && MZ(this, "rqs2"), this.provider.videoData.j && yL(this.provider.videoData.j) && (this.j.preload = ["1"])); this.C = this.Ya = !0; a.reason === "m" && ++this.Fd === 100 && K2a(this, 2); g.JZ(this, b, "vps", + [this.Ee]); this.reportStats(b) + }; + g.k.sG = function (a) { var b = g.XI(this.provider); if (a.j.id !== this.Ka) { var c = [a.j.id, this.Ka, a.reason]; a.token && c.push(a.token); g.JZ(this, b, "afs", c); this.Ka = a.j.id } }; + g.k.Tu = aa(54); g.k.Uo = function (a) { this.isEmbargoed = a }; + g.k.Oj = aa(29); g.k.jj = aa(33); g.k.onPlaybackRateChange = function (a) { var b = g.XI(this.provider); a && a !== this.Tb && (g.JZ(this, b, "rate", [a]), this.Tb = a); this.reportStats(b) }; + g.k.Mo = aa(25); g.k.getPlayerState = function (a) { if (g.U(a, 128)) return "ER"; if (g.U(a, 2048)) return "B"; if (g.U(a, 512)) return "SU"; if (g.U(a, 16) || g.U(a, 32)) return "S"; if (a.isOrWillBePlaying() && g.U(a, 64)) return "B"; var b = kcb[TF(a)]; g.OC(this.provider.W) && b === "B" && this.provider.ea.getVisibilityState() === 3 && (b = "SU"); b === "B" && g.U(a, 4) && (b = "PB"); return b }; + g.k.xa = function () { g.O.prototype.xa.call(this); g.Nr(this.K); g.Nr(this.Ab) }; + g.k.iM = function (a) { this.isOffline = a; g.JZ(this, g.XI(this.provider), "is_offline", [this.isOffline ? "1" : "0"]) }; + g.k.oa = function (a, b, c) { + var d = this.j.ctmp || [], e = this.Wc.indexOf(a) !== -1; e || this.Wc.push(a); if (!c || !e) { + var f = typeof b !== "string" ? EE(b) : b; f = L2a(f); if (!c && !/^t[.]/.test(f)) { var h = g.XI(this.provider) * 1E3; f = "t." + h.toFixed() + ";" + f } d.push(a + ":" + f); this.logger.debug(function () { return "ctmp " + a + " " + f }); + this.j.ctmp = d; G2a(this); return h + } + }; + g.k.eH = function (a, b, c) { this.D = { Jda: Number(this.oa("glrem", { nst: a.toFixed(), rem: b.toFixed(), ca: +c })), R_: a, rda: b, isAd: c } }; + g.k.Ey = function (a, b, c) { g.JZ(this, g.XI(this.provider), "ad_playback", [a, b, c]) }; + g.k.resume = function () { var a = this; this.provider.W.Ac() && this.oa("ssap", { qoesus: "0", vid: this.provider.videoData.videoId }); isNaN(this.K) ? H2a(this) : this.K = g.Lr(function () { a.reportStats() }, 1E4) }; + var v2 = {}, kcb = (v2[5] = "N", v2[-1] = "N", v2[3] = "B", v2[0] = "EN", v2[2] = "PA", v2[1] = "PL", v2[-1E3] = "ER", v2[1E3] = "N", v2), IZ = []; N2a.prototype.WP = function () { return this.j }; + N2a.prototype.update = function () { + if (this.N) { + var a = this.provider.ea.Wf() || 0; this.provider.W.L("html5_ssap_vss_fix") && (a = this.provider.ea.RJ(this.provider.videoData.clientPlaybackNonce) || 0); var b = g.XI(this.provider); a >= this.provider.ea.getDuration() - .1 && (this.previouslyEnded = !0); if (a !== this.j || Q2a(this, a, b)) { + var c; if (!(c = a < this.j || a - this.j > b - this.kq + 2 || Q2a(this, a, b))) { + c = this.provider.ea.getVolume(); var d = c !== this.Y, e = this.provider.ea.isMuted() ? 1 : 0; e !== this.Z ? (this.Z = e, c = !0) : (!d || this.D >= 0 || (this.Y = c, + this.D = b), c = b - this.D, this.D >= 0 && c > 2 ? (this.D = -1, c = !0) : c = !1) + } c && (PZ(this), this.C = a); this.kq = b; this.j = a + } + } + }; R2a.prototype.send = function (a) { + var b = this; if (!this.Xa) { + var c = T2a(this), d = g.Ti(this.uri, c); this.W.L("vss_through_gel_double") && U2a(d); this.ra && !this.W.L("html5_simplify_pings") ? Z2a(this, d) : S2a(this, a).then(function (e) { b.ra && (e = e || {}, e.method = "POST", e.postParams = { atr: b.attestationResponse }); x2a(d, e, { token: b.Y, jU: b.Jb, mdxEnvironment: b.mdxEnvironment }, b.W, a, b.Ba, b.isFinal && b.Sf || b.Ga || b.C && b.Tf) }); + this.Xa = !0 + } + }; + R2a.prototype.B = function (a) { a === void 0 && (a = NaN); return Number(a.toFixed(3)).toString() }; + var w2 = {}, X2a = (w2.LIVING_ROOM_APP_MODE_UNSPECIFIED = 0, w2.LIVING_ROOM_APP_MODE_MAIN = 1, w2.LIVING_ROOM_APP_MODE_KIDS = 2, w2.LIVING_ROOM_APP_MODE_MUSIC = 3, w2.LIVING_ROOM_APP_MODE_UNPLUGGED = 4, w2.LIVING_ROOM_APP_MODE_GAMING = 5, w2), x2 = {}, W2a = (x2.EMBEDDED_PLAYER_MODE_UNKNOWN = 0, x2.EMBEDDED_PLAYER_MODE_DEFAULT = 1, x2.EMBEDDED_PLAYER_MODE_PFP = 2, x2.EMBEDDED_PLAYER_MODE_PFL = 3, x2); g.z(RZ, g.O); g.k = RZ.prototype; g.k.Cg = function () { this.j.update(); g3a(this) && (a3a(this), b3a(this), this.Ys()) }; + g.k.xa = function () { g.O.prototype.xa.call(this); UZ(this); O2a(this.j) }; + g.k.uc = function () { return T2a(SZ(this, "playback")) }; + g.k.Ys = function () { this.provider.videoData.N.eventLabel = QQ(this.provider.videoData); this.provider.videoData.N.playerStyle = this.provider.W.playerStyle; this.provider.videoData.Ej && (this.provider.videoData.N.feature = "pyv"); this.provider.videoData.N.vid = this.provider.videoData.videoId; var a = this.provider.videoData.N; var b = this.provider.videoData; b = b.isAd() || !!b.Ej; a.isAd = b }; + g.k.Ki = function (a) { var b = SZ(this, "engage"); b.qa = a; return V2a(b, m3a(this.provider)) }; l3a.prototype.isEmpty = function () { return this.endTime === this.startTime }; WZ.prototype.L = function (a) { return this.W.L(a) }; + WZ.prototype.getCurrentTime = function (a) { if (this.L("html5_ssap_current_time_for_logging_refactor")) { var b = this.ea.Bf(); if (b && (a = a || b.Cl())) return eX(b, a) } else if (g.jQ(this.videoData)) { var c = this.ea.Bf(); if (c) return a = this.ea.getCurrentTime(), c = (((b = cX(c, a * 1E3)) == null ? void 0 : b.Nl) || 0) / 1E3, a - c } return this.ea.getCurrentTime() }; + WZ.prototype.Wf = function (a) { if (this.L("html5_ssap_current_time_for_logging_refactor")) { var b = this.ea.Bf(); if (b && (a = a || b.Cl())) return eX(b, a) } else if (g.jQ(this.videoData)) { var c = this.ea.Bf(); if (c) return a = this.ea.Wf(), c = (((b = cX(c, a * 1E3)) == null ? void 0 : b.Nl) || 0) / 1E3, a - c } return this.ea.Wf() }; + var n3a = { other: 1, none: 2, wifi: 3, cellular: 7, ethernet: 30 }; g.z(g.XZ, g.O); g.k = g.XZ.prototype; g.k.Cg = function () { if (this.provider.videoData.enableServerStitchedDai && this.Mg) { var a; (a = this.C.get(this.Mg)) == null || a.Cg() } else this.j && this.j.Cg() }; + g.k.Uo = function (a) { this.qoe && this.qoe.Uo(a) }; + g.k.Oj = aa(28); g.k.jj = aa(32); g.k.Id = function (a, b) { this.qoe && J2a(this.qoe, a, b); if (this.B) this.B.onError(a) }; + g.k.MG = function (a) { this.qoe && this.qoe.MG(a) }; + g.k.sG = function (a) { this.qoe && this.qoe.sG(a) }; + g.k.onPlaybackRateChange = function (a) { if (this.qoe) this.qoe.onPlaybackRateChange(a); this.j && PZ(this.j.j) }; + g.k.Tu = aa(53); g.k.oa = function (a, b, c) { this.qoe && this.qoe.oa(a, b, c) }; + g.k.eH = function (a, b, c) { this.qoe && this.qoe.eH(a, b, c) }; + g.k.fH = function (a) { var b; (b = this.qoe) == null || b.fH(a) }; + g.k.Jy = function (a) { this.qoe && this.qoe.Jy(a) }; + g.k.Ey = function (a, b, c) { this.qoe && this.qoe.Ey(a, b, c) }; + g.k.Mo = aa(24); g.k.jF = function () { if (this.qoe) return this.qoe.jF() }; + g.k.uc = function () { if (this.provider.videoData.enableServerStitchedDai && this.Mg) { var a, b; return (b = (a = this.C.get(this.Mg)) == null ? void 0 : a.uc()) != null ? b : {} } return this.j ? this.j.uc() : {} }; + g.k.oF = function () { var a; return (a = this.qoe) == null ? void 0 : a.oF() }; + g.k.EH = function (a, b) { var c; (c = this.qoe) == null || c.EH(a, b) }; + g.k.Ki = function (a) { return this.j ? this.j.Ki(a) : function () { } }; + g.k.Ys = function () { this.j && this.j.Ys() }; + g.k.getVideoData = function () { return this.provider.videoData }; + g.k.resume = function () { this.qoe && this.qoe.resume() }; g.z(YZ, g.O); + YZ.prototype.rJ = function (a, b, c) { + if (this.j.has(a)) { var d = this.j.get(a); if (b.videoId && !o3a(d)) this.B.oa("ssap", { rlc: a }), mVa(this, a); else return } if (!this.j.has(a)) { + d = new WZ(b, this.W, this.ea); var e = Math.round(g.XI(this.B.provider) * 1E3); d = new g.XZ(d, e); o3a(d) || this.B.oa("nqv", { vv: b.videoId }); e = this.B.getVideoData(); this.j.set(a, d); if (d.qoe) { var f = d.qoe, h = e.videoId || ""; f.contentCpn = e.clientPlaybackNonce; f.ra = h } p3a(d); c === 2 && (this.W.L("html5_log_ad_playback_docid") ? (c = this.B, c.qoe && (c = c.qoe, d = b.wc || "", e = + b.breakType || 0, b = b.videoId || "", f = this.W.qa || "yt", g.JZ(c, g.XI(c.provider), "ad_playback", [a, d, e, b, f]))) : this.B.Ey(a, b.wc || "", b.breakType || 0)) + } + }; + YZ.prototype.hc = function (a) { a = a || this.Mg; return this.j.get(a) || this.B }; g.z(ZZ, g.O); g.k = ZZ.prototype; + g.k.lf = function (a, b) { this.sync(); b && this.j.array.length >= 2E3 && this.RE("captions", 1E4); b = this.j; if (a.length > 1 && a.length > b.array.length) b.array = b.array.concat(a), b.array.sort(b.j); else for (var c = g.w(a), d = c.next(); !d.done; d = c.next())d = d.value, !b.array.length || b.j(d, b.array[b.array.length - 1]) > 0 ? b.array.push(d) : g.bc(b.array, d, b.j); a = g.w(a); for (b = a.next(); !b.done; b = a.next())b = b.value, b.namespace === "ad" && this.D("ssap", { acrsid: b.getId(), acrsst: b.start, acrset: b.end, acrscpt: b.playerType }); this.C = NaN; this.sync() }; + g.k.Wo = function (a) { + a.length > 1E4 && g.fx(new g.pt("Over 10k cueRanges removal occurs with a sample: ", a[0])); if (!this.La()) { + for (var b = g.w(a), c = b.next(); !c.done; c = b.next())(c = c.value) && c.namespace === "ad" && this.D("ssap", { rcrid: c.getId(), rcst: c.start, rcet: c.end, rcpt: c.playerType }); var d = new Set(a); this.B = this.B.filter(function (e) { return !d.has(e) }); + C3a(this.j, d); this.sync() + } + }; + g.k.RE = function (a, b) { + var c = (isNaN(this.C) ? g.U(this.K(), 2) ? 0x8000000000000 : this.Y() * 1E3 : this.C) - b; b = this.Bl().filter(function (d) { return d.namespace === a && d.end < c }); + this.Wo(b); return b + }; + g.k.Bl = function () { return this.La() ? [] : this.j.array }; + g.k.reset = function () { this.started = !1; this.G.stop(); this.j.array = []; this.B = []; this.sync() }; + g.k.rf = function (a) { + var b = this.Bl().filter(function (c) { return c.namespace === a }); + this.Wo(b); return b + }; + g.k.vK = function (a) { return this.Bl().some(function (b) { return b.namespace === a }) }; + g.k.Zy = function (a, b) { + var c = [], d = z3a(this.j, 0x7ffffffffffff), e = []; this.D("ssap", { mecrs: d.length, cpn: b }); d = g.w(d); for (var f = d.next(); !f.done; f = d.next())f = f.value, f.active && (this.D("ssap", { acre: f.id, st: f.start, et: f.end, cpn: b, cpt: f.playerType, pt: a }), b && b === f.C ? (e.push(f), this.D("ssap", { acrec: f.id, st: f.start, et: f.end, pt: a })) : f.playerType === a && (e.push(f), this.D("ssap", { acret: f.id, st: f.start, et: f.end }))); c = c.concat(this.JJ(e)); F3a(this, c); c = []; b = []; d = g.w(this.B); for (f = d.next(); !f.done; f = d.next())f = f.value, + f.active && f.playerType === a && f.start === 0x7ffffffffffff && b.push(f); c = c.concat(this.LJ(b)); F3a(this, c); return e.length + }; + g.k.JJ = function (a) { var b = []; if (!a.length) return b; for (var c = 0; c < a.length; c++) { var d = a[c]; d.active && this.B.indexOf(d) === -1 && (this.B.push(d), b.push([1, d])) } return b }; + g.k.LJ = function (a) { var b = []; if (!a.length) return b; a.sort(g.rD); a = g.w(a); for (var c = a.next(); !c.done; c = a.next())c = c.value, this.B.splice(this.B.indexOf(c), 1), b.push([2, c]); return b }; + g.k.sync = function () { this.N = !0; if (!this.Z) { for (var a = 3; this.N && a;)this.N = !1, this.Z = !0, this.GZ(), this.Z = !1, a--; this.K().isPlaying() && (a = B3a(this.j, this.C), !isNaN(a) && a < 0x7ffffffffffff && (a = (a - this.C) / this.Ba(), this.G.start(a))) } }; + g.k.GZ = function () { + if (this.started && !this.La()) { + this.G.stop(); var a = this.K(); g.U(a, 32) && this.ra.start(); for (var b = g.U(this.K(), 2) ? 0x8000000000000 : this.Y() * 1E3, c = g.U(a, 2), d = [], e = [], f = g.w(this.B), h = f.next(); !h.done; h = f.next())h = h.value, h.active && (c ? h.end < 0x8000000000000 : !h.contains(b)) && e.push(h); d = d.concat(this.LJ(e)); f = e = null; c ? (a = z3a(this.j, 0x7ffffffffffff), e = a.filter(function (l) { return l.end < 0x8000000000000 }), f = A3a(this.j)) : a = this.C <= b && SF(a) ? y3a(this.j, this.C, b) : z3a(this.j, b); + d = d.concat(this.JJ(a)); e && (d = d.concat(this.LJ(e))); f && (d = d.concat(this.JJ(f))); this.C = b; F3a(this, d) + } + }; + g.k.xa = function () { this.B = []; this.j.array = []; g.O.prototype.xa.call(this) }; + g.uW.HK(ZZ, { lf: "crmacr", JJ: "crmncr", LJ: "crmxcr", GZ: "crmis", Wo: "crmrcr" }); g.z(b_, g.Fx); b_.prototype.gq = function () { return this.Z }; + b_.prototype.Wn = function () { return this.policy.N && this.videoData.j ? this.videoData.j.Z : Math.max(this.K() - d_(this) * this.j, this.videoData.Xc()) }; g.z(g_, g.O); g_.prototype.Ue = function () { + var a = this, b = this.ea.Ke(), c = this.ea.getPlayerState(); if (b && !c.isError()) { + var d = b.getCurrentTime(), e = c.state === 8 && d > this.j, f = g.U(c, 8) && g.U(c, 16), h = this.ea.bj().isBackground() || c.isSuspended(); h_(this, this.ob, f && !h, e, "qoe.slowseek", function () { }, "timeout"); + var l = isFinite(this.j); l = f && l && Swa(b, this.j); var m = !d || Math.abs(d - this.j) > 10, n = this.W.L("html5_exclude_initial_sabr_live_dvr_seek_in_watchdog"), p = d === 0 && this.B && [11, 10].includes(this.B); h_(this, this.yb, l && m && !h && (!n || !p), e, "qoe.slowseek", function () { b.seekTo(a.j) }, "set_cmt"); + m = l && nF(b.Eh(), this.j); var q = this.ea.ya; l = !q || !q.policy.Xa; var r = function () { b.seekTo(a.j + .001) }; + h_(this, this.Va, m && l && !h, e, "qoe.slowseek", r, "jiggle_cmt"); l = function () { return EZ(a.ea) }; + h_(this, this.Ya, m && !h, e, "qoe.slowseek", l, "new_elem"); m = SF(c); n = c.isBuffering(); var t = b.Eh(), u = mF(t, d), y = u >= 0 && t.end(u) > d + 5, A = m && n && y; p = this.ea.getVideoData(); h_(this, this.Wa, d < .002 && this.j < .002 && f && g.OC(this.W) && g.RQ(p) && !h, e, "qoe.slowseek", l, "slow_seek_shorts"); h_(this, this.qa, p.Bk() && f && !h && !p.Ba, e, "qoe.slowseek", l, "slow_seek_gapless_shorts"); h_(this, this.Ba, A && !h, m && !n, "qoe.longrebuffer", r, "jiggle_cmt"); h_(this, this.Fa, A && !h, m && !n, "qoe.longrebuffer", l, "new_elem_nnr"); if (q) { + var D = q.getCurrentTime(); + f = b.mx(); f = Gwa(f, D); f = !q.isSeeking() && d === f; h_(this, this.Tb, m && n && f && !h, m && !n && !f, "qoe.longrebuffer", function () { b.seekTo(D) }, "seek_to_loader") + } f = {}; + r = mF(t, Math.max(d - 3.5, 0)); A = r >= 0 && d > t.end(r) - 1.1; var F = r >= 0 && r + 1 < t.length ? t.start(r + 1) - t.end(r) : 9999; f.mindex = u; f.disIndex = r; f.isdisc = r >= 0 && A && F < 11; f.close2edge = A; f.gapsize = F; f.buflen = t.length; this.B && (f.seekSour = this.B); if (r = this.ea.Bf()) { A = r.Cl(); F = A !== cX(r, d * 1E3).clipId; var H = g.AC(this.W.experiments, "html5_ssap_skip_seeking_offset_ms"), M = (aX(r, A) + H) / 1E3; h_(this, this.Ma, F && m && n && !h, m && !n, "qoe.longrebuffer", function () { b.seekTo(M) }, "ssap_clip_not_match") } h_(this, this.Ga, m && n && !h, m && !n, "qoe.longrebuffer", + function () { }, "timeout", f); + f = c.isSuspended(); f = qZ(this.ea) && !f; h_(this, this.N, f, !f, "qoe.start15s", function () { a.ea.Dg("ad") }, "ads_preroll_timeout"); + r = d - this.D < .5; var N; f = !((N = this.ea.Bf()) == null || !N.Hl()); F = (A = p.isAd() || f && this.W.experiments.kb("html5_ssap_skip_slow_ad")) && m && !n && r; N = function () { + var Q = a.ea, Z = g.jQ(Q.videoData) && Q.wb, fa = Q.Ad.Vc(); (fa && Q.videoData.isAd() && fa.getVideoData().rd === Q.getVideoData().rd || !Q.videoData.Ef) && !Z ? Q.Lf("ad.rebuftimeout", 2, "RETRYABLE_ERROR", "skipslad.vid." + Q.videoData.videoId) : dQ(Q.videoData, "html5_ssap_skip_slow_ad") && Z && Q.wb.Hl() && (Q.Id(new FE("ssap.transitionfailure", { + cpn: cX(Q.wb, Q.Wf()).clipId, pcpn: Q.wb.Cl(), + cmt: Q.Wf() + })), ZUa(Q.wb)) + }; + h_(this, this.Jb, F, !F, "ad.rebuftimeout", N, "skip_slow_ad"); r = A && n && nF(b.Eh(), d + 5) && r; h_(this, this.Ab, r && !h, !r, "ad.rebuftimeout", N, "skip_slow_ad_buf"); N = c.isOrWillBePlaying() && g.U(c, 64) && !h; h_(this, this.Kb, N, e, "qoe.start15s", function () { }, "timeout"); + N = !!q && !q.Qa && c.isOrWillBePlaying(); h_(this, this.Ka, N, e, "qoe.start15s", l, "newElemMse"); N = qF(t, 0); r = g.U(c, 16) || g.U(c, 32); r = !h && c.isOrWillBePlaying() && n && !r && (g.U(c, 64) || d === 0) && N > 5; h_(this, this.fb, g.RQ(p) && r, m && !n, "qoe.longrebuffer", function () { a.ea.Iq() }, "reset_media_source"); + h_(this, this.Xa, g.RQ(p) && r, m && !n, "qoe.longrebuffer", l, "reset_media_element"); this.D === 0 && (this.K = d); r = n && this.j === 0 && d > 1 && d === this.K; h_(this, this.Ra, g.RQ(p) && r, m && !n, "qoe.slowseek", function () { b.seekTo(0) }, "reseek_after_time_jump"); + h = c.isOrWillBePlaying() && !h; y = wW(this.ea) - d < 6 && !y && this.ea.wu(); h_(this, this.Z, p.Bk() && h && n && y, m && !n, "qoe.longrebuffer", function () { EZ(a.ea, !1, !0) }, "handoff_end_long_buffer_reload"); + q = (q == null ? void 0 : U0a(q)) || NaN; q = t.length > 1 || !isNaN(q) && q - .1 <= d; h_(this, this.Y, rQ(p) && h && n && q, m && !n, "qoe.longrebuffer", l, "gapless_slice_append_stuck"); q = u >= 0 && t.end(u) >= 2; h = rQ(p) && this.ea.G2 && q && !p.Ba && h && (n || g.U(c, 8) && g.U(c, 16)); h_(this, this.ra, h, e, "qoe.start15s", l, "gapless_slow_start"); c = !!(f && N > 5 && c.isPlaying() && d < .1); h_(this, this.Ob, c, d > .5 && m, "qoe.longrebuffer", l, "ssap_stuck_in_ad_beginning"); this.D = d; this.G.start() + } + }; + g_.prototype.Id = function (a, b, c) { b = this.uc(b); b.wn = c; b.wdup = this.C[a] ? "1" : "0"; this.ea.Id(new FE(a, b)); this.C[a] = !0 }; + g_.prototype.uc = function (a) { a = Object.assign(this.ea.uc(!0), a.uc()); this.j && (a.stt = this.j.toFixed(3)); this.ea.getVideoData().isLivePlayback && (a.ct = this.ea.getCurrentTime().toFixed(3), a.to = this.ea.Dc().toFixed(3)); delete a.uga; delete a.euri; delete a.referrer; delete a.fexp; delete a.vm; return a }; + e_.prototype.reset = function () { this.j = this.B = this.C = this.startTimestamp = 0; this.D = !1 }; + e_.prototype.test = function (a) { if (!this.G || this.B) return !1; if (!a) return this.reset(), !1; a = (0, g.Zt)(); if (!this.startTimestamp) this.startTimestamp = a, this.C = 0; else if (this.C >= this.G) return this.B = a, !0; this.C += 1; return !1 }; + e_.prototype.uc = function () { var a = {}, b = (0, g.Zt)(); this.startTimestamp && (a.wsd = (b - this.startTimestamp).toFixed()); this.B && (a.wtd = (b - this.B).toFixed()); this.j && (a.wssd = (b - this.j).toFixed()); return a }; g.z(V3a, g.O); g.k = V3a.prototype; g.k.setMediaElement = function (a) { (this.mediaElement = a) ? (this.mediaElement && (this.G || this.D || !this.mediaElement.hT() || this.seekTo(.01, { Zc: "seektimeline_setupMediaElement" })), i_(this)) : k_(this) }; + g.k.getCurrentTime = function () { return !isNaN(this.B) && isFinite(this.B) ? this.B : this.mediaElement && h4a(this) ? this.mediaElement.getCurrentTime() + this.timestampOffset : this.D || 0 }; + g.k.lx = function () { return this.Xa }; + g.k.Wf = function () { return this.getCurrentTime() - this.Dc() }; + g.k.Wn = function () { return this.j ? this.j.Wn() : Infinity }; + g.k.isAtLiveHead = function (a) { if (!this.j) return !1; a === void 0 && (a = this.getCurrentTime()); return c_(this.j, a) }; + g.k.gq = function () { return !!this.j && this.j.gq() }; + g.k.seekTo = function (a, b) { + var c = b === void 0 ? {} : b; b = c.eI === void 0 ? !1 : c.eI; var d = c.qU === void 0 ? 0 : c.qU; var e = c.xx === void 0 ? !1 : c.xx; var f = c.kU === void 0 ? 0 : c.kU; var h = c.Zc === void 0 ? "" : c.Zc; var l = c.seekSource === void 0 ? void 0 : c.seekSource; var m = c.Fp === void 0 ? !1 : c.Fp; var n = c.XA === void 0 ? !1 : c.XA; c = c.RT === void 0 ? !1 : c.RT; m && (a += this.Dc()); gQ(this.videoData) && this.L("html5_sabr_enable_utc_seek_requests") && l === 29 && (this.Xa = void 0); m = a < this.Ka && !!this.ya; var p = this.L("html5_enable_sabr_ssdai") && n; if (m && !p && (this.ea.oa("sdai", + { sk2bk: a.toFixed(3), mt: (a - this.timestampOffset).toFixed(3), lstadj: this.Ka.toFixed(3) }), this.Ka = NaN, this.timestampOffset -= 1E3, (p = this.ya) != null)) { T0a(p, p.timestampOffset - 1E3); var q = p.manifest, r = new Set; for (y in q.j) { var t = q.j[y].index, u = t.gx(); u && !r.has(u) && (u.startTime += 1E3, u.endTime = u.startTime + u.duration, r.add(u)); t.segments.length && (u = t.segments[t.segments.length - 1], t.segments = [], t.segments.push(u)) } p.K && p.K.kT(); dY(p.C, 0, 0, !0) } p = a; var y = !isFinite(p) || (this.j ? c_(this.j, p) : p >= this.Vd()) || !g.IQ(this.videoData); + y || (p = { st: p, mst: this.Vd() }, this.j && this.L("html5_high_res_seek_logging") && (p.ht = this.j.Wn(), p.adft = O3a(this.j)), this.ea.oa("seeknotallowed", p)); if (!y) return this.C && (this.C = null, f4a(this)), He(this.getCurrentTime()); y = .005; n && this.L("html5_sabr_seek_no_shift_tolerance") && (y = 0); if (Math.abs(a - this.B) <= y && this.ra) return this.G; h && (y = a, (this.W.Ac() || this.L("html5_log_seek_reasons")) && this.ea.oa("seekreason", { reason: h, tgt: y })); l && (this.Fa.B = l); this.ra && k_(this); this.G || (this.G = new FF); a && !isFinite(a) && + Z3a(this, !1); (h = c || m) || (h = a, h = !(this.videoData.isLivePlayback && this.videoData.C && !this.videoData.C.j && !(this.mediaElement && this.mediaElement.jl() > 0 && HF(this.mediaElement) > 0) || iQ(this.videoData) && this.Xc() === this.Vd(!1) ? 0 : isFinite(h) || !iQ(this.videoData))); h || (a = m_(this, a, e)); a && !isFinite(a) && Z3a(this, !1); this.D = a; this.Va = f; this.B = a; this.Y = 0; this.j && (e = this.j, f = a, P3a(e, f, !1), Q3a(e, f)); e = this.ea; f = a; h = { eI: b, seekSource: l }; e.Qc.D = f; c = e.mE; c.mediaTime = f; c.j = !0; h.eI && $4a(e, h); h = f > e.videoData.endSeconds && + f > e.videoData.limitedPlaybackDurationInSeconds; e.Cr && h && isFinite(f) && N4a(e); f < e.Vd() - .01 && (h = PF(e.playerState, 2), g.U(h, 8) && (h = PF(h, 4)), e.Ec(h)); e.publish("SEEK_TO", e, f); this.G && (b ? d && this.Wa.start(d) : (b = { XA: n, seekSource: l }, this.ra = !0, U3a(this, b))); (b = this.ea.Cr) && a > b.start && N4a(this.ea); return this.G + }; + g.k.Vd = function (a) { + if (!this.videoData.isLivePlayback) return p5a(this.ea); var b; return $Q(this.videoData) && ((b = this.mediaElement) == null ? 0 : b.isPaused()) && this.videoData.j ? (a = this.getCurrentTime(), QLa(this.bf(a) * 1E3) + a) : this.L("html5_sabr_parse_live_metadata_playback_boundaries") && gQ(this.videoData) && this.videoData.j ? a ? this.videoData.j.Ba : this.videoData.j.Z : iQ(this.videoData) && this.videoData.Ka && this.videoData.j ? this.videoData.j.Vd() + this.timestampOffset : this.videoData.C && this.videoData.C.j ? !a && this.j ? + this.j.Wn() : p5a(this.ea) + this.timestampOffset : this.mediaElement ? ls() ? QLa(this.mediaElement.II().getTime()) : HF(this.mediaElement) + this.timestampOffset || this.timestampOffset : this.timestampOffset + }; + g.k.Xc = function () { + if (g.jQ(this.videoData)) { var a = this.ea; g.jQ(a.videoData); var b, c; return (c = (b = a.wb) == null ? void 0 : b.Xc()) != null ? c : a.videoData.Xc() } if (this.L("html5_sabr_parse_live_metadata_playback_boundaries") && gQ(this.videoData)) return this.videoData.j ? this.videoData.j.Fa : NaN; b = this.videoData ? this.videoData.Xc() + this.timestampOffset : this.timestampOffset; return $Q(this.videoData) && this.videoData.j && (c = Number((a = this.videoData.progressBarStartPosition) == null ? void 0 : a.utcTimeMillis) / 1E3, a = this.getCurrentTime(), + a = this.bf(a) - a, !isNaN(c) && !isNaN(a)) ? Math.max(b, c - a) : b + }; + g.k.CP = function () { this.G || this.seekTo(this.D, { Zc: "seektimeline_forceResumeTime_singleMediaSourceTransition", seekSource: 15 }) }; + g.k.PF = function () { return this.ra && !isFinite(this.B) }; + g.k.xa = function () { $3a(this, null); this.Fa.dispose(); g.O.prototype.xa.call(this) }; + g.k.uc = function () { var a = {}; this.ya && Object.assign(a, this.ya.uc()); this.mediaElement && Object.assign(a, this.mediaElement.uc()); return a }; + g.k.tS = function (a) { this.timestampOffset = a }; + g.k.getStreamTimeOffset = function () { return iQ(this.videoData) ? 0 : this.videoData.j ? this.videoData.j.getStreamTimeOffset() : 0 }; + g.k.Dc = function () { return this.timestampOffset }; + g.k.bf = function (a) { return this.L("html5_check_manifest_before_ingestion_time") ? this.videoData && this.videoData.j ? this.videoData.j.bf(a - this.timestampOffset) : NaN : this.videoData.j.bf(a - this.timestampOffset) }; + g.k.ix = function () { if (!this.mediaElement) return 0; if (JQ(this.videoData)) { var a = this.mediaElement, b = a.Eh(); a = (pF(b) > 0 && a.getDuration() ? b.end(b.length - 1) : 0) + this.timestampOffset - this.Xc(); b = this.Vd() - this.Xc(); return Math.max(0, Math.min(1, a / b)) } return this.mediaElement.ix() }; + g.k.oy = function (a) { this.K && (this.K.j = a) }; + g.k.dC = function (a, b) { this.ea.oa("requestUtcSeek", { time: a }); gQ(this.videoData) && this.L("html5_sabr_enable_utc_seek_requests") && (this.Xa = a); var c; (c = this.ya) == null || c.dC(a); b && (this.Ba = b) }; + g.k.Ku = function (a) { gQ(this.videoData) && this.L("html5_sabr_enable_utc_seek_requests") && (this.Xa = void 0); if (this.Ba) this.ea.oa("utcSeekingFallback", { source: "streamTime", timeSeconds: this.Ba }), this.ea.seekTo(this.Ba, { Zc: "utcSeekingFallback_streamTime" }), this.Ba = 0; else { var b = this.getCurrentTime(); isNaN(b) || (a = this.bf(b) - a, b -= a, this.ea.oa("utcSeekingFallback", { source: "estimate", timeSeconds: b }), this.ea.seekTo(b, { Zc: "utcSeekingFallback_estimate" })) } }; + g.k.sE = function () { this.Ba = 0 }; + g.k.L = function (a) { return this.W && this.W.L(a) }; n_.prototype.Bu = function () { return this.started }; + n_.prototype.start = function () { this.started = !0 }; + n_.prototype.reset = function () { this.j = this.started = !1 }; var q4a = !1; g.z(g.r_, g.Fx); g.k = g.r_.prototype; g.k.xa = function () { this.logger.debug("dispose"); g.Nr(this.VL); WTa(this.If); this.visibility.unsubscribe("visibilitystatechange", this.If); E4a(this); v_(this); g.Zo.jk(this.Cy); this.Rj(); this.Jf = null; g.fb(this.videoData); g.fb(this.yl); g.fb(this.vO); g.fb(this.wO); g.gb(this.Z$); this.Cr = null; g.Fx.prototype.xa.call(this) }; + g.k.Ey = function (a, b, c, d, e) { if (this.W.L("html5_log_ad_playback_docid")) { var f = this.hc(); if (f.qoe) { f = f.qoe; var h = this.W.qa || "yt"; g.JZ(f, g.XI(f.provider), "ad_playback", [a, b, c, e, h]) } } else this.hc().Ey(a, b, c); this.L("html5_log_media_perf_info") && this.oa("adloudness", { ld: d.toFixed(3), cpn: a }) }; + g.k.NP = function () { var a; return (a = this.ya) == null ? void 0 : a.NP() }; + g.k.QP = function () { var a; return (a = this.ya) == null ? void 0 : a.QP() }; + g.k.hA = function () { var a; return (a = this.ya) == null ? void 0 : a.hA() }; + g.k.OP = function () { var a; return (a = this.ya) == null ? void 0 : a.OP() }; + g.k.dj = function () { return this.videoData.dj() }; + g.k.rA = function () { return this.hB }; + g.k.rJ = function () { !this.gB || this.gB.La(); this.gB = new g.XZ(new WZ(this.videoData, this.W, this)); this.hB = new YZ(this.W, this, this.gB) }; + g.k.getVideoData = function () { return this.videoData }; + g.k.U = function () { return this.W }; + g.k.IP = function () { return this.Ok.IP(this.Jf) }; + g.k.hc = function (a) { if (a) a: { for (var b = this.hB, c = g.w(b.j.values()), d = c.next(); !d.done; d = c.next())if (d = d.value, d.getVideoData().videoId === a) { a = d; break a } a = b.B } else a = this.hB.hc(); return a }; + g.k.bj = function () { return this.visibility }; + g.k.Ke = function () { return this.mediaElement }; + g.k.OO = function () { + if (this.videoData.isLoaded()) { var a = this.yl; g.AC(a.Da.experiments, "html5_player_min_build_cl") > 0 && g.AC(a.Da.experiments, "html5_player_min_build_cl") > 657810031 && X1a(a, "oldplayer"); J4a(this) } else this.videoData.zj || this.videoData.wp ? this.xu && g.OC(this.W) && this.videoData.isLivePlayback || (this.videoData.zj ? tLa(this.videoData) : (a = this.hc(), a.qoe && (a = a.qoe, MZ(a, "protected"), a.provider.videoData.G ? a.e2() : a.provider.videoData.subscribe("dataloaded", a.e2, a)), rLa(this.videoData))) : !this.videoData.loading && + this.r7 && G4a(this) + }; + g.k.FH = function (a) { this.wb = a; this.ya && this.ya.FH(a) }; + g.k.qA = aa(15); g.k.isFullscreen = function () { return this.visibility.isFullscreen() }; + g.k.isBackground = function () { return this.visibility.isBackground() }; + g.k.sendAbandonmentPing = function () { g.U(this.getPlayerState(), 128) || (this.publish("internalAbandon"), this.vM(!0), E4a(this), g.Zo.jk(this.Cy)) }; + g.k.kp = function () { q3a(this.hc()) }; + g.k.Lf = function (a, b, c, d, e, f) { + this.logger.debug(function () { return "set player error: ec=" + a + ", detail=" + e }); + var h, l; g.zc(gbb, c) ? h = c : c ? l = c : h = "GENERIC_WITHOUT_LINK"; d = (d || "") + (";a6s." + KA()); if (a === "auth" || a === "drm.auth" || a === "heartbeat.stop") c && (d += ";r." + c.replaceAll(" ", "_")), f && (d += "sr." + f.replaceAll(" ", "_")); b = { errorCode: a, errorDetail: e, errorMessage: l || g.EU[h] || "", wP: h, Qn: f || "", fM: d, cA: b, cpn: this.videoData.clientPlaybackNonce }; this.videoData.errorCode = a; u_(this, "dataloaderror"); this.Ec(NF(this.playerState, 128, b)); g.Zo.jk(this.Cy); v_(this); this.Vo() + }; + g.k.Dg = function (a) { + this.zq = this.zq.filter(function (b) { return a !== b }); + this.logger.debug(function () { return "set preroll ready for " + a }); + g.jQ(this.videoData) && !this.oo() && this.Lb.wg("pl_pr"); this.Es.Bu() && H4a(this) + }; + g.k.oo = function () { var a; (a = !!this.zq.length) || (a = this.Bh.j.array[0], a = !!a && a.start <= -0x8000000000000); return a }; + g.k.gq = function () { return this.Qc.gq() }; + g.k.isPlaying = function () { return this.playerState.isPlaying() }; + g.k.MF = function () { return this.playerState.MF() && this.videoData.Xl }; + g.k.getPlayerState = function () { return this.playerState }; + g.k.getPlayerType = function () { return this.playerType }; + g.k.getPreferredQuality = function () { if (this.Jf) { var a = this.Jf; a = a.videoData.WB.compose(a.videoData.RZ); a = uL(a) } else a = "auto"; return a }; + g.k.lF = aa(19); g.k.isGapless = function () { return !!this.mediaElement && this.mediaElement.isView() }; + g.k.setMediaElement = function (a) { + this.logger.debug("set media element"); if (this.mediaElement && a.Ib() === this.mediaElement.Ib() && (a.isView() || this.mediaElement.isView())) { if (a.isView() || !this.mediaElement.isView()) g.Ys(this.KC), this.mediaElement = a, this.mediaElement.ea = this, b5a(this), this.Qc.setMediaElement(this.mediaElement) } else { + this.mediaElement && this.Rj(); if (!this.playerState.isError()) { var b = PF(this.playerState, 512); g.U(b, 8) && !g.U(b, 2) && (b = OF(b, 1)); a.isView() && (b = PF(b, 64)); this.Ec(b) } this.mediaElement = + a; this.mediaElement.ea = this; gP(this.W) && this.mediaElement.setLoop(this.loop); this.mediaElement.setPlaybackRate(this.playbackRate); b5a(this); this.Qc.setMediaElement(this.mediaElement); this.L("html5_prewarm_media_source") && !this.yl.FJ() && Owa(this.mediaElement) + } + }; + g.k.Rj = function (a, b) { + a = a === void 0 ? !1 : a; b = b === void 0 ? !1 : b; this.logger.debug("remove media element"); if (this.mediaElement) { + var c = this.getCurrentTime(); c > 0 && (this.Qc.D = c); this.Qc.setMediaElement(null); !a && BF(this) ? W4a(this) : BW(this); this.ya && (tZ(this.ya), z_(this, b)); this.Px.stop(); if (this.mediaElement && (!this.Es.Bu() || this.playerState.isError() || g.U(this.playerState, 2) || this.Ec(OF(this.playerState, 512)), this.mediaElement)) { + g.Ys(this.KC); if (a || !this.mediaElement.isView()) this.L("html5_rebase_video_to_ad_timeline") && + this.Lb.Dv("mesv_s"), this.mediaElement.stopVideo(), B_(this); this.mediaElement = this.mediaElement.ea = null + } + } + }; + g.k.playVideo = function (a) { + a = a === void 0 ? !1 : a; var b = this, c, d, e, f, h, l; return g.J(function (m) { + if (m.j == 1) { b.logger.debug("start play video"); var n = window.google_image_requests; n && n.length > 10 && (window.google_image_requests = n.slice(-10)); if (g.U(b.playerState, 128)) return m.return(); if (b.yl.NK()) return b.publish("signatureexpired"), m.return(); b.mediaElement && gX(b.hc()); M4a(b); (g.U(b.playerState, 64) || a) && b.Ec(OF(b.playerState, 8)); return b.Es.j && b.mediaElement ? b.Jf || !b.QG ? m.Ha(2) : g.G(m, b.QG, 3) : m.return() } if (m.j != + 2 && g.U(b.playerState, 128)) return m.return(); if (!b.videoData.C) return b.videoData.isLivePlayback && !g.nO(b.W.G, !0) ? (c = "html5.unsupportedlive", d = 2) : (c = b.videoData.dj() ? "fmt.unplayable" : "fmt.noneavailable", d = 1), g.fx(Error("selectableFormats")), b.Lf(c, d, "HTML5_NO_AVAILABLE_FORMATS_FALLBACK", "selectableFormats.1"), m.return(); if (b.ji() && b.videoData.C.j) return b.logger.debug("rebuild playbackData for airplay"), m.return(t_(b)); if (j_(b)) n = b.Qc, fQ(n.videoData) ? !n.isAtLiveHead(n.getCurrentTime()) && n.gq() && n.ea.seekTo(Infinity, + { Zc: "seektimeline_peggedToLive", seekSource: 34 }) : g.jQ(n.videoData) && n.getCurrentTime() < n.Xc() && n.ea.seekTo(n.Xc(), { Zc: "seektimeline_outOfWindow" }); else if (fQ(b.videoData)) { + if (e = b.getCurrentTime() < b.Xc() - 15, f = g.IQ(b.videoData) && b.playerState.isPaused(), h = g.U(b.playerState, 1024), n = b.Qc, n.videoData.Vb() && XQ(n.videoData) || h || !e && !f || (f ? (b.logger.debug("seek to head for live because of live-only"), b.seekTo(Infinity, { Zc: "videoplayer_unpauseLiveOnly", seekSource: 102 })) : (b.logger.debug("seek to min seekable for live because of out of window"), + b.seekTo(b.Xc(), { Zc: "videoplayer_outOfWindow", seekSource: 102 }))), !b.isAtLiveHead(void 0, !0) && b.gq() && (b.logger.debug("seek to head for live because pegged to live"), l = { Zc: "videoplayer_peggedToLive", seekSource: 34 }, b.seekTo(Infinity, l)), g.U(b.playerState, 256) && b.videoData.Ba && b.Qc.PF()) return b.Ec(QF(b.playerState, 8, 4)), m.return() + } else g.jQ(b.videoData) && b.getCurrentTime() < b.Xc() - 0 && b.seekTo(b.Xc(), { Zc: "videoplayer_outOfWindow" }); g.U(b.playerState, 4) && g.U(b.playerState, 16) && b.Ec(QF(b.playerState, 9, + 4)); if (q_(b)) return h5a(b), m.return(); g5a(b); g.ua(m) + }) + }; + g.k.Iq = function (a) { this.logger.debug("reset media source"); a && this.Id(new FE("qoe.restart", a)); this.Ec(OF(this.playerState, 2048)); BW(this); a = this.videoData.j && BL(this.videoData.j); var b = this.mediaElement && this.mediaElement.isView(); a || b ? (this.ya && o0a(this.ya), EZ(this)) : (q_(this), this.playerState.isOrWillBePlaying() && this.playVideo()) }; + g.k.Ut = function () { if (!this.Jf) return []; var a = c2a(this.Ok, this.Jf, this.hx()); return this.Jf.j.Ut(a) }; + g.k.cF = function () { if (!this.Jf) return []; var a = c2a(this.Ok, this.Jf, this.hx()); return this.Jf.j.cF(a) }; + g.k.hx = function () { var a = this.Ae ? this.Ae.hx() : qQ(this.videoData) && this.videoData.j && BL(this.videoData.j) ? this.videoData.Yj ? VP : E1a : VP; this.mT && (a = a.compose(Lbb)); return a }; + g.k.VJ = function () { var a = this.nf(), b = this.Ad.Od().videoId; return this.Ad.Mu.VJ(a) || this.Ad.Mu.VJ(b) }; + g.k.getUserPlaybackQualityPreference = function () { return this.videoData.C && !this.videoData.C.j ? uL(this.videoData.WB) : tL[aL()] }; + g.k.hasSupportedAudio51Tracks = function () { return this.videoData.hasSupportedAudio51Tracks() }; + g.k.setUserAudio51Preference = function (a, b) { this.videoData.Uf !== a && (this.oa("toggle51", { pref: a }), this.videoData.Uf = a, g.bt("yt-player-audio51", a, b ? 31536E3 : 2592E3), FZ(this)) }; + g.k.getUserAudio51Preference = function () { var a = 1; cP(this.W) && this.L("html5_ytv_surround_toggle_default_off") && (a = 0); var b; return (b = g.ct("yt-player-audio51")) != null ? b : a }; + g.k.setProximaLatencyPreference = function (a) { var b = this.getProximaLatencyPreference(); this.oa("proxima", { pref: a }); g.bt("yt-player-proxima-pref", a, 31536E3); b !== a && (a = this.Qc, a.fb = !0, a.ea.seekTo(Infinity, { Zc: "seektimeline_proximaSeekToHead", seekSource: 34 })) }; + g.k.getProximaLatencyPreference = function () { var a; return (a = bL()) != null ? a : 0 }; + g.k.isProximaLatencyEligible = function () { return this.videoData.isProximaLatencyEligible }; + g.k.gI = function () { this.videoData.videoId ? this.Ad.gI(this.videoData.videoId) : this.oa("piavid", {}) }; + g.k.getAvailableAudioTracks = function () { return g.jQ(this.videoData) && this.wb ? dVa(this.wb).getAvailableAudioTracks() : this.videoData.getAvailableAudioTracks() }; + g.k.getAudioTrack = function () { if (S4a(this)) { var a = U4a(this); if (a) return a } return this.videoData.getAudioTrack() }; + g.k.pG = function () { if (gQ(this.videoData) && !this.videoData.Vb() && this.videoData.L("html5_trigger_loader_when_idle_network")) { var a; (a = this.ya) != null && a.Ue() } }; + g.k.Zz = function () { if (this.ya) { var a = this.ya, b = a.Zz; var c = this.videoData; c = c.L("html5_ssdai_use_post_for_media") && c.enableServerStitchedDai ? !1 : iQ(c) && c.Ef && !c.isAd(); b.call(a, c) } }; + g.k.Lr = function () { return this.Qa }; + g.k.py = function (a) { this.logger.debug("onNeedKeyInfo"); this.LB.set(a.initData, a); this.Ae && (this.Ae.py(a), this.L("html5_eme_loader_sync") || this.LB.remove(a.initData)) }; + g.k.uS = function (a) { this.videoData.ZB = g.rL("auto", a, !1, "u"); p_(this) }; + g.k.oy = function (a) { + var b, c; if (this.L("html5_prefer_language_over_codec") && ((b = this.videoData.D) == null ? 0 : b.dc) && a.j.info.rb !== this.videoData.D.rb && ((c = a.j.info.dc) == null ? void 0 : c.id) !== this.videoData.D.dc.id) { var d; this.oa("lac", { prev: this.videoData.D.itag, plang: this.videoData.D.dc.id, "new": a.j.info.itag, nlang: (d = a.j.info.dc) == null ? void 0 : d.id }) } b = a.reason; c = a.j.info; d = a.token; var e = this.hc(a.videoId), f = g.jQ(this.videoData) ? e.getVideoData() : this.videoData; if (c !== f.D) { + var h = !f.D; f.D = c; b !== "m" && b !== + "t" && (b = h ? "i" : "a"); var l = b === "m" || b === "t"; e.sG(new $1a(f, c, b, "", d)); this.publish("internalaudioformatchange", f, !h && l) + } this.Qc.oy(a.j.index) + }; + g.k.AL = function (a) { this.publish("localmediachange", a) }; + g.k.gp = function (a) { a = a === void 0 ? {} : a; var b; (b = this.ya) == null || b.gp(this.W, tQ(this.videoData), a) }; + g.k.NK = function () { return this.yl.NK() }; + g.k.handleError = function (a) { this.yl.handleError(a) }; + g.k.FJ = function () { return this.yl.FJ() }; + g.k.Ku = function (a) { this.Qc.Ku(a) }; + g.k.pauseVideo = function (a) { a = a === void 0 ? !1 : a; if ((g.U(this.playerState, 64) || g.U(this.playerState, 2)) && !a) if (g.U(this.playerState, 8)) this.Ec(QF(this.playerState, 4, 8)); else if (this.MF()) q_(this); else return; g.U(this.playerState, 128) || (a ? this.Ec(OF(this.playerState, 256)) : this.Ec(QF(this.playerState, 4, 8))); this.mediaElement && this.mediaElement.pause(); g.IQ(this.videoData) && this.ya && z_(this, !1) }; + g.k.stopVideo = function () { this.pauseVideo(); this.ya && (z_(this, !1), this.ya.lk()) }; + g.k.Vo = function (a, b) { a = a === void 0 ? !1 : a; b = b === void 0 ? !1 : b; if (BF(this) && b) { var c; (c = this.mediaElement) == null || c.Vo() } else { var d; (d = this.mediaElement) == null || d.stopVideo() } B_(this); v_(this); g.U(this.playerState, 128) || (a ? this.Ec(PF(PF(OF(this.playerState, 4), 8), 16)) : this.Ec(NF(this.playerState))); this.videoData.videoId && this.W.Ka.remove(this.videoData.videoId) }; + g.k.seekTo = function (a, b) { + b = b === void 0 ? {} : b; this.logger.debug(function () { return "SeekTo " + a + ", " + JSON.stringify(b) }); + g.U(this.playerState, 2) && q_(this); b.Goa && this.Ec(OF(this.playerState, 2048)); this.Qc.seekTo(a, b); this.Bh.sync() + }; + g.k.tL = function () { this.publish("onAbnormalityDetected") }; + g.k.getCurrentTime = function () { return this.Qc.getCurrentTime() }; + g.k.lx = function () { return this.Qc.lx() }; + g.k.Wf = function () { return this.Qc.Wf() }; + g.k.RJ = function (a) { return this.wb && (a = a || this.wb.Cl()) ? eX(this.wb, a) : this.Wf() }; + g.k.Wn = function () { return this.Qc.Wn() }; + g.k.getPlaylistSequenceForTime = function (a) { return this.videoData.getPlaylistSequenceForTime(a - this.Dc()) }; + g.k.pA = function () { var a = NaN; this.mediaElement && (a = this.mediaElement.pA()); return a >= 0 ? a : this.getCurrentTime() }; + g.k.bf = function () { var a; return ((a = this.videoData.j) == null ? 0 : a.bf) ? this.videoData.j.bf(this.getCurrentTime() - this.Dc()) : this.mediaElement && (a = this.mediaElement.II()) && (a = a.getTime(), !isNaN(a)) ? a / 1E3 + this.getCurrentTime() : NaN }; + g.k.getDuration = function (a) { return g.jQ(this.videoData) && this.wb ? this.L("html5_ssap_enable_duration_by_cpn") && a ? cVa(this.wb, a) : dX(this.wb) : this.videoData.lengthSeconds ? this.videoData.lengthSeconds + this.Dc() : this.Vd() ? this.Vd() : 0 }; + g.k.rF = function () { var a = new v3a; this.ya ? (qJa(this.W.schedule, a), M0a(this.ya, a)) : this.mediaElement && (a.Kw = IF(this.mediaElement)); a.Vs = this.Vs; a.Fv = this.Fv; a.C = this.isAtLiveHead() && this.isPlaying() ? A4a(this) : NaN; return a }; + g.k.hH = function (a, b) { this.Fv += a; this.Vs += b }; + g.k.ix = function () { return this.mediaElement ? g.IQ(this.videoData) ? 1 : JQ(this.videoData) ? this.isAtLiveHead() || this.gq() ? 1 : this.Qc.ix() : this.mediaElement.ix() : 0 }; + g.k.uc = function (a) { + var b = {}; if (a === void 0 ? 0 : a) { + Object.assign(b, this.hc().uc()); this.mediaElement && (Object.assign(b, this.mediaElement.uc()), Object.assign(b, this.vF())); this.ya && Object.assign(b, this.ya.uc()); this.Ae && (b.drm = JSON.stringify(this.Ae.uc())); b.state = this.playerState.state.toString(16); g.U(this.playerState, 128) && (b.debug_error = JSON.stringify(this.playerState.eh)); this.oo() && (b.prerolls = this.zq.join(",")); this.videoData.Zd && (b.ismb = this.videoData.Zd); this.videoData.latencyClass !== "UNKNOWN" && + (b.latency_class = this.videoData.latencyClass); this.videoData.isLowLatencyLiveStream && (b.lowlatency = "1"); if (this.videoData.defaultActiveSourceVideoId || this.videoData.compositeLiveStatusToken || this.videoData.compositeLiveIngestionOffsetToken) b.is_mosaic = 1; this.videoData.cotn && (b.is_offline = 1, b.cotn = this.videoData.cotn); this.videoData.playerResponseCpn && (b.playerResponseCpn = this.videoData.playerResponseCpn); this.Ad.isOrchestrationLeader() && (b.leader = 1); this.videoData.isLivePlayback && (this.videoData.j && + GN(this.videoData.j) && (b.segduration = GN(this.videoData.j)), a = this.Qc, b.lat = a.K ? HNa(a.K.D) : 0, b.liveutcstart = this.videoData.liveUtcStartSeconds); b.relative_loudness = this.videoData.Hj.toFixed(3); if (a = g.JT(this)) b.optimal_format = a.video.qualityLabel; b.user_qual = aL(); b.release_version = "youtube.player.web_20240730_01_RC00"; g.jQ(this.videoData) && this.wb && (b.ssap = bX(this.wb)) + } b.debug_videoId = this.videoData.videoId; return b + }; + g.k.addCueRange = function (a) { this.Bz([a]) }; + g.k.removeCueRange = function (a) { this.Bh.Wo([a]) }; + g.k.RE = function (a, b) { return this.Bh.RE(a, b) }; + g.k.Bz = function (a, b) { this.Bh.lf(a, b) }; + g.k.jH = function (a) { this.Bh.Wo(a) }; + g.k.Bl = function () { return this.Bh.Bl() || [] }; + g.k.ji = function () { return this.visibility.ji() }; + g.k.xv = function () { this.mediaElement && this.mediaElement.xv() }; + g.k.Gca = function () { u_(this) }; + g.k.togglePictureInPicture = function () { this.mediaElement && this.mediaElement.togglePictureInPicture() }; + g.k.HL = function (a) { + var b = a.target.Zh(); if (this.mediaElement && this.mediaElement.Zh() && this.mediaElement.Zh() === b) { + m5a(this, a.type); switch (a.type) { + case "error": var c = KF(this.mediaElement) || "", d = this.mediaElement.Xf(); if (c === "capability.changed") { this.L("html5_restart_on_capability_change") ? (this.oa("capchg", { msg: d }), EZ(this, !0)) : t_(this); return } if (this.mediaElement.hasError() && (T1a(this.yl, c, { msg: d }) || g.jQ(this.videoData) && this.wb && (d = this.playerState.eh, this.wb.handleError(c, d == null ? void 0 : d.cA)))) return; + if (this.isBackground() && this.mediaElement.Xh() === 4) { this.Vo(); w_(this, "unplayable"); return } break; case "durationchange": c = this.mediaElement.getDuration(); isFinite(c) && (!this.Qa || c > 0) && c !== 1 && this.Xo(c); break; case "ratechange": this.ya && this.ya.setPlaybackRate(this.mediaElement.getPlaybackRate()); D3a(this.Bh); this.hc().onPlaybackRateChange(this.getPlaybackRate()); break; case "loadedmetadata": o5a(this); this.publish("onLoadedMetadata"); FTa(this); c = this.bf(); this.videoData.NC && (this.videoData.NC = c); break; + case "loadstart": FTa(this); break; case "progress": case "suspend": this.Tc(); this.publish("onLoadProgress", this, this.ix()); break; case "playing": this.Lb.Dv("plev"); this.rT && !j_(this) && (this.rT = !1, this.isAtLiveHead() || (this.logger.debug("seek to infinity on PLAYING"), this.seekTo(Infinity, { Zc: "videoplayer_onPlaying" }))); break; case "timeupdate": c = this.mediaElement && !this.mediaElement.getCurrentTime(); d = this.mediaElement && this.mediaElement.jl() === 0; if (c && (!this.oL || d)) return; this.oL = this.oL || !!this.mediaElement.getCurrentTime(); + c5a(this); this.Tc(); if (!this.mediaElement || this.mediaElement.Zh() !== b) return; this.publish("onVideoProgress", this, this.getCurrentTime()); break; case "waiting": if (this.mediaElement.mx().length > 0 && this.mediaElement.Eh().length === 0 && this.mediaElement.getCurrentTime() > 0 && this.mediaElement.getCurrentTime() < 5 && this.ya) return; this.L("html5_ignore_unexpected_waiting_cfl") && (this.mediaElement.isPaused() || this.mediaElement.jl() > 2 || !this.mediaElement.isSeeking() && nF(this.mediaElement.Eh(), this.mediaElement.getCurrentTime())) && + (c = this.mediaElement.uc(), c.bh = IF(this.mediaElement).toFixed(3), this.oa("uwe", c)); g.jQ(this.videoData) && this.wb && YUa(this.wb, this.mediaElement.getCurrentTime()); break; case "resize": o5a(this); this.videoData.B && this.videoData.B.video.quality === "auto" && this.publish("internalvideoformatchange", this.videoData, !1); break; case "pause": if (this.bX && g.U(this.playerState, 8) && !g.U(this.playerState, 1024) && this.getCurrentTime() === 0 && g.Rt) { w_(this, "safari_autoplay_disabled"); return } + }if (this.mediaElement && this.mediaElement.Zh() === + b) { + j4a(this.Qc, a, this.wb || void 0); this.publish("videoelementevent", a); b = this.playerState; d = this.mE; var e = this.mediaElement; c = this.videoData.clientPlaybackNonce; var f = g.jQ(this.videoData) && this.wb ? dX(this.wb) : void 0; if (!g.U(b, 128)) { + var h = b.state; e = e ? e : a.target; var l = e.getCurrentTime(); if (!g.U(b, 64) || a.type !== "ended" && a.type !== "pause") { + f = f || e.getDuration(); f = e.isEnded() || l > 1 && Math.abs(l - f) < 1.1; var m = a.type === "pause" && e.isEnded(); l = a.type === "ended" || a.type === "waiting" || a.type === "timeupdate" && !g.U(b, + 4) && !$Z(d, l); if (m || f && l) e.bK() > 0 && e.Zh() && (h = 14); else switch (a.type) { + case "error": KF(e) && (h |= 128); break; case "pause": g.U(b, 256) ? (h ^= 256) || (h = 64) : g.U(b, 32) || g.U(b, 2) || g.U(b, 4) || (h = 4, g.U(b, 1) && g.U(b, 8) && (h |= 1)); break; case "playing": l = h; h = (h | 8) & -1093; l & 4 ? (h |= 1, MF(d, e)) : $Z(d, e.getCurrentTime()) && (h &= -2); g.U(b, 1) && MF(d, e) && (h |= 1); break; case "seeking": h |= 16; g.U(b, 8) && (h |= 1); h &= -3; break; case "seeked": h &= -17; MF(d, e); break; case "waiting": g.U(b, 2) || (h |= 1); MF(d, e); break; case "timeupdate": l = g.U(b, 16), f = g.U(b, + 4), (g.U(b, 8) || l) && !f && $Z(d, e.getCurrentTime()) && (h = 8), MF(d, e) && (h |= 1) + } + } d = h; h = null; d & 128 && (h = a.target, e = KF(h), l = 1, e ? (e === "capability.changed" && (l = 2), f = "GENERIC_WITHOUT_LINK", m = h.uc(), m.mediaElem = "1", /AUDIO_RENDERER/.test(h.Xf()) && (f = "HTML5_AUDIO_RENDERER_ERROR"), h = { errorCode: e, errorMessage: g.EU[f] || "", wP: f, fM: EE(m), cA: l, cpn: b.eh ? b.eh.cpn : "" }) : h = null, h && (h.cpn = c)); b = NF(b, d, h) + } !g.U(this.playerState, 1) && g.U(b, 1) && l5a(this, "evt" + a.type); this.Ec(b) + } + } + }; + g.k.eaa = function (a) { a = a.j.availability === "available"; a !== this.HF && (this.HF = a, this.publish("airplayavailabilitychange")) }; + g.k.faa = function () { var a = (0, g.Zt)(), b = this.mediaElement.ji(); this.oa("airplay", { ia: b }); !b && !isNaN(this.QK) && a - this.QK < 2E3 || (this.QK = a, b !== this.ji() && (a = this.visibility, a.j !== b && (a.j = b, a.If()), this.oa("airplay", { rbld: b }), FZ(this)), this.publish("airplayactivechange")) }; + g.k.wF = function (a) { if (this.ya) { var b = this.ya, c = b.C, d = b.getCurrentTime(), e = Date.now() - c.Y; c.Y = NaN; c.oa("sdai", { adfetchdone: a, d: e }); a && !isNaN(c.N) && c.B !== 3 && IXa(c.ya, d, c.N, c.G); c.policy.G ? c.C = NaN : c.D = NaN; bY(c, 4, c.B === 3 ? "adfps" : "adf"); tZ(b) } }; + g.k.Tc = function (a) { + var b = this; a = a === void 0 ? !1 : a; if (this.mediaElement && this.videoData) { + c4a(this.Qc, this.isPlaying()); var c = this.getCurrentTime(); !this.ya || g.U(this.playerState, 4) && g.IQ(this.videoData) || gQ(this.videoData) && g.U(this.playerState, 32) || O0a(this.ya, c); c > 5 && (this.Qc.D = c); var d = g.zt(); d ? g.Zo.jk(this.Cy) : g.Mr(this.Cy); var e = this.mediaElement.isPaused(); if ((this.playerState.isBuffering() || !e || $Q(this.videoData)) && !g.U(this.playerState, 128)) { + var f = function () { + if (b.mediaElement && !g.U(b.playerState, + 128)) { + b.W.Ac() && m5a(b, "pfx"); var l = b.getCurrentTime(), m = IF(b.mediaElement), n = g.U(b.playerState, 8), p = $Z(b.mE, l), q = Uwa(b.mE, l, (0, g.Zt)(), m); n && p ? b.Ec(PF(b.playerState, 1)) : n && q ? (n = b.getDuration(), p = fQ(b.videoData), n && Math.abs(n - l) < 1.1 ? (b.oa("setended", { ct: l, bh: m, dur: n, live: p }), b.mediaElement.Wt() ? (b.logger.debug("seek to 0 because of looping"), b.seekTo(0, { Zc: "videoplayer_loop", seekSource: 37 })) : zW(b)) : (b.playerState.isBuffering() || l5a(b, "progress_fix"), b.Ec(OF(b.playerState, 1)))) : (n && !p && !q && l > 0 && (n = + (Date.now() - b.YF) / 1E3, p = b.getDuration(), l > p - 1 && b.oa("misspg", { t: l.toFixed(2), d: p.toFixed(2), r: n.toFixed(2), bh: m.toFixed(2) })), b.playerState.isPaused() && b.playerState.isBuffering() && IF(b.mediaElement) > 5 && b.Ec(PF(b.playerState, 1))); b.Tc() + } + }; + this.mediaElement.mx().length === 0 ? this.Cy = d ? g.Zo.Vi(f, 100) : g.Kr(f, 100) : this.Cy = d ? g.Zo.Vi(f, 500) : g.Kr(f, 500) + } this.videoData.Vk = c; if (this.L("html5_ssap_vss_fix")) { var h; (h = this.wb) == null || iVa(h) } !a && this.isPlaying() && f5a(this); k2a(this.Ok, this.Jf, this.Ke(), this.isBackground()) && p_(this); this.publish("progresssync", this, a); e && $Q(this.videoData) && this.publish("onVideoProgress", this, this.getCurrentTime()) + } + }; + g.k.s9 = function () { this.Lf("ad.rebuftimeout", 2, "RETRYABLE_ERROR", "vps." + this.playerState.state.toString(16)) }; + g.k.jF = function () { return this.hc().jF() }; + g.k.JP = function () { return this.ya ? this.ya.JP() : CO(this.W.schedule, !0) }; + g.k.Ec = function (a) { + if (g.RF(this.playerState, a)) this.W.Ac() && a.seekSource !== this.playerState.seekSource && this.oa("ssdiff", { ps: (this.playerState.seekSource || "").toString(), ns: (a.seekSource || "").toString() }); else { + this.logger.debug(function () { return "Setting state " + a.toString() }); + var b = new g.Oy(a, this.playerState); this.playerState = a; n5a(this); var c = !this.YL.length; this.YL.push(b); var d = this.mediaElement && this.mediaElement.isSeeking(); d = b.xB.state === 8 && !d; g.Qy(b, 1) && d && g.U(this.playerState, 8) && !g.U(this.playerState, 64) && this.ya && (n0a(this.ya), this.mediaElement && IF(this.mediaElement) >= 5 && i2a(this.Ok, this.Jf) && p_(this)); (d = g.AC(this.W.experiments, "html5_ad_timeout_ms")) && this.videoData.isAd() && g.U(a, 1) && (g.U(a, 8) || g.U(a, 16)) ? this.hO.start(d) : this.hO.stop(); (Py(b, 8) < 0 || g.Qy(b, + 1024)) && this.Px.stop(); !g.Qy(b, 8) || this.videoData.Ba || g.U(b.state, 1024) || this.Px.start(); g.U(b.state, 8) && Py(b, 16) < 0 && !g.U(b.state, 32) && !g.U(b.state, 2) && this.playVideo(); g.U(b.state, 2) && JQ(this.videoData) && (this.Xo(this.getCurrentTime()), this.Tc(!0)); g.Qy(b, 2) && (this.vM(!0), this.W.Ac() && this.L("html5_sabr_parse_live_metadata_playback_boundaries") && gQ(this.videoData) && this.videoData.j && (d = { + minst: "" + this.videoData.j.Fa, cminst: "" + (this.videoData.j.Xc() + this.Dc()), maxst: "" + this.videoData.j.Z, hts: "" + this.videoData.j.Ba, + cmaxst: "" + (this.videoData.j.Vd() + this.Dc()) + }, this.oa("sabrSeekableBoundaries", d))); g.Qy(b, 128) && this.Vo(); this.videoData.j && this.videoData.isLivePlayback && !this.y3 && (Py(b, 8) < 0 ? uIa(this.videoData.j) : g.Qy(b, 8) && this.videoData.j.resume()); a4a(this.Qc, b); kVa(this.hc(), b); if (c && !this.La()) try { for (var e = g.w(this.YL), f = e.next(); !f.done; f = e.next()) { var h = f.value; E3a(this.Bh, h); this.publish("statechange", h) } } finally { this.YL.length = 0 } + } + }; + g.k.xG = function () { this.videoData.isLivePlayback || this.L("html5_disable_connection_issue_event") || this.publish("connectionissue") }; + g.k.mS = function () { this.Lb.tick("qoes") }; + g.k.CP = function () { this.Qc.CP() }; + g.k.zL = function (a, b, c, d) { a: { var e = this.yl; d = d === void 0 ? "LICENSE" : d; c = c.substr(0, 256); var f = GE(b); a === "drm.keyerror" && this.Ae && this.Ae.B.keys.length > 1 && e.D < 96 && (a = "drm.sessionlimitexhausted", f = !1); if (f) if (e.videoData.B && e.videoData.B.video.isHdr()) Z1a(e, a); else { if (e.ea.Lf(a, b, d, c), Q1a(e, { detail: c })) break a } else e.Id(a, { detail: c }); a === "drm.sessionlimitexhausted" && (e.oa("retrydrm", { sessionLimitExhausted: 1 }), e.D++, k5a(e.ea)) } }; + g.k.Waa = function () { var a = this, b = g.AC(this.W.experiments, "html5_license_constraint_delay"), c = ws(); b && c ? (b = new g.fp(function () { x_(a); u_(a) }, b), g.P(this, b), b.start()) : (x_(this), u_(this)) }; + g.k.AG = function (a) { this.publish("heartbeatparams", a) }; + g.k.tq = function (a) { + this.oa("keystatuses", t1a(a)); var b = "auto", c = !1; this.videoData.B && (b = this.videoData.B.video.quality, c = this.videoData.B.video.isHdr()); if (this.L("html5_drm_check_all_key_error_states")) { var d = u1a(b, c); d = zZ(a) ? v1a(a, d) : a.D.includes(d) } else { a: { b = u1a(b, c); for (d in a.j) if (a.j[d].status === "output-restricted") { var e = a.j[d].type; if (b === "" || e === "AUDIO" || b === e) { d = !0; break a } } d = !1 } d = !d } if (this.L("html5_enable_vp9_fairplay")) { + if (c) if (a.Z) { + var f; if ((f = this.Ae) == null ? 0 : WN(f.j)) if ((c = this.Ae) == + null) c = 0; else { b = f = void 0; e = g.w(c.B.values()); for (var h = e.next(); !h.done; h = e.next())h = h.value, f || (f = w1a(h, "SD")), b || (b = w1a(h, "AUDIO")); c.vj({ sd: f, audio: b }); c = f === "output-restricted" || b === "output-restricted" } else c = !d; if (c) { this.oa("drm", { dshdr: 1 }); Z1a(this.yl); return } + } else { this.videoData.PD || (this.videoData.PD = !0, this.oa("drm", { dphdr: 1 }), EZ(this, !0)); return } var l; if ((l = this.Ae) == null ? 0 : WN(l.j)) return + } else if (l = a.Z && d, c && !l) { Z1a(this.yl); return } d || v1a(a, "AUDIO") && v1a(a, "SD") || (this.logger.debug("All formats are output restricted, Retry or Abort"), + a = t1a(a), this.mT ? (this.logger.debug("Output restricted, playback cannot continue"), this.publish("drmoutputrestricted"), this.L("html5_report_fatal_drm_restricted_error_killswitch") || this.Lf("drm.keyerror", 2, void 0, "info." + a)) : (this.mT = !0, this.Id(new FE("qoe.restart", Object.assign({}, { retrydrm: 1 }, a))), p_(this), k5a(this))) + }; + g.k.Yaa = function () { + if (!this.videoData.Ba && this.mediaElement && !this.isBackground()) { + var a = "0"; this.mediaElement.jl() > 0 && IF(this.mediaElement) >= 5 && this.videoData.C && this.videoData.C.j && (this.Ec(OF(this.playerState, 1)), l5a(this, "load_soft_timeout"), this.publish("playbackstalledatstart"), a = "1"); n5a(this); var b = this.videoData.C; a = { + restartmsg: a, mfmt: !qQ(this.videoData), mdrm: !(!(b && b.videoInfos && b.videoInfos.length && b.videoInfos[0].me) || this.Ae), mfmtinfo: !this.videoData.B, prerolls: this.oo() ? this.zq.join(",") : + "0" + }; if (this.Ae) { b = this.Ae; if (b.B.size <= 0) { var c = "ns;"; b.Y || (c += "nr;"); b = c += "ql." + b.C.length } else b = t1a(b.B.values().next().value), b = EE(b); a.drmp = b } var d; Object.assign(a, ((d = this.ya) == null ? void 0 : d.uc()) || {}); var e; Object.assign(a, ((e = this.mediaElement) == null ? void 0 : e.uc()) || {}); this.hc().Id("qoe.start15s", EE(a)); this.publish("loadsofttimeout") + } + }; + g.k.Xo = function (a) { this.videoData.lengthSeconds !== a && (this.videoData.lengthSeconds = a, u_(this)) }; + g.k.vM = function (a) { + var b = this; a = a === void 0 ? !1 : a; if (!this.VI) if (sA("att_s", "player_att") || uA("att_s", void 0, "player_att"), this.L("use_rta_for_player")) (function () { + var d, e, f, h; return g.J(function (l) { + switch (l.j) { + case 1: if (!(d = a)) { l.Ha(2); break } return g.G(l, g.qua(), 3); case 3: d = !l.B; case 2: if (d) return l.return(); g.va(l, 4); e = t3a(b.hc()); if (!e) throw Error(); f = {}; return g.G(l, g.pua((f.cpn = b.videoData.clientPlaybackNonce, f.encryptedVideoId = b.videoData.videoId || "", f), 3E4), 6); case 6: h = l.B; if (b.VI) throw Error(); + if (!h.challenge) throw g.fx(Error("Not sending attestation ping; no attestation challenge string")), Error(); b.VI = !0; var m = [h.challenge]; h.error ? m.push("r1c=" + h.error) : h.webResponse && m.push("r1a=" + h.webResponse); var n; ((n = h.adblockReporting) == null ? void 0 : n.reportingStatus) !== void 0 && m.push("r6a=" + h.adblockReporting.reportingStatus); var p; ((p = h.adblockReporting) == null ? void 0 : p.broadSpectrumDetectionResult) !== void 0 && m.push("r6b=" + h.adblockReporting.broadSpectrumDetectionResult); e(m.join("&")); uA("att_f", + void 0, "player_att"); g.wa(l, 0); break; case 4: g.xa(l), uA("att_e", void 0, "player_att"), g.ua(l) + } + }) + })().then(function () { }); + else { var c = new g.TBa(this.videoData); if ("c1a" in c.yr && !g.WK.isInitialized()) { uA("att_wb", void 0, "player_att"); this.uO === 2 && Math.random() < .01 && g.fx(Error("Botguard not available after 2 attempts")); if (a) return; if (this.uO < 5) { g.gp(this.wO); this.uO++; return } } (c = g.UBa(c)) ? (uA("att_f", void 0, "player_att"), s3a(this.hc(), c), this.VI = !0) : uA("att_e", void 0, "player_att") } + }; + g.k.Vd = function (a) { return this.Qc.Vd(a === void 0 ? !1 : a) }; + g.k.Xc = function () { return this.Qc.Xc() }; + g.k.Dc = function () { return this.Qc ? this.Qc.Dc() : 0 }; + g.k.getStreamTimeOffset = function () { return this.Qc ? this.Qc.getStreamTimeOffset() : 0 }; + g.k.du = function () { var a = 0; this.W.L("web_player_ss_media_time_offset") && (a = this.getStreamTimeOffset() === 0 ? this.Dc() : this.getStreamTimeOffset()); return a }; + g.k.setPlaybackRate = function (a) { var b; this.playbackRate !== a && d2a(this.Ok, (b = this.videoData.C) == null ? void 0 : b.videoInfos) && (this.playbackRate = a, p_(this)); this.playbackRate = a; this.mediaElement && this.mediaElement.setPlaybackRate(a) }; + g.k.getPlaybackRate = function () { return this.playbackRate }; + g.k.getPlaybackQuality = function () { var a = "unknown"; if (this.videoData.B && (a = this.videoData.B.video.quality, a === "auto" && this.mediaElement)) { var b = F4a(this); b && b.videoHeight > 0 && (a = QE(b.videoWidth, b.videoHeight)) } return a }; + g.k.isHdr = function () { return !!(this.videoData.B && this.videoData.B.video && this.videoData.B.video.isHdr()) }; + g.k.Ys = function () { this.hc().Ys() }; + g.k.sendVideoStatsEngageEvent = function (a, b) { var c = this.hc(); c.j ? (c = SZ(c.j, "engage"), c.qa = a, c.send(b)) : b && b() }; + g.k.Ki = function (a) { return this.hc().Ki(a) }; + g.k.isAtLiveHead = function (a, b) { b = b === void 0 ? !1 : b; return fQ(this.videoData) && (this.ZY || b) ? this.Qc.isAtLiveHead(a) : !1 }; + g.k.Kr = function () { var a = this.Vd(), b = this.getCurrentTime(), c; (c = !fQ(this.videoData)) || (c = this.Qc, c = !(c.j && c.j.C)); return c || this.gq() || isNaN(a) || isNaN(b) ? 0 : Math.max(0, a - b) }; + g.k.Mo = aa(23); g.k.Tu = aa(52); g.k.Uo = function (a) { this.hc().Uo(a) }; + g.k.Jy = function (a) { this.hc().Jy(a) }; + g.k.Oj = aa(27); g.k.jj = aa(31); g.k.fH = function (a) { this.hc().fH(a) }; + g.k.vF = function () { return this.mediaElement ? this.mediaElement.getVideoPlaybackQuality() : {} }; + g.k.setLoop = function (a) { this.loop = a; this.mediaElement && gP(this.W) && this.mediaElement.setLoop(a); this.ya && this.L("html5_loop_skip_set_end_of_stream") && (a ? this.ya.policy.Xa = !0 : o0a(this.ya)) }; + g.k.Wt = function () { return this.mediaElement && gP(this.W) ? this.mediaElement.Wt() : this.loop }; + g.k.tS = function (a) { this.oa("timestamp", { o: a.toString() }); this.Qc.tS(a) }; + g.k.Md = function (a) { this.Lb.tick(a) }; + g.k.wg = function (a) { return this.Lb.wg(a) }; + g.k.Dv = function (a) { this.Lb.Dv(a) }; + g.k.oa = function (a, b, c) { c = c === void 0 ? !1 : c; this.hc().oa(a, b, c) }; + g.k.Fy = function (a, b, c) { c = c === void 0 ? !1 : c; this.hc().oa(a, b, c) }; + g.k.Id = function (a) { this.hc().Id(a.errorCode, EE(a.details)); a = a.errorCode; if (this.videoData.isLivePlayback && (a === "qoe.longrebuffer" || a === "qoe.slowseek")) { a = this.ya ? SYa(this.ya.videoTrack) : {}; var b, c; this.oa("lasoe", Object.assign(this.ya ? SYa(this.ya.audioTrack) : {}, (b = this.Qa) == null ? void 0 : (c = b.j) == null ? void 0 : c.ZJ())); var d, e; this.oa("lvsoe", Object.assign(a, (d = this.Qa) == null ? void 0 : (e = d.B) == null ? void 0 : e.ZJ())) } }; + g.k.eH = function (a, b, c) { this.hc().eH(a, b, c) }; + g.k.oP = function (a) { this.videoData.O2 = !0; this.Id(new FE("sabr.fallback", a)); EZ(this, !0) }; + g.k.getPlayerSize = function () { return this.MH.getPlayerSize() }; + g.k.ai = function () { return this.MH.ai() }; + g.k.Wh = function () { return this.Lb }; + g.k.Nr = function () { return this.Ad.Nr() }; + g.k.getVolume = function () { return this.Ad.getVolume() }; + g.k.IF = function () { return this.Ad.IF() }; + g.k.isMuted = function () { return this.Ad.isMuted() }; + g.k.gA = function () { return this.Ad.gA() }; + g.k.L = function (a) { return this.W.L(a) }; + g.k.Ps = function () { + var a = this.getCurrentTime(), b = a - this.Dc(); var c = this.mediaElement ? pF(this.mediaElement.Eh()) : 0; c = Math.floor(Math.max(c - b, 0)) + 100; var d = !this.L("html5_ssdai_disable_seek_to_skip"), e = this.L("html5_enable_sabr_ssdai"), f; if (d && ((f = this.ya) == null ? 0 : f.vH(b, this.Vd()))) return this.oa("sdai", { skipad: 1, ct: b.toFixed(3), adj: 0 }), !0; var h; return ((h = this.ya) == null ? 0 : h.Ps(b, c)) ? (this.oa("sdai", { skipad: 1, ct: b.toFixed(3), adj: c.toFixed(3) }), e && this.ya.seek(b + c, { seekSource: 89, Zc: "videoplayer_skipServerStitchedAd" }), + l4a(this.Qc, a), !0) : !1 + }; + g.k.Ac = function () { return this.W.Ac() }; + g.k.Yt = function () { if (this.L("html5_bandaid_attach_content_po_token") && this.videoData.videoId) return this.videoData.lw || this.Ad.zR(this.videoData.videoId); this.Ad.wU(); return this.W.Uf || "" }; + g.k.eK = function () { if (this.videoData.videoId) return this.videoData.g4 }; + g.k.nf = function () { return this.videoData.videoId }; + g.k.tA = function () { return this.Ad.uy }; + g.k.wu = function () { return this.Ad.wu() }; + g.k.dC = function (a, b) { this.Qc.dC(a, b) }; + g.k.sE = function () { this.Qc.sE() }; + g.k.Vm = function (a) { this.Ad.Vm(a) }; + g.k.pS = function (a, b) { this.Ad.pS(a, b) }; + g.k.aT = function (a, b) { var c; (c = this.ya) == null || c.aT(a, b) }; + g.k.GO = function () { var a = this.Lr(); return !!a && a.GO() }; + g.k.Bf = function () { return this.wb }; + g.k.EH = function (a, b) { this.hc().EH(a, b) }; + g.k.oF = function () { return this.hc().oF() }; + g.k.vA = function () { return this.videoData.PY }; + g.k.tC = function (a) { this.videoData.PY = a }; + g.k.Do = function () { return this.Ad.Do() }; + g.k.OF = function () { return this.Ad.OF(this) }; + g.k.CH = function (a) { this.videoData.g4 = a }; g.z(g.C_, g.O); g.C_.create = function (a, b, c, d) { + try { + var e = typeof a === "string" ? a : "player" + g.Ta(a), f = y2[e]; if (f) { try { f.dispose() } catch (l) { g.ex(l) } y2[e] = null } var h = new g.C_(a, b, c, d); h.addOnDisposeCallback(function () { y2[e] = null; h.r3 && h.r3() }); + return y2[e] = h + } catch (l) { throw g.ex(l), (l && l instanceof Error ? l : Error(String(l))).stack; } + }; + g.k = g.C_.prototype; g.k.bj = function () { return this.visibility }; + g.k.getVisibilityState = function (a, b, c, d, e, f, h, l) { return this.visibility.getVisibilityState(a, b, c, d, e, f, h, l) }; + g.k.Im = function () { this.NQ || (this.NQ = g.IA(fS(), HBa())); return this.NQ }; + g.k.Rj = function () { if (this.mediaElement) { this.MC && (this.events.Oc(this.MC), this.MC = null); g.Ys(this.Lu); this.xb && this.xb.Rj(!0); this.template.Rj(); try { this.L("html5_use_async_stopVideo") ? this.mediaElement.dispose() : this.mediaElement.lM() } catch (a) { g.fx(a) } this.mediaElement = null } }; + g.k.Vc = function () { return this.xb }; + g.k.Hy = function () { var a = this; this.xb !== this.tb && (this.logger.debug(function () { var b, c; return "release presenting player, type " + ((b = a.xb) == null ? void 0 : b.getPlayerType()) + ", vid " + ((c = a.xb) == null ? void 0 : c.getVideoData().videoId) }), AW(this, this.tb)) }; + g.k.Wz = function (a, b, c) { var d = this, e = this.Lb; a === 2 && (e = new dOa(this.W)); return new g.r_(this.W, a, e, this.template, function (f, h, l) { d.Ua.publish(f, h, l) }, function () { return d.Ua.getVisibilityState() }, this.visibility, this, b, c) }; + g.k.naa = function () { I_(this) || (this.logger.debug("application playback ready"), this.Mq(5)) }; + g.k.wba = function (a) { if (!I_(this)) { this.logger.debug("playback ready"); d6a(this); var b = a.getPlayerState(); a.MF() ? this.pauseVideo() : b.isOrWillBePlaying() && this.playVideo() } }; + g.k.canPlayType = function (a) { return JE(a) }; + g.k.U = function () { return this.W }; + g.k.getVideoData = function () { return this.xb.getVideoData() }; + g.k.tF = aa(17); g.k.Od = function () { return this.tb.getVideoData() }; + g.k.getVideoLoadedFraction = function (a) { a = g.qR(this, a); return a ? g.YQ(a.getVideoData()) ? 1 : (a = a.Ke()) ? a.ix() : 0 : 0 }; + g.k.qb = function () { return this.template }; + g.k.Bb = function () { return this.Rd }; + g.k.Wh = function () { return this.Lb }; + g.k.rC = function (a) { var b = g.qR(this, 1); b && zW(b, a) }; + g.k.Nr = function () { var a = this.Rd.Nr(); this.Ua.publish("videoStatsPingCreated", a); return a }; + g.k.getVolume = function () { return Math.round(this.Ua.getVolume()) }; + g.k.IF = function () { return this.Ua.isFullscreen() }; + g.k.isMuted = function () { return this.Ua.isMuted() }; + g.k.gA = function () { if (this.xb === this.tb && this.Db) return this.Db.postId }; + g.k.oda = function () { var a = this; this.L("use_rta_only_for_player") || (g.OC(this.W) ? g.kP(this.W, g.VQ(this.getVideoData())).then(function (b) { gS(fS(), b); gMa(a.getVideoData(), a.W, a.Im()) }) : gMa(this.getVideoData(), this.W, this.Im())) }; + g.k.GP = function (a) { var b = this; return g.J(function (c) { return b.PB ? c.return(b.PB.GP(a)) : c.return(Promise.reject("web po not available")) }) }; + g.k.gI = function (a) { this.Ua.publish("d6de4videobindingchange", a) }; + g.k.wU = function () { this.PB && this.PB.wU() }; + g.k.zR = function (a) { return this.PB ? this.PB.zR(a) : "" }; + g.k.BT = function (a) { this.PB = a }; + g.k.bH = function (a) { a === 1 && (this.Lb.tick("vr"), d5a(this.xb), eOa(this.Lb, this.xb.getVideoData(), c6a(this)), YOa(this.Rd)); var b = this.W; (hP(b) && b.N || g.PO(b)) && (this.Ef() || this.Ua.Ai("onAdStateChange", a)) }; + g.k.setLoopVideo = function (a) { this.xb === this.tb && this.xb.Wt() !== a && (this.xb.setLoop(a), this.Ua.ib("onLoopChange", a)) }; + g.k.getLoopVideo = function () { return this.xb.Wt() }; + g.k.setLoopRange = function (a) { + var b = !1; !!this.Db !== !!a ? b = !0 : this.Db && a && (b = this.Db.startTimeMs !== a.startTimeMs || this.Db.endTimeMs !== a.endTimeMs || this.Db.postId !== a.postId || this.Db.type !== a.type); if (b) { + if (this.xb && rQ(this.getVideoData())) { b = (a == null ? void 0 : a.endTimeMs) || -1; var c; (c = g.qR(this)) == null || c.oa("slr", { et: b }) } this.tb.Bh.rf("applooprange"); if (a) c = new g.qD(a.startTimeMs, a.endTimeMs, { id: "looprange", namespace: "applooprange" }), this.tb.addCueRange(c); else { + this.Od().clipConfig = void 0; var d, e; ((d = + this.Db) == null ? void 0 : d.type) !== "repeatChapter" || isNaN(Number((e = this.Db) == null ? void 0 : e.loopCount)) || (c = { loopCount: String(this.Db.loopCount), cpn: this.getVideoData().clientPlaybackNonce }, g.Ht("repeatChapterLoopEvent", c)) + } this.Db = a; this.Ua.ib("onLoopRangeChange", a || void 0); this.xb === this.tb && (this.uM(), this.xb.kp()) + } + }; + g.k.getLoopRange = function () { return this.Db }; + g.k.uM = function () { var a = ""; this.Db ? this.xb !== this.tb ? a = "pnea" : P5a(this, this.tb.getCurrentTime()) && (this.Db.loopCount = 0, a = "ilr") : a = "nlr"; if (this.xb && rQ(this.getVideoData())) if (this.L("html5_gapless_log_loop_range_info")) { var b, c, d; (d = g.qR(this)) == null || d.oa("slrre", { rej: a, ct: this.tb.getCurrentTime(), lst: (b = this.Db) == null ? void 0 : b.startTimeMs, let: (c = this.Db) == null ? void 0 : c.endTimeMs }) } else { var e; (e = g.qR(this)) == null || e.oa("slrre", {}) } a || T5a(this) }; + g.k.setPlaybackRate = function (a, b) { isNaN(a) || (a = v5a(this, a), this.tb.getPlaybackRate() !== a && (this.tb.setPlaybackRate(a), b && !this.W.D && g.bt("yt-player-playback-rate", a), this.Ua.Ai("onPlaybackRateChange", a))) }; + g.k.getCurrentTime = function (a, b, c) { + b = b === void 0 ? !0 : b; if (this.getPresentingPlayerType() === 3) return BR(this.Rd).getCurrentTime(); var d = a === 2 && this.getVideoData().enableServerStitchedDai, e = g.jQ(this.getVideoData()); a = d || e ? g.qR(this) : g.qR(this, a); if (!a) return 0; if (e && this.wb) return b = this.wb, a = a.getCurrentTime(), c ? c = eX(b, c) : (c = bVa(b, a), c = a - c / 1E3), c; if (b) { if (d && this.ue && (c = this.ue.Wa / 1E3, c !== 0)) return c; c = H_(this, a); return Q_(this, c.getCurrentTime(), c) } d && this.ue ? (c = this.ue, a = a.getCurrentTime(), c = (c = FUa(c, + a * 1E3)) ? a - c.start / 1E3 : a) : c = a.getCurrentTime(); return c + }; + g.k.pA = function () { var a = g.qR(this); if (!a) return 0; a = H_(this, a); return Q_(this, a.pA(), a) }; + g.k.getDuration = function (a, b) { + b = b === void 0 ? !0 : b; var c = this.getVideoData(), d = a === 2 && c.enableServerStitchedDai, e = g.jQ(c); var f = d || e ? g.qR(this) : g.qR(this, a); if (!f) return 0; if (c.hasProgressBarBoundaries() && !d && !e) { var h, l = Number((h = c.progressBarStartPosition) == null ? void 0 : h.utcTimeMillis), m; c = Number((m = c.progressBarEndPosition) == null ? void 0 : m.utcTimeMillis); if (!isNaN(l) && !isNaN(c)) return (c - l) / 1E3 } if (e && this.wb) return this.L("html5_ssap_enable_duration_by_cpn") ? b = cVa(this.wb, this.wb.Cl()) : (b = this.wb, d = + b.ea.getCurrentTime() * 1E3, b = (b = $W(b, d)) ? (b.Yh() - b.Ze()) / 1E3 : 0), a === 1 && b === 0 ? f.getDuration() : b; if (b) return f = G_(this, f), Q_(this, f.getDuration(), f); d && this.ue ? (a = this.ue, f = f.getCurrentTime(), f = (f = GUa(a, f * 1E3)) ? f.durationMs / 1E3 : 0) : f = f.getDuration(); return f + }; + g.k.bf = function (a) { var b = g.qR(this, a); return b ? this.Ef(b) ? (b = G_(this, b), b.bf() - b.getCurrentTime() + this.getCurrentTime(a)) : b.bf() : 0 }; + g.k.addPlayerResponseForAssociation = function (a) { this.wb && this.wb.addPlayerResponseForAssociation(a) }; + g.k.finishSegmentByCpn = function (a, b) { return this.wb ? this.wb.finishSegmentByCpn(a, b) : [] }; + g.k.lP = function () { this.template.lP(); var a = this.Ua; a.state.element = this.template.element; var b = a.state.element, c; for (c in a.state.j) a.state.j.hasOwnProperty(c) && (b[c] = a.state.j[c]); (a = Dna(this.template.element)) && this.events.T(this.template, a, this.onFullscreenChange); this.events.T(window, "resize", this.Tba) }; + g.k.getDebugText = function (a) { + var b = this.tb.uc(a); if (this.xb && this.xb !== this.tb) { + for (var c = this.xb.uc(a), d = g.w(Object.keys(c)), e = d.next(); !e.done; e = d.next())e = e.value, b["ad" + e] = c[e]; if (a) { + c = b; d = {}; if (e = $d(document, "movie_player")) d.bounds = e.getBoundingClientRect(), d["class"] = e.className; e = {}; var f = g.de("video-ads"); f ? (j6a(f, e), e.html = f.outerHTML) : e.missing = 1; f = {}; var h = g.de("videoAdUiSkipContainer"), l = g.de("ytp-ad-skip-button-container"), m = g.de("ytp-skip-ad-button"), n = h || l || m; n ? (j6a(n, f), f.ima = h ? 1 : + 0, f.bulleit = l ? 1 : 0, f.component = m ? 1 : 0) : f.missing = 1; d = JSON.stringify({ player: d, videoAds: e, skipButton: f }); c.ad_skipBtnDbgInfo = d + } + } a && this.mediaElement && (b["0sz"] = "" + (+this.mediaElement.getSize().area() === 0), b.op = this.mediaElement.sF("opacity"), c = this.mediaElement.Zt().y + this.mediaElement.getSize().height, b.yof = "" + (+c <= 0), b.dis = this.mediaElement.sF("display")); a && ((a = (0, g.NZ)()) && (b.gpu = a), (a = this.W.playerStyle) && (b.ps = a), this.W.Wa && (b.webview = 1)); b.debug_playbackQuality = this.Ua.getPlaybackQuality(1); b.debug_date = + (new Date).toString(); b.origin = window.origin; b.timestamp = Date.now(); delete b.uga; delete b.q; return JSON.stringify(b, null, 2) + }; + g.k.getFeedbackProductData = function () { var a = { player_debug_info: this.getDebugText(!0), player_experiment_ids: this.U().experiments.experimentIds.join(", "), player_release: "youtube.player.web_20240730_01_RC00" }, b = this.getPlayerStateObject().eh; b && (a.player_error_code = b.errorCode, a.player_error_details = JSON.stringify(b.errorDetail)); return a }; + g.k.getPresentingPlayerType = function (a) { if (this.appState === 1) return 1; if (I_(this)) return 3; var b; if (a && ((b = this.ue) == null ? 0 : b.Hl(this.getCurrentTime()))) return 2; var c; return g.jQ(this.getVideoData()) && ((c = this.wb) == null ? 0 : c.Hl()) ? 2 : g.qR(this).getPlayerType() }; + g.k.PA = function () { return g.jQ(this.getVideoData()) && this.wb ? this.wb.PA() : !1 }; + g.k.getPlayerStateObject = function (a) { return this.getPresentingPlayerType() === 3 ? BR(this.Rd).Ee : g.qR(this, a).getPlayerState() }; + g.k.getAppState = function () { return this.appState }; + g.k.HL = function (a) { + switch (a.type) { + case "loadedmetadata": this.rM.start(); a = g.w(this.jC); for (var b = a.next(); !b.done; b = a.next())b = b.value, a6a(this, b.id, b.ofa, b.nfa, void 0, !1); this.jC = []; break; case "loadstart": this.Lb.Dv("gv"); break; case "progress": case "timeupdate": pF(a.target.Eh()) >= 2 && this.Lb.Dv("l2s"); break; case "playing": g.eP && this.rM.start(); if (g.OC(this.W)) a = !1; else { + b = g.ER(this.Bb()); a = this.mediaElement.sF("display") === "none" || this.mediaElement.getSize().area() === 0; var c = tX(this.template), d = this.xb.getVideoData(), + e = g.hz(this.W); d = sQ(d); b = !c || b || e || d || this.W.ob; a = a && !b + } a && (this.xb.oa("hidden", {}, !0), this.getVideoData().yc || (this.getVideoData().yc = 1, this.o0(), this.xb.playVideo())) + } + }; + g.k.onLoadProgress = function (a, b) { this.Ua.Hc("onLoadProgress", b) }; + g.k.sca = function () { this.Ua.publish("playbackstalledatstart") }; + g.k.onVideoProgress = function (a, b) { a = H_(this, a); b = Q_(this, a.getCurrentTime(), a); this.Ua.Hc("onVideoProgress", b) }; + g.k.onAutoplayBlocked = function () { this.Ua.Ai("onAutoplayBlocked") }; + g.k.Gba = function () { this.Ua.publish("progresssync") }; + g.k.vba = function () { this.Ua.Hc("onPlaybackPauseAtStart") }; + g.k.paa = function (a) { + if (this.getPresentingPlayerType() === 1) { + g.Qy(a, 1) && !g.U(a.state, 64) && this.Od().isLivePlayback && this.tb.isAtLiveHead() && this.Ua.getPlaybackRate() > 1 && this.setPlaybackRate(1, !0); if (g.Qy(a, 2)) { if (this.Db && this.Db.endTimeMs >= (this.getDuration() - 1) * 1E3) { T5a(this); return } G5a(this) } if (g.U(a.state, 128)) { + var b = a.state; this.cancelPlayback(5); b = b.eh; JSON.stringify({ errorData: b, debugInfo: this.getDebugText(!0) }); this.Ua.Ai("onError", sMa(b.errorCode)); this.Ua.Hc("onDetailedError", { + errorCode: b.errorCode, + errorDetail: b.errorDetail, message: b.errorMessage, messageKey: b.wP, cpn: b.cpn + }); (0, g.Zt)() - this.W.Sf > 6048E5 && this.Ua.Hc("onReloadRequired") + } b = {}; if (a.state.isPlaying() && !a.state.isBuffering() && !sA("pbresume", "ad_to_video") && sA("_start", "ad_to_video")) { var c = this.getVideoData(); b.clientPlaybackNonce = c.clientPlaybackNonce; c.videoId && (b.videoId = c.videoId); g.qA(b, "ad_to_video"); pA("pbresume", void 0, "ad_to_video"); YOa(this.Rd) } this.Ua.publish("applicationplayerstatechange", a) + } + }; + g.k.J0 = function (a) { this.getPresentingPlayerType() !== 3 && this.Ua.publish("presentingplayerstatechange", a) }; + g.k.Lk = function (a) { F_(this, TF(a.state)); g.U(a.state, 1024) && this.Ua.isMutedByMutedAutoplay() && (O_(this, { muted: !1, volume: this.Ri.volume }, !1), P_(this, !1)) }; + g.k.jaa = function (a, b, c) { a === "newdata" && w5a(this); b = c.clipConfig; a === "dataloaded" && b && b.startTimeMs != null && b.endTimeMs != null && this.setLoopRange({ startTimeMs: Math.floor(Number(b.startTimeMs)), endTimeMs: Math.floor(Number(b.endTimeMs)), postId: b.postId, type: "clips" }) }; + g.k.sG = function (a, b) { this.Ua.Hc("onPlaybackAudioChange", this.Ua.getAudioTrack().dc.name); this.Ua.publish("internalaudioformatchange", this.Ua.getAudioTrack().dc.id, b) }; + g.k.MG = function (a) { var b = this.xb.getVideoData(); a === b && this.Ua.Ai("onPlaybackQualityChange", a.B.video.quality) }; + g.k.onVideoDataChange = function (a, b, c) { + this.logger.debug(function () { return "on video data change " + a + ", player type " + b.getPlayerType() + ", vid " + c.videoId }); + this.W.Ac() && b.oa("vdc", { type: a, vid: c.videoId || "", cpn: c.clientPlaybackNonce || "" }); b === this.tb && (this.W.Fj = c.oauthToken); if (b === this.tb) { + this.getVideoData().enableServerStitchedDai && !this.ue ? this.ue = new g.PW(this.Ua, this.W, this.tb) : !this.getVideoData().enableServerStitchedDai && this.ue && (this.ue.dispose(), this.ue = null); if (this.W.Ac() && g.jQ(c)) { + var d, e; b.oa("ssap", { + vdctype: a, vid: c.videoId || "", cpn: this.getVideoData().clientPlaybackNonce || "", tlcpn: ((d = this.Bq.j) == null ? void 0 : (e = d.getVideoData()) == null ? + void 0 : e.clientPlaybackNonce) || "" + }) + } var f, h; !g.jQ(this.getVideoData()) || a !== "newdata" && a !== "dataloaded" || this.getVideoData().clientPlaybackNonce === ((f = this.Bq.j) == null ? void 0 : (h = f.getVideoData()) == null ? void 0 : h.clientPlaybackNonce) ? !g.jQ(this.getVideoData()) && this.wb && (this.W.Ac() && b.oa("ssap", { tlmdis: 2, vid: c.videoId || "", cpn: c.clientPlaybackNonce || "" }), this.wb.dispose(), this.wb = null) : (rUa(this.Bq), d = OW(this.Bq, 1, 0, this.getDuration(1) * 1E3, this.getVideoData()), this.Bq.enqueue(d, !0), MW(this.Bq, 0, this.getDuration(1) * + 1E3, [d]), sUa(this.Bq, this.getVideoData().clientPlaybackNonce, [d]), this.wb && (this.wb.dispose(), this.wb = null, this.W.Ac() && b.oa("ssap", { tlmdis: 1 })), this.W.Ac() && b.oa("ssap", { tlmcreate: 1 }), this.wb = new WUa(this.Ua, this.Bq, this.tb), this.tb.FH(this.wb)) + } if (a === "newdata") this.logger.debug("new video data, destroy modules"), tU(this.Rd, 2), this.Ua.publish("videoplayerreset", b); else { + if (!this.mediaElement) return; a === "dataloaded" && (this.xb === this.tb ? (UO(c.Da, c.nW), L5a(this)) : J5a(this)); b.getPlayerType() === 1 && (this.W.Va && + i6a(this), this.getVideoData().isLivePlayback && !this.W.Tq && this.Sg("html5.unsupportedlive", 2, "DEVICE_FALLBACK"), c.isLoaded() && ((DLa(c) || this.getVideoData().Rv) && this.Ua.publish("legacyadtrackingpingchange", this.getVideoData()), c.hasProgressBarBoundaries() && V5a(this))); this.Ua.publish("videodatachange", a, c, b.getPlayerType()) + } this.Ua.Hc("onVideoDataChange", { type: a, playertype: b.getPlayerType() }); this.uM(); (d = c.tH) ? this.Ur.DX(d, c.clientPlaybackNonce) : SVa(this.Ur) + }; + g.k.SO = function () { K_(this, null); this.Ua.Hc("onPlaylistUpdate") }; + g.k.Fba = function (a) { + delete this.eM[a.getId()]; this.tb.removeCueRange(a); a: { + a = this.getVideoData(); var b, c, d, e, f, h, l, m, n, p, q = ((b = a.Wa) == null ? void 0 : (c = b.contents) == null ? void 0 : (d = c.singleColumnWatchNextResults) == null ? void 0 : (e = d.autoplay) == null ? void 0 : (f = e.autoplay) == null ? void 0 : f.sets) || ((h = a.Wa) == null ? void 0 : (l = h.contents) == null ? void 0 : (m = l.twoColumnWatchNextResults) == null ? void 0 : (n = m.autoplay) == null ? void 0 : (p = n.autoplay) == null ? void 0 : p.sets); if (q) for (b = g.w(q), c = b.next(); !c.done; c = b.next())if (c = c.value, + e = d = void 0, c = c.autoplayVideo || ((d = c.autoplayVideoRenderer) == null ? void 0 : (e = d.autoplayEndpointRenderer) == null ? void 0 : e.endpoint), d = g.R(c, g.mQ), f = e = void 0, c != null && ((e = d) == null ? void 0 : e.videoId) === a.videoId && ((f = d) == null ? 0 : f.continuePlayback)) { a = c; break a } a = null + } (b = g.R(a, g.mQ)) && this.Ua.ib("onPlayVideo", { sessionData: { autonav: "1", itct: a == null ? void 0 : a.clickTrackingParams }, videoId: b.videoId, watchEndpoint: b }) + }; + g.k.Mq = function (a) { var b = this; a !== this.appState && (this.logger.debug(function () { return "app state change " + b.appState + " -> " + a }), a === 2 && this.getPresentingPlayerType() === 1 && (F_(this, -1), F_(this, 5)), this.appState = a, this.Ua.publish("appstatechange", a)) }; + g.k.Sg = function (a, b, c, d, e) { this.tb.Lf(a, b, c, d, e) }; + g.k.Ns = function (a, b) { this.tb.handleError(new FE(a, b)) }; + g.k.isAtLiveHead = function (a, b) { b = b === void 0 ? !1 : b; var c = g.qR(this, a); if (!c) return !1; a = G_(this, c); c = H_(this, c); return a !== c ? a.isAtLiveHead(Q_(this, c.getCurrentTime(), c), !0) : a.isAtLiveHead(void 0, b) }; + g.k.Kr = function () { var a = g.qR(this); return a ? G_(this, a).Kr() : 0 }; + g.k.seekTo = function (a, b, c, d, e) { b = b !== !1; if (d = g.qR(this, d)) this.appState === 2 && M_(this), this.Ef(d) ? R_(this) ? this.ue.seekTo(a, { seekSource: e }, b, c) : this.bd.seekTo(a, { seekSource: e }, b, c) : g.jQ(this.getVideoData()) && this.wb ? this.wb.seekTo(a, { eI: !b, qU: c, Zc: "application", seekSource: e }) : d.seekTo(a, { eI: !b, qU: c, Zc: "application", seekSource: e }) }; + g.k.seekBy = function (a, b, c, d) { this.seekTo(this.getCurrentTime() + a, b, c, d) }; + g.k.DB = function () { this.Ua.Hc("SEEK_COMPLETE") }; + g.k.tL = function () { this.Ua.ib("onAbnormalityDetected") }; + g.k.gca = function (a, b) { var c = a.getVideoData(); if (this.appState === 1 || this.appState === 2) c.startSeconds = b; this.appState === 2 ? g.U(a.getPlayerState(), 512) || M_(this) : this.Ua.Hc("SEEK_TO", b) }; + g.k.onAirPlayActiveChange = function () { this.Ua.publish("airplayactivechange"); this.W.L("html5_external_airplay_events") && this.Ua.Hc("onAirPlayActiveChange", this.Ua.ji()) }; + g.k.onAirPlayAvailabilityChange = function () { this.Ua.publish("airplayavailabilitychange"); this.W.L("html5_external_airplay_events") && this.Ua.Hc("onAirPlayAvailabilityChange", this.Ua.HF()) }; + g.k.showAirplayPicker = function () { var a; (a = this.xb) == null || a.xv() }; + g.k.MR = function () { this.Ua.publish("beginseeking") }; + g.k.yG = function () { this.Ua.publish("contentPoTokenReady") }; + g.k.RR = function () { this.Ua.publish("endseeking") }; + g.k.getStoryboardFormat = function (a) { return (a = g.qR(this, a)) ? G_(this, a).getVideoData().getStoryboardFormat() : null }; + g.k.zk = function (a) { return (a = g.qR(this, a)) ? G_(this, a).getVideoData().zk() : null }; + g.k.Ef = function (a) { a = a || this.xb; var b = !1; if (a) { a = a.getVideoData(); if (R_(this)) a = a === this.ue.ea.getVideoData(); else a: if (b = this.bd, a === b.j.getVideoData() && b.B.length) a = !0; else { b = g.w(b.B); for (var c = b.next(); !c.done; c = b.next())if (a.rd === c.value.rd) { a = !0; break a } a = !1 } b = a } return b }; + g.k.gE = function (a, b, c, d, e, f, h) { + this.logger.debug(function () { return "Adding video to timeline id=" + a.video_id + "\n lengthMs=" + d + " enterTimeMs=" + e }); + var l = "", m = R_(this), n; (n = g.qR(this)) == null || n.oa("appattl", { sstm: this.ue ? 1 : 0, ssenable: this.getVideoData().enableServerStitchedDai, susstm: m }); l = m ? CUa(this.ue, a, b, c, d, e, f, h) : uVa(this.bd, a, c, d, e, f); this.logger.debug(function () { return "Video added to timeline id=" + a.video_id + " timelinePlaybackId=" + l }); + return l + }; + g.k.EF = function (a, b, c, d, e, f, h) { if (R_(this)) { var l = CUa(this.ue, a, b, c, d, e, f, h); this.logger.debug(function () { return "Remaining video added to timeline id=" + a.video_id + " timelinePlaybackId=" + l }) } return "" }; + g.k.Vu = function (a) { var b; (b = this.ue) == null || b.Vu(a) }; + g.k.Jz = function (a, b) { a = a === void 0 ? -1 : a; b = b === void 0 ? Infinity : b; R_(this) || DVa(this.bd, a, b) }; + g.k.hI = function (a, b, c) { if (R_(this)) { var d = this.ue, e = d.wc.get(a); e ? (c === void 0 && (c = e.Xd), e.durationMs = b, e.Xd = c) : d.Kl("Invalid_timelinePlaybackId_" + a + "_specified") } else { d = this.bd; e = null; for (var f = g.w(d.B), h = f.next(); !h.done; h = f.next())if (h = h.value, h.rd === a) { e = h; break } e ? (c === void 0 && (c = e.Xd), CVa(d, e, b, c)) : hX(d, "InvalidTimelinePlaybackId timelinePlaybackId=" + a) } }; + g.k.enqueueVideoByPlayerVars = function (a, b, c, d) { c = c === void 0 ? Infinity : c; d = d === void 0 ? "" : d; this.Ef(); a = new g.WP(this.W, a); d && (a.rd = d); W5a(this, a, b, c) }; + g.k.queueNextVideo = function (a, b, c, d, e) { + c = c === void 0 ? NaN : c; a = this.preloadVideoByPlayerVars(a, b === void 0 ? 1 : b, c, d === void 0 ? "" : d, e === void 0 ? "" : e); b = this.Vc(); a && b && (this.L("html5_check_queue_on_data_loaded") ? this.U().supportsGaplessShorts() && b.getVideoData().Y && (c = this.hN, d = this.Yk.N, c.C !== a && (c.xb = b, c.C = a, c.B = 1, c.j = a.getVideoData(), c.D = d, c.j.isLoaded() ? c.G() : c.j.subscribe("dataloaded", c.G, c))) : (c = yTa(b, a, this.Yk.N), c != null ? (b.oa("sgap", c), b.getVideoData().Y && A_(b, !1)) : (a = a.getVideoData(), b = this.hN, b.j !== + a && (b.j = a, b.B = 1, a.isLoaded() ? b.K() : b.j.subscribe("dataloaded", b.K, b))))) + }; + g.k.HJ = function (a, b, c, d) { var e = this; c = c === void 0 ? 0 : c; d = d === void 0 ? 0 : d; var f = g.qR(this); f && (G_(this, f).y3 = !0); PTa(this.Yk, a, b, c, d).then(function () { e.Ua.Hc("onQueuedVideoLoaded") }, function () { }) }; + g.k.Do = function () { return this.Yk.Do() }; + g.k.OF = function (a) { return this.Yk.OF(a) }; + g.k.clearQueue = function (a, b) { a = a === void 0 ? !1 : a; b = b === void 0 ? !1 : b; this.logger.debug("Clearing queue"); this.Yk.clearQueue(a, b) }; + g.k.loadVideoByPlayerVars = function (a, b, c, d, e) { + b = b === void 0 ? 1 : b; if (b === 2 && this.Od().enableServerStitchedDai && this.tb && !qZ(this.tb)) { var f; (f = this.tb) == null || f.oa("lvonss", { vid: (a == null ? void 0 : a.videoId) || "", ptype: b }); return !1 } var h = !1; f = new g.WP(this.W, a); g.dP(this.W) && !f.Pk && TT(this.Lb); var l, m = this.Lb, n = (l = f.Ya) != null ? l : ""; m.timerName = n; this.Lb.wg("pl_i"); this.L("web_player_early_cpn") && f.clientPlaybackNonce && this.Lb.infoGel({ clientPlaybackNonce: f.clientPlaybackNonce }); if (this.U().supportsGaplessShorts() && + !this.L("html5_shorts_gapless_always_fallback")) { + l = STa(this.Yk, f, b); if (l == null) { F_(this, -1); a = this.Yk; a.app.U().L("html5_gapless_new_slr") ? R5a(a.app, "gaplessshortslooprange") : a.app.setLoopRange(null); a.app.getVideoData().RD = !0; var p, q; (p = a.j) == null || (q = p.ya) == null || q.resume(); var r; (r = a.j) == null || gX(r.hc()); c = { Zc: "gapless_to_next_video", seekSource: 60 }; var t; (t = a.app.Vc()) == null || t.seekTo(RTa(a), c); if (!a.app.getPlayerStateObject(b).isPlaying()) { var u; (u = g.qR(a.app)) == null || u.playVideo(!0) } a.K(); return !0 } t = + this.L("html5_shorts_gapless_preload_fallback"); u = this.Yk.j; t && u && !u.La() && (p = u.getVideoData(), p = this.W.L("html5_autonav_autoplay_in_preload_key") ? T_(this, b, p) : U_(this, b, p.videoId, p.rd), this.Ay.set(p, u, 3600)); this.Yk.clearQueue(t); var y; (y = g.qR(this)) == null || y.oa("sgap", { f: l }) + } if (e) { for (; f.Um.length && f.Um[0].isExpired();)f.Um.shift(); h = f.Um.length - 1; h = h > 0 && e.B(f.Um[h]) && e.B(f.Um[h - 1]); f.Um.push(e) } c || (a && iOa(a) ? ($O(this.W) && !this.Aj && (a.fetch = 0), K_(this, a)) : this.playlist && K_(this, null), a && (this.Aj = + ys(!1, a.external_list))); this.Ua.publish("loadvideo"); b = this.Iu(f, b, d); h && this.Sg("player.fatalexception", 1, "GENERIC_WITH_LINK_AND_CPN", ("loadvideo.1;emsg." + f.Um.join()).replace(/[;:,]/g, "_")); return b + }; + g.k.preloadVideoByPlayerVars = function (a, b, c, d, e) { + b = b === void 0 ? 1 : b; c = c === void 0 ? NaN : c; d = d === void 0 ? "" : d; e = e === void 0 ? "" : e; var f = ""; if (this.W.L("html5_autonav_autoplay_in_preload_key")) f = Y5a(this, b, a, e); else { var h = Ds(a); f = U_(this, b, h, e) } if (this.Ay.get(f)) return this.logger.debug(function () { return "already preloaded " + f }), null; + a = new g.WP(this.W, a); e && (a.rd = e); return X5a(this, a, b, c, d) + }; + g.k.setMinimized = function (a) { this.visibility.setMinimized(a); (a = aPa(this.Rd)) && (this.isMinimized() ? a.load() : a.unload()); this.Ua.publish("minimized") }; + g.k.setInline = function (a) { this.visibility.setInline(a) }; + g.k.setInlinePreview = function (a) { this.visibility.setInline(a); a = this.Rd; a = a.J.U().showInlinePreviewUi ? a.He.get("inline_preview") : void 0; a && (this.isInline() ? a.load() : a.unload(), this.Ua.ib("onInlinePreviewModeChange")) }; + g.k.My = function (a) { var b = this.W.L("html5_block_pip_non_mse") && typeof MediaSource === "undefined", c = this.W.Xl && this.W.L("html5_block_pip_with_events") || b; a && c && this.getVideoData() && !this.getVideoData().backgroundable ? this.FP && b ? this.FP.start() : this.lX() : this.visibility.My(a) }; + g.k.setSqueezeback = function (a) { this.visibility.setSqueezeback(a) }; + g.k.lX = function () { var a, b = (a = this.mediaElement) == null ? void 0 : a.Ib(); b && Os(b).catch(function (c) { return g.fx(c) }) }; + g.k.dca = function () { this.mediaElement.Ib(); this.mediaElement.Ib().webkitPresentationMode === "picture-in-picture" ? this.My(!0) : this.My(!1) }; + g.k.togglePictureInPicture = function () { var a = g.qR(this); a && a.togglePictureInPicture() }; + g.k.Iu = function (a, b, c) { + b = b === void 0 ? 1 : b; this.logger.debug(function () { return "start load video, id " + a.videoId + ", type " + b }); + sA("_start", this.Lb.timerName) || g.tr(iA)(void 0, this.Lb.timerName); var d = !1, e = O5a(this, b, a, !1); e ? (d = !0, a.dispose()) : (e = I5a(this, b, a, c), (this.L("html5_onesie") || this.L("html5_load_before_stop")) && s_(e) && g.yW(e), this.rM.stop(), b === 1 && b !== this.getPresentingPlayerType() && this.cancelPlayback(4), this.cancelPlayback(4, b), AW(this, e)); e === this.tb && (this.W.Fj = a.oauthToken); if (!s_(e)) return !1; if (e === this.tb) { + this.Mq(1); c = M_(this); if (d && this.L("html5_player_preload_ad_fix") && e.getPlayerType() === 1 && e.Aq.j) this.onVideoDataChange("dataloaded", + e, e.getVideoData()); return c + } M4a(e); return !0 + }; + g.k.cueVideoByPlayerVars = function (a, b) { + var c = this; b = b === void 0 ? 1 : b; if (this.Od().enableServerStitchedDai && this.tb && !qZ(this.tb) && a && Object.keys(a).length > 0) { var d; (d = this.tb) == null || d.oa("qvonss", { vid: (a == null ? void 0 : a.videoId) || "", ptype: b }) } else if (a && iOa(a)) if (this.Hx = !0, K_(this, a), (a = g.UT(this.playlist)) && a.qe()) W_(this, a, b); else this.playlist.onReady(function () { L_(c) }); + else { b || (b = this.getPresentingPlayerType()); b === 1 && this.SO(); d = new g.WP(this.W, a); var e = g.IO(this.W) && !this.W.ra && b === 1 && !d.isAd() && !d.wc; this.Ua.publish("cuevideo"); e ? (this.Vc().getVideoData().loading = !0, pOa(d, a ? a : {}).then(function (f) { W_(c, f, b) }), d.dispose()) : W_(this, d, b) } + }; + g.k.qp = function (a, b, c, d, e, f, h) { if (!a && !c) throw Error("Playback source is invalid"); if (KO(this.W) || g.MC(this.W)) return b = b || {}, b.lact = Wv(), b.vis = this.Ua.getVisibilityState(), this.Ua.ib("onPlayVideo", { videoId: a, watchEndpoint: f, sessionData: b, listId: c }), !1; gOa(this.Lb); this.Lb.reset(); a = { video_id: a }; d && (a.autoplay = "1"); d && (a.autonav = "1"); f && (a.player_params = f.playerParams); h && (a.oauth_token = h); c ? (a.list = c, this.loadPlaylist(a)) : this.loadVideoByPlayerVars(a, 1); return !0 }; + g.k.cuePlaylist = function (a, b, c, d) { this.Hx = !0; Z5a(this, a, b, c, d) }; + g.k.loadPlaylist = function (a, b, c, d) { this.Hx = !1; Z5a(this, a, b, c, d) }; + g.k.bF = function () { return this.Ua.isMutedByMutedAutoplay() ? !1 : this.getPresentingPlayerType() === 3 ? !0 : !(!this.playlist || !this.playlist.Gl()) }; + g.k.Tt = aa(13); + g.k.nextVideo = function (a, b) { + var c = g.nQ(this.tb.getVideoData()); g.HR(this.Ua) && c ? this.qp(c.videoId, b ? c.OE : c.sessionData, c.playlistId, b, void 0, c.aX || void 0) : this.Aj ? this.Ua.Hc("onPlaylistNext") : this.getPresentingPlayerType() === 3 ? BR(this.Rd).nextVideo() : !this.playlist || $O(this.W) && !this.Ua.isFullscreen() || (this.playlist.Gl(a) && lOa(this.playlist, jOa(this.playlist)), this.playlist.loaded ? (a = b && this.W.L("html5_player_autonav_logging"), b && this.Ua.publish("playlistautonextvideo"), this.Iu(g.UT(this.playlist, void 0, + b, a), 1)) : this.Hx = !1) + }; + g.k.previousVideo = function (a) { this.Aj ? this.Ua.Hc("onPlaylistPrevious") : this.getPresentingPlayerType() === 3 ? BR(this.Rd).bM() : !this.playlist || $O(this.W) && !this.Ua.isFullscreen() || (this.playlist.Yp(a) && lOa(this.playlist, kOa(this.playlist)), this.playlist.loaded ? this.Iu(g.UT(this.playlist), 1) : this.Hx = !1) }; + g.k.playVideoAt = function (a) { this.Aj ? this.Ua.Hc("onPlaylistIndex", a) : this.playlist && (this.playlist.loaded ? this.Iu(g.UT(this.playlist, a), 1) : this.Hx = !1, lOa(this.playlist, a)) }; + g.k.getPlaylist = function () { return this.playlist }; + g.k.mF = aa(21); g.k.haa = function (a) { this.Ua.Hc("onCueRangeEnter", a.getId()) }; + g.k.iaa = function (a) { this.Ua.Hc("onCueRangeExit", a.getId()) }; + g.k.Bz = function (a, b, c) { + var d = g.qR(this, b); if (d) { + var e = this.Od(); if (g.jQ(e)) { + if (this.wb) if (this.L("html5_ssap_enable_cpn_triggered_media_end") && d.getPlayerType() === 2 && this.wb.Hl() && (this.tb.oa("ssap", { acrla: a.length ? a[0].getId() : "", acrll: a.length, pt: d.getPlayerType(), acpn: d.getVideoData().clientPlaybackNonce, ccpn: this.tb.getVideoData().clientPlaybackNonce }), d = this.tb), b === 1) for (var f = aX(this.wb, e.clientPlaybackNonce), h = g.w(a), l = h.next(); !l.done; l = h.next())l = l.value, l.start += f, l.end += f, l.Nl = f, l.C = e.clientPlaybackNonce; + else if (this.L("html5_ssap_enable_cpn_triggered_media_end") && b === 2) for (this.getPresentingPlayerType(), e = g.w(a), f = e.next(); !f.done; f = e.next())f.value.C = this.wb.Cl(); e = g.w(a); for (f = e.next(); !f.done; f = e.next())h = void 0, f.value.playerType = (h = b) != null ? h : 1 + } d.Bz(a, c); b && this.getPresentingPlayerType() !== b || E_(this, "cuerangesadded", a) + } else this.L("html5_ssap_enable_cpn_triggered_media_end") && this.tb.oa("ssap", { acrlpnf: this.tb.getVideoData().clientPlaybackNonce }) + }; + g.k.jH = function (a, b) { var c = g.qR(this, b); c && (c.jH(a), b && this.getPresentingPlayerType() !== b || E_(this, "cuerangesremoved", a)) }; + g.k.Zy = function (a) { var b = this.Vc() || this.tb, c = b.Bh; if (c) { var d = this.getPresentingPlayerType(); if (this.W.Ac()) { var e = c.vK("ad"); b.oa("ssap", { hac: e ? "1" : "0", cpn: a, pt: d }) } return this.L("html5_ssap_enable_cpn_triggered_media_end") ? c.Zy(d, a) : c.Zy(d) } return 0 }; + g.k.oaa = function () { + function a() { + var d = b.screenLayer || (b.isMinimized() ? 3 : 0), e = g.Ww(d); if (e && e !== "UNDEFINED_CSN") { + var f = b.W.L("web_player_attach_player_response_ve"), h = b.W.L("web_playback_associated_ve"); d = { cpn: b.getVideoData().clientPlaybackNonce, csn: e }; b.getVideoData().Ma && (f || h) && (f = g.Tw(b.getVideoData().Ma), g.zx(e, f), h && (d.playbackVe = f.getAsJson())); b.getVideoData().queueInfo && (d.queueInfo = b.getVideoData().queueInfo); e = {}; b.L("web_playback_associated_log_ctt") && b.getVideoData().K && (e.cttAuthInfo = + { token: b.getVideoData().K, videoId: b.getVideoData().videoId }); g.Ht("playbackAssociated", d, e) + } else g.fx(new g.pt("CSN Missing or undefined during playback association")) + } + var b = this; this.getPresentingPlayerType(); eOa(this.Lb, this.xb.getVideoData(), c6a(this)); J_(this) && this.W.D && QQ(this.Od()) === "embedded" && this.m_ && Math.random() < .01 && g.Ht("autoplayTriggered", { intentional: this.EZ }); this.m_ = !1; YOa(this.Rd); this.L("web_player_defer_ad") && K5a(this); this.Ua.Hc("onPlaybackStartExternal"); (this.W.L("mweb_client_log_screen_associated"), VO(this.W)) || a(); var c = {}; this.getVideoData().K && (c.cttAuthInfo = { token: this.getVideoData().K, videoId: this.getVideoData().videoId }); c.sampleRate = + 20; rA("player_att", c); if (this.getVideoData().botguardData || this.L("fetch_att_independently")) g.bP(this.W) || g.hO(this.W) === "MWEB" ? g.vt(g.xt(), function () { N_(b) }) : N_(this); + this.uM(); S5a(this) + }; + g.k.BG = function () { this.Ua.publish("internalAbandon"); S_(this) }; + g.k.onApiChange = function () { this.W.N && this.xb ? this.Ua.Ai("onApiChange", this.xb.getPlayerType()) : this.Ua.Ai("onApiChange") }; + g.k.fba = function () { var a = this.mediaElement; a = { volume: g.Dd(Math.floor(a.getVolume() * 100), 0, 100), muted: a.aK() }; a.muted || P_(this, !1); this.Ri = g.Fc(a); this.Ua.Ai("onVolumeChange", a) }; + g.k.mutedAutoplay = function () { var a = this.getVideoData().videoId; isNaN(this.DR) && (this.DR = this.getVideoData().startSeconds); a && (this.loadVideoByPlayerVars({ video_id: a, playmuted: !0, start: this.DR }), this.Ua.Hc("onMutedAutoplayStarts")) }; + g.k.onFullscreenChange = function () { var a = e6a(this); this.hn(a ? 1 : 0); g6a(this, !!a) }; + g.k.hn = function (a) { var b = !!a, c = !!this.lA() !== b; this.visibility.hn(a); this.template.hn(b); this.L("html5_media_fullscreen") && !b && this.mediaElement && e6a(this) === this.mediaElement.Ib() && this.mediaElement.QE(); this.template.resize(); c && this.Lb.tick("fsc"); c && (this.Ua.publish("fullscreentoggled", b), a = this.Od(), b = { fullscreen: b, videoId: a.cO || a.videoId, time: this.getCurrentTime() }, this.Ua.getPlaylistId() && (b.listId = this.Ua.getPlaylistId()), this.Ua.Hc("onFullscreenChange", b)) }; + g.k.isFullscreen = function () { return this.visibility.isFullscreen() }; + g.k.lA = function () { return this.visibility.lA() }; + g.k.Tba = function () { this.xb && (this.lA() !== 0 && this.lA() !== 1 || this.hn(e6a(this) ? 1 : 0), this.W.Xl && this.getVideoData() && !this.getVideoData().backgroundable && this.mediaElement && window.outerHeight * window.outerWidth / (window.screen.width * window.screen.height) < .33 && this.mediaElement.QE()) }; + g.k.Xaa = function (a) { this.getPresentingPlayerType() !== 3 && this.Ua.publish("liveviewshift", a) }; + g.k.playVideo = function (a) { + this.logger.debug(function () { return "play video, player type " + a }); + var b = g.qR(this, a); b && (this.appState === 2 ? (g.dP(this.W) && TT(this.Lb), M_(this)) : g.U(b.getPlayerState(), 2) ? (b = 36, this.getVideoData().Bk() && (b = 37), this.seekTo(0, void 0, void 0, void 0, b)) : b.playVideo()) + }; + g.k.pauseVideo = function (a, b) { (a = g.qR(this, a)) && a.pauseVideo(b) }; + g.k.stopVideo = function (a) { + a = a === void 0 ? !1 : a; this.logger.debug(function () { return "stop video" }); + var b = this.tb.getVideoData(), c = new g.WP(this.W, { video_id: b.cO || b.videoId, oauth_token: b.oauthToken }); c.Z = g.Fc(b.Z); var d; !a || (d = this.webPlayerContextConfig) != null && d.disableStaleness || (c.FW = !0); this.cancelPlayback(6); W_(this, c, 1) + }; + g.k.cancelPlayback = function (a, b) { + var c = this; this.logger.debug(function () { return "start cancel playback, type " + b }); + var d = g.qR(this, b); d ? b === 2 && d.getPlayerType() === 1 && (RLa(this.Od()) || g.jQ(this.getVideoData())) ? d.oa("canclpb", { r: "no_adpb_ssdai" }) : (this.W.Ac() && d.oa("canclpb", { r: a }), this.appState === 1 || this.appState === 2 ? this.logger.debug(function () { return "cancel playback end, app not started, state " + c.appState }) : (d === this.xb && (this.logger.debug("cancel playback, destroy modules"), tU(this.Rd, a)), b === 1 && (d.stopVideo(), S_(this)), d.Vo(void 0, a !== 6), E_(this, "cuerangesremoved", d.Bl()), d.Bh.reset(), this.Yk && d.isGapless() && + (d.Rj(!0), d.setMediaElement(this.mediaElement)))) : this.logger.debug("cancel playback end, no player to cancel") + }; + g.k.sendVideoStatsEngageEvent = function (a, b, c) { (b = g.qR(this, b)) && IJa(this.W, a) ? b.sendVideoStatsEngageEvent(a, c) : c && c() }; + g.k.Ki = function (a) { var b = g.qR(this); return b && IJa(this.W, a) ? b.Ki(a) : null }; + g.k.updatePlaylist = function () { !$O(this.W) && g.IO(this.W) && M5a(this); this.Ua.Hc("onPlaylistUpdate") }; + g.k.setSizeStyle = function (a, b) { this.w2 = a; this.L("web_log_theater_mode_visibility") ? this.vC(b) : this.aR = b; this.Ua.publish("sizestylechange", a, b); this.template.resize() }; + g.k.vC = function (a) { this.visibility.vC(a) }; + g.k.Dk = function () { return this.L("web_log_theater_mode_visibility") ? this.visibility.Dk() : this.aR }; + g.k.isMinimized = function () { return this.visibility.isMinimized() }; + g.k.isInline = function () { return this.visibility.isInline() }; + g.k.Dj = function () { return this.visibility.Dj() }; + g.k.NA = function () { return this.visibility.NA() }; + g.k.UA = function () { return this.visibility.UA() }; + g.k.ZQ = function () { return this.w2 }; + g.k.getAdState = function () { if (this.getPresentingPlayerType() === 3) return BR(this.Rd).getAdState(); if (!this.Ef()) { var a = uU(this.Bb()); if (a) return a.getAdState() } return -1 }; + g.k.Sba = function (a) { var b = this.template.getVideoContentRect(); hm(this.ZZ, b) || (this.ZZ = b, this.xb && x_(this.xb), this.tb && this.tb !== this.xb && x_(this.tb), this.lA() === 1 && this.PG && g6a(this, !0)); this.hR && g.Jd(this.hR, a) || (this.Ua.publish("appresize", a), this.hR = a) }; + g.k.Jh = function () { return this.Ua.Jh() }; + g.k.nca = function () { this.getPresentingPlayerType() === 2 && this.bd.isManifestless() ? BVa(this.bd) : (this.ue && (IUa(this.ue), S_(this)), F5a(this, "signature")) }; + g.k.o0 = function () { this.Rj(); D_(this) }; + g.k.nba = function (a) { a.errorCode === "manifest.net.badstatus" && a.details.rc === (this.W.experiments.kb("html5_use_network_error_code_enums") ? 401 : "401") && this.Ua.ib("onPlayerRequestAuthFailed") }; + g.k.xG = function () { this.Ua.Hc("CONNECTION_ISSUE") }; + g.k.AG = function (a) { this.Ua.publish("heartbeatparams", a) }; + g.k.oM = function (a) { this.Ua.ib("onAutonavChangeRequest", a !== 1) }; + g.k.Ke = function () { return this.mediaElement }; + g.k.setBlackout = function (a) { this.W.ob !== a && (this.W.ob = a, this.xb && (this.xb.kp(), this.W.Va && i6a(this), this.xb.Uo(a))) }; + g.k.pba = function () { var a = g.qR(this); if (a) { var b = !this.Ua.LF(); (a.ZY = b) || a.Px.stop(); a.videoData.j && (b ? a.videoData.j.resume() : uIa(a.videoData.j)); a.ya && (b ? a.ya.resume() : z_(a, !0)); g.U(a.playerState, 2) || b ? g.U(a.playerState, 512) && b && a.Ec(PF(a.playerState, 512)) : a.Ec(OF(a.playerState, 512)); a = a.hc(); a.qoe && (a = a.qoe, g.JZ(a, g.XI(a.provider), "stream", [b ? "A" : "I"])) } }; + g.k.onLoadedMetadata = function () { this.Ua.Hc("onLoadedMetadata") }; + g.k.onDrmOutputRestricted = function () { this.Ua.Hc("onDrmOutputRestricted") }; + g.k.iB = function () { this.EZ = !0 }; + g.k.xa = function () { this.Rd.dispose(); this.z8.dispose(); this.bd.dispose(); this.ue && this.ue.dispose(); this.Bq.removeAll(); this.Bq.dispose(); this.wb && this.wb.dispose(); this.tb.dispose(); this.Rj(); g.gb(g.wc(this.gt), this.playlist); g.O.prototype.xa.call(this) }; + g.k.L = function (a) { return this.W.L(a) }; + g.k.setScreenLayer = function (a) { this.screenLayer = a }; + g.k.getInternalApi = function () { return this.Ua.getInternalApi() }; + g.k.createSubtitlesModuleIfNeeded = function () { return this.Rd.createSubtitlesModuleIfNeeded() }; + g.k.isOrchestrationLeader = function () { var a = wU(this.Rd); return a ? a.isOrchestrationLeader() : !1 }; + g.k.getVideoUrl = function (a, b, c, d, e) { if (this.Db && this.Db.postId) return a = this.W.getVideoUrl(a), a = Wi(a, "v"), a.replace("/watch", "/clip/" + this.Db.postId); var f = this.Ua.jd() || this.W.Ma === "shortspage", h = g.bR(this.getVideoData()); return this.W.getVideoUrl(a, b, c, d, e, f, h) }; + g.k.wu = function () { return this.Yk.wu() }; + g.k.Vm = function (a) { this.Ua.publish("spsumpstatuschange", a) }; + g.k.pS = function (a, b) { this.Ua.publish("spsumpreject", a, b) }; + g.k.pG = function () { try { for (var a = g.w(Object.values(this.gt)), b = a.next(); !b.done; b = a.next()) { var c = b.value; c.La() || c.pG() } if (this.L("html5_sabr_fetch_on_idle_network_preloaded_players")) for (var d = g.w(GVa(this.Ay)), e = d.next(); !e.done; e = d.next()) { var f = e.value; f.La() || f.pG() } this.tb.pG() } catch (h) { g.fx(h) } }; + g.k.ST = function () { if (this.ue) { var a = (0, g.Zt)(); return this.ue.ST(a) } return !1 }; + var y2 = {}; var w6a = /[&\?]action_proxy=1/, v6a = /[&\?]token=([\w-]*)/, x6a = /[&\?]video_id=([\w-]*)/, y6a = /[&\?]index=([\d-]*)/, z6a = /[&\?]m_pos_ms=([\d-]*)/, B6a = /[&\?]vvt=([\w-]*)/, n6a = "ca_type dt el flash u_tz u_his u_h u_w u_ah u_aw u_cd u_nplug u_nmime frm u_java bc bih biw brdim vis wgl".split(" "), A6a = "www.youtube-nocookie.com youtube-nocookie.com www.youtube-nocookie.com:443 youtube.googleapis.com www.youtubeedu.com www.youtubeeducation.com video.google.com redirector.gvt1.com".split(" "), q6a = { + android: "ANDROID", + "android.k": "ANDROID_KIDS", "android.m": "ANDROID_MUSIC", "android.up": "ANDROID_UNPLUGGED", youtube: "WEB", "youtube.m": "WEB_REMIX", "youtube.up": "WEB_UNPLUGGED", ytios: "IOS", "ytios.k": "IOS_KIDS", "ytios.m": "IOS_MUSIC", "ytios.up": "IOS_UNPLUGGED" + }, r6a = { desktop: "DESKTOP", phone: "MOBILE", tablet: "TABLET" }, t6a = { FLAG_AUTO_CAPTIONS_DEFAULT_ON: 66, FLAG_AUTOPLAY_DISABLED: 140, FLAG_AUTOPLAY_EXPLICITLY_SET: 141 }; Z_.prototype.fB = function (a) { this.player.Wh().tick(a) }; + Z_.prototype.fetch = function (a, b) { + var c = this; if (!a.match(/\[BISCOTTI_ID\]/g)) return this.B(a, b); var d = this.j === 1; d && this.fB("a_bid_s"); var e = l6a(); if (e !== null) return d && this.fB("a_bid_f"), this.B(a, b, e); e = m6a(); d && Ke(e, function () { c.fB("a_bid_f") }); + return e.then(function (f) { return c.B(a, b, f) }) + }; + Z_.prototype.B = function (a, b, c) { + var d = this, e = b === void 0 ? {} : b; b = e.Sw; var f = e.je; var h = e.cueProcessedMs; c = c === void 0 ? "" : c; var l = this.player.getVideoData(1); e = this.player.U().Hj; var m = { + AD_BLOCK: this.j++, AD_BREAK_LENGTH: b ? b.Dh : 0, AUTONAV_STATE: Y_(this.player.U()), CA_TYPE: "image", CPN: l.clientPlaybackNonce, DRIFT_FROM_HEAD_MS: this.player.Kr() * 1E3, LACT: Wv(), LIVE_INDEX: b ? this.C++ : 1, LIVE_TARGETING_CONTEXT: b && b.context ? b.context : "", MIDROLL_POS: f ? Math.round(f.start / 1E3) : 0, MIDROLL_POS_MS: f ? Math.round(f.start) : 0, + VIS: this.player.getVisibilityState(), P_H: this.player.qb().ai().height, P_W: this.player.qb().ai().width, YT_REMOTE: e ? e.join(",") : "" + }, n = Gr(Fr); Object.keys(n).forEach(function (q) { n[q] != null && (m[q.toUpperCase()] = n[q].toString()) }); + c !== "" && (m.BISCOTTI_ID = c); c = {}; Er(a) && (c.sts = "19935", (b = this.player.U().forcedExperiments) && (c.forced_experiments = b)); var p = Br(g.Ho(a, m), c); return p.split("?").length !== 2 ? Ie(Error("Invalid AdBreakInfo URL")) : g.kP(this.player.U(), l == null ? void 0 : l.oauthToken).then(function (q) { if (q && Dr()) { var r = fS(); gS(r, q) } q = d.player.Im(r); r = C6a(d, p, m, l.isMdxPlayback, h); return g.xA(q, r, "/youtubei/v1/player/ad_break").then(function (t) { return t }) }) + }; + Z_.prototype.reset = function () { this.C = this.j = 1 }; g.z(D6a, Z_); + D6a.prototype.B = function (a, b, c) { + b = b === void 0 ? {} : b; var d = b.Sw; var e = b.je; var f = b.cueProcessedMs; c = c === void 0 ? "" : c; b = this.j; this.j++; var h = this.player.U().L("h5_disable_macro_substitution_in_get_ad_break") ? a : E6a(this, a, { Sw: d, je: e }, c, b); if (h.split("?").length !== 2) return Math.random() < .1 && g.fx(Error("Invalid AdBreakInfo URL")), Ie(Error("Invalid AdBreakInfo URL")); var l = this.player.getVideoData(1).isMdxPlayback, m = c; c = v6a.exec(h); c = c != null && c.length >= 2 ? c[1] : ""; a = w6a.test(h); e = x6a.exec(h); e = e != null && e.length >= + 2 ? e[1] : ""; var n = y6a.exec(h); n = n != null && n.length >= 2 && !Number.isNaN(Number(n[1])) ? Number(n[1]) : 1; var p = z6a.exec(h); p = p != null && p.length >= 2 ? p[1] : "0"; var q = TO(this.player.U().Fa), r = g.uz(this.player.getVideoData(1).Ma, !0); p6a(this, r, h, m === "" ? "" : m, this.player.U()); m = { splay: !1, lactMilliseconds: String(Wv()), playerHeightPixels: Math.trunc(this.player.qb().ai().height), playerWidthPixels: Math.trunc(this.player.qb().ai().width), vis: Math.trunc(this.player.getVisibilityState()), signatureTimestamp: 19935, autonavState: Y_(this.player.U()) }; + if (l) { l = {}; var t = this.player.U().Hj; s6a(l, t ? t.join(",") : "") && (m.mdxContext = l) } if (l = A6a.includes(q) ? void 0 : g.es("PREF")) { t = l.split(RegExp("[:&]")); for (var u = 0, y = t.length; u < y; u++) { var A = t[u].split("="); if ((A[0].toUpperCase() === "SML" || A[0].toUpperCase() === "GSML") && A.length > 1 && A[1].toUpperCase() === "TRUE") { r.user.lockedSafetyMode = !0; break } } m.autoCaptionsDefaultOn = u6a(l) } h = B6a.exec(h); (h = h != null && h.length >= 2 ? h[1] : "") && e && (r.user.credentialTransferTokens = [{ token: h, scope: "VIDEO" }]); h = { contentPlaybackContext: m }; + m = VLa(this.player.getVideoData(1)); l = this.player.getVideoData(1).clientPlaybackNonce; f = f !== void 0 ? Math.round(f).toString() : void 0; t = (d == null ? 0 : d.context) ? d.context : void 0; d = (d = Math.trunc((d ? d.Dh : 0) * 1E3)) ? String(d) : void 0; u = this.player.Kr() * 1E3; u = Number.isNaN(u) ? 0 : Math.trunc(u); b = { + adBlock: b, params: c, breakIndex: n, breakPositionMs: p, clientPlaybackNonce: l, topLevelDomain: q, isProxyAdTagRequest: a, context: r, overridePlaybackContext: h, cueProcessedMs: f, videoId: e ? e : void 0, liveTargetingParams: t, breakLengthMs: d, + driftFromHeadMs: u ? String(u) : void 0, currentMediaTimeMs: String(Math.round(this.player.getCurrentTime(1) * 1E3)), getAdBreakContext: m ? m : void 0 + }; return F6a(this, b) + }; var lcb = { ska: "replaceUrlMacros", Lja: "onAboutThisAdPopupClosed", Hha: "executeCommand" }; G6a.prototype.Ir = function () { return "adPingingEndpoint" }; + G6a.prototype.fu = function (a, b, c) { j7a(this.Oa.get(), a, b, c) }; H6a.prototype.Ir = function () { return "changeEngagementPanelVisibilityAction" }; + H6a.prototype.fu = function (a) { this.J.ib("changeEngagementPanelVisibility", { changeEngagementPanelVisibilityAction: a }) }; I6a.prototype.Ir = function () { return "loggingUrls" }; + I6a.prototype.fu = function (a, b, c) { a = g.w(a); for (var d = a.next(); !d.done; d = a.next())d = d.value, j7a(this.Oa.get(), d.baseUrl, b, c, d.attributionSrcMode) }; g.z(K6a, g.O); g.z(a0, g.O); g.k = a0.prototype; g.k.addListener = function (a) { this.listeners.push(a) }; + g.k.removeListener = function (a) { this.listeners = this.listeners.filter(function (b) { return b !== a }) }; + g.k.Kk = function (a, b, c, d, e, f, h, l) { if (a === "") Ny("Received empty content video CPN in DefaultContentPlaybackLifecycleApi"); else if (!this.J.U().L("html5_de_dupe_content_video_loads_in_lifecycle_api") || a !== this.j || c) { this.j = a; this.Ia.get().Kk(a, b, c, d, e, f, h, l); this.Sa.get().Kk(a, b, c, d, e, f, h, l); var m; (m = this.xf) == null || m.get().Kk(a, b, c, d, e, f, h, l); this.B.Kk(a, b, c, d, e, f, h, l); m = g.w(this.listeners); for (var n = m.next(); !n.done; n = m.next())n.value.Kk(a, b, c, d, e, f, h, l) } }; + g.k.BG = function () { this.j && this.Lo(this.j) }; + g.k.Lo = function (a) { this.j = void 0; for (var b = g.w(this.listeners), c = b.next(); !c.done; c = b.next())c.value.Lo(a) }; b0.prototype.XI = function (a, b, c, d, e) { + L6a(this); this.G = !b && c === 0; var f = this.J.getVideoData(1), h = this.J.getVideoData(2); f && (this.contentCpn = f.clientPlaybackNonce, this.videoId = f.videoId, this.j = f.K); h && (this.adCpn = h.clientPlaybackNonce, this.adVideoId = h.videoId, this.adFormat = h.adFormat); this.D = a; d <= 0 ? (L6a(this), this.G = !b && c === 0) : (this.actionType = this.G ? b ? "unknown_type" : "video_to_ad" : b ? "ad_to_video" : "ad_to_ad", this.videoStreamType = e ? "VIDEO_STREAM_TYPE_LIVE" : "VIDEO_STREAM_TYPE_VOD", this.actionType !== "unknown_type" && + (this.C = !0, sA("_start", this.actionType) && N6a(this))) + }; + b0.prototype.reset = function () { return new b0(this.J) }; g.z(d0, g.O); d0.prototype.addCueRange = function (a, b, c, d, e, f, h) { f = f === void 0 ? 3 : f; h = h === void 0 ? 1 : h; this.j.has(a) ? Ny("Tried to register duplicate cue range", void 0, void 0, { CueRangeID: a }) : (a = new O6a(a, b, c, d, f), this.j.set(a.id, { je: a, listener: e, ip: h }), this.J.lf([a], h)) }; + d0.prototype.removeCueRange = function (a) { var b = this.j.get(a); b ? (this.J.Wo([b.je], b.ip), this.j.delete(b.je.id)) : Ny("Requested to remove unknown cue range", void 0, void 0, { CueRangeID: a }) }; + d0.prototype.onCueRangeEnter = function (a) { if (this.j.has(a.id)) this.j.get(a.id).listener.onCueRangeEnter(a.id) }; + d0.prototype.onCueRangeExit = function (a) { if (this.j.has(a.id)) this.j.get(a.id).listener.onCueRangeExit(a.id) }; + g.z(O6a, g.qD); e0.prototype.bH = function (a) { this.J.bH(a) }; + e0.prototype.Yu = function (a) { var b = g.Ca.apply(1, arguments); a === "onAdStart" || a === "onAdEnd" ? this.J.Ai.apply(this.J, [a].concat(g.x(b))) : this.J.ib.apply(this.J, [a].concat(g.x(b))) }; f0.prototype.Ve = function (a) { return a && g0(this) }; + f0.prototype.JT = function () { return this.J.U().experiments.kb("h5_enable_generic_error_logging_event") }; + f0.prototype.NT = function () { return this.J.U().experiments.kb("enable_ips_gating") }; var W6a = null; g.z(V6a, g.Fx); V6a.prototype.SP = function (a) { return this.j.hasOwnProperty(a) ? this.j[a].SP() : {} }; + g.Ka("ytads.bulleit.getVideoMetadata", function (a) { return i0().SP(a) }); + g.Ka("ytads.bulleit.triggerExternalActivityEvent", function (a, b, c) { var d = i0(); c = U6a(c); c !== null && d.publish(c, { queryId: a, viewabilityString: b }) }); g.k = j0.prototype; + g.k.Rh = function (a, b) { if (!this.j.has(a)) return {}; if (b === "seek") { b = this.J.U().L("html5_dai_enable_active_view_creating_completed_adblock"); b = b === void 0 ? !1 : b; var c = Dl(Go).mK(a, {}); c ? xn(c) : b && (a = Dl(Go).iH(null, Vl(), !1, a), a.Hk = 3, aka([a])); return {} } b = Y6a(b); if (b === null) return {}; var d = this.J.Vc(); d = d && F4a(d); if (!d) return {}; var e = this.J.getPresentingPlayerType(!0); if ((c = this.J.getVideoData(e)) == null || !c.isAd()) return {}; c = { opt_adElement: d, opt_fullscreen: this.Ia.get().isFullscreen() }; return ala(b, a, c) }; + g.k.gy = function (a) { var b; (b = this.j.get(a.queryId)) == null || b.gy() }; + g.k.ey = function (a) { var b; (b = this.j.get(a.queryId)) == null || b.ey() }; + g.k.iy = function (a) { var b; (b = this.j.get(a.queryId)) == null || b.iy() }; + g.k.Yx = function (a) { var b; (b = this.j.get(a.queryId)) == null || b.Yx() }; + g.k.Zx = function (a) { var b; (b = this.j.get(a.queryId)) == null || b.Zx() }; e7a.prototype.send = function (a, b, c, d) { try { f7a(this, a, b, c, d === void 0 ? !1 : d) } catch (e) { } }; g.z(g7a, e7a); h7a.prototype.send = function (a, b, c, d) { + var e = !1; try { + if (d === "ATTRIBUTION_SRC_MODE_LABEL_CHROME" || d === "ATTRIBUTION_SRC_MODE_XHR_OPTION") e = !0, a = cqa(a); d = e; var f = a.match(Li); if (f[1] === "https") var h = a; else f[1] = "https", h = Ji("https", f[2], f[3], f[4], f[5], f[6], f[7]); var l = fla(h); f = []; var m = Pma(h) && this.Aa.get().J.U().experiments.kb("add_auth_headers_to_remarketing_google_dot_com_ping"); if (Er(h) || m) f.push({ headerType: "USER_AUTH" }), f.push({ headerType: "PLUS_PAGE_ID" }), f.push({ headerType: "VISITOR_ID" }), f.push({ headerType: "EOM_VISITOR_ID" }), + f.push({ headerType: "AUTH_USER" }), f.push({ headerType: "DATASYNC_ID" }); this.j.send({ baseUrl: h, scrubReferrer: l, headers: f }, b, c, d) + } catch (n) { } + }; o0.prototype.Ki = function () { var a = this.J.Vc(); return a && (a = a.Ki(1)) ? a : null }; g.z(p0, g.O); g.k = p0.prototype; g.k.Hm = function () { return this.J.getVideoData(1).clientPlaybackNonce }; + g.k.addListener = function (a) { this.listeners.push(a) }; + g.k.removeListener = function (a) { this.listeners = this.listeners.filter(function (b) { return b !== a }) }; + g.k.Kk = function () { this.mO.clear(); this.kR = null; this.Ss.get().clear() }; + g.k.Lo = function () { }; + g.k.Fca = function (a, b, c, d, e) { + b.videoId === "nPpU29QrbiU" && zE(this, "ads_ssm_vdc_s", { pt: c, dvt: a }); WI(this.Aa.get()) && a !== "dataloaded" || q7a(this, b, c); if (g0(this.Aa.get()) && a === "newdata" && e !== void 0) { + a = this.Hm(); var f = b.clientPlaybackNonce, h = {}; CE(this, "rte", (h.ec = f, h.xc = d == null ? void 0 : d.clientPlaybackNonce, h.tr = e, h.pt = c, h.ia = f !== a, h.ctp = BE(f), h)); b = b.clientPlaybackNonce; d = d == null ? void 0 : d.clientPlaybackNonce; e = r7a(e); if (e !== 1) if (d !== void 0) for (c = g.w(this.listeners), a = c.next(); !a.done; a = c.next())a.value.wG(d, + b, e); else Ny("Expected exiting CPN for all non initial transitions", void 0, void 0, { enteringCpn: b, transitionReason: String(e) }); e = g.w(this.listeners); for (d = e.next(); !d.done; d = e.next())d.value.vG(b) + } + }; + g.k.hca = function (a, b) { a !== void 0 && (this.kR = a, b === void 0 ? Ny("Expected ad video start time on SS video changed") : this.mO.set(a, b)); var c = this.J.getPresentingPlayerType(!0), d = this.J.getVideoData(c); this.J.getVideoData(1).oa("ads_ssvc", { pt: c, cpn: d == null ? void 0 : d.clientPlaybackNonce, crtt: this.J.getCurrentTime(1, !1), atlh: this.J.isAtLiveHead(), adstt: b }); d ? q7a(this, d, c) : Ny("Expected video data on server stitched video changed", void 0, void 0, { cpn: this.J.getVideoData(1).clientPlaybackNonce, timelinePlaybackId: a }) }; + g.k.YI = function (a, b) { + var c = a.author, d = a.clientPlaybackNonce, e = a.isListed, f = a.rd, h = a.title, l = a.lj, m = a.Qj, n = a.isMdxPlayback, p = a.xn, q = a.mdxEnvironment, r = a.isAutonav, t = a.Lq, u = a.Pk, y = a.Hp, A = a.videoId || "", D = a.profilePicture || "", F = a.Wl || "", H = a.Bk() || !1, M = a.oi() || !1; a = a.Pw || void 0; f = this.Ss.get().j.get(f) || { layoutId: null, slotId: null }; var N = this.J.getVideoData(1), Q = N.Vb(); N = N.getPlayerResponse(); b = 1E3 * this.J.getDuration(b); var Z = 1E3 * this.J.getDuration(1), fa, pa, Y = (N == null ? void 0 : (fa = N.playerConfig) == null ? void 0 : + (pa = fa.daiConfig) == null ? void 0 : pa.enableDai) || !1, S, W; fa = (N == null ? void 0 : (S = N.playerConfig) == null ? void 0 : (W = S.daiConfig) == null ? void 0 : W.enablePreroll) || !1; return Object.assign({}, f, { videoId: A, author: c, clientPlaybackNonce: d, Vca: b, Mp: Z, daiEnabled: Y, HX: fa, isListed: e, Vb: Q, profilePicture: D, title: h, Wl: F, lj: l, Qj: m, Pw: a, isMdxPlayback: n, xn: p, mdxEnvironment: q, isAutonav: r, Lq: t, Pk: u, Hp: y, Bk: H, oi: M }) + }; + g.k.xa = function () { this.listeners.length = 0; this.Tw = null; g.O.prototype.xa.call(this) }; g.z(q0, g.O); g.k = q0.prototype; g.k.Kk = function () { var a = this; g0(this.Aa.get()) || (this.j = ad(function () { a.J.La() || a.J.Dg("ad", 1) })) }; + g.k.Lo = function () { }; + g.k.addListener = function (a) { this.listeners.push(a) }; + g.k.removeListener = function (a) { this.listeners = this.listeners.filter(function (b) { return b !== a }) }; + g.k.PR = function () { }; + g.k.playVideo = function () { this.J.playVideo() }; + g.k.pauseVideo = function () { this.J.pauseVideo() }; + g.k.resumeVideo = function (a) { this.Fo(a) && this.J.playVideo() }; + g.k.Fo = function (a) { return this.J.getPlayerState(a) === 2 }; + g.k.getCurrentTimeSec = function (a, b, c) { var d = this.Sa.get().kR; if (a === 2 && !b && d !== null) return t7a(this, d); QI(this.Aa.get(), "html5_ssap_use_cpn_to_get_time") || (c = void 0); return c !== void 0 ? this.J.getCurrentTime(a, b, c) : this.J.getCurrentTime(a, b) }; + g.k.getVolume = function () { return this.J.getVolume() }; + g.k.isMuted = function () { return this.J.isMuted() }; + g.k.getPresentingPlayerType = function () { return this.J.getPresentingPlayerType(!0) }; + g.k.getPlayerState = function (a) { return this.J.getPlayerState(a) }; + g.k.isFullscreen = function () { return this.J.isFullscreen() }; + g.k.isAtLiveHead = function () { return this.J.isAtLiveHead() }; + g.k.sC = function (a) { this.J.sC(a) }; + g.k.Hba = function () { var a = this.J.getPresentingPlayerType(!0), b = this.getCurrentTimeSec(a, !1); if (a === 2) { a = g.w(this.listeners); for (var c = a.next(); !c.done; c = a.next())c.value.Ni(b) } else if (a === 1) for (a = g.w(this.wE), c = a.next(); !c.done; c = a.next())c.value.PR(b) }; + g.k.yba = function (a) { for (var b = g.w(this.listeners), c = b.next(); !c.done; c = b.next())c.value.Bg(a, this.getPresentingPlayerType()) }; + g.k.onFullscreenToggled = function (a) { for (var b = g.w(this.listeners), c = b.next(); !c.done; c = b.next())c.value.onFullscreenToggled(a) }; + g.k.onVolumeChange = function () { for (var a = g.w(this.listeners), b = a.next(); !b.done; b = a.next())b.value.onVolumeChange() }; + g.k.oh = function () { for (var a = this.J.isMinimized(), b = g.w(this.listeners), c = b.next(); !c.done; c = b.next())c.value.oh(a) }; + g.k.Jj = function (a) { for (var b = g.w(this.listeners), c = b.next(); !c.done; c = b.next())c.value.Jj(a) }; + g.k.kc = function () { for (var a = this.J.qb().ai(), b = g.w(this.listeners), c = b.next(); !c.done; c = b.next())c.value.gj(a) }; + g.k.Ij = function (a) { for (var b = g.w(this.listeners), c = b.next(); !c.done; c = b.next())c.value.Ij(a) }; + g.k.Lj = function () { for (var a = g.w(this.listeners), b = a.next(); !b.done; b = a.next())b.value.Lj() }; g.z(w7a, g.O); g.z(v0, g.O); v0.prototype.xa = function () { this.Io.La() || this.Io.get().removeListener(this); g.O.prototype.xa.call(this) }; w0.prototype.fetch = function (a) { var b = a.FX; return this.j.fetch(a.E3, { Sw: a.Sw === void 0 ? void 0 : a.Sw, je: b, cueProcessedMs: a.cueProcessedMs === void 0 ? 0 : a.cueProcessedMs }).then(function (c) { return x7a(c, b) }) }; g.z(x0, g.O); g.k = x0.prototype; g.k.addListener = function (a) { this.listeners.push(a) }; + g.k.removeListener = function (a) { this.listeners = this.listeners.filter(function (b) { return b !== a }) }; + g.k.FM = function (a) { y7a(this, a, 1) }; + g.k.onAdUxClicked = function (a, b) { y0(this, function (c) { c.hg(a, b) }) }; + g.k.KR = function (a) { y0(this, function (b) { b.qQ(a) }) }; + g.k.JR = function (a) { y0(this, function (b) { b.pQ(a) }) }; + g.k.daa = function (a) { y0(this, function (b) { b.qK(a) }) }; z0.prototype.reduce = function (a) { + switch (a.event) { case "unknown": return }var b = a.identifier; var c = this.j[b]; c ? b = c : (c = { zE: null, b_: -Infinity }, b = this.j[b] = c); c = a.startSecs + a.j / 1E3; if (!(c < b.b_)) if (b.b_ = c, b.zE) { if (c < b.zE.end) { a: { c = b.zE; switch (a.event) { case "start": case "continue": case "stop": break; default: a = null; break a }a = c.start + a.Dh; a = c.end <= a ? null : a } if (a !== null) for (b.zE.end = a, b = this.B, g.bc(b.C.j, a * 1E3), b = g.w(b.listeners), c = b.next(); !c.done; c = b.next())c.value.h0(a) } } else if (a = z7a(a, this.C)) c = a.c$, b.zE = + a.L7, B7a(this.B, c) + }; + z0.prototype.updateTime = function () { }; g.z(A0, g.O); g.k = A0.prototype; + g.k.Kk = function () { + this.G = new z0(this, R6a(this.Aa.get())); this.C = new A7a; var a = this.J.getVideoData(1); if (!a.enableServerStitchedDai) { var b = this.J.getVideoData(1), c; ((c = this.j) == null ? void 0 : c.clientPlaybackNonce) !== b.clientPlaybackNonce && (this.j != null && this.j.unsubscribe("cuepointupdated", this.QR, this), b.subscribe("cuepointupdated", this.QR, this), this.j = b) } this.WM.length = 0; var d; b = ((d = a.j) == null ? void 0 : mIa(d, 0)) || []; d = g.w(b); for (b = d.next(); !b.done; b = d.next())b = b.value, this.Su(b) && Ny("Unexpected a GetAdBreak to go out without player waiting", + void 0, void 0, { cuePointId: b.identifier, cuePointEvent: b.event, contentCpn: a.clientPlaybackNonce }) + }; + g.k.Lo = function () { }; + g.k.addListener = function (a) { this.listeners.push(a) }; + g.k.removeListener = function (a) { this.listeners = this.listeners.filter(function (b) { return b !== a }) }; + g.k.Su = function (a) { D7a(this, a); this.G.reduce(a); a = this.D; this.D = !1; return a }; + g.k.QR = function (a) { + var b = this.J.getVideoData(1).isDaiEnabled(); if (b || !g.MC(this.J.U())) { + a = g.w(a); for (var c = a.next(); !c.done; c = a.next())c = c.value, D7a(this, c), b ? this.G.reduce(c) : this.J.getCurrentTime(1) !== 0 && c.event === "start" && (this.Aa.get().J.U().experiments.kb("ignore_overlapping_cue_points_on_endemic_live_html5") && (this.B == null ? 0 : c.startSecs + c.Dh >= this.B.startSecs && c.startSecs <= this.B.startSecs + this.B.Dh) ? Ny("Latest Endemic Live Web cue point overlaps with previous cue point") : (this.B = c, B7a(this, + c))) + } + }; + g.k.xa = function () { this.j != null && (this.j.unsubscribe("cuepointupdated", this.QR, this), this.j = null); this.listeners.length = 0; this.WM.length = 0; g.O.prototype.xa.call(this) }; B0.prototype.addPlayerResponseForAssociation = function (a) { this.J.addPlayerResponseForAssociation(a) }; g.k = D0.prototype; g.k.gE = function (a, b, c, d, e, f, h) { return this.J.gE(a, b, c, d, e, f, h) }; + g.k.Jz = function (a, b) { this.J.Jz(a, b) }; + g.k.hI = function (a, b, c) { this.J.hI(a, b, c) }; + g.k.Vu = function (a) { this.J.Vu(a) }; + g.k.EF = function (a, b, c, d, e, f, h) { this.J.EF(a, b, c, d, e, f, h) }; + g.k.Ps = function (a) { return this.J.Ps(a) }; + g.k.finishSegmentByCpn = function (a, b) { this.J.finishSegmentByCpn(a, b) }; g.z(G7a, g.O); g.z(H7a, g.O); g.z(I7a, g.O); g.z(J7a, g.O); g.z(K7a, g.O); g.z(M7a, g.O); M7a.prototype.C = function () { return this.B }; g.z(N7a, ry); + N7a.prototype.D = function (a) { + var b = a.content; if (b.componentType === "shopping-companion") switch (a.actionType) { case 1: case 2: a = this.j.getVideoData(1); this.j.ib("updateKevlarOrC3Companion", { contentVideoId: a && a.videoId, shoppingCompanionCarouselRenderer: b.renderer, layoutId: b.layoutId, macros: b.macros, onLayoutVisibleCallback: b.j, interactionLoggingClientData: b.interactionLoggingClientData }); break; case 3: this.j.ib("updateKevlarOrC3Companion", {}) } else if (b.componentType === "action-companion") switch (a.actionType) { + case 1: case 2: a = this.j.getVideoData(1); + this.j.ib("updateKevlarOrC3Companion", { contentVideoId: a && a.videoId, actionCompanionAdRenderer: b.renderer, layoutId: b.layoutId, macros: b.macros, onLayoutVisibleCallback: b.j, interactionLoggingClientData: b.interactionLoggingClientData }); break; case 3: b.renderer && (b = this.j.getVideoData(1), this.j.ib("updateKevlarOrC3Companion", { contentVideoId: b && b.videoId })), this.j.ib("updateKevlarOrC3Companion", {}) + } else if (b.componentType === "image-companion") switch (a.actionType) { + case 1: case 2: a = this.j.getVideoData(1); this.j.ib("updateKevlarOrC3Companion", + { contentVideoId: a && a.videoId, imageCompanionAdRenderer: b.renderer, layoutId: b.layoutId, macros: b.macros, onLayoutVisibleCallback: b.j, interactionLoggingClientData: b.interactionLoggingClientData }); break; case 3: b = this.j.getVideoData(1), this.j.ib("updateKevlarOrC3Companion", { contentVideoId: b && b.videoId }), this.j.ib("updateKevlarOrC3Companion", {}) + } else if (b.componentType === "top-banner-image-text-icon-buttoned") switch (a.actionType) { + case 1: case 2: a = this.j.getVideoData(1); this.j.ib("updateKevlarOrC3Companion", + { contentVideoId: a && a.videoId, topBannerImageTextIconButtonedLayoutViewModel: b.renderer, layoutId: b.layoutId, macros: b.macros, onLayoutVisibleCallback: b.j, interactionLoggingClientData: b.interactionLoggingClientData }); break; case 3: b.renderer && (b = this.j.getVideoData(1), this.j.ib("updateKevlarOrC3Companion", { contentVideoId: b && b.videoId })), this.j.ib("updateKevlarOrC3Companion", {}) + } else if (b.componentType === "banner-image") switch (a.actionType) { + case 1: case 2: a = this.j.getVideoData(1); this.j.ib("updateKevlarOrC3Companion", + { contentVideoId: a && a.videoId, bannerImageLayoutViewModel: b.renderer, layoutId: b.layoutId, macros: b.macros, onLayoutVisibleCallback: b.j, interactionLoggingClientData: b.interactionLoggingClientData }); break; case 3: b = this.j.getVideoData(1), this.j.ib("updateKevlarOrC3Companion", { contentVideoId: b && b.videoId }), this.j.ib("updateKevlarOrC3Companion", {}) + } else if (b.componentType === "ads-engagement-panel") switch (b = b.renderer, a.actionType) { + case 1: case 2: this.j.ib("updateEngagementPanelAction", b.addAction); this.j.ib("changeEngagementPanelVisibility", + b.expandAction); break; case 3: this.j.ib("changeEngagementPanelVisibility", b.hideAction), this.j.ib("updateEngagementPanelAction", b.removeAction) + } else if (b.componentType === "ads-engagement-panel-layout") { + var c = b.renderer; switch (a.actionType) { + case 1: case 2: this.j.ib("updateEngagementPanelAction", { action: kx(c.addAction), layoutId: b.layoutId, onLayoutVisibleCallback: b.j, interactionLoggingClientData: b.interactionLoggingClientData }); this.j.ib("changeEngagementPanelVisibility", kx(c.expandAction)); break; case 3: this.j.ib("changeEngagementPanelVisibility", + kx(c.hideAction)), this.j.ib("updateEngagementPanelAction", { action: kx(c.removeAction) }) + } + } + }; g.z(O7a, Ay); g.k = O7a.prototype; + g.k.init = function (a, b, c) { + Ay.prototype.init.call(this, a, b, c); g.jm(this.B, "stroke-dasharray", "0 " + this.C); this.api.U().L("enable_dark_mode_style_endcap_timed_pie_countdown") && (this.B.classList.add("ytp-ad-timed-pie-countdown-inner-light"), this.G.classList.add("ytp-ad-timed-pie-countdown-outer-light")); this.api.U().L("enable_dsa_ad_badge_for_action_endcap_on_web") && this.D.classList.add("ytp-ad-timed-pie-countdown-container-upper-right"); this.api.U().L("enable_unified_action_endcap_on_web") && (this.D.classList.add("ytp-ad-timed-pie-countdown-container-unified"), + this.B.classList.add("ytp-ad-timed-pie-countdown-inner-unified"), this.G.classList.add("ytp-ad-timed-pie-countdown-outer-unified"), this.ra.classList.add("ytp-ad-timed-pie-countdown-unified")); this.show() + }; + g.k.clear = function () { this.hide() }; + g.k.hide = function () { Cy(this); Ay.prototype.hide.call(this) }; + g.k.show = function () { By(this); Ay.prototype.show.call(this) }; + g.k.Dq = function () { this.hide() }; + g.k.To = function () { if (this.j) { var a = this.j.getProgressState(); a != null && a.current != null && g.jm(this.B, "stroke-dasharray", a.current / a.seekableEnd * this.C + " " + this.C) } }; g.z(P7a, Ox); g.k = P7a.prototype; + g.k.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); if (b.image && b.image.thumbnail) if (b.headline) if (b.description) if (b.backgroundImage && b.backgroundImage.thumbnail) if (b.actionButton && g.R(b.actionButton, g.nI)) if (a = b.durationMilliseconds || 0, typeof a !== "number" || a <= 0) g.ex(Error("durationMilliseconds was specified incorrectly in AdActionInterstitialRenderer with a value of: " + a)); else if (b.navigationEndpoint) { + var d = this.api.getVideoData(2); if (d != null) { + var e = b.image.thumbnail.thumbnails; e != null && + e.length > 0 && g.pb(g.Ud(e[0].url)) && (e[0].url = d.profilePicture, g.pb(g.Ud(d.profilePicture)) && CIa("VideoPlayer", 239976093, "Expected non-empty profile picture.")); e = b.backgroundImage.thumbnail.thumbnails; e != null && e.length > 0 && g.pb(g.Ud(e[0].url)) && (e[0].url = d.gh()); e = b.headline; e != null && g.pb(g.Ud(e.text)) && (e.text = d.author) + } this.Y.init(Dx("ad-image"), b.image, c); this.G.init(Dx("ad-text"), b.headline, c); this.C.init(Dx("ad-text"), b.description, c); this.Ka.init(Dx("ad-image"), b.backgroundImage, c); d = ["ytp-ad-action-interstitial-action-button", + "ytp-ad-action-interstitial-action-button-rounded"]; this.api.U().L("enable_dark_mode_style_endcap") && (this.slot.classList.add("ytp-ad-action-interstitial-slot-dark-background"), this.G.element.classList.add("ytp-ad-action-interstitial-headline-light"), this.C.element.classList.add("ytp-ad-action-interstitial-description-light"), d.push("ytp-ad-action-interstitial-action-button-dark")); this.api.U().L("enable_small_endcap_action_button_for_mweb") && this.api.U().B && d.push("ytp-ad-action-interstitial-action-button-mobile-companion-size"); + this.api.U().L("enable_mweb_endcap_dark_mode_action_button") && this.api.U().B && d.push("ytp-ad-action-interstitial-action-button-dark"); this.api.U().L("enable_unified_action_endcap_on_web") && (d.push("ytp-ad-action-interstitial-action-button-unified"), this.Xa.classList.add("ytp-ad-action-interstitial-background-container-unified"), this.wf.classList.add("ytp-ad-action-interstitial-card-unified"), this.C.element.classList.add("ytp-ad-action-interstitial-description-unified"), this.G.element.classList.add("ytp-ad-action-interstitial-headline-unified"), + this.ra.classList.add("ytp-ad-action-interstitial-image-container-unified"), this.Ga.classList.add("ytp-ad-action-interstitial-instream-info-unified"), this.slot.classList.add("ytp-ad-action-interstitial-slot-unified")); this.actionButton = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, d); g.P(this, this.actionButton); this.actionButton.Ja(this.fb); this.actionButton.init(Dx("button"), g.R(b.actionButton, g.nI), c); ap(this.actionButton.element); d = dp(this.actionButton.element); cp(this.actionButton.element, + d + " This link opens in new tab"); this.navigationEndpoint = b.navigationEndpoint; this.D.T(this.ra, "click", this.xP, this); this.D.T(this.Va, "click", this.xP, this); !this.api.U().L("enable_clickable_headline_for_action_endcap_on_mweb") && this.api.U().B || this.D.T(this.Wa, "click", this.xP, this); this.j = this.OT ? new Xy(this.api, a) : new Yy(a); g.P(this, this.j); if (b.skipButton) { + if ((a = g.R(b.skipButton, V$a)) && this.j && (this.skipButton = new Ry(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.j, this.CM), + g.P(this, this.skipButton), this.skipButton.Ja(this.element), this.skipButton.init(Dx("skip-button"), a, c)), this.api.U().L("enable_dsa_ad_badge_for_action_endcap_on_web")) { + if (c = b.adBadgeRenderer) if (c = g.R(c, U$a)) a = new Vy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, !0, !1), a.Ja(this.Ga), a.init(Dx("simple-ad-badge"), c, this.macros), g.P(this, a); if (c = b.adInfoRenderer) if (c = g.R(c, lI)) a = new wy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.element), a.Ja(this.Ga), a.init(Dx("ad-info-hover-text-button"), + c, this.macros), g.P(this, a) + } + } else b.nonskippableOverlayRenderer && (a = g.R(b.nonskippableOverlayRenderer, mI)) && this.j && (this.B = new Fy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.j, !1), g.P(this, this.B), this.B.Ja(this.element), this.B.init(Dx("ad-preview"), a, c)); b.countdownRenderer && (b = b.countdownRenderer, g.R(b, W$a) && this.j && (c = new O7a(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.j), g.P(this, c), c.Ja(this.element), c.init(Dx("timed-pie-countdown"), g.R(b, W$a), + this.macros))); this.show(); this.element.focus() + } else g.ex(Error("AdActionInterstitialRenderer has no navigation endpoint.")); else g.ex(Error("AdActionInterstitialRenderer has no button.")); else g.ex(Error("AdActionInterstitialRenderer has no background AdImage.")); else g.ex(Error("AdActionInterstitialRenderer has no description AdText.")); else g.ex(Error("AdActionInterstitialRenderer has no headline AdText.")); else g.ex(Error("AdActionInterstitialRenderer has no image.")) + }; + g.k.clear = function () { g.Ys(this.D); this.hide() }; + g.k.show = function () { Q7a(!0); this.actionButton && this.actionButton.show(); this.skipButton && this.skipButton.show(); this.B && this.B.show(); Ox.prototype.show.call(this) }; + g.k.hide = function () { Q7a(!1); this.actionButton && this.actionButton.hide(); this.skipButton && this.skipButton.hide(); this.B && this.B.hide(); Ox.prototype.hide.call(this) }; + g.k.xP = function () { this.navigationEndpoint && (this.layoutId ? this.jb.executeCommand(this.navigationEndpoint, this.layoutId) : g.ex(Error("Missing layoutId for ad action interstitial."))) }; var V7a = { iconType: "CLOSE" }, H0 = new g.Id(320, 63); g.z(U7a, Ox); g.k = U7a.prototype; + g.k.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); this.D = b; this.Y = g.Tb(this.D.onClickCommands || []); this.Va = this.D.onErrorCommand || null; if (a = this.D.contentSupportedRenderer) a = this.D.contentSupportedRenderer, b = this.D.adInfoRenderer || null, g.R(a, R$a) ? (this.G = g.de("ytp-ad-overlay-ad-info-button-container", this.C.element), W7a(this, b), a = Y7a(this, g.R(a, R$a))) : g.R(a, S$a) ? (this.G = g.de("ytp-ad-overlay-ad-info-button-container", this.B.element), W7a(this, b), a = Z7a(this, g.R(a, S$a))) : g.R(a, T$a) ? (this.G = + g.de("ytp-ad-overlay-ad-info-button-container", this.j.element), W7a(this, b), a = $7a(this, g.R(a, T$a))) : (g.ex(Error("InvideoOverlayAdRenderer content could not be initialized.")), a = !1); a && (this.show(), a8a(this, !0)) + }; + g.k.clear = function () { a8a(this, !1); this.Ka.reset(); this.ra = 0; this.C.hide(); this.logVisibility(this.C.element, !1); this.B.hide(); this.logVisibility(this.B.element, !1); this.j.hide(); this.logVisibility(this.j.element, !1); this.hide(); this.dispose() }; + g.k.wca = function () { this.Xa && (this.layoutId ? this.jb.executeCommand(this.Xa, this.layoutId) : g.ex(Error("Missing layoutId for invideo_overlay_ad."))); this.api.pauseVideo() }; + g.k.SN = function () { a: { if (this.D && this.D.closeButton && this.D.closeButton.buttonRenderer) { var a = this.D.closeButton.buttonRenderer; if (a.serviceEndpoint) { a = [a.serviceEndpoint]; break a } } a = [] } a = g.w(a); for (var b = a.next(); !b.done; b = a.next())b = b.value, this.layoutId ? this.jb.executeCommand(b, this.layoutId) : g.ex(Error("Missing layoutId for invideo_overlay_ad.")); this.api.onAdUxClicked("in_video_overlay_close_button", this.layoutId) }; + g.k.baa = function () { this.Wa || this.api.getPlayerState(1) !== 2 || this.api.playVideo() }; + g.k.jS = function () { this.Wa || this.api.getPlayerState(1) !== 2 || this.api.playVideo(); this.api.jS("invideo-overlay") }; + g.k.caa = function (a) { a.target === this.G && g.de("ytp-ad-button", this.fb.element).click() }; g.z(b8a, Ay); g.k = b8a.prototype; g.k.init = function (a, b, c) { Ay.prototype.init.call(this, a, b, c); a = b.durationMs; this.C = a == null || a === 0 ? 0 : a + this.j.getProgressState().current * 1E3; if (b.text) var d = b.text.templatedAdText; else b.staticMessage && (d = b.staticMessage); this.messageText.init(Dx("ad-text"), d, c); this.messageText.Ja(this.B.element); this.D.show(100); this.show() }; + g.k.clear = function () { this.hide() }; + g.k.hide = function () { c8a(this, !1); Ay.prototype.hide.call(this); this.B.hide(); this.messageText.hide(); Cy(this) }; + g.k.show = function () { c8a(this, !0); Ay.prototype.show.call(this); By(this); this.B.show(); this.messageText.show() }; + g.k.Dq = function () { this.hide() }; + g.k.To = function () { if (this.j != null) { var a = this.j.getProgressState(); a != null && a.current != null && (a = 1E3 * a.current, !this.ra && a >= this.C ? (this.D.hide(), this.ra = !0) : this.messageText && this.messageText.isTemplated() && (a = Math.max(0, Math.ceil((this.C - a) / 1E3)), a !== this.G && (zy(this.messageText, { TIME_REMAINING: String(a) }), this.G = a))) } }; g.z(d8a, Ox); g.k = d8a.prototype; + g.k.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, {}); b.image && b.image.thumbnail ? b.headline ? b.description ? b.actionButton && g.R(b.actionButton, g.nI) ? (this.C.init(Dx("ad-image"), b.image, c), this.B.init(Dx("ad-text"), b.headline, c), this.D.init(Dx("ad-text"), b.description, c), a = ["ytp-ad-underlay-action-button"], this.api.U().L("use_blue_buttons_for_desktop_player_underlay") && a.push("ytp-ad-underlay-action-button-blue"), this.actionButton = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, + a), b.backgroundColor && g.jm(this.element, "background-color", g.jz(b.backgroundColor)), g.P(this, this.actionButton), this.actionButton.Ja(this.G), this.actionButton.init(Dx("button"), g.R(b.actionButton, g.nI), c), b = g.AC(this.api.U().experiments, "player_underlay_video_width_fraction"), this.api.U().L("place_shrunken_video_on_left_of_player") ? (c = this.j, g.pp(c, "ytp-ad-underlay-left-container"), g.np(c, "ytp-ad-underlay-right-container"), g.jm(this.j, "margin-left", Math.round((b + .02) * 100) + "%")) : (c = this.j, g.pp(c, "ytp-ad-underlay-right-container"), + g.np(c, "ytp-ad-underlay-left-container")), g.jm(this.j, "width", Math.round((1 - b - .04) * 100) + "%"), this.api.NF() && this.show(), this.api.addEventListener("playerUnderlayVisibilityChange", this.dW.bind(this)), this.api.addEventListener("resize", this.XY.bind(this))) : g.ex(Error("InstreamAdPlayerUnderlayRenderer has no button.")) : g.ex(Error("InstreamAdPlayerUnderlayRenderer has no description AdText.")) : g.ex(Error("InstreamAdPlayerUnderlayRenderer has no headline AdText.")) : g.ex(Error("InstreamAdPlayerUnderlayRenderer has no image.")) + }; + g.k.show = function () { e8a(!0); this.actionButton && this.actionButton.show(); Ox.prototype.show.call(this) }; + g.k.hide = function () { e8a(!1); this.actionButton && this.actionButton.hide(); Ox.prototype.hide.call(this) }; + g.k.clear = function () { this.api.removeEventListener("playerUnderlayVisibilityChange", this.dW.bind(this)); this.api.removeEventListener("resize", this.XY.bind(this)); this.hide() }; + g.k.onClick = function (a) { Ox.prototype.onClick.call(this, a); this.actionButton && g.qe(this.actionButton.element, a.target) && this.api.pauseVideo() }; + g.k.dW = function (a) { a === "transitioning" ? (this.j.classList.remove("ytp-ad-underlay-clickable"), this.show()) : a === "visible" ? this.j.classList.add("ytp-ad-underlay-clickable") : a === "hidden" && (this.hide(), this.j.classList.remove("ytp-ad-underlay-clickable")) }; + g.k.XY = function (a) { + a.width > 1200 ? (this.actionButton.element.classList.add("ytp-ad-underlay-action-button-large"), this.actionButton.element.classList.remove("ytp-ad-underlay-action-button-medium")) : a.width > 875 ? (this.actionButton.element.classList.add("ytp-ad-underlay-action-button-medium"), this.actionButton.element.classList.remove("ytp-ad-underlay-action-button-large")) : (this.actionButton.element.classList.remove("ytp-ad-underlay-action-button-large"), this.actionButton.element.classList.remove("ytp-ad-underlay-action-button-medium")); + g.jm(this.B.element, "font-size", a.width / 40 + "px") + }; g.z(I0, Ox); + I0.prototype.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); b.toggledLoggingParams && (this.toggledLoggingParams = b.toggledLoggingParams); b.answer && g.R(b.answer, g.nI) ? (a = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, ["ytp-ad-survey-answer-button"], "survey-single-select-answer-button"), a.Ja(this.answer), a.init(Dx("ytp-ad-survey-answer-button"), g.R(b.answer, g.nI), c), a.show()) : b.answer && g.R(b.answer, v1) && (this.j = new py(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, + ["ytp-ad-survey-answer-toggle-button"]), this.j.Ja(this.answer), g.P(this, this.j), this.j.init(Dx("survey-answer-button"), g.R(b.answer, v1), c)); this.show() + }; + I0.prototype.uH = function (a) { this.layoutId ? fD(this.jb, a, this.layoutId, this.macros) : g.ex(new g.pt("There is undefined layoutId when calling the runCommand method.", { componentType: this.componentType })) }; + I0.prototype.onClick = function (a) { Ox.prototype.onClick.call(this, a); if (this.api.U().L("supports_multi_step_on_desktop") && this.index !== null) this.onSelected(this.index) }; + I0.prototype.clear = function () { this.hide() }; g.z(f8a, Ox); f8a.prototype.init = function (a, b, c) { Ox.prototype.init.call(this, a, b, c); b.answer && g.R(b.answer, v1) && (this.button = new py(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, ["ytp-ad-survey-answer-toggle-button", "ytp-ad-survey-none-of-the-above-button"]), this.button.Ja(this.j), this.button.init(Dx("survey-none-of-the-above-button"), g.R(b.answer, v1), c)); this.show() }; g.z(J0, gy); J0.prototype.init = function (a, b, c) { gy.prototype.init.call(this, a, b, c); a = !1; b.text && (b = g.Qx(b.text), a = !g.pb(b)); a || g.fx(Error("No submit text was present in the renderer.")) }; + J0.prototype.onClick = function (a) { this.publish("l"); gy.prototype.onClick.call(this, a) }; g.z(K0, Ox); + K0.prototype.init = function (a, b, c) { + Ox.prototype.init.call(this, a, b, c); if (a = b.skipOrPreviewRenderer) g.R(a, NG) ? (a = g.R(a, NG), c = new Ty(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.D, !0), c.Ja(this.skipOrPreview), c.init(Dx("skip-button"), a, this.macros), g.P(this, c), this.j = c) : g.R(a, mI) && (a = g.R(a, mI), c = new Fy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.D, !1), c.Ja(this.skipOrPreview), c.init(Dx("ad-preview"), a, this.macros), Gy(c), g.P(this, c), this.j = c); this.j == + null && g.ex(Error("ISAPOR.skipOrPreviewRenderer was not initialized properly.ISAPOR: " + JSON.stringify(b))); b.submitButton && (a = b.submitButton, g.R(a, g.nI) && (a = g.R(a, g.nI), c = new J0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), c.Ja(this.submitButton), c.init(Dx("survey-submit"), a, this.macros), g.P(this, c), this.B = c)); if (a = b.adBadgeRenderer) a = g.R(a, U$a), c = new Vy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, !0, !1), c.Ja(this.C), c.init(Dx("simple-ad-badge"), a, this.macros), + g.P(this, c); if (a = b.adDurationRemaining) a = g.R(a, N$a), c = new az(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.D, void 0), c.Ja(this.C), c.init(Dx("ad-duration-remaining"), a, this.macros), g.P(this, c); (b = b.adInfoRenderer) && g.R(b, lI) && (a = new wy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.element), g.P(this, a), a.Ja(this.C), a.init(Dx("ad-info-hover-text-button"), g.R(b, lI), this.macros)); this.api.U().L("enable_unified_ad_badge_style_fix") && this.C.classList.add("ytp-ad-survey-player-overlay-instream-info-unified"); + this.show() + }; + K0.prototype.clear = function () { this.hide() }; g.z(L0, Ox); L0.prototype.init = function (a, b, c) { Ox.prototype.init.call(this, a, b, c); k8a(this) }; + L0.prototype.show = function () { this.C = g.Xa(); Ox.prototype.show.call(this) }; + L0.prototype.E1 = function () { }; g.z(l8a, L0); g.k = l8a.prototype; g.k.init = function (a, b, c) { + var d = this; L0.prototype.init.call(this, a, b, c); b.questionText && g8a(this, b.questionText); b.answers && b.answers.forEach(function (e, f) { g.R(e, t1) && h8a(d, g.R(e, t1), c, f) }); + this.G = new Set(this.B.map(function (e) { return e.j.j })); + (a = b.noneOfTheAbove) && (a = g.R(a, Q$a)) && m8a(this, a, c); b.surveyAdQuestionCommon && j8a(this, b.surveyAdQuestionCommon); b.submitEndpoints && (this.submitEndpoints = b.submitEndpoints); this.T(this.element, "change", this.onChange); this.show() + }; + g.k.E1 = function () { n8a(this, !1); this.D.B.subscribe("l", this.uca, this) }; + g.k.onChange = function (a) { a.target === this.noneOfTheAbove.button.j ? o8a(this) : this.G.has(a.target) && (this.noneOfTheAbove.button.toggleButton(!1), n8a(this, !0)) }; + g.k.uca = function () { + var a = [], b = this.B.reduce(function (e, f, h) { var l = f.toggledLoggingParams; f.j && f.j.isToggled() && l && (e.push(l), a.push(h)); return e }, []).join("&"), c = this.submitEndpoints.map(function (e) { + if (!e.loggingUrls) return e; + e = g.Gc(e); e.loggingUrls = e.loggingUrls.map(function (f) { f.baseUrl && (f.baseUrl = Ui(f.baseUrl, b)); return f }); + return e + }); + if (c) { c = g.w(c); for (var d = c.next(); !d.done; d = c.next())d = d.value, this.layoutId ? fD(this.jb, d, this.layoutId, this.macros) : g.ex(Error("Missing layoutId for multi_select_question.")) } this.api.U().L("supports_multi_step_on_desktop") && this.ra(a) + }; + g.k.clear = function () { this.api.U().L("enable_hide_on_clear_in_survey_question_bulleit") ? this.hide() : this.dispose() }; g.z(M0, L0); M0.prototype.init = function (a, b, c) { + var d = this; L0.prototype.init.call(this, a, b, c); b.questionText && g8a(this, b.questionText); b.answers && b.answers.forEach(function (e, f) { g.R(e, t1) && h8a(d, g.R(e, t1), c, f) }); + b.surveyAdQuestionCommon ? j8a(this, b.surveyAdQuestionCommon) : g.ex(Error("SurveyAdQuestionCommon was not sent.SingleSelectQuestionRenderer: " + JSON.stringify(b))); this.show() + }; + M0.prototype.clear = function () { this.api.U().L("enable_hide_on_clear_in_survey_question_bulleit") ? this.hide() : this.dispose() }; g.z(N0, Ox); N0.prototype.init = function (a, b, c) { + var d = this; Ox.prototype.init.call(this, a, b, c); if (this.api.U().L("supports_multi_step_on_desktop")) { var e; this.conditioningRules = (e = b.conditioningRules) != null ? e : []; var f; this.B = (f = b.questions) != null ? f : []; var h; ((h = b.questions) == null ? 0 : h.length) && s8a(this, 0) } else (b.questions || []).forEach(function (l) { g.R(l, jI) ? q8a(d, g.R(l, jI), c) : g.R(l, iI) && r8a(d, g.R(l, iI), c) }); + this.show() + }; + N0.prototype.clear = function () { this.api.U().L("enable_hide_on_clear_in_survey_question_bulleit") ? this.hide() : (this.hide(), this.dispose()) }; + N0.prototype.D = function (a) { + var b = this; if (this.api.U().L("supports_multi_step_on_desktop")) { + var c; if ((c = this.conditioningRules) == null ? 0 : c.length) { + var d; if (a.length === 0) this.api.onAdUxClicked("ad-action-submit-survey", this.layoutId); else if (this.conditioningRules.find(function (e) { return e.questionIndex === b.j }) == null) g.ex(Error("Expected conditioning rule(s) for survey question.")), this.api.onAdUxClicked("ad-action-submit-survey", this.layoutId); + else if (this.conditioningRules.forEach(function (e) { + if (e.questionIndex === b.j) switch (e.condition) { + case "CONDITION_ALL_OF": var f; if ((f = e.answerIndices) == null ? 0 : f.every(function (l) { return a.includes(l) })) d = e.nextQuestionIndex; + break; case "CONDITION_ANY_OF": var h; if ((h = e.answerIndices) == null ? 0 : h.some(function (l) { return a.includes(l) })) d = e.nextQuestionIndex; + break; default: g.ex(Error("Expected specified condition in survey conditioning rules.")) + } + }), d != null) s8a(this, d); + else this.api.onAdUxClicked("ad-action-submit-survey", this.layoutId) + } else this.questions.length > 1 && g.ex(Error("No conditioning rules, yet survey is multi step. Expected questions.length to be 1.")), this.api.onAdUxClicked("ad-action-submit-survey", this.layoutId) + } + }; var t8a = ma(['background-image:url("', '");']); g.z(O0, Ox); + O0.prototype.init = function (a, b, c) { + var d = this; Ox.prototype.init.call(this, a, b, c); a = b.timeoutSeconds || 0; if (typeof a !== "number" || a < 0) g.ex(Error("timeoutSeconds was specified incorrectly in SurveyTextInterstitialRenderer with a value of: " + a)); else if (b.timeoutCommands) if (b.text) if (b.ctaButton && g.R(b.ctaButton, g.nI)) if (b.brandImage) if (b.backgroundImage && g.R(b.backgroundImage, oI) && g.R(b.backgroundImage, oI).landscape) { + this.layoutId || g.ex(Error("Missing layoutId for survey interstitial.")); u8a(this.interstitial, + g.R(b.backgroundImage, oI).landscape); u8a(this.logoImage, b.brandImage); g.re(this.text, g.Qx(b.text)); var e = ["ytp-ad-survey-interstitial-action-button"]; e.push("ytp-ad-survey-interstitial-action-button-rounded"); this.actionButton = new gy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, e); g.P(this, this.actionButton); this.actionButton.Ja(this.B); this.actionButton.init(Dx("button"), g.R(b.ctaButton, g.nI), c); this.actionButton.show(); this.j = new Xy(this.api, a * 1E3); this.j.subscribe("g", function () { d.transition.hide() }); + g.P(this, this.j); this.T(this.element, "click", function (f) { var h = f.target === d.interstitial; f = d.actionButton.element.contains(f.target); if (h || f) if (d.transition.hide(), h) d.api.onAdUxClicked(d.componentType, d.layoutId) }); + this.transition.show(100) + } else g.ex(Error("SurveyTextInterstitialRenderer has no landscape background image.")); else g.ex(Error("SurveyTextInterstitialRenderer has no brandImage.")); else g.ex(Error("SurveyTextInterstitialRenderer has no button.")); else g.ex(Error("SurveyTextInterstitialRenderer has no text.")); else g.ex(Error("timeoutSeconds was specified yet no timeoutCommands where specified")) + }; + O0.prototype.clear = function () { this.hide() }; + O0.prototype.show = function () { v8a(!0); Ox.prototype.show.call(this) }; + O0.prototype.hide = function () { v8a(!1); Ox.prototype.hide.call(this) }; g.z(Q0, Ox); Q0.prototype.init = function (a, b) { Ox.prototype.init.call(this, a, b, {}); if (a = b.content) { g.re(this.element, a); var c, d; b = ((c = b.interaction) == null ? void 0 : (d = c.accessibility) == null ? void 0 : d.label) || a; this.element.setAttribute("aria-label", b) } else g.ex(Error("AdSimpleAttributedString does not have text content")) }; + Q0.prototype.clear = function () { this.hide() }; + Q0.prototype.onClick = function (a) { Ox.prototype.onClick.call(this, a) }; g.z(R0, Ox); + R0.prototype.init = function (a, b) { + Ox.prototype.init.call(this, a, b, {}); (a = b.label) && a.content && !g.pb(a.content) ? (this.adBadgeText.init(Dx("ad-simple-attributed-string"), new P0(a)), (b = b.adPodIndex) && b.content && !g.pb(b.content) && (this.j = new Q0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), this.j.Ja(this.element), g.P(this, this.j), this.j.element.classList.add("ytp-ad-badge__pod-index"), this.j.init(Dx("ad-simple-attributed-string"), new P0(b))), this.element.classList.add("ytp-ad-badge--stark"), this.show()) : + g.ex(Error("No label is returned in AdBadgeViewModel.")) + }; + R0.prototype.show = function () { this.adBadgeText.show(); var a; (a = this.j) == null || a.show(); Ox.prototype.show.call(this) }; + R0.prototype.hide = function () { this.adBadgeText.hide(); var a; (a = this.j) == null || a.hide(); Ox.prototype.hide.call(this) }; g.z(S0, Ay); g.k = S0.prototype; + g.k.init = function (a, b) { + Ay.prototype.init.call(this, a, b, {}); if (b.durationMilliseconds) { if (b.durationMilliseconds < 0) { g.ex(Error("DurationMilliseconds was specified incorrectly in AdPreview with a value of: " + b.durationMilliseconds)); return } this.B = b.durationMilliseconds } else this.B = this.j.SJ(); var c; if ((c = b.previewText) == null || !c.text || g.pb(b.previewText.text)) g.ex(Error("No text is returned for AdPreview.")); else { + this.G = b.previewText; b.previewText.isTemplated || g.re(this.C, b.previewText.text); var d; + if (((d = this.api.getVideoData(1)) == null ? 0 : d.fm) && b.previewImage) { var e, f; (a = ((f = wua(((e = b.previewImage) == null ? void 0 : e.sources) || [], 52, !1)) == null ? void 0 : f.url) || "") && a.length ? (this.previewImage = new g.Nx({ I: "img", S: "ytp-preview-ad__image", X: { src: "{{imageUrl}}" } }), this.previewImage.updateValue("imageUrl", a), g.P(this, this.previewImage), this.previewImage.Ja(this.element)) : g.ex(Error("Failed to get imageUrl in AdPreview.")) } else this.C.classList.add("ytp-preview-ad__text--padding--wide") + } + }; + g.k.clear = function () { this.hide() }; + g.k.hide = function () { Cy(this); Ay.prototype.hide.call(this) }; + g.k.show = function () { By(this); Ay.prototype.show.call(this) }; + g.k.Dq = function () { this.hide() }; + g.k.To = function () { if (this.j) { var a = this.j.getProgressState(); if (a != null && a.current) if (a = 1E3 * a.current, a >= this.B) this.transition.hide(); else { var b; if ((b = this.G) == null ? 0 : b.isTemplated) if (b = Math.max(0, Math.ceil((this.B - a) / 1E3)), b !== this.D) { var c, d; (a = (c = this.G) == null ? void 0 : (d = c.text) == null ? void 0 : d.replace("{TIME_REMAINING}", String(b))) && g.re(this.C, a); this.D = b } } } }; g.z(T0, Ox); + T0.prototype.init = function (a, b) { + Ox.prototype.init.call(this, a, b, {}); var c, d; if ((a = ((d = wua(((c = b.image) == null ? void 0 : c.sources) || [], x8a(b), !0)) == null ? void 0 : d.url) || "") && a.length) { + c = this.Ea("ytp-ad-avatar"); c.src = a; var e, f; if (d = (e = b.interaction) == null ? void 0 : (f = e.accessibility) == null ? void 0 : f.label) c.alt = d; switch (b.size) { + case "AD_AVATAR_SIZE_XXS": this.element.classList.add("ytp-ad-avatar--size-xxs"); break; case "AD_AVATAR_SIZE_XS": this.element.classList.add("ytp-ad-avatar--size-xs"); break; case "AD_AVATAR_SIZE_S": this.element.classList.add("ytp-ad-avatar--size-s"); + break; case "AD_AVATAR_SIZE_M": this.element.classList.add("ytp-ad-avatar--size-m"); break; case "AD_AVATAR_SIZE_L": this.element.classList.add("ytp-ad-avatar--size-l"); break; case "AD_AVATAR_SIZE_XL": this.element.classList.add("ytp-ad-avatar--size-xl"); break; default: this.element.classList.add("ytp-ad-avatar--size-m") + }switch (b.style) { case "AD_AVATAR_STYLE_ROUNDED_CORNER": this.element.classList.add("ytp-ad-avatar--rounded-corner"); break; default: this.element.classList.add("ytp-ad-avatar--circular") } + } else g.ex(Error("Failed to get imageUrl in AdAvatar.")) + }; + T0.prototype.clear = function () { this.hide() }; + T0.prototype.onClick = function (a) { Ox.prototype.onClick.call(this, a) }; g.z(U0, Ox); + U0.prototype.init = function (a, b) { + Ox.prototype.init.call(this, a, b, {}); var c; a = (c = b.label) == null ? void 0 : c.content; if ((c = a != null && !g.pb(a)) || b.iconImage) { + c && (this.buttonText = new g.Nx({ I: "span", S: "ytp-ad-button-vm__text", va: a }), g.P(this, this.buttonText), this.buttonText.Ja(this.element), this.api.U().experiments.kb("should_fix_player_ad_button_text_overflow") && this.buttonText.element.classList.add("ytp-ad-button-vm__text--fix-text-overflow")); var d, e, f = ((d = b.interaction) == null ? 0 : (e = d.accessibility) == null ? + 0 : e.label) || c ? a : ""; f && cp(this.element, f + " This link opens in new tab"); ap(this.element); if (b.iconImage) { + d = void 0; if (b.iconImage) { a: { e = b.iconImage; if (e.sources) for (e = g.w(e.sources), a = e.next(); !a.done; a = e.next())if (a = a.value, c = void 0, (c = a.clientResource) == null ? 0 : c.imageName) { e = a; break a } e = void 0 } if (e) { var h; d = { iconType: (h = e.clientResource) == null ? void 0 : h.imageName } } } h = fy(d); h != null && (this.buttonIcon = new g.Nx({ I: "span", S: "ytp-ad-button-vm__icon", V: [h] }), g.P(this, this.buttonIcon), b.iconLeading ? (oe(this.element, + this.buttonIcon.element, 0), this.buttonIcon.element.classList.add("ytp-ad-button-vm__icon--leading")) : (this.buttonIcon.Ja(this.element), this.buttonIcon.element.classList.add("ytp-ad-button-vm__icon--trailing"))) + } this.element.classList.add("ytp-ad-button-vm--style-filled"); switch (b.size) { case "AD_BUTTON_SIZE_COMPACT": this.element.classList.add("ytp-ad-button-vm--size-compact"); break; case "AD_BUTTON_SIZE_LARGE": this.element.classList.add("ytp-ad-button-vm--size-large"); break; default: this.element.classList.add("ytp-ad-button-vm--size-default") } + } else g.fx(Error("AdButton does not have label or an icon.")) + }; + U0.prototype.clear = function () { this.hide() }; + U0.prototype.onClick = function (a) { Ox.prototype.onClick.call(this, a) }; g.z(y8a, Ay); g.k = y8a.prototype; + g.k.init = function (a, b) { + Ay.prototype.init.call(this, a, b, {}); this.api.U().L("enable_larger_flyout_cta_on_desktop") && (this.element.classList.add("ytp-ad-avatar-lockup-card--large"), this.Ea("ytp-ad-avatar-lockup-card__avatar_and_text_container").classList.add("ytp-ad-avatar-lockup-card__avatar_and_text_container--large"), this.headline.element.classList.add("ytp-ad-avatar-lockup-card__headline--large"), this.description.element.classList.add("ytp-ad-avatar-lockup-card__description--large"), this.adButton.element.classList.add("ytp-ad-avatar-lockup-card__button--large"), + this.adAvatar.element.classList.add("ytp-ad-avatar-lockup-card__ad_avatar--large"), oe(this.Ea("ytp-ad-avatar-lockup-card__avatar_and_text_container"), this.adAvatar.element, 0)); if (a = g.R(b.avatar, X$a)) { + var c = b.headline; if (c) { + var d = b.description; if (d) { + var e = g.R(b.button, Z$a); e ? (this.adAvatar.init(Dx("ad-avatar"), a), this.headline.init(Dx("ad-simple-attributed-string"), new P0(c)), this.description.init(Dx("ad-simple-attributed-string"), new P0(d)), c.content && c.content.length > 20 && this.description.element.classList.add("ytp-ad-avatar-lockup-card__description--hidden--in--small--player"), + this.adButton.init(Dx("ad-button"), e), this.B = b.startMs || 0, this.api.NF() || this.show(), this.api.addEventListener("playerUnderlayVisibilityChange", this.eW.bind(this)), By(this)) : g.ex(Error("No AdButtonViewModel is returned in PlayerAdAvatarLockupCardButtonedViewModel.")) + } else g.ex(Error("No description is returned in PlayerAdAvatarLockupCardButtonedViewModel.")) + } else g.ex(Error("No headline is returned in PlayerAdAvatarLockupCardButtonedViewModel.")) + } else g.ex(Error("No AdAvatarViewModel is returned in PlayerAdAvatarLockupCardButtonedViewModel.")) + }; + g.k.To = function () { if (this.j) { var a = this.j.getProgressState(); a && a.current && 1E3 * a.current >= this.B && (Cy(this), this.element.classList.remove("ytp-ad-avatar-lockup-card--inactive")) } }; + g.k.Dq = function () { this.clear() }; + g.k.onClick = function (a) { this.api.pauseVideo(); Ay.prototype.onClick.call(this, a) }; + g.k.clear = function () { this.hide(); this.api.removeEventListener("playerUnderlayVisibilityChange", this.eW.bind(this)) }; + g.k.show = function () { this.adAvatar.show(); this.headline.show(); this.description.show(); this.adButton.show(); Ay.prototype.show.call(this) }; + g.k.hide = function () { this.adAvatar.hide(); this.headline.hide(); this.description.hide(); this.adButton.hide(); Ay.prototype.hide.call(this) }; + g.k.eW = function (a) { a === "hidden" ? this.show() : this.hide() }; g.z(z8a, Ox); g.k = z8a.prototype; + g.k.init = function (a, b) { + Ox.prototype.init.call(this, a, b, {}); if (!b.label || g.pb(b.label)) g.ex(Error("No label is returned for SkipAdButton.")); else if (g.re(this.D, b.label), a = fy({ iconType: "SKIP_NEXT_NEW" }), a == null) g.ex(Error("Unable to retrieve icon for SkipAdButton")); else if (this.C = new g.Nx({ I: "span", S: "ytp-skip-ad-button__icon", V: [a] }), g.P(this, this.C), this.C.Ja(this.element), this.api.U().experiments.kb("enable_skip_to_next_messaging") && (b = g.Ud(b.targetId))) this.B = !0, this.element.setAttribute("data-tooltip-target-id", + b), this.element.setAttribute("data-tooltip-target-fixed", "") + }; + g.k.onClick = function (a) { a && a.preventDefault(); var b, c; if (Usa(a, { contentCpn: (c = (b = this.api.getVideoData(1)) == null ? void 0 : b.clientPlaybackNonce) != null ? c : "" }) === 0 && (this.api.U().L("enable_isk_gating") && this.api.ib("onAbnormalityDetected"), this.api.U().L("ab_sa_ef"))) return; Ox.prototype.onClick.call(this, a); this.api.U().L("embeds_web_enable_ad_skipped_event_publishing") && this.api.ib("onAdSkip"); this.api.onAdUxClicked(this.componentType, this.layoutId) }; + g.k.clear = function () { this.j.reset(); this.hide() }; + g.k.hide = function () { Ox.prototype.hide.call(this) }; + g.k.show = function () { this.j.start(); Ox.prototype.show.call(this); this.B && this.api.U().experiments.kb("enable_skip_to_next_messaging") && this.api.publish("showpromotooltip", this.element) }; g.z(A8a, Ay); g.k = A8a.prototype; + g.k.init = function (a, b) { Ay.prototype.init.call(this, a, b, {}); var c = g.R(b.preskipState, aab); c ? (a = g.R(b.skippableState, cab)) ? (b.skipOffsetMilliseconds != null ? this.skipOffsetMilliseconds = b.skipOffsetMilliseconds : (g.fx(Error("No skipOffsetMilliseconds is returned in SkipAdViewModel.")), this.skipOffsetMilliseconds = 5E3), this.B.init(Dx("preview-ad"), c), b = this.B, b.transition.show(100), b.show(), this.C.init(Dx("skip-button"), a), this.show()) : g.ex(Error("No SkipAdButtonViewModel is returned in SkipAdViewModel.")) : g.ex(Error("No AdPreviewViewModel is returned in SkipAdViewModel.")) }; + g.k.show = function () { By(this); Ay.prototype.show.call(this) }; + g.k.hide = function () { !this.isSkippable && this.B ? this.B.hide() : this.C && this.C.hide(); Cy(this); Ay.prototype.hide.call(this) }; + g.k.clear = function () { this.B && this.B.clear(); this.C && this.C.clear(); Cy(this); Ay.prototype.hide.call(this) }; + g.k.Dq = function () { this.hide() }; + g.k.To = function () { if (1E3 * this.j.getProgressState().current >= this.skipOffsetMilliseconds && !this.isSkippable) { this.isSkippable = !0; var a; (a = this.B) != null && a.transition.hide(); (a = this.C) != null && (a.transition.show(), a.show()) } }; g.z(V0, Ox); + V0.prototype.init = function (a, b) { + Ox.prototype.init.call(this, a, b, {}); if (b.label) { + var c; ((c = b.label) == null ? 0 : c.content) && !g.pb(b.label.content) && (this.linkText = new g.Nx({ I: "span", S: "ytp-visit-advertiser-link__text", va: b.label.content }), g.P(this, this.linkText), this.linkText.Ja(this.element)); var d, e; if ((d = b.interaction) == null ? 0 : (e = d.accessibility) == null ? 0 : e.label) cp(this.element, b.interaction.accessibility.label + " This link opens in new tab"); else { + var f; ((f = b.label) == null ? 0 : f.content) && !g.pb(b.label.content) && cp(this.element, + b.label.content + " This link opens in new tab") + } ap(this.element); this.element.setAttribute("tabindex", "0"); this.show() + } else g.ex(Error("No label found in VisitAdvertiserLink.")) + }; + V0.prototype.onClick = function (a) { Ox.prototype.onClick.call(this, a); this.api.onAdUxClicked(this.componentType, this.layoutId) }; + V0.prototype.clear = function () { this.hide() }; g.z(W0, Ox); + W0.prototype.init = function (a, b, c, d) { + Ox.prototype.init.call(this, a, b, {}); b.skipOrPreview && (c = b.skipOrPreview, a = g.R(c, dab), c = g.R(c, aab), a ? (this.yv = new A8a(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B), g.P(this, this.yv), this.yv.Ja(this.G), this.yv.init(Dx("skip-ad"), a)) : c && (this.C = new S0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B, 1), g.P(this, this.C), this.C.Ja(this.G), this.C.init(Dx("ad-preview"), c), a = this.C, a.transition.show(100), a.show())); b.playerAdCard && + (a = g.R(b.playerAdCard, bab)) && (this.playerAdCard = new y8a(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B), g.P(this, this.playerAdCard), this.playerAdCard.Ja(this.ra), this.playerAdCard.init(Dx("ad-avatar-lockup-card"), a)); b.adBadgeRenderer && (c = b.adBadgeRenderer, a = g.R(c, U$a), c = g.R(c, Y$a), a || c) && (a ? (this.adBadge = new Vy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, !0, !1), g.P(this, this.adBadge), this.adBadge.Ja(this.j), this.adBadge.init(Dx("simple-ad-badge"), a, this.macros)) : + c && (this.D = new R0(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), g.P(this, this.D), this.D.Ja(this.j), this.D.init(Dx("ad-badge"), c), this.j.classList.add("ytp-ad-player-overlay-layout__ad-info-container--with-ad-badge-view-model"))); b.adDurationRemaining && (a = g.R(b.adDurationRemaining, N$a)) && (this.adDurationRemaining = new az(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.B, d.videoAdDurationSeconds), g.P(this, this.adDurationRemaining), this.adDurationRemaining.Ja(this.j), + this.adDurationRemaining.init(Dx("ad-duration-remaining"), a, this.macros)); b.adInfoRenderer && (d = g.R(b.adInfoRenderer, lI)) && (this.adInfoButton = new wy(this.api, this.layoutId, this.interactionLoggingClientData, this.jb, this.element), g.P(this, this.adInfoButton), this.adInfoButton.Ja(this.j), this.adInfoButton.init(Dx("ad-info-hover-text-button"), d, this.macros)); b.visitAdvertiserLink && (d = g.R(b.visitAdvertiserLink, eab)) && (this.visitAdvertiserLink = new V0(this.api, this.layoutId, this.interactionLoggingClientData, + this.jb), g.P(this, this.visitAdvertiserLink), this.visitAdvertiserLink.Ja(this.j), this.visitAdvertiserLink.init(Dx("visit-advertiser-link"), d)); b.adDisclosureBanner && (b = g.R(b.adDisclosureBanner, $$a)) && (this.adDisclosureBanner = new cz(this.api, this.layoutId, this.interactionLoggingClientData, this.jb), g.P(this, this.adDisclosureBanner), this.adDisclosureBanner.Ja(this.Y), this.adDisclosureBanner.init(Dx("ad-disclosure-banner"), b)); this.show() + }; + W0.prototype.clear = function () { this.hide() }; var mcb = "ad-attribution-bar ad-channel-thumbnail advertiser-name ad-preview ad-title skip-button visit-advertiser".split(" ").concat("shopping-companion action-companion image-companion ads-engagement-panel ads-engagement-panel-layout banner-image top-banner-image-text-icon-buttoned".split(" ")); g.z(X0, ry); + X0.prototype.D = function (a) { + var b = a.id, c = a.content, d = c.componentType; if (!mcb.includes(d)) switch (a.actionType) { + case 1: a = this.api; var e = this.jb, f = c.layoutId, h = c.interactionLoggingClientData, l = c instanceof dE ? c.OT : !1, m = c instanceof dE || c instanceof Wy ? c.CM : !1; h = h === void 0 ? {} : h; l = l === void 0 ? !1 : l; m = m === void 0 ? !1 : m; switch (d) { + case "invideo-overlay": a = new U7a(a, f, h, e); break; case "player-overlay": a = new gz(a, f, h, e, new KU(a), m); break; case "player-overlay-layout": a = new W0(a, f, h, e, new KU(a)); break; case "survey": a = + new N0(a, f, h, e); break; case "ad-action-interstitial": a = new P7a(a, f, h, e, l, m); break; case "survey-interstitial": a = new O0(a, f, h, e); break; case "ad-message": a = new b8a(a, f, h, e, new KU(a, 1)); break; case "player-underlay": a = new d8a(a, f, h, e); break; default: a = null + }if (!a) { g.fx(Error("No UI component returned from ComponentFactory for type: " + d)); break } g.yc(this.B, b) ? g.fx(Error("Ad UI component already registered: " + b)) : this.B[b] = a; a.bind(c); c instanceof jE ? this.C ? this.C.append(a.nT) : g.ex(Error("Underlay view was not created but UnderlayRenderer was created")) : + this.G.append(a.nT); break; case 2: b = B8a(this, a); if (b == null) break; b.bind(c); break; case 3: c = B8a(this, a), c != null && (g.fb(c), g.yc(this.B, b) ? (c = this.B, b in c && delete c[b]) : g.fx(Error("Ad UI component does not exist: " + b))) + } + }; + X0.prototype.xa = function () { g.gb(Object.values(this.B)); this.B = {}; ry.prototype.xa.call(this) }; g.z(C8a, g.XT); g.k = C8a.prototype; g.k.create = function () { try { D8a(this), this.load(), this.created = !0, D8a(this) } catch (a) { Ny(a instanceof Error ? a : String(a)) } }; + g.k.load = function () { try { G8a(this) } finally { g0(F0(this.j).zl) && this.player.Dg("ad", 1) } }; + g.k.destroy = function () { var a = this.player.getVideoData(1); this.j.j.jy.Lo(a && a.clientPlaybackNonce || ""); this.unload(); this.created = !1 }; + g.k.unload = function () { g.XT.prototype.unload.call(this); try { this.player.getRootNode().classList.remove("ad-created") } catch (b) { Ny(b instanceof Error ? b : String(b)) } if (this.B != null) { var a = this.B; this.B = null; a.dispose() } this.C.reset() }; + g.k.jn = function () { return !1 }; + g.k.getAdState = function () { return -1 }; + g.k.getOptions = function () { return Object.values(lcb) }; + g.k.Uh = function (a, b) { b = b === void 0 ? {} : b; switch (a) { case "replaceUrlMacros": return a = b, a.url ? (b = a7a(this.player), Object.assign(b, a.Bma), a = g.Ho(a.url, b)) : a = null, a; case "onAboutThisAdPopupClosed": this.rq(b); break; case "executeCommand": a = b; a.command && a.layoutId && this.executeCommand(a); break; default: return null } }; + g.k.Su = function (a) { var b; return !((b = this.j.j.xf) == null || !b.get().Su(a)) }; + g.k.rq = function (a) { a.isMuted && Aua(F0(this.j).Jl, F0(this.j).Ko, a.layoutId); this.zt && this.zt.rq() }; + g.k.executeCommand = function (a) { F0(this.j).jb.executeCommand(a.command, a.layoutId) }; g.Ka("yt.player.Application.create", g.C_.create); g.Ka("yt.player.Application.createAlternate", g.C_.create); Cra($w(), { ws: [{ qB: /Unable to load player module/, weight: 20 }, { qB: /Failed to fetch/, weight: 500 }, { qB: /XHR API fetch failed/, weight: 10 }, { qB: /JSON parsing failed after XHR fetch/, weight: 10 }, { qB: /Retrying OnePlatform request/, weight: 10 }, { qB: /CSN Missing or undefined during playback association/, weight: 100 }] }); var ncb = g.La("ytcsi.tick"); ncb && ncb("pe"); g.WT("ad", C8a); g.ocb = window.yt && window.yt.msgs_ || window.ytcfg && window.ytcfg.msgs || {}; g.Ka("yt.msgs_", g.ocb); g.z(g.$0, g.O); g.$0.prototype.start = function (a, b, c) { this.config = { from: a, to: b, duration: c, startTime: (0, g.Zt)() }; this.next() }; + g.$0.prototype.stop = function () { this.delay.stop(); this.config = void 0 }; + g.$0.prototype.next = function () { if (this.config) { var a = this.config, b = a.from, c = a.to, d = a.duration; a = a.startTime; var e = (0, g.Zt)() - a; a = this.j; d = Ola(a, e / d); if (d == 0) a = a.C; else if (d == 1) a = a.D; else { e = Fd(a.C, a.y1, d); var f = Fd(a.y1, a.y2, d); a = Fd(a.y2, a.D, d); e = Fd(e, f, d); f = Fd(f, a, d); a = Fd(e, f, d) } a = g.Dd(a, 0, 1); this.callback(b + (c - b) * a); a < 1 && this.delay.start() } }; g.z(g.a1, g.T); g.k = g.a1.prototype; g.k.y6 = function () { this.B && this.scrollTo(this.j - this.containerWidth) }; + g.k.show = function () { g.T.prototype.show.call(this); M8a(this) }; + g.k.z6 = function () { this.B && this.scrollTo(this.j + this.containerWidth) }; + g.k.ly = function () { this.kc(this.api.qb().getPlayerSize()) }; + g.k.kc = function (a) { var b = this.api.jd() ? .5625 : 16 / 9, c = this.api.Hh(); a = a.width - (c ? 112 : 58); c = Math.ceil(a / (c ? 320 : 192)); var d = (a - c * 8) / c; b = Math.floor(d / b); for (var e = g.w(this.C), f = e.next(); !f.done; f = e.next())f = f.value.Ea("ytp-suggestion-image"), f.style.width = d + "px", f.style.height = b + "px"; this.suggestions.element.style.height = b + "px"; this.G = d; this.Y = b; this.containerWidth = a; this.columns = c; this.j = 0; this.suggestions.element.scrollLeft = -0; g.b1(this) }; + g.k.onVideoDataChange = function () { + var a = this.api.U(), b = this.api.getVideoData(); this.K = b.Ff ? !1 : a.D; this.suggestionData = b.suggestions ? g.kn(b.suggestions, function (c) { return c && !c.playlistId }) : []; + O8a(this); b.Ff ? this.title.update({ title: g.DD("More videos from $DNI_RELATED_CHANNEL", { DNI_RELATED_CHANNEL: b.author }) }) : this.title.update({ title: this.api.jd() ? "More shorts" : "More videos" }) + }; + g.k.scrollTo = function (a) { a = g.Dd(a, this.containerWidth - this.suggestionData.length * (this.G + 8), 0); this.N.start(this.j, a, 1E3); this.j = a; g.b1(this); M8a(this) };; const bOa$ = bOa + bOa = (...args) => { + const ret = bOa$(...args) + if (ret.length > 80) { + window.onPoToken(ret) + } + return ret + } + g.C_.create( + document.getElementById('player'), + { args: {}, attrs: {}, loaded: true }, + ytcfg.get('WEB_PLAYER_CONTEXT_CONFIGS')['WEB_PLAYER_CONTEXT_CONFIG_ID_EMBEDDED_PLAYER'], + ) + ; +})(_yt_player); \ No newline at end of file diff --git a/materialious/vite.config.ts b/materialious/vite.config.ts index 421b5ba5..50efc37a 100644 --- a/materialious/vite.config.ts +++ b/materialious/vite.config.ts @@ -8,6 +8,9 @@ export default defineConfig({ plugins: [ SvelteKitPWA({ injectRegister: 'inline', + workbox: { + maximumFileSizeToCacheInBytes: 4000000 + }, manifest: { description: 'Modern material design for Invidious.', theme_color: '#8936FF',