hyperframes 0.7.30 → 0.7.32

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.
package/dist/cli.js CHANGED
@@ -50,7 +50,7 @@ var VERSION;
50
50
  var init_version = __esm({
51
51
  "src/version.ts"() {
52
52
  "use strict";
53
- VERSION = true ? "0.7.30" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.32" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -1870,15 +1870,15 @@ var require_types = __commonJS({
1870
1870
  }
1871
1871
  function getBuilderName(typeName) {
1872
1872
  return typeName.replace(/^[A-Z]+/, function(upperCasePrefix) {
1873
- var len = upperCasePrefix.length;
1874
- switch (len) {
1873
+ var len2 = upperCasePrefix.length;
1874
+ switch (len2) {
1875
1875
  case 0:
1876
1876
  return "";
1877
1877
  // If there's only one initial capital letter, just lower-case it.
1878
1878
  case 1:
1879
1879
  return upperCasePrefix.toLowerCase();
1880
1880
  default:
1881
- return upperCasePrefix.slice(0, len - 1).toLowerCase() + upperCasePrefix.charAt(len - 1);
1881
+ return upperCasePrefix.slice(0, len2 - 1).toLowerCase() + upperCasePrefix.charAt(len2 - 1);
1882
1882
  }
1883
1883
  });
1884
1884
  }
@@ -1956,7 +1956,7 @@ var require_types = __commonJS({
1956
1956
  lastSeen[typeName] = pos;
1957
1957
  list.push.apply(list, d2.baseNames);
1958
1958
  }
1959
- for (var to = 0, from = to, len = list.length; from < len; ++from) {
1959
+ for (var to = 0, from = to, len2 = list.length; from < len2; ++from) {
1960
1960
  if (hasOwn3.call(list, from)) {
1961
1961
  list[to++] = list[from];
1962
1962
  }
@@ -2060,15 +2060,15 @@ var require_path = __commonJS({
2060
2060
  };
2061
2061
  Pp.each = function each(callback, context) {
2062
2062
  var childPaths = [];
2063
- var len = this.value.length;
2063
+ var len2 = this.value.length;
2064
2064
  var i2 = 0;
2065
- for (var i2 = 0; i2 < len; ++i2) {
2065
+ for (var i2 = 0; i2 < len2; ++i2) {
2066
2066
  if (hasOwn3.call(this.value, i2)) {
2067
2067
  childPaths[i2] = this.get(i2);
2068
2068
  }
2069
2069
  }
2070
2070
  context = context || this;
2071
- for (i2 = 0; i2 < len; ++i2) {
2071
+ for (i2 = 0; i2 < len2; ++i2) {
2072
2072
  if (hasOwn3.call(childPaths, i2)) {
2073
2073
  callback.call(context, childPaths[i2]);
2074
2074
  }
@@ -4891,7 +4891,7 @@ var require_util = __commonJS({
4891
4891
  return path2;
4892
4892
  }
4893
4893
  exports.normalize = normalize;
4894
- function join111(aRoot, aPath) {
4894
+ function join113(aRoot, aPath) {
4895
4895
  if (aRoot === "") {
4896
4896
  aRoot = ".";
4897
4897
  }
@@ -4923,7 +4923,7 @@ var require_util = __commonJS({
4923
4923
  }
4924
4924
  return joined;
4925
4925
  }
4926
- exports.join = join111;
4926
+ exports.join = join113;
4927
4927
  exports.isAbsolute = function(aPath) {
4928
4928
  return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
4929
4929
  };
@@ -5096,7 +5096,7 @@ var require_util = __commonJS({
5096
5096
  parsed.path = parsed.path.substring(0, index + 1);
5097
5097
  }
5098
5098
  }
5099
- sourceURL = join111(urlGenerate(parsed), sourceURL);
5099
+ sourceURL = join113(urlGenerate(parsed), sourceURL);
5100
5100
  }
5101
5101
  return normalize(sourceURL);
5102
5102
  }
@@ -5117,7 +5117,7 @@ var require_array_set = __commonJS({
5117
5117
  }
5118
5118
  ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
5119
5119
  var set = new ArraySet();
5120
- for (var i2 = 0, len = aArray.length; i2 < len; i2++) {
5120
+ for (var i2 = 0, len2 = aArray.length; i2 < len2; i2++) {
5121
5121
  set.add(aArray[i2], aAllowDuplicates);
5122
5122
  }
5123
5123
  return set;
@@ -5418,7 +5418,7 @@ var require_source_map_generator = __commonJS({
5418
5418
  var nameIdx;
5419
5419
  var sourceIdx;
5420
5420
  var mappings = this._mappings.toArray();
5421
- for (var i2 = 0, len = mappings.length; i2 < len; i2++) {
5421
+ for (var i2 = 0, len2 = mappings.length; i2 < len2; i2++) {
5422
5422
  mapping = mappings[i2];
5423
5423
  next = "";
5424
5424
  if (mapping.generatedLine !== previousGeneratedLine) {
@@ -6311,7 +6311,7 @@ var require_source_node = __commonJS({
6311
6311
  };
6312
6312
  SourceNode.prototype.walk = function SourceNode_walk(aFn) {
6313
6313
  var chunk;
6314
- for (var i2 = 0, len = this.children.length; i2 < len; i2++) {
6314
+ for (var i2 = 0, len2 = this.children.length; i2 < len2; i2++) {
6315
6315
  chunk = this.children[i2];
6316
6316
  if (chunk[isSourceNode]) {
6317
6317
  chunk.walk(aFn);
@@ -6330,10 +6330,10 @@ var require_source_node = __commonJS({
6330
6330
  SourceNode.prototype.join = function SourceNode_join(aSep) {
6331
6331
  var newChildren;
6332
6332
  var i2;
6333
- var len = this.children.length;
6334
- if (len > 0) {
6333
+ var len2 = this.children.length;
6334
+ if (len2 > 0) {
6335
6335
  newChildren = [];
6336
- for (i2 = 0; i2 < len - 1; i2++) {
6336
+ for (i2 = 0; i2 < len2 - 1; i2++) {
6337
6337
  newChildren.push(this.children[i2]);
6338
6338
  newChildren.push(aSep);
6339
6339
  }
@@ -6357,13 +6357,13 @@ var require_source_node = __commonJS({
6357
6357
  this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
6358
6358
  };
6359
6359
  SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
6360
- for (var i2 = 0, len = this.children.length; i2 < len; i2++) {
6360
+ for (var i2 = 0, len2 = this.children.length; i2 < len2; i2++) {
6361
6361
  if (this.children[i2][isSourceNode]) {
6362
6362
  this.children[i2].walkSourceContents(aFn);
6363
6363
  }
6364
6364
  }
6365
6365
  var sources = Object.keys(this.sourceContents);
6366
- for (var i2 = 0, len = sources.length; i2 < len; i2++) {
6366
+ for (var i2 = 0, len2 = sources.length; i2 < len2; i2++) {
6367
6367
  aFn(util.fromSetString(sources[i2]), this.sourceContents[sources[i2]]);
6368
6368
  }
6369
6369
  };
@@ -11739,9 +11739,9 @@ var require_esprima2 = __commonJS({
11739
11739
  return cp;
11740
11740
  };
11741
11741
  Scanner2.prototype.scanHexEscape = function(prefix) {
11742
- var len = prefix === "u" ? 4 : 2;
11742
+ var len2 = prefix === "u" ? 4 : 2;
11743
11743
  var code = 0;
11744
- for (var i2 = 0; i2 < len; ++i2) {
11744
+ for (var i2 = 0; i2 < len2; ++i2) {
11745
11745
  if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {
11746
11746
  code = code * 16 + hexValue(this.source[this.index++]);
11747
11747
  } else {
@@ -13769,8 +13769,8 @@ var require_lines = __commonJS({
13769
13769
  var maxCacheKeyLen = 10;
13770
13770
  function countSpaces(spaces, tabWidth) {
13771
13771
  var count = 0;
13772
- var len = spaces.length;
13773
- for (var i2 = 0; i2 < len; ++i2) {
13772
+ var len2 = spaces.length;
13773
+ for (var i2 = 0; i2 < len2; ++i2) {
13774
13774
  switch (spaces.charCodeAt(i2)) {
13775
13775
  case 9: {
13776
13776
  (0, tiny_invariant_1.default)(typeof tabWidth === "number");
@@ -14380,9 +14380,9 @@ var require_fast_path = __commonJS({
14380
14380
  };
14381
14381
  FPp.getName = function getName4() {
14382
14382
  var s2 = this.stack;
14383
- var len = s2.length;
14384
- if (len > 1) {
14385
- return s2[len - 2];
14383
+ var len2 = s2.length;
14384
+ if (len2 > 1) {
14385
+ return s2[len2 - 2];
14386
14386
  }
14387
14387
  return null;
14388
14388
  };
@@ -14968,10 +14968,10 @@ var require_patcher = __commonJS({
14968
14968
  return true;
14969
14969
  }
14970
14970
  isArray4.assert(newNode);
14971
- var len = newNode.length;
14972
- if (!(isArray4.check(oldNode) && oldNode.length === len))
14971
+ var len2 = newNode.length;
14972
+ if (!(isArray4.check(oldNode) && oldNode.length === len2))
14973
14973
  return false;
14974
- for (var i2 = 0; i2 < len; ++i2) {
14974
+ for (var i2 = 0; i2 < len2; ++i2) {
14975
14975
  newPath.stack.push(i2, newNode[i2]);
14976
14976
  oldPath.stack.push(i2, oldNode[i2]);
14977
14977
  var canReprint = findAnyReprints(newPath, oldPath, reprints);
@@ -16974,14 +16974,14 @@ var require_printer = __commonJS({
16974
16974
  (0, tiny_invariant_1.default)(sawStatement === false, "Comments may appear as statements in otherwise empty statement lists, but may not coexist with non-Comment nodes.");
16975
16975
  }
16976
16976
  var prevTrailingSpace = null;
16977
- var len = filtered.length;
16977
+ var len2 = filtered.length;
16978
16978
  var parts = [];
16979
16979
  filtered.forEach(function(info, i2) {
16980
16980
  var printed = info.printed;
16981
16981
  var stmt = info.node;
16982
16982
  var multiLine = printed.length > 1;
16983
16983
  var notFirst = i2 > 0;
16984
- var notLast = i2 < len - 1;
16984
+ var notLast = i2 < len2 - 1;
16985
16985
  var leadingSpace;
16986
16986
  var trailingSpace;
16987
16987
  var lines = stmt && stmt.loc && stmt.loc.lines;
@@ -22232,12 +22232,12 @@ var require_lib = __commonJS({
22232
22232
  return flags;
22233
22233
  }
22234
22234
  hasImport(name, allowShadow) {
22235
- const len = this.importsStack.length;
22236
- if (this.importsStack[len - 1].has(name)) {
22235
+ const len2 = this.importsStack.length;
22236
+ if (this.importsStack[len2 - 1].has(name)) {
22237
22237
  return true;
22238
22238
  }
22239
- if (!allowShadow && len > 1) {
22240
- for (let i2 = 0; i2 < len - 1; i2++) {
22239
+ if (!allowShadow && len2 > 1) {
22240
+ for (let i2 = 0; i2 < len2 - 1; i2++) {
22241
22241
  if (this.importsStack[i2].has(name)) return true;
22242
22242
  }
22243
22243
  }
@@ -22306,8 +22306,8 @@ var require_lib = __commonJS({
22306
22306
  name
22307
22307
  } = id;
22308
22308
  if (this.hasImport(name)) return;
22309
- const len = this.scopeStack.length;
22310
- for (let i2 = len - 1; i2 >= 0; i2--) {
22309
+ const len2 = this.scopeStack.length;
22310
+ for (let i2 = len2 - 1; i2 >= 0; i2--) {
22311
22311
  const scope = this.scopeStack[i2];
22312
22312
  const type = scope.tsNames.get(name);
22313
22313
  if ((type & 1) > 0 || (type & 16) > 0) {
@@ -22904,13 +22904,13 @@ var require_lib = __commonJS({
22904
22904
  return res(String.fromCharCode(ch));
22905
22905
  }
22906
22906
  }
22907
- function readHexChar(input2, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
22907
+ function readHexChar(input2, pos, lineStart, curLine, len2, forceLen, throwOnInvalid, errors) {
22908
22908
  const initialPos = pos;
22909
22909
  let n2;
22910
22910
  ({
22911
22911
  n: n2,
22912
22912
  pos
22913
- } = readInt(input2, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));
22913
+ } = readInt(input2, pos, lineStart, curLine, 16, len2, forceLen, false, errors, !throwOnInvalid));
22914
22914
  if (n2 === null) {
22915
22915
  if (throwOnInvalid) {
22916
22916
  errors.invalidEscapeSequence(initialPos, lineStart, curLine);
@@ -22923,13 +22923,13 @@ var require_lib = __commonJS({
22923
22923
  pos
22924
22924
  };
22925
22925
  }
22926
- function readInt(input2, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
22926
+ function readInt(input2, pos, lineStart, curLine, radix, len2, forceLen, allowNumSeparator, errors, bailOnError) {
22927
22927
  const start = pos;
22928
22928
  const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
22929
22929
  const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
22930
22930
  let invalid = false;
22931
22931
  let total = 0;
22932
- for (let i2 = 0, e3 = len == null ? Infinity : len; i2 < e3; ++i2) {
22932
+ for (let i2 = 0, e3 = len2 == null ? Infinity : len2; i2 < e3; ++i2) {
22933
22933
  const code2 = input2.charCodeAt(pos);
22934
22934
  let val;
22935
22935
  if (code2 === 95 && allowNumSeparator !== "bail") {
@@ -22978,7 +22978,7 @@ var require_lib = __commonJS({
22978
22978
  ++pos;
22979
22979
  total = total * radix + val;
22980
22980
  }
22981
- if (pos === start || len != null && pos - start !== len || invalid) {
22981
+ if (pos === start || len2 != null && pos - start !== len2 || invalid) {
22982
22982
  return {
22983
22983
  n: null,
22984
22984
  pos
@@ -23769,11 +23769,11 @@ var require_lib = __commonJS({
23769
23769
  flags: mods
23770
23770
  });
23771
23771
  }
23772
- readInt(radix, len, forceLen = false, allowNumSeparator = true) {
23772
+ readInt(radix, len2, forceLen = false, allowNumSeparator = true) {
23773
23773
  const {
23774
23774
  n: n2,
23775
23775
  pos
23776
- } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt, false);
23776
+ } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len2, forceLen, allowNumSeparator, this.errorHandlers_readInt, false);
23777
23777
  this.state.pos = pos;
23778
23778
  return n2;
23779
23779
  }
@@ -29488,7 +29488,7 @@ var require_lib = __commonJS({
29488
29488
  return node.type === "Identifier";
29489
29489
  }
29490
29490
  isSimpleParamList(params) {
29491
- for (let i2 = 0, len = params.length; i2 < len; i2++) {
29491
+ for (let i2 = 0, len2 = params.length; i2 < len2; i2++) {
29492
29492
  if (!this.isSimpleParameter(params[i2])) return false;
29493
29493
  }
29494
29494
  return true;
@@ -32647,8 +32647,8 @@ var init_acorn = __esm({
32647
32647
  return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0;
32648
32648
  };
32649
32649
  Parser.extend = function extend() {
32650
- var plugins = [], len = arguments.length;
32651
- while (len--) plugins[len] = arguments[len];
32650
+ var plugins = [], len2 = arguments.length;
32651
+ while (len2--) plugins[len2] = arguments[len2];
32652
32652
  var cls = this;
32653
32653
  for (var i2 = 0; i2 < plugins.length; i2++) {
32654
32654
  cls = plugins[i2](cls);
@@ -33639,8 +33639,8 @@ var init_acorn = __esm({
33639
33639
  if (!this.options.checkPrivateFields) {
33640
33640
  return;
33641
33641
  }
33642
- var len = this.privateNameStack.length;
33643
- var parent = len === 0 ? null : this.privateNameStack[len - 1];
33642
+ var len2 = this.privateNameStack.length;
33643
+ var parent = len2 === 0 ? null : this.privateNameStack[len2 - 1];
33644
33644
  for (var i2 = 0; i2 < used.length; ++i2) {
33645
33645
  var id = used[i2];
33646
33646
  if (!hasOwn(declared, id.name)) {
@@ -37243,11 +37243,11 @@ var init_acorn = __esm({
37243
37243
  }
37244
37244
  return this.finishToken(types$1.regexp, { pattern, flags, value });
37245
37245
  };
37246
- pp.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) {
37247
- var allowSeparators = this.options.ecmaVersion >= 12 && len === void 0;
37246
+ pp.readInt = function(radix, len2, maybeLegacyOctalNumericLiteral) {
37247
+ var allowSeparators = this.options.ecmaVersion >= 12 && len2 === void 0;
37248
37248
  var isLegacyOctalNumericLiteral = maybeLegacyOctalNumericLiteral && this.input.charCodeAt(this.pos) === 48;
37249
37249
  var start = this.pos, total = 0, lastCode = 0;
37250
- for (var i2 = 0, e3 = len == null ? Infinity : len; i2 < e3; ++i2, ++this.pos) {
37250
+ for (var i2 = 0, e3 = len2 == null ? Infinity : len2; i2 < e3; ++i2, ++this.pos) {
37251
37251
  var code = this.input.charCodeAt(this.pos), val = void 0;
37252
37252
  if (allowSeparators && code === 95) {
37253
37253
  if (isLegacyOctalNumericLiteral) {
@@ -37280,7 +37280,7 @@ var init_acorn = __esm({
37280
37280
  if (allowSeparators && lastCode === 95) {
37281
37281
  this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits");
37282
37282
  }
37283
- if (this.pos === start || len != null && this.pos - start !== len) {
37283
+ if (this.pos === start || len2 != null && this.pos - start !== len2) {
37284
37284
  return null;
37285
37285
  }
37286
37286
  return total;
@@ -37571,9 +37571,9 @@ var init_acorn = __esm({
37571
37571
  return String.fromCharCode(ch);
37572
37572
  }
37573
37573
  };
37574
- pp.readHexChar = function(len) {
37574
+ pp.readHexChar = function(len2) {
37575
37575
  var codePos = this.pos;
37576
- var n2 = this.readInt(16, len);
37576
+ var n2 = this.readInt(16, len2);
37577
37577
  if (n2 === null) {
37578
37578
  this.invalidStringToken(codePos, "Bad character escape sequence");
37579
37579
  }
@@ -40262,17 +40262,17 @@ function getDecoder(decodeTree) {
40262
40262
  while ((offset2 = str.indexOf("&", offset2)) >= 0) {
40263
40263
  ret += str.slice(lastIndex, offset2);
40264
40264
  decoder.startEntity(decodeMode);
40265
- const len = decoder.write(
40265
+ const len2 = decoder.write(
40266
40266
  str,
40267
40267
  // Skip the "&"
40268
40268
  offset2 + 1
40269
40269
  );
40270
- if (len < 0) {
40270
+ if (len2 < 0) {
40271
40271
  lastIndex = offset2 + decoder.end();
40272
40272
  break;
40273
40273
  }
40274
- lastIndex = offset2 + len;
40275
- offset2 = len === 0 ? lastIndex + 1 : lastIndex;
40274
+ lastIndex = offset2 + len2;
40275
+ offset2 = len2 === 0 ? lastIndex + 1 : lastIndex;
40276
40276
  }
40277
40277
  const result = ret + str.slice(lastIndex);
40278
40278
  ret = "";
@@ -43612,17 +43612,17 @@ var init_attributes2 = __esm({
43612
43612
  const { adapter: adapter2 } = options;
43613
43613
  const { name } = data2;
43614
43614
  let { value } = data2;
43615
- const len = value.length;
43615
+ const len2 = value.length;
43616
43616
  if (shouldIgnoreCase(data2, options)) {
43617
43617
  value = value.toLowerCase();
43618
43618
  return function hyphenIC(elem) {
43619
43619
  const attr2 = adapter2.getAttributeValue(elem, name);
43620
- return attr2 != null && (attr2.length === len || attr2.charAt(len) === "-") && attr2.substr(0, len).toLowerCase() === value && next(elem);
43620
+ return attr2 != null && (attr2.length === len2 || attr2.charAt(len2) === "-") && attr2.substr(0, len2).toLowerCase() === value && next(elem);
43621
43621
  };
43622
43622
  }
43623
43623
  return function hyphen(elem) {
43624
43624
  const attr2 = adapter2.getAttributeValue(elem, name);
43625
- return attr2 != null && (attr2.length === len || attr2.charAt(len) === "-") && attr2.substr(0, len) === value && next(elem);
43625
+ return attr2 != null && (attr2.length === len2 || attr2.charAt(len2) === "-") && attr2.substr(0, len2) === value && next(elem);
43626
43626
  };
43627
43627
  },
43628
43628
  element(next, data2, options) {
@@ -43644,15 +43644,15 @@ var init_attributes2 = __esm({
43644
43644
  const { adapter: adapter2 } = options;
43645
43645
  const { name } = data2;
43646
43646
  let { value } = data2;
43647
- const len = value.length;
43648
- if (len === 0) {
43647
+ const len2 = value.length;
43648
+ if (len2 === 0) {
43649
43649
  return import_boolbase.default.falseFunc;
43650
43650
  }
43651
43651
  if (shouldIgnoreCase(data2, options)) {
43652
43652
  value = value.toLowerCase();
43653
43653
  return (elem) => {
43654
43654
  const attr2 = adapter2.getAttributeValue(elem, name);
43655
- return attr2 != null && attr2.length >= len && attr2.substr(0, len).toLowerCase() === value && next(elem);
43655
+ return attr2 != null && attr2.length >= len2 && attr2.substr(0, len2).toLowerCase() === value && next(elem);
43656
43656
  };
43657
43657
  }
43658
43658
  return (elem) => {
@@ -43664,15 +43664,15 @@ var init_attributes2 = __esm({
43664
43664
  const { adapter: adapter2 } = options;
43665
43665
  const { name } = data2;
43666
43666
  let { value } = data2;
43667
- const len = -value.length;
43668
- if (len === 0) {
43667
+ const len2 = -value.length;
43668
+ if (len2 === 0) {
43669
43669
  return import_boolbase.default.falseFunc;
43670
43670
  }
43671
43671
  if (shouldIgnoreCase(data2, options)) {
43672
43672
  value = value.toLowerCase();
43673
43673
  return (elem) => {
43674
43674
  var _a4;
43675
- return ((_a4 = adapter2.getAttributeValue(elem, name)) === null || _a4 === void 0 ? void 0 : _a4.substr(len).toLowerCase()) === value && next(elem);
43675
+ return ((_a4 = adapter2.getAttributeValue(elem, name)) === null || _a4 === void 0 ? void 0 : _a4.substr(len2).toLowerCase()) === value && next(elem);
43676
43676
  };
43677
43677
  }
43678
43678
  return (elem) => {
@@ -55967,7 +55967,7 @@ var RUNTIME_IIFE;
55967
55967
  var init_runtime_inline = __esm({
55968
55968
  "../core/dist/generated/runtime-inline.js"() {
55969
55969
  "use strict";
55970
- RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&&lt(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Ji=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
55970
+ RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&&lt(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Ji=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
55971
55971
  }
55972
55972
  });
55973
55973
 
@@ -57121,16 +57121,16 @@ function classifyCodePoint(codePoint) {
57121
57121
  return "L";
57122
57122
  }
57123
57123
  function computeBidiLevels(str) {
57124
- const len = str.length;
57125
- if (len === 0)
57124
+ const len2 = str.length;
57125
+ if (len2 === 0)
57126
57126
  return null;
57127
- const types5 = new Array(len);
57127
+ const types5 = new Array(len2);
57128
57128
  let sawBidi = false;
57129
- for (let i2 = 0; i2 < len; ) {
57129
+ for (let i2 = 0; i2 < len2; ) {
57130
57130
  const first = str.charCodeAt(i2);
57131
57131
  let codePoint = first;
57132
57132
  let codeUnitLength = 1;
57133
- if (first >= 55296 && first <= 56319 && i2 + 1 < len) {
57133
+ if (first >= 55296 && first <= 56319 && i2 + 1 < len2) {
57134
57134
  const second = str.charCodeAt(i2 + 1);
57135
57135
  if (second >= 56320 && second <= 57343) {
57136
57136
  codePoint = (first - 55296 << 10) + (second - 56320) + 65536;
@@ -57148,7 +57148,7 @@ function computeBidiLevels(str) {
57148
57148
  if (!sawBidi)
57149
57149
  return null;
57150
57150
  let startLevel = 0;
57151
- for (let i2 = 0; i2 < len; i2++) {
57151
+ for (let i2 = 0; i2 < len2; i2++) {
57152
57152
  const t2 = types5[i2];
57153
57153
  if (t2 === "L") {
57154
57154
  startLevel = 0;
@@ -57159,31 +57159,31 @@ function computeBidiLevels(str) {
57159
57159
  break;
57160
57160
  }
57161
57161
  }
57162
- const levels = new Int8Array(len);
57163
- for (let i2 = 0; i2 < len; i2++)
57162
+ const levels = new Int8Array(len2);
57163
+ for (let i2 = 0; i2 < len2; i2++)
57164
57164
  levels[i2] = startLevel;
57165
57165
  const e3 = startLevel & 1 ? "R" : "L";
57166
57166
  const sor = e3;
57167
57167
  let lastType = sor;
57168
- for (let i2 = 0; i2 < len; i2++) {
57168
+ for (let i2 = 0; i2 < len2; i2++) {
57169
57169
  if (types5[i2] === "NSM")
57170
57170
  types5[i2] = lastType;
57171
57171
  else
57172
57172
  lastType = types5[i2];
57173
57173
  }
57174
57174
  lastType = sor;
57175
- for (let i2 = 0; i2 < len; i2++) {
57175
+ for (let i2 = 0; i2 < len2; i2++) {
57176
57176
  const t2 = types5[i2];
57177
57177
  if (t2 === "EN")
57178
57178
  types5[i2] = lastType === "AL" ? "AN" : "EN";
57179
57179
  else if (t2 === "R" || t2 === "L" || t2 === "AL")
57180
57180
  lastType = t2;
57181
57181
  }
57182
- for (let i2 = 0; i2 < len; i2++) {
57182
+ for (let i2 = 0; i2 < len2; i2++) {
57183
57183
  if (types5[i2] === "AL")
57184
57184
  types5[i2] = "R";
57185
57185
  }
57186
- for (let i2 = 1; i2 < len - 1; i2++) {
57186
+ for (let i2 = 1; i2 < len2 - 1; i2++) {
57187
57187
  if (types5[i2] === "ES" && types5[i2 - 1] === "EN" && types5[i2 + 1] === "EN") {
57188
57188
  types5[i2] = "EN";
57189
57189
  }
@@ -57191,36 +57191,36 @@ function computeBidiLevels(str) {
57191
57191
  types5[i2] = types5[i2 - 1];
57192
57192
  }
57193
57193
  }
57194
- for (let i2 = 0; i2 < len; i2++) {
57194
+ for (let i2 = 0; i2 < len2; i2++) {
57195
57195
  if (types5[i2] !== "EN")
57196
57196
  continue;
57197
57197
  let j3;
57198
57198
  for (j3 = i2 - 1; j3 >= 0 && types5[j3] === "ET"; j3--)
57199
57199
  types5[j3] = "EN";
57200
- for (j3 = i2 + 1; j3 < len && types5[j3] === "ET"; j3++)
57200
+ for (j3 = i2 + 1; j3 < len2 && types5[j3] === "ET"; j3++)
57201
57201
  types5[j3] = "EN";
57202
57202
  }
57203
- for (let i2 = 0; i2 < len; i2++) {
57203
+ for (let i2 = 0; i2 < len2; i2++) {
57204
57204
  const t2 = types5[i2];
57205
57205
  if (t2 === "WS" || t2 === "ES" || t2 === "ET" || t2 === "CS")
57206
57206
  types5[i2] = "ON";
57207
57207
  }
57208
57208
  lastType = sor;
57209
- for (let i2 = 0; i2 < len; i2++) {
57209
+ for (let i2 = 0; i2 < len2; i2++) {
57210
57210
  const t2 = types5[i2];
57211
57211
  if (t2 === "EN")
57212
57212
  types5[i2] = lastType === "L" ? "L" : "EN";
57213
57213
  else if (t2 === "R" || t2 === "L")
57214
57214
  lastType = t2;
57215
57215
  }
57216
- for (let i2 = 0; i2 < len; i2++) {
57216
+ for (let i2 = 0; i2 < len2; i2++) {
57217
57217
  if (types5[i2] !== "ON")
57218
57218
  continue;
57219
57219
  let end = i2 + 1;
57220
- while (end < len && types5[end] === "ON")
57220
+ while (end < len2 && types5[end] === "ON")
57221
57221
  end++;
57222
57222
  const before3 = i2 > 0 ? types5[i2 - 1] : sor;
57223
- const after2 = end < len ? types5[end] : sor;
57223
+ const after2 = end < len2 ? types5[end] : sor;
57224
57224
  const bDir = before3 !== "L" ? "R" : "L";
57225
57225
  const aDir = after2 !== "L" ? "R" : "L";
57226
57226
  if (bDir === aDir) {
@@ -57229,11 +57229,11 @@ function computeBidiLevels(str) {
57229
57229
  }
57230
57230
  i2 = end - 1;
57231
57231
  }
57232
- for (let i2 = 0; i2 < len; i2++) {
57232
+ for (let i2 = 0; i2 < len2; i2++) {
57233
57233
  if (types5[i2] === "ON")
57234
57234
  types5[i2] = e3;
57235
57235
  }
57236
- for (let i2 = 0; i2 < len; i2++) {
57236
+ for (let i2 = 0; i2 < len2; i2++) {
57237
57237
  const t2 = types5[i2];
57238
57238
  if ((levels[i2] & 1) === 0) {
57239
57239
  if (t2 === "R")
@@ -64409,6 +64409,16 @@ function wrapScopedCompositionScript(source, compositionId, errorLabel = "[Hyper
64409
64409
  ? new Proxy(window, {
64410
64410
  get: function(target, prop, receiver) {
64411
64411
  if (prop === "__timelines") return __hfGetTimelineRegistry();
64412
+ // Inside a sub-composition, __hyperframes is passed as a bare script
64413
+ // param bound to the SCOPED variant (per-comp getVariables). But
64414
+ // authors routinely write the documented window.__hyperframes.
64415
+ // getVariables() form, which would otherwise fall through to the host
64416
+ // page's base __hyperframes and return the WRONG (or empty) variables
64417
+ // for this instance. Route it to the scoped variant too so both
64418
+ // spellings resolve to this composition's own variables.
64419
+ // (__hfScopedHyperframes is a hoisted var assigned below, before any
64420
+ // sub-comp script -- the only code that reads this -- runs.)
64421
+ if (prop === "__hyperframes") return __hfScopedHyperframes;
64412
64422
  return Reflect.get(target, prop, target);
64413
64423
  },
64414
64424
  set: function(target, prop, value, receiver) {
@@ -67679,14 +67689,14 @@ function resolveCssAssetCandidates(projectDir, url, htmlCompSrcPath, cssRootRela
67679
67689
  return resolveLocalAssetCandidates(projectDir, url);
67680
67690
  }
67681
67691
  async function lintProject(projectDir) {
67682
- const indexPath = resolve7(projectDir, "index.html");
67692
+ const indexPath2 = resolve7(projectDir, "index.html");
67683
67693
  const results = [];
67684
67694
  let totalErrors = 0;
67685
67695
  let totalWarnings = 0;
67686
67696
  let totalInfos = 0;
67687
- const rootHtml = readFileSync4(indexPath, "utf-8");
67697
+ const rootHtml = readFileSync4(indexPath2, "utf-8");
67688
67698
  const rootResult = await lintHyperframeHtml(rootHtml, {
67689
- filePath: indexPath,
67699
+ filePath: indexPath2,
67690
67700
  externalStyles: collectExternalStyles(projectDir, rootHtml)
67691
67701
  });
67692
67702
  results.push({ file: "index.html", result: rootResult });
@@ -70898,10 +70908,10 @@ function hoistCompositionScripts(container, opts) {
70898
70908
  }
70899
70909
  }
70900
70910
  async function bundleToSingleHtml(projectDir, options) {
70901
- const indexPath = join10(projectDir, "index.html");
70902
- if (!existsSync10(indexPath))
70911
+ const indexPath2 = join10(projectDir, "index.html");
70912
+ if (!existsSync10(indexPath2))
70903
70913
  throw new Error("index.html not found in project directory");
70904
- const rawHtml = readFileSync5(indexPath, "utf-8");
70914
+ const rawHtml = readFileSync5(indexPath2, "utf-8");
70905
70915
  const compiled = await compileHtml(rawHtml, projectDir, options?.probeMediaDuration);
70906
70916
  const staticGuard = await validateHyperframeHtmlContract(compiled);
70907
70917
  if (!staticGuard.isValid) {
@@ -72908,7 +72918,7 @@ var init_audioVolumeEnvelope = __esm({
72908
72918
  });
72909
72919
 
72910
72920
  // ../engine/src/services/audioMixer.ts
72911
- import { existsSync as existsSync13, mkdirSync as mkdirSync8, rmSync as rmSync3 } from "fs";
72921
+ import { closeSync, existsSync as existsSync13, mkdirSync as mkdirSync8, mkdtempSync, openSync, rmSync as rmSync3, writeFileSync as writeFileSync6 } from "fs";
72912
72922
  import { isAbsolute as isAbsolute5, join as join13, dirname as dirname8 } from "path";
72913
72923
  function clampVolume(volume) {
72914
72924
  if (!Number.isFinite(volume)) return 1;
@@ -73152,11 +73162,9 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
73152
73162
  }
73153
73163
  const outputDir = dirname8(outputPath);
73154
73164
  if (!existsSync13(outputDir)) mkdirSync8(outputDir, { recursive: true });
73155
- const buildArgs = (ignoreAutomation) => {
73156
- const inputs = [];
73165
+ const buildFilterComplex = (ignoreAutomation) => {
73157
73166
  const filterParts = [];
73158
73167
  tracks.forEach((track, i2) => {
73159
- inputs.push("-i", track.srcPath);
73160
73168
  const delayMs = Math.round(track.start * 1e3);
73161
73169
  const trimDuration = track.end - track.start;
73162
73170
  const volumeFilter = buildVolumeExpression(track, ignoreAutomation);
@@ -73168,11 +73176,23 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
73168
73176
  const mixFilter = `${mixInputs}amix=inputs=${tracks.length}:duration=longest:dropout_transition=0[mixed]`;
73169
73177
  const compensatedGain = masterOutputGain * tracks.length;
73170
73178
  const postMixGainFilter = `[mixed]volume=${formatFilterNumber(compensatedGain)}[out]`;
73171
- const fullFilter = [...filterParts, mixFilter, postMixGainFilter].join(";");
73172
- return [
73179
+ return [...filterParts, mixFilter, postMixGainFilter].join(";");
73180
+ };
73181
+ const runMix = (ignoreAutomation) => {
73182
+ const inputs = [];
73183
+ tracks.forEach((track) => inputs.push("-i", track.srcPath));
73184
+ const scriptDir = mkdtempSync(join13(outputDir, ".filter-complex-"));
73185
+ const scriptPath = join13(scriptDir, "graph.txt");
73186
+ const fd = openSync(scriptPath, "wx", 384);
73187
+ try {
73188
+ writeFileSync6(fd, buildFilterComplex(ignoreAutomation));
73189
+ } finally {
73190
+ closeSync(fd);
73191
+ }
73192
+ const args = [
73173
73193
  ...inputs,
73174
- "-filter_complex",
73175
- fullFilter,
73194
+ "-filter_complex_script",
73195
+ scriptPath,
73176
73196
  "-map",
73177
73197
  "[out]",
73178
73198
  "-acodec",
@@ -73184,12 +73204,15 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
73184
73204
  "-y",
73185
73205
  outputPath
73186
73206
  ];
73207
+ return runFfmpeg(args, { signal, timeout: ffmpegProcessTimeout }).finally(
73208
+ () => rmSync3(scriptDir, { recursive: true, force: true })
73209
+ );
73187
73210
  };
73188
- let result = await runFfmpeg(buildArgs(false), { signal, timeout: ffmpegProcessTimeout });
73211
+ let result = await runMix(false);
73189
73212
  let degradedAutomation = false;
73190
73213
  const hasAutomation = tracks.some((track) => (track.volumeKeyframes?.length ?? 0) > 0);
73191
73214
  if (!result.success && !signal?.aborted && hasAutomation) {
73192
- const retry = await runFfmpeg(buildArgs(true), { signal, timeout: ffmpegProcessTimeout });
73215
+ const retry = await runMix(true);
73193
73216
  if (retry.success) {
73194
73217
  result = retry;
73195
73218
  degradedAutomation = true;
@@ -74396,16 +74419,16 @@ function getLinearToHlgLut() {
74396
74419
  }
74397
74420
  function hdrToLinear(buf, transfer) {
74398
74421
  const lut = transfer === "pq" ? getPqToLinearLut() : getHlgToLinearLut();
74399
- const len = buf.length / 2;
74400
- for (let i2 = 0; i2 < len; i2++) {
74422
+ const len2 = buf.length / 2;
74423
+ for (let i2 = 0; i2 < len2; i2++) {
74401
74424
  const off = i2 * 2;
74402
74425
  buf.writeUInt16LE(lut[buf.readUInt16LE(off)] ?? 0, off);
74403
74426
  }
74404
74427
  }
74405
74428
  function linearToHdr(buf, transfer) {
74406
74429
  const lut = transfer === "pq" ? getLinearToPqLut() : getLinearToHlgLut();
74407
- const len = buf.length / 2;
74408
- for (let i2 = 0; i2 < len; i2++) {
74430
+ const len2 = buf.length / 2;
74431
+ for (let i2 = 0; i2 < len2; i2++) {
74409
74432
  const off = i2 * 2;
74410
74433
  buf.writeUInt16LE(lut[buf.readUInt16LE(off)] ?? 0, off);
74411
74434
  }
@@ -74429,8 +74452,8 @@ function getPqToHlgLut() {
74429
74452
  function convertTransfer(buf, from, to) {
74430
74453
  if (from === to) return;
74431
74454
  const lut = from === "hlg" ? getHlgToPqLut() : getPqToHlgLut();
74432
- const len = buf.length / 2;
74433
- for (let i2 = 0; i2 < len; i2++) {
74455
+ const len2 = buf.length / 2;
74456
+ for (let i2 = 0; i2 < len2; i2++) {
74434
74457
  const off = i2 * 2;
74435
74458
  buf.writeUInt16LE(lut[buf.readUInt16LE(off)] ?? 0, off);
74436
74459
  }
@@ -78242,7 +78265,7 @@ var init_banner = __esm({
78242
78265
  });
78243
78266
 
78244
78267
  // src/registry/remote.ts
78245
- import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as writeFileSync6 } from "fs";
78268
+ import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as writeFileSync7 } from "fs";
78246
78269
  import { join as join17, dirname as dirname9 } from "path";
78247
78270
  import { homedir as homedir4 } from "os";
78248
78271
  function cachePath(baseUrl, key2) {
@@ -78263,7 +78286,7 @@ function writeCache(path2, data2) {
78263
78286
  try {
78264
78287
  mkdirSync10(dirname9(path2), { recursive: true });
78265
78288
  const entry = { fetchedAt: Date.now(), data: data2 };
78266
- writeFileSync6(path2, JSON.stringify(entry), "utf-8");
78289
+ writeFileSync7(path2, JSON.stringify(entry), "utf-8");
78267
78290
  } catch {
78268
78291
  }
78269
78292
  }
@@ -78309,7 +78332,7 @@ async function fetchItemFile(item, file, destPath, baseUrl = DEFAULT_REGISTRY_UR
78309
78332
  }
78310
78333
  const buf = new Uint8Array(await res.arrayBuffer());
78311
78334
  mkdirSync10(dirname9(destPath), { recursive: true });
78312
- writeFileSync6(destPath, buf);
78335
+ writeFileSync7(destPath, buf);
78313
78336
  }
78314
78337
  var DEFAULT_REGISTRY_URL, FETCH_TIMEOUT_MS, CACHE_DIR, CACHE_TTL_MS;
78315
78338
  var init_remote = __esm({
@@ -78442,7 +78465,7 @@ __export(installer_exports, {
78442
78465
  assertSafeTarget: () => assertSafeTarget,
78443
78466
  installItem: () => installItem
78444
78467
  });
78445
- import { readFileSync as readFileSync12, writeFileSync as writeFileSync7 } from "fs";
78468
+ import { readFileSync as readFileSync12, writeFileSync as writeFileSync8 } from "fs";
78446
78469
  import { resolve as resolve10, relative as relative4, isAbsolute as isAbsolute6 } from "path";
78447
78470
  function assertSafeTarget(destDir, target) {
78448
78471
  if (isAbsolute6(target)) {
@@ -78482,7 +78505,7 @@ async function installItem(item, options) {
78482
78505
  await fetchItemFile(item, file, destPath, baseUrl);
78483
78506
  if (isInstalledRegistryBlockComposition(item, file)) {
78484
78507
  const source = readFileSync12(destPath, "utf-8");
78485
- writeFileSync7(destPath, addRegistryItemMarker(source, item), "utf-8");
78508
+ writeFileSync8(destPath, addRegistryItemMarker(source, item), "utf-8");
78486
78509
  }
78487
78510
  return destPath;
78488
78511
  })
@@ -79151,7 +79174,7 @@ __export(normalize_exports, {
79151
79174
  stripBeforeOnset: () => stripBeforeOnset,
79152
79175
  wordsToCues: () => wordsToCues
79153
79176
  });
79154
- import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as writeFileSync8 } from "fs";
79177
+ import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as writeFileSync9 } from "fs";
79155
79178
  import { extname as extname6, join as join20 } from "path";
79156
79179
  function detectFormat(filePath) {
79157
79180
  const ext = extname6(filePath).toLowerCase();
@@ -79446,7 +79469,7 @@ function patchCaptionHtml(dir, words) {
79446
79469
  if (match) {
79447
79470
  const varName = scriptMatch ? "script" : "TRANSCRIPT";
79448
79471
  content = content.replace(match[0], `const ${varName} = ${wordsJson};`);
79449
- writeFileSync8(file, content, "utf-8");
79472
+ writeFileSync9(file, content, "utf-8");
79450
79473
  }
79451
79474
  }
79452
79475
  }
@@ -79469,7 +79492,7 @@ __export(projectConfig_exports, {
79469
79492
  readProjectConfig: () => readProjectConfig,
79470
79493
  writeProjectConfig: () => writeProjectConfig
79471
79494
  });
79472
- import { readFileSync as readFileSync15, writeFileSync as writeFileSync9 } from "fs";
79495
+ import { readFileSync as readFileSync15, writeFileSync as writeFileSync10 } from "fs";
79473
79496
  import { join as join21, resolve as resolve12 } from "path";
79474
79497
  function projectConfigPath(projectDir) {
79475
79498
  return join21(resolve12(projectDir), PROJECT_CONFIG_FILENAME);
@@ -79496,7 +79519,7 @@ function normalizeConfig(partial) {
79496
79519
  }
79497
79520
  function writeProjectConfig(projectDir, config = DEFAULT_PROJECT_CONFIG) {
79498
79521
  const path2 = projectConfigPath(projectDir);
79499
- writeFileSync9(path2, JSON.stringify(config, null, 2) + "\n", "utf-8");
79522
+ writeFileSync10(path2, JSON.stringify(config, null, 2) + "\n", "utf-8");
79500
79523
  }
79501
79524
  function loadProjectConfig(projectDir) {
79502
79525
  return readProjectConfig(projectDir) ?? DEFAULT_PROJECT_CONFIG;
@@ -81103,8 +81126,8 @@ function formatRenderSummaryDetail(input2) {
81103
81126
  return [middle, renderTime].filter(Boolean).join(" \xB7 ");
81104
81127
  }
81105
81128
  function label(name, value) {
81106
- const pad = 14 - name.length;
81107
- return ` ${c.dim(name)}${" ".repeat(Math.max(1, pad))}${c.bold(value)}`;
81129
+ const pad4 = 14 - name.length;
81130
+ return ` ${c.dim(name)}${" ".repeat(Math.max(1, pad4))}${c.bold(value)}`;
81108
81131
  }
81109
81132
  function errorBox(title, hint2, suggestion) {
81110
81133
  console.error(`
@@ -81135,18 +81158,18 @@ function resolveProjectOrThrow(dirArg) {
81135
81158
  }
81136
81159
  const dir = resolve15(dirArg ?? ".");
81137
81160
  const name = basename2(dir);
81138
- const indexPath = resolve15(dir, "index.html");
81161
+ const indexPath2 = resolve15(dir, "index.html");
81139
81162
  if (!existsSync26(dir) || !statSync7(dir).isDirectory()) {
81140
81163
  throw new InvalidProjectError("Not a directory: " + dir);
81141
81164
  }
81142
- if (!existsSync26(indexPath)) {
81165
+ if (!existsSync26(indexPath2)) {
81143
81166
  throw new InvalidProjectError(
81144
81167
  "No composition found in " + dir,
81145
81168
  "No index.html file found.",
81146
81169
  "Run npx hyperframes init to create a new composition."
81147
81170
  );
81148
81171
  }
81149
- return { dir, name, indexPath };
81172
+ return { dir, name, indexPath: indexPath2 };
81150
81173
  }
81151
81174
  function resolveProject(dirArg) {
81152
81175
  try {
@@ -86917,12 +86940,12 @@ var require_parser2 = __commonJS({
86917
86940
  if (this.currToken[tokenize_1.FIELDS.TYPE] !== tokens.closeSquare) {
86918
86941
  return this.expected("closing square bracket", this.currToken[tokenize_1.FIELDS.START_POS]);
86919
86942
  }
86920
- var len = attr2.length;
86943
+ var len2 = attr2.length;
86921
86944
  var node = {
86922
86945
  source: getSource(startingToken[1], startingToken[2], this.currToken[3], this.currToken[4]),
86923
86946
  sourceIndex: startingToken[tokenize_1.FIELDS.START_POS]
86924
86947
  };
86925
- if (len === 1 && !~[tokens.word].indexOf(attr2[0][tokenize_1.FIELDS.TYPE])) {
86948
+ if (len2 === 1 && !~[tokens.word].indexOf(attr2[0][tokenize_1.FIELDS.TYPE])) {
86926
86949
  return this.expected("attribute", attr2[0][tokenize_1.FIELDS.START_POS]);
86927
86950
  }
86928
86951
  var pos = 0;
@@ -86930,7 +86953,7 @@ var require_parser2 = __commonJS({
86930
86953
  var commentBefore = "";
86931
86954
  var lastAdded = null;
86932
86955
  var spaceAfterMeaningfulToken = false;
86933
- while (pos < len) {
86956
+ while (pos < len2) {
86934
86957
  var token = attr2[pos];
86935
86958
  var content = this.content(token);
86936
86959
  var next = attr2[pos + 1];
@@ -91168,10 +91191,10 @@ import {
91168
91191
  } from "fs";
91169
91192
  import { resolve as resolve22, dirname as dirname12, join as join62 } from "path";
91170
91193
  import { spawn as spawn9 } from "child_process";
91171
- import { existsSync as existsSync210, writeFileSync as writeFileSync10, mkdirSync as mkdirSync14 } from "fs";
91194
+ import { existsSync as existsSync210, writeFileSync as writeFileSync11, mkdirSync as mkdirSync14 } from "fs";
91172
91195
  import { join as join32, resolve as resolve19 } from "path";
91173
91196
  import { spawnSync } from "child_process";
91174
- import { mkdtempSync, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
91197
+ import { mkdtempSync as mkdtempSync2, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
91175
91198
  import { tmpdir as tmpdir3 } from "os";
91176
91199
  import { basename as basename3, join as join42 } from "path";
91177
91200
  import { mkdirSync as mkdirSync22, readdirSync as readdirSync22, readFileSync as readFileSync22, unlinkSync as unlinkSync3, writeFileSync as writeFileSync32 } from "fs";
@@ -91196,7 +91219,7 @@ import { join as join112 } from "path";
91196
91219
  import { createHash as createHash22 } from "crypto";
91197
91220
  import { existsSync as existsSync82, readFileSync as readFileSync112, writeFileSync as writeFileSync72, mkdirSync as mkdirSync62 } from "fs";
91198
91221
  import { join as join122 } from "path";
91199
- import { closeSync, constants, fstatSync, openSync, readSync } from "fs";
91222
+ import { closeSync as closeSync2, constants, fstatSync, openSync as openSync2, readSync } from "fs";
91200
91223
  function shouldIgnoreDir(rel) {
91201
91224
  return rel === ".hyperframes/backup";
91202
91225
  }
@@ -91383,7 +91406,7 @@ async function generateWaveformCache(projectDir, assetPath) {
91383
91406
  if (existsSync210(cachePath2)) return;
91384
91407
  const peaks = await decodeAudioPeaks(audioPath);
91385
91408
  mkdirSync14(cacheDir, { recursive: true });
91386
- writeFileSync10(cachePath2, JSON.stringify(peaks));
91409
+ writeFileSync11(cachePath2, JSON.stringify(peaks));
91387
91410
  }
91388
91411
  function validateUploadedMedia(filePath, runner = spawnSync) {
91389
91412
  const isVideo2 = VIDEO_EXT.test(filePath);
@@ -91423,7 +91446,7 @@ function validateUploadedMedia(filePath, runner = spawnSync) {
91423
91446
  }
91424
91447
  }
91425
91448
  function validateUploadedMediaBuffer(fileName, buffer, runner = spawnSync) {
91426
- const tempDir = mkdtempSync(join42(tmpdir3(), "hyperframes-upload-"));
91449
+ const tempDir = mkdtempSync2(join42(tmpdir3(), "hyperframes-upload-"));
91427
91450
  const tempPath = join42(tempDir, basename3(fileName));
91428
91451
  try {
91429
91452
  writeFileSync22(tempPath, buffer);
@@ -93393,10 +93416,10 @@ function buildSubCompositionHtml(projectDir, compPath, runtimeUrl, baseHref) {
93393
93416
  }
93394
93417
  rewrittenContent = stripEmbeddedRuntimeScripts(rewrittenContent);
93395
93418
  rewrittenContent = tagRootCompositionFile(rewrittenContent, compPath);
93396
- const indexPath = join72(projectDir, "index.html");
93419
+ const indexPath2 = join72(projectDir, "index.html");
93397
93420
  let headContent = "";
93398
- if (existsSync42(indexPath)) {
93399
- const indexHtml = readFileSync42(indexPath, "utf-8");
93421
+ if (existsSync42(indexPath2)) {
93422
+ const indexHtml = readFileSync42(indexPath2, "utf-8");
93400
93423
  const headMatch = indexHtml.match(/<head[^>]*>([\s\S]*?)<\/head>/i);
93401
93424
  headContent = headMatch?.[1] ?? "";
93402
93425
  }
@@ -93852,9 +93875,9 @@ async function transformPreviewHtml(html, adapter2, project, activeCompositionPa
93852
93875
  }
93853
93876
  }
93854
93877
  function resolveProjectMainHtml(projectDir, projectId) {
93855
- const indexPath = join82(projectDir, "index.html");
93856
- if (existsSync52(indexPath)) {
93857
- return { html: readFileSync72(indexPath, "utf-8"), compositionPath: "index.html" };
93878
+ const indexPath2 = join82(projectDir, "index.html");
93879
+ if (existsSync52(indexPath2)) {
93880
+ return { html: readFileSync72(indexPath2, "utf-8"), compositionPath: "index.html" };
93858
93881
  }
93859
93882
  const blockHtmlPath = join82(projectDir, `${projectId}.html`);
93860
93883
  if (existsSync52(blockHtmlPath)) {
@@ -95015,7 +95038,7 @@ function registerFontRoutes(api) {
95015
95038
  if (!located) return c3.json({ error: "font not found" }, 404);
95016
95039
  let fd;
95017
95040
  try {
95018
- fd = openSync(located.path, constants.O_RDONLY | constants.O_NOFOLLOW);
95041
+ fd = openSync2(located.path, constants.O_RDONLY | constants.O_NOFOLLOW);
95019
95042
  } catch {
95020
95043
  return c3.json({ error: "font file not accessible" }, 404);
95021
95044
  }
@@ -95037,7 +95060,7 @@ function registerFontRoutes(api) {
95037
95060
  } catch {
95038
95061
  return c3.json({ error: "failed to read font file" }, 500);
95039
95062
  } finally {
95040
- closeSync(fd);
95063
+ closeSync2(fd);
95041
95064
  }
95042
95065
  });
95043
95066
  }
@@ -95188,16 +95211,16 @@ function getElementScreenshotClip(selector, selectorIndex) {
95188
95211
  if (!(el instanceof HTMLElement)) return void 0;
95189
95212
  const rect = el.getBoundingClientRect();
95190
95213
  if (rect.width < 4 || rect.height < 4) return void 0;
95191
- const pad = 8;
95192
- const x3 = Math.max(0, rect.left - pad);
95193
- const y = Math.max(0, rect.top - pad);
95214
+ const pad4 = 8;
95215
+ const x3 = Math.max(0, rect.left - pad4);
95216
+ const y = Math.max(0, rect.top - pad4);
95194
95217
  const maxWidth = window.innerWidth - x3;
95195
95218
  const maxHeight = window.innerHeight - y;
95196
95219
  return {
95197
95220
  x: x3,
95198
95221
  y,
95199
- width: Math.max(1, Math.min(rect.width + pad * 2, maxWidth)),
95200
- height: Math.max(1, Math.min(rect.height + pad * 2, maxHeight))
95222
+ width: Math.max(1, Math.min(rect.width + pad4 * 2, maxWidth)),
95223
+ height: Math.max(1, Math.min(rect.height + pad4 * 2, maxHeight))
95201
95224
  };
95202
95225
  }
95203
95226
  var import_postcss_selector_parser, IGNORE_DIRS, COMPOSITION_ID_RE, MIME_TYPES2, SAMPLE_RATE, PEAK_COUNT, WAVEFORM_CACHE_VERSION, VIDEO_EXT, AUDIO_EXT, DEFAULT_KEEP_PER_FILE, DOM_PATCH_NULL_VALUE_PATH, HOLD_SYNC_MUTATION_TYPES, REGEXP_SPECIALS, NON_RENDERED_TAGS, SIGNATURE_TEXT_EXTENSIONS, SIGNATURE_EXCLUDED_DIRS, MAX_SIGNATURE_TEXT_BYTES, STUDIO_SIGNATURE_MANIFEST_PATHS, projectSignatureCache, STUDIO_MOTION_PATH, PROJECT_SIGNATURE_META, GSAP_CDN_VERSION, GSAP_CDN_SCRIPT, GSAP_CUSTOM_EASE_CDN_SCRIPT, GSAP_MOTION_PATH_CDN_SCRIPT, GSAP_CDN_FALLBACK_SCRIPT, VALID_RESOLUTIONS, STUDIO_MANUAL_EDITS_PATH, THUMBNAIL_CACHE_VERSION, MAX_FONT_RESULTS, GOOGLE_FONTS_METADATA_URL, GOOGLE_FONTS_FETCH_TIMEOUT_MS, cachedFonts, cachedGoogleFonts, GOOGLE_FONT_FALLBACKS;
@@ -95395,16 +95418,16 @@ function getElementScreenshotClip2(selector, selectorIndex) {
95395
95418
  if (!(el instanceof HTMLElement)) return void 0;
95396
95419
  const rect = el.getBoundingClientRect();
95397
95420
  if (rect.width < 4 || rect.height < 4) return void 0;
95398
- const pad = 8;
95399
- const x3 = Math.max(0, rect.left - pad);
95400
- const y = Math.max(0, rect.top - pad);
95421
+ const pad4 = 8;
95422
+ const x3 = Math.max(0, rect.left - pad4);
95423
+ const y = Math.max(0, rect.top - pad4);
95401
95424
  const maxWidth = window.innerWidth - x3;
95402
95425
  const maxHeight = window.innerHeight - y;
95403
95426
  return {
95404
95427
  x: x3,
95405
95428
  y,
95406
- width: Math.max(1, Math.min(rect.width + pad * 2, maxWidth)),
95407
- height: Math.max(1, Math.min(rect.height + pad * 2, maxHeight))
95429
+ width: Math.max(1, Math.min(rect.width + pad4 * 2, maxWidth)),
95430
+ height: Math.max(1, Math.min(rect.height + pad4 * 2, maxHeight))
95408
95431
  };
95409
95432
  }
95410
95433
  var init_screenshotClip = __esm({
@@ -95470,7 +95493,7 @@ function reclaimStaleInstallLock(timeoutMs) {
95470
95493
  }
95471
95494
  }
95472
95495
  async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs = INSTALL_LOCK_POLL_MS) {
95473
- if (!existsSync31(CACHE_DIR2)) mkdirSync15(CACHE_DIR2, { recursive: true });
95496
+ if (!existsSync31(CACHE_ROOT_DIR)) mkdirSync15(CACHE_ROOT_DIR, { recursive: true });
95474
95497
  let deadline = Date.now() + timeoutMs;
95475
95498
  for (; ; ) {
95476
95499
  if (existsSync31(INSTALL_RECLAIM_LOCK_DIR)) {
@@ -95494,6 +95517,9 @@ async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs =
95494
95517
  rmSync7(INSTALL_LOCK_DIR, { recursive: true, force: true });
95495
95518
  }
95496
95519
  }
95520
+ function purgeStaleInstall(installPath) {
95521
+ rmSync7(installPath, { recursive: true, force: true });
95522
+ }
95497
95523
  function whichBinary2(name) {
95498
95524
  try {
95499
95525
  const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
@@ -95538,7 +95564,7 @@ async function findFromCache() {
95538
95564
  return { result: { executablePath: match.executablePath, source: "cache" } };
95539
95565
  }
95540
95566
  if (match) {
95541
- return { staleHyperframesCachePath: match.executablePath };
95567
+ return { staleHyperframesCachePath: match.executablePath, staleInstallPath: match.path };
95542
95568
  }
95543
95569
  }
95544
95570
  return {};
@@ -95563,8 +95589,8 @@ function compareVersionDirsDescending(a, b2) {
95563
95589
  if (!pa && !pb) return 0;
95564
95590
  if (!pa) return 1;
95565
95591
  if (!pb) return -1;
95566
- const len = Math.max(pa.length, pb.length);
95567
- for (let i2 = 0; i2 < len; i2 += 1) {
95592
+ const len2 = Math.max(pa.length, pb.length);
95593
+ for (let i2 = 0; i2 < len2; i2 += 1) {
95568
95594
  const av = pa[i2] ?? 0;
95569
95595
  const bv = pb[i2] ?? 0;
95570
95596
  if (av !== bv) return bv - av;
@@ -95644,7 +95670,10 @@ async function findBrowser() {
95644
95670
  `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
95645
95671
  );
95646
95672
  try {
95647
- return await withInstallLock(() => downloadBrowser());
95673
+ return await withInstallLock(async () => {
95674
+ if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
95675
+ return downloadBrowser();
95676
+ });
95648
95677
  } catch (err) {
95649
95678
  const cause = normalizeErrorMessage(err);
95650
95679
  throw new Error(
@@ -95701,22 +95730,33 @@ Then re-run your command. The HYPERFRAMES_BROWSER_PATH env var persists for the
95701
95730
  async function ensureBrowser(options) {
95702
95731
  const fromEnv = findFromEnv2();
95703
95732
  if (fromEnv) return fromEnv;
95704
- const fromCache = await findFromCache();
95705
- if (fromCache.result) return fromCache.result;
95706
- if (fromCache.staleHyperframesCachePath) {
95707
- console.warn(
95708
- `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
95709
- );
95710
- return withInstallLock(() => downloadBrowser(options));
95711
- }
95712
- const fromSystem = findFromSystem2();
95713
- if (fromSystem) {
95714
- warnSystemFallbackOnce(fromSystem.executablePath);
95715
- return fromSystem;
95733
+ if (!options?.force) {
95734
+ const fromCache = await findFromCache();
95735
+ if (fromCache.result) return fromCache.result;
95736
+ if (fromCache.staleHyperframesCachePath) {
95737
+ console.warn(
95738
+ `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
95739
+ );
95740
+ return withInstallLock(async () => {
95741
+ if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
95742
+ return downloadBrowser(options);
95743
+ });
95744
+ }
95745
+ const fromSystem = findFromSystem2();
95746
+ if (fromSystem) {
95747
+ warnSystemFallbackOnce(fromSystem.executablePath);
95748
+ return fromSystem;
95749
+ }
95716
95750
  }
95717
95751
  return withInstallLock(async () => {
95718
- const afterLock = await findFromCache();
95719
- if (afterLock.result) return afterLock.result;
95752
+ if (options?.force) {
95753
+ clearBrowser();
95754
+ }
95755
+ if (!options?.force) {
95756
+ const afterLock = await findFromCache();
95757
+ if (afterLock.result) return afterLock.result;
95758
+ if (afterLock.staleInstallPath) purgeStaleInstall(afterLock.staleInstallPath);
95759
+ }
95720
95760
  return downloadBrowser(options);
95721
95761
  });
95722
95762
  }
@@ -95748,16 +95788,17 @@ function clearBrowser() {
95748
95788
  function isLinuxArm() {
95749
95789
  return process.platform === "linux" && process.arch === "arm64";
95750
95790
  }
95751
- var CHROME_VERSION, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
95791
+ var CHROME_VERSION, CACHE_ROOT_DIR, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
95752
95792
  var init_manager2 = __esm({
95753
95793
  "src/browser/manager.ts"() {
95754
95794
  "use strict";
95755
95795
  init_errorMessage();
95756
95796
  CHROME_VERSION = "131.0.6778.85";
95797
+ CACHE_ROOT_DIR = join28(homedir9(), ".cache", "hyperframes");
95757
95798
  CACHE_DIR2 = join28(homedir9(), ".cache", "hyperframes", "chrome");
95758
95799
  PUPPETEER_CACHE_DIR = join28(homedir9(), ".cache", "puppeteer", "chrome-headless-shell");
95759
- INSTALL_LOCK_DIR = join28(CACHE_DIR2, ".install.lock");
95760
- INSTALL_RECLAIM_LOCK_DIR = join28(CACHE_DIR2, ".install.reclaim.lock");
95800
+ INSTALL_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.lock");
95801
+ INSTALL_RECLAIM_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.reclaim.lock");
95761
95802
  INSTALL_LOCK_TIMEOUT_MS = 12e4;
95762
95803
  INSTALL_LOCK_POLL_MS = 200;
95763
95804
  SYSTEM_CHROME_PATHS = process.platform === "darwin" ? ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"] : [
@@ -96141,16 +96182,16 @@ var require_compress_binding = __commonJS({
96141
96182
  return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
96142
96183
  }
96143
96184
  function lengthBytesUTF8(str) {
96144
- var len = 0;
96185
+ var len2 = 0;
96145
96186
  for (var i2 = 0; i2 < str.length; ++i2) {
96146
96187
  var u = str.charCodeAt(i2);
96147
96188
  if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i2) & 1023;
96148
- if (u <= 127) ++len;
96149
- else if (u <= 2047) len += 2;
96150
- else if (u <= 65535) len += 3;
96151
- else len += 4;
96189
+ if (u <= 127) ++len2;
96190
+ else if (u <= 2047) len2 += 2;
96191
+ else if (u <= 65535) len2 += 3;
96192
+ else len2 += 4;
96152
96193
  }
96153
- return len;
96194
+ return len2;
96154
96195
  }
96155
96196
  var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : void 0;
96156
96197
  function UTF16ToString(ptr, maxBytesToRead) {
@@ -96227,13 +96268,13 @@ var require_compress_binding = __commonJS({
96227
96268
  return outPtr - startPtr;
96228
96269
  }
96229
96270
  function lengthBytesUTF32(str) {
96230
- var len = 0;
96271
+ var len2 = 0;
96231
96272
  for (var i2 = 0; i2 < str.length; ++i2) {
96232
96273
  var codeUnit = str.charCodeAt(i2);
96233
96274
  if (codeUnit >= 55296 && codeUnit <= 57343) ++i2;
96234
- len += 4;
96275
+ len2 += 4;
96235
96276
  }
96236
- return len;
96277
+ return len2;
96237
96278
  }
96238
96279
  function alignUp(x3, multiple) {
96239
96280
  if (x3 % multiple > 0) {
@@ -97701,16 +97742,16 @@ var require_decompress_binding = __commonJS({
97701
97742
  return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
97702
97743
  }
97703
97744
  function lengthBytesUTF8(str) {
97704
- var len = 0;
97745
+ var len2 = 0;
97705
97746
  for (var i2 = 0; i2 < str.length; ++i2) {
97706
97747
  var u = str.charCodeAt(i2);
97707
97748
  if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i2) & 1023;
97708
- if (u <= 127) ++len;
97709
- else if (u <= 2047) len += 2;
97710
- else if (u <= 65535) len += 3;
97711
- else len += 4;
97749
+ if (u <= 127) ++len2;
97750
+ else if (u <= 2047) len2 += 2;
97751
+ else if (u <= 65535) len2 += 3;
97752
+ else len2 += 4;
97712
97753
  }
97713
- return len;
97754
+ return len2;
97714
97755
  }
97715
97756
  var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : void 0;
97716
97757
  function UTF16ToString(ptr, maxBytesToRead) {
@@ -97787,13 +97828,13 @@ var require_decompress_binding = __commonJS({
97787
97828
  return outPtr - startPtr;
97788
97829
  }
97789
97830
  function lengthBytesUTF32(str) {
97790
- var len = 0;
97831
+ var len2 = 0;
97791
97832
  for (var i2 = 0; i2 < str.length; ++i2) {
97792
97833
  var codeUnit = str.charCodeAt(i2);
97793
97834
  if (codeUnit >= 55296 && codeUnit <= 57343) ++i2;
97794
- len += 4;
97835
+ len2 += 4;
97795
97836
  }
97796
- return len;
97837
+ return len2;
97797
97838
  }
97798
97839
  function alignUp(x3, multiple) {
97799
97840
  if (x3 % multiple > 0) {
@@ -99040,7 +99081,7 @@ __export(deterministicFonts_exports, {
99040
99081
  resolveFontFamilyDeclarationFamilies: () => resolveFontFamilyDeclarationFamilies
99041
99082
  });
99042
99083
  import { createHash as createHash6 } from "crypto";
99043
- import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as writeFileSync11 } from "fs";
99084
+ import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as writeFileSync12 } from "fs";
99044
99085
  import { homedir as homedir10, tmpdir as tmpdir4 } from "os";
99045
99086
  import { join as join29 } from "path";
99046
99087
  import postcss4 from "postcss";
@@ -99396,7 +99437,7 @@ async function ensureWoff2DataUri(cachePath2, woff2Url, familyName, weight, styl
99396
99437
  }
99397
99438
  return null;
99398
99439
  }
99399
- writeFileSync11(cachePath2, Buffer.from(await fontRes.arrayBuffer()), { flag: "wx", mode: 420 });
99440
+ writeFileSync12(cachePath2, Buffer.from(await fontRes.arrayBuffer()), { flag: "wx", mode: 420 });
99400
99441
  } catch (err) {
99401
99442
  if (err instanceof FontFetchError) throw err;
99402
99443
  if (err.code === "EEXIST") {
@@ -100698,11 +100739,11 @@ var init_paths = __esm({
100698
100739
  });
100699
100740
 
100700
100741
  // ../producer/src/services/render/shared.ts
100701
- import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as writeFileSync12 } from "fs";
100742
+ import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as writeFileSync13 } from "fs";
100702
100743
  import { basename as basename6, dirname as dirname15, isAbsolute as isAbsolute11, join as join34, relative as relative8, resolve as resolve24 } from "path";
100703
100744
  function writeFileExclusiveSync(path2, data2) {
100704
100745
  try {
100705
- writeFileSync12(path2, data2, { flag: "wx", mode: 384 });
100746
+ writeFileSync13(path2, data2, { flag: "wx", mode: 384 });
100706
100747
  } catch (error) {
100707
100748
  if (error && typeof error === "object" && "code" in error && error.code === "EEXIST") {
100708
100749
  return;
@@ -100729,11 +100770,11 @@ function resolveDeviceScaleFactor(input2) {
100729
100770
  function writeCompiledArtifacts(compiled, workDir, includeSummary) {
100730
100771
  const compileDir = join34(workDir, "compiled");
100731
100772
  mkdirSync18(compileDir, { recursive: true });
100732
- writeFileSync12(join34(compileDir, "index.html"), compiled.html, "utf-8");
100773
+ writeFileSync13(join34(compileDir, "index.html"), compiled.html, "utf-8");
100733
100774
  for (const [srcPath, html] of compiled.subCompositions) {
100734
100775
  const outPath = join34(compileDir, srcPath);
100735
100776
  mkdirSync18(dirname15(outPath), { recursive: true });
100736
- writeFileSync12(outPath, html, "utf-8");
100777
+ writeFileSync13(outPath, html, "utf-8");
100737
100778
  }
100738
100779
  for (const [relativePath, absolutePath] of compiled.externalAssets) {
100739
100780
  const outPath = resolve24(join34(compileDir, relativePath));
@@ -100767,7 +100808,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
100767
100808
  renderModeHints: compiled.renderModeHints,
100768
100809
  hasShaderTransitions: compiled.hasShaderTransitions
100769
100810
  };
100770
- writeFileSync12(join34(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
100811
+ writeFileSync13(join34(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
100771
100812
  }
100772
100813
  }
100773
100814
  function applyRenderModeHints(alreadyForced, compiled, log2 = defaultLogger) {
@@ -104086,7 +104127,7 @@ var init_captureStage = __esm({
104086
104127
  });
104087
104128
 
104088
104129
  // ../producer/src/services/hdrCompositor.ts
104089
- import { readSync as readSync2, closeSync as closeSync2 } from "fs";
104130
+ import { readSync as readSync2, closeSync as closeSync3 } from "fs";
104090
104131
  import { join as join41 } from "path";
104091
104132
  function countNonZeroAlpha(rgba) {
104092
104133
  let n2 = 0;
@@ -104123,7 +104164,7 @@ function cropRgb48le(src, srcW, srcH, cropX, cropY, cropW, cropH) {
104123
104164
  }
104124
104165
  function closeHdrVideoFrameSource(source, log2) {
104125
104166
  try {
104126
- closeSync2(source.fd);
104167
+ closeSync3(source.fd);
104127
104168
  } catch (err) {
104128
104169
  log2?.warn("Failed to close HDR raw frame file", {
104129
104170
  rawPath: source.rawPath,
@@ -105004,12 +105045,12 @@ var init_hdrImageTransferCache = __esm({
105004
105045
 
105005
105046
  // ../producer/src/services/render/stages/captureHdrResources.ts
105006
105047
  import {
105007
- closeSync as closeSync3,
105048
+ closeSync as closeSync4,
105008
105049
  constants as constants2,
105009
105050
  fstatSync as fstatSync2,
105010
105051
  mkdirSync as mkdirSync20,
105011
- mkdtempSync as mkdtempSync2,
105012
- openSync as openSync2,
105052
+ mkdtempSync as mkdtempSync3,
105053
+ openSync as openSync3,
105013
105054
  readFileSync as readFileSync25
105014
105055
  } from "fs";
105015
105056
  import { join as join43 } from "path";
@@ -105100,7 +105141,7 @@ async function extractHdrVideoFrames(args) {
105100
105141
  const video = composition.videos.find((v2) => v2.id === videoId);
105101
105142
  if (!video) continue;
105102
105143
  mkdirSync20(framesDir, { recursive: true });
105103
- const frameDir = mkdtempSync2(join43(framesDir, `hdr_${tempDirSafePrefix(videoId)}-`));
105144
+ const frameDir = mkdtempSync3(join43(framesDir, `hdr_${tempDirSafePrefix(videoId)}-`));
105104
105145
  const duration = video.end - video.start;
105105
105146
  const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
105106
105147
  const rawPath = join43(frameDir, "frames.rgb48le");
@@ -105135,7 +105176,7 @@ async function extractHdrVideoFrames(args) {
105135
105176
  );
105136
105177
  }
105137
105178
  const frameSize = dims.width * dims.height * 6;
105138
- const fd = openSync2(rawPath, constants2.O_RDONLY | NO_FOLLOW_FLAG);
105179
+ const fd = openSync3(rawPath, constants2.O_RDONLY | NO_FOLLOW_FLAG);
105139
105180
  let handedOff = false;
105140
105181
  try {
105141
105182
  const frameCount = Math.floor(fstatSync2(fd).size / frameSize);
@@ -105157,7 +105198,7 @@ async function extractHdrVideoFrames(args) {
105157
105198
  });
105158
105199
  handedOff = true;
105159
105200
  } finally {
105160
- if (!handedOff) closeSync3(fd);
105201
+ if (!handedOff) closeSync4(fd);
105161
105202
  }
105162
105203
  }
105163
105204
  return out;
@@ -106424,12 +106465,12 @@ var init_assembleStage = __esm({
106424
106465
  import {
106425
106466
  existsSync as existsSync44,
106426
106467
  mkdirSync as mkdirSync24,
106427
- mkdtempSync as mkdtempSync3,
106468
+ mkdtempSync as mkdtempSync4,
106428
106469
  readFileSync as readFileSync26,
106429
106470
  readdirSync as readdirSync15,
106430
106471
  rmSync as rmSync12,
106431
106472
  statSync as statSync13,
106432
- writeFileSync as writeFileSync13,
106473
+ writeFileSync as writeFileSync14,
106433
106474
  copyFileSync as copyFileSync6,
106434
106475
  appendFileSync
106435
106476
  } from "fs";
@@ -106807,7 +106848,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
106807
106848
  const debugDir = join50(producerRoot, ".debug");
106808
106849
  const outputDir = dirname19(outputPath);
106809
106850
  if (!existsSync44(outputDir)) mkdirSync24(outputDir, { recursive: true });
106810
- const workDir = job.config.debug ? join50(debugDir, job.id) : mkdtempSync3(join50(outputDir, `work-${job.id}-`));
106851
+ const workDir = job.config.debug ? join50(debugDir, job.id) : mkdtempSync4(join50(outputDir, `work-${job.id}-`));
106811
106852
  const pipelineStart = Date.now();
106812
106853
  const log2 = job.config.logger ?? defaultLogger;
106813
106854
  let fileServer = null;
@@ -106922,7 +106963,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
106922
106963
  `Entry file "${entryFile}" is not mounted from index.html via data-composition-src, so it cannot be rendered independently.`
106923
106964
  );
106924
106965
  }
106925
- writeFileSync13(wrapperPath, standaloneHtml, "utf-8");
106966
+ writeFileSync14(wrapperPath, standaloneHtml, "utf-8");
106926
106967
  htmlPath = wrapperPath;
106927
106968
  log2.info("Extracted standalone entry from index.html host context", {
106928
106969
  entryFile
@@ -107552,7 +107593,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
107552
107593
  job.perfSummary = perfSummary;
107553
107594
  if (job.config.debug) {
107554
107595
  try {
107555
- writeFileSync13(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
107596
+ writeFileSync14(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
107556
107597
  } catch (err) {
107557
107598
  log2.debug("Failed to write perf summary", {
107558
107599
  perfOutputPath,
@@ -107956,8 +107997,8 @@ import {
107956
107997
  existsSync as existsSync47,
107957
107998
  mkdirSync as mkdirSync25,
107958
107999
  statSync as statSync15,
107959
- mkdtempSync as mkdtempSync4,
107960
- writeFileSync as writeFileSync14,
108000
+ mkdtempSync as mkdtempSync5,
108001
+ writeFileSync as writeFileSync15,
107961
108002
  rmSync as rmSync13,
107962
108003
  createReadStream as createReadStream2
107963
108004
  } from "fs";
@@ -108081,8 +108122,8 @@ async function prepareRenderBody(body) {
108081
108122
  }
108082
108123
  }
108083
108124
  const tempRoot = process.env.PRODUCER_TMP_PROJECT_DIR || tmpdir5();
108084
- const tempProjectDir = mkdtempSync4(join54(tempRoot, "producer-project-"));
108085
- writeFileSync14(join54(tempProjectDir, "index.html"), htmlContent, "utf-8");
108125
+ const tempProjectDir = mkdtempSync5(join54(tempRoot, "producer-project-"));
108126
+ writeFileSync15(join54(tempProjectDir, "index.html"), htmlContent, "utf-8");
108086
108127
  return {
108087
108128
  prepared: {
108088
108129
  input: {
@@ -108562,7 +108603,7 @@ var init_planHash = __esm({
108562
108603
  });
108563
108604
 
108564
108605
  // ../producer/src/services/render/stages/freezePlan.ts
108565
- import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as writeFileSync15 } from "fs";
108606
+ import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as writeFileSync16 } from "fs";
108566
108607
  import { join as join55, relative as relative9, resolve as resolve29 } from "path";
108567
108608
  function stripUndefined(value) {
108568
108609
  if (Array.isArray(value)) return value.map(stripUndefined);
@@ -108659,7 +108700,7 @@ async function freezePlan(input2) {
108659
108700
  }
108660
108701
  const metaDir = join55(planDir, "meta");
108661
108702
  if (!existsSync48(metaDir)) mkdirSync26(metaDir, { recursive: true });
108662
- writeFileSync15(
108703
+ writeFileSync16(
108663
108704
  join55(metaDir, "composition.json"),
108664
108705
  `${JSON.stringify(composition, null, 2)}
108665
108706
  `,
@@ -108667,8 +108708,8 @@ async function freezePlan(input2) {
108667
108708
  );
108668
108709
  const encoderForCanonical = stripUndefined(encoder);
108669
108710
  const encoderConfigCanonicalJson = canonicalJsonStringify(encoderForCanonical);
108670
- writeFileSync15(join55(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
108671
- writeFileSync15(join55(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
108711
+ writeFileSync16(join55(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
108712
+ writeFileSync16(join55(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
108672
108713
  `, "utf-8");
108673
108714
  const { compositionHtml, assets } = collectPlanAssetShas(planDir);
108674
108715
  const planHash = computePlanHash({
@@ -108692,7 +108733,7 @@ async function freezePlan(input2) {
108692
108733
  hasAudio
108693
108734
  };
108694
108735
  const planJsonPath = join55(planDir, "plan.json");
108695
- writeFileSync15(planJsonPath, `${JSON.stringify(planJson, null, 2)}
108736
+ writeFileSync16(planJsonPath, `${JSON.stringify(planJson, null, 2)}
108696
108737
  `, "utf-8");
108697
108738
  return { planJsonPath, planHash };
108698
108739
  }
@@ -108893,7 +108934,7 @@ import {
108893
108934
  renameSync as renameSync6,
108894
108935
  rmSync as rmSync14,
108895
108936
  statSync as statSync16,
108896
- writeFileSync as writeFileSync16
108937
+ writeFileSync as writeFileSync17
108897
108938
  } from "fs";
108898
108939
  import { join as join57, relative as relative10, sep as sep6 } from "path";
108899
108940
  function formatBytes2(bytes) {
@@ -109213,7 +109254,7 @@ async function plan(projectDir, config, planDir) {
109213
109254
  }))
109214
109255
  };
109215
109256
  mkdirSync27(join57(planDir, "meta"), { recursive: true });
109216
- writeFileSync16(
109257
+ writeFileSync17(
109217
109258
  join57(planDir, PLAN_VIDEOS_META_RELATIVE_PATH),
109218
109259
  JSON.stringify(planVideosJson, null, 2),
109219
109260
  "utf-8"
@@ -109362,7 +109403,7 @@ var init_plan = __esm({
109362
109403
 
109363
109404
  // ../producer/src/services/distributed/renderChunk.ts
109364
109405
  import { randomBytes as randomBytes2 } from "crypto";
109365
- import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as writeFileSync17 } from "fs";
109406
+ import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as writeFileSync18 } from "fs";
109366
109407
  import { extname as extname10, join as join58 } from "path";
109367
109408
  function rebuildExtractedFramesFromPlanDir(planDir, videos) {
109368
109409
  const result = [];
@@ -109686,7 +109727,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
109686
109727
  producerVersion: plan2.producerVersion,
109687
109728
  ffmpegVersion
109688
109729
  };
109689
- writeFileSync17(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
109730
+ writeFileSync18(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
109690
109731
  `, "utf-8");
109691
109732
  try {
109692
109733
  rmSync15(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
@@ -110056,7 +110097,7 @@ import {
110056
110097
  readdirSync as readdirSync19,
110057
110098
  rmSync as rmSync17,
110058
110099
  statSync as statSync17,
110059
- writeFileSync as writeFileSync18
110100
+ writeFileSync as writeFileSync19
110060
110101
  } from "fs";
110061
110102
  import { dirname as dirname23, join as join59 } from "path";
110062
110103
  async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
@@ -110110,7 +110151,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
110110
110151
  } else {
110111
110152
  const concatListPath = join59(workDir, "concat-list.txt");
110112
110153
  const concatBody = chunkPaths.map((path2) => `file '${path2.replace(/'/g, "'\\''")}'`).join("\n");
110113
- writeFileSync18(concatListPath, `${concatBody}
110154
+ writeFileSync19(concatListPath, `${concatBody}
110114
110155
  `, "utf-8");
110115
110156
  const concatArgs = [
110116
110157
  "-r",
@@ -110391,7 +110432,7 @@ __export(studioServer_exports, {
110391
110432
  });
110392
110433
  import { Hono as Hono5 } from "hono";
110393
110434
  import { streamSSE as streamSSE3 } from "hono/streaming";
110394
- import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as writeFileSync19, statSync as statSync18 } from "fs";
110435
+ import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as writeFileSync20, statSync as statSync18 } from "fs";
110395
110436
  import { resolve as resolve30, join as join61, basename as basename8 } from "path";
110396
110437
  function resolveDistDir() {
110397
110438
  return resolveStudioBundle().dir;
@@ -110543,9 +110584,9 @@ async function loadPreviewServerBuildSignature() {
110543
110584
  ]);
110544
110585
  }
110545
110586
  function rewriteWrittenToHostViewport(projectDir, written) {
110546
- const indexPath = join61(projectDir, "index.html");
110547
- if (!existsSync54(indexPath)) return;
110548
- const indexHtml = readFileSync34(indexPath, "utf-8");
110587
+ const indexPath2 = join61(projectDir, "index.html");
110588
+ if (!existsSync54(indexPath2)) return;
110589
+ const indexHtml = readFileSync34(indexPath2, "utf-8");
110549
110590
  const hostW = indexHtml.match(/data-width="(\d+)"/)?.[1];
110550
110591
  const hostH = indexHtml.match(/data-height="(\d+)"/)?.[1];
110551
110592
  if (!hostW || !hostH) return;
@@ -110565,7 +110606,7 @@ function rewriteWrittenToHostViewport(projectDir, written) {
110565
110606
  return match;
110566
110607
  }
110567
110608
  );
110568
- writeFileSync19(absPath, content, "utf-8");
110609
+ writeFileSync20(absPath, content, "utf-8");
110569
110610
  }
110570
110611
  }
110571
110612
  function createStudioServer(options) {
@@ -110664,7 +110705,7 @@ function createStudioServer(options) {
110664
110705
  state.status = "complete";
110665
110706
  state.progress = 100;
110666
110707
  const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
110667
- writeFileSync19(
110708
+ writeFileSync20(
110668
110709
  metaPath,
110669
110710
  JSON.stringify({ status: "complete", durationMs: Date.now() - startTime })
110670
110711
  );
@@ -110675,7 +110716,7 @@ function createStudioServer(options) {
110675
110716
  emitStudioRenderError(opts, Date.now() - startTime, state.stage, err, renderJob);
110676
110717
  try {
110677
110718
  const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
110678
- writeFileSync19(metaPath, JSON.stringify({ status: "failed" }));
110719
+ writeFileSync20(metaPath, JSON.stringify({ status: "failed" }));
110679
110720
  } catch {
110680
110721
  }
110681
110722
  }
@@ -110867,8 +110908,8 @@ function createStudioServer(options) {
110867
110908
  return `<script>window.__HF_STUDIO_ENV__=${JSON.stringify(overrides)};</script>`;
110868
110909
  }
110869
110910
  app.get("*", (c3) => {
110870
- const indexPath = resolve30(studioDir, "index.html");
110871
- if (!existsSync54(indexPath)) {
110911
+ const indexPath2 = resolve30(studioDir, "index.html");
110912
+ if (!existsSync54(indexPath2)) {
110872
110913
  return c3.html(
110873
110914
  `<!doctype html>
110874
110915
  <html>
@@ -110924,7 +110965,7 @@ function createStudioServer(options) {
110924
110965
  500
110925
110966
  );
110926
110967
  }
110927
- let html = readFileSync34(indexPath, "utf-8");
110968
+ let html = readFileSync34(indexPath2, "utf-8");
110928
110969
  const headScript = buildStudioHeadScripts(buildRuntimeEnvScript());
110929
110970
  if (headScript) {
110930
110971
  html = html.replace("<head>", `<head>${headScript}`);
@@ -111716,7 +111757,7 @@ import {
111716
111757
  mkdirSync as mkdirSync31,
111717
111758
  copyFileSync as copyFileSync7,
111718
111759
  cpSync as cpSync5,
111719
- writeFileSync as writeFileSync20,
111760
+ writeFileSync as writeFileSync21,
111720
111761
  readFileSync as readFileSync35,
111721
111762
  readdirSync as readdirSync21
111722
111763
  } from "fs";
@@ -111833,7 +111874,7 @@ function buildPackageScripts() {
111833
111874
  function writeDefaultPackageJson(destDir, projectName) {
111834
111875
  const packageJsonPath = resolve33(destDir, "package.json");
111835
111876
  if (existsSync56(packageJsonPath)) return;
111836
- writeFileSync20(
111877
+ writeFileSync21(
111837
111878
  packageJsonPath,
111838
111879
  `${JSON.stringify(
111839
111880
  {
@@ -111895,7 +111936,7 @@ ${html}`;
111895
111936
  function writeTailwindSupport(destDir) {
111896
111937
  for (const file of listHtmlFiles(destDir)) {
111897
111938
  const html = readFileSync35(file, "utf-8");
111898
- writeFileSync20(file, injectTailwindBrowserScript(html), "utf-8");
111939
+ writeFileSync21(file, injectTailwindBrowserScript(html), "utf-8");
111899
111940
  }
111900
111941
  }
111901
111942
  function patchVideoSrc(dir, videoFilename, durationSeconds) {
@@ -111912,7 +111953,7 @@ function patchVideoSrc(dir, videoFilename, durationSeconds) {
111912
111953
  }
111913
111954
  const dur = durationSeconds ? String(Math.round(durationSeconds * 100) / 100) : "10";
111914
111955
  content = content.replaceAll("__VIDEO_DURATION__", dur);
111915
- writeFileSync20(file, content, "utf-8");
111956
+ writeFileSync21(file, content, "utf-8");
111916
111957
  }
111917
111958
  }
111918
111959
  async function patchTranscript(dir, transcriptPath) {
@@ -112048,7 +112089,7 @@ function applyResolutionPreset(destDir, resolution) {
112048
112089
  html = html.replace(viewportRe, `$1width=${width}, height=${height}`);
112049
112090
  changed = true;
112050
112091
  }
112051
- if (changed) writeFileSync20(file, html, "utf-8");
112092
+ if (changed) writeFileSync21(file, html, "utf-8");
112052
112093
  }
112053
112094
  }
112054
112095
  async function scaffoldProject(destDir, name, templateId, localVideoName, durationSeconds, tailwind = false, resolution) {
@@ -112062,7 +112103,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
112062
112103
  patchVideoSrc(destDir, localVideoName, durationSeconds);
112063
112104
  if (tailwind) writeTailwindSupport(destDir);
112064
112105
  if (resolution) applyResolutionPreset(destDir, resolution);
112065
- writeFileSync20(
112106
+ writeFileSync21(
112066
112107
  resolve33(destDir, "meta.json"),
112067
112108
  JSON.stringify(
112068
112109
  {
@@ -113990,8 +114031,8 @@ var init_publish = __esm({
113990
114031
  async run({ args }) {
113991
114032
  const rawArg = args.dir;
113992
114033
  const dir = resolve40(rawArg ?? ".");
113993
- const indexPath = join66(dir, "index.html");
113994
- if (existsSync63(indexPath)) {
114034
+ const indexPath2 = join66(dir, "index.html");
114035
+ if (existsSync63(indexPath2)) {
113995
114036
  const lintResult = await lintProject(dir);
113996
114037
  if (lintResult.totalErrors > 0 || lintResult.totalWarnings > 0) {
113997
114038
  console.log();
@@ -114143,14 +114184,14 @@ function resolveVariablesArg(inline, filePath) {
114143
114184
  }
114144
114185
  return result.value;
114145
114186
  }
114146
- function validateVariablesAgainstProject(indexPath, values) {
114147
- const schema = loadProjectVariableSchema(indexPath);
114187
+ function validateVariablesAgainstProject(indexPath2, values) {
114188
+ const schema = loadProjectVariableSchema(indexPath2);
114148
114189
  return validateVariablesAgainstSchema(values, schema);
114149
114190
  }
114150
- function loadProjectVariableSchema(indexPath) {
114191
+ function loadProjectVariableSchema(indexPath2) {
114151
114192
  let html;
114152
114193
  try {
114153
- html = readFileSync39(indexPath, "utf8");
114194
+ html = readFileSync39(indexPath2, "utf8");
114154
114195
  } catch {
114155
114196
  return [];
114156
114197
  }
@@ -114751,7 +114792,7 @@ __export(batchRender_exports, {
114751
114792
  resolveOutputTemplate: () => resolveOutputTemplate,
114752
114793
  runBatchRender: () => runBatchRender
114753
114794
  });
114754
- import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as writeFileSync21 } from "fs";
114795
+ import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as writeFileSync23 } from "fs";
114755
114796
  import { dirname as dirname28, join as join67, resolve as resolve43, sep as sep8 } from "path";
114756
114797
  function isRecord4(value) {
114757
114798
  return value !== null && typeof value === "object" && !Array.isArray(value);
@@ -114845,8 +114886,8 @@ function checkOutputCollisions(rows, manifestPath2) {
114845
114886
  seen.set(row.outputPath, row.index);
114846
114887
  }
114847
114888
  }
114848
- function validateBatchVariables(rows, indexPath, strictVariables, quiet, json) {
114849
- const schema = loadProjectVariableSchema(indexPath);
114889
+ function validateBatchVariables(rows, indexPath2, strictVariables, quiet, json) {
114890
+ const schema = loadProjectVariableSchema(indexPath2);
114850
114891
  let issueCount = 0;
114851
114892
  const strictRows = [];
114852
114893
  for (let index = 0; index < rows.length; index++) {
@@ -114937,7 +114978,7 @@ function summarizeManifest(manifest) {
114937
114978
  function writeManifest(manifest) {
114938
114979
  summarizeManifest(manifest);
114939
114980
  mkdirSync33(dirname28(manifest.manifestPath), { recursive: true });
114940
- writeFileSync21(manifest.manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8");
114981
+ writeFileSync23(manifest.manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8");
114941
114982
  }
114942
114983
  function emitJsonEvent(event, json) {
114943
114984
  if (json) console.log(JSON.stringify(event));
@@ -115099,7 +115140,7 @@ __export(render_exports, {
115099
115140
  renderLocal: () => renderLocal,
115100
115141
  resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
115101
115142
  });
115102
- import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as writeFileSync23, rmSync as rmSync18 } from "fs";
115143
+ import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as writeFileSync24, rmSync as rmSync18 } from "fs";
115103
115144
  import { cpus as cpus4, freemem as freemem5, tmpdir as tmpdir6 } from "os";
115104
115145
  import { resolve as resolve44, dirname as dirname29, join as join68, basename as basename12 } from "path";
115105
115146
  import { execFileSync as execFileSync9, spawn as spawn14 } from "child_process";
@@ -115195,7 +115236,7 @@ function ensureDockerImage(version2, platform10, quiet) {
115195
115236
  const dockerfilePath = resolveDockerfilePath();
115196
115237
  const tmpDir = join68(tmpdir6(), `hyperframes-docker-${Date.now()}`);
115197
115238
  mkdirSync34(tmpDir, { recursive: true });
115198
- writeFileSync23(join68(tmpDir, "Dockerfile"), readFileSync41(dockerfilePath));
115239
+ writeFileSync24(join68(tmpDir, "Dockerfile"), readFileSync41(dockerfilePath));
115199
115240
  const targetArch = platform10 === "linux/arm64" ? "arm64" : "amd64";
115200
115241
  try {
115201
115242
  execFileSync9(
@@ -116630,7 +116671,7 @@ __export(beats_exports, {
116630
116671
  default: () => beats_default,
116631
116672
  examples: () => examples11
116632
116673
  });
116633
- import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as writeFileSync24 } from "fs";
116674
+ import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as writeFileSync25 } from "fs";
116634
116675
  import { resolve as resolve45, join as join70, dirname as dirname31 } from "path";
116635
116676
  function fail(message) {
116636
116677
  console.error(c.error(message));
@@ -116703,7 +116744,7 @@ var init_beats2 = __esm({
116703
116744
  }
116704
116745
  const outPath = join70(project.dir, "beats", `${rel}.json`);
116705
116746
  mkdirSync35(dirname31(outPath), { recursive: true });
116706
- writeFileSync24(outPath, serializeBeats(result.beatTimes, result.beatStrengths, rel));
116747
+ writeFileSync25(outPath, serializeBeats(result.beatTimes, result.beatStrengths, rel));
116707
116748
  report(`beats/${rel}.json`, result, Boolean(args.json));
116708
116749
  }
116709
116750
  });
@@ -119476,7 +119517,7 @@ var motionShot_exports = {};
119476
119517
  __export(motionShot_exports, {
119477
119518
  captureMotionPathShot: () => captureMotionPathShot
119478
119519
  });
119479
- import { writeFileSync as writeFileSync25 } from "fs";
119520
+ import { writeFileSync as writeFileSync26 } from "fs";
119480
119521
  function applyOrbitCamera(selectors, cam) {
119481
119522
  const first = document.querySelector(selectors[0] ?? "");
119482
119523
  const root = first?.closest("[data-composition-id]") ?? document.querySelector("#stage") ?? document.body.firstElementChild ?? document.body;
@@ -119781,7 +119822,7 @@ async function captureGhostOnionSkin(page, requests, times, size, camera, outPat
119781
119822
  );
119782
119823
  const b64 = String(dataUrl).replace(/^data:image\/png;base64,/, "");
119783
119824
  if (!b64) throw new Error("ghost composite returned no data");
119784
- writeFileSync25(outPath, Buffer.from(b64, "base64"));
119825
+ writeFileSync26(outPath, Buffer.from(b64, "base64"));
119785
119826
  return outPath;
119786
119827
  }
119787
119828
  async function captureMarkerOnionSkin(page, requests, times, size, camera, frame, outPath) {
@@ -119851,7 +119892,7 @@ async function captureMarkerOnionSkin(page, requests, times, size, camera, frame
119851
119892
  await new Promise((r2) => setTimeout(r2, 60));
119852
119893
  const buf = await page.screenshot({ type: "png" });
119853
119894
  if (!buf) throw new Error("screenshot returned no data");
119854
- writeFileSync25(outPath, buf);
119895
+ writeFileSync26(outPath, buf);
119855
119896
  return outPath;
119856
119897
  }
119857
119898
  async function captureMotionPathShot(projectDir, requestsIn, outPath, opts = {}) {
@@ -120269,11 +120310,11 @@ function groupTraces(tweens) {
120269
120310
  }
120270
120311
  return traces;
120271
120312
  }
120272
- function collectCompositions(indexPath) {
120273
- const html = readFileSync47(indexPath, "utf-8");
120274
- const baseDir = dirname33(indexPath);
120313
+ function collectCompositions(indexPath2) {
120314
+ const html = readFileSync47(indexPath2, "utf-8");
120315
+ const baseDir = dirname33(indexPath2);
120275
120316
  const out = [
120276
- surfaceComposition(html, basename14(indexPath), basename14(indexPath))
120317
+ surfaceComposition(html, basename14(indexPath2), basename14(indexPath2))
120277
120318
  ];
120278
120319
  const doc = new DOMParser().parseFromString(html, "text/html");
120279
120320
  for (const div of Array.from(doc.querySelectorAll("[data-composition-src]"))) {
@@ -121073,17 +121114,17 @@ __export(browser_exports, {
121073
121114
  default: () => browser_default,
121074
121115
  examples: () => examples18
121075
121116
  });
121076
- async function runEnsure() {
121117
+ async function runEnsure(options) {
121077
121118
  ge(c.bold("hyperframes browser ensure"));
121078
121119
  if (isLinuxArm()) {
121079
121120
  const s3 = ft();
121080
121121
  s3.start("Linux ARM64 detected \u2014 looking for system Chromium...");
121081
- const existing2 = await findBrowser();
121082
- if (existing2) {
121122
+ const existing = await findBrowser();
121123
+ if (existing) {
121083
121124
  s3.stop(c.success("System Chromium found"));
121084
121125
  console.log();
121085
- console.log(` ${c.dim("Source:")} ${c.bold(existing2.source)}`);
121086
- console.log(` ${c.dim("Path:")} ${c.bold(existing2.executablePath)}`);
121126
+ console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
121127
+ console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
121087
121128
  console.log();
121088
121129
  ye(c.success("Ready to render."));
121089
121130
  return;
@@ -121106,22 +121147,27 @@ async function runEnsure() {
121106
121147
  return;
121107
121148
  }
121108
121149
  const s2 = ft();
121109
- s2.start("Looking for an existing browser...");
121110
- const existing = await findBrowser();
121111
- if (existing) {
121112
- s2.stop(c.success("Browser found"));
121113
- console.log();
121114
- console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
121115
- console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
121116
- console.log();
121117
- ye(c.success("Ready to render."));
121118
- return;
121150
+ if (!options?.force) {
121151
+ s2.start("Looking for an existing browser...");
121152
+ const existing = await findBrowser();
121153
+ if (existing) {
121154
+ s2.stop(c.success("Browser found"));
121155
+ console.log();
121156
+ console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
121157
+ console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
121158
+ console.log();
121159
+ ye(c.success("Ready to render."));
121160
+ return;
121161
+ }
121162
+ s2.stop("No browser found \u2014 downloading");
121163
+ } else {
121164
+ s2.start("Purging cached download and re-downloading...");
121119
121165
  }
121120
- s2.stop("No browser found \u2014 downloading");
121121
121166
  const downloadSpinner = ft();
121122
121167
  downloadSpinner.start(`Downloading Chrome Headless Shell ${c.dim("v" + CHROME_VERSION)}...`);
121123
121168
  let lastPct = -1;
121124
121169
  const result = await ensureBrowser({
121170
+ force: options?.force,
121125
121171
  onProgress: (downloaded, total) => {
121126
121172
  if (total <= 0) return;
121127
121173
  const pct = Math.floor(downloaded / total * 100);
@@ -121177,6 +121223,7 @@ var init_browser = __esm({
121177
121223
  init_events();
121178
121224
  examples18 = [
121179
121225
  ["Find or download Chrome for rendering", "hyperframes browser ensure"],
121226
+ ["Purge a stale/partial download and re-download", "hyperframes browser ensure --force"],
121180
121227
  ["Print the Chrome executable path", "hyperframes browser path"],
121181
121228
  ["Remove cached Chrome download", "hyperframes browser clear"]
121182
121229
  ];
@@ -121187,6 +121234,11 @@ var init_browser = __esm({
121187
121234
  type: "positional",
121188
121235
  description: "ensure = find or download Chrome, path = print executable path, clear = remove cached download",
121189
121236
  required: false
121237
+ },
121238
+ force: {
121239
+ type: "boolean",
121240
+ description: "ensure only: purge any cached download (including a stale/partial one) and re-download from scratch",
121241
+ default: false
121190
121242
  }
121191
121243
  },
121192
121244
  async run({ args }) {
@@ -121203,15 +121255,16 @@ ${c.bold("SUBCOMMANDS:")}
121203
121255
  ${c.accent("clear")} ${c.dim("Remove cached Chrome download")}
121204
121256
 
121205
121257
  ${c.bold("EXAMPLES:")}
121206
- ${c.accent("npx hyperframes browser ensure")} ${c.dim("Download Chrome if needed")}
121207
- ${c.accent("npx hyperframes browser path")} ${c.dim("Print path for scripts")}
121208
- ${c.accent("npx hyperframes browser clear")} ${c.dim("Remove cached browser")}
121258
+ ${c.accent("npx hyperframes browser ensure")} ${c.dim("Download Chrome if needed")}
121259
+ ${c.accent("npx hyperframes browser ensure --force")} ${c.dim("Purge a stale/partial download and re-download")}
121260
+ ${c.accent("npx hyperframes browser path")} ${c.dim("Print path for scripts")}
121261
+ ${c.accent("npx hyperframes browser clear")} ${c.dim("Remove cached browser")}
121209
121262
  `);
121210
121263
  return;
121211
121264
  }
121212
121265
  switch (subcommand) {
121213
121266
  case "ensure":
121214
- return runEnsure();
121267
+ return runEnsure({ force: args.force });
121215
121268
  case "path":
121216
121269
  return runPath();
121217
121270
  case "clear":
@@ -122013,7 +122066,7 @@ __export(transcribe_exports2, {
122013
122066
  default: () => transcribe_default,
122014
122067
  examples: () => examples20
122015
122068
  });
122016
- import { existsSync as existsSync76, writeFileSync as writeFileSync26 } from "fs";
122069
+ import { existsSync as existsSync76, writeFileSync as writeFileSync27 } from "fs";
122017
122070
  import { resolve as resolve51, join as join77, extname as extname12, dirname as dirname35 } from "path";
122018
122071
  function failWith(message, json) {
122019
122072
  trackCommandFailure("transcribe", message);
@@ -122038,7 +122091,7 @@ async function importTranscript(inputPath, dir, json) {
122038
122091
  const { words, format } = loadTranscript2(inputPath);
122039
122092
  if (words.length === 0) exitNoWords(json);
122040
122093
  const outPath = join77(dir, "transcript.json");
122041
- writeFileSync26(outPath, JSON.stringify(words, null, 2));
122094
+ writeFileSync27(outPath, JSON.stringify(words, null, 2));
122042
122095
  patchCaptionHtml2(dir, words);
122043
122096
  if (json) {
122044
122097
  console.log(
@@ -122057,7 +122110,7 @@ async function exportTranscript(inputPath, dir, to, output, json, preserveCues)
122057
122110
  const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
122058
122111
  const outPath = resolve51(output ?? join77(dir, `transcript.${to}`));
122059
122112
  const content = to === "srt" ? formatSrt2(words, { preGrouped }) : formatVtt2(words, { preGrouped });
122060
- writeFileSync26(outPath, content);
122113
+ writeFileSync27(outPath, content);
122061
122114
  if (json) {
122062
122115
  console.log(
122063
122116
  JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
@@ -122091,7 +122144,7 @@ async function transcribeAudio(inputPath, dir, opts) {
122091
122144
  );
122092
122145
  }
122093
122146
  }
122094
- writeFileSync26(result.transcriptPath, JSON.stringify(words, null, 2));
122147
+ writeFileSync27(result.transcriptPath, JSON.stringify(words, null, 2));
122095
122148
  patchCaptionHtml2(dir, words);
122096
122149
  if (opts.json) {
122097
122150
  console.log(
@@ -122404,13 +122457,13 @@ __export(synthesize_exports, {
122404
122457
  synthesize: () => synthesize
122405
122458
  });
122406
122459
  import { execFileSync as execFileSync11 } from "child_process";
122407
- import { existsSync as existsSync78, writeFileSync as writeFileSync27, mkdirSync as mkdirSync38, readdirSync as readdirSync27, unlinkSync as unlinkSync5 } from "fs";
122460
+ import { existsSync as existsSync78, writeFileSync as writeFileSync28, mkdirSync as mkdirSync38, readdirSync as readdirSync27, unlinkSync as unlinkSync5 } from "fs";
122408
122461
  import { join as join79, dirname as dirname36, basename as basename15 } from "path";
122409
122462
  import { homedir as homedir13 } from "os";
122410
122463
  function ensureSynthScript() {
122411
122464
  if (!existsSync78(SCRIPT_PATH)) {
122412
122465
  mkdirSync38(SCRIPT_DIR, { recursive: true });
122413
- writeFileSync27(SCRIPT_PATH, SYNTH_SCRIPT);
122466
+ writeFileSync28(SCRIPT_PATH, SYNTH_SCRIPT);
122414
122467
  const currentName = basename15(SCRIPT_PATH);
122415
122468
  try {
122416
122469
  for (const entry of readdirSync27(SCRIPT_DIR)) {
@@ -123670,12 +123723,25 @@ var validate_exports = {};
123670
123723
  __export(validate_exports, {
123671
123724
  default: () => validate_default,
123672
123725
  extractCompositionErrorsFromLint: () => extractCompositionErrorsFromLint,
123726
+ navigationTimeoutHint: () => navigationTimeoutHint,
123673
123727
  raceMediaReady: () => raceMediaReady,
123674
- shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
123728
+ resolveNavigationTimeoutMs: () => resolveNavigationTimeoutMs,
123729
+ shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure,
123730
+ waitForPreferredSeekTarget: () => waitForPreferredSeekTarget
123675
123731
  });
123676
123732
  import { existsSync as existsSync81, readFileSync as readFileSync53 } from "fs";
123677
123733
  import { join as join81, dirname as dirname38 } from "path";
123678
123734
  import { fileURLToPath as fileURLToPath14 } from "url";
123735
+ function resolveNavigationTimeoutMs(optTimeout) {
123736
+ return Math.max(NAV_TIMEOUT_FLOOR_MS, optTimeout ?? 0);
123737
+ }
123738
+ function navigationTimeoutHint(err, navTimeoutMs) {
123739
+ const msg = err instanceof Error ? err.message : String(err);
123740
+ if (!/navigation timeout/i.test(msg)) return null;
123741
+ return new Error(
123742
+ `Page navigation timed out after ${navTimeoutMs}ms. A blocking external <script> (e.g. GSAP loaded from a CDN) can delay page load past this budget even when the full render succeeds. Vendor the script locally (recommended for deterministic renders), or re-run with a longer --timeout.`
123743
+ );
123744
+ }
123679
123745
  function shouldIgnoreRequestFailure(url, errorText, resourceType) {
123680
123746
  if (errorText !== "net::ERR_ABORTED") return false;
123681
123747
  if (resourceType === "media") return true;
@@ -123693,7 +123759,13 @@ async function getCompositionDuration3(page) {
123693
123759
  });
123694
123760
  }
123695
123761
  async function seekTo2(page, time) {
123762
+ await waitForPreferredSeekTarget(page);
123696
123763
  await page.evaluate((t2) => {
123764
+ const player = window.__player;
123765
+ if (player && typeof player.renderSeek === "function") {
123766
+ player.renderSeek(t2);
123767
+ return;
123768
+ }
123697
123769
  if (window.__hf && typeof window.__hf.seek === "function") {
123698
123770
  window.__hf.seek(t2);
123699
123771
  return;
@@ -123707,6 +123779,18 @@ async function seekTo2(page, time) {
123707
123779
  }, time);
123708
123780
  await new Promise((r2) => setTimeout(r2, SEEK_SETTLE_MS2));
123709
123781
  }
123782
+ async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGET_WAIT_MS) {
123783
+ try {
123784
+ await page.waitForFunction(
123785
+ () => {
123786
+ const w3 = window;
123787
+ return typeof w3.__player?.renderSeek === "function" || typeof w3.__hf?.seek === "function";
123788
+ },
123789
+ { timeout: timeoutMs }
123790
+ );
123791
+ } catch {
123792
+ }
123793
+ }
123710
123794
  function raceMediaReady(el, deadlineMs) {
123711
123795
  if (Number.isFinite(el.duration) && el.duration > 0) return Promise.resolve();
123712
123796
  return new Promise((resolve62) => {
@@ -123877,7 +123961,14 @@ async function validateInBrowser(project, opts) {
123877
123961
  errors.push({ level: "error", text: `${res.status()} loading ${path2}`, url });
123878
123962
  }
123879
123963
  });
123880
- await page.goto(server.url, { waitUntil: "domcontentloaded", timeout: 1e4 });
123964
+ const navTimeoutMs = resolveNavigationTimeoutMs(opts.timeout);
123965
+ try {
123966
+ await page.goto(server.url, { waitUntil: "domcontentloaded", timeout: navTimeoutMs });
123967
+ } catch (err) {
123968
+ const hinted = navigationTimeoutHint(err, navTimeoutMs);
123969
+ if (hinted) throw hinted;
123970
+ throw err;
123971
+ }
123881
123972
  await new Promise((r2) => setTimeout(r2, opts.timeout ?? 3e3));
123882
123973
  for (const w3 of await auditClipDurations(page, analyzeClipMediaFit2, opts.timeout ?? 3e3)) {
123883
123974
  warnings.push(w3);
@@ -123958,7 +124049,7 @@ function printValidationResult(result, asJson) {
123958
124049
  }
123959
124050
  return errors.length > 0 ? 1 : 0;
123960
124051
  }
123961
- var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, MEDIA_EXTENSIONS, validate_default;
124052
+ var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, PREFERRED_SEEK_TARGET_WAIT_MS, MEDIA_EXTENSIONS, NAV_TIMEOUT_FLOOR_MS, validate_default;
123962
124053
  var init_validate = __esm({
123963
124054
  "src/commands/validate.ts"() {
123964
124055
  "use strict";
@@ -123972,7 +124063,9 @@ var init_validate = __esm({
123972
124063
  __dirname3 = dirname38(__filename2);
123973
124064
  CONTRAST_SAMPLES = 5;
123974
124065
  SEEK_SETTLE_MS2 = 150;
124066
+ PREFERRED_SEEK_TARGET_WAIT_MS = 500;
123975
124067
  MEDIA_EXTENSIONS = /\.(aac|flac|m4a|mov|mp3|mp4|oga|ogg|wav|webm)$/i;
124068
+ NAV_TIMEOUT_FLOOR_MS = 1e4;
123976
124069
  validate_default = defineCommand({
123977
124070
  meta: {
123978
124071
  name: "validate",
@@ -123994,7 +124087,7 @@ Examples:
123994
124087
  },
123995
124088
  timeout: {
123996
124089
  type: "string",
123997
- description: "Ms to wait for scripts to settle (default: 3000)",
124090
+ description: "Ms to wait for scripts to settle and media to load (default: 3000). Also raises the page-navigation budget above its 10s floor when a slow external <script> needs longer.",
123998
124091
  default: "3000"
123999
124092
  }
124000
124093
  },
@@ -124030,7 +124123,7 @@ __export(contactSheet_exports, {
124030
124123
  createSvgContactSheet: () => createSvgContactSheet
124031
124124
  });
124032
124125
  import sharp from "sharp";
124033
- import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as writeFileSync28, unlinkSync as unlinkSync6, existsSync as existsSync83 } from "fs";
124126
+ import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as writeFileSync29, unlinkSync as unlinkSync6, existsSync as existsSync83 } from "fs";
124034
124127
  import { join as join83, extname as extname14, basename as basename16, dirname as dirname39 } from "path";
124035
124128
  async function createContactSheet(imagePaths, outputPath, opts = {}) {
124036
124129
  const {
@@ -124186,7 +124279,7 @@ async function createSvgContactSheet(svgsDir, outputPath, assetsRootDir) {
124186
124279
  fit: "contain",
124187
124280
  background: { r: 245, g: 245, b: 245, alpha: 1 }
124188
124281
  }).flatten({ background: { r: 245, g: 245, b: 245 } }).png().toBuffer();
124189
- writeFileSync28(tmpPath, thumb);
124282
+ writeFileSync29(tmpPath, thumb);
124190
124283
  tmpPaths.push(tmpPath);
124191
124284
  labels.push(svgFileNames[i2].replace(".svg", ""));
124192
124285
  } catch {
@@ -132617,7 +132710,7 @@ var require_bignumber = __commonJS({
132617
132710
  suffix: ""
132618
132711
  }, ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz", alphabetHasNormalDecimalDigits = true;
132619
132712
  function BigNumber2(v2, b2) {
132620
- var alphabet, c3, caseChanged, e3, i2, isNum, len, str, x3 = this;
132713
+ var alphabet, c3, caseChanged, e3, i2, isNum, len2, str, x3 = this;
132621
132714
  if (!(x3 instanceof BigNumber2)) return new BigNumber2(v2, b2);
132622
132715
  if (b2 == null) {
132623
132716
  if (v2 && v2._isBigNumber === true) {
@@ -132675,11 +132768,11 @@ var require_bignumber = __commonJS({
132675
132768
  }
132676
132769
  alphabet = ALPHABET.slice(0, b2);
132677
132770
  e3 = i2 = 0;
132678
- for (len = str.length; i2 < len; i2++) {
132771
+ for (len2 = str.length; i2 < len2; i2++) {
132679
132772
  if (alphabet.indexOf(c3 = str.charAt(i2)) < 0) {
132680
132773
  if (c3 == ".") {
132681
132774
  if (i2 > e3) {
132682
- e3 = len;
132775
+ e3 = len2;
132683
132776
  continue;
132684
132777
  }
132685
132778
  } else if (!caseChanged) {
@@ -132699,10 +132792,10 @@ var require_bignumber = __commonJS({
132699
132792
  else e3 = str.length;
132700
132793
  }
132701
132794
  for (i2 = 0; str.charCodeAt(i2) === 48; i2++) ;
132702
- for (len = str.length; str.charCodeAt(--len) === 48; ) ;
132703
- if (str = str.slice(i2, ++len)) {
132704
- len -= i2;
132705
- if (isNum && BigNumber2.DEBUG && len > 15 && (v2 > MAX_SAFE_INTEGER || v2 !== mathfloor(v2))) {
132795
+ for (len2 = str.length; str.charCodeAt(--len2) === 48; ) ;
132796
+ if (str = str.slice(i2, ++len2)) {
132797
+ len2 -= i2;
132798
+ if (isNum && BigNumber2.DEBUG && len2 > 15 && (v2 > MAX_SAFE_INTEGER || v2 !== mathfloor(v2))) {
132706
132799
  throw Error(tooManyDigits + x3.s * v2);
132707
132800
  }
132708
132801
  if ((e3 = e3 - i2 - 1) > MAX_EXP) {
@@ -132714,14 +132807,14 @@ var require_bignumber = __commonJS({
132714
132807
  x3.c = [];
132715
132808
  i2 = (e3 + 1) % LOG_BASE;
132716
132809
  if (e3 < 0) i2 += LOG_BASE;
132717
- if (i2 < len) {
132810
+ if (i2 < len2) {
132718
132811
  if (i2) x3.c.push(+str.slice(0, i2));
132719
- for (len -= LOG_BASE; i2 < len; ) {
132812
+ for (len2 -= LOG_BASE; i2 < len2; ) {
132720
132813
  x3.c.push(+str.slice(i2, i2 += LOG_BASE));
132721
132814
  }
132722
132815
  i2 = LOG_BASE - (str = str.slice(i2)).length;
132723
132816
  } else {
132724
- i2 -= len;
132817
+ i2 -= len2;
132725
132818
  }
132726
132819
  for (; i2--; str += "0") ;
132727
132820
  x3.c.push(+str);
@@ -132948,8 +133041,8 @@ var require_bignumber = __commonJS({
132948
133041
  convertBase = /* @__PURE__ */ (function() {
132949
133042
  var decimal = "0123456789";
132950
133043
  function toBaseOut(str, baseIn, baseOut, alphabet) {
132951
- var j3, arr = [0], arrL, i2 = 0, len = str.length;
132952
- for (; i2 < len; ) {
133044
+ var j3, arr = [0], arrL, i2 = 0, len2 = str.length;
133045
+ for (; i2 < len2; ) {
132953
133046
  for (arrL = arr.length; arrL--; arr[arrL] *= baseIn) ;
132954
133047
  arr[0] += alphabet.indexOf(str.charAt(i2++));
132955
133048
  for (j3 = 0; j3 < arr.length; j3++) {
@@ -133162,7 +133255,7 @@ var require_bignumber = __commonJS({
133162
133255
  };
133163
133256
  })();
133164
133257
  function format(n2, i2, rm, id) {
133165
- var c0, e3, ne2, len, str;
133258
+ var c0, e3, ne2, len2, str;
133166
133259
  if (rm == null) rm = ROUNDING_MODE;
133167
133260
  else intCheck(rm, 0, 8);
133168
133261
  if (!n2.c) return n2.toString();
@@ -133175,19 +133268,19 @@ var require_bignumber = __commonJS({
133175
133268
  n2 = round5(new BigNumber2(n2), i2, rm);
133176
133269
  e3 = n2.e;
133177
133270
  str = coeffToString(n2.c);
133178
- len = str.length;
133271
+ len2 = str.length;
133179
133272
  if (id == 1 || id == 2 && (i2 <= e3 || e3 <= TO_EXP_NEG)) {
133180
- for (; len < i2; str += "0", len++) ;
133273
+ for (; len2 < i2; str += "0", len2++) ;
133181
133274
  str = toExponential(str, e3);
133182
133275
  } else {
133183
133276
  i2 -= ne2 + (id === 2 && e3 > ne2);
133184
133277
  str = toFixedPoint(str, e3, "0");
133185
- if (e3 + 1 > len) {
133278
+ if (e3 + 1 > len2) {
133186
133279
  if (--i2 > 0) for (str += "."; i2--; str += "0") ;
133187
133280
  } else {
133188
- i2 += e3 - len;
133281
+ i2 += e3 - len2;
133189
133282
  if (i2 > 0) {
133190
- if (e3 + 1 == len) str += ".";
133283
+ if (e3 + 1 == len2) str += ".";
133191
133284
  for (; i2--; str += "0") ;
133192
133285
  }
133193
133286
  }
@@ -133773,17 +133866,17 @@ var require_bignumber = __commonJS({
133773
133866
  }
133774
133867
  str = x3.toFixed(dp, rm);
133775
133868
  if (x3.c) {
133776
- var i2, arr = str.split("."), g1 = +format2.groupSize, g2 = +format2.secondaryGroupSize, groupSeparator = format2.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x3.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len = intDigits.length;
133869
+ var i2, arr = str.split("."), g1 = +format2.groupSize, g2 = +format2.secondaryGroupSize, groupSeparator = format2.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x3.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len2 = intDigits.length;
133777
133870
  if (g2) {
133778
133871
  i2 = g1;
133779
133872
  g1 = g2;
133780
133873
  g2 = i2;
133781
- len -= i2;
133874
+ len2 -= i2;
133782
133875
  }
133783
- if (g1 > 0 && len > 0) {
133784
- i2 = len % g1 || g1;
133876
+ if (g1 > 0 && len2 > 0) {
133877
+ i2 = len2 % g1 || g1;
133785
133878
  intPart = intDigits.substr(0, i2);
133786
- for (; i2 < len; i2 += g1) intPart += groupSeparator + intDigits.substr(i2, g1);
133879
+ for (; i2 < len2; i2 += g1) intPart += groupSeparator + intDigits.substr(i2, g1);
133787
133880
  if (g2 > 0) intPart += groupSeparator + intDigits.slice(i2);
133788
133881
  if (isNeg) intPart = "-" + intPart;
133789
133882
  }
@@ -133916,16 +134009,16 @@ var require_bignumber = __commonJS({
133916
134009
  return (str.length > 1 ? str.charAt(0) + "." + str.slice(1) : str) + (e3 < 0 ? "e" : "e+") + e3;
133917
134010
  }
133918
134011
  function toFixedPoint(str, e3, z3) {
133919
- var len, zs;
134012
+ var len2, zs;
133920
134013
  if (e3 < 0) {
133921
134014
  for (zs = z3 + "."; ++e3; zs += z3) ;
133922
134015
  str = zs + str;
133923
134016
  } else {
133924
- len = str.length;
133925
- if (++e3 > len) {
133926
- for (zs = z3, e3 -= len; --e3; zs += z3) ;
134017
+ len2 = str.length;
134018
+ if (++e3 > len2) {
134019
+ for (zs = z3, e3 -= len2; --e3; zs += z3) ;
133927
134020
  str += zs;
133928
- } else if (e3 < len) {
134021
+ } else if (e3 < len2) {
133929
134022
  str = str.slice(0, e3) + "." + str.slice(e3);
133930
134023
  }
133931
134024
  }
@@ -135058,22 +135151,22 @@ var require_base64_js = __commonJS({
135058
135151
  var revLookup = [];
135059
135152
  var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
135060
135153
  var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
135061
- for (i2 = 0, len = code.length; i2 < len; ++i2) {
135154
+ for (i2 = 0, len2 = code.length; i2 < len2; ++i2) {
135062
135155
  lookup[i2] = code[i2];
135063
135156
  revLookup[code.charCodeAt(i2)] = i2;
135064
135157
  }
135065
135158
  var i2;
135066
- var len;
135159
+ var len2;
135067
135160
  revLookup["-".charCodeAt(0)] = 62;
135068
135161
  revLookup["_".charCodeAt(0)] = 63;
135069
135162
  function getLens(b64) {
135070
- var len2 = b64.length;
135071
- if (len2 % 4 > 0) {
135163
+ var len3 = b64.length;
135164
+ if (len3 % 4 > 0) {
135072
135165
  throw new Error("Invalid string. Length must be a multiple of 4");
135073
135166
  }
135074
135167
  var validLen = b64.indexOf("=");
135075
- if (validLen === -1) validLen = len2;
135076
- var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;
135168
+ if (validLen === -1) validLen = len3;
135169
+ var placeHoldersLen = validLen === len3 ? 0 : 4 - validLen % 4;
135077
135170
  return [validLen, placeHoldersLen];
135078
135171
  }
135079
135172
  function byteLength(b64) {
@@ -135092,9 +135185,9 @@ var require_base64_js = __commonJS({
135092
135185
  var placeHoldersLen = lens[1];
135093
135186
  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
135094
135187
  var curByte = 0;
135095
- var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;
135188
+ var len3 = placeHoldersLen > 0 ? validLen - 4 : validLen;
135096
135189
  var i3;
135097
- for (i3 = 0; i3 < len2; i3 += 4) {
135190
+ for (i3 = 0; i3 < len3; i3 += 4) {
135098
135191
  tmp = revLookup[b64.charCodeAt(i3)] << 18 | revLookup[b64.charCodeAt(i3 + 1)] << 12 | revLookup[b64.charCodeAt(i3 + 2)] << 6 | revLookup[b64.charCodeAt(i3 + 3)];
135099
135192
  arr[curByte++] = tmp >> 16 & 255;
135100
135193
  arr[curByte++] = tmp >> 8 & 255;
@@ -135125,20 +135218,20 @@ var require_base64_js = __commonJS({
135125
135218
  }
135126
135219
  function fromByteArray(uint8) {
135127
135220
  var tmp;
135128
- var len2 = uint8.length;
135129
- var extraBytes = len2 % 3;
135221
+ var len3 = uint8.length;
135222
+ var extraBytes = len3 % 3;
135130
135223
  var parts = [];
135131
135224
  var maxChunkLength = 16383;
135132
- for (var i3 = 0, len22 = len2 - extraBytes; i3 < len22; i3 += maxChunkLength) {
135225
+ for (var i3 = 0, len22 = len3 - extraBytes; i3 < len22; i3 += maxChunkLength) {
135133
135226
  parts.push(encodeChunk(uint8, i3, i3 + maxChunkLength > len22 ? len22 : i3 + maxChunkLength));
135134
135227
  }
135135
135228
  if (extraBytes === 1) {
135136
- tmp = uint8[len2 - 1];
135229
+ tmp = uint8[len3 - 1];
135137
135230
  parts.push(
135138
135231
  lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="
135139
135232
  );
135140
135233
  } else if (extraBytes === 2) {
135141
- tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];
135234
+ tmp = (uint8[len3 - 2] << 8) + uint8[len3 - 1];
135142
135235
  parts.push(
135143
135236
  lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="
135144
135237
  );
@@ -142661,24 +142754,24 @@ var require_validation = __commonJS({
142661
142754
  return code >= 1e3 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006 || code >= 3e3 && code <= 4999;
142662
142755
  }
142663
142756
  function _isValidUTF8(buf) {
142664
- const len = buf.length;
142757
+ const len2 = buf.length;
142665
142758
  let i2 = 0;
142666
- while (i2 < len) {
142759
+ while (i2 < len2) {
142667
142760
  if ((buf[i2] & 128) === 0) {
142668
142761
  i2++;
142669
142762
  } else if ((buf[i2] & 224) === 192) {
142670
- if (i2 + 1 === len || (buf[i2 + 1] & 192) !== 128 || (buf[i2] & 254) === 192) {
142763
+ if (i2 + 1 === len2 || (buf[i2 + 1] & 192) !== 128 || (buf[i2] & 254) === 192) {
142671
142764
  return false;
142672
142765
  }
142673
142766
  i2 += 2;
142674
142767
  } else if ((buf[i2] & 240) === 224) {
142675
- if (i2 + 2 >= len || (buf[i2 + 1] & 192) !== 128 || (buf[i2 + 2] & 192) !== 128 || buf[i2] === 224 && (buf[i2 + 1] & 224) === 128 || // Overlong
142768
+ if (i2 + 2 >= len2 || (buf[i2 + 1] & 192) !== 128 || (buf[i2 + 2] & 192) !== 128 || buf[i2] === 224 && (buf[i2 + 1] & 224) === 128 || // Overlong
142676
142769
  buf[i2] === 237 && (buf[i2 + 1] & 224) === 160) {
142677
142770
  return false;
142678
142771
  }
142679
142772
  i2 += 3;
142680
142773
  } else if ((buf[i2] & 248) === 240) {
142681
- if (i2 + 3 >= len || (buf[i2 + 1] & 192) !== 128 || (buf[i2 + 2] & 192) !== 128 || (buf[i2 + 3] & 192) !== 128 || buf[i2] === 240 && (buf[i2 + 1] & 240) === 128 || // Overlong
142774
+ if (i2 + 3 >= len2 || (buf[i2 + 1] & 192) !== 128 || (buf[i2 + 2] & 192) !== 128 || (buf[i2 + 3] & 192) !== 128 || buf[i2] === 240 && (buf[i2 + 1] & 240) === 128 || // Overlong
142682
142775
  buf[i2] === 244 && buf[i2 + 1] > 143 || buf[i2] > 244) {
142683
142776
  return false;
142684
142777
  }
@@ -163961,7 +164054,7 @@ __export(snapshot_exports, {
163961
164054
  tailFrameTime: () => tailFrameTime
163962
164055
  });
163963
164056
  import { spawn as spawn16 } from "child_process";
163964
- import { existsSync as existsSync84, mkdtempSync as mkdtempSync5, readFileSync as readFileSync55, mkdirSync as mkdirSync39, rmSync as rmSync19, writeFileSync as writeFileSync29 } from "fs";
164057
+ import { existsSync as existsSync84, mkdtempSync as mkdtempSync6, readFileSync as readFileSync55, mkdirSync as mkdirSync39, rmSync as rmSync19, writeFileSync as writeFileSync30 } from "fs";
163965
164058
  import { tmpdir as tmpdir7 } from "os";
163966
164059
  import { resolve as resolve55, join as join84, relative as relative15, isAbsolute as isAbsolute14, basename as basename19 } from "path";
163967
164060
  function orbitStageSource() {
@@ -163986,7 +164079,7 @@ function orbitStageSource() {
163986
164079
  }`;
163987
164080
  }
163988
164081
  async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
163989
- const tmp = mkdtempSync5(join84(tmpdir7(), "hf-snapshot-frame-"));
164082
+ const tmp = mkdtempSync6(join84(tmpdir7(), "hf-snapshot-frame-"));
163990
164083
  const outPath = join84(tmp, "frame.png");
163991
164084
  try {
163992
164085
  const ffmpegPath = findFFmpeg();
@@ -164473,7 +164566,7 @@ ${c.success("\u25C7")} ${paths.length} snapshots saved to ${args.output ? snaps
164473
164566
  }
164474
164567
  }
164475
164568
  const descPath = join84(snapshotDir, "descriptions.md");
164476
- writeFileSync29(descPath, descriptions.join("\n"));
164569
+ writeFileSync30(descPath, descriptions.join("\n"));
164477
164570
  console.log(` ${c.dim("descriptions.md")} (Gemini frame analysis)`);
164478
164571
  }
164479
164572
  } catch (descErr) {
@@ -164493,7 +164586,7 @@ ${c.error("\u2717")} Snapshot failed: ${msg}`);
164493
164586
  });
164494
164587
 
164495
164588
  // src/capture/assetDownloader.ts
164496
- import { writeFileSync as writeFileSync30, mkdirSync as mkdirSync40 } from "fs";
164589
+ import { writeFileSync as writeFileSync31, mkdirSync as mkdirSync40 } from "fs";
164497
164590
  import { join as join85, extname as extname15 } from "path";
164498
164591
  import { createHash as createHash12 } from "crypto";
164499
164592
  function svgContentHashSlug(svgSource, isLogo) {
@@ -164521,7 +164614,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164521
164614
  const name = `${finalSlug}.svg`;
164522
164615
  const localPath = `assets/svgs/${name}`;
164523
164616
  try {
164524
- writeFileSync30(join85(outputDir, localPath), svg.outerHTML, "utf-8");
164617
+ writeFileSync31(join85(outputDir, localPath), svg.outerHTML, "utf-8");
164525
164618
  assets.push({ url: "", localPath, type: "svg" });
164526
164619
  } catch {
164527
164620
  }
@@ -164534,7 +164627,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164534
164627
  const localPath = `assets/${name}`;
164535
164628
  const buffer = await fetchBuffer(icon.href);
164536
164629
  if (buffer) {
164537
- writeFileSync30(join85(outputDir, localPath), buffer);
164630
+ writeFileSync31(join85(outputDir, localPath), buffer);
164538
164631
  assets.push({ url: icon.href, localPath, type: "favicon" });
164539
164632
  break;
164540
164633
  }
@@ -164599,7 +164692,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164599
164692
  const name = `${slug}${ext}`;
164600
164693
  usedNames.add(slug);
164601
164694
  const localPath = `assets/${name}`;
164602
- writeFileSync30(join85(outputDir, localPath), buffer);
164695
+ writeFileSync31(join85(outputDir, localPath), buffer);
164603
164696
  assets.push({ url, localPath, type: "image" });
164604
164697
  imgIdx++;
164605
164698
  } catch {
@@ -164612,7 +164705,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164612
164705
  const localPath = `assets/og-image${ext}`;
164613
164706
  const buffer = await fetchBuffer(tokens.ogImage);
164614
164707
  if (buffer && buffer.length > 5e3) {
164615
- writeFileSync30(join85(outputDir, localPath), buffer);
164708
+ writeFileSync31(join85(outputDir, localPath), buffer);
164616
164709
  assets.push({ url: tokens.ogImage, localPath, type: "image" });
164617
164710
  }
164618
164711
  } catch {
@@ -164675,7 +164768,7 @@ async function downloadAndRewriteFonts(css, outputDir) {
164675
164768
  const relativePath = `assets/fonts/${filename}`;
164676
164769
  const buffer = await fetchBuffer(fontUrl);
164677
164770
  if (buffer) {
164678
- writeFileSync30(localPath, buffer);
164771
+ writeFileSync31(localPath, buffer);
164679
164772
  rewritten = rewritten.split(fontUrl).join(relativePath);
164680
164773
  familyCounts.set(family, familyCount + 1);
164681
164774
  count++;
@@ -166250,7 +166343,7 @@ var init_designStyleExtractor = __esm({
166250
166343
  });
166251
166344
 
166252
166345
  // src/capture/fontMetadataExtractor.ts
166253
- import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as writeFileSync31, existsSync as existsSync86 } from "fs";
166346
+ import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as writeFileSync33, existsSync as existsSync86 } from "fs";
166254
166347
  import { join as join87 } from "path";
166255
166348
  import * as fontkit from "fontkit";
166256
166349
  function isFontCollection(value) {
@@ -166284,7 +166377,7 @@ function extractFontMetadata(fontsDir, outputPath) {
166284
166377
  tool: "fontkit"
166285
166378
  }
166286
166379
  };
166287
- writeFileSync31(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
166380
+ writeFileSync33(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
166288
166381
  return manifest;
166289
166382
  }
166290
166383
  function readSingleFont(fullPath, filename) {
@@ -166573,7 +166666,7 @@ var init_animationCataloger = __esm({
166573
166666
  });
166574
166667
 
166575
166668
  // src/capture/mediaCapture.ts
166576
- import { mkdirSync as mkdirSync43, writeFileSync as writeFileSync33, readdirSync as readdirSync30, readFileSync as readFileSync58, statSync as statSync27 } from "fs";
166669
+ import { mkdirSync as mkdirSync43, writeFileSync as writeFileSync34, readdirSync as readdirSync30, readFileSync as readFileSync58, statSync as statSync27 } from "fs";
166577
166670
  import { join as join88, extname as extname16 } from "path";
166578
166671
  async function saveLottieAnimations(discoveredLotties, lottieDir) {
166579
166672
  let savedCount = 0;
@@ -166606,7 +166699,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
166606
166699
  const hash2 = buf.toString("base64").slice(0, 100);
166607
166700
  if (savedHashes.has(hash2)) continue;
166608
166701
  savedHashes.add(hash2);
166609
- writeFileSync33(join88(lottieDir, `animation-${savedCount}.lottie`), buf);
166702
+ writeFileSync34(join88(lottieDir, `animation-${savedCount}.lottie`), buf);
166610
166703
  savedCount++;
166611
166704
  continue;
166612
166705
  }
@@ -166624,7 +166717,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
166624
166717
  } catch {
166625
166718
  continue;
166626
166719
  }
166627
- writeFileSync33(join88(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
166720
+ writeFileSync34(join88(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
166628
166721
  savedCount++;
166629
166722
  }
166630
166723
  } catch {
@@ -166702,7 +166795,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
166702
166795
  }
166703
166796
  }
166704
166797
  if (manifest.length > 0) {
166705
- writeFileSync33(
166798
+ writeFileSync34(
166706
166799
  join88(outputDir, "extracted", "lottie-manifest.json"),
166707
166800
  JSON.stringify(manifest, null, 2),
166708
166801
  "utf-8"
@@ -166738,7 +166831,7 @@ async function downloadVideoBody(srcUrl, filename, videosDir) {
166738
166831
  }
166739
166832
  if (total < 1024) return null;
166740
166833
  const safe = /\.[a-z0-9]+$/i.test(filename) ? filename.replace(/[^\w.-]/g, "_") : `video${ext}`;
166741
- writeFileSync33(join88(videosDir, safe), Buffer.concat(chunks));
166834
+ writeFileSync34(join88(videosDir, safe), Buffer.concat(chunks));
166742
166835
  return `assets/videos/${safe}`;
166743
166836
  } catch {
166744
166837
  return null;
@@ -166856,7 +166949,7 @@ async function captureVideoManifest(page, outputDir, progress, opts) {
166856
166949
  });
166857
166950
  }
166858
166951
  if (videoManifest.length > 0) {
166859
- writeFileSync33(
166952
+ writeFileSync34(
166860
166953
  join88(outputDir, "extracted", "video-manifest.json"),
166861
166954
  JSON.stringify(videoManifest, null, 2),
166862
166955
  "utf-8"
@@ -167309,7 +167402,7 @@ var agentPromptGenerator_exports = {};
167309
167402
  __export(agentPromptGenerator_exports, {
167310
167403
  generateAgentPrompt: () => generateAgentPrompt
167311
167404
  });
167312
- import { writeFileSync as writeFileSync34, readdirSync as readdirSync33, existsSync as existsSync88 } from "fs";
167405
+ import { writeFileSync as writeFileSync35, readdirSync as readdirSync33, existsSync as existsSync88 } from "fs";
167313
167406
  import { join as join90 } from "path";
167314
167407
  function inferColorRole(hex) {
167315
167408
  const r2 = parseInt(hex.slice(1, 3), 16) / 255;
@@ -167329,9 +167422,9 @@ function inferColorRole(hex) {
167329
167422
  }
167330
167423
  function generateAgentPrompt(outputDir, url, tokens, _animations, hasScreenshot, hasLottie, hasShaders, _catalogedAssets, _detectedLibraries) {
167331
167424
  const prompt = buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders);
167332
- writeFileSync34(join90(outputDir, "AGENTS.md"), prompt, "utf-8");
167333
- writeFileSync34(join90(outputDir, "CLAUDE.md"), prompt, "utf-8");
167334
- writeFileSync34(join90(outputDir, ".cursorrules"), prompt, "utf-8");
167425
+ writeFileSync35(join90(outputDir, "AGENTS.md"), prompt, "utf-8");
167426
+ writeFileSync35(join90(outputDir, "CLAUDE.md"), prompt, "utf-8");
167427
+ writeFileSync35(join90(outputDir, ".cursorrules"), prompt, "utf-8");
167335
167428
  }
167336
167429
  function buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders) {
167337
167430
  const title = tokens.title || new URL(url).hostname.replace(/^www\./, "");
@@ -167444,7 +167537,7 @@ var init_agentPromptGenerator = __esm({
167444
167537
  });
167445
167538
 
167446
167539
  // src/capture/scaffolding.ts
167447
- import { existsSync as existsSync89, writeFileSync as writeFileSync35, readFileSync as readFileSync60 } from "fs";
167540
+ import { existsSync as existsSync89, writeFileSync as writeFileSync36, readFileSync as readFileSync60 } from "fs";
167448
167541
  import { join as join91, resolve as resolve57 } from "path";
167449
167542
  function loadEnvFile(startDir) {
167450
167543
  try {
@@ -167474,7 +167567,7 @@ async function generateProjectScaffold(outputDir, url, tokens, animationCatalog,
167474
167567
  const metaPath = join91(outputDir, "meta.json");
167475
167568
  if (!existsSync89(metaPath)) {
167476
167569
  const hostname = new URL(url).hostname.replace(/^www\./, "");
167477
- writeFileSync35(
167570
+ writeFileSync36(
167478
167571
  metaPath,
167479
167572
  JSON.stringify({ id: hostname + "-video", name: tokens.title || hostname }, null, 2),
167480
167573
  "utf-8"
@@ -167509,7 +167602,7 @@ var screenshotCapture_exports = {};
167509
167602
  __export(screenshotCapture_exports, {
167510
167603
  captureScrollScreenshots: () => captureScrollScreenshots
167511
167604
  });
167512
- import { writeFileSync as writeFileSync36, mkdirSync as mkdirSync44 } from "fs";
167605
+ import { writeFileSync as writeFileSync37, mkdirSync as mkdirSync44 } from "fs";
167513
167606
  import { join as join93 } from "path";
167514
167607
  async function captureScrollScreenshots(page, outputDir) {
167515
167608
  const screenshotsDir = join93(outputDir, "screenshots");
@@ -167606,7 +167699,7 @@ async function captureScrollScreenshots(page, outputDir) {
167606
167699
  const filename = `scroll-${String(Math.min(pct, 100)).padStart(3, "0")}.png`;
167607
167700
  const filePath = join93(screenshotsDir, filename);
167608
167701
  const buffer = await page.screenshot({ type: "png" });
167609
- writeFileSync36(filePath, buffer);
167702
+ writeFileSync37(filePath, buffer);
167610
167703
  filePaths.push(`screenshots/${filename}`);
167611
167704
  }
167612
167705
  await page.evaluate(`window.scrollTo(0, 0)`);
@@ -167953,7 +168046,7 @@ var capture_exports = {};
167953
168046
  __export(capture_exports, {
167954
168047
  captureWebsite: () => captureWebsite
167955
168048
  });
167956
- import { mkdirSync as mkdirSync45, writeFileSync as writeFileSync37, existsSync as existsSync90 } from "fs";
168049
+ import { mkdirSync as mkdirSync45, writeFileSync as writeFileSync38, existsSync as existsSync90 } from "fs";
167957
168050
  import { join as join94 } from "path";
167958
168051
  async function captureWebsite(opts, onProgress) {
167959
168052
  const {
@@ -168152,7 +168245,7 @@ async function captureWebsite(opts, onProgress) {
168152
168245
  return true;
168153
168246
  });
168154
168247
  capturedShaders = unique;
168155
- writeFileSync37(
168248
+ writeFileSync38(
168156
168249
  join94(outputDir, "extracted", "shaders.json"),
168157
168250
  JSON.stringify(unique, null, 2),
168158
168251
  "utf-8"
@@ -168167,7 +168260,7 @@ async function captureWebsite(opts, onProgress) {
168167
168260
  ...tokens,
168168
168261
  svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
168169
168262
  };
168170
- writeFileSync37(
168263
+ writeFileSync38(
168171
168264
  join94(outputDir, "extracted", "tokens.json"),
168172
168265
  JSON.stringify(tokensForDisk, null, 2),
168173
168266
  "utf-8"
@@ -168175,7 +168268,7 @@ async function captureWebsite(opts, onProgress) {
168175
168268
  progress("style", "Extracting design styles...");
168176
168269
  try {
168177
168270
  const designStyles = await extractDesignStyles(page1);
168178
- writeFileSync37(
168271
+ writeFileSync38(
168179
168272
  join94(outputDir, "extracted", "design-styles.json"),
168180
168273
  JSON.stringify(designStyles, null, 2),
168181
168274
  "utf-8"
@@ -168282,7 +168375,7 @@ ${err.stack}` : normalizeErrorMessage(err);
168282
168375
  scrollTriggeredElements: (animationCatalog.scrollTargets || []).length,
168283
168376
  representativeAnimations: representativeAnims
168284
168377
  };
168285
- writeFileSync37(
168378
+ writeFileSync38(
168286
168379
  join94(outputDir, "extracted", "animations.json"),
168287
168380
  JSON.stringify(leanCatalog, null, 2),
168288
168381
  "utf-8"
@@ -168313,7 +168406,7 @@ ${err.stack}` : normalizeErrorMessage(err);
168313
168406
  ...tokens,
168314
168407
  svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
168315
168408
  };
168316
- writeFileSync37(
168409
+ writeFileSync38(
168317
168410
  join94(outputDir, "extracted", "tokens.json"),
168318
168411
  JSON.stringify(tokensForDisk2, null, 2),
168319
168412
  "utf-8"
@@ -168330,12 +168423,12 @@ ${extracted.bodyHtml}
168330
168423
  </body>
168331
168424
  </html>
168332
168425
  `;
168333
- writeFileSync37(join94(outputDir, "extracted", "page.html"), pageHtml, "utf-8");
168426
+ writeFileSync38(join94(outputDir, "extracted", "page.html"), pageHtml, "utf-8");
168334
168427
  } catch (err) {
168335
168428
  warnings.push(`page.html write failed: ${err}`);
168336
168429
  }
168337
168430
  if (visibleTextContent) {
168338
- writeFileSync37(join94(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
168431
+ writeFileSync38(join94(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
168339
168432
  }
168340
168433
  const geminiCaptions = await captionImagesWithGemini(outputDir, progress, warnings);
168341
168434
  progress("design", "Generating asset descriptions...");
@@ -168344,7 +168437,7 @@ ${extracted.bodyHtml}
168344
168437
  if (lines.length > 0) {
168345
168438
  const hasGeminiKey = !!(process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY);
168346
168439
  const header = hasGeminiKey ? "# Asset Descriptions\n\nOne line per file. Read this instead of opening every image individually.\n\nTo find a specific brand or icon, **grep this file for the brand name in the description text** (e.g. `grep -i 'autodesk' asset-descriptions.md`). The Gemini Vision captions identify what's actually in each file \u2014 that's the agent's selector.\n\nThe `logo-<hash>.svg` filename prefix is a cheap structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). It is NOT a content claim \u2014 many `logo-*` files are nav icons or decorative shapes. Trust the captions, not the filename prefix.\n\n" : "# Asset Descriptions\n\n\u26A0\uFE0F GEMINI_API_KEY not set \u2014 descriptions below are catalog-derived (alt text, headings, section context, filename) instead of Vision-generated. To get richer Vision descriptions on the next capture, set GEMINI_API_KEY (or GOOGLE_API_KEY) and re-run.\n\nThe `logo-<hash>.svg` filename prefix is a structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). To pick the actual brand logo without Vision, open the `logo-*` candidates in a previewer or rasterize them with `sharp` before referencing \u2014 composing a fake logo ships off-brand in the final video.\n\n";
168347
- writeFileSync37(
168440
+ writeFileSync38(
168348
168441
  join94(outputDir, "extracted", "asset-descriptions.md"),
168349
168442
  header + lines.map((l) => "- " + l).join("\n") + "\n",
168350
168443
  "utf-8"
@@ -168636,11 +168729,11 @@ var init_capture2 = __esm({
168636
168729
  } catch (err) {
168637
168730
  const errMsg = normalizeErrorMessage(err);
168638
168731
  try {
168639
- const { mkdirSync: mkdirSync55, writeFileSync: writeFileSync45 } = await import("fs");
168640
- mkdirSync55(outputDir, { recursive: true });
168732
+ const { mkdirSync: mkdirSync56, writeFileSync: writeFileSync48 } = await import("fs");
168733
+ mkdirSync56(outputDir, { recursive: true });
168641
168734
  const isTimeout = /timeout|timed out/i.test(errMsg);
168642
168735
  const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
168643
- writeFileSync45(
168736
+ writeFileSync48(
168644
168737
  `${outputDir}/BLOCKED.md`,
168645
168738
  `# Capture Failed
168646
168739
 
@@ -168683,7 +168776,7 @@ __export(state_exports, {
168683
168776
  stateFilePath: () => stateFilePath,
168684
168777
  writeStackOutputs: () => writeStackOutputs
168685
168778
  });
168686
- import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as writeFileSync38 } from "fs";
168779
+ import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as writeFileSync39 } from "fs";
168687
168780
  import { dirname as dirname40, join as join95 } from "path";
168688
168781
  function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
168689
168782
  return join95(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
@@ -168691,7 +168784,7 @@ function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
168691
168784
  function writeStackOutputs(outputs, cwd = process.cwd()) {
168692
168785
  const path2 = stateFilePath(outputs.stackName, cwd);
168693
168786
  mkdirSync46(dirname40(path2), { recursive: true });
168694
- writeFileSync38(path2, JSON.stringify(outputs, null, 2) + "\n");
168787
+ writeFileSync39(path2, JSON.stringify(outputs, null, 2) + "\n");
168695
168788
  return path2;
168696
168789
  }
168697
168790
  function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
@@ -169072,14 +169165,14 @@ async function runRender(args) {
169072
169165
  });
169073
169166
  const variables = resolveVariablesArg(args.variables, args.variablesFile);
169074
169167
  if (variables && Object.keys(variables).length > 0) {
169075
- const indexPath = join99(projectDir, "index.html");
169076
- if (existsSync95(indexPath)) {
169077
- const issues = validateVariablesAgainstProject(indexPath, variables);
169168
+ const indexPath2 = join99(projectDir, "index.html");
169169
+ if (existsSync95(indexPath2)) {
169170
+ const issues = validateVariablesAgainstProject(indexPath2, variables);
169078
169171
  reportVariableIssues(issues, { strict: args.strictVariables ?? false, quiet: args.json });
169079
169172
  } else if (args.strictVariables && !args.json) {
169080
169173
  console.warn(
169081
169174
  c.warn(
169082
- `--strict-variables: no ${indexPath} on disk \u2014 schema validation skipped. Variables flow through unchecked. To enable strict checking, run from a project dir that contains the composition.`
169175
+ `--strict-variables: no ${indexPath2} on disk \u2014 schema validation skipped. Variables flow through unchecked. To enable strict checking, run from a project dir that contains the composition.`
169083
169176
  )
169084
169177
  );
169085
169178
  }
@@ -170243,7 +170336,7 @@ __export(cloudrun_exports, {
170243
170336
  });
170244
170337
  import { spawnSync as spawnSync6 } from "child_process";
170245
170338
  import { createRequire as createRequire4 } from "module";
170246
- import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as writeFileSync39 } from "fs";
170339
+ import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as writeFileSync40 } from "fs";
170247
170340
  import { homedir as homedir14 } from "os";
170248
170341
  import { dirname as dirname42, join as join101, resolve as resolve61 } from "path";
170249
170342
  function stateDir() {
@@ -170254,7 +170347,7 @@ function statePath() {
170254
170347
  }
170255
170348
  function writeState(state) {
170256
170349
  mkdirSync47(stateDir(), { recursive: true });
170257
- writeFileSync39(statePath(), JSON.stringify(state, null, 2));
170350
+ writeFileSync40(statePath(), JSON.stringify(state, null, 2));
170258
170351
  }
170259
170352
  function readState(args) {
170260
170353
  const overrides = {
@@ -170417,7 +170510,7 @@ function findRepoRoot(tfDir) {
170417
170510
  function writeCloudBuildConfig(image) {
170418
170511
  const cfgPath = join101(stateDir(), "cloudrun-cloudbuild.yaml");
170419
170512
  mkdirSync47(stateDir(), { recursive: true });
170420
- writeFileSync39(
170513
+ writeFileSync40(
170421
170514
  cfgPath,
170422
170515
  [
170423
170516
  "steps:",
@@ -170701,9 +170794,9 @@ function resolveAndValidateVariables(args, projectDir) {
170701
170794
  args["variables-file"]
170702
170795
  );
170703
170796
  if (variables && Object.keys(variables).length > 0) {
170704
- const indexPath = join101(projectDir, "index.html");
170705
- if (existsSync97(indexPath)) {
170706
- const issues = validateVariablesAgainstProject(indexPath, variables);
170797
+ const indexPath2 = join101(projectDir, "index.html");
170798
+ if (existsSync97(indexPath2)) {
170799
+ const issues = validateVariablesAgainstProject(indexPath2, variables);
170707
170800
  reportVariableIssues(issues, {
170708
170801
  strict: Boolean(args["strict-variables"]),
170709
170802
  quiet: Boolean(args.json)
@@ -172701,8 +172794,8 @@ function resolveVariablesAndValidateIfLocal(inline, filePath, strict, source) {
172701
172794
  const variables = resolveVariablesArg(inline, filePath);
172702
172795
  if (!variables || Object.keys(variables).length === 0) return variables;
172703
172796
  if (source.kind !== "dir") return variables;
172704
- const { indexPath } = resolveProject(source.dir);
172705
- const issues = validateVariablesAgainstProject(indexPath, variables);
172797
+ const { indexPath: indexPath2 } = resolveProject(source.dir);
172798
+ const issues = validateVariablesAgainstProject(indexPath2, variables);
172706
172799
  reportVariableIssues(issues, { strict, quiet: false });
172707
172800
  return variables;
172708
172801
  }
@@ -174367,7 +174460,7 @@ var init_parseFigmaRef = __esm({
174367
174460
  });
174368
174461
 
174369
174462
  // ../core/dist/figma/freeze.js
174370
- import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as writeFileSync40 } from "fs";
174463
+ import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as writeFileSync41 } from "fs";
174371
174464
  import { dirname as dirname45 } from "path";
174372
174465
  function exceedsFreezeCap(byteLength) {
174373
174466
  return byteLength > MAX_FREEZE_BYTES;
@@ -174379,12 +174472,12 @@ function freezeBytes(bytes, destPath) {
174379
174472
  throw new Error(`freeze failed: ${bytes.length} bytes exceeds ${MAX_FREEZE_BYTES} cap`);
174380
174473
  mkdirSync49(dirname45(destPath), { recursive: true });
174381
174474
  try {
174382
- writeFileSync40(destPath, bytes, { flag: "wx" });
174475
+ writeFileSync41(destPath, bytes, { flag: "wx" });
174383
174476
  } catch (err) {
174384
174477
  if (err.code !== "EEXIST")
174385
174478
  throw err;
174386
174479
  rmSync21(destPath);
174387
- writeFileSync40(destPath, bytes, { flag: "wx" });
174480
+ writeFileSync41(destPath, bytes, { flag: "wx" });
174388
174481
  }
174389
174482
  return bytes.length;
174390
174483
  }
@@ -174421,7 +174514,7 @@ var init_jsonl = __esm({
174421
174514
  });
174422
174515
 
174423
174516
  // ../core/dist/figma/manifest.js
174424
- import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69 } from "fs";
174517
+ import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as writeFileSync43 } from "fs";
174425
174518
  import { join as join104 } from "path";
174426
174519
  function mediaDir(projectDir) {
174427
174520
  return join104(projectDir, ".media");
@@ -174457,12 +174550,25 @@ function appendRecord(projectDir, record) {
174457
174550
  mkdirSync50(typeDirPath(projectDir, record.type), { recursive: true });
174458
174551
  appendFileSync2(manifestPath(projectDir), JSON.stringify(record) + "\n");
174459
174552
  }
174460
- function findByFigmaNode(projectDir, fileKey, nodeId) {
174461
- for (const r2 of readManifest(projectDir)) {
174462
- if (r2.provenance.source === "figma" && r2.provenance.fileKey === fileKey && r2.provenance.nodeId === nodeId)
174463
- return r2;
174464
- }
174465
- return null;
174553
+ function findAllByFigmaNode(projectDir, fileKey, nodeId) {
174554
+ return readManifest(projectDir).filter((r2) => r2.provenance.source === "figma" && r2.provenance.fileKey === fileKey && r2.provenance.nodeId === nodeId);
174555
+ }
174556
+ function updateRecord(projectDir, record) {
174557
+ const p2 = manifestPath(projectDir);
174558
+ const lines = readFileSync69(p2, "utf8").split(/\r?\n/);
174559
+ const out = lines.map((line2) => {
174560
+ const trimmed = line2.trim();
174561
+ if (trimmed.length === 0)
174562
+ return line2;
174563
+ try {
174564
+ const parsed = JSON.parse(trimmed);
174565
+ if (isFigmaManifestRecord(parsed) && parsed.id === record.id)
174566
+ return JSON.stringify(record);
174567
+ } catch {
174568
+ }
174569
+ return line2;
174570
+ });
174571
+ writeFileSync43(p2, out.join("\n"));
174466
174572
  }
174467
174573
  function nextId(projectDir, type) {
174468
174574
  const re2 = new RegExp(`^${type}_(\\d+)$`);
@@ -174502,6 +174608,70 @@ var init_manifest = __esm({
174502
174608
  }
174503
174609
  });
174504
174610
 
174611
+ // ../core/dist/figma/mediaIndex.js
174612
+ import { mkdirSync as mkdirSync51, writeFileSync as writeFileSync44 } from "fs";
174613
+ import { dirname as dirname46, join as join105 } from "path";
174614
+ function isRow(value) {
174615
+ return typeof value === "object" && value !== null;
174616
+ }
174617
+ function indexPath(projectDir) {
174618
+ return join105(mediaDir(projectDir), "index.md");
174619
+ }
174620
+ function pad(str, len2) {
174621
+ return String(str ?? "").padEnd(len2);
174622
+ }
174623
+ function formatDur(r2) {
174624
+ if (r2.duration == null)
174625
+ return "\u2014";
174626
+ return `${String(r2.duration)}s`;
174627
+ }
174628
+ function formatDims(r2) {
174629
+ if (r2.width && r2.height)
174630
+ return `${String(r2.width)}\xD7${String(r2.height)}`;
174631
+ if (r2.type === "icon" && r2.transparent)
174632
+ return "svg";
174633
+ return "\u2014";
174634
+ }
174635
+ function len(value) {
174636
+ return String(value ?? "").length;
174637
+ }
174638
+ function generateIndexContent(records) {
174639
+ const count = records.length;
174640
+ const header = `# .media \xB7 ${count} asset${count === 1 ? "" : "s"}
174641
+ `;
174642
+ if (count === 0)
174643
+ return header;
174644
+ const cols = { id: 4, type: 5, dur: 4, dims: 5, path: 5 };
174645
+ for (const r2 of records) {
174646
+ cols.id = Math.max(cols.id, len(r2.id));
174647
+ cols.type = Math.max(cols.type, len(r2.type));
174648
+ cols.dur = Math.max(cols.dur, formatDur(r2).length);
174649
+ cols.dims = Math.max(cols.dims, formatDims(r2).length);
174650
+ cols.path = Math.max(cols.path, len(r2.path));
174651
+ }
174652
+ const heading = pad("id", cols.id + 2) + pad("type", cols.type + 2) + pad("dur", cols.dur + 2) + pad("dims", cols.dims + 2) + pad("path", cols.path + 2) + "description";
174653
+ const lines = [header, heading];
174654
+ for (const r2 of records) {
174655
+ lines.push(pad(r2.id, cols.id + 2) + pad(r2.type, cols.type + 2) + pad(formatDur(r2), cols.dur + 2) + pad(formatDims(r2), cols.dims + 2) + pad(r2.path, cols.path + 2) + String(r2.description ?? ""));
174656
+ }
174657
+ return lines.join("\n") + "\n";
174658
+ }
174659
+ function regenerateIndex(projectDir) {
174660
+ const records = readJsonlValues(manifestPath(projectDir)).filter(isRow);
174661
+ const content = generateIndexContent(records);
174662
+ const p2 = indexPath(projectDir);
174663
+ mkdirSync51(dirname46(p2), { recursive: true });
174664
+ writeFileSync44(p2, content);
174665
+ return content;
174666
+ }
174667
+ var init_mediaIndex = __esm({
174668
+ "../core/dist/figma/mediaIndex.js"() {
174669
+ "use strict";
174670
+ init_jsonl();
174671
+ init_manifest();
174672
+ }
174673
+ });
174674
+
174505
174675
  // ../core/dist/figma/assetSnippet.js
174506
174676
  function escapeAttr(value) {
174507
174677
  return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
@@ -174556,10 +174726,10 @@ var init_sanitizeSvg = __esm({
174556
174726
  });
174557
174727
 
174558
174728
  // ../core/dist/figma/bindings.js
174559
- import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync51, writeFileSync as writeFileSync41 } from "fs";
174560
- import { join as join105 } from "path";
174729
+ import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as writeFileSync45 } from "fs";
174730
+ import { join as join106 } from "path";
174561
174731
  function bindingsPath(projectDir) {
174562
- return join105(mediaDir(projectDir), BINDINGS_FILE);
174732
+ return join106(mediaDir(projectDir), BINDINGS_FILE);
174563
174733
  }
174564
174734
  function isRecord6(value) {
174565
174735
  return typeof value === "object" && value !== null;
@@ -174576,9 +174746,9 @@ function readBindings(projectDir) {
174576
174746
  function upsertBindings(projectDir, records) {
174577
174747
  const incoming = new Set(records.map((r2) => r2.figmaId));
174578
174748
  const survivors = readLines(projectDir).filter((line2) => !(isBindingRecord(line2) && incoming.has(line2.figmaId)));
174579
- mkdirSync51(mediaDir(projectDir), { recursive: true });
174749
+ mkdirSync53(mediaDir(projectDir), { recursive: true });
174580
174750
  const lines = [...survivors, ...records].map((r2) => JSON.stringify(r2)).join("\n");
174581
- writeFileSync41(bindingsPath(projectDir), lines.length > 0 ? lines + "\n" : "");
174751
+ writeFileSync45(bindingsPath(projectDir), lines.length > 0 ? lines + "\n" : "");
174582
174752
  }
174583
174753
  var BINDINGS_FILE;
174584
174754
  var init_bindings = __esm({
@@ -175055,6 +175225,7 @@ var init_figma = __esm({
175055
175225
  init_parseFigmaRef();
175056
175226
  init_freeze();
175057
175227
  init_manifest();
175228
+ init_mediaIndex();
175058
175229
  init_assetSnippet();
175059
175230
  init_sanitizeSvg();
175060
175231
  init_bindings();
@@ -175113,7 +175284,7 @@ __export(asset_exports, {
175113
175284
  runAssetImport: () => runAssetImport
175114
175285
  });
175115
175286
  import { existsSync as existsSync101 } from "fs";
175116
- import { join as join106, relative as relative16 } from "path";
175287
+ import { join as join107, relative as relative16 } from "path";
175117
175288
  async function runAssetImport(refInput, opts, deps) {
175118
175289
  const ref2 = parseFigmaRef(refInput);
175119
175290
  if (!ref2.nodeId)
@@ -175121,9 +175292,23 @@ async function runAssetImport(refInput, opts, deps) {
175121
175292
  `ref "${refInput}" has no node id \u2014 share a link with ?node-id=\u2026 or use fileKey:nodeId`
175122
175293
  );
175123
175294
  const { version: version2 } = await deps.client.fileVersion(ref2.fileKey);
175124
- const existing = findByFigmaNode(deps.projectDir, ref2.fileKey, ref2.nodeId);
175125
- if (existing && existing.provenance.format === opts.format && (existing.provenance.scale ?? 1) === (opts.scale ?? 1) && existing.provenance.version === version2 && existsSync101(join106(deps.projectDir, existing.path))) {
175126
- return { record: existing, snippet: buildAssetSnippet(existing), reused: true };
175295
+ const description = normalizeMeta(opts.description);
175296
+ const entity = normalizeMeta(opts.entity);
175297
+ const existing = findAllByFigmaNode(deps.projectDir, ref2.fileKey, ref2.nodeId).find(
175298
+ (r2) => r2.provenance.format === opts.format && (r2.provenance.scale ?? 1) === (opts.scale ?? 1) && r2.provenance.version === version2 && existsSync101(join107(deps.projectDir, r2.path))
175299
+ );
175300
+ if (existing) {
175301
+ let record2 = existing;
175302
+ if (description !== void 0 && description !== existing.description || entity !== void 0 && entity !== existing.entity) {
175303
+ record2 = {
175304
+ ...existing,
175305
+ ...description !== void 0 && { description },
175306
+ ...entity !== void 0 && { entity }
175307
+ };
175308
+ updateRecord(deps.projectDir, record2);
175309
+ }
175310
+ safeRegenerateIndex(deps.projectDir);
175311
+ return { record: record2, snippet: buildAssetSnippet(record2), reused: true };
175127
175312
  }
175128
175313
  const rendered = await deps.client.renderNode(ref2, opts);
175129
175314
  let bytes = await deps.download(rendered.url);
@@ -175134,13 +175319,15 @@ async function runAssetImport(refInput, opts, deps) {
175134
175319
  bytes = new TextEncoder().encode(sanitizeSvg(new TextDecoder().decode(bytes)));
175135
175320
  }
175136
175321
  const id = nextId(deps.projectDir, "image");
175137
- const destAbs = join106(typeDirPath(deps.projectDir, "image"), `${id}.${rendered.ext}`);
175322
+ const destAbs = join107(typeDirPath(deps.projectDir, "image"), `${id}.${rendered.ext}`);
175138
175323
  freezeBytes(bytes, destAbs);
175139
175324
  const record = {
175140
175325
  id,
175141
175326
  type: "image",
175142
175327
  path: relative16(deps.projectDir, destAbs),
175143
175328
  source: `figma:${ref2.fileKey}/${ref2.nodeId}`,
175329
+ ...description !== void 0 && { description },
175330
+ ...entity !== void 0 && { entity },
175144
175331
  provenance: {
175145
175332
  source: "figma",
175146
175333
  fileKey: ref2.fileKey,
@@ -175151,8 +175338,21 @@ async function runAssetImport(refInput, opts, deps) {
175151
175338
  }
175152
175339
  };
175153
175340
  appendRecord(deps.projectDir, record);
175341
+ safeRegenerateIndex(deps.projectDir);
175154
175342
  return { record, snippet: buildAssetSnippet(record), reused: false };
175155
175343
  }
175344
+ function normalizeMeta(value) {
175345
+ if (value === void 0) return void 0;
175346
+ const cleaned = value.replace(/\s+/g, " ").trim();
175347
+ return cleaned.length > 0 ? cleaned : void 0;
175348
+ }
175349
+ function safeRegenerateIndex(projectDir) {
175350
+ try {
175351
+ regenerateIndex(projectDir);
175352
+ } catch (err) {
175353
+ console.warn(`index.md regeneration failed: ${err instanceof Error ? err.message : err}`);
175354
+ }
175355
+ }
175156
175356
  function parseFormat3(raw) {
175157
175357
  for (const f3 of FORMATS3) if (f3 === raw) return f3;
175158
175358
  throw new Error(`unsupported format "${raw}" \u2014 use one of ${FORMATS3.join(", ")}`);
@@ -175176,6 +175376,14 @@ var init_asset = __esm({
175176
175376
  },
175177
175377
  format: { type: "string", description: "png | svg | jpg | pdf", default: "svg" },
175178
175378
  scale: { type: "string", description: "export scale (e.g. 2)" },
175379
+ description: {
175380
+ type: "string",
175381
+ description: "what this asset is (index.md + <img alt>); e.g. the layer's purpose"
175382
+ },
175383
+ entity: {
175384
+ type: "string",
175385
+ description: 'entity name for media-use cache lookups (e.g. "Acme logo")'
175386
+ },
175179
175387
  dir: { type: "string", description: "project directory", default: "." }
175180
175388
  },
175181
175389
  async run({ args }) {
@@ -175186,7 +175394,9 @@ var init_asset = __esm({
175186
175394
  args.ref,
175187
175395
  {
175188
175396
  format: parseFormat3(args.format),
175189
- scale: args.scale !== void 0 ? Number(args.scale) : void 0
175397
+ scale: args.scale !== void 0 ? Number(args.scale) : void 0,
175398
+ description: args.description,
175399
+ entity: args.entity
175190
175400
  },
175191
175401
  { projectDir: args.dir, client, download: downloadRender }
175192
175402
  );
@@ -175205,12 +175415,12 @@ __export(tokens_exports, {
175205
175415
  default: () => tokens_default,
175206
175416
  runTokensImport: () => runTokensImport
175207
175417
  });
175208
- import { writeFileSync as writeFileSync43 } from "fs";
175209
- import { join as join107 } from "path";
175418
+ import { writeFileSync as writeFileSync46 } from "fs";
175419
+ import { join as join108 } from "path";
175210
175420
  async function runTokensImport(refInput, deps) {
175211
175421
  const { fileKey } = parseFigmaRef(refInput);
175212
175422
  const { version: version2 } = await deps.client.fileVersion(fileKey);
175213
- const sidecarPath = join107(deps.projectDir, "figma-tokens.json");
175423
+ const sidecarPath = join108(deps.projectDir, "figma-tokens.json");
175214
175424
  let vars = null;
175215
175425
  try {
175216
175426
  vars = await deps.client.variables(fileKey);
@@ -175220,7 +175430,7 @@ async function runTokensImport(refInput, deps) {
175220
175430
  if (vars !== null) {
175221
175431
  const out = tokensToVariables(vars, { fileKey, version: version2 });
175222
175432
  upsertBindings(deps.projectDir, out.bindings);
175223
- writeFileSync43(sidecarPath, JSON.stringify(out.sidecar, null, 2) + "\n");
175433
+ writeFileSync46(sidecarPath, JSON.stringify(out.sidecar, null, 2) + "\n");
175224
175434
  return { mode: "variables", entries: out.entries, sidecarPath };
175225
175435
  }
175226
175436
  const styles = await deps.client.styles(fileKey);
@@ -175234,7 +175444,7 @@ async function runTokensImport(refInput, deps) {
175234
175444
  value: null
175235
175445
  }))
175236
175446
  };
175237
- writeFileSync43(sidecarPath, JSON.stringify(sidecar, null, 2) + "\n");
175447
+ writeFileSync46(sidecarPath, JSON.stringify(sidecar, null, 2) + "\n");
175238
175448
  return { mode: "styles", entries: [], sidecarPath };
175239
175449
  }
175240
175450
  var tokens_default;
@@ -175276,8 +175486,8 @@ __export(component_exports, {
175276
175486
  default: () => component_default,
175277
175487
  runComponentImport: () => runComponentImport
175278
175488
  });
175279
- import { existsSync as existsSync102, mkdirSync as mkdirSync53, writeFileSync as writeFileSync44 } from "fs";
175280
- import { join as join108, relative as relative17 } from "path";
175489
+ import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as writeFileSync47 } from "fs";
175490
+ import { join as join109, relative as relative17 } from "path";
175281
175491
  function escapeAttr2(value) {
175282
175492
  return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
175283
175493
  }
@@ -175288,20 +175498,22 @@ async function runComponentImport(refInput, deps) {
175288
175498
  const bindings = resolveBindings(tree, readBindings(deps.projectDir));
175289
175499
  const mapped = nodeToHtml(tree, bindings);
175290
175500
  const name = slugify2(tree.name);
175291
- const componentDir = join108(deps.projectDir, "compositions", "components", name);
175501
+ const componentDir = join109(deps.projectDir, "compositions", "components", name);
175292
175502
  if (existsSync102(componentDir))
175293
175503
  console.warn(
175294
175504
  `component dir compositions/components/${name} already exists \u2014 overwriting (rename the figma frame for a separate import)`
175295
175505
  );
175296
- mkdirSync53(componentDir, { recursive: true });
175506
+ mkdirSync54(componentDir, { recursive: true });
175297
175507
  let html = mapped.html;
175508
+ const frozenAssets = [];
175298
175509
  for (const req of mapped.rasterize) {
175299
175510
  const asset = await runAssetImport(
175300
175511
  `${ref2.fileKey}:${req.nodeId}`,
175301
- { format: "svg" },
175512
+ { format: "svg", description: req.name },
175302
175513
  { projectDir: deps.projectDir, client: deps.client, download: deps.download }
175303
175514
  );
175304
- const srcRel = relative17(componentDir, join108(deps.projectDir, asset.record.path)).replaceAll(
175515
+ frozenAssets.push(asset.record.path);
175516
+ const srcRel = relative17(componentDir, join109(deps.projectDir, asset.record.path)).replaceAll(
175305
175517
  "\\",
175306
175518
  "/"
175307
175519
  );
@@ -175311,8 +175523,8 @@ async function runComponentImport(refInput, deps) {
175311
175523
  `data-figma-rasterize="${emittedId}" src="${escapeAttr2(srcRel)}" `
175312
175524
  );
175313
175525
  }
175314
- const htmlFile = join108(componentDir, `${name}.html`);
175315
- writeFileSync44(htmlFile, html + "\n");
175526
+ const htmlFile = join109(componentDir, `${name}.html`);
175527
+ writeFileSync47(htmlFile, html + "\n");
175316
175528
  const registryItem = {
175317
175529
  name,
175318
175530
  type: "hyperframes:component",
@@ -175323,15 +175535,17 @@ async function runComponentImport(refInput, deps) {
175323
175535
  target: `compositions/components/${name}/${name}.html`,
175324
175536
  type: "hyperframes:snippet"
175325
175537
  },
175326
- ...mapped.rasterize.map((r2) => ({
175327
- path: `${r2.slug}.svg`,
175328
- target: `.media/images/${r2.slug}.svg`,
175538
+ // The paths the frozen files ACTUALLY landed at (image_NNN.svg), which
175539
+ // is also what the emitted HTML references — not the slug names.
175540
+ ...frozenAssets.map((p2) => ({
175541
+ path: p2.split("/").pop() ?? p2,
175542
+ target: p2.replaceAll("\\", "/"),
175329
175543
  type: "hyperframes:asset"
175330
175544
  }))
175331
175545
  ]
175332
175546
  };
175333
- writeFileSync44(
175334
- join108(componentDir, "registry-item.json"),
175547
+ writeFileSync47(
175548
+ join109(componentDir, "registry-item.json"),
175335
175549
  JSON.stringify(registryItem, null, 2) + "\n"
175336
175550
  );
175337
175551
  return {
@@ -175571,9 +175785,9 @@ __export(autoUpdate_exports, {
175571
175785
  scheduleBackgroundInstall: () => scheduleBackgroundInstall
175572
175786
  });
175573
175787
  import { spawn as spawn17 } from "child_process";
175574
- import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync54, openSync as openSync3 } from "fs";
175788
+ import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as openSync4 } from "fs";
175575
175789
  import { homedir as homedir16 } from "os";
175576
- import { join as join109 } from "path";
175790
+ import { join as join110 } from "path";
175577
175791
  import { compareVersions as compareVersions3 } from "compare-versions";
175578
175792
  function isAutoInstallDisabled() {
175579
175793
  if (isDevMode()) return true;
@@ -175588,15 +175802,15 @@ function majorOf(version2) {
175588
175802
  }
175589
175803
  function log(line2) {
175590
175804
  try {
175591
- mkdirSync54(CONFIG_DIR2, { recursive: true, mode: 448 });
175805
+ mkdirSync55(CONFIG_DIR2, { recursive: true, mode: 448 });
175592
175806
  appendFileSync4(LOG_FILE, `${(/* @__PURE__ */ new Date()).toISOString()} ${line2}
175593
175807
  `, { mode: 384 });
175594
175808
  } catch {
175595
175809
  }
175596
175810
  }
175597
175811
  function launchDetachedInstall(installCommand, version2) {
175598
- mkdirSync54(CONFIG_DIR2, { recursive: true, mode: 448 });
175599
- const configFile = join109(CONFIG_DIR2, "config.json");
175812
+ mkdirSync55(CONFIG_DIR2, { recursive: true, mode: 448 });
175813
+ const configFile = join110(CONFIG_DIR2, "config.json");
175600
175814
  const nodeScript = `
175601
175815
  const { exec } = require("node:child_process");
175602
175816
  const { readFileSync, renameSync, writeFileSync } = require("node:fs");
@@ -175620,7 +175834,7 @@ function launchDetachedInstall(installCommand, version2) {
175620
175834
  } catch (e) {}
175621
175835
  });
175622
175836
  `;
175623
- const out = openSync3(LOG_FILE, "a", 384);
175837
+ const out = openSync4(LOG_FILE, "a", 384);
175624
175838
  const child = spawn17(process.execPath, ["-e", nodeScript], {
175625
175839
  detached: true,
175626
175840
  stdio: ["ignore", out, out],
@@ -175715,8 +175929,8 @@ var init_autoUpdate = __esm({
175715
175929
  init_config();
175716
175930
  init_env();
175717
175931
  init_installerDetection();
175718
- CONFIG_DIR2 = join109(homedir16(), ".hyperframes");
175719
- LOG_FILE = join109(CONFIG_DIR2, "auto-update.log");
175932
+ CONFIG_DIR2 = join110(homedir16(), ".hyperframes");
175933
+ LOG_FILE = join110(CONFIG_DIR2, "auto-update.log");
175720
175934
  PENDING_TIMEOUT_MS = 10 * 60 * 1e3;
175721
175935
  }
175722
175936
  });
@@ -175964,7 +176178,7 @@ var init_help = __esm({
175964
176178
  // src/cli.ts
175965
176179
  init_version();
175966
176180
  init_dist();
175967
- import { dirname as dirname46, join as join110 } from "path";
176181
+ import { dirname as dirname47, join as join111 } from "path";
175968
176182
  import { fileURLToPath as fileURLToPath16 } from "url";
175969
176183
  import { existsSync as existsSync103 } from "fs";
175970
176184
 
@@ -176008,8 +176222,8 @@ for (const stream of [process.stdout, process.stderr]) {
176008
176222
  });
176009
176223
  }
176010
176224
  (() => {
176011
- const here = dirname46(fileURLToPath16(import.meta.url));
176012
- const shader = join110(here, "shaderTransitionWorker.js");
176225
+ const here = dirname47(fileURLToPath16(import.meta.url));
176226
+ const shader = join111(here, "shaderTransitionWorker.js");
176013
176227
  if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync103(shader)) {
176014
176228
  process.env.HF_SHADER_WORKER_ENTRY = shader;
176015
176229
  }