libaribhtml5 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,59 +39,59 @@ function uq(A) {
39
39
  A.__ARIB_HTML5_ROMSOUND__ = !0;
40
40
  const q = A.HTMLMediaElement?.prototype, e = A.Element?.prototype;
41
41
  if (!q || !e) return;
42
- const t = cq(A.navigator), i = (l) => R(l) ?? String(l), r = (l) => l instanceof A.HTMLMediaElement || !!(A.HTMLSourceElement && l instanceof A.HTMLSourceElement), n = "data-arib-romsound", o = e.getAttribute, c = e.setAttribute, s = e.removeAttribute, y = (l) => o.call(l, n), E = (l, d) => {
42
+ const t = cq(A.navigator), i = (c) => R(c) ?? String(c), r = (c) => c instanceof A.HTMLMediaElement || !!(A.HTMLSourceElement && c instanceof A.HTMLSourceElement), a = "data-arib-romsound", n = e.getAttribute, l = e.setAttribute, s = e.removeAttribute, y = (c) => n.call(c, a), E = (c, d) => {
43
43
  const u = String(d), B = R(u);
44
- return B ? c.call(l, n, u) : s.call(l, n), B ?? u;
45
- }, m = (l, d) => !t || !R(d) ? !1 : (E(l, d), s.call(l, "src"), !0);
46
- e.getAttribute = function(l) {
47
- if (l.toLowerCase() === "src" && r(this)) {
44
+ return B ? l.call(c, a, u) : s.call(c, a), B ?? u;
45
+ }, f = (c, d) => !t || !R(d) ? !1 : (E(c, d), s.call(c, "src"), !0);
46
+ e.getAttribute = function(c) {
47
+ if (c.toLowerCase() === "src" && r(this)) {
48
48
  const d = y(this);
49
49
  if (d !== null) return d;
50
50
  }
51
- return o.call(this, l);
52
- }, e.setAttribute = function(l, d) {
53
- if (l.toLowerCase() === "src" && r(this) && m(this, d))
51
+ return n.call(this, c);
52
+ }, e.setAttribute = function(c, d) {
53
+ if (c.toLowerCase() === "src" && r(this) && f(this, d))
54
54
  return;
55
- const u = l.toLowerCase() === "src" && r(this) ? E(this, d) : String(d);
56
- c.call(this, l, String(u));
55
+ const u = c.toLowerCase() === "src" && r(this) ? E(this, d) : String(d);
56
+ l.call(this, c, String(u));
57
57
  };
58
58
  const v = e.setAttributeNS;
59
- e.setAttributeNS = function(l, d, u) {
60
- if (d.toLowerCase() === "src" && r(this) && m(this, u))
59
+ e.setAttributeNS = function(c, d, u) {
60
+ if (d.toLowerCase() === "src" && r(this) && f(this, u))
61
61
  return;
62
62
  const B = d.toLowerCase() === "src" && r(this) ? E(this, u) : String(u);
63
- v.call(this, l, d, String(B));
64
- }, e.removeAttribute = function(l) {
65
- l.toLowerCase() === "src" && r(this) && s.call(this, n), s.call(this, l);
63
+ v.call(this, c, d, String(B));
64
+ }, e.removeAttribute = function(c) {
65
+ c.toLowerCase() === "src" && r(this) && s.call(this, a), s.call(this, c);
66
66
  };
67
- const M = (l) => {
68
- if (!l) return;
69
- const d = Object.getOwnPropertyDescriptor(l, "src");
70
- return !d?.get || !d.set || Object.defineProperty(l, "src", {
67
+ const M = (c) => {
68
+ if (!c) return;
69
+ const d = Object.getOwnPropertyDescriptor(c, "src");
70
+ return !d?.get || !d.set || Object.defineProperty(c, "src", {
71
71
  configurable: !0,
72
72
  enumerable: d.enumerable,
73
73
  get() {
74
74
  return r(this) ? y(this) ?? d.get.call(this) : d.get.call(this);
75
75
  },
76
76
  set(u) {
77
- r(this) && m(this, u) || d.set.call(this, r(this) ? E(this, u) : i(u));
77
+ r(this) && f(this, u) || d.set.call(this, r(this) ? E(this, u) : i(u));
78
78
  }
79
79
  }), d;
80
80
  }, V = M(q);
81
81
  M(A.HTMLSourceElement?.prototype);
82
82
  const p = q.play;
83
83
  q.play = function() {
84
- const l = y(this) ?? o.call(this, "src"), d = R(l);
84
+ const c = y(this) ?? n.call(this, "src"), d = R(c);
85
85
  if (t) {
86
- const u = this.querySelector?.(`source[${n}]`), B = u ? R(y(u)) : null;
86
+ const u = this.querySelector?.(`source[${a}]`), B = u ? R(y(u)) : null;
87
87
  if (d || B) return Promise.resolve();
88
88
  }
89
89
  return d && V?.set?.call(this, d), p.call(this);
90
90
  };
91
- const g = (l, d) => {
92
- if (!l) return;
93
- const u = Object.getOwnPropertyDescriptor(l, d);
94
- !u?.get || !u.set || Object.defineProperty(l, d, {
91
+ const g = (c, d) => {
92
+ if (!c) return;
93
+ const u = Object.getOwnPropertyDescriptor(c, d);
94
+ !u?.get || !u.set || Object.defineProperty(c, d, {
95
95
  configurable: !0,
96
96
  enumerable: u.enumerable,
97
97
  get: u.get,
@@ -101,51 +101,51 @@ function uq(A) {
101
101
  });
102
102
  };
103
103
  g(e, "innerHTML"), g(e, "outerHTML"), g(A.ShadowRoot?.prototype, "innerHTML");
104
- const a = e.insertAdjacentHTML;
105
- e.insertAdjacentHTML = function(l, d) {
106
- a.call(this, l, C(String(d)));
104
+ const o = e.insertAdjacentHTML;
105
+ e.insertAdjacentHTML = function(c, d) {
106
+ o.call(this, c, C(String(d)));
107
107
  };
108
108
  const h = A.Range?.prototype;
109
109
  if (h) {
110
- const l = h.createContextualFragment;
110
+ const c = h.createContextualFragment;
111
111
  h.createContextualFragment = function(d) {
112
- return l.call(this, C(String(d)));
112
+ return c.call(this, C(String(d)));
113
113
  };
114
114
  }
115
115
  const T = A.DOMParser?.prototype;
116
116
  if (T) {
117
- const l = T.parseFromString;
117
+ const c = T.parseFromString;
118
118
  T.parseFromString = function(d, u) {
119
- return l.call(this, C(String(d)), u);
119
+ return c.call(this, C(String(d)), u);
120
120
  };
121
121
  }
122
122
  const k = A.Document?.prototype;
123
123
  if (k) {
124
- const l = k.write, d = k.writeln;
124
+ const c = k.write, d = k.writeln;
125
125
  k.write = function(...u) {
126
- l.apply(this, u.map((B) => C(String(B))));
126
+ c.apply(this, u.map((B) => C(String(B))));
127
127
  }, k.writeln = function(...u) {
128
128
  d.apply(this, u.map((B) => C(String(B))));
129
129
  };
130
130
  }
131
- const w = (l) => {
131
+ const w = (c) => {
132
132
  const d = [];
133
- r(l) && d.push(l), (l instanceof A.Element || l === A.document) && d.push(...l.querySelectorAll(
133
+ r(c) && d.push(c), (c instanceof A.Element || c === A.document) && d.push(...c.querySelectorAll(
134
134
  'audio[src^="romsound://"], video[src^="romsound://"], source[src^="romsound://"], audio[data-arib-romsound], video[data-arib-romsound], source[data-arib-romsound]'
135
135
  ));
136
136
  for (const u of d) {
137
- const X = y(u) ?? o.call(u, "src"), Q = R(X);
137
+ const X = y(u) ?? n.call(u, "src"), Q = R(X);
138
138
  if (Q) {
139
139
  if (t) {
140
140
  s.call(u, "src"), u instanceof A.HTMLMediaElement && (s.call(u, "autoplay"), u.pause());
141
141
  continue;
142
142
  }
143
- u instanceof A.HTMLMediaElement && V?.set ? V.get?.call(u) !== Q && V.set.call(u, Q) : o.call(u, "src") !== Q && c.call(u, "src", Q);
143
+ u instanceof A.HTMLMediaElement && V?.set ? V.get?.call(u) !== Q && V.set.call(u, Q) : n.call(u, "src") !== Q && l.call(u, "src", Q);
144
144
  }
145
145
  }
146
146
  };
147
- new A.MutationObserver((l) => {
148
- for (const d of l) {
147
+ new A.MutationObserver((c) => {
148
+ for (const d of c) {
149
149
  d.type === "attributes" && w(d.target);
150
150
  for (const u of d.addedNodes) w(u);
151
151
  }
@@ -157,7 +157,7 @@ function uq(A) {
157
157
  }), w(A.document);
158
158
  }
159
159
  const gq = "data:font/woff;base64,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", pq = "data:font/woff;base64,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", yq = "U+1F19B-1F1AC", Eq = "U+1F200-1F202, U+1F210-1F23B, U+1F240-1F248, U+1F250-1F251";
160
- function fq(A) {
160
+ function mq(A) {
161
161
  if (A.__ARIB_HTML5_SYMBOL_FONT__) return;
162
162
  A.__ARIB_HTML5_SYMBOL_FONT__ = !0;
163
163
  const q = A.document.createElement("style");
@@ -182,7 +182,7 @@ function fq(A) {
182
182
  :root { --arib-symbol-font: "ARIB Symbols"; }
183
183
  `, (A.document.head ?? A.document.documentElement).append(q);
184
184
  }
185
- function mq(A, q) {
185
+ function fq(A, q) {
186
186
  if (!q || A.__ARIB_HTML5_BROADCAST_CLOCK__) return;
187
187
  A.__ARIB_HTML5_BROADCAST_CLOCK__ = !0;
188
188
  const e = A.Date, t = () => {
@@ -193,8 +193,8 @@ function mq(A, q) {
193
193
  return e.now();
194
194
  }
195
195
  }, i = function(...r) {
196
- const n = r.length === 0 ? [t()] : r;
197
- return new.target ? Reflect.construct(e, n, new.target) : new e(t()).toString();
196
+ const a = r.length === 0 ? [t()] : r;
197
+ return new.target ? Reflect.construct(e, a, new.target) : new e(t()).toString();
198
198
  };
199
199
  Object.setPrototypeOf(i, e), Object.defineProperty(i, "prototype", {
200
200
  value: e.prototype
@@ -227,8 +227,8 @@ function H(A, q, e = q) {
227
227
  const t = new URL(A, q);
228
228
  if (t.origin !== q.origin || !/^https?:$/.test(t.protocol)) return t;
229
229
  if (!t.pathname.startsWith(q.pathname)) {
230
- const i = t.pathname.replace(/^\/+/, ""), r = e.pathname.startsWith(q.pathname) ? e.pathname.slice(q.pathname.length).replace(/^\/+|\/+$/g, "") : "", n = r && (i === r || i.startsWith(`${r}/`));
231
- t.pathname = `${n ? q.pathname : e.pathname}${i}`;
230
+ const i = t.pathname.replace(/^\/+/, ""), r = e.pathname.startsWith(q.pathname) ? e.pathname.slice(q.pathname.length).replace(/^\/+|\/+$/g, "") : "", a = r && (i === r || i.startsWith(`${r}/`));
231
+ t.pathname = `${a ? q.pathname : e.pathname}${i}`;
232
232
  }
233
233
  return t;
234
234
  }
@@ -244,10 +244,10 @@ function vq(A, q, e) {
244
244
  await g.arrayBuffer();
245
245
  }
246
246
  }, i = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
247
- let n = !1;
248
- const o = (V) => q(V).href, c = (V, p, g) => A.queueMicrotask(() => p(V, g)), s = (V, p) => {
247
+ let a = !1;
248
+ const n = (V) => q(V).href, l = (V, p, g) => A.queueMicrotask(() => p(V, g)), s = (V, p) => {
249
249
  for (const g of V.paths)
250
- for (const a of i.get(g) ?? []) c(g, a, p);
250
+ for (const o of i.get(g) ?? []) l(g, o, p);
251
251
  }, y = (V) => {
252
252
  try {
253
253
  Promise.resolve(t.release?.(V)).catch(() => {
@@ -256,23 +256,23 @@ function vq(A, q, e) {
256
256
  }
257
257
  }, E = (V) => {
258
258
  V.generation += 1, V.controller?.abort(), V.controller = void 0, r.delete(V.url), y(V.url);
259
- }, m = (V, p) => {
259
+ }, f = (V, p) => {
260
260
  V.controller?.abort();
261
- const g = new A.AbortController(), a = ++V.generation;
261
+ const g = new A.AbortController(), o = ++V.generation;
262
262
  V.controller = g, V.state = "loading", Promise.resolve(t.store(V.url, { signal: g.signal })).then(
263
263
  () => {
264
- n || g.signal.aborted || V.generation !== a || (V.controller = void 0, V.state = "stored", s(V, p));
264
+ a || g.signal.aborted || V.generation !== o || (V.controller = void 0, V.state = "stored", s(V, p));
265
265
  },
266
266
  () => {
267
- n || g.signal.aborted || V.generation !== a || (V.controller = void 0, V.state = "failed", s(V, "store_failed"));
267
+ a || g.signal.aborted || V.generation !== o || (V.controller = void 0, V.state = "failed", s(V, "store_failed"));
268
268
  }
269
269
  );
270
- }, v = (V, p) => typeof p != "function" || n ? !1 : (i.has(V) || i.set(V, /* @__PURE__ */ new Set()), i.get(V)?.add(p), r.get(o(V))?.state === "stored" && c(V, p, "store_finished"), !0), M = (V) => {
270
+ }, v = (V, p) => typeof p != "function" || a ? !1 : (i.has(V) || i.set(V, /* @__PURE__ */ new Set()), i.get(V)?.add(p), r.get(n(V))?.state === "stored" && l(V, p, "store_finished"), !0), M = (V) => {
271
271
  if (V === void 0) {
272
272
  for (const g of [...r.values()]) E(g);
273
273
  return !0;
274
274
  }
275
- const p = r.get(o(V));
275
+ const p = r.get(n(V));
276
276
  return p && E(p), !0;
277
277
  };
278
278
  return {
@@ -281,27 +281,27 @@ function vq(A, q, e) {
281
281
  return p ? (i.get(V)?.delete(p), i.get(V)?.size === 0 && i.delete(V)) : i.delete(V), !0;
282
282
  },
283
283
  store(V, p) {
284
- if (n) return !1;
285
- const g = o(V);
286
- let a = r.get(g);
287
- return a || (a = {
284
+ if (a) return !1;
285
+ const g = n(V);
286
+ let o = r.get(g);
287
+ return o || (o = {
288
288
  url: g,
289
289
  paths: /* @__PURE__ */ new Set(),
290
290
  state: "failed",
291
291
  generation: 0
292
- }, r.set(g, a)), a.paths.add(V), p && v(V, p), a.state === "stored" || a.state !== "loading" && m(a, "store_finished"), !0;
292
+ }, r.set(g, o)), o.paths.add(V), p && v(V, p), o.state === "stored" || o.state !== "loading" && f(o, "store_finished"), !0;
293
293
  },
294
294
  release: M,
295
295
  change(V, p) {
296
- const g = r.get(o(V));
297
- g && (p === "deleted" ? (s(g, "deleted"), E(g)) : m(g, "updated"));
296
+ const g = r.get(n(V));
297
+ g && (p === "deleted" ? (s(g, "deleted"), E(g)) : f(g, "updated"));
298
298
  },
299
299
  dispose() {
300
- n || (M(), n = !0, i.clear());
300
+ a || (M(), a = !0, i.clear());
301
301
  }
302
302
  };
303
303
  }
304
- const Mq = "libaribhtml5", bq = "0.1.9", kq = { name: "huggy" }, wq = { modelName: "Huggy ARIB HTML5 Receiver" }, I = {
304
+ const Mq = "libaribhtml5", bq = "0.1.10", kq = { name: "huggy" }, wq = { modelName: "Huggy ARIB HTML5 Receiver" }, I = {
305
305
  name: Mq,
306
306
  version: bq,
307
307
  author: kq,
@@ -395,7 +395,7 @@ function Jq(A, q) {
395
395
  "event_message_tag"
396
396
  ].every((t) => A.source?.[t] === q.source?.[t]) && A.message_group_id === q.message_group_id && A.message_id === q.message_id && A.message_version === q.message_version;
397
397
  }
398
- const f = {
398
+ const m = {
399
399
  broadcastMedia: 12,
400
400
  monomediaOverBroadcastVideo: 11,
401
401
  currentEventInformation: 10,
@@ -432,7 +432,7 @@ function x(A) {
432
432
  throw b("managed_URL must be a string");
433
433
  return { permissionBitmaps: e, managedUrls: t };
434
434
  }
435
- function N(A) {
435
+ function O(A) {
436
436
  const q = A.reduce(
437
437
  (t, i) => t + (i.permissionBitmaps?.length ?? 0),
438
438
  0
@@ -457,7 +457,7 @@ function L(A) {
457
457
  function xq(A, q) {
458
458
  return A.origin === q.origin && A.pathname.startsWith(q.pathname);
459
459
  }
460
- function Nq(A, q, e) {
460
+ function Oq(A, q, e) {
461
461
  let t;
462
462
  try {
463
463
  t = new URL(A, e);
@@ -468,7 +468,7 @@ function Nq(A, q, e) {
468
468
  const i = t.pathname.replace(/\/+$/, "") || "/", r = q.pathname;
469
469
  return i !== "/" && r !== i && !r.startsWith(`${i}/`) ? null : t.origin.length + i.length;
470
470
  }
471
- class Oq {
471
+ class Nq {
472
472
  broadcastBaseUrl;
473
473
  documentUrl;
474
474
  baseAreas;
@@ -479,7 +479,7 @@ class Oq {
479
479
  /** Apply a new MH-AIT descriptor without discarding areas added by the application. */
480
480
  update(q) {
481
481
  const e = q?.map(x);
482
- N([...e ?? [], ...this.addedAreas]), this.baseAreas = e;
482
+ O([...e ?? [], ...this.addedAreas]), this.baseAreas = e;
483
483
  }
484
484
  hasDescriptor() {
485
485
  return this.baseAreas !== void 0 || this.addedAreas.length > 0;
@@ -502,7 +502,7 @@ class Oq {
502
502
  permissionBitmaps: e.permission === null || e.permission.length === 0 ? null : e.permission,
503
503
  managedUrls: e.urls === null || e.urls.length === 0 ? null : e.urls
504
504
  });
505
- N([...this.baseAreas ?? [], ...this.addedAreas, t]), this.addedAreas.push(jq(t));
505
+ O([...this.baseAreas ?? [], ...this.addedAreas, t]), this.addedAreas.push(jq(t));
506
506
  }
507
507
  evaluate(q) {
508
508
  let e;
@@ -517,16 +517,16 @@ class Oq {
517
517
  if (this.baseAreas === void 0 && this.addedAreas.length === 0)
518
518
  return { withinBoundary: !0, permissionBits: S };
519
519
  let i = -1, r = 0;
520
- for (const n of t) {
521
- const o = n.managedUrls;
522
- if (o === null || o.length === 0) {
523
- i < 0 ? (i = 0, r = L(n.permissionBitmaps)) : i === 0 && (r &= L(n.permissionBitmaps));
520
+ for (const a of t) {
521
+ const n = a.managedUrls;
522
+ if (n === null || n.length === 0) {
523
+ i < 0 ? (i = 0, r = L(a.permissionBitmaps)) : i === 0 && (r &= L(a.permissionBitmaps));
524
524
  continue;
525
525
  }
526
- for (const c of o) {
527
- const s = Nq(c, e, this.documentUrl);
526
+ for (const l of n) {
527
+ const s = Oq(l, e, this.documentUrl);
528
528
  if (s === null || s < i) continue;
529
- const y = L(n.permissionBitmaps);
529
+ const y = L(a.permissionBitmaps);
530
530
  s > i ? (i = s, r = y) : r &= y;
531
531
  }
532
532
  }
@@ -541,48 +541,48 @@ function Zq(A, q) {
541
541
  if (q) return;
542
542
  const e = (r) => {
543
543
  try {
544
- const n = new URL(String(r), A.location.href);
545
- return /^https?:$/.test(n.protocol) && n.origin !== A.location.origin;
544
+ const a = new URL(String(r), A.location.href);
545
+ return /^https?:$/.test(a.protocol) && a.origin !== A.location.origin;
546
546
  } catch {
547
547
  return !1;
548
548
  }
549
549
  }, t = A.XMLHttpRequest?.prototype;
550
550
  if (t) {
551
- const r = /* @__PURE__ */ new WeakSet(), n = t.open, o = t.send;
551
+ const r = /* @__PURE__ */ new WeakSet(), a = t.open, n = t.send;
552
552
  Object.defineProperty(t, "open", {
553
553
  configurable: !0,
554
554
  writable: !0,
555
- value: function(c, s, ...y) {
556
- return e(s) ? r.add(this) : r.delete(this), Reflect.apply(n, this, [c, s, ...y]);
555
+ value: function(l, s, ...y) {
556
+ return e(s) ? r.add(this) : r.delete(this), Reflect.apply(a, this, [l, s, ...y]);
557
557
  }
558
558
  }), Object.defineProperty(t, "send", {
559
559
  configurable: !0,
560
560
  writable: !0,
561
- value: function(c) {
562
- if (!r.has(this)) return o.call(this, c);
561
+ value: function(l) {
562
+ if (!r.has(this)) return n.call(this, l);
563
563
  A.queueMicrotask(() => this.dispatchEvent(new A.ProgressEvent("error")));
564
564
  }
565
565
  });
566
566
  }
567
567
  const i = A.fetch?.bind(A);
568
- if (i && (A.fetch = (r, n) => {
569
- const o = r instanceof A.Request ? r.url : r;
570
- return e(o) ? Promise.reject(new TypeError("External network is offline")) : i(r, n);
568
+ if (i && (A.fetch = (r, a) => {
569
+ const n = r instanceof A.Request ? r.url : r;
570
+ return e(n) ? Promise.reject(new TypeError("External network is offline")) : i(r, a);
571
571
  }), typeof A.navigator.sendBeacon == "function") {
572
572
  const r = A.navigator.sendBeacon.bind(A.navigator);
573
573
  Object.defineProperty(A.navigator, "sendBeacon", {
574
574
  configurable: !0,
575
- value: (n, o) => e(n) ? !1 : r(n, o)
575
+ value: (a, n) => e(a) ? !1 : r(a, n)
576
576
  });
577
577
  }
578
578
  }
579
579
  const Kq = (A, q, e = 1) => Math.abs(A.left - q.left) <= e && Math.abs(A.top - q.top) <= e && Math.abs(A.width - q.width) <= e && Math.abs(A.height - q.height) <= e, zq = (A) => A.hasAttribute("width") || A.hasAttribute("height") || A.style.getPropertyValue("width") !== "" || A.style.getPropertyValue("height") !== "", F = (A) => {
580
580
  const q = A.ownerDocument;
581
581
  let e = A, t = A.getBoundingClientRect(), i = A, r = !zq(A) && (t.width <= 0 || t.height <= 0 || Math.abs(t.width - 300) <= 1 && Math.abs(t.height - 150) <= 1);
582
- for (let n = A.parentElement; n && n !== q.body && n !== q.documentElement; n = n.parentElement) {
583
- const o = n.getBoundingClientRect(), c = n.children.length === 1 && n.firstElementChild === i, s = Kq(o, t);
584
- if (!c || o.width <= 0 || o.height <= 0 || !s && !r) break;
585
- e = n, t = o, i = n, r = !1;
582
+ for (let a = A.parentElement; a && a !== q.body && a !== q.documentElement; a = a.parentElement) {
583
+ const n = a.getBoundingClientRect(), l = a.children.length === 1 && a.firstElementChild === i, s = Kq(n, t);
584
+ if (!l || n.width <= 0 || n.height <= 0 || !s && !r) break;
585
+ e = a, t = n, i = a, r = !1;
586
586
  }
587
587
  return { element: e, rect: t };
588
588
  };
@@ -593,28 +593,28 @@ class Hq {
593
593
  constructor(q) {
594
594
  this.target = q;
595
595
  }
596
- set(q, e) {
597
- if (this.setPlaceholder(q, e), !e) {
596
+ set(q, e, t = !0) {
597
+ if (this.setPlaceholder(q, e), !e || !t) {
598
598
  this.restoreBackgrounds();
599
599
  return;
600
600
  }
601
- const t = /* @__PURE__ */ new Set();
601
+ const i = /* @__PURE__ */ new Set();
602
602
  for (let n = q.parentElement; n && n !== this.target.document.body && n !== this.target.document.documentElement; n = n.parentElement) {
603
- const o = this.target.getComputedStyle(n);
604
- !this.backgrounds.has(n) && this.hasTransparentBackground(o) || t.add(n);
603
+ const l = this.target.getComputedStyle(n);
604
+ !this.backgrounds.has(n) && this.hasTransparentBackground(l) || i.add(n);
605
605
  }
606
- const i = F(q).rect, r = (n) => {
607
- const o = n.getBoundingClientRect(), c = 1;
608
- return o.width > 0 && o.height > 0 && o.left <= i.left + c && o.top <= i.top + c && o.right >= i.right - c && o.bottom >= i.bottom - c;
606
+ const r = F(q).rect, a = (n) => {
607
+ const l = n.getBoundingClientRect(), s = 1;
608
+ return l.width > 0 && l.height > 0 && l.left <= r.left + s && l.top <= r.top + s && l.right >= r.right - s && l.bottom >= r.bottom - s;
609
609
  };
610
610
  for (const n of this.target.document.querySelectorAll("body *")) {
611
611
  if (n === q || n.contains(q) || q.contains(n)) continue;
612
- const o = this.target.getComputedStyle(n);
613
- !this.backgrounds.has(n) && this.hasTransparentBackground(o) || r(n) && t.add(n);
612
+ const l = this.target.getComputedStyle(n);
613
+ !this.backgrounds.has(n) && this.hasTransparentBackground(l) || a(n) && i.add(n);
614
614
  }
615
615
  for (const n of [...this.backgrounds.keys()])
616
- t.has(n) || this.restoreBackground(n);
617
- for (const n of t) {
616
+ i.has(n) || this.restoreBackground(n);
617
+ for (const n of i) {
618
618
  if (this.backgrounds.has(n)) {
619
619
  this.captureApplicationBackgroundChanges(n), this.clearBackground(n);
620
620
  continue;
@@ -669,18 +669,11 @@ class Hq {
669
669
  }
670
670
  placeholderElements(q) {
671
671
  const e = [q], t = F(q), i = t.rect, r = 1;
672
- let n = q;
673
- for (const o of this.target.document.querySelectorAll("body *")) {
674
- if (o === q || o.tagName.toLowerCase() !== "object") continue;
675
- const c = o.getAttribute("type")?.toLowerCase() ?? "";
676
- if (!c.includes("shockwave-flash") && !c.includes("silverlight")) continue;
677
- const s = o.getBoundingClientRect();
678
- Math.abs(s.left - i.left) <= r && Math.abs(s.top - i.top) <= r && Math.abs(s.width - i.width) <= r && Math.abs(s.height - i.height) <= r && e.push(o);
679
- }
680
- for (let o = q.parentElement; o && o !== this.target.document.body && o !== this.target.document.documentElement; o = o.parentElement) {
681
- const c = o.getBoundingClientRect();
682
- if (!(o.children.length === 1 && o.firstElementChild === n && (o === t.element || Math.abs(c.left - i.left) <= r && Math.abs(c.top - i.top) <= r && Math.abs(c.width - i.width) <= r && Math.abs(c.height - i.height) <= r))) break;
683
- e.push(o), n = o;
672
+ let a = q;
673
+ for (let n = q.parentElement; n && n !== this.target.document.body && n !== this.target.document.documentElement; n = n.parentElement) {
674
+ const l = n.getBoundingClientRect();
675
+ if (!(n.children.length === 1 && n.firstElementChild === a && (n === t.element || Math.abs(l.left - i.left) <= r && Math.abs(l.top - i.top) <= r && Math.abs(l.width - i.width) <= r && Math.abs(l.height - i.height) <= r))) break;
676
+ e.push(n), a = n;
684
677
  }
685
678
  return e;
686
679
  }
@@ -738,7 +731,7 @@ class Hq {
738
731
  this.restoreBackground(q);
739
732
  }
740
733
  }
741
- const Yq = 'object[type="video/x-arib2-broadcast"], object[data-arib-type="video/x-arib2-broadcast"]', O = [
734
+ const Yq = '[data-arib-object="video/x-arib2-broadcast"], object[type="video/x-arib2-broadcast"]', N = [
742
735
  "animationstart",
743
736
  "animationend",
744
737
  "animationcancel",
@@ -778,7 +771,7 @@ class Xq {
778
771
  startObserving() {
779
772
  if (!(this.observing || this.disposed)) {
780
773
  this.observing = !0, this.mutationObserver = new this.target.MutationObserver(this.schedule), this.observeDocumentMutations(), this.resizeObserver?.observe(this.target.document.documentElement), this.target.addEventListener("resize", this.schedule);
781
- for (const q of O)
774
+ for (const q of N)
782
775
  this.target.document.addEventListener(q, this.schedule, !0);
783
776
  this.target.document.addEventListener("load", this.schedule, !0), queueMicrotask(this.schedule);
784
777
  }
@@ -795,7 +788,7 @@ class Xq {
795
788
  dispose(q, e) {
796
789
  if (!this.disposed) {
797
790
  this.disposed = !0, this.mediaPlaneFrame !== null && this.target.cancelAnimationFrame(this.mediaPlaneFrame), this.mediaPlaneFrame = null, this.mutationObserver?.disconnect(), this.resizeObserver?.disconnect(), this.target.removeEventListener("resize", this.schedule), this.target.document.removeEventListener("load", this.schedule, !0);
798
- for (const t of O)
791
+ for (const t of N)
799
792
  this.target.document.removeEventListener(t, this.schedule, !0);
800
793
  this.applicationCanvasStyle?.remove(), this.applicationCanvasStyle = null, e?.(), this.unmountMediaPlane(q);
801
794
  }
@@ -809,12 +802,12 @@ class Xq {
809
802
  let i = this.target.getComputedStyle(e ?? this.target.document.documentElement).backgroundColor;
810
803
  const r = e?.getBoundingClientRect();
811
804
  if (r && r.width > 0 && r.height > 0)
812
- for (const o of this.target.document.querySelectorAll("body *")) {
813
- const c = this.target.getComputedStyle(o);
814
- if (c.backgroundColor === "rgba(0, 0, 0, 0)" || c.backgroundColor === "transparent") continue;
815
- const s = o.getBoundingClientRect();
805
+ for (const n of this.target.document.querySelectorAll("body *")) {
806
+ const l = this.target.getComputedStyle(n);
807
+ if (l.backgroundColor === "rgba(0, 0, 0, 0)" || l.backgroundColor === "transparent") continue;
808
+ const s = n.getBoundingClientRect();
816
809
  if (!(s.width <= 0 || s.height <= 0 || s.left > r.left + 1 || s.top > r.top + 1 || s.right < r.right - 1 || s.bottom < r.bottom - 1)) {
817
- i = c.backgroundColor;
810
+ i = l.backgroundColor;
818
811
  break;
819
812
  }
820
813
  }
@@ -844,7 +837,14 @@ class Xq {
844
837
  observeDocumentMutations() {
845
838
  !this.observing || this.disposed || this.mutationObserver === null || this.mutationObserver.observe(this.target.document.documentElement, {
846
839
  attributes: !0,
847
- attributeFilter: ["class", "style", "type", "data-arib-type", "name", "value"],
840
+ attributeFilter: [
841
+ "class",
842
+ "style",
843
+ "type",
844
+ "data-arib-object",
845
+ "name",
846
+ "value"
847
+ ],
848
848
  childList: !0,
849
849
  subtree: !0
850
850
  });
@@ -861,11 +861,11 @@ class Xq {
861
861
  q !== this.observedMediaObject && (this.observedMediaObject && this.resizeObserver?.unobserve(this.observedMediaObject), this.observedMediaObject = q, q && this.resizeObserver?.observe(q));
862
862
  }
863
863
  logicalViewport() {
864
- const q = this.target.document.querySelector('meta[name="viewport"]')?.content ?? "", e = (o) => {
865
- const c = Number(q.match(new RegExp(`(?:^|[,;])\\s*${o}\\s*=\\s*(\\d+)`, "i"))?.[1]);
866
- return Number.isSafeInteger(c) && c > 0 ? c : null;
867
- }, t = e("width"), i = e("height"), r = t ?? (i === null ? 3840 : Math.round(i * 16 / 9)), n = i ?? (t === null ? 2160 : Math.round(t * 9 / 16));
868
- return { width: r, height: n };
864
+ const q = this.target.document.querySelector('meta[name="viewport"]')?.content ?? "", e = (n) => {
865
+ const l = Number(q.match(new RegExp(`(?:^|[,;])\\s*${n}\\s*=\\s*(\\d+)`, "i"))?.[1]);
866
+ return Number.isSafeInteger(l) && l > 0 ? l : null;
867
+ }, t = e("width"), i = e("height"), r = t ?? (i === null ? 3840 : Math.round(i * 16 / 9)), a = i ?? (t === null ? 2160 : Math.round(t * 9 / 16));
868
+ return { width: r, height: a };
869
869
  }
870
870
  reportScreenSize() {
871
871
  const q = this.logicalViewport(), e = JSON.stringify(q);
@@ -896,41 +896,42 @@ class Xq {
896
896
  this.observeMediaObject(null);
897
897
  const E = this.activeMediaObject ? this.slotIdFor(this.activeMediaObject) : "";
898
898
  this.activeMediaObject && this.unmountMediaPlane("slot-removed");
899
- const m = this.logicalViewport(), v = {
899
+ const f = this.logicalViewport(), v = {
900
900
  slotId: E,
901
901
  visible: !1,
902
902
  x: 0,
903
903
  y: 0,
904
904
  width: 0,
905
905
  height: 0,
906
- screenWidth: m.width,
907
- screenHeight: m.height,
906
+ screenWidth: f.width,
907
+ screenHeight: f.height,
908
908
  layer: { documentOrder: -1, stackingPath: [] }
909
909
  }, M = JSON.stringify(v);
910
910
  M !== this.lastMediaPlane && (this.lastMediaPlane = M, this.postRuntime("media-plane", v));
911
911
  return;
912
912
  }
913
913
  this.observeMediaObject(q), this.installBroadcastObjectApi(q);
914
- const e = F(q), t = e.rect, i = this.target.getComputedStyle(q), r = q.querySelector('param[name="video_src"]')?.value, n = q.querySelector('param[name="audio_src"]')?.value, o = this.logicalViewport(), c = this.externalMediaHole.describeStackingPath(q), s = {
914
+ const e = F(q), t = e.rect, i = this.target.getComputedStyle(q), r = q.querySelector('param[name="video_src"]')?.value, a = q.querySelector('param[name="audio_src"]')?.value, n = this.logicalViewport(), l = this.externalMediaHole.describeStackingPath(q), s = {
915
915
  slotId: this.slotIdFor(q),
916
- visible: i.display !== "none" && i.visibility !== "hidden" && t.width > 0 && t.height > 0 && c.every((E) => E.display !== "none" && E.visibility !== "hidden" && E.opacity > 0),
916
+ visible: i.display !== "none" && i.visibility !== "hidden" && t.width > 0 && t.height > 0 && l.every((E) => E.display !== "none" && E.visibility !== "hidden" && E.opacity > 0),
917
917
  x: t.x,
918
918
  y: t.y,
919
919
  width: t.width,
920
920
  height: t.height,
921
- screenWidth: o.width,
922
- screenHeight: o.height,
921
+ screenWidth: n.width,
922
+ screenHeight: n.height,
923
923
  videoSource: r,
924
- audioSource: n,
924
+ audioSource: a,
925
925
  layer: {
926
926
  documentOrder: Array.from(this.target.document.querySelectorAll("*")).indexOf(q),
927
- stackingPath: c,
927
+ stackingPath: l,
928
928
  externalPlacement: e.element !== q && Number.parseInt(this.target.getComputedStyle(e.element).zIndex, 10) > 0 ? "above-application" : "behind-application"
929
929
  }
930
930
  }, y = JSON.stringify(s);
931
931
  q !== this.activeMediaObject ? (this.activeMediaObject && this.unmountMediaPlane("slot-removed"), this.activeMediaObject = q, this.adapter && this.callMediaPlaneAdapter(() => this.adapter?.mountMediaPlane(q, s))) : y !== this.lastMediaPlane && this.adapter && this.callMediaPlaneAdapter(() => this.adapter?.updateMediaPlane(q, s)), this.externalMediaHole.set(
932
932
  q,
933
- (this.adapter?.renderMode ?? "external") === "external"
933
+ (this.adapter?.renderMode ?? "external") === "external",
934
+ s.layer.externalPlacement !== "above-application"
934
935
  ), y !== this.lastMediaPlane && (this.lastMediaPlane = y, this.postRuntime("media-plane", s));
935
936
  }
936
937
  }
@@ -1015,14 +1016,14 @@ class $q {
1015
1016
  }
1016
1017
  };
1017
1018
  boundaryDescriptor = {
1018
- getCurrentBoundary: () => (this.requirePermission(f.broadcastResources), this.boundary.getCurrentBoundary()),
1019
+ getCurrentBoundary: () => (this.requirePermission(m.broadcastResources), this.boundary.getCurrentBoundary()),
1019
1020
  addPermissionManagedArea: (q) => {
1020
- this.requirePermission(f.boundaryExtension), this.boundary.addPermissionManagedArea(q);
1021
+ this.requirePermission(m.boundaryExtension), this.boundary.addPermissionManagedArea(q);
1021
1022
  }
1022
1023
  };
1023
1024
  ownerApplication;
1024
1025
  constructor(q) {
1025
- this.target = q.target, this.resolveRuntimeUrl = q.resolveRuntimeUrl, this.allowExternalNetwork = q.allowExternalNetwork, this.postRuntime = q.postRuntime, this.applicationInformation = { ...q.application }, this.boundary = new Oq(
1026
+ this.target = q.target, this.resolveRuntimeUrl = q.resolveRuntimeUrl, this.allowExternalNetwork = q.allowExternalNetwork, this.postRuntime = q.postRuntime, this.applicationInformation = { ...q.application }, this.boundary = new Nq(
1026
1027
  q.broadcastBaseUrl,
1027
1028
  this.target.location.href,
1028
1029
  this.applicationInformation.permissionManagedAreas
@@ -1045,7 +1046,7 @@ class $q {
1045
1046
  this.postRuntime("destroy");
1046
1047
  },
1047
1048
  replaceApplication: (e, t, i = null) => {
1048
- if (this.requirePermission(f.broadcastResources), !Number.isSafeInteger(e) || e < 0 || !Number.isSafeInteger(t) || t < 0) {
1049
+ if (this.requirePermission(m.broadcastResources), !Number.isSafeInteger(e) || e < 0 || !Number.isSafeInteger(t) || t < 0) {
1049
1050
  this.postRuntime("error", {
1050
1051
  message: "Invalid replaceApplication application identifier"
1051
1052
  });
@@ -1058,9 +1059,9 @@ class $q {
1058
1059
  });
1059
1060
  },
1060
1061
  exitFromManagedState: (e) => {
1061
- this.requirePermission(f.broadcastResources), this.postRuntime("exit-managed-state", { url: String(e ?? "") });
1062
+ this.requirePermission(m.broadcastResources), this.postRuntime("exit-managed-state", { url: String(e ?? "") });
1062
1063
  },
1063
- getApplicationBoundaryAndPermissionDescriptor: () => (this.requirePermission(f.broadcastResources), this.boundary.hasDescriptor() ? this.boundaryDescriptor : null)
1064
+ getApplicationBoundaryAndPermissionDescriptor: () => (this.requirePermission(m.broadcastResources), this.boundary.hasDescriptor() ? this.boundaryDescriptor : null)
1064
1065
  }, Object.defineProperty(this.target.navigator, "applicationManager", {
1065
1066
  configurable: !0,
1066
1067
  enumerable: !0,
@@ -1069,7 +1070,7 @@ class $q {
1069
1070
  // Hybridcast HTML applications use this receiver operation to return
1070
1071
  // to the BML data-broadcasting browser that launched them.
1071
1072
  launchDataBroadcastingBrowser: () => {
1072
- this.requirePermission(f.broadcastResources), this.postRuntime("launch-data-broadcasting-browser");
1073
+ this.requirePermission(m.broadcastResources), this.postRuntime("launch-data-broadcasting-browser");
1073
1074
  }
1074
1075
  }
1075
1076
  });
@@ -1179,92 +1180,104 @@ function ee(A, q) {
1179
1180
  e ? Object.defineProperty(A, "userAgent", e) : Reflect.deleteProperty(A, "userAgent");
1180
1181
  };
1181
1182
  }
1182
- function te(A, q = {}) {
1183
+ function te(A) {
1184
+ const q = A.document.querySelectorAll(
1185
+ 'object[type="video/x-arib2-broadcast"]'
1186
+ );
1187
+ for (const e of q) {
1188
+ const t = A.document.createElement("video");
1189
+ for (const i of Array.from(e.attributes))
1190
+ i.name.toLowerCase() !== "type" && t.setAttribute(i.name, i.value);
1191
+ for (t.setAttribute("data-arib-object", "video/x-arib2-broadcast"); e.firstChild !== null; ) t.append(e.firstChild);
1192
+ e.replaceWith(t);
1193
+ }
1194
+ }
1195
+ function Ae(A, q = {}) {
1183
1196
  if (!A.__ARIB_HTML5_RUNTIME__) {
1184
1197
  A.__ARIB_HTML5_RUNTIME__ = "installing";
1185
1198
  try {
1186
- Ae(A, q), A.__ARIB_HTML5_RUNTIME__ = !0;
1199
+ ie(A, q), A.__ARIB_HTML5_RUNTIME__ = !0;
1187
1200
  } catch (e) {
1188
1201
  throw delete A.__ARIB_HTML5_RUNTIME__, e;
1189
1202
  }
1190
1203
  }
1191
1204
  }
1192
- function Ae(A, q) {
1205
+ function ie(A, q) {
1193
1206
  const e = q.userAgent === void 0 ? null : ee(A.navigator, q.userAgent);
1194
- mq(A, q.now), uq(A), fq(A);
1207
+ fq(A, q.now), uq(A), mq(A);
1195
1208
  const t = z(
1196
1209
  q.broadcastBaseUrl,
1197
1210
  A.location.href
1198
1211
  );
1199
1212
  if (t.origin !== A.location.origin)
1200
1213
  throw new Error(`Broadcast base URL must be same-origin: ${t.href}`);
1201
- const i = Bq(A.location.href, t), r = (a) => {
1202
- const h = new URL(String(a ?? ""), A.location.href);
1214
+ const i = Bq(A.location.href, t), r = (o) => {
1215
+ const h = new URL(String(o ?? ""), A.location.href);
1203
1216
  return H(h, t, i);
1204
- }, n = A.crypto.randomUUID?.() ?? `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`, o = (a, h = {}) => {
1217
+ }, a = A.crypto.randomUUID?.() ?? `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`, n = (o, h = {}) => {
1205
1218
  A.parent?.postMessage({
1206
1219
  type: "arib-runtime",
1207
- runtimeId: n,
1208
- event: a,
1220
+ runtimeId: a,
1221
+ event: o,
1209
1222
  ...h
1210
1223
  }, "*");
1211
- }, c = new $q({
1224
+ }, l = new $q({
1212
1225
  target: A,
1213
1226
  broadcastBaseUrl: t,
1214
1227
  resolveRuntimeUrl: r,
1215
1228
  allowExternalNetwork: q.allowExternalNetwork ?? !1,
1216
1229
  application: q.application,
1217
- postRuntime: o
1218
- }), s = (a) => {
1219
- c.requirePermission(a);
1230
+ postRuntime: n
1231
+ }), s = (o) => {
1232
+ l.requirePermission(o);
1220
1233
  };
1221
1234
  Zq(A, q.allowExternalNetwork);
1222
- for (const [a, h] of Object.entries(qe)) A[a] = h;
1223
- const y = /* @__PURE__ */ new Set(), E = /* @__PURE__ */ new Set(), m = vq(
1235
+ for (const [o, h] of Object.entries(qe)) A[o] = h;
1236
+ const y = /* @__PURE__ */ new Set(), E = /* @__PURE__ */ new Set(), f = vq(
1224
1237
  A,
1225
- (a) => r(a),
1238
+ (o) => r(o),
1226
1239
  q.resourceStore
1227
1240
  );
1228
1241
  let v = null;
1229
1242
  const M = new _q({
1230
- requirePermission: () => s(f.broadcastMedia),
1231
- postRuntime: o
1243
+ requirePermission: () => s(m.broadcastMedia),
1244
+ postRuntime: n
1232
1245
  });
1233
1246
  let V;
1234
- A.addEventListener("message", (a) => {
1235
- if (!(a.source !== A.parent || a.origin !== A.location.origin) && !(a.data?.type !== "arib-host" || a.data.runtimeId !== n) && !M.handleHostMessage(a.data)) {
1236
- if (a.data.event === "program-info") {
1247
+ A.addEventListener("message", (o) => {
1248
+ if (!(o.source !== A.parent || o.origin !== A.location.origin) && !(o.data?.type !== "arib-host" || o.data.runtimeId !== a) && !M.handleHostMessage(o.data)) {
1249
+ if (o.data.event === "program-info") {
1237
1250
  try {
1238
- v = a.data.value === null ? null : D(a.data.value);
1251
+ v = o.data.value === null ? null : D(o.data.value);
1239
1252
  } catch (h) {
1240
- o("error", { message: `Invalid program information: ${String(h)}` });
1253
+ n("error", { message: `Invalid program information: ${String(h)}` });
1241
1254
  return;
1242
1255
  }
1243
1256
  for (const h of E) queueMicrotask(h);
1244
1257
  return;
1245
1258
  }
1246
- if (a.data.event === "application-information") {
1259
+ if (o.data.event === "application-information") {
1247
1260
  try {
1248
- const h = c.updateApplicationInformation(
1249
- a.data.value ?? {}
1261
+ const h = l.updateApplicationInformation(
1262
+ o.data.value ?? {}
1250
1263
  );
1251
- V.schedule(), h || o("application-boundary-exit", { url: A.location.href });
1264
+ V.schedule(), h || n("application-boundary-exit", { url: A.location.href });
1252
1265
  } catch (h) {
1253
- o("error", { message: `Invalid application information: ${String(h)}` });
1266
+ n("error", { message: `Invalid application information: ${String(h)}` });
1254
1267
  }
1255
1268
  return;
1256
1269
  }
1257
- if (a.data.event === "receiver-input-state") {
1258
- c.setHostInputActive(!!a.data.active);
1270
+ if (o.data.event === "receiver-input-state") {
1271
+ l.setHostInputActive(!!o.data.active);
1259
1272
  return;
1260
1273
  }
1261
- if (a.data.event === "resource-change") {
1262
- const h = a.data.change;
1263
- (h === "updated" || h === "deleted") && m.change(String(a.data.path ?? ""), h);
1274
+ if (o.data.event === "resource-change") {
1275
+ const h = o.data.change;
1276
+ (h === "updated" || h === "deleted") && f.change(String(o.data.path ?? ""), h);
1264
1277
  return;
1265
1278
  }
1266
- if (a.data.event === "stream-event") {
1267
- const h = a.data.value;
1279
+ if (o.data.event === "stream-event") {
1280
+ const h = o.data.value;
1268
1281
  for (const T of [...y])
1269
1282
  Wq(h, T.selector) && T.callback(h);
1270
1283
  }
@@ -1276,35 +1289,35 @@ function Ae(A, q) {
1276
1289
  );
1277
1290
  Qq(A.localStorage, p), P(A.navigator, "receiverDevice", {
1278
1291
  confirmIPNetwork: () => q.allowExternalNetwork ?? !1,
1279
- getSystemInformation: () => (s(f.broadcastResources), { ...p }),
1280
- getDeviceIdentifier: (a, h) => {
1281
- s(f.deviceIdentifier), queueMicrotask(() => {
1282
- Gq(a, q.getDeviceIdentifier).then(
1292
+ getSystemInformation: () => (s(m.broadcastResources), { ...p }),
1293
+ getDeviceIdentifier: (o, h) => {
1294
+ s(m.deviceIdentifier), queueMicrotask(() => {
1295
+ Gq(o, q.getDeviceIdentifier).then(
1283
1296
  h,
1284
1297
  () => h("")
1285
1298
  );
1286
1299
  });
1287
1300
  },
1288
- getCurrentEventInformation: (a) => {
1289
- s(f.currentEventInformation), queueMicrotask(() => a(v ? D(v) : null));
1301
+ getCurrentEventInformation: (o) => {
1302
+ s(m.currentEventInformation), queueMicrotask(() => o(v ? D(v) : null));
1290
1303
  },
1291
1304
  cacheEvent: {
1292
- addCacheEventListener: (a, h) => (s(f.broadcastResources), m.addListener(a, h)),
1293
- storeDataResource: (a, h) => (s(f.broadcastResources), m.store(a, h)),
1294
- releaseDataResource: (a) => (s(f.broadcastResources), m.release(a)),
1295
- removeCacheEventListener: (a, h) => (s(f.broadcastResources), m.removeListener(a, h))
1305
+ addCacheEventListener: (o, h) => (s(m.broadcastResources), f.addListener(o, h)),
1306
+ storeDataResource: (o, h) => (s(m.broadcastResources), f.store(o, h)),
1307
+ releaseDataResource: (o) => (s(m.broadcastResources), f.release(o)),
1308
+ removeCacheEventListener: (o, h) => (s(m.broadcastResources), f.removeListener(o, h))
1296
1309
  },
1297
1310
  streamEvent: {
1298
- addGeneralEventMessageListener: (a, h) => (s(f.broadcastResources), typeof h != "function" ? !1 : (y.add({ selector: a, callback: h }), !0)),
1299
- removeGeneralEventMessageListener: (a, h) => {
1300
- if (s(f.broadcastResources), !a)
1311
+ addGeneralEventMessageListener: (o, h) => (s(m.broadcastResources), typeof h != "function" ? !1 : (y.add({ selector: o, callback: h }), !0)),
1312
+ removeGeneralEventMessageListener: (o, h) => {
1313
+ if (s(m.broadcastResources), !o)
1301
1314
  return y.clear(), !0;
1302
1315
  for (const T of [...y])
1303
- Jq(T.selector, a) && (!h || h === T.callback) && y.delete(T);
1316
+ Jq(T.selector, o) && (!h || h === T.callback) && y.delete(T);
1304
1317
  return !0;
1305
1318
  },
1306
- addEventIDUpdateListener: (a) => (s(f.broadcastResources), typeof a != "function" ? !1 : (E.add(a), !0)),
1307
- removeEventIDUpdateListener: (a) => (s(f.broadcastResources), a ? E.delete(a) : E.clear(), !0)
1319
+ addEventIDUpdateListener: (o) => (s(m.broadcastResources), typeof o != "function" ? !1 : (E.add(o), !0)),
1320
+ removeEventIDUpdateListener: (o) => (s(m.broadcastResources), o ? E.delete(o) : E.clear(), !0)
1308
1321
  }
1309
1322
  }), P(A.navigator, "bmlCompat", {
1310
1323
  browserPseudo: {
@@ -1315,48 +1328,48 @@ function Ae(A, q) {
1315
1328
  // Older broadcaster applications use the synchronous BML API instead
1316
1329
  // of receiverDevice.getDeviceIdentifier(). Keep both paths on the same
1317
1330
  // stable demo ACAS identifier.
1318
- getIRDID: (a) => (s(f.deviceIdentifier), Pq(a)),
1319
- readPersistentArray: (a, h) => {
1320
- s(f.persistentStorage);
1321
- const T = A.localStorage.getItem(`arib:nvram:${a}`);
1331
+ getIRDID: (o) => (s(m.deviceIdentifier), Pq(o)),
1332
+ readPersistentArray: (o, h) => {
1333
+ s(m.persistentStorage);
1334
+ const T = A.localStorage.getItem(`arib:nvram:${o}`);
1322
1335
  if (T) {
1323
1336
  const k = JSON.parse(T);
1324
1337
  return h.split(",").map((w) => k[w] ?? null);
1325
1338
  }
1326
- return Iq(a, h, p);
1339
+ return Iq(o, h, p);
1327
1340
  },
1328
- writePersistentArray: (a, h, T) => {
1329
- s(f.persistentStorage);
1341
+ writePersistentArray: (o, h, T) => {
1342
+ s(m.persistentStorage);
1330
1343
  const k = Object.fromEntries(
1331
1344
  h.split(",").map((w, W) => [w, T[W]])
1332
1345
  );
1333
- return A.localStorage.setItem(`arib:nvram:${a}`, JSON.stringify(k)), T.length;
1346
+ return A.localStorage.setItem(`arib:nvram:${o}`, JSON.stringify(k)), T.length;
1334
1347
  }
1335
1348
  }
1336
1349
  }), V = new Xq({
1337
1350
  target: A,
1338
1351
  adapter: q.mediaPlaneAdapter,
1339
- canUseBroadcastMedia: () => c.permits(
1340
- f.broadcastMedia
1352
+ canUseBroadcastMedia: () => l.permits(
1353
+ m.broadcastMedia
1341
1354
  ),
1342
1355
  installBroadcastObjectApi: M.installBroadcastObjectApi,
1343
- postRuntime: o
1356
+ postRuntime: n
1344
1357
  });
1345
1358
  const g = () => {
1346
- c.startDocument(), V.startDocument();
1359
+ te(A), l.startDocument(), V.startDocument();
1347
1360
  };
1348
- o("installed", { url: A.location.href }), A.document.readyState === "loading" ? A.document.addEventListener("DOMContentLoaded", g, { once: !0 }) : queueMicrotask(g), c.startNavigationCapture(), V.startObserving(), A.addEventListener("pagehide", () => {
1349
- V.dispose("document-unload", () => m.dispose()), c.dispose(), e?.(), o("unloading", { url: A.location.href });
1350
- }), A.addEventListener("error", (a) => {
1351
- o("error", {
1352
- message: a.message
1361
+ n("installed", { url: A.location.href }), A.document.readyState === "loading" ? A.document.addEventListener("DOMContentLoaded", g, { once: !0 }) : queueMicrotask(g), l.startNavigationCapture(), V.startObserving(), A.addEventListener("pagehide", () => {
1362
+ V.dispose("document-unload", () => f.dispose()), l.dispose(), e?.(), n("unloading", { url: A.location.href });
1363
+ }), A.addEventListener("error", (o) => {
1364
+ n("error", {
1365
+ message: o.message
1353
1366
  });
1354
1367
  });
1355
1368
  }
1356
1369
  function Z(A) {
1357
1370
  A.inert = !0, A.style.setProperty("pointer-events", "none", "important"), A.tabIndex = -1;
1358
1371
  }
1359
- class me {
1372
+ class fe {
1360
1373
  renderMode = "in-object";
1361
1374
  media;
1362
1375
  normalPlayerContainer;
@@ -1393,7 +1406,7 @@ class me {
1393
1406
  })) : this.media.remove();
1394
1407
  }
1395
1408
  }
1396
- class ie {
1409
+ class re {
1397
1410
  renderMode = "external";
1398
1411
  surface;
1399
1412
  keepVisible;
@@ -1435,35 +1448,35 @@ class ie {
1435
1448
  });
1436
1449
  }
1437
1450
  }
1438
- function re(A, q) {
1451
+ function ne(A, q) {
1439
1452
  const e = A.contentWindow;
1440
1453
  if (!e || !Number.isInteger(q)) return !1;
1441
1454
  try {
1442
1455
  const t = e, i = e.document, r = i.activeElement ?? i.body ?? i.documentElement ?? i;
1443
- for (const n of ["keydown", "keyup"]) {
1444
- const o = new t.KeyboardEvent(n, {
1456
+ for (const a of ["keydown", "keyup"]) {
1457
+ const n = new t.KeyboardEvent(a, {
1445
1458
  bubbles: !0,
1446
1459
  cancelable: !0,
1447
1460
  view: e
1448
1461
  });
1449
- Object.defineProperties(o, {
1462
+ Object.defineProperties(n, {
1450
1463
  keyCode: { value: q },
1451
1464
  which: { value: q }
1452
- }), r.dispatchEvent(o);
1465
+ }), r.dispatchEvent(n);
1453
1466
  }
1454
1467
  return !0;
1455
1468
  } catch {
1456
1469
  return !1;
1457
1470
  }
1458
1471
  }
1459
- function ne(A) {
1472
+ function oe(A) {
1460
1473
  return {
1461
1474
  ...A,
1462
1475
  program: A.program ? D(A.program) : void 0
1463
1476
  };
1464
1477
  }
1465
- async function oe(A, q, e) {
1466
- const t = ne(A);
1478
+ async function ae(A, q, e) {
1479
+ const t = oe(A);
1467
1480
  if (!q)
1468
1481
  return e?.({ request: t, reason: "unsupported" }), !1;
1469
1482
  try {
@@ -1472,7 +1485,7 @@ async function oe(A, q, e) {
1472
1485
  return e?.({ request: t, reason: "error", error: i }), !1;
1473
1486
  }
1474
1487
  }
1475
- class ae {
1488
+ class se {
1476
1489
  state = {
1477
1490
  visible: !0,
1478
1491
  inputActive: !1
@@ -1505,18 +1518,18 @@ class ae {
1505
1518
  return this.delivered.has(e) ? null : (this.delivered.add(e), { ...q, requiresUserAction: !0 });
1506
1519
  }
1507
1520
  }
1508
- function se(A) {
1521
+ function Ve(A) {
1509
1522
  const q = Number(A.width), e = Number(A.height);
1510
1523
  return !Number.isSafeInteger(q) || q <= 0 || !Number.isSafeInteger(e) || e <= 0 ? null : { width: q, height: e };
1511
1524
  }
1512
- function Ve(A) {
1525
+ function le(A) {
1513
1526
  const q = String(A ?? "");
1514
1527
  return q && q !== "rgba(0, 0, 0, 0)" && q !== "transparent" ? q : null;
1515
1528
  }
1516
- function le(A) {
1529
+ function ce(A) {
1517
1530
  return Array.isArray(A) ? [...new Set(A.map(Number).filter((q) => Number.isInteger(q) && q >= 0 && q <= 65535))] : [];
1518
1531
  }
1519
- function ce(A) {
1532
+ function de(A) {
1520
1533
  const q = Number(A.organizationId), e = Number(A.applicationId), t = {
1521
1534
  organizationId: q,
1522
1535
  applicationId: e,
@@ -1534,7 +1547,7 @@ function K(A) {
1534
1547
  externalPlacement: q.externalPlacement === "above-application" ? "above-application" : "behind-application"
1535
1548
  };
1536
1549
  }
1537
- function de(A, q) {
1550
+ function he(A, q) {
1538
1551
  return A.visible ? {
1539
1552
  slotId: String(A.slotId ?? ""),
1540
1553
  visible: !0,
@@ -1559,16 +1572,16 @@ function de(A, q) {
1559
1572
  layer: K(A.layer)
1560
1573
  };
1561
1574
  }
1562
- function he(A) {
1575
+ function ue(A) {
1563
1576
  if (A === null) return null;
1564
1577
  if (!Number.isInteger(A) || A < 0 || A > 16777215)
1565
1578
  throw new RangeError("LCT backgroundColorRgb must be a 24-bit integer or null");
1566
1579
  return `#${A.toString(16).padStart(6, "0")}`;
1567
1580
  }
1568
- function ue(A, q) {
1581
+ function ge(A, q) {
1569
1582
  return A ?? q ?? "#000";
1570
1583
  }
1571
- class ge {
1584
+ class pe {
1572
1585
  iframe;
1573
1586
  viewport;
1574
1587
  resizeObserver;
@@ -1585,7 +1598,7 @@ class ge {
1585
1598
  return { width: this.logicalWidth, height: this.logicalHeight };
1586
1599
  }
1587
1600
  setLctBackgroundColor(q) {
1588
- this.lctBackgroundColor = he(q), this.applyBackgroundColor();
1601
+ this.lctBackgroundColor = ue(q), this.applyBackgroundColor();
1589
1602
  }
1590
1603
  setStageBackgroundColor(q) {
1591
1604
  this.stageBackgroundColor = q, this.applyBackgroundColor();
@@ -1607,13 +1620,13 @@ class ge {
1607
1620
  this.resizeObserver.disconnect();
1608
1621
  }
1609
1622
  applyBackgroundColor() {
1610
- this.viewport.style.backgroundColor = ue(
1623
+ this.viewport.style.backgroundColor = ge(
1611
1624
  this.lctBackgroundColor,
1612
1625
  this.stageBackgroundColor
1613
1626
  );
1614
1627
  }
1615
1628
  }
1616
- class pe {
1629
+ class ye {
1617
1630
  ownerWindow;
1618
1631
  iframe;
1619
1632
  origin;
@@ -1708,7 +1721,7 @@ class Te {
1708
1721
  bmlGreg;
1709
1722
  userAgent;
1710
1723
  onViewerParticipation;
1711
- viewerParticipation = new ae();
1724
+ viewerParticipation = new se();
1712
1725
  canvas;
1713
1726
  runtimeSession;
1714
1727
  captionComponentTags = [];
@@ -1722,7 +1735,7 @@ class Te {
1722
1735
  constructor(q) {
1723
1736
  if (this.iframe = q.iframe, this.viewport = q.viewport, this.videoSurface = q.videoSurface, Z(this.iframe), this.ownerWindow = this.iframe.ownerDocument.defaultView ?? window, this.origin = this.ownerWindow.location.origin, this.onStatus = q.onStatus, this.onLifecycle = q.onLifecycle, this.applicationLoadTimeoutMs = q.applicationLoadTimeoutMs ?? 5e3, !Number.isFinite(this.applicationLoadTimeoutMs) || this.applicationLoadTimeoutMs < 0)
1724
1737
  throw new TypeError("applicationLoadTimeoutMs must be a finite non-negative number");
1725
- this.onUrlChange = q.onUrlChange, this.onMediaPlane = q.onMediaPlane, this.onVideoPlane = q.onVideoPlane, this.mediaPlaneAdapter = q.mediaPlaneAdapter ?? (q.videoSurface ? new ie({
1738
+ this.onUrlChange = q.onUrlChange, this.onMediaPlane = q.onMediaPlane, this.onVideoPlane = q.onVideoPlane, this.mediaPlaneAdapter = q.mediaPlaneAdapter ?? (q.videoSurface ? new re({
1726
1739
  surface: q.videoSurface,
1727
1740
  keepVisible: q.keepVideoVisible
1728
1741
  }) : void 0);
@@ -1743,10 +1756,10 @@ class Te {
1743
1756
  this.ownerWindow.location.href
1744
1757
  ), this.broadcastBaseUrl.origin !== this.origin)
1745
1758
  throw new Error(`Broadcast base URL must be same-origin: ${this.broadcastBaseUrl.href}`);
1746
- this.resourceStore = q.resourceStore, this.onOpenProgramGuide = q.onOpenProgramGuide, this.onCaptionSubscription = q.onCaptionSubscription, this.onReplaceApplication = q.onReplaceApplication, this.onExitManagedState = q.onExitManagedState, this.onLaunchDataBroadcastingBrowser = q.onLaunchDataBroadcastingBrowser, this.onProgramGuideUnavailable = q.onProgramGuideUnavailable, this.systemInformation = q.systemInformation, this.getDeviceIdentifier = q.getDeviceIdentifier, this.bmlGreg = [...q.bmlGreg ?? []], this.userAgent = q.userAgent, this.onViewerParticipation = q.onViewerParticipation, this.ownerWindow.addEventListener("message", this.handleRuntimeMessage), this.iframe.addEventListener("load", this.handleFrameLoad), this.canvas = new ge({
1759
+ this.resourceStore = q.resourceStore, this.onOpenProgramGuide = q.onOpenProgramGuide, this.onCaptionSubscription = q.onCaptionSubscription, this.onReplaceApplication = q.onReplaceApplication, this.onExitManagedState = q.onExitManagedState, this.onLaunchDataBroadcastingBrowser = q.onLaunchDataBroadcastingBrowser, this.onProgramGuideUnavailable = q.onProgramGuideUnavailable, this.systemInformation = q.systemInformation, this.getDeviceIdentifier = q.getDeviceIdentifier, this.bmlGreg = [...q.bmlGreg ?? []], this.userAgent = q.userAgent, this.onViewerParticipation = q.onViewerParticipation, this.ownerWindow.addEventListener("message", this.handleRuntimeMessage), this.iframe.addEventListener("load", this.handleFrameLoad), this.canvas = new pe({
1747
1760
  iframe: this.iframe,
1748
1761
  viewport: this.viewport
1749
- }), this.runtimeSession = new pe({
1762
+ }), this.runtimeSession = new ye({
1750
1763
  ownerWindow: this.ownerWindow,
1751
1764
  iframe: this.iframe,
1752
1765
  origin: this.origin,
@@ -1755,7 +1768,7 @@ class Te {
1755
1768
  });
1756
1769
  }
1757
1770
  installRuntime(q) {
1758
- this.mediaPlaneEnabled = !this.destroyed && !this.applicationExited, te(q, {
1771
+ this.mediaPlaneEnabled = !this.destroyed && !this.applicationExited, Ae(q, {
1759
1772
  allowExternalNetwork: this.allowExternalNetwork,
1760
1773
  broadcastBaseUrl: this.broadcastBaseUrl.href,
1761
1774
  resourceStore: this.resourceStore,
@@ -1810,7 +1823,7 @@ class Te {
1810
1823
  this.assertAlive(), !this.applicationExited && (this.applicationExited = !0, this.viewerParticipation.setPresentation({ visible: !1, inputActive: !1 }), this.runtimeSession.clearPendingStreamEvents(), this.runtimeSession.clearWatchdog(), this.invalidateRuntime("application-exit"), this.iframe.style.display = "none", this.iframe.src = "about:blank", this.onUrlChange?.(""), this.onStatus?.(q), this.onLifecycle?.({ type: "exited" }));
1811
1824
  }
1812
1825
  dispatchKey(q) {
1813
- return this.assertAlive(), this.viewerParticipation.presentation.inputActive ? re(this.iframe, q) ? !0 : (this.onStatus?.("キー入力を送信できません"), !1) : !1;
1826
+ return this.assertAlive(), this.viewerParticipation.presentation.inputActive ? ne(this.iframe, q) ? !0 : (this.onStatus?.("キー入力を送信できません"), !1) : !1;
1814
1827
  }
1815
1828
  /** Transfer or release receiver-key ownership for the broadcast application. */
1816
1829
  setApplicationInputActive(q) {
@@ -1858,7 +1871,7 @@ class Te {
1858
1871
  openProgramGuide(q = {
1859
1872
  destination: "program-guide"
1860
1873
  }) {
1861
- return this.assertAlive(), oe(
1874
+ return this.assertAlive(), ae(
1862
1875
  q,
1863
1876
  this.onOpenProgramGuide,
1864
1877
  this.reportProgramGuideUnavailable
@@ -1971,12 +1984,12 @@ class Te {
1971
1984
  return;
1972
1985
  case "stage-style": {
1973
1986
  this.canvas.setStageBackgroundColor(
1974
- Ve(e.backgroundColor)
1987
+ le(e.backgroundColor)
1975
1988
  );
1976
1989
  return;
1977
1990
  }
1978
1991
  case "screen-size": {
1979
- const t = se(e);
1992
+ const t = Ve(e);
1980
1993
  t && this.canvas.applyScreenSize(t.width, t.height);
1981
1994
  return;
1982
1995
  }
@@ -1985,7 +1998,7 @@ class Te {
1985
1998
  this.applyMediaPlane(e);
1986
1999
  return;
1987
2000
  case "caption-subscription": {
1988
- const t = le(e.componentTags);
2001
+ const t = ce(e.componentTags);
1989
2002
  this.onCaptionSubscription?.({ componentTags: t });
1990
2003
  return;
1991
2004
  }
@@ -1996,7 +2009,7 @@ class Te {
1996
2009
  });
1997
2010
  return;
1998
2011
  case "replace-application": {
1999
- const t = ce(e);
2012
+ const t = de(e);
2000
2013
  if (!t) {
2001
2014
  this.onStatus?.("不正なアプリケーション切替要求を拒否しました");
2002
2015
  return;
@@ -2043,7 +2056,7 @@ class Te {
2043
2056
  }
2044
2057
  };
2045
2058
  applyMediaPlane(q) {
2046
- const e = this.canvas.logicalSize, t = de(q, {
2059
+ const e = this.canvas.logicalSize, t = he(q, {
2047
2060
  screenWidth: e.width,
2048
2061
  screenHeight: e.height
2049
2062
  });
@@ -2072,11 +2085,8 @@ class Te {
2072
2085
  function U(A) {
2073
2086
  return `/${(A || "/data-broadcast/").replace(/^\/+|\/+$/g, "")}/`;
2074
2087
  }
2075
- function ye(A) {
2076
- return A.replace(/<object\b[^>]*>/gi, (q) => /\btype\s*=\s*(?:["']video\/x-arib2-broadcast["']|video\/x-arib2-broadcast)(?:\s|\/?>)/i.test(q) ? q.replace(
2077
- /\s+type\s*=\s*(?:["']video\/x-arib2-broadcast["']|video\/x-arib2-broadcast)/i,
2078
- ' data-arib-type="video/x-arib2-broadcast"'
2079
- ).replace(/\s+data\s*=\s*(["'])(.*?)\1/i, " data-arib-data=$1$2$1") : q);
2088
+ function Be(A) {
2089
+ return A;
2080
2090
  }
2081
2091
  function G(A, q, e) {
2082
2092
  if (A.startsWith(e)) return A;
@@ -2087,27 +2097,27 @@ function Ee(A, q, e) {
2087
2097
  const t = U(q), i = U(e ?? q);
2088
2098
  return A.replace(
2089
2099
  /(\b(?:href|src|action|poster)\s*=\s*)(?:(['"])(\/[^/][^"']*)\2|(\/[^\s>]*))/gi,
2090
- (r, n, o, c, s) => {
2091
- const y = c ?? s;
2100
+ (r, a, n, l, s) => {
2101
+ const y = l ?? s;
2092
2102
  if (!y || y.startsWith(t)) return r;
2093
2103
  const E = G(y, t, i);
2094
- return o ? `${n}${o}${E}${o}` : `${n}${E}`;
2104
+ return n ? `${a}${n}${E}${n}` : `${a}${E}`;
2095
2105
  }
2096
2106
  );
2097
2107
  }
2098
- function Be(A, q = {}) {
2108
+ function ve(A, q = {}) {
2099
2109
  const e = U(q.basePath), t = U(q.scopePath ?? q.basePath);
2100
2110
  return A.replace(
2101
2111
  /url\(\s*(["']?)(\/[^/)][^)]*)\1\s*\)/gi,
2102
- (i, r, n) => n.startsWith(e) ? i : `url(${r}${G(n, e, t)}${r})`
2112
+ (i, r, a) => a.startsWith(e) ? i : `url(${r}${G(a, e, t)}${r})`
2103
2113
  ).replace(
2104
2114
  /(@import\s+)(["'])(\/[^/][^"']*)\2/gi,
2105
- (i, r, n, o) => o.startsWith(e) ? i : `${r}${n}${G(o, e, t)}${n}`
2115
+ (i, r, a, n) => n.startsWith(e) ? i : `${r}${a}${G(n, e, t)}${a}`
2106
2116
  );
2107
2117
  }
2108
- function ve(A, q = {}) {
2118
+ function Me(A, q = {}) {
2109
2119
  const e = Ee(
2110
- C(ye(A)),
2120
+ C(A),
2111
2121
  q.basePath,
2112
2122
  q.scopePath
2113
2123
  );
@@ -2117,7 +2127,7 @@ function ve(A, q = {}) {
2117
2127
  const i = t.index + t[0].length;
2118
2128
  return `${e.slice(0, i)}${q.bootstrap}${e.slice(i)}`;
2119
2129
  }
2120
- function fe(A) {
2130
+ function me(A) {
2121
2131
  const q = A.data instanceof Uint8Array ? A.data : new Uint8Array(A.data);
2122
2132
  return {
2123
2133
  path: String(A.path).replace(/^\/+/, ""),
@@ -2125,7 +2135,7 @@ function fe(A) {
2125
2135
  data: q.slice()
2126
2136
  };
2127
2137
  }
2128
- class Me {
2138
+ class be {
2129
2139
  backend;
2130
2140
  onError;
2131
2141
  scheduleTask;
@@ -2150,7 +2160,7 @@ class Me {
2150
2160
  }
2151
2161
  enqueue(q) {
2152
2162
  if (this.disposed) throw new Error("Broadcast VFS session is disposed");
2153
- const e = fe(q), t = ++this.nextRevision;
2163
+ const e = me(q), t = ++this.nextRevision;
2154
2164
  return this.mirror.set(e.path, e), this.queue.push({ revision: t, generation: this.generation, resource: e }), this.scheduleDrain(), t;
2155
2165
  }
2156
2166
  waitFor(q) {
@@ -2207,7 +2217,7 @@ class Me {
2207
2217
  this.completedRevision >= e.revision ? e.resolve() : this.waiters.push(e);
2208
2218
  }
2209
2219
  }
2210
- class be {
2220
+ class ke {
2211
2221
  workerUrl;
2212
2222
  scopeUrl;
2213
2223
  uniqueBasenameFallback;
@@ -2287,13 +2297,13 @@ class be {
2287
2297
  async performRequestWithRegistration(q, e, t = []) {
2288
2298
  const i = q.active ?? q.waiting ?? q.installing;
2289
2299
  if (!i) throw new Error("Broadcast VFS worker is unavailable");
2290
- return new Promise((r, n) => {
2291
- const o = new MessageChannel(), c = window.setTimeout(() => {
2292
- o.port1.close(), n(new Error("Broadcast VFS worker did not respond"));
2300
+ return new Promise((r, a) => {
2301
+ const n = new MessageChannel(), l = window.setTimeout(() => {
2302
+ n.port1.close(), a(new Error("Broadcast VFS worker did not respond"));
2293
2303
  }, 5e3);
2294
- o.port1.onmessage = (s) => {
2295
- window.clearTimeout(c), o.port1.close(), s.data?.ok ? r(s.data) : n(new Error(s.data?.error || "Broadcast VFS worker error"));
2296
- }, i.postMessage(e, [o.port2, ...t]);
2304
+ n.port1.onmessage = (s) => {
2305
+ window.clearTimeout(l), n.port1.close(), s.data?.ok ? r(s.data) : a(new Error(s.data?.error || "Broadcast VFS worker error"));
2306
+ }, i.postMessage(e, [n.port2, ...t]);
2297
2307
  });
2298
2308
  }
2299
2309
  waitForActivation(q) {
@@ -2308,36 +2318,36 @@ class be {
2308
2318
  }
2309
2319
  }
2310
2320
  export {
2311
- f as ARIB_PERMISSION_BITS,
2312
- Oq as AribApplicationBoundaryPolicy,
2321
+ m as ARIB_PERMISSION_BITS,
2322
+ Nq as AribApplicationBoundaryPolicy,
2313
2323
  Te as AribReceiverHost,
2314
- ie as BehindIframeMediaPlaneAdapter,
2315
- Me as BroadcastVfsSession,
2324
+ re as BehindIframeMediaPlaneAdapter,
2325
+ be as BroadcastVfsSession,
2316
2326
  Tq as DEFAULT_BROADCAST_BASE_PATH,
2317
2327
  Y as DEFAULT_RECEIVER_DEVICE_IDENTIFIER,
2318
- me as DomObjectMediaPlaneAdapter,
2328
+ fe as DomObjectMediaPlaneAdapter,
2319
2329
  Fq as RECEIVER_IRD_ID_TYPE,
2320
2330
  Rq as RECEIVER_SYSTEM_IDENTITY,
2321
- be as ServiceWorkerBroadcastVfs,
2331
+ ke as ServiceWorkerBroadcastVfs,
2322
2332
  D as cloneProgramInfo,
2323
2333
  Sq as createReceiverSystemInformation,
2324
2334
  C as deferRomSoundMarkup,
2325
2335
  Bq as deriveBroadcastRootUrl,
2326
2336
  Pq as getDefaultReceiverIrdId,
2327
- fq as installAribSymbolFont,
2328
- mq as installBroadcastClock,
2337
+ mq as installAribSymbolFont,
2338
+ fq as installBroadcastClock,
2329
2339
  uq as installRomSoundProtocol,
2330
- te as installRuntime,
2340
+ Ae as installRuntime,
2331
2341
  z as normalizeBroadcastBaseUrl,
2332
- he as normalizeLctBackgroundColor,
2342
+ ue as normalizeLctBackgroundColor,
2333
2343
  Ee as prefixBroadcastRootAttributes,
2334
- ve as prepareBroadcastHtml,
2335
- Be as prepareBroadcastStylesheet,
2344
+ Me as prepareBroadcastHtml,
2345
+ ve as prepareBroadcastStylesheet,
2336
2346
  Iq as readReceiverInformationArray,
2337
2347
  H as resolveBroadcastUrl,
2338
2348
  Gq as resolveReceiverDeviceIdentifier,
2339
2349
  R as resolveRomSoundUrl,
2340
- ye as rewriteBroadcastObjectMarkup,
2350
+ Be as rewriteBroadcastObjectMarkup,
2341
2351
  Wq as runtimeEventMatchesSelector,
2342
2352
  Qq as synchronizeReceiverCompatibilityStorage
2343
2353
  };