hyperframes 0.7.45 → 0.7.47

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.45" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.47" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -28111,14 +28111,14 @@ var require_lib = __commonJS({
28111
28111
  };
28112
28112
  var mixinPluginNames = Object.keys(mixinPlugins);
28113
28113
  var ExpressionParser = class extends LValParser {
28114
- checkProto(prop2, isRecord13, sawProto, refExpressionErrors) {
28114
+ checkProto(prop2, isRecord14, sawProto, refExpressionErrors) {
28115
28115
  if (prop2.type === "SpreadElement" || this.isObjectMethod(prop2) || prop2.computed || prop2.shorthand) {
28116
28116
  return sawProto;
28117
28117
  }
28118
28118
  const key2 = prop2.key;
28119
28119
  const name = key2.type === "Identifier" ? key2.name : key2.value;
28120
28120
  if (name === "__proto__") {
28121
- if (isRecord13) {
28121
+ if (isRecord14) {
28122
28122
  this.raise(Errors.RecordNoProto, key2);
28123
28123
  return true;
28124
28124
  }
@@ -29176,8 +29176,8 @@ var require_lib = __commonJS({
29176
29176
  parseTemplateSubstitution() {
29177
29177
  return this.parseExpression();
29178
29178
  }
29179
- parseObjectLike(close, isPattern, isRecord13, refExpressionErrors) {
29180
- if (isRecord13) {
29179
+ parseObjectLike(close, isPattern, isRecord14, refExpressionErrors) {
29180
+ if (isRecord14) {
29181
29181
  this.expectPlugin("recordAndTuple");
29182
29182
  }
29183
29183
  const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
@@ -29202,9 +29202,9 @@ var require_lib = __commonJS({
29202
29202
  prop2 = this.parseBindingProperty();
29203
29203
  } else {
29204
29204
  prop2 = this.parsePropertyDefinition(refExpressionErrors);
29205
- sawProto = this.checkProto(prop2, isRecord13, sawProto, refExpressionErrors);
29205
+ sawProto = this.checkProto(prop2, isRecord14, sawProto, refExpressionErrors);
29206
29206
  }
29207
- if (isRecord13 && !this.isObjectProperty(prop2) && prop2.type !== "SpreadElement") {
29207
+ if (isRecord14 && !this.isObjectProperty(prop2) && prop2.type !== "SpreadElement") {
29208
29208
  this.raise(Errors.InvalidRecordProperty, prop2);
29209
29209
  }
29210
29210
  if (prop2.shorthand) {
@@ -29217,7 +29217,7 @@ var require_lib = __commonJS({
29217
29217
  let type = "ObjectExpression";
29218
29218
  if (isPattern) {
29219
29219
  type = "ObjectPattern";
29220
- } else if (isRecord13) {
29220
+ } else if (isRecord14) {
29221
29221
  type = "RecordExpression";
29222
29222
  }
29223
29223
  return this.finishNode(node, type);
@@ -53378,6 +53378,35 @@ function parseGsapScriptAcorn(script) {
53378
53378
  return { animations: [], timelineVar: "tl", preamble: "", postamble: "" };
53379
53379
  }
53380
53380
  }
53381
+ function isRecord(v2) {
53382
+ return typeof v2 === "object" && v2 !== null;
53383
+ }
53384
+ function isVariableType(t2) {
53385
+ return typeof t2 === "string" && t2 in DEFAULT_TYPEOF;
53386
+ }
53387
+ function isCompositionVariable(v2) {
53388
+ if (!isRecord(v2)) return false;
53389
+ if (typeof v2.id !== "string" || typeof v2.label !== "string") return false;
53390
+ if (!isVariableType(v2.type)) return false;
53391
+ if (typeof v2.default !== DEFAULT_TYPEOF[v2.type]) return false;
53392
+ if (v2.type === "enum" && !Array.isArray(v2.options)) return false;
53393
+ return true;
53394
+ }
53395
+ function parseCompositionVariables(htmlEl) {
53396
+ const variablesAttr = htmlEl.getAttribute("data-composition-variables");
53397
+ if (!variablesAttr) {
53398
+ return [];
53399
+ }
53400
+ try {
53401
+ const parsed = JSON.parse(variablesAttr);
53402
+ if (!Array.isArray(parsed)) {
53403
+ return [];
53404
+ }
53405
+ return parsed.filter(isCompositionVariable);
53406
+ } catch {
53407
+ return [];
53408
+ }
53409
+ }
53381
53410
  function fnv1a(str) {
53382
53411
  let h3 = 2166136261;
53383
53412
  for (let i2 = 0; i2 < str.length; i2++) {
@@ -53418,7 +53447,12 @@ function mintHfId(el, assigned) {
53418
53447
  return id;
53419
53448
  }
53420
53449
  function isCompositionTemplate(el) {
53421
- return el.tagName.toLowerCase() === "template" && el.getAttribute("data-composition-id") !== null;
53450
+ if (el.tagName.toLowerCase() !== "template") return false;
53451
+ if (el.getAttribute("data-composition-id") !== null) return true;
53452
+ for (const child of Array.from(el.children)) {
53453
+ if (child.getAttribute("data-composition-id") !== null) return true;
53454
+ }
53455
+ return false;
53422
53456
  }
53423
53457
  function walkElements(root, visit) {
53424
53458
  for (const child of Array.from(root.children)) {
@@ -54029,44 +54063,6 @@ function extractCompositionMetadata(html) {
54029
54063
  variables
54030
54064
  };
54031
54065
  }
54032
- function parseCompositionVariables(htmlEl) {
54033
- const variablesAttr = htmlEl.getAttribute("data-composition-variables");
54034
- if (!variablesAttr) {
54035
- return [];
54036
- }
54037
- try {
54038
- const parsed = JSON.parse(variablesAttr);
54039
- if (!Array.isArray(parsed)) {
54040
- return [];
54041
- }
54042
- return parsed.filter((v2) => {
54043
- if (typeof v2 !== "object" || v2 === null) return false;
54044
- if (typeof v2.id !== "string" || typeof v2.label !== "string") return false;
54045
- if (!["string", "number", "color", "boolean", "enum", "font", "image"].includes(v2.type))
54046
- return false;
54047
- switch (v2.type) {
54048
- case "string":
54049
- return typeof v2.default === "string";
54050
- case "number":
54051
- return typeof v2.default === "number";
54052
- case "color":
54053
- return typeof v2.default === "string";
54054
- case "boolean":
54055
- return typeof v2.default === "boolean";
54056
- case "enum":
54057
- return typeof v2.default === "string" && Array.isArray(v2.options);
54058
- case "font":
54059
- return typeof v2.default === "string";
54060
- case "image":
54061
- return typeof v2.default === "string";
54062
- default:
54063
- return false;
54064
- }
54065
- });
54066
- } catch {
54067
- return [];
54068
- }
54069
- }
54070
54066
  function validateCompositionHtml(html) {
54071
54067
  const errors = [];
54072
54068
  const warnings = [];
@@ -54296,7 +54292,7 @@ function decodeUrlPathVariants(path2) {
54296
54292
  }
54297
54293
  return variants;
54298
54294
  }
54299
- var recast, import_parser2, CANVAS_DIMENSIONS, VALID_CANVAS_RESOLUTIONS, RESOLUTION_ALIASES, COMPOSITION_VARIABLE_TYPES, TIMELINE_COLORS, DEFAULT_DURATIONS, PROPERTY_GROUPS, PROP_TO_GROUP, FORBIDDEN_GSAP_PATTERNS, SKIP_KEYS, FUNCTION_TYPES, GSAP_METHODS, MAX_DEPTH, MAX_ITERS, GSAP_METHODS2, QUERY_METHODS, ITERATION_METHODS, SCOPE_NODE_TYPES, CONST_NODES, MATH_FNS, MATH_CONSTS, BUILTIN_VAR_KEYS, DROPPED_VAR_KEYS, EXTRAS_KEYS, PERCENTAGE_KEY_RE, GSAP_DEFAULT_DURATION, EXCLUDED_TAGS, MEDIA_TYPES, CompositionHtmlParseError, UHD_SQUARE_MIN, UHD_RECT_MIN, OK, FONT_ALIAS_MAP, FONT_ALIAS_KEYS;
54295
+ var recast, import_parser2, CANVAS_DIMENSIONS, VALID_CANVAS_RESOLUTIONS, RESOLUTION_ALIASES, COMPOSITION_VARIABLE_TYPES, TIMELINE_COLORS, DEFAULT_DURATIONS, PROPERTY_GROUPS, PROP_TO_GROUP, FORBIDDEN_GSAP_PATTERNS, SKIP_KEYS, FUNCTION_TYPES, GSAP_METHODS, MAX_DEPTH, MAX_ITERS, GSAP_METHODS2, QUERY_METHODS, ITERATION_METHODS, SCOPE_NODE_TYPES, CONST_NODES, MATH_FNS, MATH_CONSTS, BUILTIN_VAR_KEYS, DROPPED_VAR_KEYS, EXTRAS_KEYS, PERCENTAGE_KEY_RE, GSAP_DEFAULT_DURATION, DEFAULT_TYPEOF, EXCLUDED_TAGS, MEDIA_TYPES, CompositionHtmlParseError, UHD_SQUARE_MIN, UHD_RECT_MIN, OK, FONT_ALIAS_MAP, FONT_ALIAS_KEYS;
54300
54296
  var init_dist2 = __esm({
54301
54297
  "../parsers/dist/index.js"() {
54302
54298
  "use strict";
@@ -54309,6 +54305,8 @@ var init_dist2 = __esm({
54309
54305
  init_walk();
54310
54306
  init_acorn();
54311
54307
  init_magic_string_es();
54308
+ init_acorn();
54309
+ init_walk();
54312
54310
  CANVAS_DIMENSIONS = {
54313
54311
  landscape: { width: 1920, height: 1080 },
54314
54312
  portrait: { width: 1080, height: 1920 },
@@ -54420,6 +54418,15 @@ var init_dist2 = __esm({
54420
54418
  ]);
54421
54419
  PERCENTAGE_KEY_RE = /^(\d+(?:\.\d+)?)%$/;
54422
54420
  GSAP_DEFAULT_DURATION = 0.5;
54421
+ DEFAULT_TYPEOF = {
54422
+ string: "string",
54423
+ number: "number",
54424
+ color: "string",
54425
+ boolean: "boolean",
54426
+ enum: "string",
54427
+ font: "string",
54428
+ image: "string"
54429
+ };
54423
54430
  EXCLUDED_TAGS = /* @__PURE__ */ new Set([
54424
54431
  "script",
54425
54432
  "style",
@@ -55854,7 +55861,7 @@ function preset(id, label2, adjust = {}, details = {}) {
55854
55861
  effects: { ...EFFECT_ZERO }
55855
55862
  };
55856
55863
  }
55857
- function isRecord(value) {
55864
+ function isRecord2(value) {
55858
55865
  return typeof value === "object" && value !== null && !Array.isArray(value);
55859
55866
  }
55860
55867
  function clamp(value, min, max) {
@@ -55887,7 +55894,7 @@ function normalizeLut(value) {
55887
55894
  const src = value.trim();
55888
55895
  return src ? { src, intensity: 1 } : null;
55889
55896
  }
55890
- if (!isRecord(value))
55897
+ if (!isRecord2(value))
55891
55898
  return null;
55892
55899
  const rawSrc = value.src;
55893
55900
  if (typeof rawSrc !== "string" || rawSrc.trim() === "")
@@ -55905,14 +55912,14 @@ function readColorGradingObject(raw) {
55905
55912
  if (trimmed.startsWith("{")) {
55906
55913
  try {
55907
55914
  const parsed = JSON.parse(trimmed);
55908
- return isRecord(parsed) ? parsed : null;
55915
+ return isRecord2(parsed) ? parsed : null;
55909
55916
  } catch {
55910
55917
  return null;
55911
55918
  }
55912
55919
  }
55913
55920
  return { preset: trimmed, intensity: 1 };
55914
55921
  }
55915
- return isRecord(raw) ? raw : null;
55922
+ return isRecord2(raw) ? raw : null;
55916
55923
  }
55917
55924
  function resolveStringVariableRef(value, variables) {
55918
55925
  const match = value.trim().match(VARIABLE_REF_RE);
@@ -55935,7 +55942,7 @@ function resolveHfColorGradingVariables(raw, variables) {
55935
55942
  return raw;
55936
55943
  }
55937
55944
  }
55938
- if (!isRecord(raw))
55945
+ if (!isRecord2(raw))
55939
55946
  return raw;
55940
55947
  const resolved = {};
55941
55948
  for (const [key2, value] of Object.entries(raw)) {
@@ -55959,9 +55966,9 @@ function normalizeHfColorGrading(raw) {
55959
55966
  const presetAdjust = preset2?.adjust ?? ADJUST_ZERO;
55960
55967
  const presetDetails = preset2?.details ?? DETAIL_ZERO;
55961
55968
  const presetEffects = preset2?.effects ?? EFFECT_ZERO;
55962
- const rawAdjust = isRecord(grading.adjust) ? grading.adjust : {};
55963
- const rawDetails = isRecord(grading.details) ? grading.details : {};
55964
- const rawEffects = isRecord(grading.effects) ? grading.effects : {};
55969
+ const rawAdjust = isRecord2(grading.adjust) ? grading.adjust : {};
55970
+ const rawDetails = isRecord2(grading.details) ? grading.details : {};
55971
+ const rawEffects = isRecord2(grading.effects) ? grading.effects : {};
55965
55972
  const adjust = HF_COLOR_GRADING_ADJUST_KEYS.reduce((result, key2) => {
55966
55973
  result[key2] = readLimitedValue(rawAdjust[key2] ?? presetAdjust[key2], ADJUST_LIMITS[key2]);
55967
55974
  return result;
@@ -56475,7 +56482,7 @@ var RUNTIME_IIFE;
56475
56482
  var init_runtime_inline = __esm({
56476
56483
  "../core/dist/generated/runtime-inline.js"() {
56477
56484
  "use strict";
56478
- RUNTIME_IIFE = '"use strict";(()=>{var xl=Object.create;var ti=Object.defineProperty;var bl=Object.getOwnPropertyDescriptor;var yl=Object.getOwnPropertyNames;var Sl=Object.getPrototypeOf,El=Object.prototype.hasOwnProperty;var Al=(e,t,n)=>t in e?ti(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var te=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var wl=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of yl(t))!El.call(e,r)&&r!==n&&ti(e,r,{get:()=>t[r],enumerable:!(i=bl(t,r))||i.enumerable});return e};var Cl=(e,t,n)=>(n=e!=null?xl(Sl(e)):{},wl(t||!e||!e.__esModule?ti(n,"default",{value:e,enumerable:!0}):n,e));var be=(e,t,n)=>Al(e,typeof t!="symbol"?t+"":t,n);var ho=te((Np,xi)=>{var X=String,po=function(){return{isColorSupported:!1,reset:X,bold:X,dim:X,italic:X,underline:X,inverse:X,hidden:X,strikethrough:X,black:X,red:X,green:X,yellow:X,blue:X,magenta:X,cyan:X,white:X,gray:X,bgBlack:X,bgRed:X,bgGreen:X,bgYellow:X,bgBlue:X,bgMagenta:X,bgCyan:X,bgWhite:X,blackBright:X,redBright:X,greenBright:X,yellowBright:X,blueBright:X,magentaBright:X,cyanBright:X,whiteBright:X,bgBlackBright:X,bgRedBright:X,bgGreenBright:X,bgYellowBright:X,bgBlueBright:X,bgMagentaBright:X,bgCyanBright:X,bgWhiteBright:X}};xi.exports=po();xi.exports.createColors=po});var bi=te(()=>{});var gn=te((kp,bo)=>{"use strict";var go=ho(),xo=bi(),Ot=class e extends Error{constructor(t,n,i,r,o,s){super(t),this.name="CssSyntaxError",this.reason=t,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,e)}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(t){if(!this.source)return"";let n=this.source;t==null&&(t=go.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(t){let{bold:c,gray:p,red:f}=go.createColors(!0);r=x=>c(f(x)),i=x=>p(x),xo&&(o=x=>xo(x))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(u,a).map((c,p)=>{let f=u+1+p,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(c.length>160){let y=20,g=Math.max(0,this.column-y),A=Math.max(this.column+y,this.endColumn+y),_=c.slice(g,A),N=i(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+N+r("^")}let S=i(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(c)+`\n `+S+r("^")}return" "+i(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};bo.exports=Ot;Ot.default=Ot});var yi=te((Dp,So)=>{"use strict";var ou=/(<)(\\/?style\\b)/gi,su=/(<)(!--)/g;function Je(e){return typeof e!="string"||!e.includes("<")?e:e.replace(ou,"\\\\3c $2").replace(su,"\\\\3c $2")}var yo={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function au(e){return e[0].toUpperCase()+e.slice(1)}var Bt=class{constructor(t){this.builder=t}atrule(t,n){let i=t.raws,r="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),t.nodes)this.block(t,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Je(r+o+s),t)}}beforeAfter(t,n){let i;t.type==="decl"?i=this.raw(t,null,"beforeDecl"):t.type==="comment"?i=this.raw(t,null,"beforeComment"):n==="before"?i=this.raw(t,null,"beforeRule"):i=this.raw(t,null,"beforeClose");let r=t.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(t,null,"indent");if(s.length)for(let u=0;u<o;u++)i+=s}return i}block(t,n){let i=this.raw(t,"between","beforeOpen");this.builder(Je(n+i)+"{",t,"start");let r;t.nodes&&t.nodes.length?(this.body(t),r=this.raw(t,"after")):r=this.raw(t,"after","emptyBody"),r&&this.builder(Je(r)),this.builder("}",t,"end")}body(t){let n=t.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(t,"semicolon"),o=t.type==="document";for(let s=0;s<n.length;s++){let u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Je(a)),this.stringify(u,i!==s||r)}}comment(t){let n=this.raw(t,"left","commentLeft"),i=this.raw(t,"right","commentRight");this.builder(Je("/*"+n+t.text+i+"*/"),t)}decl(t,n){let i=t.raws,r=this.raw(t,"between","colon"),o=t.prop+r+this.rawValue(t,"value");t.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Je(o),t)}document(t){this.body(t)}raw(t,n,i){let r;if(i||(i=n),n&&(r=t.raws[n],typeof r<"u"))return r;let o=t.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return yo[i];let s=t.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(t,i);{let a="raw"+au(i);this[a]?r=this[a](s,t):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=yo[i]),u[i]=r,r}rawBeforeClose(t){let n;return t.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(t,n){let i;return t.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(t,n){let i;return t.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(t){let n;return t.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(i=>{if(i.nodes&&(i.parent!==t||t.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(t){let n;return t.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(i=>{let r=i.parent;if(r&&r!==t&&r.parent&&r.parent===t&&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(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let i=t[n],r=t.raws[n];return r&&r.value===i?r.raw:i}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,i=t.parent&&t.parent.type==="document";this.builder(i?n:Je(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(Je(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};So.exports=Bt;Bt.default=Bt});var Ht=te((Ip,Eo)=>{"use strict";var lu=yi();function Si(e,t){new lu(t).stringify(e)}Eo.exports=Si;Si.default=Si});var xn=te((Pp,Ei)=>{"use strict";Ei.exports.isClean=Symbol("isClean");Ei.exports.my=Symbol("my")});var Ut=te((Op,Ao)=>{"use strict";var uu=gn(),cu=yi(),du=Ht(),{isClean:Gt,my:fu}=xn();function Ai(e,t){let n=new e.constructor;for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="proxyCache")continue;let r=e[i],o=typeof r;i==="parent"&&o==="object"?t&&(n[i]=t):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>Ai(s,n)):(o==="object"&&r!==null&&(r=Ai(r)),n[i]=r)}return n}function ze(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,i=1,r=0;for(let o=0;o<e.length;o++){if(i===t.line&&n===t.column){r=o;break}e[o]===`\n`?(n=1,i+=1):n+=1}return r}var Wt=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Gt]=!1,this[fu]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let i of t[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=Ai(this);for(let i in t)n[i]=t[i];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(t,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new uu(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[Gt]=!0}markDirty(){if(this[Gt]){this[Gt]=!1;let t=this;for(;t=t.parent;)t[Gt]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(ze(i,this.source.start),ze(i,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){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=ze(r,this.source.start),s=o+t;for(let u=o;u<s;u++)r[u]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){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:ze(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:ze(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(t.word){let s=n.slice(ze(n,this.source.start),ze(n,this.source.end)).indexOf(t.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+t.word.length))}else t.start?i={column:t.start.column,line:t.start.line,offset:ze(n,t.start)}:t.index&&(i=this.positionInside(t.index)),t.end?r={column:t.end.column,line:t.end.line,offset:ze(n,t.end)}:typeof t.endIndex=="number"?r=this.positionInside(t.endIndex):t.index&&(r=this.positionInside(t.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(t,n){return new cu().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,i=!1;for(let r of t)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,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 u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}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(t=du){t.stringify&&(t=t.stringify);let n="";return t(this,i=>{n+=i}),n}warn(t,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return t.warn(n,r)}};Ao.exports=Wt;Wt.default=Wt});var zt=te((Bp,wo)=>{"use strict";var mu=Ut(),Vt=class extends mu{constructor(t){super(t),this.type="comment"}};wo.exports=Vt;Vt.default=Vt});var qt=te((Hp,Co)=>{"use strict";var pu=Ut(),jt=class extends pu{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Co.exports=jt;jt.default=jt});var Xe=te((Gp,ko)=>{"use strict";var Fo=zt(),_o=qt(),hu=Ut(),{isClean:vo,my:Mo}=xn(),wi,To,No,Ci;function Lo(e){return e.map(t=>(t.nodes&&(t.nodes=Lo(t.nodes)),delete t.source,t))}function Ro(e){if(e[vo]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Ro(t)}var De=class e extends hu{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(...t){for(let n of t){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=t(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>t[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>t[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let i=this.index(t),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(t);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(t,n){let i=this.index(t),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(t);for(let u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=Lo(To(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new _o(t)]}else if(t.selector||t.selectors)t=[new Ci(t)];else if(t.name)t=[new wi(t)];else if(t.text)t=[new Fo(t)];else throw new Error("Unknown node type in node creation");return t.map(r=>(r[Mo]||e.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[vo]&&Ro(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(...t){t=t.reverse();for(let n of t){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(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=t&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(t,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(t,i))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,i)=>{let r;try{r=t(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(t)),r})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&t.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(t){return this.walk((n,i)=>{if(n.type==="comment")return t(n,i)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&t.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&t.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};De.registerParse=e=>{To=e};De.registerRule=e=>{Ci=e};De.registerAtRule=e=>{wi=e};De.registerRoot=e=>{No=e};ko.exports=De;De.default=De;De.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,wi.prototype):e.type==="rule"?Object.setPrototypeOf(e,Ci.prototype):e.type==="decl"?Object.setPrototypeOf(e,_o.prototype):e.type==="comment"?Object.setPrototypeOf(e,Fo.prototype):e.type==="root"&&Object.setPrototypeOf(e,No.prototype),e[Mo]=!0,e.nodes&&e.nodes.forEach(t=>{De.rebuild(t)})}});var bn=te((Wp,Io)=>{"use strict";var Do=Xe(),pt=class extends Do{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};Io.exports=pt;pt.default=pt;Do.registerAtRule(pt)});var yn=te((Up,Bo)=>{"use strict";var gu=Xe(),Po,Oo,at=class extends gu{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Po(new Oo,this,t).stringify()}};at.registerLazyResult=e=>{Po=e};at.registerProcessor=e=>{Oo=e};Bo.exports=at;at.default=at});var Go=te((Vp,Ho)=>{var xu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",bu=(e,t=21)=>(n=t)=>{let i="",r=n|0;for(;r--;)i+=e[Math.random()*e.length|0];return i},yu=(e=21)=>{let t="",n=e|0;for(;n--;)t+=xu[Math.random()*64|0];return t};Ho.exports={nanoid:yu,customAlphabet:bu}});var Sn=te(()=>{});var En=te(()=>{});var Fi=te(()=>{});var Wo=te(()=>{});var vi=te((Qp,zo)=>{"use strict";var{existsSync:Su,readFileSync:Eu}=Wo(),{dirname:_i,join:Au}=Sn(),{SourceMapConsumer:Uo,SourceMapGenerator:Vo}=En();function wu(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var $t=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),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=_i(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Uo(this.json||this.text)),this.consumerCache}decodeInline(t){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=t.match(r)||t.match(o);if(s)return decodeURIComponent(t.substr(s[0].length));let u=t.match(n)||t.match(i);if(u)return wu(t.substr(u[0].length));let a=t.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=t.lastIndexOf(n.pop()),r=t.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(t.substring(i,r)))}loadFile(t,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=_i(t),Su(t)))return this.mapFile=t,Eu(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(t);if(i){let r=this.loadFile(i,t,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof Uo)return Vo.fromSourceMap(n).toString();if(n instanceof Vo)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;t&&(i=Au(_i(t),i));let r=this.loadFile(i,t,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};zo.exports=$t;$t.default=$t});var Kt=te((Zp,Jo)=>{"use strict";var{nanoid:Cu}=Go(),{isAbsolute:Ni,resolve:Li}=Sn(),{SourceMapConsumer:Fu,SourceMapGenerator:_u}=En(),{fileURLToPath:jo,pathToFileURL:An}=Fi(),qo=gn(),vu=vi(),Mi=bi(),Ti=Symbol("lineToIndexCache"),Mu=!!(Fu&&_u),$o=!!(Li&&Ni);function Ko(e){if(e[Ti])return e[Ti];let t=e.css.split(`\n`),n=new Array(t.length),i=0;for(let r=0,o=t.length;r<o;r++)n[r]=i,i+=t[r].length+1;return e[Ti]=n,n}var ht=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.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&&(!$o||/^\\w+:\\/\\//.test(n.from)||Ni(n.from)?this.file=n.from:this.file=Li(n.from)),$o&&Mu){let i=new vu(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 "+Cu(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,i,r={}){let o,s,u,a,l;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let x=this.fromOffset(u);s=x.line,o=x.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let c=this.origin(n,i,s,o);return c?l=new qo(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,r.plugin):l=new qo(t,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:u,line:n,offset:a,source:this.css},this.file&&(An&&(l.input.url=An(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(t,n){return Ko(this)[t-1]+n-1}fromOffset(t){let n=Ko(this),i=n[n.length-1],r=0;if(t>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),t<n[s])o=s-1;else if(t>=n[s+1])r=s+1;else{r=s;break}}return{col:t-n[r]+1,line:r+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:Li(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:t});if(!s.source)return!1;let u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;Ni(s.source)?a=An(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||An(this.map.mapFile));let l={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(jo)l.file=jo(a);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(s.source);return c&&(l.source=c),l}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};Jo.exports=ht;ht.default=ht;Mi&&Mi.registerInput&&Mi.registerInput(ht)});var gt=te((eh,Zo)=>{"use strict";var Xo=Xe(),Yo,Qo,Ye=class extends Xo{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,i){let r=super.normalize(t);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(t,n){let i=this.index(t);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(t)}toResult(t={}){return new Yo(new Qo,this,t).stringify()}};Ye.registerLazyResult=e=>{Yo=e};Ye.registerProcessor=e=>{Qo=e};Zo.exports=Ye;Ye.default=Ye;Xo.registerRoot(Ye)});var Ri=te((th,es)=>{"use strict";var Jt={comma(e){return Jt.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Jt.split(e,t)},split(e,t,n){let i=[],r="",o=!1,s=0,u=!1,a="",l=!1;for(let c of e)l?l=!1:c==="\\\\"?l=!0:u?c===a&&(u=!1):c===\'"\'||c==="\'"?(u=!0,a=c):c==="("?s+=1:c===")"?s>0&&(s-=1):s===0&&t.includes(c)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=c;return(n||r!=="")&&i.push(r.trim()),i}};es.exports=Jt;Jt.default=Jt});var wn=te((nh,ns)=>{"use strict";var ts=Xe(),Tu=Ri(),xt=class extends ts{get selectors(){return Tu.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(i)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};ns.exports=xt;xt.default=xt;ts.registerRule(xt)});var rs=te((ih,is)=>{"use strict";var Nu=bn(),Lu=zt(),Ru=qt(),ku=Kt(),Du=vi(),Iu=gt(),Pu=wn();function Xt(e,t){if(Array.isArray(e))return e.map(r=>Xt(r));let{inputs:n,...i}=e;if(n){t=[];for(let r of n){let o={...r,__proto__:ku.prototype};o.map&&(o.map={...o.map,__proto__:Du.prototype}),t.push(o)}}if(i.nodes&&(i.nodes=e.nodes.map(r=>Xt(r,t))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=t[r])}if(i.type==="root")return new Iu(i);if(i.type==="decl")return new Ru(i);if(i.type==="rule")return new Pu(i);if(i.type==="comment")return new Lu(i);if(i.type==="atrule")return new Nu(i);throw new Error("Unknown node type: "+e.type)}is.exports=Xt;Xt.default=Xt});var Di=te((rh,cs)=>{"use strict";var{dirname:Cn,relative:ss,resolve:as,sep:ls}=Sn(),{SourceMapConsumer:us,SourceMapGenerator:Fn}=En(),{pathToFileURL:os}=Fi(),Ou=Kt(),Bu=!!(us&&Fn),Hu=!!(Cn&&as&&ss&&ls),ki=class{constructor(t,n,i,r){this.stringify=t,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 t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),i=t.root||Cn(t.file),r;this.mapOpts.sourcesContent===!1?(r=new us(t.text),r.sourcesContent&&(r.sourcesContent=null)):r=t.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),Hu&&Bu&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Fn.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Fn({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 Fn({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(u,a,l)=>{if(this.css+=u,a&&l!=="end"&&(r.generated.line=t,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=u.match(/\\n/g),s?(t+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&l!=="start"){let c=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==c.last||c.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=t,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=t,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(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!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(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let i=this.opts.to?Cn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Cn(as(i,this.mapOpts.annotation)));let r=ss(i,t);return this.memoizedPaths.set(t,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new Ou(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!t[i]){t[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(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(os){let i=os(t).toString();return this.memoizedFileURLs.set(t,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;ls==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let i=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,i),i}};cs.exports=ki});var ms=te((oh,fs)=>{"use strict";var _n=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,vn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Gu=/.[\\r\\n"\'(/\\\\]/,ds=/[\\da-f]/i;fs.exports=function(t,n={}){let i=t.css.valueOf(),r=n.ignoreErrors,o,s,u,a,l,c,p,f,x,S,y=i.length,g=0,A=[],_=[],N=-1;function J(){return g}function B(v){throw t.error("Unclosed "+v,g)}function M(){return _.length===0&&g>=y}function E(v){if(_.length)return _.pop();if(g>=y)return;let T=v?v.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);c=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);c=[k,k,g];break}case 40:{if(S=A.length?A.pop()[1]:"",x=i.charCodeAt(g+1),S==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(p=!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,p=!p}while(p);c=["brackets",i.slice(g,a+1),g,a],g=a}else g<=N?c=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||Gu.test(s)?(N=a===-1?y:a,c=["(","(",g]):(c=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(p=!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,p=!p}while(p);c=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{_n.lastIndex=g+1,_n.test(i),_n.lastIndex===0?a=i.length-1:a=_n.lastIndex-2,c=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,ds.test(i.charAt(a)))){for(;ds.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}c=["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")),c=["comment",i.slice(g,a+1),g,a],g=a):(vn.lastIndex=g+1,vn.test(i),vn.lastIndex===0?a=i.length-1:a=vn.lastIndex-2,c=["word",i.slice(g,a+1),g,a],A.push(c),g=a);break}}return g++,c}function F(v){_.push(v)}return{back:F,endOfFile:M,nextToken:E,position:J}}});var xs=te((sh,gs)=>{"use strict";var Wu=bn(),Uu=zt(),Vu=qt(),zu=gt(),ps=wn(),ju=ms(),hs={empty:!0,space:!0};function qu(e){for(let t=e.length-1;t>=0;t--){let n=e[t],i=n[3]||n[2];if(i)return i}}var Ii=class{constructor(t){this.input=t,this.root=new zu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new Wu;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let i,r,o,s=!1,u=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),i=t[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(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!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(t);break}else a.push(t);else a.push(t);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&&(t=a[a.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),u&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=t[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(t){let n=0,i,r,o;for(let[s,u]of t.entries()){if(r=u,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(t){let n=new Uu;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let i=t[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=ju(this.input)}decl(t,n){let i=new Vu;this.init(i,t[0][2]);let r=t[t.length-1];for(r[0]===";"&&(this.semicolon=!0,t.pop()),i.source.end=this.getPosition(r[3]||r[2]||qu(t)),i.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),i.raws.before+=t.shift()[1];for(i.source.start=this.getPosition(t[0][2]),i.prop="";t.length;){let l=t[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=t.shift()[1]}i.raws.between="";let o;for(;t.length;)if(o=t.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=[],u;for(;t.length&&(u=t[0][0],!(u!=="space"&&u!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let l=t.length-1;l>=0;l--){if(o=t[l],o[1].toLowerCase()==="!important"){i.important=!0;let c=this.stringFrom(t,l);c=this.spacesFromEnd(t)+c,c!==" !important"&&(i.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),p="";for(let f=l;f>0;f--){let x=c[f][0];if(p.trim().startsWith("!")&&x!=="space")break;p=c.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(t),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new ps;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){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(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}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(t){if(this.spaces+=t[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(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,i=null,r=!1,o=null,s=[],u=t[1].startsWith("--"),a=[],l=t;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);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(!u)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}else this.unknownWord(a)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,i,r){let o,s,u=i.length,a="",l=!0,c,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?l=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",c=i[f+1]?i[f+1][0]:"empty",!hs[p]&&!hs[c]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,S)=>x+S[1],"");t.raws[n]={raw:f,value:a}}t[n]=a}rule(t){t.pop();let n=new ps;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)i=t.pop()[1]+i;return i}spacesAndCommentsFromStart(t){let n,i="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)i+=t.shift()[1];return i}spacesFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],n==="space");)i=t.pop()[1]+i;return i}stringFrom(t,n){let i="";for(let r=n;r<t.length;r++)i+=t[r][1];return t.splice(n,t.length-n),i}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};gs.exports=Ii});var Tn=te((ah,bs)=>{"use strict";var $u=Xe(),Ku=Kt(),Ju=xs();function Mn(e,t){let n=new Ku(e,t),i=new Ju(n);try{i.parse()}catch(r){throw r}return i.root}bs.exports=Mn;Mn.default=Mn;$u.registerParse(Mn)});var Pi=te((lh,ys)=>{"use strict";var Yt=class{constructor(t,n={}){if(this.type="warning",this.text=t,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}};ys.exports=Yt;Yt.default=Yt});var Nn=te((uh,Ss)=>{"use strict";var Xu=Pi(),Qt=class{get content(){return this.css}constructor(t,n,i){this.processor=t,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new Xu(t,n);return this.messages.push(i),i}warnings(){return this.messages.filter(t=>t.type==="warning")}};Ss.exports=Qt;Qt.default=Qt});var Oi=te((ch,As)=>{"use strict";var Es={};As.exports=function(t){Es[t]||(Es[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var Gi=te((fh,_s)=>{"use strict";var Yu=Xe(),Qu=yn(),Zu=Di(),ec=Tn(),ws=Nn(),tc=gt(),nc=Ht(),{isClean:He,my:ic}=xn(),dh=Oi(),rc={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},oc={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},sc={Once:!0,postcssPlugin:!0,prepare:!0},bt=0;function Zt(e){return typeof e=="object"&&typeof e.then=="function"}function Fs(e){let t=!1,n=rc[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,bt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,bt,n+"Exit"]:[n,n+"Exit"]}function Cs(e){let t;return e.type==="document"?t=["Document",bt,"DocumentExit"]:e.type==="root"?t=["Root",bt,"RootExit"]:t=Fs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Bi(e){return e[He]=!1,e.nodes&&e.nodes.forEach(t=>Bi(t)),e}var Hi={},Qe=class e{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(t,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Bi(n);else if(n instanceof e||n instanceof ws)r=Bi(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=ec;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[ic]&&Yu.rebuild(r)}this.result=new ws(t,r,i),this.helpers={...Hi,postcss:Hi,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(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let i=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=i.postcssPlugin,t.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return t}prepareVisitors(){this.listeners={};let t=(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(!oc[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!sc[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?t(n,i,n[i][r]):t(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&t(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],i=this.runOnRoot(n);if(Zt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[He];){t[He]=!0;let n=[Cs(t)];for(;n.length>0;){let i=this.visitTick(n);if(Zt(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(t.type==="document"){let r=t.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(t,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>t.Once(i,this.helpers));return Zt(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(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 t=this.result.opts,n=nc;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(t.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,u=>{s+=u}),this.result.css=s,this.result}let o=new Zu(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 t of this.plugins){let n=this.runOnRoot(t);if(Zt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[He];)t[He]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[i,r]of t){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(Zt(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){t.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[He]){u[He]=!0,t.push(Cs(u));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===bt){i.nodes&&i.nodes.length&&(i[He]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[He]=!0;let n=Fs(t);for(let i of n)if(i===bt)t.nodes&&t.each(r=>{r[He]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Qe.registerPostcss=e=>{Hi=e};_s.exports=Qe;Qe.default=Qe;tc.registerLazyResult(Qe);Qu.registerLazyResult(Qe)});var Ms=te((ph,vs)=>{"use strict";var ac=Di(),lc=Tn(),uc=Nn(),cc=Ht(),mh=Oi(),en=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 t,n=lc;try{t=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,i){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=i,this._map=void 0;let r=cc;this.result=new uc(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 ac(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),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(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};vs.exports=en;en.default=en});var Ns=te((hh,Ts)=>{"use strict";var dc=yn(),fc=Gi(),mc=Ms(),pc=gt(),lt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let i of t)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(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new mc(this,t,n):new fc(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Ts.exports=lt;lt.default=lt;pc.registerProcessor(lt);dc.registerProcessor(lt)});var Bs=te((gh,Os)=>{"use strict";var Ls=bn(),Rs=zt(),hc=Xe(),gc=gn(),ks=qt(),Ds=yn(),xc=rs(),bc=Kt(),yc=Gi(),Sc=Ri(),Ec=Ut(),Ac=Tn(),Wi=Ns(),wc=Nn(),Is=gt(),Ps=wn(),Cc=Ht(),Fc=Pi();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new Wi(e)}le.plugin=function(t,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let u=n(...s);return u.postcssPlugin=t,u.postcssVersion=new Wi().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return le([r(a)]).process(s,u)},r};le.stringify=Cc;le.parse=Ac;le.fromJSON=xc;le.list=Sc;le.comment=e=>new Rs(e);le.atRule=e=>new Ls(e);le.decl=e=>new ks(e);le.rule=e=>new Ps(e);le.root=e=>new Is(e);le.document=e=>new Ds(e);le.CssSyntaxError=gc;le.Declaration=ks;le.Container=hc;le.Processor=Wi;le.Document=Ds;le.Comment=Rs;le.Warning=Fc;le.AtRule=Ls;le.Result=wc;le.Input=bc;le.Rule=Ps;le.Root=Is;le.Node=Ec;yc.registerPostcss(le);Os.exports=le;le.default=le});function mn(){return globalThis}function L(e,t){if(typeof window>"u")return;let n=mn(),i=n.__hf?.onSwallowed;if(i)try{i({label:e,error:t})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}function Ce(e){try{window.parent.postMessage(e,"*")}catch(t){L("bridge.postMessage",t)}}var Fl={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Number(e.frame??0),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>_l(e)};function _l(e){let t=e.selectors,n=e.duration||800;t&&vl(t,n)}function Mr(e){let t=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=Fl[r];o&&o(i,e)};return window.addEventListener("message",t),Ce({source:"hf-preview",type:"ready"}),t}function vl(e,t){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 ${t}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 e)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),t)})}catch(i){L("bridge.flashElements.querySelector",i)}}var ni=null;function Tr(e){ni=e}function st(e,t){if(ni)try{ni({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function Ml(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,i=t.length;for(;n<i&&t[n]==="-";)n++;for(;i>n&&t[i-1]==="-";)i--;let r=t.slice(n,i);return r.length>0?r:"node"}function Mt(e){return`--${Ml(e)}`}function Nr(e){let t=new Map;for(let n of e){let i=Mt(n),r=t.get(i);r?r.includes(n)||r.push(n):t.set(i,[n])}return[...t.values()].filter(n=>n.length>1)}function Lr(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,Tt(i));let n=pn();return{...t,...n}}function Tt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}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}var ii="data-hf-css-vars";function ri(e){return"style"in e&&typeof e.style?.setProperty=="function"}function oi(e,t){if(!ri(e))return;let n=[];for(let[i,r]of Object.entries(t))if(typeof r=="string"&&r!==""||typeof r=="number"){let o=Mt(i);e.style.setProperty(o,String(r)),n.push(o)}n.length>0&&e.setAttribute(ii,n.join(" "))}function Rr(e){if(!ri(e))return;let t=e.getAttribute(ii);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ii)}}function kr(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let r of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(r);let n=pn(),i=[];for(let r of t)i.push(...Tl(r,n,e.defaultView));for(let r of Nr(i))console.warn(`composition variables ${r.join(", ")} collapse to the same CSS property ${Mt(r[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Tl(e,t,n){if(!ri(e))return[];let i=Tt(e),r={};for(let[o,s]of Object.entries(i)){if(o in t)continue;let u=Mt(o);(e.style.getPropertyValue(u)||(n?n.getComputedStyle(e).getPropertyValue(u):"")).trim()===""&&(r[o]=s)}for(let[o,s]of Object.entries(t))o in i&&(r[o]=s);return oi(e,r),Object.keys(i)}function Dr(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function pn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ir(e){let t=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>e?.resolveStartSeconds?e.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,c)=>{let p=null;try{p=l.effect?.getComputedTiming?.()??null}catch(x){L("runtime.adapters.css.site5",x)}if(!p)return{};let f=Number(p.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(l,c)=>{for(let p of l){try{p.currentTime=c}catch(f){L("runtime.adapters.css.site1",f)}try{p.pause()}catch(f){L("runtime.adapters.css.site2",f)}}},s=l=>{for(let c of l)try{c.play()}catch(p){L("runtime.adapters.css.site3",p)}},u=l=>{for(let c of l)try{c.pause()}catch(p){L("runtime.adapters.css.site4",p)}},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:()=>{t=[];let l=document.querySelectorAll("*");for(let c of l){if(!(c instanceof HTMLElement))continue;let p=window.getComputedStyle(c);!p.animationName||p.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let l=0;for(let c of t){if(!c.el.isConnected)continue;let p=i(c.el);for(let f of n(c.el)){let x=r(f,p);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let c=Number(l.time)||0;for(let p of t){if(!p.el.isConnected)continue;let f=i(p.el),x=Math.max(0,c-f)*1e3,S=p.animations;if(S.length>0){o(S,x);continue}p.el.style.animationPlayState="paused",p.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of t){if(!l.el.isConnected)continue;let c=l.animations;c.length>0&&u(c),a(l)}},play:()=>{for(let l of t)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{t=[]}}}function Pr(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(t.time)||0),r=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,r)):n.seek(i,r)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function Or(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfAnime=n}catch(e){L("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(t)}catch(r){L("runtime.adapters.animejs.site2",r)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){L("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){L("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function Hr(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(e){L("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(si(i))i.goToAndStop(t*1e3,!1);else if(ai(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=t*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,t/r*100);i.seek(o)}}}catch(r){L("runtime.adapters.lottie.site2",r)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(si(t)||ai(t))&&t.pause()}catch(n){L("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let i of e){let r=null;try{r=Nl(i)}catch(o){L("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,t=Math.max(t,r))}return n?t:null}}}function Br(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function Nl(e){return si(e)?Br(e.totalFrames,e.frameRate):ai(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:Br(e.totalFrames,e.frameRate):null}function si(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function ai(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var li=-1;function hn(e){if(e!==li){li=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.site1",t)}}}function Gr(e){li=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.force",t)}}function Wr(){let e=null,t=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},u=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(c=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,c()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(c,p,f){try{i?.call(this,c,p,f)}finally{u(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),u(l))},seek:l=>{e=Math.max(0,Number(l.time)||0),t=e,window.__hfThreeTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||u(l),o)}}}function Be(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=e.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:t||(t=Promise.allSettled(r.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Ur(){return Be({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Vr(){return Be({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function zr(){return Be({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function jr(){return Be({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function qr(){return Be({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}function $r(){let e=null,t=0;return{name:"typegpu",discover:()=>{},seek:n=>{e=Math.max(0,Number(n.time)||0),t=e,window.__hfTypegpuTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0}}}function Kr(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Jr(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Kr(n.source);if(o)return t.call(this,{...n,source:o},i,r)}return t.call(this,n,i,r)}}function Xr(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let i=n?.prototype;if(i)for(let r of t){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...u){let a=u.length-1,l=u[a];if(l instanceof HTMLVideoElement){let c=Kr(l);c&&(u[a]=c)}return o.apply(this,u)};s.__hfVideoPatched=!0,i[r]=s}}}function Yr(){let e=!1,t=0,n=!1,i,r,o,s=new Set,u=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let A=Number(g.currentTime);return Number.isFinite(A)&&A>0?A:0},c=(g,A)=>A<=0?g:g>=A?Math.max(0,g-A):g,p=(g,A)=>{let _=u.get(g);if(_)return _;let N={compositionTimeMs:A,animationTimeMs:e?c(l(g),A):l(g)};return u.set(g,N),N},f=(g,A)=>{if(!s.has(g)){s.add(g);let _=()=>{s.delete(g)};try{g.addEventListener("finish",_,{once:!0}),g.addEventListener("cancel",_,{once:!0})}catch(N){L("runtime.adapters.waapi.site4",N)}}p(g,A)},x=(g,A)=>{for(let _ of g)f(_,A)},S=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let A=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:A,configurable:!0});let _=function(...N){let J=A.apply(this,N);return f(J,t),J};g.animate=_,i=g,r=A,o=_,n=!0}catch{}},y=g=>{let A=null;try{A=g.effect?.getComputedTiming?.()??null}catch(J){L("runtime.adapters.waapi.site4",J)}if(!A)return{};let _=Number(A.endTime);return Number.isFinite(_)?{endSeconds:(u.get(g)?.compositionTimeMs??0)/1e3+_/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,S(),x(a(),t)},seek:g=>{let A=Math.max(0,(Number(g.time)||0)*1e3);t=A,(!e||s.size>0)&&x(a(),e?A:0);for(let _ of s){let N=e?p(_,A):p(_,0),J=N.animationTimeMs+Math.max(0,A-N.compositionTimeMs);try{_.currentTime=J}catch(B){L("runtime.adapters.waapi.site1",B)}try{_.pause()}catch(B){L("runtime.adapters.waapi.site2",B)}}},pause:()=>{e||x(a(),t);for(let g of s)try{g.pause()}catch(A){L("runtime.adapters.waapi.site3",A)}},revert:()=>{if(s.clear(),u=new WeakMap,e=!1,t=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){L("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let A of a()){let _=y(A);_.endSeconds!=null&&(g=Math.max(g,_.endSeconds))}return g>0?g:null}}}function Qr(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let i=e[n],r=e[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(t-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ll(e,t,n,i){let r=Number.parseFloat(e.dataset.start??"0")||0,o=Number.parseFloat(e.dataset.end??""),s=Number.parseFloat(e.dataset.duration??""),u=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(e.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;e.volume=l;let c=1/Math.min(60,Math.max(1,i)),p=Math.max(0,r),f=Math.min(n,u),x=[];for(let y=p;y<=f+1e-6;y+=c){let g=Math.min(f,y);t(g);let A=Number(e.volume);if(!Number.isFinite(A))continue;let _=Math.max(0,Math.min(1,A)),N=x.at(-1);if((!N||Math.abs(N.volume-_)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(_.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function Zr(e,t,n,i){if(!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=Ll(e,s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},n,60);o&&i.set(e,o)}function Rt(e){let t=e.defaultPlaybackRate;return Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1}function eo(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(s=>e.shouldIncludeElement?.(s)):t.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let u=e?.resolveStartSeconds?e.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Rt(s),c=s.loop,p=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=e?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&p!=null&&(f=Math.max(0,(p-a)/l));let x=Number.isFinite(f)&&f>0?u+f:Number.POSITIVE_INFINITY,S=Number.parseFloat(s.dataset.volume??""),y={el:s,start:u,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(S)?S:null,playbackRate:l,loop:c,sourceDuration:p};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 ui=new WeakMap,Nt=new WeakMap,ci=new WeakSet,ft=new WeakSet;function Rl(e){if(ft.has(e))return;ft.add(e);let t=()=>ft.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var kl=3;function Dl(e){return e.error!=null||e.networkState===kl}var di=new WeakMap;function Lt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function to(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(e.timeSeconds>=n.start&&e.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=Lt(e.userVolume??1),u=Lt(n.volume??1),a=di.get(i),l=Lt(i.volume),c;n.volumeKeyframes&&n.volumeKeyframes.length>0?c=Lt(Qr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?c=l:c=u;let p=Lt(c*s);i.volume=p,di.set(i,p),e.onElementVolume?.(i,p),(t||e.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*e.playbackRate}catch(T){L("runtime.media.site1",T)}let f=.04,x=2,S=i.currentTime||0,y=Math.abs(S-r),g=r-S,A=ui.get(i);ui.set(i,g);let _=A===void 0,N=!_&&Math.abs(g-A)>.5,J=y>3,B=y>.5&&(_||N||J),M=i.tagName==="VIDEO"&&!i.paused,E=A!==void 0&&Math.abs(g-A)<.004,F=!1;if(!M&&!B&&!_&&E&&y>f){let T=(Nt.get(i)??0)+1;Nt.set(i,T),T>=x&&(F=!0,Nt.set(i,0))}else y<=f&&Nt.set(i,0);let v=!M&&e.forceSync&&y>.02;if(B||F||v){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){L("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!ci.has(i)){ci.add(i),i.load();try{i.currentTime=r}catch(k){L("runtime.media.site3",k)}}}ft.delete(i)}e.playing&&i.paused&&!ft.has(i)&&!Dl(i)?(Rl(i),i.play().catch(T=>{ft.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!i.paused&&i.pause();continue}ui.delete(i),Nt.delete(i),ci.delete(i),di.delete(i),i.paused||i.pause()}}var Il=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Pl=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),Ol="data-hf-color-grading-source-hidden";function no(e){let t=!1,n=null,i=null,r=null,o=null;function s(E,F){try{window.dispatchEvent(new CustomEvent(E,{detail:F}))}catch(v){L("runtime.picker.site1",v)}}function u(E){r=E,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:t,timestamp:Date.now()})}function a(E){o=E,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function l(E){let F=E.ownerDocument.defaultView;if(!F)return!1;let v=E;for(;v&&v!==document.body&&v!==document.documentElement;){let T=F.getComputedStyle(v);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let k=Number.parseFloat(T.opacity);if(Number.isFinite(k)&&k<=.01&&!v.hasAttribute(Ol))return!0;v=v.parentElement}return!1}function c(E){if(!E||E===document.body||E===document.documentElement)return!1;let F=E.tagName.toLowerCase();return!(F==="script"||F==="style"||F==="link"||F==="meta"||E.classList.contains("__hf-pick-highlight")||E.closest(Il)||l(E))}function p(E){return!!E?.closest(Pl)}function f(E){let F=E;if(F.id)return`#${F.id}`;let v=E.getAttribute("data-composition-id");if(v)return`[data-composition-id="${CSS.escape(v)}"]`;let T=E.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let k=E.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=E.tagName.toLowerCase(),j=E.parentElement;if(!j)return W;let re=j.querySelectorAll(`:scope > ${W}`);if(re.length===1)return W;for(let P=0;P<re.length;P+=1)if(re[P]===E)return`${W}:nth-of-type(${P+1})`;return W}function x(E){let F=E.tagName.toLowerCase(),v=(E.textContent??"").trim().replace(/\\s+/g," "),T=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return F==="h1"||F==="h2"||F==="h3"?"Heading":F==="p"||F==="span"||F==="div"?v.length>0?T(v,56):"Text":F==="img"?"Image":F==="video"?"Video":F==="audio"?"Audio":F==="svg"?"Shape":E.getAttribute("data-composition-src")?"Composition":F==="section"?"Section":`${F.charAt(0).toUpperCase()}${F.slice(1)}`}function S(E,F,v){let T=typeof v=="number"&&v>0?v:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(E,F);else if(document.elementFromPoint){let re=document.elementFromPoint(E,F);k=re?[re]:[]}if(p(k[0]??null))return[];let W={},j=[];for(let re=0;re<k.length;re+=1){let P=k[re];if(!c(P))continue;let se=`${P.tagName}::${P.id||""}::${re}`;if(!W[se]&&(W[se]=!0,j.push(P),j.length>=T))break}return j}function y(E){let F=E.getBoundingClientRect(),v={};for(let k=0;k<E.attributes.length;k+=1){let W=E.attributes[k];W.name.startsWith("data-")&&(v[W.name]=W.value)}return{id:E.id||null,tagName:E.tagName.toLowerCase(),selector:f(E),label:x(E),boundingBox:{x:F.left,y:F.top,width:F.width,height:F.height},textContent:E.textContent?E.textContent.trim().slice(0,200):null,src:E.getAttribute("src")||E.getAttribute("data-composition-src")||null,dataAttributes:v}}function g(E,F,v){return S(E,F,v).map(y)}function A(E){if(!t)return;let v=S(E.clientX,E.clientY,1)[0]??(E.target instanceof Element?E.target:null);if(!c(v)||n===v)return;n&&n.classList.remove("__hf-pick-highlight"),n=v,v.classList.add("__hf-pick-highlight");let T=y(v);u(T),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function _(E){if(!t)return;E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation();let F=g(E.clientX,E.clientY,8);F.length!==0&&(u(F[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:F,selectedIndex:0,point:{x:E.clientX,y:E.clientY}}))}function N(E){E.key==="Escape"&&(B(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function J(){t||(t=!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",A,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){t&&(t=!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",A,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function M(){window.__HF_PICKER_API={enable:J,disable:B,isActive:()=>t,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(E,F,v)=>Number.isFinite(E)&&Number.isFinite(F)?g(E,F,v):[],pickAtPoint:(E,F,v)=>{if(!Number.isFinite(E)||!Number.isFinite(F))return null;let T=g(E,F,8);if(!T.length)return null;let k=Math.max(0,Math.min(T.length-1,Number(v??0))),W=T[k]??null;return W?(a(W),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),B(),W):null},pickManyAtPoint:(E,F,v)=>{if(!Number.isFinite(E)||!Number.isFinite(F))return[];let T=g(E,F,8);if(!T.length)return[];let k=[],W=Array.isArray(v)?v:[0];for(let j of W){let re=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[re];if(!P)continue;k.some(Ee=>Ee.selector===P.selector&&Ee.tagName===P.tagName)||k.push(P)}return k.length?(a(k[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),B(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:J,disablePickMode:B,installPickerApi:M}}var Bl=["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 mt(e,t){let n=Number.isFinite(t)&&t>0?t:30,i=Number.isFinite(e)&&e>0?e:0;return Math.floor(i*n+1e-9)/n}function io(e,t,n=Bl){for(let i of n){let r=t.getPropertyValue(i);r&&e.setProperty(i,r)}}function kt(e,t,n){let i=e?.[t];return typeof i=="function"?Number(i.call(e))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&L("runtime.player.nonConformantNum",{prop:t,actual:typeof i}),n)}function ke(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&L("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function Dt(e,t,n){if(e){for(let i of Object.values(e))if(!(!i||i===t))try{n(i)}catch(r){L("runtime.player.site1",r)}}}function ro(e,t,n,i){let r=mt(t,n),o=i?.suppressEvents===!0;return ke(e,"pause"),typeof e.totalTime=="function"?e.totalTime(r,o):typeof e.seek=="function"&&e.seek(r,o),r}function Hl(e,t,n,i,r){let o=[];Dt(e,t,s=>{ke(s,"play"),o.push(s)});try{return ro(t,n,i,r)}finally{for(let s of o)try{ke(s,"pause")}catch(u){L("runtime.player.site2",u)}}}function Gl(e,t){Dt(e,t,n=>{ke(n,"play")})}function oo(e){return{_timeline:null,play:()=>{let t=e.getTimeline();if(!t||e.getIsPlaying())return;let n=Math.max(0,Number(e.getSafeDuration?.()??kt(t,"duration",0))||0);n>0&&Math.max(0,kt(t,"time",0))>=n&&(ke(t,"pause"),typeof t.seek=="function"&&t.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof t.timeScale=="function"&&t.timeScale(e.getPlaybackRate()),ke(t,"play"),Dt(e.getTimelineRegistry?.(),t,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let t=e.getTimeline();if(!t)return;ke(t,"pause"),Dt(e.getTimelineRegistry?.(),t,i=>{ke(i,"pause")});let n=Math.max(0,kt(t,"time",0));e.onDeterministicSeek(n),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(n,!1),e.onRenderFrameSeek(n),e.onStatePost(!0)},seek:(t,n)=>{let i=e.getTimeline();if(!i)return;let r=Math.max(0,Number(t)||0),o=e.getIsPlaying(),s=Hl(e.getTimelineRegistry?.(),i,r,e.getCanonicalFps());e.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play"),Dt(e.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(e.getPlaybackRate()),ke(u,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(t,n)=>{let i=e.getTimeline(),r=e.getCanonicalFps(),o=i?(Gl(e.getTimelineRegistry?.(),i),ro(i,t,r,n)):mt(Math.max(0,Number(t)||0),r);e.onDeterministicSeek(o,n),e.setIsPlaying(!1),e.onSyncMedia(o,!1),e.onRenderFrameSeek(o),e.onStatePost(!0)},getTime:()=>kt(e.getTimeline(),"time",0),getDuration:()=>kt(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:t=>e.setPlaybackRate(t),getPlaybackRate:()=>e.getPlaybackRate()}}function so(){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 Wl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function mi(e){return e.id||e.getAttribute("data-hf-id")||null}function fi(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function Ul(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let i=Number(t[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function Vl(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=fi(e.getAttribute("data-playback-start"))??fi(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function zl(e,t,n,i){let r=fi(e.getAttribute("data-duration"));return r!=null&&r>0?r:Ul(e,t)??Vl(e)??Math.max(0,n-i)}function jl(e){for(let[t,n]of e){let i=t.parentElement;for(;i;){let r=e.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function ao(e){let{startResolver:t,timelineRegistry:n,rootDuration:i}=e,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let u of document.querySelectorAll("[data-start]")){if(u===o||Wl.has(u.tagName))continue;let a=t.resolveStartForElement(u,0);if(zl(u,n,i,a)<=0)continue;let l={id:mi(u)??`__clip-${s++}`,element:u,parentId:null,children:[]};r.set(u,l)}return jl(r),{roots:Array.from(r.values()).filter(u=>u.parentId===null)}}function $e(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function lo(e){let t=(e??"").trim();if(!t)return null;let n=$e(t);if(n!=null)return{kind:"absolute",value:n};let i=t.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",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}var ql="data-hf-authored-duration",$l="data-hf-authored-end";function Kl(e){return $e(e.getAttribute("data-duration"))}function Jl(e){return $e(e.getAttribute("data-end"))}function Xl(e){return $e(e.getAttribute(ql))}function Yl(e){return $e(e.getAttribute($l))}function Ke(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=c=>{let p=document.getElementById(c);return p||(document.querySelector(`[data-composition-id="${CSS.escape(c)}"]`)??null)},u=c=>{let p=r.get(c);if(p!==void 0)return p;let f=null,x=Kl(c)??(n?Xl(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let S=Jl(c)??(n?Yl(c):null);if(S!=null){let y=l(c,0),g=S-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&c instanceof HTMLMediaElement){let S=$e(c.getAttribute("data-playback-start"))??$e(c.getAttribute("data-media-start"))??0;Number.isFinite(c.duration)&&c.duration>S&&(f=(c.duration-S)/Rt(c))}if(f==null||f<=0){let S=c.getAttribute("data-composition-id");if(S){let y=t[S]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){L("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(c,f),f):(r.set(c,null),null)},a=(c,p)=>{if(c.hasAttribute("data-composition-id")){let x=c.parentElement?.closest("[data-composition-id]");return x?l(x,p):0}let f=c.closest("[data-composition-id]");return f?l(f,p):0},l=(c,p)=>{let f=i.get(c);if(f!==void 0)return f??p;if(o.has(c))return p;o.add(c);try{let x=lo(c.getAttribute("data-start"));if(!x){if(c.hasAttribute("data-composition-id")){let _=c.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id")||_.hasAttribute("data-composition-file"))){let N=l(_,p);return i.set(c,N),N}}return i.set(c,p),p}if(x.kind==="absolute"){let _=Math.max(0,x.value),N=Math.max(0,a(c,p)+_);return i.set(c,N),N}let S=s(x.refId);if(!S)return i.set(c,p),p;let y=l(S,0),g=u(S);if(g==null||g<=0){let _=Math.max(0,y+x.offset);return i.set(c,_),_}let A=Math.max(0,y+g+x.offset);return i.set(c,A),A}finally{o.delete(c)}};return{resolveStartForElement:(c,p=0)=>l(c,Math.max(0,p)),resolveDurationForElement:c=>u(c)}}function pi(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var Ql="data-hf-authored-duration",Zl="data-hf-authored-end";function Fe(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function hi(e){return Fe(e.getAttribute("data-duration"))??Fe(e.getAttribute(Ql))}function uo(e){return Fe(e.getAttribute("data-end"))??Fe(e.getAttribute(Zl))}function gi(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}var co={composition:0,video:1,image:2,element:3,audio:4};function eu(e){if(e.length===0)return;let t=new Map;for(let s of e){let u=t.get(s.track)??new Set;u.add(s.kind),t.set(s.track,u)}if(!Array.from(t.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...t.keys()].sort((s,u)=>s-u);for(let s of o){let u=t.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((l,c)=>(co[l]??99)-(co[c]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of e){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function Pt(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function fo(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Pt(t);let n=e.getAttribute("data-composition-src");if(n)return Pt(n);let i=e.querySelector("img[src], video[src], audio[src], source[src]");return i?Pt(i.getAttribute("src")):null}function tu(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function nu(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function iu(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function It(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function ru(e,t,n){let i=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=e.getAttribute("data-composition-id");if(r)return It(r);let o=e.id;if(o)return It(o);let s=tu(e);if(s)return It(s);let u=nu(fo(e));if(u)return It(u);let a=iu(e);return a||`${It(t)} ${n+1}`}function mo(e){let n=window.__timelines??{},i=Ke({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 G=Number(D.duration());return Number.isFinite(G)&&G>0?G:null}catch{return null}},o=O=>{let D=Fe(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let G=Fe(O.getAttribute("data-playback-start"))??Fe(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>G?Math.max(0,(O.duration-G)/Rt(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 G of O){let Q=G.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(G,0):Math.max(0,Number(G.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(G);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},u=(O,D)=>{let G=[],Q=null,ae=null,$=null,z=O.parentElement;for(;z;){let Y=z.getAttribute("data-composition-id");Y&&(G.push(Y),!$&&z!==D&&($=Y),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Fe(z.getAttribute("data-duration"))??r(Y)??null)),z=z.parentElement}return{parentCompositionId:$,compositionAncestors:G.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),c=a?.getAttribute("data-composition-id")??null,p=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,p)):null,S=r(c),y=hi(a??document.body),g=gi(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),G=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||G==null||G<=0?null:Math.max(0,D)+G})),A=g!=null?Math.max(0,g-Math.max(0,p)):null,_=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,N=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,J=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,M=gi(J,B),E=_!=null&&M!=null&&_>M+1,v=N??(E?M:gi(_,J,B))??null,k=(v!=null?p+v:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(O,D)=>!Number.isFinite(D)||D<=0?0:k==null||!Number.isFinite(k)?D:!Number.isFinite(O)||O>=k?0:Math.max(0,Math.min(D,k-O)),j=[],re=[],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 G=u(D,a),Q=i.resolveStartForElement(D,G.inheritedStart??0),ae=D.getAttribute("data-composition-id"),$=hi(D);if(($==null||$<=0)&&ae&&ae!==c&&($=r(ae)),($==null||$<=0)&&D instanceof HTMLMediaElement){let ve=Fe(D.getAttribute("data-playback-start"))??Fe(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&($=Math.max(0,D.duration-ve))}if($==null||$<=0){let ve=G.inheritedDuration;if(ve!=null&&ve>0){let Ue=(G.inheritedStart??0)+ve;$=Math.max(0,Ue-Q)}}if($==null||$<=0||($=W(Q,$),$<=0))continue;let z=Q+$;se=Math.max(se,z);let Y=D.tagName.toLowerCase(),Pe=ae&&ae!==c?"composition":Y==="video"?"video":Y==="audio"?"audio":Y==="img"?"image":"element";j.push({id:mi(D)??ae??null,label:ru(D,Pe,j.length),start:Q,duration:$,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Pe,tagName:Y,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:G.compositionAncestors,parentCompositionId:G.parentCompositionId,nodePath:null,compositionSrc:Pt(D.getAttribute("data-composition-src")),assetUrl:fo(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Fe(D.getAttribute("data-timeline-priority"))})}let Ee=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)??[],G=new Map;for(let $ of a.children){let z=$;if(!z.id)continue;let Y=z.tagName.toLowerCase();Y==="script"||Y==="style"||Y==="link"||G.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=$=>{let z=$;for(;z;){if(G.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let $ of D){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let z=$.startTime(),Y=$.parent;for(;Y&&Y!==U&&typeof Y.startTime=="function";)z+=Y.startTime(),Y=Y.parent;let Pe=z+$.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Pe)))for(let ve of $.targets()){if(!(ve instanceof Element))continue;let At=Q(ve);if(!At)continue;let Ue=G.get(At);Ue&&(Ue.start=Math.min(Ue.start,z),Ue.end=Math.max(Ue.end,Pe))}}let ae=j.length>0?Math.max(...j.map($=>$.track))+1:0;for(let[$,z]of G){if(z.start===1/0||z.end===-1/0)continue;let Y=$;if(Ee.has(Y.id))continue;let Pe=Math.max(0,z.end-z.start);if(Pe<=0)continue;let ve=W(z.start,Pe);ve<=0||(se=Math.max(se,z.start+ve),j.push({id:Y.id,label:Y.getAttribute("data-timeline-label")??Y.getAttribute("data-label")??Y.getAttribute("aria-label")??Y.id,start:z.start,duration:ve,track:Number.parseInt(Y.getAttribute("data-track-index")??Y.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:Y.tagName.toLowerCase(),compositionId:Y.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Y.getAttribute("data-timeline-role"),timelineLabel:Y.getAttribute("data-timeline-label"),timelineGroup:Y.getAttribute("data-timeline-group"),timelinePriority:Fe(Y.getAttribute("data-timeline-priority"))}),Ee.add(Y.id))}}catch(D){L("runtime.timeline.site1",D)}}if(a&&v!=null&&v>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let G=D;if(!G.id||Ee.has(G.id))continue;let Q=G.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=G.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(G).display==="none")continue;let z=W(0,v);z<=0||(se=Math.max(se,z),j.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:0,duration:z,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:G.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:Fe(G.getAttribute("data-timeline-priority"))}),Ee.add(G.id))}}eu(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!pi(D))continue;let G=i.resolveStartForElement(O,0),Q=hi(O);if((Q==null||Q<=0)&&uo(O)!=null){let Y=uo(O);Q=Math.max(0,Y-G)}let ae=r(D),$=Q&&Q>0?Q:ae;if($==null||$<=0)continue;let z=W(G,$);z<=0||re.push({id:D,label:O.getAttribute("data-label")??D,start:G,duration:z,thumbnailUrl:Pt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,v??0);return{source:"hf-preview",type:"timeline",durationInFrames:E&&N==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps))),clips:j,scenes:re,compositionWidth:Fe(a?.getAttribute("data-width"))??1920,compositionHeight:Fe(a?.getAttribute("data-height"))??1080}}var ce=Cl(Bs(),1),Hs=ce.default,xh=ce.default.stringify,bh=ce.default.fromJSON,yh=ce.default.plugin,Sh=ce.default.parse,Eh=ce.default.list,Ah=ce.default.document,wh=ce.default.comment,Ch=ce.default.atRule,Fh=ce.default.rule,_h=ce.default.decl,vh=ce.default.root,Mh=ce.default.CssSyntaxError,Th=ce.default.Declaration,Nh=ce.default.Container,Lh=ce.default.Processor,Rh=ce.default.Document,kh=ce.default.Comment,Dh=ce.default.Warning,Ih=ce.default.AtRule,Ph=ce.default.Result,Oh=ce.default.Input,Bh=ce.default.Rule,Hh=ce.default.Root,Gh=ce.default.Node;var Ui="data-hf-authored-id",Gs="data-hf-inner-root";function Vi(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function zi(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function _c(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function Us(e){let t=e.trim();return t?Array.from(new Set([t,_c(t)])).filter(Boolean):[]}function vc(e){return!!e&&/[\\w-]/.test(e)}function Mc(e,t,n){let i=Us(t).sort((u,a)=>a.length-u.length);if(i.length===0)return e;let r="",o=0,s=null;for(let u=0;u<e.length;u+=1){let a=e[u],l=u>0?e[u-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 c=i.find(p=>e.startsWith(p,u+1));if(c){let p=e[u+1+c.length];if(!vc(p)){r+=n,u+=c.length;continue}}}r+=a}return r}function Tc(e,t){let n=t?.trim();return n?Mc(e,n,`[${Ui}="${zi(n)}"]`):e}function Ws(e){return`${e}:not(:has([${Gs}])), ${e} > [${Gs}]`}function Nc(e,t,n,i,r,o){let s=Tc(e,i),u=Lc(s,t,n),a=u.trim();if(!a||a==="*")return e;if(/^(html|body|:root)$/i.test(a))return o?Ws(t):e;let l=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Vi(n)}\\\\1\\\\s*\\\\]`,"g");if(l.test(a))return a.replace(l,"").trim()===""?Ws(t):u.replace(l,t);let c=u.match(/^\\s*/)?.[0]??"",p=u.match(/\\s*$/)?.[0]??"";if(r){let f=i?`[${Ui}="${zi(i)}"]`:null;if(f&&a.startsWith(f)){let x=a.slice(f.length);return`${c}${t}${f}${x}${p}`}}return`${c}${t} ${a}${p}`}function Lc(e,t,n){let i=Vi(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 e.replace(new RegExp(`${r}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${r}`,"g"),t)}var Rc=new Set(["keyframes","-webkit-keyframes","font-face"]);function kc(e){return e?.type==="atrule"}function Dc(e){let t=e.parent;for(;t;){if(kc(t)&&Rc.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function Vs(e,t,n,i,r){let o=t.trim();if(!e||!o)return e;let s=n||`[data-composition-id="${zi(o)}"]`,u=Hs.parse(e);return u.walkRules(a=>{Dc(a)||(a.selectors=a.selectors.map(l=>Nc(l,s,o,i,r?.compoundAuthoredRoot,r?.scopeRootSelectors)))}),u.toResult({map:!1}).css}function zs(e,t,n="[HyperFrames] composition script error:",i,r=t,o){let s=JSON.stringify(t),u=JSON.stringify(r),a=JSON.stringify(n),l=Vi(t),c=JSON.stringify(o?.trim()||null),p=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*\\]`),S=JSON.stringify(Us(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ui)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${S};\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${e.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})();`}var Ic=["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 js(e){let t=e.getAttribute("id")?.trim();for(let n of Ic)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var Pc=8e3,Oc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,Bc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,Hc=["src","href"];function Gc(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function $s(e,t){if(!t)return e;let n=e.trim();if(Gc(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function Ks(e,t){return!t||!e?e:e.replace(Bc,(n,i,r)=>{let o=$s(r||"",t);return o===r?n:`url(${i||""}${o}${i||""})`})}function Wc(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let i of Hc){let r=n.getAttribute(i);if(r==null)continue;let o=$s(r,t);o!==r&&n.setAttribute(i,o)}}function Uc(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=Ks(i,t);r!==i&&n.setAttribute("style",r)}}function Vc(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let i=n.textContent||"",r=Ks(i,t);r!==i&&(n.textContent=r)}}function Js(e,t){if(t){Wc(e,t),Uc(e,t),Vc(e,t);for(let n of Array.from(e.querySelectorAll("template")))Js(n.content,t)}}function zc(e,t){return`${e}__hf${t}`}var jc=e=>new Promise(t=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),t({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),Pc)});function ji(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function qc(e){let t=document.importNode(e,!0);js(t);let n=t.getAttribute("data-width"),i=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=i?`${i}px`:"100%",t}function qs(e,t){let n=e.trim();if(!n)return e;try{return Oc.test(n)?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function Ln(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function $c(e){let t=new Map;for(let n of e){let i=Ln(n).authoredCompositionId||"";i&&t.set(i,(t.get(i)||0)+1)}return t}function Xs(e){let t=Ln(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function Kc(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function Jc(e){return e.hasAttribute("data-composition-src")?!0:Xs(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:Kc(e):!1}function $i(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:Xs(t))}function Ys(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set($i().map(n=>Ln(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function Qs(e,t=$c(e)){let n=new Map,i=new Map;for(let r of e){let{authoredCompositionId:o,runtimeCompositionId:s}=Ln(r),u=Jc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(t.get(o)||0)>1,l=s||o;if(u){let c=a?(n.get(o)||0)+1:0;a&&n.set(o,c),l=a?zc(o,c):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 qi(e){let t=null;e.authoredCompositionId&&(t=Array.from(e.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===e.authoredCompositionId)??null);let n=t??e.sourceNode,i=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,r=e.runtimeCompositionId||i||null,o=t?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}let u=f=>{for(let x of f){let S=x.cloneNode(!0);S instanceof HTMLStyleElement&&(i&&(S.textContent=Vs(S.textContent||"",i,s,o,{scopeRootSelectors:!0})),document.head.appendChild(S),e.injectedStyles.push(S))}};e.headStyles&&u(e.headStyles),u(Array.from(n.querySelectorAll("style")));let a=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let y=qs(S,e.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")),c=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let y=qs(S,e.compositionUrl);c.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&c.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(t){let f=t.getAttribute("data-width"),x=t.getAttribute("data-height"),S=e.parseDimensionPx(f),y=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),S&&e.host instanceof HTMLElement&&(e.host.style.width=S),y&&e.host instanceof HTMLElement&&(e.host.style.height=y),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(qc(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;r&&Xc(e,n,r);for(let f of c){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=zs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let S=await jc(x);S.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:S.status,elapsedMs:S.elapsedMs}})}}}async function Zs(e){let t=$i();if(Ys(),t.length===0)return;let n=Qs(t),i=t.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 u=document.querySelector(`template#${CSS.escape(s)}-template`);ji(r),await qi({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function ea(e){let t=$i();if(Ys(),t.length===0)return;let n=Qs(t),i=t.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),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}ji(r);try{let c=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(c){await qi({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),S=new DOMParser().parseFromString(f,"text/html");Js(S,l);let y=(u?S.querySelector(`template#${CSS.escape(u)}-template`):null)??S.querySelector("template"),g=y?y.content:S.body,A=y?void 0:Array.from(S.head.querySelectorAll("style")),_=y?void 0:Array.from(S.head.querySelectorAll("script")),N=y?void 0:Array.from(S.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await qi({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:S.body.innerHTML,compositionUrl:l,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,headStyles:A,headScripts:_,headLinks:N,declaredVariableDefaults:Tt(S.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),ji(r)}}))}function Xc(e,t,n){let r={...e.declaredVariableDefaults??(t instanceof Element?Tt(t):{}),...Dr(e.host)};Rr(e.host),Object.keys(r).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=r,oi(e.host,{...r,...pn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function Yc(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function Qc(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)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&&e.push(r)}return e}function Zc(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function Ki(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=Qc();for(let i of t){let r=null;if(i.wordId&&(r=Yc(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=e.getTweensOf(r).filter(c=>c.vars.color!==void 0).sort((c,p)=>c.startTime()-p.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let c of a)String(c.vars.color)===l?i.dimColor&&(c.vars.color=i.dimColor):i.activeColor&&(c.vars.color=i.activeColor);i.dimColor&&e.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&e.set(r,s),Object.keys(o).length>0){let u=Zc(r);e.set(u,o)}}}).catch(()=>{})}var ia="data-hf-edit-base-x",ra="data-hf-edit-base-y",Ji="data-hf-edit-original-translate",Rn=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},ed=e=>{let t=[],n=0,i="";for(let r of e.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&t.push(i),i=""):i+=r;return i&&t.push(i),t},ta=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Xi=(e,t)=>ta.test(e)&&ta.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,td=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[i,r,o]=ed(e);if(i===void 0)return`${t} ${n}`;if(r===void 0)return`${Xi(i,t)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Xi(i,t)} ${Xi(r,n)}${s}`},nd=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},id=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,i=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},na=new WeakMap;function rd(e,t){let n=na.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){st("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let i=Rn(e.getAttribute("data-x"))-Rn(e.getAttribute(ia)),r=Rn(e.getAttribute("data-y"))-Rn(e.getAttribute(ra));e.hasAttribute(Ji)||e.setAttribute(Ji,id(e)),n===void 0&&nd(e);let o=e.getAttribute(Ji)??"",s=td(o,`${i}px`,`${r}px`);e.style.setProperty("translate",s),na.set(e,e.style.getPropertyValue("translate"))}function Yi(e){let t=e.querySelectorAll(`[${ia}], [${ra}]`),n=0;for(let i=0;i<t.length;i++){let r=t[i];r instanceof HTMLElement&&(rd(r),n+=1)}return n}var tn="data-color-grading",oa="__hf_color_grading_",od="rec709",kn={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},Dn={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},In={blur:0,pixelate:0},sa=Object.keys(kn),sd=Object.keys(Dn),aa=Object.keys(In);function Ae(e,t,n={},i={}){return{id:e,label:t,adjust:{...kn,...n},details:{...Dn,...i},effects:{...In}}}var ad=[Ae("neutral","Neutral"),Ae("natural-lift","Natural Lift",{exposure:.04,contrast:.06,highlights:-.06,shadows:.08,saturation:.05}),Ae("fresh-pop","Fresh Pop",{exposure:.08,contrast:.12,whites:.06,shadows:.04,temperature:-.02,vibrance:.08,saturation:.16}),Ae("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ae("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ae("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ae("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ae("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ae("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ae("vintage-wash","Vintage Wash",{exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},{vignette:.18}),Ae("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ae("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ae("warm-clean","Warm Clean",{exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,vibrance:.04,saturation:.06}),Ae("cool-clean","Cool Clean",{contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}),Ae("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ae("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ae("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06})],ld=new Map(ad.map(e=>[e.id,e])),ud=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,cd={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},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},dd={vignette:{min:0,max:1},vignetteMidpoint:{min:0,max:1},vignetteRoundness:{min:-1,max:1},vignetteFeather:{min:0,max:1},grain:{min:0,max:1},grainSize:{min:0,max:1},grainRoughness:{min:0,max:1}},fd={blur:{min:0,max:1},pixelate:{min:0,max:1}};function ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function md(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function la(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function Qi(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?md(n,t.min,t.max):0}function pd(e){if(e==null)return null;let t=String(e).trim();return t||null}function hd(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!ut(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:la(e.intensity,1)}}function gd(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return ut(n)?n:null}catch{return null}return{preset:t,intensity:1}}return ut(e)?e:null}function xd(e,t){let n=e.trim().match(ud);if(!n)return e;let i=n[1]??n[2]??"";return i&&Object.hasOwn(t,i)?t[i]:e}function Zi(e,t){if(typeof e=="string"){let i=xd(e,t);if(i!==e)return i;let r=e.trim();if(!r.startsWith("{"))return e;try{return Zi(JSON.parse(r),t)}catch{return e}}if(!ut(e))return e;let n={};for(let[i,r]of Object.entries(e))n[i]=Zi(r,t);return n}function bd(e){return e?ld.get(e)??null:null}function er(e){let t=gd(e);if(!t||t.enabled===!1)return null;let n=pd(t.preset),i=bd(n),r=i?.adjust??kn,o=i?.details??Dn,s=i?.effects??In,u=ut(t.adjust)?t.adjust:{},a=ut(t.details)?t.details:{},l=ut(t.effects)?t.effects:{},c=sa.reduce((x,S)=>(x[S]=Qi(u[S]??r[S],cd[S]),x),{...kn}),p=sd.reduce((x,S)=>(x[S]=Qi(a[S]??o[S],dd[S]),x),{...Dn}),f=aa.reduce((x,S)=>(x[S]=Qi(l[S]??s[S],fd[S]),x),{...In});return{enabled:!0,preset:n,intensity:la(t.intensity,1),adjust:c,details:p,effects:f,lut:hd(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():od}}function ua(e,t){return er(Zi(e,t))}function nn(e){return!e?.enabled||e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:sa.some(t=>Math.abs(e.adjust[t])>1e-4)||Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||aa.some(t=>Math.abs(e.effects[t])>1e-4)}var Se=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);be(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},yd=[0,0,0],Sd=[1,1,1],nr=64;function Ed(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];if(i===\'"\'&&(t=!t),i==="#"&&!t)return e.slice(0,n)}return e}function Ze(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Se(`Invalid number "${e}"`,t);return n}function ca(e,t,n){if(e.length!==3)throw new Se(`${t} expects three numbers`,n);return[Ze(e[0],n),Ze(e[1],n),Ze(e[2],n)]}function da(e,t,n){if(!e)throw new Se(`${t} expects a size`,n);let i=Number(e);if(!Number.isInteger(i)||i<2)throw new Se(`${t} must be an integer greater than 1`,n);return i}function Ad(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Se("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function wd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function Cd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function fa(e,t={}){let n=t.maxSize??nr,i=null,r=yd,o=Sd,s=null,u=null,a=[],l=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let p=0;p<l.length;p++){let f=p+1,x=Ed(l[p]??"").trim();if(!x)continue;let S=x.split(/\\s+/),y=(S[0]??"").toUpperCase(),g=S.slice(1);if(y==="TITLE"){i=wd(x);continue}if(y==="DOMAIN_MIN"){r=ca(g,y,f);continue}if(y==="DOMAIN_MAX"){o=ca(g,y,f);continue}if(y==="LUT_3D_INPUT_RANGE"){if(g.length!==2)throw new Se(`${y} expects two numbers`,f);let A=Ze(g[0],f),_=Ze(g[1],f);if(_<=A)throw new Se("LUT_3D_INPUT_RANGE max must exceed min",f);r=[A,A,A],o=[_,_,_];continue}if(y==="LUT_1D_SIZE"){s=da(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(u=da(g[0],y,f),u>n)throw new Se(`LUT_3D_SIZE ${u} exceeds max ${n}`,f);continue}if(!Cd(y)){if(y.startsWith("LUT_"))throw new Se(`Unsupported cube keyword ${y}`,f);continue}if(!u)throw s?new Se("1D cube LUTs are not supported yet",f):new Se("LUT data appears before LUT_3D_SIZE",f);if(S.length!==3)throw new Se("LUT data rows must contain three numbers",f);a.push(Ze(S[0],f),Ze(S[1],f),Ze(S[2],f))}if(s&&u)throw new Se("Mixed 1D and 3D cube LUTs are not supported yet");if(!u)throw s?new Se("1D cube LUTs are not supported yet"):new Se("Missing LUT_3D_SIZE");Ad(r,o);let c=u*u*u;if(a.length!==c*3)throw new Se(`Expected ${c} LUT rows for size ${u}, found ${a.length/3}`);return{title:i,size:u,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Fd(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function tr(e){return Math.round(Fd(e)*255)}function ma(e){let t=e.size,n=t*t,i=t,r=new Uint8Array(n*i*4);for(let o=0;o<t;o++)for(let s=0;s<t;s++)for(let u=0;u<t;u++){let a=((o*t+s)*t+u)*3,l=(s*n+o*t+u)*4;r[l]=tr(e.data[a]??0),r[l+1]=tr(e.data[a+1]??0),r[l+2]=tr(e.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var je=new Map,_d="data-hf-color-grading-canvas",Sa="data-hf-color-grading-source-hidden",vd="__hf_color_grading_canvas__",Md=16,rn={enabled:!1,position:.5,softness:0,lineWidth:2};function Td(e){let t=window,i=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?t.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function ir(e){let t=e.getAttribute(tn);return t==null?null:ua(t,Td(e))}var Nd=["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`),Ld=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","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_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_blur;","uniform float u_pixelate;","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)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," vec4 base = sampleSource(sampleUv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) {"," base = mix(base, sampleBlur(sampleUv), blur);"," }"," return base;","}","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 originalSample = sampleSource(uv);"," vec4 sampleColor = sampleMedia(uv);"," vec3 original = originalSample.rgb;"," vec3 color = sampleColor.rgb * 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;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," 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);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," 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);"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," color = clamp(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`),Rd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," color.rgb *= color.a;"," return color;","}","void main(){"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`);function ct(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function pa(e,t,n){let i=e.createShader(n);return i?(e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(L("runtime.colorGrading.compileShader",e.getShaderInfoLog(i)),e.deleteShader(i),null)):null}function Ea(e,t=Ld){let n=pa(e,Nd,e.VERTEX_SHADER),i=pa(e,t,e.FRAGMENT_SHADER);if(!n||!i)return n&&e.deleteShader(n),i&&e.deleteShader(i),null;let r=e.createProgram();return r?(e.attachShader(r,n),e.attachShader(r,i),e.linkProgram(r),e.deleteShader(n),e.deleteShader(i),e.getProgramParameter(r,e.LINK_STATUS)?r:(L("runtime.colorGrading.linkProgram",e.getProgramInfoLog(r)),e.deleteProgram(r),null)):null}function or(e,t=e.LINEAR){let n=e.createTexture();return n?(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),n):null}function kd(e,t){let n=Ea(e,Rd);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius")}:null}function ha(e){let t=or(e),n=e.createFramebuffer();if(!t||!n)return t&&e.deleteTexture(t),n&&e.deleteFramebuffer(n),null;e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),i!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(t),e.deleteFramebuffer(n),null):{texture:t,framebuffer:n,width:1,height:1}}function ga(e,t,n,i){t.width===n&&t.height===i||(t.width=n,t.height=i,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,i,0,e.RGBA,e.UNSIGNED_BYTE,null))}function Aa(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!t)return null;let n=Ea(t),i=or(t),r=or(t,t.NEAREST);if(!n||!i||!r)return n&&t.deleteProgram(n),i&&t.deleteTexture(i),r&&t.deleteTexture(r),null;let o=t.createBuffer();return o?(t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:i,lutTexture:r,quad:o,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),lut:t.getUniformLocation(n,"u_lut"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),exposure:t.getUniformLocation(n,"u_exposure"),contrast:t.getUniformLocation(n,"u_contrast"),highlights:t.getUniformLocation(n,"u_highlights"),shadows:t.getUniformLocation(n,"u_shadows"),whites:t.getUniformLocation(n,"u_whites"),blacks:t.getUniformLocation(n,"u_blacks"),temperature:t.getUniformLocation(n,"u_temperature"),tint:t.getUniformLocation(n,"u_tint"),vibrance:t.getUniformLocation(n,"u_vibrance"),saturation:t.getUniformLocation(n,"u_saturation"),vignette:t.getUniformLocation(n,"u_vignette"),vignetteMidpoint:t.getUniformLocation(n,"u_vignetteMidpoint"),vignetteRoundness:t.getUniformLocation(n,"u_vignetteRoundness"),vignetteFeather:t.getUniformLocation(n,"u_vignetteFeather"),grain:t.getUniformLocation(n,"u_grain"),grainSize:t.getUniformLocation(n,"u_grainSize"),grainRoughness:t.getUniformLocation(n,"u_grainRoughness"),grainSeed:t.getUniformLocation(n,"u_grainSeed"),blur:t.getUniformLocation(n,"u_blur"),pixelate:t.getUniformLocation(n,"u_pixelate"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(t.deleteProgram(n),t.deleteTexture(i),t.deleteTexture(r),null)}function Dd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Id(e){if(!Dd(e))return{...rn};let t=(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:e.enabled===!0,position:t(e.position,rn.position,0,1),softness:t(e.softness,rn.softness,0,.25),lineWidth:t(e.lineWidth,rn.lineWidth,0,12)}}function wa(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function ar(e){return e instanceof Error?e.message:"LUT failed to load"}function Pd(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function Od(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return Pd(t)}function Bd(e){let t=wa(e);if("error"in t)return{state:"error",message:t.error};let n=je.get(t.href);if(n)return n;let i=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>fa(o,{maxSize:nr})),r={state:"pending",promise:i};for(;je.size>=Md;){let o=je.keys().next().value;if(!o)break;je.delete(o)}return je.set(t.href,r),i.then(o=>{je.get(t.href)===r&&je.set(t.href,{state:"ready",lut:o})},o=>{je.get(t.href)===r&&je.set(t.href,{state:"error",message:ar(o)})}),r}function xa(e,t,n){if(e.lut?.src===t)return e.lut;let i=ma(n),{gl:r,program:o}=e;try{return r.activeTexture(r.TEXTURE2),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),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(s){return e.lut=null,e.lutError=ar(s),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",s),null}}function Pn(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Ca(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Pn(e.gl,t.scratch),Pn(e.gl,t.blur),e.effectTargets=null)}function Fa(e){Ca(e),e.gl.deleteTexture(e.program.texture),e.gl.deleteTexture(e.program.lutTexture),e.gl.deleteBuffer(e.program.quad),e.gl.deleteProgram(e.program.program)}function Hd(e){let t=Aa(e.canvas);return t?(Fa(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function sr(e){if(!e.sourceHidden)return;e.element.removeAttribute(Sa);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function Gd(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=kd(t,e.program.quad),i=ha(t),r=ha(t);return!n||!i||!r?(n&&t.deleteProgram(n.program),i&&Pn(t,i),r&&Pn(t,r),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:i,blur:r},e.effectTargets)}function Wd(e,t,n,i,r){let o=Math.max(1,Math.ceil(i)),s=Math.max(1,Math.ceil(r));return ga(e,t,o,s),ga(e,n,o,s),{width:o,height:s}}function ba(e,t,n,i,r,o,s){e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer),e.viewport(0,0,r.width,r.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,r.width,r.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,s),e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function Ud(e,t,n,i,r,o,s){let u=n;for(let a=0;a<Math.max(1,Math.floor(s));a++)ba(e,t.blurProgram,u,t.scratch,r,{x:1,y:0},o),ba(e,t.blurProgram,t.scratch.texture,i,r,{x:0,y:1},o),u=i.texture}function Vd(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let i=wa(t);if("error"in i)return e.lut=null,e.lutLoadingSrc=null,e.lutError=i.error,null;if(e.lut?.src===i.href)return e.lut;e.lut=null;let r=Bd(t);return r.state==="ready"?xa(e,i.href,r.lut):r.state==="error"?(e.lutError=r.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==i.href&&(e.lutLoadingSrc=i.href,e.lutError=null,r.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(xa(e,i.href,o),We(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=ar(o),e.lutLoadingSrc=null,We(e))})),null)}function rr(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&ct(n))return n;try{let i=document.querySelector(t);return i&&ct(i)?i:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&ct(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&ct(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),i=t[n]??null;return i&&ct(i)?i:null}catch{return null}}function zd(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function _a(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function jd(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&_a(t)?t:null}function qd(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function $d(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function Kd(e){if(e instanceof HTMLVideoElement){let t=jd(e);if(t)return t}return _a(e)?e:null}function ya(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="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 Jd(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<t.length;r++){let o=t[r]??"",s=ya(o,"x"),u=ya(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(u!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=u;continue}}return{x:n,y:i}}function Xd(e,t,n,i,r,o){if(e<=0||t<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",u=e,a=t;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(e/n,t/i):Math.min(e/n,t/i);u=n*f,a=i*f,s==="scale-down"&&u>n&&a>i&&(u=n,a=i)}else s==="none"&&(u=n,a=i);let l=Jd(o||"center"),c=(e-u)*l.x/e,p=(t-a)*l.y/t;return{scaleX:u/e,scaleY:a/t,offsetX:c,offsetY:p}}function Yd(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Qd(e,t){let{element:n,canvas:i}=e,r=n.parentElement;r&&Yd(e,r);let o=window.getComputedStyle(t);io(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=e.sourceOpacityForCanvas,i.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),u=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return u<=0||a<=0?(i.style.display="none",null):(i.width!==u&&(i.width=u),i.height!==a&&(i.height=a),{width:u,height:a})}function Zd(e,t,n,i,r,o,s,u,a){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,r?1:0),e.uniform1f(t.lutEnabled,i?1:0),e.uniform1f(t.lutSize,i?.size??2),e.uniform2f(t.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),e.uniform3f(t.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0),e.uniform1f(t.exposure,n.adjust.exposure),e.uniform1f(t.contrast,n.adjust.contrast),e.uniform1f(t.highlights,n.adjust.highlights),e.uniform1f(t.shadows,n.adjust.shadows),e.uniform1f(t.whites,n.adjust.whites),e.uniform1f(t.blacks,n.adjust.blacks),e.uniform1f(t.temperature,n.adjust.temperature),e.uniform1f(t.tint,n.adjust.tint),e.uniform1f(t.vibrance,n.adjust.vibrance),e.uniform1f(t.saturation,n.adjust.saturation),e.uniform1f(t.vignette,n.details.vignette),e.uniform1f(t.vignetteMidpoint,n.details.vignetteMidpoint),e.uniform1f(t.vignetteRoundness,n.details.vignetteRoundness),e.uniform1f(t.vignetteFeather,n.details.vignetteFeather),e.uniform1f(t.grain,n.details.grain),e.uniform1f(t.grainSize,n.details.grainSize),e.uniform1f(t.grainRoughness,n.details.grainRoughness),e.uniform1f(t.grainSeed,a),e.uniform1f(t.blur,n.effects.blur),e.uniform1f(t.pixelate,n.effects.pixelate),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,o.enabled?1:0),e.uniform1f(t.comparePosition,o.position),e.uniform1f(t.compareSoftness,o.softness),e.uniform1f(t.compareLineWidth,o.lineWidth)}function ef(e){e.sourceHidden||(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity")),e.element.setAttribute(Sa,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function We(e){if(e.destroyed||e.contextLost)return!1;let t=Kd(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=zd(t);if(!n)return!1;let i=t instanceof HTMLElement?t:e.element,r=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),s=e.sourceHidden&&r==="0"&&o==="important",u=e.element.style.getPropertyValue("visibility"),a=qd(t);if(a&&$d(e,t),a||!s){let S=window.getComputedStyle(a?t:e.element);e.sourceOpacityForCanvas=S.opacity||"1",e.sourceVisibleForCanvas=(a||u!=="hidden")&&S.visibility!=="hidden"}let l=Qd(e,i);if(!l)return!1;let c=window.getComputedStyle(i),p=Xd(l.width,l.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let S=Vd(e);f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.pixelStorei(f.UNPACK_FLIP_Y_WEBGL,!0),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,t);let y=!1,g=Math.min(1,Math.max(0,e.grading.effects.blur));if(g>0){let _=Gd(e);if(_){let N=Wd(f,_.scratch,_.blur,l.width,l.height);Ud(f,_,x.texture,_.blur,N,.75+Math.pow(g,1.35)*32,g>.55?3:2),y=!0}}else e.effectError=null,e.effectTargets&&Ca(e);f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,l.width,l.height),f.useProgram(x.program),f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.activeTexture(f.TEXTURE1),f.bindTexture(f.TEXTURE_2D,e.effectTargets?.blur.texture??x.texture),f.activeTexture(f.TEXTURE2),f.bindTexture(f.TEXTURE_2D,x.lutTexture);let A=e.grainSeed+(e.element instanceof HTMLVideoElement?Math.floor(e.element.currentTime*60):0);return Zd(f,x,e.grading,S,y,e.compare,l,p,A),f.bindBuffer(f.ARRAY_BUFFER,x.quad),f.enableVertexAttribArray(x.position),f.vertexAttribPointer(x.position,2,f.FLOAT,!1,0,0),f.drawArrays(f.TRIANGLE_STRIP,0,4),ef(e),e.hasDrawn=!0,e.drawError=null,!0}catch(S){return e.drawError=S instanceof Error?S.message:"Shader draw failed",L("runtime.colorGrading.drawEntry",S),!1}}function Ge(e,t,n,i){t.addEventListener(n,i),e.cleanup.push(()=>t.removeEventListener(n,i))}function tf(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function on(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,We(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,We(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)})}function nf(e){let t=()=>{We(e)};Ge(e,e.element,"load",t),Ge(e,e.element,"loadedmetadata",t),Ge(e,e.element,"loadeddata",t),Ge(e,e.element,"seeked",t),Ge(e,e.element,"timeupdate",t),Ge(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ge(e,e.element,"play",()=>on(e)),Ge(e,e.element,"pause",t)),Ge(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",sr(e)}),Ge(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!Hd(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",sr(e);return}e.drawError=null,We(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element))}function rf(e){if(!e.destroyed){e.destroyed=!0,tf(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();e.cleanup.length=0,e.canvas.remove(),Fa(e),sr(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition)}}function of(e){let t=document.createElement("canvas");return e.id&&(t.id=`${oa}${e.id}`),t.className=vd,t.setAttribute(_d,"true"),t.setAttribute("data-hyperframes-ignore",""),t.setAttribute("data-hyperframes-picker-ignore",""),t.setAttribute("data-hf-ignore",""),t.setAttribute("aria-hidden","true"),t.style.pointerEvents="none",t.style.display="none",e.parentNode?.insertBefore(t,e.nextSibling),t}function va(){let e=new WeakMap,t=new Set,n=null,i=!1,r=(y,g,A)=>{let _=e.get(y);if(_)return _.grading=g,_.source=A,We(_),y instanceof HTMLVideoElement&&!y.paused&&on(_),!0;let N=of(y),J=Aa(N);if(!J)return N.remove(),!1;let B={element:y,canvas:N,gl:J.gl,program:J.program,grading:g,compare:{...rn},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,effectError:null,source:A,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,contextLost:!1,grainSeed:Od(y),destroyed:!1};return e.set(y,B),t.add(y),nf(B),We(B),y instanceof HTMLVideoElement&&!y.paused&&on(B),!0},o=(y,g)=>{if(i)return!1;let A=rr(y);if(!A)return!1;let _=e.get(A);if(!_){let N=ir(A);if(!nn(N)||!r(A,N,"attribute"))return!1;_=e.get(A)}return _?(_.compare=Id(g),We(_),!0):!1},s=y=>{let g=e.get(y);g&&(rf(g),e.delete(y),t.delete(y))},u=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${tn}], img[${tn}]`).forEach(A=>{if(!ct(A))return;y.add(A);let _=ir(A);nn(_)?r(A,_,"attribute"):s(A)});for(let A of Array.from(t)){let _=e.get(A);_&&(!A.isConnected||_.source==="attribute"&&!y.has(A))&&s(A)}return t.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(t,A=>e.get(A)))g&&We(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let A=rr(y);if(!A)return!1;let _=er(g);return nn(_)?r(A,_,"live"):(s(A),!0)},c=(y,g)=>{if(!ct(y))return!1;let A=e.get(y);return A?(A.sourceVisibleForCanvas=g,!0):!1},p=y=>{let g=rr(y);if(!g)return{state:"missing",message:"Media not found"};let A=e.get(g);if(A)return A.effectError?{state:"unavailable",message:A.effectError}:A.drawError?{state:"unavailable",message:A.drawError}:A.lutError?{state:"unavailable",message:`LUT error: ${A.lutError}`}:A.grading.lut&&A.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:A.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:A.lut?"Shader + LUT active":"Shader active"};let _=ir(g);return nn(_)?{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(t))s(y)}};document.body&&(n=new MutationObserver(()=>u()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[tn]}));let x={refresh:u,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:c,getStatus:p,destroy:f},S=window;return S.__hf=S.__hf||{},S.__hf.colorGrading=x,u(),x}var On=class{constructor(t){be(this,"_baseTime",0);be(this,"_playStartMs",null);be(this,"_rate",1);be(this,"_duration",1/0);be(this,"_nowMs");be(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.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 t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*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(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}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:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.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 Ma(e){return!Number.isFinite(e)||e<=0?1:e}function sf(e,t){t||e.paused||!mn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function af(e,t){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=t,u=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let c=a-n;return u&&c<=0?!1:(u?e.start(0,n+i,c):e.start(0,n+i),!0)}let l=-n/o;return u?e.start(r+l,i,a):e.start(r+l,i),!0}var Bn=class{constructor(){be(this,"_ctx",null);be(this,"_bufferCache",new Map);be(this,"_failedSrcs",new Set);be(this,"_activeSources",[]);be(this,"_masterGain",null);be(this,"_rateAnchorCtx",0);be(this,"_rateAnchorComp",0);be(this,"_rate",1);be(this,"_paused",!0);be(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(t){let n=t.currentSrc||t.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 L("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return L("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),L("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,i,r,o,s,u,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=Ma(a),p=this._ctx.createBufferSource();p.buffer=n,p.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=s,p.connect(f),f.connect(this._masterGain);let x=o-i,S=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=S,this._rateAnchorComp=o,!af(p,{elapsed:x,mediaStart:r,scheduledAt:S,safeRate:c,clipDuration:l}))return p.disconnect(),f.disconnect(),null;let y=t.muted;t.muted=!0,sf(t,y);let g={el:t,sourceNode:p,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:S,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,p.addEventListener("ended",()=>{let A=this._activeSources.indexOf(g);A!==-1&&(this._activeSources.splice(A,1),t.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(c){return L("webAudioTransport.schedule",c),null}}setRate(t){let n=Ma(t);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){L("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===t)try{r.gainNode.gain.value=i}catch(o){L("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ta="data-hf-studio-manual-edit-gesture";var lr="data-hf-authored-duration",ur="data-hf-authored-end";function lf(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,i=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function Na(){let e=so();Yi(document);let t=lf();e.canonicalFps=t.fps??e.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,u=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){L("runtime.init.site1",d)}(()=>{let d=window.gsap,m=window;if(!(!d?.registerPlugin||m.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),m.__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");try{kr(document)}catch(d){L("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.find(h=>!h.parentElement?.closest("[data-composition-id]"))??m[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,m=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[m]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let c=l();c&&!c.hasAttribute("data-start")&&c.setAttribute("data-start","0");let p=d=>{o.push(d)},f=(d,m,h)=>{let b=h??`${d}:${JSON.stringify(m)}`;s.has(b)||(s.add(b),Ce({source:"hf-preview",type:"diagnostic",code:d,details:m}))},x=d=>{let m={scale:1,focusX:960,focusY:540},h=[],b=[],w={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:()=>m,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:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},S=1/60,y=.75,g=2,A=.05,_=100,N=240,J=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 m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},M=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},E=()=>l(),F=()=>{let d=E();if(!d)return;let m=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h),m&&d.style.setProperty("--comp-width",m),h&&d.style.setProperty("--comp-height",h)},v=()=>{let d=E(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of m){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),w=h.getAttribute("data-end");b!=null&&!h.hasAttribute(lr)&&h.setAttribute(lr,b),w!=null&&!h.hasAttribute(ur)&&h.setAttribute(ur,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=E();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let m=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h);let b=Array.from(d.children);for(let w of b){let C=w.tagName.toLowerCase();if(C==="script"||C==="style"||C==="link"||C==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let R=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",q=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(R&&q&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let ye=w.style.top,ot=w.style.left,we=w.style.width,vt=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let ie=window.getComputedStyle(w);ie.top!=="auto"||ie.bottom!=="auto"||ie.left!=="auto"||ie.right!=="auto"||ie.width!=="0px"||ie.height!=="0px"||(w.style.top=ye,w.style.left=ot,w.style.width=we,w.style.height=vt)}let K=window.getComputedStyle(w),ge=K.position;if(ge!=="absolute"&&ge!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||K.left!=="auto"||K.right!=="auto"||(w.style.left="0"),C!=="audio"){let ye=M(w.getAttribute("data-width")),ot=M(w.getAttribute("data-height")),we=K.width!=="0px"&&K.width!=="auto",vt=K.height!=="0px"&&K.height!=="auto";ye?!w.style.width&&!we&&(w.style.width=ye):!w.style.width&&K.width==="0px"&&(w.style.width="100%"),ot?!w.style.height&&!vt&&(w.style.height=ot):!w.style.height&&K.height==="0px"&&(w.style.height="100%")}}},k=(d,m=0,h)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),W=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,m=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+m:k(d,m),re=(d,m)=>{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):k(d,0),w=W(d),C=d.getAttribute("data-composition-id");if(C){let q=(window.__timelines??{})[C],K=null;if(q&&typeof q.duration=="function"){let xe=Number(q.duration());Number.isFinite(xe)&&xe>0&&(K=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(lr)||d.hasAttribute(ur))&&(w==null||w<=0)&&K!=null&&(w=K)}let R=w!=null&&w>0?b+w:Number.POSITIVE_INFINITY;return m>=b&&(Number.isFinite(R)?m<=R:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let h=m.getAttribute("data-composition-id");if(h&&m.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Ee=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>S,V=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;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},oe=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let w=V(h);w==null||w<=S||(m=Math.max(m,Math.max(0,b)+w))}return m>S?m:null},_e=()=>{let d=E();if(!d)return null;let m=window.__timelines??{},h=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),b=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(b=w);let C=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let R of C){if(!(R instanceof Element)||R.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(R,0),ge=h.resolveDurationForElement(R);!Number.isFinite(K)||ge==null||ge<=0||(b=Math.max(b,Math.max(0,K)+ge))}return b>S?b:null},O=()=>{let d=oe();return typeof d!="number"||!Number.isFinite(d)||d<=S?null:d},D=d=>U(d)?Math.max(S,d*y):S,G=()=>{let d=0;for(let m of e.deterministicAdapters){let h=m.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(w){L("runtime.init.adapterDuration",w)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>S?d:null},Q=(d,m=0)=>{let h=H(d),b=O(),w=_e(),C=G(),R=Math.max(b??0,w??0,C??0),q=Number.isFinite(m)&&m>S?m:0,K=0;return U(h)?K=Math.max(h,R,q):U(R)?K=Math.max(R,q):K=q,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},m=ie=>{let ee=Object.entries(d).filter(he=>!!he[1]&&typeof he[1].play=="function"&&typeof he[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,me]=ee[0];return{timeline:me,selectedTimelineIds:[fe],selectedDurationSeconds:H(me),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ie,soleTimelineId:fe}}}},h=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),w=_e(),C=Math.max(b??0,w??0)||null,R=D(C),q=ie=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ie)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ie=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let me of ie)fe.add(me.timeline,q(me.compositionId));return fe},ge=(ie,ee)=>{if(!U(ie))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let me=fe.timeline({paused:!0});if(ee)try{me.add(ee,0)}catch(ue){L("runtime.init.site2",ue)}let he=me;if(typeof he.to=="function")try{he.to({},{duration:ie})}catch(ue){L("runtime.init.site3",ue)}return me},xe=(ie,ee)=>{let fe=ie;if(typeof fe.getChildren!="function")return[];try{let me=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(me))return[];let he=[];for(let ue of ee)if(!me.some(Re=>Re===ue.timeline))try{let Re=q(ue.compositionId);ie.add(ue.timeline,Re),he.push(ue.compositionId)}catch(Re){L("runtime.init.site4",Re)}return he}catch{return[]}},ne=E(),Z=ne?.getAttribute("data-composition-id")??null;if(!Z)return m("root_missing_composition_id");let ye=d[Z]??null,we=(()=>{if(!ne)return[];let ie=new Set,ee=Array.from(ne.querySelectorAll("[data-composition-id]")),fe=[];for(let me of ee){let he=me.getAttribute("data-composition-id");if(!he||he===Z||ie.has(he))continue;ie.add(he);let ue=d[he]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Me=H(ue);fe.push({compositionId:he,timeline:ue,durationSeconds:Me??0})}return fe})(),vt=ie=>{for(let ee of ie){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(me){L("runtime.init.site5",me)}}};if(we.length>0&&vt(we),ye){let ie=we.length>0?xe(ye,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&($=!0),ie.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&we.length>0){let ue=we.map(gl=>gl.compositionId),Me=K(we),Re=H(Me);if(Me&&U(Re))return{timeline:Me,selectedTimelineIds:ue,selectedDurationSeconds:Re,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:Re,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:ue,autoNestedChildren:ie}}};let Zn=ge(C??0,ye),ei=H(Zn);if(Zn&&U(ei))return{timeline:Zn,selectedTimelineIds:[Z],selectedDurationSeconds:ei,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:ei,selectedTimelineIds:[Z],autoNestedChildren:ie}}}}if(!U(ee)&&we.length===0){let ue=ge(C??0,ye),Me=H(ue);if(ue&&U(Me))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Me,selectedTimelineIds:[Z]}}}}let fe=ne?.getAttribute("data-duration"),me=fe?parseFloat(fe):null,he=Math.max(U(me)?me:0,w??0);if(he>0&&U(he)&&U(ee)&&he>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},he)}catch(Re){L("runtime.init.site6",Re)}let Me=H(ye);if(U(Me))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:me,authoredCompositionDurationFloorSeconds:w,newDur:Me}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ie.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ie}}:void 0}}if(we.length>0){let ie=we.map(me=>me.compositionId),ee=K(we),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ie,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ie}}}}return m("root_composition_id_unmatched_in_registry")},$=!1,z=()=>{if(!Ee)return!1;let d=e.capturedTimeline,m=H(d),h=U(m);if(d&&h&&$)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=b.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let w=Q(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),e.capturedTimeline.pause()),w>0){try{I.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let R=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(R,!1),e.capturedTimeline.pause()}let C=window.__hfStudioManualEditsApply;typeof C=="function"&&C(),Yi(document)}if(b.diagnostics&&Ce({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ce({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=E(),R=w>0?w:0,q=String(R>0?R:1),K=new Set,ge=new Set(document.querySelectorAll("[data-start]")),xe=ne=>{let Z=ne.parentElement;for(;Z&&Z!==C;){if(ge.has(Z))return!0;Z=Z.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ne of e.capturedTimeline.getChildren(!0))if(typeof ne.targets=="function")for(let Z of ne.targets())Z instanceof HTMLElement&&Z!==C&&(Z.hasAttribute("data-start")||xe(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",q),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(C instanceof HTMLElement)for(let ne of C.querySelectorAll("[id]"))ne instanceof HTMLElement&&ne!==C&&(ne.hasAttribute("data-start")||xe(ne)||K.has(ne)||ne.tagName==="SCRIPT"||ne.tagName==="STYLE"||ne.tagName==="LINK"||(K.add(ne),ne.setAttribute("data-start","0"),ne.setAttribute("data-duration",q),ne.setAttribute("data-hf-autostamped","1")))}for(let C of wt)ln.delete(C),yr(C);return!0};window.__hfForceTimelineRebind=()=>{$=!1,z()};let Y=()=>{let d=E();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),C=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,R=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!C||!R||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Pe=()=>{e.tornDown||(u!=null&&window.cancelAnimationFrame(u),u=window.requestAnimationFrame(()=>{u=null,Y()}))},ve=()=>{i=d=>{let m=J(d.error??d.message).slice(0,N);if(!m)return;let h=B(m);Ce({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let m=J(d.reason).slice(0,N);if(!m)return;let h=B(m);Ce({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},At=()=>{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 w=h.tagName.toLowerCase(),C=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,R=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(R,{tagName:w,assetUrl:C,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${R}:${w}:${C??"unknown"}`)};h.addEventListener("error",b),p(()=>{h.removeEventListener("error",b)})}let m=document.fonts;m&&m.ready.then(()=>{if(e.tornDown)return;let h=Array.from(m).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(m).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Ue=(d,m)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{e.capturedTimeline.pause(),e.capturedTimeline.seek(b,!1),w&&e.capturedTimeline.play()}catch(C){L("runtime.init.site7",C)}return Ce({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},nt=null,br=!1,wt=new Set,ln=new WeakMap,un=()=>{e.tornDown||(nt!=null&&window.clearTimeout(nt),nt=window.setTimeout(()=>{if(e.tornDown)return;nt=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){z()&&(dt(),Te(!0));return}if(br)return;let h=H(e.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+A)&&Ue(d,"manual")&&(br=!0,Ce({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}}),dt(),Te(!0))},_))},il=()=>{for(let d of wt)d.removeEventListener("loadedmetadata",un),d.removeEventListener("durationchange",un);wt.clear()},zn=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d){if(wt.has(m))continue;wt.add(m);let h=Number.parseFloat(m.dataset.volume??"");Number.isFinite(h)&&(m.volume=Math.max(0,Math.min(1,h))),m.addEventListener("loadedmetadata",un),m.addEventListener("durationchange",un),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load(),yr(m)}},yr=d=>{ln.has(d)||Zr(d,e.capturedTimeline,Q(e.capturedTimeline,0),ln)},jn=new WeakMap,Sr=d=>{let m=jn.get(d);if(m!==void 0)return m;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return jn.set(d,b),b},qn=new WeakMap,rl=d=>{let m=qn.get(d);if(m!==void 0)return m;let h=d.querySelector("[data-start]")===null;return qn.set(d,h),h},ol=()=>{jn=new WeakMap,qn=new WeakMap},$n=new WeakMap,cn=new WeakSet,Le=()=>{let d=C=>{let R=C.closest("[data-composition-id]"),q=R?k(R,0):null,K=R?W(R,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:R,inheritedStart:q,inheritedDuration:K}},m=eo({shouldIncludeElement:C=>C.hasAttribute("data-start")||!!d(C).compositionRoot,resolveStartSeconds:C=>{let R=d(C);return j(C,R.inheritedStart??0)},resolveDurationSeconds:C=>{let R=d(C),q=j(C,R.inheritedStart??0),K=Number.parseFloat(C.dataset.playbackStart??C.dataset.mediaStart??"0")||0,ge=R.inheritedStart!=null&&R.inheritedDuration!=null&&R.inheritedDuration>0?Math.max(0,R.inheritedStart+R.inheritedDuration-q):null,xe=Number.isFinite(C.duration)&&C.duration>K?Math.max(0,C.duration-K):null,ne=Number.parseFloat(C.dataset.duration??""),Z=Number.isFinite(ne)&&ne>0?ne:null,ye=[xe,ge,Z].filter(ot=>ot!=null);return ye.length>0?Math.min(...ye):null}});for(let C of m.mediaClips){let R=ln.get(C.el);R&&(C.volumeKeyframes=R)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||to({clips:m.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&de.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(C,R)=>de.setElementVolume(C,R),isWebAudioOwned:C=>de.ownsElement(C),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ce({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),w=E();for(let C of b){if(!(C instanceof HTMLElement))continue;if(C.hasAttribute("data-hidden")){cn.has(C)||($n.set(C,C.style.getPropertyValue("display")),cn.add(C)),C.style.display="none",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,!1);continue}if(cn.has(C)){let q=$n.get(C);q?C.style.display=q:C.style.removeProperty("display"),$n.delete(C),cn.delete(C)}let R=re(C,e.currentTime);if(R){let q=C.parentElement;for(;q&&q!==w;){if(q instanceof HTMLElement&&q.hasAttribute("data-start")&&!re(q,e.currentTime)){R=!1;break}q=q.parentElement}}C.style.visibility=R?"visible":"hidden",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,R),R?Sr(C)&&C.style.removeProperty("display"):Sr(C)&&rl(C)&&(C.style.display="none")}},Te=d=>{let m=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||m!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=m,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,Ce({source:"hf-preview",type:"state",frame:m,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},Kn="",sl=()=>{let d="";for(let m of document.querySelectorAll("[data-start]"))d+=`${m.id}:${m.tagName}|`;return d},dt=()=>{v(),F(),T();let d=E();if(d){let b=M(d.getAttribute("data-width")),w=M(d.getAttribute("data-height")),C=b?parseInt(b,10):0,R=w?parseInt(w,10):0;C>0&&R>0&&Ce({source:"hf-preview",type:"stage-size",width:C,height:R})}z();let m=mo({canonicalFps:e.canonicalFps});window.__clipManifest=m;let h=sl();if(Kn!==h&&ol(),!window.__clipTree||Kn!==h){let b=window;window.__clipTree=ao({startResolver:Ke({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:m.durationInFrames/e.canonicalFps}),Kn=h}Ce(m),Pe()},Oe=(d,m=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){L("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:m,suppressEvents:!0})}catch(b){L("runtime.init.site9",b)}}},it=()=>{window.__renderReady=!1},Ct=null,Ft=!0,al=()=>{let d=[];for(let m of e.deterministicAdapters){let h=m.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){L("runtime.init.adapterReady",b)}}return d},ll=()=>{let d=al();if(d.length===0)return Ct=null,Ft=!0,!0;let m=d.length===1?d[0]:Promise.all(d);return m!==Ct&&(Ct=m,Ft=!1,Promise.resolve(m).then(()=>{Ct===m&&(Ft=!0,it())},h=>{Ct===m&&(Ft=!0,L("runtime.init.adapterReady",h),it())})),Ft};if(Ee)Ki();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,parseDimensionPx:M,onDiagnostic:({code:m,details:h})=>{Ce({source:"hf-preview",type:"diagnostic",code:m,details:h})}};ea(d).then(()=>Zs(d)).finally(()=>{Ee=!0,zn(),At(),Ki(),it()})}let dn=no({postMessage:d=>Ce(d)});dn.installPickerApi();let Ve=va();n=Ve,p(()=>{Ve.destroy(),n=null});let Jn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,m)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=e.playbackRate}catch(w){L("runtime.init.site10",w)}},pe=oo({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:Jn,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,m)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==m&&(e.mediaForceSyncNextTick=!0),e.isPlaying=m,Le()},onStatePost:Te,onDeterministicSeek:(d,m)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:m?.suppressEvents})}catch(b){L("runtime.init.site11",b)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{Ve.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(e.capturedTimeline,0)});window.__player=x(pe),window.__playerReady=!0,Tr(Ce),st("composition_loaded",{duration:pe.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.controlBridgeHandler=Mr({onPlay:()=>{pe.play(),st("composition_played",{time:pe.getTime()})},onPause:()=>{pe.pause(),st("composition_paused",{time:pe.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let m of d)m instanceof HTMLMediaElement&&!m.paused&&m.pause()},onSeek:(d,m)=>{let h=Math.max(0,d)/e.canonicalFps;pe.seek(h),st("composition_seeked",{time:h})},onSetMuted:d=>{e.bridgeMuted=d;let m=d||e.mediaOutputMuted;de.setMuted(m);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=m||b.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,de.setVolume(d);let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),w=Number.isFinite(b)?b:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let m=d||e.bridgeMuted;de.setMuted(m);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=m||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Jn(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),_r()},onSetColorGrading:(d,m)=>{Ve.setGrading(d,m)},onSetColorGradingCompare:(d,m)=>{Ve.setCompare(d,m)},onTick:()=>{if(e.tornDown||!I.isPlaying())return;let d=I.now();if(e.currentTime=d,rt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let m=I.getDuration();Number.isFinite(m)&&(I.seek(m),e.currentTime=m,rt(m)),Oe("pause"),Le(),Te(!0)}},onEnablePickMode:()=>dn.enablePickMode(),onDisablePickMode:()=>dn.disablePickMode()}),e.deterministicAdapters=[Yr(),Ir({resolveStartSeconds:d=>k(d,0)}),Or(),Hr(),Wr(),Ur(),Vr(),zr(),jr(),qr(),$r(),Pr({getTimeline:()=>e.capturedTimeline})],Jr(),Xr(),window.__hfReseekGpu=d=>{let m=Math.max(0,Number(d)||0);window.__hfThreeTime=m,window.__hfTypegpuTime=m,Gr(m)},ve(),zn(),Oe("discover");let I=new On;e.transportClock=I;let de=new Bn,Xn=!1;de.init().then(d=>{Xn=d});let ul=()=>{let d=e.capturedTimeline,m=z();e.capturedTimeline&&(m||e.capturedTimeline!==d||!pe._timeline)&&(pe._timeline=e.capturedTimeline);let h=Q(e.capturedTimeline,0);if(h>0&&I.setDuration(h),Oe("discover",e.currentTime),!e.capturedTimeline){let b=window.__timelines??{},w=Object.keys(b).filter(C=>b[C]);if(w.length>0){let R=E()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:R?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:R,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(R?`Root data-composition-id is "${R}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${w.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${R??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,dt(),Te(!0)};if(it=()=>{if(!Ee||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Oe("discover",e.currentTime),!ll()){window.__renderReady=!1;return}ul()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),it()};window.addEventListener("hf-timelines-built",d)}it(),Ee&&setTimeout(()=>{it()},0);let fn=0,Yn=!1,cl=(d,m,h,b)=>{try{let w=b?.suppressEvents===!0;d.pause(),typeof d.totalTime=="function"?d.totalTime(m,w):d.seek(m,w)}catch(w){L(h,w)}},dl=(d,m)=>{let h=window.__timelines??{},b=E()?.getAttribute("data-composition-id")??null;for(let[w,C]of Object.entries(h)){if(!C||w===b)continue;let R=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!R)continue;let q=k(R,0);if(!Number.isFinite(q))continue;let K=W(R,{includeAuthoredTimingAttrs:!0}),ge=H(C),xe=K!=null&&K>0?K:ge,ne=Math.max(0,xe!=null&&xe>0?Math.min(xe,d-q):d-q);cl(C,ne,"runtime.init.transport.childTimeline",m)}},fl=d=>{let m=window.__timelines??{};for(let h of Object.values(m))if(!(!h||h===d))try{h.play()}catch(b){L("runtime.init.activateSiblings",b)}},Er=d=>typeof d=="object"&&d!==null,_t=new WeakMap,ml=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Ar=(d,m)=>{let h=d[m];if(typeof h!="function")return null;try{let b=Number(h.call(d));return Number.isFinite(b)?b:null}catch(b){return L("runtime.init.gsapCallbackDuration",b),null}},pl=d=>{let m=_t.get(d);if(m!=null)return m;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(b){return L("runtime.init.gsapCallbackChildren",b),_t.set(d,!1),!1}if(!Array.isArray(h))return _t.set(d,!1),!1;for(let b of h){if(!Er(b)||!Er(b.vars)||!ml.some(q=>typeof b.vars[q]=="function"))continue;let R=Ar(b,"totalDuration")??Ar(b,"duration");if(R!=null&&R<=1e-6)return _t.set(d,!0),!0}return _t.set(d,!1),!1},rt=(d,m)=>{let h=e.capturedTimeline,b=m?.suppressEvents===!0;if(h){m?.activateChildren&&fl(h);let w=h,C=d;if(typeof w.totalDuration=="function")try{let R=Number(w.totalDuration());Number.isFinite(R)&&R>0&&d>R&&(C=R)}catch(R){L("runtime.init.transport.clampDuration",R)}try{typeof h.totalTime=="function"?(h.totalTime(C,b),!b&&!pl(h)&&(h.totalTime(C+.001,!0),h.totalTime(C,!0))):h.seek(C,b)}catch(R){L("runtime.init.transport.seek",R)}}else dl(d,m);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&h))try{w.seek({time:d,suppressEvents:b})}catch(C){L("runtime.init.transport.adapter",C)}},hl=()=>{try{return document.querySelector(`[${Ta}]`)!=null}catch{return!1}},wr=()=>{if(!(e.tornDown||Yn)){Yn=!0;try{if(e.transportRafId=window.requestAnimationFrame(wr),fn+=1,fn%60===0&&!(I.isPlaying()&&e.capturedTimeline!=null&&I.now()<g)){let h=e.capturedTimeline;if(z()){e.capturedTimeline&&!pe._timeline&&(pe._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&e.capturedTimeline.pause();let b=Q(e.capturedTimeline,0);b>0&&I.setDuration(b),dt()}}if(fn%20===0&&dt(),fn%30===0&&zn(),e.capturedTimeline){let m=Q(e.capturedTimeline,0);m>0&&(!I.isPlaying()||m>=I.getDuration())&&I.setDuration(m)}if(I.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&de.isActive()&&de.context){let m=de.getTime();m>=0&&I.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of m){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let w=Number.parseFloat(b.dataset.start??""),C=Number.parseFloat(b.dataset.duration??""),R=Number.isFinite(C)&&C>0?w+C:1/0,q=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&e.currentTime>=w&&e.currentTime<=R){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:w,mediaStart:q}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(e.currentTime=d,(I.isPlaying()||!hl())&&rt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let m=I.getDuration();Number.isFinite(m)&&(I.seek(m),e.currentTime=m,rt(m)),Oe("pause"),Le(),Te(!0);return}I.isPlaying()&&Le(),Te(!1)}finally{Yn=!1}}},Cr=d=>{let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let w=Number.parseFloat(h.dataset.duration??""),C=Number.isFinite(w)&&w>0?b+w:1/0;if(d<b||d>=C)continue;let R=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,q=d-b+R;if(q>=0)try{h.currentTime=q}catch{}}},Fr=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=de.startGeneration(),m=document.querySelectorAll("audio[data-start]");for(let h of m){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,C=Number.parseFloat(h.dataset.volume??""),R=Number.isFinite(C)?C:1,q=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(q)&&q>0?q:Number.POSITIVE_INFINITY,ge=h.closest("[data-composition-id]");if(ge){let xe=k(ge,0),ne=W(ge,{includeAuthoredTimingAttrs:!0});ne!=null&&ne>0&&(K=Math.min(K,Math.max(0,xe+ne-b)))}de.decodeAudioElement(h).then(xe=>{!xe||!I.isPlaying()||de.schedulePlayback(h,xe,b,w,I.now(),R*e.bridgeVolume,d,e.playbackRate,K)})}},_r=()=>{de.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Xn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),Fr())};if(pe.play=()=>{let d=e.capturedTimeline;if(I.isPlaying())return;let m=Q(d,0);if(m>0)I.setDuration(m),I.reachedEnd()&&(I.seek(0),e.currentTime=0,rt(0));else{let h=E(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Cr(I.now()),Xn&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Fr(),Oe("play"),Le(),Ve.redraw(),Te(!0))},pe.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1,e.currentTime=I.now(),e.mediaForceSyncNextTick=!0,Cr(e.currentTime);let d=e.capturedTimeline;d&&d.pause(),Oe("pause"),Le(),Ve.redraw(),Te(!0)},pe.seek=d=>{let m=mt(Math.max(0,Number(d)||0),e.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(m),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let b=e.capturedTimeline;b&&b.pause(),rt(e.currentTime),Oe("pause"),Le(),Ve.redraw(),Te(!0)},pe.renderSeek=(d,m)=>{let h=mt(Math.max(0,Number(d)||0),e.canonicalFps);I.isPlaying()&&I.pause(),I.seek(h),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,rt(e.currentTime,{activateChildren:!0,suppressEvents:m?.suppressEvents}),Le(),Ve.redraw(),Te(!0)},pe.getTime=()=>I.now(),pe.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},pe.isPlaying=()=>I.isPlaying(),pe.setPlaybackRate=d=>{Jn(d),I.setRate(e.playbackRate),_r()},e.capturedTimeline){let d=Q(e.capturedTimeline,0);d>0&&I.setDuration(d),e.capturedTimeline.pause()}let vr=window.__player;if(vr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(vr,m,{get:()=>pe[m],set:h=>{pe[m]=h},configurable:!0})}e.transportRafId=window.requestAnimationFrame(wr),dt(),Te(!0);let Qn=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,de.destroy(),nt!=null&&(window.clearTimeout(nt),nt=null),u!=null&&(window.cancelAnimationFrame(u),u=null),il(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),dn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){L("runtime.init.site12",m)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(m){L("runtime.init.site13",m)}for(let d of e.injectedCompStyles)try{d.remove()}catch(m){L("runtime.init.site14",m)}e.injectedCompStyles=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(m){L("runtime.init.site15",m)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===Qn&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Qn,e.beforeUnloadHandler=Qn,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var La=["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"],cr=[[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 uf(e){if(e<=255)return La[e];let t=0,n=cr.length-1;for(;t<=n;){let i=t+n>>1,r=cr[i];if(e<r[0]){n=i-1;continue}if(e>r[1]){t=i+1;continue}return r[2]}return"L"}function cf(e){let t=e.length;if(t===0)return null;let n=new Array(t),i=!1;for(let l=0;l<t;){let c=e.charCodeAt(l),p=c,f=1;if(c>=55296&&c<=56319&&l+1<t){let S=e.charCodeAt(l+1);S>=56320&&S<=57343&&(p=(c-55296<<10)+(S-56320)+65536,f=2)}let x=uf(p);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let S=0;S<f;S++)n[l+S]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<t;l++){let c=n[l];if(c==="L"){r=0;break}if(c==="R"||c==="AL"){r=1;break}}let o=new Int8Array(t);for(let l=0;l<t;l++)o[l]=r;let s=r&1?"R":"L",u=s,a=u;for(let l=0;l<t;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=u;for(let l=0;l<t;l++){let c=n[l];c==="EN"?n[l]=a==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(a=c)}for(let l=0;l<t;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<t-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<t;l++){if(n[l]!=="EN")continue;let c;for(c=l-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=l+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let l=0;l<t;l++){let c=n[l];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[l]="ON")}a=u;for(let l=0;l<t;l++){let c=n[l];c==="EN"?n[l]=a==="L"?"L":"EN":(c==="R"||c==="L")&&(a=c)}for(let l=0;l<t;l++){if(n[l]!=="ON")continue;let c=l+1;for(;c<t&&n[c]==="ON";)c++;let p=l>0?n[l-1]:u,f=c<t?n[c]:u,x=p!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<c;y++)n[y]=x;l=c-1}for(let l=0;l<t;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<t;l++){let c=n[l];(o[l]&1)===0?c==="R"?o[l]++:(c==="AN"||c==="EN")&&(o[l]+=2):(c==="L"||c==="AN"||c==="EN")&&o[l]++}return o}function Ra(e,t){let n=cf(e);if(n===null)return null;let i=new Int8Array(t.length);for(let r=0;r<t.length;r++)i[r]=n[t[r]];return i}var df=/[ \\t\\n\\r\\f]+/g,ff=/[\\t\\n\\r\\f]| {2,}|^ | $/;function mf(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function pf(e){if(!ff.test(e))return e;let t=e.replace(df," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function hf(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var dr=null,gf;function xf(){return dr===null&&(dr=new Intl.Segmenter(gf,{granularity:"word"})),dr}var bf=/\\p{Script=Arabic}/u,Hn=/\\p{M}/u,Ga=/\\p{Nd}/u;function ka(e){return bf.test(e)}function Da(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function Ie(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let i=e.charCodeAt(t+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Da(r))return!0;t++;continue}}if(Da(n))return!0}}return!1}function yf(e){let t=Un(e);return t!==null&&(Wn.has(t)||et.has(t))}var Sf=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ef(e){return Ie(e)}function Af(e){let t=Un(e);return t!==null&&Sf.has(t)}function Gn(e){return!yf(e)&&!Af(e)}var Wn=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"]),an=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),mr=new Set(["\'","\\u2019"]),et=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),wf=new Set([":",".","\\u060C","\\u061B"]),Cf=new Set(["\\u104F"]),Ff=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function _f(e){if(pr(e))return!0;let t=!1;for(let n of e){if(et.has(n)){t=!0;continue}if(!(t&&Hn.test(n)))return!1}return t}function vf(e){for(let t of e)if(!Wn.has(t)&&!et.has(t))return!1;return e.length>0}function Mf(e){if(pr(e))return!0;for(let t of e)if(!an.has(t)&&!mr.has(t)&&!Hn.test(t))return!1;return e.length>0}function pr(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Hn.test(n))){if(an.has(n)||et.has(n)||mr.has(n)){t=!0;continue}return!1}return t}function Wa(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let i=e.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=e.charCodeAt(r);return o>=55296&&o<=56319?r:n}function Un(e){if(e.length===0)return null;let t=Wa(e,e.length);return e.slice(t)}function Tf(e){let t=Array.from(e),n=t.length;for(;n>0;){let i=t[n-1];if(Hn.test(i)){n--;continue}if(an.has(i)||mr.has(i)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function Nf(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Ia(e,t,n,i){let r=t[i],o=e[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let u=r.repeat(s);return e[i]=u,u}function Pa(e,t){return e&&t!==null&&wf.has(t)}function Lf(e){let t=Un(e);return t!==null&&Cf.has(t)}function Rf(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function Vn(e){let t=e.length;for(;t>0;){let n=Wa(e,t),i=e.slice(n,t);if(Ff.has(i))return!0;if(!et.has(i))return!1;t=n}return!1}function kf(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var Df=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Ne(e){return e.length===1?e[0]:e.join("")}function If(e,t){let n=[];for(let i=e.length-1;i>=0;i--)n.push(e[i]);return n.push(t),Ne(n)}function Pf(e,t,n,i){if(!Df.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,l=0;for(let c of e){let p=kf(c,i),f=p==="text"&&t;if(o!==null&&p===o&&f===a){s.push(c),l+=c.length;continue}o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:u}),o=p,s=[c],u=n+l,a=f,l+=c.length}return o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:u}),r}function fr(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Of=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Bf(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Of.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function Hf(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function Gf(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let s=0;s<e.len;s++){if(i[s]!=="text"||!Bf(e,s))continue;let u=[t[s]],a=s+1;for(;a<e.len&&!fr(i[a]);){u.push(t[a]),n[s]=!0;let l=t[a].includes("?");if(i[a]="text",t[a]="",a++,l)break}t[s]=Ne(u)}let o=0;for(let s=0;s<t.length;s++){let u=t[s];u.length!==0&&(o!==s&&(t[o]=u,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return t.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:t,isWordLike:n,kinds:i,starts:r}}function Wf(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o]),!Hf(s))continue;let u=o+1;if(u>=e.len||fr(e.kinds[u]))continue;let a=[],l=e.starts[u],c=u;for(;c<e.len&&!fr(e.kinds[c]);)a.push(e.texts[c]),c++;a.length>0&&(t.push(Ne(a)),n.push(!0),i.push("text"),r.push(l),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}var Uf=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Oa=/^[A-Za-z0-9_]+[,:;]*$/,Ba=/[,:;]+$/;function Ua(e){for(let t of e)if(Ga.test(t))return!0;return!1}function sn(e){if(e.length===0)return!1;for(let t of e)if(!(Ga.test(t)||Uf.has(t)))return!1;return!0}function Vf(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],u=e.kinds[o];if(u==="text"&&sn(s)&&Ua(s)){let a=[s],l=o+1;for(;l<e.len&&e.kinds[l]==="text"&&sn(e.texts[l]);)a.push(e.texts[l]),l++;t.push(Ne(a)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=l-1;continue}t.push(s),n.push(e.isWordLike[o]),i.push(u),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function zf(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],u=e.kinds[o],a=e.isWordLike[o];if(u==="text"&&a&&Oa.test(s)){let l=[s],c=Ba.test(s),p=o+1;for(;c&&p<e.len&&e.kinds[p]==="text"&&e.isWordLike[p]&&Oa.test(e.texts[p]);){let f=e.texts[p];l.push(f),c=Ba.test(f),p++}t.push(Ne(l)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=p-1;continue}t.push(s),n.push(a),i.push(u),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function jf(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(e.kinds[o]==="text"&&s.includes("-")){let u=s.split("-"),a=u.length>1;for(let l=0;l<u.length;l++){let c=u[l];if(!a)break;(c.length===0||!Ua(c)||!sn(c))&&(a=!1)}if(a){let l=0;for(let c=0;c<u.length;c++){let p=u[c],f=c<u.length-1?`${p}-`:p;t.push(f),n.push(!0),i.push("text"),r.push(e.starts[o]+l),l+=f.length}continue}}t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function qf(e){let t=[],n=[],i=[],r=[],o=0;for(;o<e.len;){let s=[e.texts[o]],u=e.isWordLike[o],a=e.kinds[o],l=e.starts[o];if(a==="glue"){let c=[s[0]],p=l;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=Ne(c);if(o<e.len&&e.kinds[o]==="text")s[0]=f,s.push(e.texts[o]),u=e.isWordLike[o],a="text",l=p,o++;else{t.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let p=Ne(c);if(o<e.len&&e.kinds[o]==="text"){s.push(p,e.texts[o]),u=u||e.isWordLike[o],o++;continue}s.push(p)}t.push(Ne(s)),n.push(u),i.push(a),r.push(l)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function $f(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let o=0;o<t.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Ie(t[o])||!Ie(t[o+1]))continue;let s=Tf(t[o]);s!==null&&(t[o]=s.head,t[o+1]=s.tail+t[o+1],r[o+1]=r[o]+s.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function Ha(e,t,n){let i=xf(),r=0,o=[],s=[],u=[],a=[],l=[],c=[],p=[],f=[],x=[],S=[],y=[],g=[];for(let M of i.segment(e))for(let E of Pf(M.segment,M.isWordLike??!1,M.index,n)){let se=function(){c[P]!==null&&(s[P]=[Ia(o,c,p,P)],c[P]=null),s[P].push(E.text),u[P]=u[P]||E.isWordLike,f[P]=f[P]||T,x[P]=x[P]||k,S[P]=j,y[P]=re,g[P]=Pa(x[P],W)},F=E.kind==="text",v=Nf(E.text,E.isWordLike,E.kind),T=Ie(E.text),k=ka(E.text),W=Un(E.text),j=Vn(E.text),re=Lf(E.text),P=r-1;t.carryCJKAfterClosingQuote&&F&&r>0&&a[P]==="text"&&T&&f[P]&&S[P]||F&&r>0&&a[P]==="text"&&vf(E.text)&&f[P]||F&&r>0&&a[P]==="text"&&y[P]?se():F&&r>0&&a[P]==="text"&&E.isWordLike&&k&&g[P]?(se(),u[P]=!0):v!==null&&r>0&&a[P]==="text"&&c[P]===v?p[P]=(p[P]??1)+1:F&&!E.isWordLike&&r>0&&a[P]==="text"&&(_f(E.text)||E.text==="-"&&u[P])?se():(o[r]=E.text,s[r]=[E.text],u[r]=E.isWordLike,a[r]=E.kind,l[r]=E.start,c[r]=v,p[r]=v===null?0:1,f[r]=T,x[r]=k,S[r]=j,y[r]=re,g[r]=Pa(k,W),r++)}for(let M=0;M<r;M++){if(c[M]!==null){o[M]=Ia(o,c,p,M);continue}o[M]=Ne(s[M])}for(let M=1;M<r;M++)a[M]==="text"&&!u[M]&&pr(o[M])&&a[M-1]==="text"&&(o[M-1]+=o[M],u[M-1]=u[M-1]||u[M],o[M]="");let A=Array.from({length:r},()=>null),_=-1;for(let M=r-1;M>=0;M--){let E=o[M];if(E.length!==0){if(a[M]==="text"&&!u[M]&&Mf(E)&&_>=0&&a[_]==="text"){let F=A[_]??[];F.push(E),A[_]=F,l[_]=l[M],o[M]="";continue}_=M}}for(let M=0;M<r;M++){let E=A[M];E!=null&&(o[M]=If(E,o[M]))}let N=0;for(let M=0;M<r;M++){let E=o[M];E.length!==0&&(N!==M&&(o[N]=E,u[N]=u[M],a[N]=a[M],l[N]=l[M]),N++)}o.length=N,u.length=N,a.length=N,l.length=N;let J=qf({len:N,texts:o,isWordLike:u,kinds:a,starts:l}),B=$f(zf(jf(Vf(Wf(Gf(J))))));for(let M=0;M<B.len-1;M++){let E=Rf(B.texts[M]);E!==null&&(B.kinds[M]!=="space"&&B.kinds[M]!=="preserved-space"||B.kinds[M+1]!=="text"||!ka(B.texts[M+1])||(B.texts[M]=E.space,B.isWordLike[M]=!1,B.kinds[M]=B.kinds[M]==="preserved-space"?"preserved-space":"space",B.texts[M+1]=E.marks+B.texts[M+1],B.starts[M+1]=B.starts[M]+E.space.length))}return B}function Kf(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],i=0;for(let r=0;r<e.len;r++)e.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<e.len&&n.push({startSegmentIndex:i,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function Jf(e){if(e.len<=1)return e;let t=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,l=!1;function c(){o!==null&&(t.push(Ne(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<e.len;p++){let f=e.texts[p],x=e.kinds[p],S=e.isWordLike[p],y=e.starts[p];if(x==="text"){let g=Ef(f),A=Gn(f);if(o!==null&&a&&l){o.push(f),s=s||S,a=a||g,l=A;continue}c(),o=[f],s=S,u=y,a=g,l=A;continue}c(),t.push(f),n.push(S),i.push(x),r.push(y)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function Va(e,t,n="normal",i="normal"){let r=mf(n),o=r.mode==="pre-wrap"?hf(e):pf(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Jf(Ha(o,t,r)):Ha(o,t,r);return{normalized:o,chunks:Kf(s,r),...s}}var yt=null,za=new Map,St=null,Xf=96,Yf=/\\p{Emoji_Presentation}/u,Qf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,hr=null,ja=new Map;function gr(){if(yt!==null)return yt;if(typeof OffscreenCanvas<"u")return yt=new OffscreenCanvas(1,1).getContext("2d"),yt;if(typeof document<"u")return yt=document.createElement("canvas").getContext("2d"),yt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Zf(e){let t=za.get(e);return t||(t=new Map,za.set(e,t)),t}function qe(e,t){let n=t.get(e);return n===void 0&&(n={width:gr().measureText(e).width,containsCJK:Ie(e)},t.set(e,n)),n}function Et(){if(St!==null)return St;if(typeof navigator>"u")return St={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},St;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),i=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return St={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},St}function em(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function qa(){return hr===null&&(hr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),hr}function tm(e){return Yf.test(e)||e.includes("\\uFE0F")}function $a(e){return Qf.test(e)}function nm(e,t){let n=ja.get(e);if(n!==void 0)return n;let i=gr();i.font=e;let r=i.measureText("\\u{1F600}").width;if(n=0,r>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,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 ja.set(e,n),n}function im(e){let t=0,n=qa();for(let i of n.segment(e))tm(i.segment)&&t++;return t}function rm(e,t){return t.emojiCount===void 0&&(t.emojiCount=im(e)),t.emojiCount}function tt(e,t,n){return n===0?t.width:t.width-rm(e,t)*n}function Ka(e,t,n,i,r){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=qa(),s=[];for(let c of o.segment(e))s.push(c.segment);if(s.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(r==="sum-graphemes"){let c=[];for(let p of s){let f=qe(p,n);c.push(tt(p,f,i))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(r==="pair-context"||s.length>Xf){let c=[],p=null,f=0;for(let x of s){let S=qe(x,n),y=tt(x,S,i);if(p===null)c.push(y);else{let g=p+x,A=qe(g,n);c.push(tt(g,A,i)-f)}p=x,f=y}return t.breakableFitAdvances=c,t.breakableFitAdvances}let u=[],a="",l=0;for(let c of s){a+=c;let p=qe(a,n),f=tt(a,p,i);u.push(f-l),l=f}return t.breakableFitAdvances=u,t.breakableFitAdvances}function Ja(e,t){let n=gr();n.font=e;let i=Zf(e),r=em(e),o=t?nm(e,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function om(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function sm(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function am(e,t,n,i,r){let o=0,s=t;for(;o<e.length;){let u=s+e[o];if((o+1<e.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function Xa(e,t){return e.simpleLineWalkFastPath?Ya(e,t):Qa(e,t)}function Ya(e,t,n){let{widths:i,kinds:r,breakableFitAdvances:o}=e;if(i.length===0)return 0;let u=Et().lineFitEpsilon,a=t+u,l=0,c=0,p=!1,f=0,x=0,S=0,y=0,g=-1,A=0;function _(){g=-1,A=0}function N(v=S,T=y,k=c){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:v,endGraphemeIndex:T,width:k}),c=0,p=!1,_()}function J(v,T){p=!0,f=v,x=0,S=v+1,y=0,c=T}function B(v,T,k){p=!0,f=v,x=T,S=v,y=T+1,c=k}function M(v,T){if(!p){J(v,T);return}c+=T,S=v+1,y=0}function E(v,T){let k=o[v];for(let W=T;W<k.length;W++){let j=k[W];p?c+j>a?(N(),B(v,W,j)):(c+=j,S=v,y=W+1):B(v,W,j)}p&&S===v&&y===k.length&&(S=v+1,y=0)}let F=0;for(;F<i.length&&!(!p&&(F=om(e,F),F>=i.length));){let v=i[F],T=r[F],k=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!p){v>t&&o[F]!==null?E(F,0):J(F,v),k&&(g=F+1,A=c-v),F++;continue}if(c+v>a){if(k){M(F,v),N(F+1,0,c-v),F++;continue}if(g>=0){if(S>g||S===g&&y>0){N();continue}N(g,0,A);continue}if(v>t&&o[F]!==null){N(),E(F,0),F++;continue}N();continue}M(F,v),k&&(g=F+1,A=c-v),F++}return p&&N(),l}function Qa(e,t,n){if(e.simpleLineWalkFastPath)return Ya(e,t,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:c}=e;if(i.length===0||c.length===0)return 0;let p=Et(),f=p.lineFitEpsilon,x=t+f,S=0,y=0,g=!1,A=0,_=0,N=0,J=0,B=-1,M=0,E=0,F=null;function v(){B=-1,M=0,E=0,F=null}function T(H=N,U=J,V=y){S++,n?.({startSegmentIndex:A,startGraphemeIndex:_,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,v()}function k(H,U){g=!0,A=H,_=0,N=H+1,J=0,y=U}function W(H,U,V){g=!0,A=H,_=U,N=H,J=U+1,y=V}function j(H,U){if(!g){k(H,U);return}y+=U,N=H+1,J=0}function re(H,U,V,oe){if(!U)return;let _e=H==="tab"?0:r[V],O=H==="tab"?oe:o[V];B=V+1,M=y-oe+_e,E=y-oe+O,F=H}function P(H,U){let V=u[H];for(let oe=U;oe<V.length;oe++){let _e=V[oe];g?y+_e>x?(T(),W(H,oe,_e)):(y+=_e,N=H,J=oe+1):W(H,oe,_e)}g&&N===H&&J===V.length&&(N=H+1,J=0)}function se(H){if(F!=="soft-hyphen")return!1;let U=u[H];if(U==null)return!1;let{fitCount:V,fittedWidth:oe}=am(U,y,t,f,a);return V===0?!1:(y=oe,N=H,J=V,v(),V===U.length?(N=H+1,J=0,!0):(T(H,V,oe+a),P(H,V),!0))}function Ee(H){S++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),v()}for(let H=0;H<c.length;H++){let U=c[H];if(U.startSegmentIndex===U.endSegmentIndex){Ee(U);continue}g=!1,y=0,A=U.startSegmentIndex,_=0,N=U.startSegmentIndex,J=0,v();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let oe=s[V],_e=oe==="space"||oe==="preserved-space"||oe==="tab"||oe==="zero-width-break"||oe==="soft-hyphen",O=oe==="tab"?sm(y,l):i[V];if(oe==="soft-hyphen"){g&&(N=V+1,J=0,B=V+1,M=y+a,E=y+a,F=oe),V++;continue}if(!g){O>t&&u[V]!==null?P(V,0):k(V,O),re(oe,_e,V,O),V++;continue}if(y+O>x){let G=y+(oe==="tab"?0:r[V]),Q=y+(oe==="tab"?O:o[V]);if(F==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&M<=x){T(B,0,E);continue}if(F==="soft-hyphen"&&se(V)){V++;continue}if(_e&&G<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&M<=x){if(N>B||N===B&&J>0){T();continue}let ae=B;T(ae,0,E),V=ae;continue}if(O>t&&u[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),re(oe,_e,V,O),V++}if(g){let oe=B===U.consumedEndSegmentIndex?E:y;T(U.consumedEndSegmentIndex,0,oe)}}return S}var xr=null;function lm(){return xr===null&&(xr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),xr}function um(e){return e?{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 cm(e,t){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function l(p,f,x){i=[p],r=f,o=x,s=Vn(p),u=an.has(p)}function c(p,f){i.push(p),o=o||f;let x=Vn(p);p.length===1&&et.has(p)?s=s||x:s=x,u=!1}for(let p of lm().segment(e)){let f=p.segment,x=Ie(f);if(i.length===0){l(f,p.index,x);continue}if(u||Wn.has(f)||et.has(f)||t.carryCJKAfterClosingQuote&&x&&s){c(f,x);continue}if(!o&&!x){c(f,x);continue}a(),l(f,p.index,x)}return a(),n}function dm(e){if(e.length<=1)return e;let t=[],n=[e[0].text],i=e[0].start,r=Ie(e[0].text),o=Gn(e[0].text);function s(){t.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<e.length;u++){let a=e[u],l=Ie(a.text),c=Gn(a.text);if(r&&o){n.push(a.text),r=r||l,o=c;continue}s(),n=[a.text],i=a.start,r=l,o=c}return s(),t}function fm(e,t,n,i){let r=Et(),{cache:o,emojiCorrection:s}=Ja(t,$a(e.normalized)),u=tt("-",qe("-",o),s),l=tt(" ",qe(" ",o),s)*8;if(e.len===0)return um(n);let c=[],p=[],f=[],x=[],S=e.chunks.length<=1,y=n?[]:null,g=[],A=n?[]:null,_=Array.from({length:e.len});function N(E,F,v,T,k,W,j){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(S=!1),c.push(F),p.push(v),f.push(T),x.push(k),y?.push(W),g.push(j),A!==null&&A.push(E)}function J(E,F,v,T,k){let W=qe(E,o),j=tt(E,W,s),re=F==="space"||F==="preserved-space"||F==="zero-width-break"?0:j,P=F==="space"||F==="zero-width-break"?0:j;if(k&&T&&E.length>1){let se="sum-graphemes";sn(E)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Ee=Ka(E,W,o,s,se);N(E,j,re,P,F,v,Ee);return}N(E,j,re,P,F,v,null)}for(let E=0;E<e.len;E++){_[E]=c.length;let F=e.texts[E],v=e.isWordLike[E],T=e.kinds[E],k=e.starts[E];if(T==="soft-hyphen"){N(F,0,u,u,T,k,null);continue}if(T==="hard-break"){N(F,0,0,0,T,k,null);continue}if(T==="tab"){N(F,0,0,0,T,k,null);continue}let W=qe(F,o);if(T==="text"&&W.containsCJK){let j=cm(F,r),re=i==="keep-all"?dm(j):j;for(let P=0;P<re.length;P++){let se=re[P];J(se.text,"text",k+se.start,v,i==="keep-all"||!Ie(se.text))}continue}J(F,T,k,v,!0)}let B=mm(e.chunks,_,c.length),M=y===null?null:Ra(e.normalized,y);return A!==null?{widths:c,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:u,tabStopAdvance:l,chunks:B,segments:A}:{widths:c,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:u,tabStopAdvance:l,chunks:B}}function mm(e,t,n){let i=[];for(let r=0;r<e.length;r++){let o=e[r],s=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,u=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function pm(e,t,n,i){let r=i?.wordBreak??"normal",o=Va(e,Et(),i?.whiteSpace,r);return fm(o,t,n,r)}function Za(e,t,n){return pm(e,t,!1,n)}function el(e,t,n){let i=Xa(e,t);return{lineCount:i,height:i*n}}var hm={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function tl(e,t){let n={...hm,...t},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Za(e,o),{lineCount:u}=el(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:tl,getVariables:Lr};function nl(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Na())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",nl,{once:!0}):nl();})();\n';
56485
+ RUNTIME_IIFE = '"use strict";(()=>{var _l=Object.create;var ri=Object.defineProperty;var vl=Object.getOwnPropertyDescriptor;var Ml=Object.getOwnPropertyNames;var Tl=Object.getPrototypeOf,Nl=Object.prototype.hasOwnProperty;var Ll=(e,t,n)=>t in e?ri(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var te=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Rl=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ml(t))!Nl.call(e,r)&&r!==n&&ri(e,r,{get:()=>t[r],enumerable:!(i=vl(t,r))||i.enumerable});return e};var kl=(e,t,n)=>(n=e!=null?_l(Tl(e)):{},Rl(t||!e||!e.__esModule?ri(n,"default",{value:e,enumerable:!0}):n,e));var be=(e,t,n)=>Ll(e,typeof t!="symbol"?t+"":t,n);var Ao=te((jp,Ei)=>{var Y=String,Eo=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}};Ei.exports=Eo();Ei.exports.createColors=Eo});var Ai=te(()=>{});var gn=te((Kp,Fo)=>{"use strict";var wo=Ao(),Co=Ai(),Ot=class e extends Error{constructor(t,n,i,r,o,s){super(t),this.name="CssSyntaxError",this.reason=t,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,e)}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(t){if(!this.source)return"";let n=this.source;t==null&&(t=wo.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(t){let{bold:c,gray:p,red:f}=wo.createColors(!0);r=x=>c(f(x)),i=x=>p(x),Co&&(o=x=>Co(x))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(u,a).map((c,p)=>{let f=u+1+p,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(c.length>160){let y=20,g=Math.max(0,this.column-y),A=Math.max(this.column+y,this.endColumn+y),_=c.slice(g,A),N=i(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+N+r("^")}let E=i(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(c)+`\n `+E+r("^")}return" "+i(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Fo.exports=Ot;Ot.default=Ot});var wi=te((Jp,vo)=>{"use strict";var pu=/(<)(\\/?style\\b)/gi,hu=/(<)(!--)/g;function Je(e){return typeof e!="string"||!e.includes("<")?e:e.replace(pu,"\\\\3c $2").replace(hu,"\\\\3c $2")}var _o={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function gu(e){return e[0].toUpperCase()+e.slice(1)}var Bt=class{constructor(t){this.builder=t}atrule(t,n){let i=t.raws,r="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),t.nodes)this.block(t,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Je(r+o+s),t)}}beforeAfter(t,n){let i;t.type==="decl"?i=this.raw(t,null,"beforeDecl"):t.type==="comment"?i=this.raw(t,null,"beforeComment"):n==="before"?i=this.raw(t,null,"beforeRule"):i=this.raw(t,null,"beforeClose");let r=t.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(t,null,"indent");if(s.length)for(let u=0;u<o;u++)i+=s}return i}block(t,n){let i=this.raw(t,"between","beforeOpen");this.builder(Je(n+i)+"{",t,"start");let r;t.nodes&&t.nodes.length?(this.body(t),r=this.raw(t,"after")):r=this.raw(t,"after","emptyBody"),r&&this.builder(Je(r)),this.builder("}",t,"end")}body(t){let n=t.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(t,"semicolon"),o=t.type==="document";for(let s=0;s<n.length;s++){let u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Je(a)),this.stringify(u,i!==s||r)}}comment(t){let n=this.raw(t,"left","commentLeft"),i=this.raw(t,"right","commentRight");this.builder(Je("/*"+n+t.text+i+"*/"),t)}decl(t,n){let i=t.raws,r=this.raw(t,"between","colon"),o=t.prop+r+this.rawValue(t,"value");t.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Je(o),t)}document(t){this.body(t)}raw(t,n,i){let r;if(i||(i=n),n&&(r=t.raws[n],typeof r<"u"))return r;let o=t.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return _o[i];let s=t.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(t,i);{let a="raw"+gu(i);this[a]?r=this[a](s,t):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=_o[i]),u[i]=r,r}rawBeforeClose(t){let n;return t.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(t,n){let i;return t.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(t,n){let i;return t.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(t){let n;return t.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(i=>{if(i.nodes&&(i.parent!==t||t.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(t){let n;return t.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(i=>{let r=i.parent;if(r&&r!==t&&r.parent&&r.parent===t&&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(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let i=t[n],r=t.raws[n];return r&&r.value===i?r.raw:i}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,i=t.parent&&t.parent.type==="document";this.builder(i?n:Je(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(Je(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};vo.exports=Bt;Bt.default=Bt});var Ht=te((Xp,Mo)=>{"use strict";var xu=wi();function Ci(e,t){new xu(t).stringify(e)}Mo.exports=Ci;Ci.default=Ci});var xn=te((Yp,Fi)=>{"use strict";Fi.exports.isClean=Symbol("isClean");Fi.exports.my=Symbol("my")});var Ut=te((Qp,To)=>{"use strict";var bu=gn(),yu=wi(),Su=Ht(),{isClean:Gt,my:Eu}=xn();function _i(e,t){let n=new e.constructor;for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="proxyCache")continue;let r=e[i],o=typeof r;i==="parent"&&o==="object"?t&&(n[i]=t):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>_i(s,n)):(o==="object"&&r!==null&&(r=_i(r)),n[i]=r)}return n}function ze(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,i=1,r=0;for(let o=0;o<e.length;o++){if(i===t.line&&n===t.column){r=o;break}e[o]===`\n`?(n=1,i+=1):n+=1}return r}var Wt=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Gt]=!1,this[Eu]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let i of t[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=_i(this);for(let i in t)n[i]=t[i];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(t,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new bu(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[Gt]=!0}markDirty(){if(this[Gt]){this[Gt]=!1;let t=this;for(;t=t.parent;)t[Gt]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(ze(i,this.source.start),ze(i,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){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=ze(r,this.source.start),s=o+t;for(let u=o;u<s;u++)r[u]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){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:ze(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:ze(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(t.word){let s=n.slice(ze(n,this.source.start),ze(n,this.source.end)).indexOf(t.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+t.word.length))}else t.start?i={column:t.start.column,line:t.start.line,offset:ze(n,t.start)}:t.index&&(i=this.positionInside(t.index)),t.end?r={column:t.end.column,line:t.end.line,offset:ze(n,t.end)}:typeof t.endIndex=="number"?r=this.positionInside(t.endIndex):t.index&&(r=this.positionInside(t.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(t,n){return new yu().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,i=!1;for(let r of t)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,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 u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}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(t=Su){t.stringify&&(t=t.stringify);let n="";return t(this,i=>{n+=i}),n}warn(t,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return t.warn(n,r)}};To.exports=Wt;Wt.default=Wt});var zt=te((Zp,No)=>{"use strict";var Au=Ut(),Vt=class extends Au{constructor(t){super(t),this.type="comment"}};No.exports=Vt;Vt.default=Vt});var qt=te((eh,Lo)=>{"use strict";var wu=Ut(),jt=class extends wu{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Lo.exports=jt;jt.default=jt});var Xe=te((th,Go)=>{"use strict";var Ro=zt(),ko=qt(),Cu=Ut(),{isClean:Do,my:Io}=xn(),vi,Po,Oo,Mi;function Bo(e){return e.map(t=>(t.nodes&&(t.nodes=Bo(t.nodes)),delete t.source,t))}function Ho(e){if(e[Do]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Ho(t)}var De=class e extends Cu{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(...t){for(let n of t){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=t(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>t[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>t[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let i=this.index(t),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(t);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(t,n){let i=this.index(t),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(t);for(let u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=Bo(Po(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new ko(t)]}else if(t.selector||t.selectors)t=[new Mi(t)];else if(t.name)t=[new vi(t)];else if(t.text)t=[new Ro(t)];else throw new Error("Unknown node type in node creation");return t.map(r=>(r[Io]||e.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Do]&&Ho(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(...t){t=t.reverse();for(let n of t){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(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=t&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(t,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(t,i))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,i)=>{let r;try{r=t(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(t)),r})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&t.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(t){return this.walk((n,i)=>{if(n.type==="comment")return t(n,i)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&t.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&t.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};De.registerParse=e=>{Po=e};De.registerRule=e=>{Mi=e};De.registerAtRule=e=>{vi=e};De.registerRoot=e=>{Oo=e};Go.exports=De;De.default=De;De.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,vi.prototype):e.type==="rule"?Object.setPrototypeOf(e,Mi.prototype):e.type==="decl"?Object.setPrototypeOf(e,ko.prototype):e.type==="comment"?Object.setPrototypeOf(e,Ro.prototype):e.type==="root"&&Object.setPrototypeOf(e,Oo.prototype),e[Io]=!0,e.nodes&&e.nodes.forEach(t=>{De.rebuild(t)})}});var bn=te((nh,Uo)=>{"use strict";var Wo=Xe(),pt=class extends Wo{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};Uo.exports=pt;pt.default=pt;Wo.registerAtRule(pt)});var yn=te((ih,jo)=>{"use strict";var Fu=Xe(),Vo,zo,lt=class extends Fu{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Vo(new zo,this,t).stringify()}};lt.registerLazyResult=e=>{Vo=e};lt.registerProcessor=e=>{zo=e};jo.exports=lt;lt.default=lt});var $o=te((rh,qo)=>{var _u="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",vu=(e,t=21)=>(n=t)=>{let i="",r=n|0;for(;r--;)i+=e[Math.random()*e.length|0];return i},Mu=(e=21)=>{let t="",n=e|0;for(;n--;)t+=_u[Math.random()*64|0];return t};qo.exports={nanoid:Mu,customAlphabet:vu}});var Sn=te(()=>{});var En=te(()=>{});var Ti=te(()=>{});var Ko=te(()=>{});var Li=te((mh,Yo)=>{"use strict";var{existsSync:Tu,readFileSync:Nu}=Ko(),{dirname:Ni,join:Lu}=Sn(),{SourceMapConsumer:Jo,SourceMapGenerator:Xo}=En();function Ru(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var $t=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),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=Ni(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Jo(this.json||this.text)),this.consumerCache}decodeInline(t){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=t.match(r)||t.match(o);if(s)return decodeURIComponent(t.substr(s[0].length));let u=t.match(n)||t.match(i);if(u)return Ru(t.substr(u[0].length));let a=t.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=t.lastIndexOf(n.pop()),r=t.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(t.substring(i,r)))}loadFile(t,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Ni(t),Tu(t)))return this.mapFile=t,Nu(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(t);if(i){let r=this.loadFile(i,t,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof Jo)return Xo.fromSourceMap(n).toString();if(n instanceof Xo)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;t&&(i=Lu(Ni(t),i));let r=this.loadFile(i,t,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Yo.exports=$t;$t.default=$t});var Kt=te((ph,ns)=>{"use strict";var{nanoid:ku}=$o(),{isAbsolute:Di,resolve:Ii}=Sn(),{SourceMapConsumer:Du,SourceMapGenerator:Iu}=En(),{fileURLToPath:Qo,pathToFileURL:An}=Ti(),Zo=gn(),Pu=Li(),Ri=Ai(),ki=Symbol("lineToIndexCache"),Ou=!!(Du&&Iu),es=!!(Ii&&Di);function ts(e){if(e[ki])return e[ki];let t=e.css.split(`\n`),n=new Array(t.length),i=0;for(let r=0,o=t.length;r<o;r++)n[r]=i,i+=t[r].length+1;return e[ki]=n,n}var ht=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.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&&(!es||/^\\w+:\\/\\//.test(n.from)||Di(n.from)?this.file=n.from:this.file=Ii(n.from)),es&&Ou){let i=new Pu(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 "+ku(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,i,r={}){let o,s,u,a,l;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let x=this.fromOffset(u);s=x.line,o=x.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let c=this.origin(n,i,s,o);return c?l=new Zo(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,r.plugin):l=new Zo(t,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:u,line:n,offset:a,source:this.css},this.file&&(An&&(l.input.url=An(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(t,n){return ts(this)[t-1]+n-1}fromOffset(t){let n=ts(this),i=n[n.length-1],r=0;if(t>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),t<n[s])o=s-1;else if(t>=n[s+1])r=s+1;else{r=s;break}}return{col:t-n[r]+1,line:r+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:Ii(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:t});if(!s.source)return!1;let u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;Di(s.source)?a=An(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||An(this.map.mapFile));let l={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Qo)l.file=Qo(a);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(s.source);return c&&(l.source=c),l}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};ns.exports=ht;ht.default=ht;Ri&&Ri.registerInput&&Ri.registerInput(ht)});var gt=te((hh,ss)=>{"use strict";var is=Xe(),rs,os,Ye=class extends is{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,i){let r=super.normalize(t);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(t,n){let i=this.index(t);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(t)}toResult(t={}){return new rs(new os,this,t).stringify()}};Ye.registerLazyResult=e=>{rs=e};Ye.registerProcessor=e=>{os=e};ss.exports=Ye;Ye.default=Ye;is.registerRoot(Ye)});var Pi=te((gh,as)=>{"use strict";var Jt={comma(e){return Jt.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Jt.split(e,t)},split(e,t,n){let i=[],r="",o=!1,s=0,u=!1,a="",l=!1;for(let c of e)l?l=!1:c==="\\\\"?l=!0:u?c===a&&(u=!1):c===\'"\'||c==="\'"?(u=!0,a=c):c==="("?s+=1:c===")"?s>0&&(s-=1):s===0&&t.includes(c)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=c;return(n||r!=="")&&i.push(r.trim()),i}};as.exports=Jt;Jt.default=Jt});var wn=te((xh,us)=>{"use strict";var ls=Xe(),Bu=Pi(),xt=class extends ls{get selectors(){return Bu.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(i)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};us.exports=xt;xt.default=xt;ls.registerRule(xt)});var ds=te((bh,cs)=>{"use strict";var Hu=bn(),Gu=zt(),Wu=qt(),Uu=Kt(),Vu=Li(),zu=gt(),ju=wn();function Xt(e,t){if(Array.isArray(e))return e.map(r=>Xt(r));let{inputs:n,...i}=e;if(n){t=[];for(let r of n){let o={...r,__proto__:Uu.prototype};o.map&&(o.map={...o.map,__proto__:Vu.prototype}),t.push(o)}}if(i.nodes&&(i.nodes=e.nodes.map(r=>Xt(r,t))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=t[r])}if(i.type==="root")return new zu(i);if(i.type==="decl")return new Wu(i);if(i.type==="rule")return new ju(i);if(i.type==="comment")return new Gu(i);if(i.type==="atrule")return new Hu(i);throw new Error("Unknown node type: "+e.type)}cs.exports=Xt;Xt.default=Xt});var Bi=te((yh,xs)=>{"use strict";var{dirname:Cn,relative:ms,resolve:ps,sep:hs}=Sn(),{SourceMapConsumer:gs,SourceMapGenerator:Fn}=En(),{pathToFileURL:fs}=Ti(),qu=Kt(),$u=!!(gs&&Fn),Ku=!!(Cn&&ps&&ms&&hs),Oi=class{constructor(t,n,i,r){this.stringify=t,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 t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),i=t.root||Cn(t.file),r;this.mapOpts.sourcesContent===!1?(r=new gs(t.text),r.sourcesContent&&(r.sourcesContent=null)):r=t.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),Ku&&$u&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Fn.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Fn({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 Fn({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(u,a,l)=>{if(this.css+=u,a&&l!=="end"&&(r.generated.line=t,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=u.match(/\\n/g),s?(t+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&l!=="start"){let c=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==c.last||c.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=t,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=t,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(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!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(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let i=this.opts.to?Cn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Cn(ps(i,this.mapOpts.annotation)));let r=ms(i,t);return this.memoizedPaths.set(t,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new qu(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!t[i]){t[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(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(fs){let i=fs(t).toString();return this.memoizedFileURLs.set(t,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;hs==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let i=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,i),i}};xs.exports=Oi});var Ss=te((Sh,ys)=>{"use strict";var _n=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,vn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Ju=/.[\\r\\n"\'(/\\\\]/,bs=/[\\da-f]/i;ys.exports=function(t,n={}){let i=t.css.valueOf(),r=n.ignoreErrors,o,s,u,a,l,c,p,f,x,E,y=i.length,g=0,A=[],_=[],N=-1;function J(){return g}function B(v){throw t.error("Unclosed "+v,g)}function M(){return _.length===0&&g>=y}function S(v){if(_.length)return _.pop();if(g>=y)return;let T=v?v.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);c=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);c=[k,k,g];break}case 40:{if(E=A.length?A.pop()[1]:"",x=i.charCodeAt(g+1),E==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(p=!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,p=!p}while(p);c=["brackets",i.slice(g,a+1),g,a],g=a}else g<=N?c=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||Ju.test(s)?(N=a===-1?y:a,c=["(","(",g]):(c=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(p=!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,p=!p}while(p);c=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{_n.lastIndex=g+1,_n.test(i),_n.lastIndex===0?a=i.length-1:a=_n.lastIndex-2,c=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,bs.test(i.charAt(a)))){for(;bs.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}c=["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")),c=["comment",i.slice(g,a+1),g,a],g=a):(vn.lastIndex=g+1,vn.test(i),vn.lastIndex===0?a=i.length-1:a=vn.lastIndex-2,c=["word",i.slice(g,a+1),g,a],A.push(c),g=a);break}}return g++,c}function F(v){_.push(v)}return{back:F,endOfFile:M,nextToken:S,position:J}}});var Cs=te((Eh,ws)=>{"use strict";var Xu=bn(),Yu=zt(),Qu=qt(),Zu=gt(),Es=wn(),ec=Ss(),As={empty:!0,space:!0};function tc(e){for(let t=e.length-1;t>=0;t--){let n=e[t],i=n[3]||n[2];if(i)return i}}var Hi=class{constructor(t){this.input=t,this.root=new Zu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new Xu;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let i,r,o,s=!1,u=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),i=t[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(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!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(t);break}else a.push(t);else a.push(t);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&&(t=a[a.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),u&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=t[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(t){let n=0,i,r,o;for(let[s,u]of t.entries()){if(r=u,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(t){let n=new Yu;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let i=t[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=ec(this.input)}decl(t,n){let i=new Qu;this.init(i,t[0][2]);let r=t[t.length-1];for(r[0]===";"&&(this.semicolon=!0,t.pop()),i.source.end=this.getPosition(r[3]||r[2]||tc(t)),i.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),i.raws.before+=t.shift()[1];for(i.source.start=this.getPosition(t[0][2]),i.prop="";t.length;){let l=t[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=t.shift()[1]}i.raws.between="";let o;for(;t.length;)if(o=t.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=[],u;for(;t.length&&(u=t[0][0],!(u!=="space"&&u!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let l=t.length-1;l>=0;l--){if(o=t[l],o[1].toLowerCase()==="!important"){i.important=!0;let c=this.stringFrom(t,l);c=this.spacesFromEnd(t)+c,c!==" !important"&&(i.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),p="";for(let f=l;f>0;f--){let x=c[f][0];if(p.trim().startsWith("!")&&x!=="space")break;p=c.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(t),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new Es;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){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(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}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(t){if(this.spaces+=t[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(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,i=null,r=!1,o=null,s=[],u=t[1].startsWith("--"),a=[],l=t;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);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(!u)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}else this.unknownWord(a)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,i,r){let o,s,u=i.length,a="",l=!0,c,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?l=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",c=i[f+1]?i[f+1][0]:"empty",!As[p]&&!As[c]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,E)=>x+E[1],"");t.raws[n]={raw:f,value:a}}t[n]=a}rule(t){t.pop();let n=new Es;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)i=t.pop()[1]+i;return i}spacesAndCommentsFromStart(t){let n,i="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)i+=t.shift()[1];return i}spacesFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],n==="space");)i=t.pop()[1]+i;return i}stringFrom(t,n){let i="";for(let r=n;r<t.length;r++)i+=t[r][1];return t.splice(n,t.length-n),i}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};ws.exports=Hi});var Tn=te((Ah,Fs)=>{"use strict";var nc=Xe(),ic=Kt(),rc=Cs();function Mn(e,t){let n=new ic(e,t),i=new rc(n);try{i.parse()}catch(r){throw r}return i.root}Fs.exports=Mn;Mn.default=Mn;nc.registerParse(Mn)});var Gi=te((wh,_s)=>{"use strict";var Yt=class{constructor(t,n={}){if(this.type="warning",this.text=t,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}};_s.exports=Yt;Yt.default=Yt});var Nn=te((Ch,vs)=>{"use strict";var oc=Gi(),Qt=class{get content(){return this.css}constructor(t,n,i){this.processor=t,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new oc(t,n);return this.messages.push(i),i}warnings(){return this.messages.filter(t=>t.type==="warning")}};vs.exports=Qt;Qt.default=Qt});var Wi=te((Fh,Ts)=>{"use strict";var Ms={};Ts.exports=function(t){Ms[t]||(Ms[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var zi=te((vh,ks)=>{"use strict";var sc=Xe(),ac=yn(),lc=Bi(),uc=Tn(),Ns=Nn(),cc=gt(),dc=Ht(),{isClean:He,my:fc}=xn(),_h=Wi(),mc={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},pc={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},hc={Once:!0,postcssPlugin:!0,prepare:!0},bt=0;function Zt(e){return typeof e=="object"&&typeof e.then=="function"}function Rs(e){let t=!1,n=mc[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,bt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,bt,n+"Exit"]:[n,n+"Exit"]}function Ls(e){let t;return e.type==="document"?t=["Document",bt,"DocumentExit"]:e.type==="root"?t=["Root",bt,"RootExit"]:t=Rs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Ui(e){return e[He]=!1,e.nodes&&e.nodes.forEach(t=>Ui(t)),e}var Vi={},Qe=class e{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(t,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Ui(n);else if(n instanceof e||n instanceof Ns)r=Ui(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=uc;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[fc]&&sc.rebuild(r)}this.result=new Ns(t,r,i),this.helpers={...Vi,postcss:Vi,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(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let i=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=i.postcssPlugin,t.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return t}prepareVisitors(){this.listeners={};let t=(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(!pc[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!hc[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?t(n,i,n[i][r]):t(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&t(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],i=this.runOnRoot(n);if(Zt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[He];){t[He]=!0;let n=[Ls(t)];for(;n.length>0;){let i=this.visitTick(n);if(Zt(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(t.type==="document"){let r=t.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(t,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>t.Once(i,this.helpers));return Zt(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(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 t=this.result.opts,n=dc;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(t.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,u=>{s+=u}),this.result.css=s,this.result}let o=new lc(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 t of this.plugins){let n=this.runOnRoot(t);if(Zt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[He];)t[He]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[i,r]of t){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(Zt(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){t.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[He]){u[He]=!0,t.push(Ls(u));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===bt){i.nodes&&i.nodes.length&&(i[He]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[He]=!0;let n=Rs(t);for(let i of n)if(i===bt)t.nodes&&t.each(r=>{r[He]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Qe.registerPostcss=e=>{Vi=e};ks.exports=Qe;Qe.default=Qe;cc.registerLazyResult(Qe);ac.registerLazyResult(Qe)});var Is=te((Th,Ds)=>{"use strict";var gc=Bi(),xc=Tn(),bc=Nn(),yc=Ht(),Mh=Wi(),en=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 t,n=xc;try{t=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,i){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=i,this._map=void 0;let r=yc;this.result=new bc(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 gc(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),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(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Ds.exports=en;en.default=en});var Os=te((Nh,Ps)=>{"use strict";var Sc=yn(),Ec=zi(),Ac=Is(),wc=gt(),ut=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let i of t)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(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Ac(this,t,n):new Ec(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Ps.exports=ut;ut.default=ut;wc.registerProcessor(ut);Sc.registerProcessor(ut)});var js=te((Lh,zs)=>{"use strict";var Bs=bn(),Hs=zt(),Cc=Xe(),Fc=gn(),Gs=qt(),Ws=yn(),_c=ds(),vc=Kt(),Mc=zi(),Tc=Pi(),Nc=Ut(),Lc=Tn(),ji=Os(),Rc=Nn(),Us=gt(),Vs=wn(),kc=Ht(),Dc=Gi();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new ji(e)}le.plugin=function(t,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let u=n(...s);return u.postcssPlugin=t,u.postcssVersion=new ji().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return le([r(a)]).process(s,u)},r};le.stringify=kc;le.parse=Lc;le.fromJSON=_c;le.list=Tc;le.comment=e=>new Hs(e);le.atRule=e=>new Bs(e);le.decl=e=>new Gs(e);le.rule=e=>new Vs(e);le.root=e=>new Us(e);le.document=e=>new Ws(e);le.CssSyntaxError=Fc;le.Declaration=Gs;le.Container=Cc;le.Processor=ji;le.Document=Ws;le.Comment=Hs;le.Warning=Dc;le.AtRule=Bs;le.Result=Rc;le.Input=vc;le.Rule=Vs;le.Root=Us;le.Node=Nc;Mc.registerPostcss(le);zs.exports=le;le.default=le});function mn(){return globalThis}function L(e,t){if(typeof window>"u")return;let n=mn(),i=n.__hf?.onSwallowed;if(i)try{i({label:e,error:t})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}function Ce(e){try{window.parent.postMessage(e,"*")}catch(t){L("bridge.postMessage",t)}}var Dl={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Number(e.frame??0),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>Il(e)};function Il(e){let t=e.selectors,n=e.duration||800;t&&Pl(t,n)}function Ir(e){let t=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=Dl[r];o&&o(i,e)};return window.addEventListener("message",t),Ce({source:"hf-preview",type:"ready"}),t}function Pl(e,t){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 ${t}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 e)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),t)})}catch(i){L("bridge.flashElements.querySelector",i)}}var oi=null;function Pr(e){oi=e}function at(e,t){if(oi)try{oi({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function Ol(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,i=t.length;for(;n<i&&t[n]==="-";)n++;for(;i>n&&t[i-1]==="-";)i--;let r=t.slice(n,i);return r.length>0?r:"node"}function Mt(e){return`--${Ol(e)}`}function Or(e){let t=new Map;for(let n of e){let i=Mt(n),r=t.get(i);r?r.includes(n)||r.push(n):t.set(i,[n])}return[...t.values()].filter(n=>n.length>1)}function Br(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,Tt(i));let n=pn();return{...t,...n}}function Tt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}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}var si="data-hf-css-vars";function ai(e){return"style"in e&&typeof e.style?.setProperty=="function"}function li(e,t){if(!ai(e))return;let n=[];for(let[i,r]of Object.entries(t))if(typeof r=="string"&&r!==""||typeof r=="number"){let o=Mt(i);e.style.setProperty(o,String(r)),n.push(o)}n.length>0&&e.setAttribute(si,n.join(" "))}function Hr(e){if(!ai(e))return;let t=e.getAttribute(si);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(si)}}function Gr(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let r of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(r);let n=pn(),i=[];for(let r of t)i.push(...Bl(r,n,e.defaultView));for(let r of Or(i))console.warn(`composition variables ${r.join(", ")} collapse to the same CSS property ${Mt(r[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Bl(e,t,n){if(!ai(e))return[];let i=Tt(e),r={};for(let[o,s]of Object.entries(i)){if(o in t)continue;let u=Mt(o);(e.style.getPropertyValue(u)||(n?n.getComputedStyle(e).getPropertyValue(u):"")).trim()===""&&(r[o]=s)}for(let[o,s]of Object.entries(t))o in i&&(r[o]=s);return li(e,r),Object.keys(i)}function Wr(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function pn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ur(e){let t=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>e?.resolveStartSeconds?e.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,c)=>{let p=null;try{p=l.effect?.getComputedTiming?.()??null}catch(x){L("runtime.adapters.css.site5",x)}if(!p)return{};let f=Number(p.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(l,c)=>{for(let p of l){try{p.currentTime=c}catch(f){L("runtime.adapters.css.site1",f)}try{p.pause()}catch(f){L("runtime.adapters.css.site2",f)}}},s=l=>{for(let c of l)try{c.play()}catch(p){L("runtime.adapters.css.site3",p)}},u=l=>{for(let c of l)try{c.pause()}catch(p){L("runtime.adapters.css.site4",p)}},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:()=>{t=[];let l=document.querySelectorAll("*");for(let c of l){if(!(c instanceof HTMLElement))continue;let p=window.getComputedStyle(c);!p.animationName||p.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let l=0;for(let c of t){if(!c.el.isConnected)continue;let p=i(c.el);for(let f of n(c.el)){let x=r(f,p);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let c=Number(l.time)||0;for(let p of t){if(!p.el.isConnected)continue;let f=i(p.el),x=Math.max(0,c-f)*1e3,E=p.animations;if(E.length>0){o(E,x);continue}p.el.style.animationPlayState="paused",p.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of t){if(!l.el.isConnected)continue;let c=l.animations;c.length>0&&u(c),a(l)}},play:()=>{for(let l of t)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{t=[]}}}function Vr(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(t.time)||0),r=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,r)):n.seek(i,r)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function zr(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfAnime=n}catch(e){L("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(t)}catch(r){L("runtime.adapters.animejs.site2",r)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){L("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){L("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function qr(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(e){L("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(ui(i))i.goToAndStop(t*1e3,!1);else if(ci(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=t*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,t/r*100);i.seek(o)}}}catch(r){L("runtime.adapters.lottie.site2",r)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(ui(t)||ci(t))&&t.pause()}catch(n){L("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let i of e){let r=null;try{r=Hl(i)}catch(o){L("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,t=Math.max(t,r))}return n?t:null}}}function jr(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function Hl(e){return ui(e)?jr(e.totalFrames,e.frameRate):ci(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:jr(e.totalFrames,e.frameRate):null}function ui(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function ci(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var di=-1;function hn(e){if(e!==di){di=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.site1",t)}}}function $r(e){di=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.force",t)}}function Kr(){let e=null,t=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},u=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(c=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,c()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(c,p,f){try{i?.call(this,c,p,f)}finally{u(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),u(l))},seek:l=>{e=Math.max(0,Number(l.time)||0),t=e,window.__hfThreeTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||u(l),o)}}}function Be(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=e.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:t||(t=Promise.allSettled(r.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Jr(){return Be({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Xr(){return Be({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function Yr(){return Be({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function Qr(){return Be({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Zr(){return Be({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}function eo(){let e=null,t=0;return{name:"typegpu",discover:()=>{},seek:n=>{e=Math.max(0,Number(n.time)||0),t=e,window.__hfTypegpuTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0}}}function to(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function no(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=to(n.source);if(o)return t.call(this,{...n,source:o},i,r)}return t.call(this,n,i,r)}}function io(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let i=n?.prototype;if(i)for(let r of t){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...u){let a=u.length-1,l=u[a];if(l instanceof HTMLVideoElement){let c=to(l);c&&(u[a]=c)}return o.apply(this,u)};s.__hfVideoPatched=!0,i[r]=s}}}function ro(){let e=!1,t=0,n=!1,i,r,o,s=new Set,u=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let A=Number(g.currentTime);return Number.isFinite(A)&&A>0?A:0},c=(g,A)=>A<=0?g:g>=A?Math.max(0,g-A):g,p=(g,A)=>{let _=u.get(g);if(_)return _;let N={compositionTimeMs:A,animationTimeMs:e?c(l(g),A):l(g)};return u.set(g,N),N},f=(g,A)=>{if(!s.has(g)){s.add(g);let _=()=>{s.delete(g)};try{g.addEventListener("finish",_,{once:!0}),g.addEventListener("cancel",_,{once:!0})}catch(N){L("runtime.adapters.waapi.site4",N)}}p(g,A)},x=(g,A)=>{for(let _ of g)f(_,A)},E=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let A=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:A,configurable:!0});let _=function(...N){let J=A.apply(this,N);return f(J,t),J};g.animate=_,i=g,r=A,o=_,n=!0}catch{}},y=g=>{let A=null;try{A=g.effect?.getComputedTiming?.()??null}catch(J){L("runtime.adapters.waapi.site4",J)}if(!A)return{};let _=Number(A.endTime);return Number.isFinite(_)?{endSeconds:(u.get(g)?.compositionTimeMs??0)/1e3+_/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,E(),x(a(),t)},seek:g=>{let A=Math.max(0,(Number(g.time)||0)*1e3);t=A,(!e||s.size>0)&&x(a(),e?A:0);for(let _ of s){let N=e?p(_,A):p(_,0),J=N.animationTimeMs+Math.max(0,A-N.compositionTimeMs);try{_.currentTime=J}catch(B){L("runtime.adapters.waapi.site1",B)}try{_.pause()}catch(B){L("runtime.adapters.waapi.site2",B)}}},pause:()=>{e||x(a(),t);for(let g of s)try{g.pause()}catch(A){L("runtime.adapters.waapi.site3",A)}},revert:()=>{if(s.clear(),u=new WeakMap,e=!1,t=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){L("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let A of a()){let _=y(A);_.endSeconds!=null&&(g=Math.max(g,_.endSeconds))}return g>0?g:null}}}function oo(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let i=e[n],r=e[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(t-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Gl(e,t,n,i){let r=Number.parseFloat(e.dataset.start??"0")||0,o=Number.parseFloat(e.dataset.end??""),s=Number.parseFloat(e.dataset.duration??""),u=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(e.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;e.volume=l;let c=1/Math.min(60,Math.max(1,i)),p=Math.max(0,r),f=Math.min(n,u),x=[];for(let y=p;y<=f+1e-6;y+=c){let g=Math.min(f,y);t(g);let A=Number(e.volume);if(!Number.isFinite(A))continue;let _=Math.max(0,Math.min(1,A)),N=x.at(-1);if((!N||Math.abs(N.volume-_)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(_.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function so(e,t,n,i){if(!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=Gl(e,s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},n,60);o&&i.set(e,o)}function Rt(e){let t=e.defaultPlaybackRate;return Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1}function ao(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(s=>e.shouldIncludeElement?.(s)):t.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let u=e?.resolveStartSeconds?e.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Rt(s),c=s.loop,p=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=e?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&p!=null&&(f=Math.max(0,(p-a)/l));let x=Number.isFinite(f)&&f>0?u+f:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),y={el:s,start:u,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:c,sourceDuration:p};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 fi=new WeakMap,Nt=new WeakMap,mi=new WeakSet,ft=new WeakSet;function Wl(e){if(ft.has(e))return;ft.add(e);let t=()=>ft.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Ul=3;function Vl(e){return e.error!=null||e.networkState===Ul}var pi=new WeakMap;function Lt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function lo(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(e.timeSeconds>=n.start&&e.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=Lt(e.userVolume??1),u=Lt(n.volume??1),a=pi.get(i),l=Lt(i.volume),c;n.volumeKeyframes&&n.volumeKeyframes.length>0?c=Lt(oo(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?c=l:c=u;let p=Lt(c*s);i.volume=p,pi.set(i,p),e.onElementVolume?.(i,p),(t||e.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*e.playbackRate}catch(T){L("runtime.media.site1",T)}let f=.04,x=2,E=i.currentTime||0,y=Math.abs(E-r),g=r-E,A=fi.get(i);fi.set(i,g);let _=A===void 0,N=!_&&Math.abs(g-A)>.5,J=y>3,B=y>.5&&(_||N||J),M=i.tagName==="VIDEO"&&!i.paused,S=A!==void 0&&Math.abs(g-A)<.004,F=!1;if(!M&&!B&&!_&&S&&y>f){let T=(Nt.get(i)??0)+1;Nt.set(i,T),T>=x&&(F=!0,Nt.set(i,0))}else y<=f&&Nt.set(i,0);let v=!M&&e.forceSync&&y>.02;if(B||F||v){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){L("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!mi.has(i)){mi.add(i),i.load();try{i.currentTime=r}catch(k){L("runtime.media.site3",k)}}}ft.delete(i)}e.playing&&i.paused&&!ft.has(i)&&!Vl(i)?(Wl(i),i.play().catch(T=>{ft.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!i.paused&&i.pause();continue}fi.delete(i),Nt.delete(i),mi.delete(i),pi.delete(i),i.paused||i.pause()}}var zl=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),jl=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),ql="data-hf-color-grading-source-hidden";function uo(e){let t=!1,n=null,i=null,r=null,o=null;function s(S,F){try{window.dispatchEvent(new CustomEvent(S,{detail:F}))}catch(v){L("runtime.picker.site1",v)}}function u(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:t,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function l(S){let F=S.ownerDocument.defaultView;if(!F)return!1;let v=S;for(;v&&v!==document.body&&v!==document.documentElement;){let T=F.getComputedStyle(v);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let k=Number.parseFloat(T.opacity);if(Number.isFinite(k)&&k<=.01&&!v.hasAttribute(ql))return!0;v=v.parentElement}return!1}function c(S){if(!S||S===document.body||S===document.documentElement)return!1;let F=S.tagName.toLowerCase();return!(F==="script"||F==="style"||F==="link"||F==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(zl)||l(S))}function p(S){return!!S?.closest(jl)}function f(S){let F=S;if(F.id)return`#${F.id}`;let v=S.getAttribute("data-composition-id");if(v)return`[data-composition-id="${CSS.escape(v)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let k=S.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return W;let re=j.querySelectorAll(`:scope > ${W}`);if(re.length===1)return W;for(let P=0;P<re.length;P+=1)if(re[P]===S)return`${W}:nth-of-type(${P+1})`;return W}function x(S){let F=S.tagName.toLowerCase(),v=(S.textContent??"").trim().replace(/\\s+/g," "),T=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return F==="h1"||F==="h2"||F==="h3"?"Heading":F==="p"||F==="span"||F==="div"?v.length>0?T(v,56):"Text":F==="img"?"Image":F==="video"?"Video":F==="audio"?"Audio":F==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":F==="section"?"Section":`${F.charAt(0).toUpperCase()}${F.slice(1)}`}function E(S,F,v){let T=typeof v=="number"&&v>0?v:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(S,F);else if(document.elementFromPoint){let re=document.elementFromPoint(S,F);k=re?[re]:[]}if(p(k[0]??null))return[];let W={},j=[];for(let re=0;re<k.length;re+=1){let P=k[re];if(!c(P))continue;let se=`${P.tagName}::${P.id||""}::${re}`;if(!W[se]&&(W[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let F=S.getBoundingClientRect(),v={};for(let k=0;k<S.attributes.length;k+=1){let W=S.attributes[k];W.name.startsWith("data-")&&(v[W.name]=W.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:F.left,y:F.top,width:F.width,height:F.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:v}}function g(S,F,v){return E(S,F,v).map(y)}function A(S){if(!t)return;let v=E(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!c(v)||n===v)return;n&&n.classList.remove("__hf-pick-highlight"),n=v,v.classList.add("__hf-pick-highlight");let T=y(v);u(T),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function _(S){if(!t)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let F=g(S.clientX,S.clientY,8);F.length!==0&&(u(F[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:F,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function N(S){S.key==="Escape"&&(B(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function J(){t||(t=!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",A,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){t&&(t=!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",A,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function M(){window.__HF_PICKER_API={enable:J,disable:B,isActive:()=>t,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,F,v)=>Number.isFinite(S)&&Number.isFinite(F)?g(S,F,v):[],pickAtPoint:(S,F,v)=>{if(!Number.isFinite(S)||!Number.isFinite(F))return null;let T=g(S,F,8);if(!T.length)return null;let k=Math.max(0,Math.min(T.length-1,Number(v??0))),W=T[k]??null;return W?(a(W),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),B(),W):null},pickManyAtPoint:(S,F,v)=>{if(!Number.isFinite(S)||!Number.isFinite(F))return[];let T=g(S,F,8);if(!T.length)return[];let k=[],W=Array.isArray(v)?v:[0];for(let j of W){let re=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[re];if(!P)continue;k.some(Ee=>Ee.selector===P.selector&&Ee.tagName===P.tagName)||k.push(P)}return k.length?(a(k[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),B(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:J,disablePickMode:B,installPickerApi:M}}var $l=["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 mt(e,t){let n=Number.isFinite(t)&&t>0?t:30,i=Number.isFinite(e)&&e>0?e:0;return Math.floor(i*n+1e-9)/n}function co(e,t,n=$l){for(let i of n){let r=t.getPropertyValue(i);r&&e.setProperty(i,r)}}function kt(e,t,n){let i=e?.[t];return typeof i=="function"?Number(i.call(e))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&L("runtime.player.nonConformantNum",{prop:t,actual:typeof i}),n)}function ke(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&L("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function Dt(e,t,n){if(e){for(let i of Object.values(e))if(!(!i||i===t))try{n(i)}catch(r){L("runtime.player.site1",r)}}}function fo(e,t,n,i){let r=mt(t,n),o=i?.suppressEvents===!0;return ke(e,"pause"),typeof e.totalTime=="function"?e.totalTime(r,o):typeof e.seek=="function"&&e.seek(r,o),r}function Kl(e,t,n,i,r){let o=[];Dt(e,t,s=>{ke(s,"play"),o.push(s)});try{return fo(t,n,i,r)}finally{for(let s of o)try{ke(s,"pause")}catch(u){L("runtime.player.site2",u)}}}function Jl(e,t){Dt(e,t,n=>{ke(n,"play")})}function mo(e){return{_timeline:null,play:()=>{let t=e.getTimeline();if(!t||e.getIsPlaying())return;let n=Math.max(0,Number(e.getSafeDuration?.()??kt(t,"duration",0))||0);n>0&&Math.max(0,kt(t,"time",0))>=n&&(ke(t,"pause"),typeof t.seek=="function"&&t.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof t.timeScale=="function"&&t.timeScale(e.getPlaybackRate()),ke(t,"play"),Dt(e.getTimelineRegistry?.(),t,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let t=e.getTimeline();if(!t)return;ke(t,"pause"),Dt(e.getTimelineRegistry?.(),t,i=>{ke(i,"pause")});let n=Math.max(0,kt(t,"time",0));e.onDeterministicSeek(n),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(n,!1),e.onRenderFrameSeek(n),e.onStatePost(!0)},seek:(t,n)=>{let i=e.getTimeline();if(!i)return;let r=Math.max(0,Number(t)||0),o=e.getIsPlaying(),s=Kl(e.getTimelineRegistry?.(),i,r,e.getCanonicalFps());e.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play"),Dt(e.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(e.getPlaybackRate()),ke(u,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(t,n)=>{let i=e.getTimeline(),r=e.getCanonicalFps(),o=i?(Jl(e.getTimelineRegistry?.(),i),fo(i,t,r,n)):mt(Math.max(0,Number(t)||0),r);e.onDeterministicSeek(o,n),e.setIsPlaying(!1),e.onSyncMedia(o,!1),e.onRenderFrameSeek(o),e.onStatePost(!0)},getTime:()=>kt(e.getTimeline(),"time",0),getDuration:()=>kt(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:t=>e.setPlaybackRate(t),getPlaybackRate:()=>e.getPlaybackRate()}}function po(){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 Xl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function gi(e){return e.id||e.getAttribute("data-hf-id")||null}function hi(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function Yl(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let i=Number(t[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function Ql(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=hi(e.getAttribute("data-playback-start"))??hi(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function Zl(e,t,n,i){let r=hi(e.getAttribute("data-duration"));return r!=null&&r>0?r:Yl(e,t)??Ql(e)??Math.max(0,n-i)}function eu(e){for(let[t,n]of e){let i=t.parentElement;for(;i;){let r=e.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function ho(e){let{startResolver:t,timelineRegistry:n,rootDuration:i}=e,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let u of document.querySelectorAll("[data-start]")){if(u===o||Xl.has(u.tagName))continue;let a=t.resolveStartForElement(u,0);if(Zl(u,n,i,a)<=0)continue;let l={id:gi(u)??`__clip-${s++}`,element:u,parentId:null,children:[]};r.set(u,l)}return eu(r),{roots:Array.from(r.values()).filter(u=>u.parentId===null)}}function $e(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function go(e){let t=(e??"").trim();if(!t)return null;let n=$e(t);if(n!=null)return{kind:"absolute",value:n};let i=t.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",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}var tu="data-hf-authored-duration",nu="data-hf-authored-end";function iu(e){return $e(e.getAttribute("data-duration"))}function ru(e){return $e(e.getAttribute("data-end"))}function ou(e){return $e(e.getAttribute(tu))}function su(e){return $e(e.getAttribute(nu))}function Ke(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=c=>{let p=document.getElementById(c);return p||(document.querySelector(`[data-composition-id="${CSS.escape(c)}"]`)??null)},u=c=>{let p=r.get(c);if(p!==void 0)return p;let f=null,x=iu(c)??(n?ou(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let E=ru(c)??(n?su(c):null);if(E!=null){let y=l(c,0),g=E-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&c instanceof HTMLMediaElement){let E=$e(c.getAttribute("data-playback-start"))??$e(c.getAttribute("data-media-start"))??0;Number.isFinite(c.duration)&&c.duration>E&&(f=(c.duration-E)/Rt(c))}if(f==null||f<=0){let E=c.getAttribute("data-composition-id");if(E){let y=t[E]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){L("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(c,f),f):(r.set(c,null),null)},a=(c,p)=>{if(c.hasAttribute("data-composition-id")){let x=c.parentElement?.closest("[data-composition-id]");return x?l(x,p):0}let f=c.closest("[data-composition-id]");return f?l(f,p):0},l=(c,p)=>{let f=i.get(c);if(f!==void 0)return f??p;if(o.has(c))return p;o.add(c);try{let x=go(c.getAttribute("data-start"));if(!x){if(c.hasAttribute("data-composition-id")){let _=c.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id")||_.hasAttribute("data-composition-file"))){let N=l(_,p);return i.set(c,N),N}}return i.set(c,p),p}if(x.kind==="absolute"){let _=Math.max(0,x.value),N=Math.max(0,a(c,p)+_);return i.set(c,N),N}let E=s(x.refId);if(!E)return i.set(c,p),p;let y=l(E,0),g=u(E);if(g==null||g<=0){let _=Math.max(0,y+x.offset);return i.set(c,_),_}let A=Math.max(0,y+g+x.offset);return i.set(c,A),A}finally{o.delete(c)}};return{resolveStartForElement:(c,p=0)=>l(c,Math.max(0,p)),resolveDurationForElement:c=>u(c)}}function xi(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var au="data-hf-authored-duration",lu="data-hf-authored-end";function Fe(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function bi(e){return Fe(e.getAttribute("data-duration"))??Fe(e.getAttribute(au))}function xo(e){return Fe(e.getAttribute("data-end"))??Fe(e.getAttribute(lu))}function yi(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function Si(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}var bo={composition:0,video:1,image:2,element:3,audio:4};function uu(e){if(e.length===0)return;let t=new Map;for(let s of e){let u=t.get(s.track)??new Set;u.add(s.kind),t.set(s.track,u)}if(!Array.from(t.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...t.keys()].sort((s,u)=>s-u);for(let s of o){let u=t.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((l,c)=>(bo[l]??99)-(bo[c]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of e){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function Pt(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function yo(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Pt(t);let n=e.getAttribute("data-composition-src");if(n)return Pt(n);let i=e.querySelector("img[src], video[src], audio[src], source[src]");return i?Pt(i.getAttribute("src")):null}function cu(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function du(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function fu(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function It(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function mu(e,t,n){let i=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=e.getAttribute("data-composition-id");if(r)return It(r);let o=e.id;if(o)return It(o);let s=cu(e);if(s)return It(s);let u=du(yo(e));if(u)return It(u);let a=fu(e);return a||`${It(t)} ${n+1}`}function So(e){let n=window.__timelines??{},i=Ke({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 G=Number(D.duration());return Number.isFinite(G)&&G>0?G:null}catch{return null}},o=O=>{let D=Fe(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let G=Fe(O.getAttribute("data-playback-start"))??Fe(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>G?Math.max(0,(O.duration-G)/Rt(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 G of O){let Q=G.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(G,0):Math.max(0,Number(G.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(G);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},u=(O,D)=>{let G=[],Q=null,ae=null,$=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(G.push(X),!$&&z!==D&&($=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Fe(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:$,compositionAncestors:G.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),c=a?.getAttribute("data-composition-id")??null,p=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,p)):null,E=r(c),y=bi(a??document.body),g=Si(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),G=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||G==null||G<=0?null:Math.max(0,D)+G})),A=g!=null?Math.max(0,g-Math.max(0,p)):null,_=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,N=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,J=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,M=Si(J,B),S=_!=null&&M!=null&&_>M+1,v=N??(S?M:Si(_,J,B))??null,k=(v!=null?p+v:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(O,D)=>!Number.isFinite(D)||D<=0?0:k==null||!Number.isFinite(k)?D:!Number.isFinite(O)||O>=k?0:Math.max(0,Math.min(D,k-O)),j=[],re=[],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 G=u(D,a),Q=i.resolveStartForElement(D,G.inheritedStart??0),ae=D.getAttribute("data-composition-id"),$=bi(D);if(($==null||$<=0)&&ae&&ae!==c&&($=r(ae)),($==null||$<=0)&&D instanceof HTMLMediaElement){let ve=Fe(D.getAttribute("data-playback-start"))??Fe(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&($=Math.max(0,D.duration-ve))}if($==null||$<=0){let ve=G.inheritedDuration;if(ve!=null&&ve>0){let Ue=(G.inheritedStart??0)+ve;$=Math.max(0,Ue-Q)}}if($==null||$<=0||($=W(Q,$),$<=0))continue;let z=Q+$;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Pe=ae&&ae!==c?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:gi(D)??ae??null,label:mu(D,Pe,j.length),start:Q,duration:$,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,zIndex:yi(D),stackingContextId:G.parentCompositionId??c,kind:Pe,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:G.compositionAncestors,parentCompositionId:G.parentCompositionId,nodePath:null,compositionSrc:Pt(D.getAttribute("data-composition-src")),assetUrl:yo(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Fe(D.getAttribute("data-timeline-priority"))})}let Ee=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)??[],G=new Map;for(let $ of a.children){let z=$;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||G.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=$=>{let z=$;for(;z;){if(G.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let $ of D){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let z=$.startTime(),X=$.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Pe=z+$.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Pe)))for(let ve of $.targets()){if(!(ve instanceof Element))continue;let At=Q(ve);if(!At)continue;let Ue=G.get(At);Ue&&(Ue.start=Math.min(Ue.start,z),Ue.end=Math.max(Ue.end,Pe))}}let ae=j.length>0?Math.max(...j.map($=>$.track))+1:0;for(let[$,z]of G){if(z.start===1/0||z.end===-1/0)continue;let X=$;if(Ee.has(X.id))continue;let Pe=Math.max(0,z.end-z.start);if(Pe<=0)continue;let ve=W(z.start,Pe);ve<=0||(se=Math.max(se,z.start+ve),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:ve,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,zIndex:yi(X),stackingContextId:H,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:Fe(X.getAttribute("data-timeline-priority"))}),Ee.add(X.id))}}catch(D){L("runtime.timeline.site1",D)}}if(a&&v!=null&&v>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let G=D;if(!G.id||Ee.has(G.id))continue;let Q=G.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=G.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(G).display==="none")continue;let z=W(0,v);z<=0||(se=Math.max(se,z),j.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:0,duration:z,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||O,zIndex:yi(G),stackingContextId:H,kind:"element",tagName:ae,compositionId:G.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:Fe(G.getAttribute("data-timeline-priority"))}),Ee.add(G.id))}}uu(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!xi(D))continue;let G=i.resolveStartForElement(O,0),Q=bi(O);if((Q==null||Q<=0)&&xo(O)!=null){let X=xo(O);Q=Math.max(0,X-G)}let ae=r(D),$=Q&&Q>0?Q:ae;if($==null||$<=0)continue;let z=W(G,$);z<=0||re.push({id:D,label:O.getAttribute("data-label")??D,start:G,duration:z,thumbnailUrl:Pt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,v??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&N==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps))),clips:j,scenes:re,compositionWidth:Fe(a?.getAttribute("data-width"))??1920,compositionHeight:Fe(a?.getAttribute("data-height"))??1080}}var ce=kl(js(),1),qs=ce.default,Rh=ce.default.stringify,kh=ce.default.fromJSON,Dh=ce.default.plugin,Ih=ce.default.parse,Ph=ce.default.list,Oh=ce.default.document,Bh=ce.default.comment,Hh=ce.default.atRule,Gh=ce.default.rule,Wh=ce.default.decl,Uh=ce.default.root,Vh=ce.default.CssSyntaxError,zh=ce.default.Declaration,jh=ce.default.Container,qh=ce.default.Processor,$h=ce.default.Document,Kh=ce.default.Comment,Jh=ce.default.Warning,Xh=ce.default.AtRule,Yh=ce.default.Result,Qh=ce.default.Input,Zh=ce.default.Rule,e0=ce.default.Root,t0=ce.default.Node;var qi="data-hf-authored-id",$s="data-hf-inner-root";function $i(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Ki(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ic(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function Js(e){let t=e.trim();return t?Array.from(new Set([t,Ic(t)])).filter(Boolean):[]}function Pc(e){return!!e&&/[\\w-]/.test(e)}function Oc(e,t,n){let i=Js(t).sort((u,a)=>a.length-u.length);if(i.length===0)return e;let r="",o=0,s=null;for(let u=0;u<e.length;u+=1){let a=e[u],l=u>0?e[u-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 c=i.find(p=>e.startsWith(p,u+1));if(c){let p=e[u+1+c.length];if(!Pc(p)){r+=n,u+=c.length;continue}}}r+=a}return r}function Bc(e,t){let n=t?.trim();return n?Oc(e,n,`[${qi}="${Ki(n)}"]`):e}function Ks(e){return`${e}:not(:has([${$s}])), ${e} > [${$s}]`}function Hc(e,t,n,i,r,o){let s=Bc(e,i),u=Gc(s,t,n),a=u.trim();if(!a||a==="*")return e;if(/^(html|body|:root)$/i.test(a))return o?Ks(t):e;let l=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${$i(n)}\\\\1\\\\s*\\\\]`,"g");if(l.test(a))return a.replace(l,"").trim()===""?Ks(t):u.replace(l,t);let c=u.match(/^\\s*/)?.[0]??"",p=u.match(/\\s*$/)?.[0]??"";if(r){let f=i?`[${qi}="${Ki(i)}"]`:null;if(f&&a.startsWith(f)){let x=a.slice(f.length);return`${c}${t}${f}${x}${p}`}}return`${c}${t} ${a}${p}`}function Gc(e,t,n){let i=$i(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 e.replace(new RegExp(`${r}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${r}`,"g"),t)}var Wc=new Set(["keyframes","-webkit-keyframes","font-face"]);function Uc(e){return e?.type==="atrule"}function Vc(e){let t=e.parent;for(;t;){if(Uc(t)&&Wc.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function Xs(e,t,n,i,r){let o=t.trim();if(!e||!o)return e;let s=n||`[data-composition-id="${Ki(o)}"]`,u=qs.parse(e);return u.walkRules(a=>{Vc(a)||(a.selectors=a.selectors.map(l=>Hc(l,s,o,i,r?.compoundAuthoredRoot,r?.scopeRootSelectors)))}),u.toResult({map:!1}).css}function Ys(e,t,n="[HyperFrames] composition script error:",i,r=t,o){let s=JSON.stringify(t),u=JSON.stringify(r),a=JSON.stringify(n),l=$i(t),c=JSON.stringify(o?.trim()||null),p=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*\\]`),E=JSON.stringify(Js(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(qi)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${E};\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${e.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})();`}var zc=["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 Qs(e){let t=e.getAttribute("id")?.trim();for(let n of zc)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var jc=8e3,qc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,$c=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,Kc=["src","href"];function Jc(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function ea(e,t){if(!t)return e;let n=e.trim();if(Jc(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function ta(e,t){return!t||!e?e:e.replace($c,(n,i,r)=>{let o=ea(r||"",t);return o===r?n:`url(${i||""}${o}${i||""})`})}function Xc(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let i of Kc){let r=n.getAttribute(i);if(r==null)continue;let o=ea(r,t);o!==r&&n.setAttribute(i,o)}}function Yc(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ta(i,t);r!==i&&n.setAttribute("style",r)}}function Qc(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let i=n.textContent||"",r=ta(i,t);r!==i&&(n.textContent=r)}}function na(e,t){if(t){Xc(e,t),Yc(e,t),Qc(e,t);for(let n of Array.from(e.querySelectorAll("template")))na(n.content,t)}}function Zc(e,t){return`${e}__hf${t}`}var ed=e=>new Promise(t=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),t({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),jc)});function Ji(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function td(e){let t=document.importNode(e,!0);Qs(t);let n=t.getAttribute("data-width"),i=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=i?`${i}px`:"100%",t}function Zs(e,t){let n=e.trim();if(!n)return e;try{return qc.test(n)?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function Ln(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function nd(e){let t=new Map;for(let n of e){let i=Ln(n).authoredCompositionId||"";i&&t.set(i,(t.get(i)||0)+1)}return t}function ia(e){let t=Ln(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function id(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function rd(e){return e.hasAttribute("data-composition-src")?!0:ia(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:id(e):!1}function Yi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:ia(t))}function ra(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(Yi().map(n=>Ln(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function oa(e,t=nd(e)){let n=new Map,i=new Map;for(let r of e){let{authoredCompositionId:o,runtimeCompositionId:s}=Ln(r),u=rd(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(t.get(o)||0)>1,l=s||o;if(u){let c=a?(n.get(o)||0)+1:0;a&&n.set(o,c),l=a?Zc(o,c):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 Xi(e){let t=null;e.authoredCompositionId&&(t=Array.from(e.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===e.authoredCompositionId)??null);let n=t??e.sourceNode,i=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,r=e.runtimeCompositionId||i||null,o=t?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}let u=f=>{for(let x of f){let E=x.cloneNode(!0);E instanceof HTMLStyleElement&&(i&&(E.textContent=Xs(E.textContent||"",i,s,o,{scopeRootSelectors:!0})),document.head.appendChild(E),e.injectedStyles.push(E))}};e.headStyles&&u(e.headStyles),u(Array.from(n.querySelectorAll("style")));let a=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",E=f.getAttribute("src")?.trim()??"";if(E){let y=Zs(E,e.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")),c=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",E=f.getAttribute("src")?.trim()??"";if(E){let y=Zs(E,e.compositionUrl);c.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&c.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(t){let f=t.getAttribute("data-width"),x=t.getAttribute("data-height"),E=e.parseDimensionPx(f),y=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),E&&e.host instanceof HTMLElement&&(e.host.style.width=E),y&&e.host instanceof HTMLElement&&(e.host.style.height=y),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(td(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;r&&od(e,n,r);for(let f of c){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=Ys(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let E=await ed(x);E.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:E.status,elapsedMs:E.elapsedMs}})}}}async function sa(e){let t=Yi();if(ra(),t.length===0)return;let n=oa(t),i=t.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 u=document.querySelector(`template#${CSS.escape(s)}-template`);Ji(r),await Xi({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function aa(e){let t=Yi();if(ra(),t.length===0)return;let n=oa(t),i=t.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),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Ji(r);try{let c=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(c){await Xi({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),E=new DOMParser().parseFromString(f,"text/html");na(E,l);let y=(u?E.querySelector(`template#${CSS.escape(u)}-template`):null)??E.querySelector("template"),g=y?y.content:E.body,A=y?void 0:Array.from(E.head.querySelectorAll("style")),_=y?void 0:Array.from(E.head.querySelectorAll("script")),N=y?void 0:Array.from(E.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Xi({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:E.body.innerHTML,compositionUrl:l,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,headStyles:A,headScripts:_,headLinks:N,declaredVariableDefaults:Tt(E.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),Ji(r)}}))}function od(e,t,n){let r={...e.declaredVariableDefaults??(t instanceof Element?Tt(t):{}),...Wr(e.host)};Hr(e.host),Object.keys(r).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=r,li(e.host,{...r,...pn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function sd(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function ad(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)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&&e.push(r)}return e}function ld(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function Qi(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=ad();for(let i of t){let r=null;if(i.wordId&&(r=sd(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=e.getTweensOf(r).filter(c=>c.vars.color!==void 0).sort((c,p)=>c.startTime()-p.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let c of a)String(c.vars.color)===l?i.dimColor&&(c.vars.color=i.dimColor):i.activeColor&&(c.vars.color=i.activeColor);i.dimColor&&e.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&e.set(r,s),Object.keys(o).length>0){let u=ld(r);e.set(u,o)}}}).catch(()=>{})}var ca="data-hf-edit-base-x",da="data-hf-edit-base-y",Zi="data-hf-edit-original-translate",Rn=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},ud=e=>{let t=[],n=0,i="";for(let r of e.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&t.push(i),i=""):i+=r;return i&&t.push(i),t},la=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,er=(e,t)=>la.test(e)&&la.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,cd=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[i,r,o]=ud(e);if(i===void 0)return`${t} ${n}`;if(r===void 0)return`${er(i,t)} ${n}`;let s=o===void 0?"":` ${o}`;return`${er(i,t)} ${er(r,n)}${s}`},dd=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},fd=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,i=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},ua=new WeakMap;function md(e,t){let n=ua.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){at("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let i=Rn(e.getAttribute("data-x"))-Rn(e.getAttribute(ca)),r=Rn(e.getAttribute("data-y"))-Rn(e.getAttribute(da));e.hasAttribute(Zi)||e.setAttribute(Zi,fd(e)),n===void 0&&dd(e);let o=e.getAttribute(Zi)??"",s=cd(o,`${i}px`,`${r}px`);e.style.setProperty("translate",s),ua.set(e,e.style.getPropertyValue("translate"))}function tr(e){let t=e.querySelectorAll(`[${ca}], [${da}]`),n=e.defaultView?.HTMLElement,i=0;for(let r=0;r<t.length;r++){let o=t[r];(n?o instanceof n:typeof o.style?.setProperty=="function")&&(md(o),i+=1)}return i}function kn(e){let t=window,i=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?t.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Dn(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var fa=new Set(["img","video","audio","source"]);function pd(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function hd(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let i=n[1].toLowerCase();return i==="https"||i==="http"||i==="blob"?!0:i==="data"?/^data:image\\//i.test(t):!1}function gd(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function xd(e){if(Dn(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function nr(e,t){let n=e.closest("[data-composition-id]"),i=t.get(n);if(i)return i;let r=kn(e);return t.set(n,r),r}function bd(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let i of Array.from(e.childNodes))i.nodeType===Node.TEXT_NODE&&(i.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function yd(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Sd(e,t){let n=new Set,i=yd(e);i&&n.add(i);for(let r of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(r);for(let r of n){let o=nr(r,t);for(let[s,u]of Object.entries(o)){let a=xd(u);a!==null&&r instanceof HTMLElement&&r.style.setProperty(`--${s}`,gd(a))}}}function ir(e){let t=new Map;Sd(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let i=n.getAttribute("data-var-src")?.trim();if(!i)continue;if(!fa.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(fa).join("/")}.`);continue}let r=pd(nr(n,t)[i]);if(r!==null){if(!hd(r)){console.warn(`[hyperframes] Ignoring data-var-src="${i}": unsafe URL protocol.`);continue}n.setAttribute("src",r)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let i=n.getAttribute("data-var-text")?.trim();if(!i)continue;let r=nr(n,t)[i];Dn(r)&&bd(n,String(r))}}var tn="data-color-grading",ma="__hf_color_grading_",Ed="rec709",In={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},Pn={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},On={blur:0,pixelate:0},pa=Object.keys(In),Ad=Object.keys(Pn),ha=Object.keys(On);function Ae(e,t,n={},i={}){return{id:e,label:t,adjust:{...In,...n},details:{...Pn,...i},effects:{...On}}}var wd=[Ae("neutral","Neutral"),Ae("natural-lift","Natural Lift",{exposure:.04,contrast:.06,highlights:-.06,shadows:.08,saturation:.05}),Ae("fresh-pop","Fresh Pop",{exposure:.08,contrast:.12,whites:.06,shadows:.04,temperature:-.02,vibrance:.08,saturation:.16}),Ae("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ae("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ae("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ae("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ae("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ae("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ae("vintage-wash","Vintage Wash",{exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},{vignette:.18}),Ae("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ae("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ae("warm-clean","Warm Clean",{exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,vibrance:.04,saturation:.06}),Ae("cool-clean","Cool Clean",{contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}),Ae("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ae("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ae("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06})],Cd=new Map(wd.map(e=>[e.id,e])),Fd=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_d={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},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},vd={vignette:{min:0,max:1},vignetteMidpoint:{min:0,max:1},vignetteRoundness:{min:-1,max:1},vignetteFeather:{min:0,max:1},grain:{min:0,max:1},grainSize:{min:0,max:1},grainRoughness:{min:0,max:1}},Md={blur:{min:0,max:1},pixelate:{min:0,max:1}};function ct(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Td(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function ga(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function rr(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Td(n,t.min,t.max):0}function Nd(e){if(e==null)return null;let t=String(e).trim();return t||null}function Ld(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!ct(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:ga(e.intensity,1)}}function Rd(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return ct(n)?n:null}catch{return null}return{preset:t,intensity:1}}return ct(e)?e:null}function kd(e,t){let n=e.trim().match(Fd);if(!n)return e;let i=n[1]??n[2]??"";return i&&Object.hasOwn(t,i)?t[i]:e}function or(e,t){if(typeof e=="string"){let i=kd(e,t);if(i!==e)return i;let r=e.trim();if(!r.startsWith("{"))return e;try{return or(JSON.parse(r),t)}catch{return e}}if(!ct(e))return e;let n={};for(let[i,r]of Object.entries(e))n[i]=or(r,t);return n}function Dd(e){return e?Cd.get(e)??null:null}function sr(e){let t=Rd(e);if(!t||t.enabled===!1)return null;let n=Nd(t.preset),i=Dd(n),r=i?.adjust??In,o=i?.details??Pn,s=i?.effects??On,u=ct(t.adjust)?t.adjust:{},a=ct(t.details)?t.details:{},l=ct(t.effects)?t.effects:{},c=pa.reduce((x,E)=>(x[E]=rr(u[E]??r[E],_d[E]),x),{...In}),p=Ad.reduce((x,E)=>(x[E]=rr(a[E]??o[E],vd[E]),x),{...Pn}),f=ha.reduce((x,E)=>(x[E]=rr(l[E]??s[E],Md[E]),x),{...On});return{enabled:!0,preset:n,intensity:ga(t.intensity,1),adjust:c,details:p,effects:f,lut:Ld(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():Ed}}function xa(e,t){return sr(or(e,t))}function nn(e){return!e?.enabled||e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:pa.some(t=>Math.abs(e.adjust[t])>1e-4)||Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||ha.some(t=>Math.abs(e.effects[t])>1e-4)}var Se=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);be(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Id=[0,0,0],Pd=[1,1,1],lr=64;function Od(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];if(i===\'"\'&&(t=!t),i==="#"&&!t)return e.slice(0,n)}return e}function Ze(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Se(`Invalid number "${e}"`,t);return n}function ba(e,t,n){if(e.length!==3)throw new Se(`${t} expects three numbers`,n);return[Ze(e[0],n),Ze(e[1],n),Ze(e[2],n)]}function ya(e,t,n){if(!e)throw new Se(`${t} expects a size`,n);let i=Number(e);if(!Number.isInteger(i)||i<2)throw new Se(`${t} must be an integer greater than 1`,n);return i}function Bd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Se("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Hd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function Gd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Sa(e,t={}){let n=t.maxSize??lr,i=null,r=Id,o=Pd,s=null,u=null,a=[],l=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let p=0;p<l.length;p++){let f=p+1,x=Od(l[p]??"").trim();if(!x)continue;let E=x.split(/\\s+/),y=(E[0]??"").toUpperCase(),g=E.slice(1);if(y==="TITLE"){i=Hd(x);continue}if(y==="DOMAIN_MIN"){r=ba(g,y,f);continue}if(y==="DOMAIN_MAX"){o=ba(g,y,f);continue}if(y==="LUT_3D_INPUT_RANGE"){if(g.length!==2)throw new Se(`${y} expects two numbers`,f);let A=Ze(g[0],f),_=Ze(g[1],f);if(_<=A)throw new Se("LUT_3D_INPUT_RANGE max must exceed min",f);r=[A,A,A],o=[_,_,_];continue}if(y==="LUT_1D_SIZE"){s=ya(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(u=ya(g[0],y,f),u>n)throw new Se(`LUT_3D_SIZE ${u} exceeds max ${n}`,f);continue}if(!Gd(y)){if(y.startsWith("LUT_"))throw new Se(`Unsupported cube keyword ${y}`,f);continue}if(!u)throw s?new Se("1D cube LUTs are not supported yet",f):new Se("LUT data appears before LUT_3D_SIZE",f);if(E.length!==3)throw new Se("LUT data rows must contain three numbers",f);a.push(Ze(E[0],f),Ze(E[1],f),Ze(E[2],f))}if(s&&u)throw new Se("Mixed 1D and 3D cube LUTs are not supported yet");if(!u)throw s?new Se("1D cube LUTs are not supported yet"):new Se("Missing LUT_3D_SIZE");Bd(r,o);let c=u*u*u;if(a.length!==c*3)throw new Se(`Expected ${c} LUT rows for size ${u}, found ${a.length/3}`);return{title:i,size:u,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Wd(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function ar(e){return Math.round(Wd(e)*255)}function Ea(e){let t=e.size,n=t*t,i=t,r=new Uint8Array(n*i*4);for(let o=0;o<t;o++)for(let s=0;s<t;s++)for(let u=0;u<t;u++){let a=((o*t+s)*t+u)*3,l=(s*n+o*t+u)*4;r[l]=ar(e.data[a]??0),r[l+1]=ar(e.data[a+1]??0),r[l+2]=ar(e.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var je=new Map,Ud="data-hf-color-grading-canvas",Ma="data-hf-color-grading-source-hidden",Vd="__hf_color_grading_canvas__",zd=16,rn={enabled:!1,position:.5,softness:0,lineWidth:2};function ur(e){let t=e.getAttribute(tn);return t==null?null:xa(t,kn(e))}var jd=["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`),qd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","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_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_blur;","uniform float u_pixelate;","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)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," vec4 base = sampleSource(sampleUv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) {"," base = mix(base, sampleBlur(sampleUv), blur);"," }"," return base;","}","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 originalSample = sampleSource(uv);"," vec4 sampleColor = sampleMedia(uv);"," vec3 original = originalSample.rgb;"," vec3 color = sampleColor.rgb * 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;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," 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);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," 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);"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," color = clamp(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`),$d=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," color.rgb *= color.a;"," return color;","}","void main(){"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`);function dt(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Aa(e,t,n){let i=e.createShader(n);return i?(e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(L("runtime.colorGrading.compileShader",e.getShaderInfoLog(i)),e.deleteShader(i),null)):null}function Ta(e,t=qd){let n=Aa(e,jd,e.VERTEX_SHADER),i=Aa(e,t,e.FRAGMENT_SHADER);if(!n||!i)return n&&e.deleteShader(n),i&&e.deleteShader(i),null;let r=e.createProgram();return r?(e.attachShader(r,n),e.attachShader(r,i),e.linkProgram(r),e.deleteShader(n),e.deleteShader(i),e.getProgramParameter(r,e.LINK_STATUS)?r:(L("runtime.colorGrading.linkProgram",e.getProgramInfoLog(r)),e.deleteProgram(r),null)):null}function dr(e,t=e.LINEAR){let n=e.createTexture();return n?(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),n):null}function Kd(e,t){let n=Ta(e,$d);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius")}:null}function wa(e){let t=dr(e),n=e.createFramebuffer();if(!t||!n)return t&&e.deleteTexture(t),n&&e.deleteFramebuffer(n),null;e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),i!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(t),e.deleteFramebuffer(n),null):{texture:t,framebuffer:n,width:1,height:1}}function Ca(e,t,n,i){t.width===n&&t.height===i||(t.width=n,t.height=i,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,i,0,e.RGBA,e.UNSIGNED_BYTE,null))}function Na(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!t)return null;let n=Ta(t),i=dr(t),r=dr(t,t.NEAREST);if(!n||!i||!r)return n&&t.deleteProgram(n),i&&t.deleteTexture(i),r&&t.deleteTexture(r),null;let o=t.createBuffer();return o?(t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:i,lutTexture:r,quad:o,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),lut:t.getUniformLocation(n,"u_lut"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),exposure:t.getUniformLocation(n,"u_exposure"),contrast:t.getUniformLocation(n,"u_contrast"),highlights:t.getUniformLocation(n,"u_highlights"),shadows:t.getUniformLocation(n,"u_shadows"),whites:t.getUniformLocation(n,"u_whites"),blacks:t.getUniformLocation(n,"u_blacks"),temperature:t.getUniformLocation(n,"u_temperature"),tint:t.getUniformLocation(n,"u_tint"),vibrance:t.getUniformLocation(n,"u_vibrance"),saturation:t.getUniformLocation(n,"u_saturation"),vignette:t.getUniformLocation(n,"u_vignette"),vignetteMidpoint:t.getUniformLocation(n,"u_vignetteMidpoint"),vignetteRoundness:t.getUniformLocation(n,"u_vignetteRoundness"),vignetteFeather:t.getUniformLocation(n,"u_vignetteFeather"),grain:t.getUniformLocation(n,"u_grain"),grainSize:t.getUniformLocation(n,"u_grainSize"),grainRoughness:t.getUniformLocation(n,"u_grainRoughness"),grainSeed:t.getUniformLocation(n,"u_grainSeed"),blur:t.getUniformLocation(n,"u_blur"),pixelate:t.getUniformLocation(n,"u_pixelate"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(t.deleteProgram(n),t.deleteTexture(i),t.deleteTexture(r),null)}function Jd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Xd(e){if(!Jd(e))return{...rn};let t=(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:e.enabled===!0,position:t(e.position,rn.position,0,1),softness:t(e.softness,rn.softness,0,.25),lineWidth:t(e.lineWidth,rn.lineWidth,0,12)}}function La(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function mr(e){return e instanceof Error?e.message:"LUT failed to load"}function Yd(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function Qd(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return Yd(t)}function Zd(e){let t=La(e);if("error"in t)return{state:"error",message:t.error};let n=je.get(t.href);if(n)return n;let i=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Sa(o,{maxSize:lr})),r={state:"pending",promise:i};for(;je.size>=zd;){let o=je.keys().next().value;if(!o)break;je.delete(o)}return je.set(t.href,r),i.then(o=>{je.get(t.href)===r&&je.set(t.href,{state:"ready",lut:o})},o=>{je.get(t.href)===r&&je.set(t.href,{state:"error",message:mr(o)})}),r}function Fa(e,t,n){if(e.lut?.src===t)return e.lut;let i=Ea(n),{gl:r,program:o}=e;try{return r.activeTexture(r.TEXTURE2),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),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(s){return e.lut=null,e.lutError=mr(s),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",s),null}}function Bn(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Ra(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Bn(e.gl,t.scratch),Bn(e.gl,t.blur),e.effectTargets=null)}function ka(e){Ra(e),e.gl.deleteTexture(e.program.texture),e.gl.deleteTexture(e.program.lutTexture),e.gl.deleteBuffer(e.program.quad),e.gl.deleteProgram(e.program.program)}function ef(e){let t=Na(e.canvas);return t?(ka(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function fr(e){if(!e.sourceHidden)return;e.element.removeAttribute(Ma);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function tf(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=Kd(t,e.program.quad),i=wa(t),r=wa(t);return!n||!i||!r?(n&&t.deleteProgram(n.program),i&&Bn(t,i),r&&Bn(t,r),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:i,blur:r},e.effectTargets)}function nf(e,t,n,i,r){let o=Math.max(1,Math.ceil(i)),s=Math.max(1,Math.ceil(r));return Ca(e,t,o,s),Ca(e,n,o,s),{width:o,height:s}}function _a(e,t,n,i,r,o,s){e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer),e.viewport(0,0,r.width,r.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,r.width,r.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,s),e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function rf(e,t,n,i,r,o,s){let u=n;for(let a=0;a<Math.max(1,Math.floor(s));a++)_a(e,t.blurProgram,u,t.scratch,r,{x:1,y:0},o),_a(e,t.blurProgram,t.scratch.texture,i,r,{x:0,y:1},o),u=i.texture}function of(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let i=La(t);if("error"in i)return e.lut=null,e.lutLoadingSrc=null,e.lutError=i.error,null;if(e.lut?.src===i.href)return e.lut;e.lut=null;let r=Zd(t);return r.state==="ready"?Fa(e,i.href,r.lut):r.state==="error"?(e.lutError=r.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==i.href&&(e.lutLoadingSrc=i.href,e.lutError=null,r.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Fa(e,i.href,o),We(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=mr(o),e.lutLoadingSrc=null,We(e))})),null)}function cr(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&dt(n))return n;try{let i=document.querySelector(t);return i&&dt(i)?i:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&dt(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&dt(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),i=t[n]??null;return i&&dt(i)?i:null}catch{return null}}function sf(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Da(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function af(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Da(t)?t:null}function lf(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function uf(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function cf(e){if(e instanceof HTMLVideoElement){let t=af(e);if(t)return t}return Da(e)?e:null}function va(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="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 df(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<t.length;r++){let o=t[r]??"",s=va(o,"x"),u=va(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(u!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=u;continue}}return{x:n,y:i}}function ff(e,t,n,i,r,o){if(e<=0||t<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",u=e,a=t;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(e/n,t/i):Math.min(e/n,t/i);u=n*f,a=i*f,s==="scale-down"&&u>n&&a>i&&(u=n,a=i)}else s==="none"&&(u=n,a=i);let l=df(o||"center"),c=(e-u)*l.x/e,p=(t-a)*l.y/t;return{scaleX:u/e,scaleY:a/t,offsetX:c,offsetY:p}}function mf(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function pf(e,t){let{element:n,canvas:i}=e,r=n.parentElement;r&&mf(e,r);let o=window.getComputedStyle(t);co(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=e.sourceOpacityForCanvas,i.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),u=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return u<=0||a<=0?(i.style.display="none",null):(i.width!==u&&(i.width=u),i.height!==a&&(i.height=a),{width:u,height:a})}function hf(e,t,n,i,r,o,s,u,a){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,r?1:0),e.uniform1f(t.lutEnabled,i?1:0),e.uniform1f(t.lutSize,i?.size??2),e.uniform2f(t.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),e.uniform3f(t.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0),e.uniform1f(t.exposure,n.adjust.exposure),e.uniform1f(t.contrast,n.adjust.contrast),e.uniform1f(t.highlights,n.adjust.highlights),e.uniform1f(t.shadows,n.adjust.shadows),e.uniform1f(t.whites,n.adjust.whites),e.uniform1f(t.blacks,n.adjust.blacks),e.uniform1f(t.temperature,n.adjust.temperature),e.uniform1f(t.tint,n.adjust.tint),e.uniform1f(t.vibrance,n.adjust.vibrance),e.uniform1f(t.saturation,n.adjust.saturation),e.uniform1f(t.vignette,n.details.vignette),e.uniform1f(t.vignetteMidpoint,n.details.vignetteMidpoint),e.uniform1f(t.vignetteRoundness,n.details.vignetteRoundness),e.uniform1f(t.vignetteFeather,n.details.vignetteFeather),e.uniform1f(t.grain,n.details.grain),e.uniform1f(t.grainSize,n.details.grainSize),e.uniform1f(t.grainRoughness,n.details.grainRoughness),e.uniform1f(t.grainSeed,a),e.uniform1f(t.blur,n.effects.blur),e.uniform1f(t.pixelate,n.effects.pixelate),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,o.enabled?1:0),e.uniform1f(t.comparePosition,o.position),e.uniform1f(t.compareSoftness,o.softness),e.uniform1f(t.compareLineWidth,o.lineWidth)}function gf(e){e.sourceHidden||(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity")),e.element.setAttribute(Ma,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function We(e){if(e.destroyed||e.contextLost)return!1;let t=cf(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=sf(t);if(!n)return!1;let i=t instanceof HTMLElement?t:e.element,r=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),s=e.sourceHidden&&r==="0"&&o==="important",u=e.element.style.getPropertyValue("visibility"),a=lf(t);if(a&&uf(e,t),a||!s){let E=window.getComputedStyle(a?t:e.element);e.sourceOpacityForCanvas=E.opacity||"1",e.sourceVisibleForCanvas=(a||u!=="hidden")&&E.visibility!=="hidden"}let l=pf(e,i);if(!l)return!1;let c=window.getComputedStyle(i),p=ff(l.width,l.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let E=of(e);f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.pixelStorei(f.UNPACK_FLIP_Y_WEBGL,!0),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,t);let y=!1,g=Math.min(1,Math.max(0,e.grading.effects.blur));if(g>0){let _=tf(e);if(_){let N=nf(f,_.scratch,_.blur,l.width,l.height);rf(f,_,x.texture,_.blur,N,.75+Math.pow(g,1.35)*32,g>.55?3:2),y=!0}}else e.effectError=null,e.effectTargets&&Ra(e);f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,l.width,l.height),f.useProgram(x.program),f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.activeTexture(f.TEXTURE1),f.bindTexture(f.TEXTURE_2D,e.effectTargets?.blur.texture??x.texture),f.activeTexture(f.TEXTURE2),f.bindTexture(f.TEXTURE_2D,x.lutTexture);let A=e.grainSeed+(e.element instanceof HTMLVideoElement?Math.floor(e.element.currentTime*60):0);return hf(f,x,e.grading,E,y,e.compare,l,p,A),f.bindBuffer(f.ARRAY_BUFFER,x.quad),f.enableVertexAttribArray(x.position),f.vertexAttribPointer(x.position,2,f.FLOAT,!1,0,0),f.drawArrays(f.TRIANGLE_STRIP,0,4),gf(e),e.hasDrawn=!0,e.drawError=null,!0}catch(E){return e.drawError=E instanceof Error?E.message:"Shader draw failed",L("runtime.colorGrading.drawEntry",E),!1}}function Ge(e,t,n,i){t.addEventListener(n,i),e.cleanup.push(()=>t.removeEventListener(n,i))}function xf(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function on(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,We(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,We(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)})}function bf(e){let t=()=>{We(e)};Ge(e,e.element,"load",t),Ge(e,e.element,"loadedmetadata",t),Ge(e,e.element,"loadeddata",t),Ge(e,e.element,"seeked",t),Ge(e,e.element,"timeupdate",t),Ge(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ge(e,e.element,"play",()=>on(e)),Ge(e,e.element,"pause",t)),Ge(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",fr(e)}),Ge(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!ef(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",fr(e);return}e.drawError=null,We(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element))}function yf(e){if(!e.destroyed){e.destroyed=!0,xf(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();e.cleanup.length=0,e.canvas.remove(),ka(e),fr(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition)}}function Sf(e){let t=document.createElement("canvas");return e.id&&(t.id=`${ma}${e.id}`),t.className=Vd,t.setAttribute(Ud,"true"),t.setAttribute("data-hyperframes-ignore",""),t.setAttribute("data-hyperframes-picker-ignore",""),t.setAttribute("data-hf-ignore",""),t.setAttribute("aria-hidden","true"),t.style.pointerEvents="none",t.style.display="none",e.parentNode?.insertBefore(t,e.nextSibling),t}function Ia(){let e=new WeakMap,t=new Set,n=null,i=!1,r=(y,g,A)=>{let _=e.get(y);if(_)return _.grading=g,_.source=A,We(_),y instanceof HTMLVideoElement&&!y.paused&&on(_),!0;let N=Sf(y),J=Na(N);if(!J)return N.remove(),!1;let B={element:y,canvas:N,gl:J.gl,program:J.program,grading:g,compare:{...rn},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,effectError:null,source:A,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,contextLost:!1,grainSeed:Qd(y),destroyed:!1};return e.set(y,B),t.add(y),bf(B),We(B),y instanceof HTMLVideoElement&&!y.paused&&on(B),!0},o=(y,g)=>{if(i)return!1;let A=cr(y);if(!A)return!1;let _=e.get(A);if(!_){let N=ur(A);if(!nn(N)||!r(A,N,"attribute"))return!1;_=e.get(A)}return _?(_.compare=Xd(g),We(_),!0):!1},s=y=>{let g=e.get(y);g&&(yf(g),e.delete(y),t.delete(y))},u=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${tn}], img[${tn}]`).forEach(A=>{if(!dt(A))return;y.add(A);let _=ur(A);nn(_)?r(A,_,"attribute"):s(A)});for(let A of Array.from(t)){let _=e.get(A);_&&(!A.isConnected||_.source==="attribute"&&!y.has(A))&&s(A)}return t.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(t,A=>e.get(A)))g&&We(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let A=cr(y);if(!A)return!1;let _=sr(g);return nn(_)?r(A,_,"live"):(s(A),!0)},c=(y,g)=>{if(!dt(y))return!1;let A=e.get(y);return A?(A.sourceVisibleForCanvas=g,!0):!1},p=y=>{let g=cr(y);if(!g)return{state:"missing",message:"Media not found"};let A=e.get(g);if(A)return A.effectError?{state:"unavailable",message:A.effectError}:A.drawError?{state:"unavailable",message:A.drawError}:A.lutError?{state:"unavailable",message:`LUT error: ${A.lutError}`}:A.grading.lut&&A.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:A.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:A.lut?"Shader + LUT active":"Shader active"};let _=ur(g);return nn(_)?{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(t))s(y)}};document.body&&(n=new MutationObserver(()=>u()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[tn]}));let x={refresh:u,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:c,getStatus:p,destroy:f},E=window;return E.__hf=E.__hf||{},E.__hf.colorGrading=x,u(),x}var Hn=class{constructor(t){be(this,"_baseTime",0);be(this,"_playStartMs",null);be(this,"_rate",1);be(this,"_duration",1/0);be(this,"_nowMs");be(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.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 t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*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(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}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:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.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 Pa(e){return!Number.isFinite(e)||e<=0?1:e}function Ef(e,t){t||e.paused||!mn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Af(e,t){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=t,u=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let c=a-n;return u&&c<=0?!1:(u?e.start(0,n+i,c):e.start(0,n+i),!0)}let l=-n/o;return u?e.start(r+l,i,a):e.start(r+l,i),!0}var Gn=class{constructor(){be(this,"_ctx",null);be(this,"_bufferCache",new Map);be(this,"_failedSrcs",new Set);be(this,"_activeSources",[]);be(this,"_masterGain",null);be(this,"_rateAnchorCtx",0);be(this,"_rateAnchorComp",0);be(this,"_rate",1);be(this,"_paused",!0);be(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(t){let n=t.currentSrc||t.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 L("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return L("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),L("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,i,r,o,s,u,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=Pa(a),p=this._ctx.createBufferSource();p.buffer=n,p.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=s,p.connect(f),f.connect(this._masterGain);let x=o-i,E=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=E,this._rateAnchorComp=o,!Af(p,{elapsed:x,mediaStart:r,scheduledAt:E,safeRate:c,clipDuration:l}))return p.disconnect(),f.disconnect(),null;let y=t.muted;t.muted=!0,Ef(t,y);let g={el:t,sourceNode:p,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:E,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,p.addEventListener("ended",()=>{let A=this._activeSources.indexOf(g);A!==-1&&(this._activeSources.splice(A,1),t.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(c){return L("webAudioTransport.schedule",c),null}}setRate(t){let n=Pa(t);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){L("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===t)try{r.gainNode.gain.value=i}catch(o){L("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Oa="data-hf-studio-manual-edit-gesture";var pr="data-hf-authored-duration",hr="data-hf-authored-end";function wf(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,i=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function Ba(){let e=po();tr(document),ir(document);let t=wf();e.canonicalFps=t.fps??e.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,u=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){L("runtime.init.site1",d)}(()=>{let d=window.gsap,m=window;if(!(!d?.registerPlugin||m.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),m.__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");try{Gr(document)}catch(d){L("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.find(h=>!h.parentElement?.closest("[data-composition-id]"))??m[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,m=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[m]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let c=l();c&&!c.hasAttribute("data-start")&&c.setAttribute("data-start","0");let p=d=>{o.push(d)},f=(d,m,h)=>{let b=h??`${d}:${JSON.stringify(m)}`;s.has(b)||(s.add(b),Ce({source:"hf-preview",type:"diagnostic",code:d,details:m}))},x=d=>{let m={scale:1,focusX:960,focusY:540},h=[],b=[],w={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:()=>m,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:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},E=1/60,y=.75,g=2,A=.05,_=100,N=240,J=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 m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},M=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},S=()=>l(),F=()=>{let d=S();if(!d)return;let m=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h),m&&d.style.setProperty("--comp-width",m),h&&d.style.setProperty("--comp-height",h)},v=()=>{let d=S(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of m){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),w=h.getAttribute("data-end");b!=null&&!h.hasAttribute(pr)&&h.setAttribute(pr,b),w!=null&&!h.hasAttribute(hr)&&h.setAttribute(hr,w),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 m=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h);let b=Array.from(d.children);for(let w of b){let C=w.tagName.toLowerCase();if(C==="script"||C==="style"||C==="link"||C==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let R=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",q=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(R&&q&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let ye=w.style.top,st=w.style.left,we=w.style.width,vt=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let ie=window.getComputedStyle(w);ie.top!=="auto"||ie.bottom!=="auto"||ie.left!=="auto"||ie.right!=="auto"||ie.width!=="0px"||ie.height!=="0px"||(w.style.top=ye,w.style.left=st,w.style.width=we,w.style.height=vt)}let K=window.getComputedStyle(w),ge=K.position;if(ge!=="absolute"&&ge!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||K.left!=="auto"||K.right!=="auto"||(w.style.left="0"),C!=="audio"){let ye=M(w.getAttribute("data-width")),st=M(w.getAttribute("data-height")),we=K.width!=="0px"&&K.width!=="auto",vt=K.height!=="0px"&&K.height!=="auto";ye?!w.style.width&&!we&&(w.style.width=ye):!w.style.width&&K.width==="0px"&&(w.style.width="100%"),st?!w.style.height&&!vt&&(w.style.height=st):!w.style.height&&K.height==="0px"&&(w.style.height="100%")}}},k=(d,m=0,h)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),W=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,m=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+m:k(d,m),re=(d,m)=>{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):k(d,0),w=W(d),C=d.getAttribute("data-composition-id");if(C){let q=(window.__timelines??{})[C],K=null;if(q&&typeof q.duration=="function"){let xe=Number(q.duration());Number.isFinite(xe)&&xe>0&&(K=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(pr)||d.hasAttribute(hr))&&(w==null||w<=0)&&K!=null&&(w=K)}let R=w!=null&&w>0?b+w:Number.POSITIVE_INFINITY;return m>=b&&(Number.isFinite(R)?m<=R:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let h=m.getAttribute("data-composition-id");if(h&&m.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Ee=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>E,V=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;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},oe=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let w=V(h);w==null||w<=E||(m=Math.max(m,Math.max(0,b)+w))}return m>E?m:null},_e=()=>{let d=S();if(!d)return null;let m=window.__timelines??{},h=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),b=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(b=w);let C=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let R of C){if(!(R instanceof Element)||R.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(R,0),ge=h.resolveDurationForElement(R);!Number.isFinite(K)||ge==null||ge<=0||(b=Math.max(b,Math.max(0,K)+ge))}return b>E?b:null},O=()=>{let d=oe();return typeof d!="number"||!Number.isFinite(d)||d<=E?null:d},D=d=>U(d)?Math.max(E,d*y):E,G=()=>{let d=0;for(let m of e.deterministicAdapters){let h=m.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(w){L("runtime.init.adapterDuration",w)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>E?d:null},Q=(d,m=0)=>{let h=H(d),b=O(),w=_e(),C=G(),R=Math.max(b??0,w??0,C??0),q=Number.isFinite(m)&&m>E?m:0,K=0;return U(h)?K=Math.max(h,R,q):U(R)?K=Math.max(R,q):K=q,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},m=ie=>{let ee=Object.entries(d).filter(he=>!!he[1]&&typeof he[1].play=="function"&&typeof he[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,me]=ee[0];return{timeline:me,selectedTimelineIds:[fe],selectedDurationSeconds:H(me),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ie,soleTimelineId:fe}}}},h=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),w=_e(),C=Math.max(b??0,w??0)||null,R=D(C),q=ie=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ie)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ie=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let me of ie)fe.add(me.timeline,q(me.compositionId));return fe},ge=(ie,ee)=>{if(!U(ie))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let me=fe.timeline({paused:!0});if(ee)try{me.add(ee,0)}catch(ue){L("runtime.init.site2",ue)}let he=me;if(typeof he.to=="function")try{he.to({},{duration:ie})}catch(ue){L("runtime.init.site3",ue)}return me},xe=(ie,ee)=>{let fe=ie;if(typeof fe.getChildren!="function")return[];try{let me=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(me))return[];let he=[];for(let ue of ee)if(!me.some(Re=>Re===ue.timeline))try{let Re=q(ue.compositionId);ie.add(ue.timeline,Re),he.push(ue.compositionId)}catch(Re){L("runtime.init.site4",Re)}return he}catch{return[]}},ne=S(),Z=ne?.getAttribute("data-composition-id")??null;if(!Z)return m("root_missing_composition_id");let ye=d[Z]??null,we=(()=>{if(!ne)return[];let ie=new Set,ee=Array.from(ne.querySelectorAll("[data-composition-id]")),fe=[];for(let me of ee){let he=me.getAttribute("data-composition-id");if(!he||he===Z||ie.has(he))continue;ie.add(he);let ue=d[he]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Me=H(ue);fe.push({compositionId:he,timeline:ue,durationSeconds:Me??0})}return fe})(),vt=ie=>{for(let ee of ie){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(me){L("runtime.init.site5",me)}}};if(we.length>0&&vt(we),ye){let ie=we.length>0?xe(ye,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&($=!0),ie.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&we.length>0){let ue=we.map(Fl=>Fl.compositionId),Me=K(we),Re=H(Me);if(Me&&U(Re))return{timeline:Me,selectedTimelineIds:ue,selectedDurationSeconds:Re,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:Re,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:ue,autoNestedChildren:ie}}};let ni=ge(C??0,ye),ii=H(ni);if(ni&&U(ii))return{timeline:ni,selectedTimelineIds:[Z],selectedDurationSeconds:ii,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:ii,selectedTimelineIds:[Z],autoNestedChildren:ie}}}}if(!U(ee)&&we.length===0){let ue=ge(C??0,ye),Me=H(ue);if(ue&&U(Me))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Me,selectedTimelineIds:[Z]}}}}let fe=ne?.getAttribute("data-duration"),me=fe?parseFloat(fe):null,he=Math.max(U(me)?me:0,w??0);if(he>0&&U(he)&&U(ee)&&he>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},he)}catch(Re){L("runtime.init.site6",Re)}let Me=H(ye);if(U(Me))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:me,authoredCompositionDurationFloorSeconds:w,newDur:Me}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ie.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ie}}:void 0}}if(we.length>0){let ie=we.map(me=>me.compositionId),ee=K(we),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ie,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ie}}}}return m("root_composition_id_unmatched_in_registry")},$=!1,z=()=>{if(!Ee)return!1;let d=e.capturedTimeline,m=H(d),h=U(m);if(d&&h&&$)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=b.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let w=Q(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),e.capturedTimeline.pause()),w>0){try{I.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let R=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(R,!1),e.capturedTimeline.pause()}let C=window.__hfStudioManualEditsApply;typeof C=="function"&&C(),tr(document)}if(b.diagnostics&&Ce({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ce({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=S(),R=w>0?w:0,q=String(R>0?R:1),K=new Set,ge=new Set(document.querySelectorAll("[data-start]")),xe=ne=>{let Z=ne.parentElement;for(;Z&&Z!==C;){if(ge.has(Z))return!0;Z=Z.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ne of e.capturedTimeline.getChildren(!0))if(typeof ne.targets=="function")for(let Z of ne.targets())Z instanceof HTMLElement&&Z!==C&&(Z.hasAttribute("data-start")||xe(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",q),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(C instanceof HTMLElement)for(let ne of C.querySelectorAll("[id]"))ne instanceof HTMLElement&&ne!==C&&(ne.hasAttribute("data-start")||xe(ne)||K.has(ne)||ne.tagName==="SCRIPT"||ne.tagName==="STYLE"||ne.tagName==="LINK"||(K.add(ne),ne.setAttribute("data-start","0"),ne.setAttribute("data-duration",q),ne.setAttribute("data-hf-autostamped","1")))}for(let C of wt)ln.delete(C),Fr(C);return!0};window.__hfForceTimelineRebind=()=>{$=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),C=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,R=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!C||!R||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Pe=()=>{e.tornDown||(u!=null&&window.cancelAnimationFrame(u),u=window.requestAnimationFrame(()=>{u=null,X()}))},ve=()=>{i=d=>{let m=J(d.error??d.message).slice(0,N);if(!m)return;let h=B(m);Ce({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let m=J(d.reason).slice(0,N);if(!m)return;let h=B(m);Ce({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},At=()=>{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 w=h.tagName.toLowerCase(),C=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,R=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(R,{tagName:w,assetUrl:C,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${R}:${w}:${C??"unknown"}`)};h.addEventListener("error",b),p(()=>{h.removeEventListener("error",b)})}let m=document.fonts;m&&m.ready.then(()=>{if(e.tornDown)return;let h=Array.from(m).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(m).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Ue=(d,m)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{e.capturedTimeline.pause(),e.capturedTimeline.seek(b,!1),w&&e.capturedTimeline.play()}catch(C){L("runtime.init.site7",C)}return Ce({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},nt=null,Cr=!1,wt=new Set,ln=new WeakMap,un=()=>{e.tornDown||(nt!=null&&window.clearTimeout(nt),nt=window.setTimeout(()=>{if(e.tornDown)return;nt=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){z()&&(it(),Te(!0));return}if(Cr)return;let h=H(e.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+A)&&Ue(d,"manual")&&(Cr=!0,Ce({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}}),it(),Te(!0))},_))},dl=()=>{for(let d of wt)d.removeEventListener("loadedmetadata",un),d.removeEventListener("durationchange",un);wt.clear()},qn=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d){if(wt.has(m))continue;wt.add(m);let h=Number.parseFloat(m.dataset.volume??"");Number.isFinite(h)&&(m.volume=Math.max(0,Math.min(1,h))),m.addEventListener("loadedmetadata",un),m.addEventListener("durationchange",un),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load(),Fr(m)}},Fr=d=>{ln.has(d)||so(d,e.capturedTimeline,Q(e.capturedTimeline,0),ln)},$n=new WeakMap,_r=d=>{let m=$n.get(d);if(m!==void 0)return m;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return $n.set(d,b),b},Kn=new WeakMap,fl=d=>{let m=Kn.get(d);if(m!==void 0)return m;let h=d.querySelector("[data-start]")===null;return Kn.set(d,h),h},ml=()=>{$n=new WeakMap,Kn=new WeakMap},Jn=new WeakMap,cn=new WeakSet,Le=()=>{let d=C=>{let R=C.closest("[data-composition-id]"),q=R?k(R,0):null,K=R?W(R,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:R,inheritedStart:q,inheritedDuration:K}},m=ao({shouldIncludeElement:C=>C.hasAttribute("data-start")||!!d(C).compositionRoot,resolveStartSeconds:C=>{let R=d(C);return j(C,R.inheritedStart??0)},resolveDurationSeconds:C=>{let R=d(C),q=j(C,R.inheritedStart??0),K=Number.parseFloat(C.dataset.playbackStart??C.dataset.mediaStart??"0")||0,ge=R.inheritedStart!=null&&R.inheritedDuration!=null&&R.inheritedDuration>0?Math.max(0,R.inheritedStart+R.inheritedDuration-q):null,xe=Number.isFinite(C.duration)&&C.duration>K?Math.max(0,C.duration-K):null,ne=Number.parseFloat(C.dataset.duration??""),Z=Number.isFinite(ne)&&ne>0?ne:null,ye=[xe,ge,Z].filter(st=>st!=null);return ye.length>0?Math.min(...ye):null}});for(let C of m.mediaClips){let R=ln.get(C.el);R&&(C.volumeKeyframes=R)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||lo({clips:m.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&de.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(C,R)=>de.setElementVolume(C,R),isWebAudioOwned:C=>de.ownsElement(C),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ce({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),w=S();for(let C of b){if(!(C instanceof HTMLElement))continue;if(C.hasAttribute("data-hidden")){cn.has(C)||(Jn.set(C,C.style.getPropertyValue("display")),cn.add(C)),C.style.display="none",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,!1);continue}if(cn.has(C)){let q=Jn.get(C);q?C.style.display=q:C.style.removeProperty("display"),Jn.delete(C),cn.delete(C)}let R=re(C,e.currentTime);if(R){let q=C.parentElement;for(;q&&q!==w;){if(q instanceof HTMLElement&&q.hasAttribute("data-start")&&!re(q,e.currentTime)){R=!1;break}q=q.parentElement}}C.style.visibility=R?"visible":"hidden",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,R),R?_r(C)&&C.style.removeProperty("display"):_r(C)&&fl(C)&&(C.style.display="none")}},Te=d=>{let m=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||m!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=m,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,Ce({source:"hf-preview",type:"state",frame:m,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},Xn="",vr=0,pl=()=>{let d="";for(let m of document.querySelectorAll("[data-start]"))d+=`${m.id}:${m.tagName}|`;return d},it=()=>{v(),F(),T();let d=S();if(d){let b=M(d.getAttribute("data-width")),w=M(d.getAttribute("data-height")),C=b?parseInt(b,10):0,R=w?parseInt(w,10):0;C>0&&R>0&&Ce({source:"hf-preview",type:"stage-size",width:C,height:R})}z();let m=So({canonicalFps:e.canonicalFps});window.__clipManifest=m;let h=pl();if(Xn!==h&&ml(),!window.__clipTree||Xn!==h){let b=window;window.__clipTree=ho({startResolver:Ke({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:m.durationInFrames/e.canonicalFps}),Xn=h}Ce(m),Pe()},Yn=d=>Number.isFinite(d)&&d>0?d:0,hl=d=>{let m=Yn(Number(d));if(m<=0)return;let h=S(),b=Yn(Number.parseFloat(h?.getAttribute("data-duration")??"")),w=Math.max(vr,Yn(I.getDuration()),b);m<=w||(vr=m,h?.setAttribute("data-duration",String(m)),I.setDuration(m),it(),Te(!0))},Oe=(d,m=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){L("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:m,suppressEvents:!0})}catch(b){L("runtime.init.site9",b)}}},rt=()=>{window.__renderReady=!1},Ct=null,Ft=!0,gl=()=>{let d=[];for(let m of e.deterministicAdapters){let h=m.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){L("runtime.init.adapterReady",b)}}return d},xl=()=>{let d=gl();if(d.length===0)return Ct=null,Ft=!0,!0;let m=d.length===1?d[0]:Promise.all(d);return m!==Ct&&(Ct=m,Ft=!1,Promise.resolve(m).then(()=>{Ct===m&&(Ft=!0,rt())},h=>{Ct===m&&(Ft=!0,L("runtime.init.adapterReady",h),rt())})),Ft};if(Ee)Qi();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,parseDimensionPx:M,onDiagnostic:({code:m,details:h})=>{Ce({source:"hf-preview",type:"diagnostic",code:m,details:h})}};aa(d).then(()=>sa(d)).finally(()=>{Ee=!0,qn(),At(),Qi(),ir(document),rt()})}let dn=uo({postMessage:d=>Ce(d)});dn.installPickerApi();let Ve=Ia();n=Ve,p(()=>{Ve.destroy(),n=null});let Qn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,m)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=e.playbackRate}catch(w){L("runtime.init.site10",w)}},pe=mo({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:Qn,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,m)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==m&&(e.mediaForceSyncNextTick=!0),e.isPlaying=m,Le()},onStatePost:Te,onDeterministicSeek:(d,m)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:m?.suppressEvents})}catch(b){L("runtime.init.site11",b)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{Ve.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(e.capturedTimeline,0)});window.__player=x(pe),window.__playerReady=!0,Pr(Ce),at("composition_loaded",{duration:pe.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.controlBridgeHandler=Ir({onPlay:()=>{pe.play(),at("composition_played",{time:pe.getTime()})},onPause:()=>{pe.pause(),at("composition_paused",{time:pe.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let m of d)m instanceof HTMLMediaElement&&!m.paused&&m.pause()},onSeek:(d,m)=>{let h=Math.max(0,d)/e.canonicalFps;pe.seek(h),at("composition_seeked",{time:h})},onSetMuted:d=>{e.bridgeMuted=d;let m=d||e.mediaOutputMuted;de.setMuted(m);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=m||b.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,de.setVolume(d);let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),w=Number.isFinite(b)?b:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let m=d||e.bridgeMuted;de.setMuted(m);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=m||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Qn(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),kr()},onSetRootDuration:hl,onSetColorGrading:(d,m)=>{Ve.setGrading(d,m)},onSetColorGradingCompare:(d,m)=>{Ve.setCompare(d,m)},onTick:()=>{if(e.tornDown||!I.isPlaying())return;let d=I.now();if(e.currentTime=d,ot(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let m=I.getDuration();Number.isFinite(m)&&(I.seek(m),e.currentTime=m,ot(m)),Oe("pause"),Le(),Te(!0)}},onEnablePickMode:()=>dn.enablePickMode(),onDisablePickMode:()=>dn.disablePickMode()}),e.deterministicAdapters=[ro(),Ur({resolveStartSeconds:d=>k(d,0)}),zr(),qr(),Kr(),Jr(),Xr(),Yr(),Qr(),Zr(),eo(),Vr({getTimeline:()=>e.capturedTimeline})],no(),io(),window.__hfReseekGpu=d=>{let m=Math.max(0,Number(d)||0);window.__hfThreeTime=m,window.__hfTypegpuTime=m,$r(m)},ve(),qn(),Oe("discover");let I=new Hn;e.transportClock=I;let de=new Gn,Zn=!1;de.init().then(d=>{Zn=d});let bl=()=>{let d=e.capturedTimeline,m=z();e.capturedTimeline&&(m||e.capturedTimeline!==d||!pe._timeline)&&(pe._timeline=e.capturedTimeline);let h=Q(e.capturedTimeline,0);if(h>0&&I.setDuration(h),Oe("discover",e.currentTime),!e.capturedTimeline){let b=window.__timelines??{},w=Object.keys(b).filter(C=>b[C]);if(w.length>0){let R=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:R?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:R,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(R?`Root data-composition-id is "${R}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${w.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${R??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,it(),Te(!0)};if(rt=()=>{if(!Ee||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Oe("discover",e.currentTime),!xl()){window.__renderReady=!1;return}bl()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),rt()};window.addEventListener("hf-timelines-built",d)}rt(),Ee&&setTimeout(()=>{rt()},0);let fn=0,ei=!1,yl=(d,m,h,b)=>{try{let w=b?.suppressEvents===!0;d.pause(),typeof d.totalTime=="function"?d.totalTime(m,w):d.seek(m,w)}catch(w){L(h,w)}},Sl=(d,m)=>{let h=window.__timelines??{},b=S()?.getAttribute("data-composition-id")??null;for(let[w,C]of Object.entries(h)){if(!C||w===b)continue;let R=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!R)continue;let q=k(R,0);if(!Number.isFinite(q))continue;let K=W(R,{includeAuthoredTimingAttrs:!0}),ge=H(C),xe=K!=null&&K>0?K:ge,ne=Math.max(0,xe!=null&&xe>0?Math.min(xe,d-q):d-q);yl(C,ne,"runtime.init.transport.childTimeline",m)}},El=d=>{let m=window.__timelines??{};for(let h of Object.values(m))if(!(!h||h===d))try{h.play()}catch(b){L("runtime.init.activateSiblings",b)}},Mr=d=>typeof d=="object"&&d!==null,_t=new WeakMap,Al=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Tr=(d,m)=>{let h=d[m];if(typeof h!="function")return null;try{let b=Number(h.call(d));return Number.isFinite(b)?b:null}catch(b){return L("runtime.init.gsapCallbackDuration",b),null}},wl=d=>{let m=_t.get(d);if(m!=null)return m;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(b){return L("runtime.init.gsapCallbackChildren",b),_t.set(d,!1),!1}if(!Array.isArray(h))return _t.set(d,!1),!1;for(let b of h){if(!Mr(b)||!Mr(b.vars)||!Al.some(q=>typeof b.vars[q]=="function"))continue;let R=Tr(b,"totalDuration")??Tr(b,"duration");if(R!=null&&R<=1e-6)return _t.set(d,!0),!0}return _t.set(d,!1),!1},ot=(d,m)=>{let h=e.capturedTimeline,b=m?.suppressEvents===!0;if(h){m?.activateChildren&&El(h);let w=h,C=d;if(typeof w.totalDuration=="function")try{let R=Number(w.totalDuration());Number.isFinite(R)&&R>0&&d>R&&(C=R)}catch(R){L("runtime.init.transport.clampDuration",R)}try{typeof h.totalTime=="function"?(h.totalTime(C,b),!b&&!wl(h)&&(h.totalTime(C+.001,!0),h.totalTime(C,!0))):h.seek(C,b)}catch(R){L("runtime.init.transport.seek",R)}}else Sl(d,m);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&h))try{w.seek({time:d,suppressEvents:b})}catch(C){L("runtime.init.transport.adapter",C)}},Cl=()=>{try{return document.querySelector(`[${Oa}]`)!=null}catch{return!1}},Nr=()=>{if(!(e.tornDown||ei)){ei=!0;try{if(e.transportRafId=window.requestAnimationFrame(Nr),fn+=1,fn%60===0&&!(I.isPlaying()&&e.capturedTimeline!=null&&I.now()<g)){let h=e.capturedTimeline;if(z()){e.capturedTimeline&&!pe._timeline&&(pe._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&e.capturedTimeline.pause();let b=Q(e.capturedTimeline,0);b>0&&I.setDuration(b),it()}}if(fn%20===0&&it(),fn%30===0&&qn(),e.capturedTimeline){let m=Q(e.capturedTimeline,0);m>0&&(!I.isPlaying()||m>=I.getDuration())&&I.setDuration(m)}if(I.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&de.isActive()&&de.context){let m=de.getTime();m>=0&&I.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of m){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let w=Number.parseFloat(b.dataset.start??""),C=Number.parseFloat(b.dataset.duration??""),R=Number.isFinite(C)&&C>0?w+C:1/0,q=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&e.currentTime>=w&&e.currentTime<=R){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:w,mediaStart:q}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(e.currentTime=d,(I.isPlaying()||!Cl())&&ot(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let m=I.getDuration();Number.isFinite(m)&&(I.seek(m),e.currentTime=m,ot(m)),Oe("pause"),Le(),Te(!0);return}I.isPlaying()&&Le(),Te(!1)}finally{ei=!1}}},Lr=d=>{let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let w=Number.parseFloat(h.dataset.duration??""),C=Number.isFinite(w)&&w>0?b+w:1/0;if(d<b||d>=C)continue;let R=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,q=d-b+R;if(q>=0)try{h.currentTime=q}catch{}}},Rr=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=de.startGeneration(),m=document.querySelectorAll("audio[data-start]");for(let h of m){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,C=Number.parseFloat(h.dataset.volume??""),R=Number.isFinite(C)?C:1,q=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(q)&&q>0?q:Number.POSITIVE_INFINITY,ge=h.closest("[data-composition-id]");if(ge){let xe=k(ge,0),ne=W(ge,{includeAuthoredTimingAttrs:!0});ne!=null&&ne>0&&(K=Math.min(K,Math.max(0,xe+ne-b)))}de.decodeAudioElement(h).then(xe=>{!xe||!I.isPlaying()||de.schedulePlayback(h,xe,b,w,I.now(),R*e.bridgeVolume,d,e.playbackRate,K)})}},kr=()=>{de.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Zn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),Rr())};if(pe.play=()=>{let d=e.capturedTimeline;if(I.isPlaying())return;let m=Q(d,0);if(m>0)I.setDuration(m),I.reachedEnd()&&(I.seek(0),e.currentTime=0,ot(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Lr(I.now()),Zn&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Rr(),Oe("play"),Le(),Ve.redraw(),Te(!0))},pe.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1,e.currentTime=I.now(),e.mediaForceSyncNextTick=!0,Lr(e.currentTime);let d=e.capturedTimeline;d&&d.pause(),Oe("pause"),Le(),Ve.redraw(),Te(!0)},pe.seek=d=>{let m=mt(Math.max(0,Number(d)||0),e.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(m),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let b=e.capturedTimeline;b&&b.pause(),ot(e.currentTime),Oe("pause"),Le(),Ve.redraw(),Te(!0)},pe.renderSeek=(d,m)=>{let h=mt(Math.max(0,Number(d)||0),e.canonicalFps);I.isPlaying()&&I.pause(),I.seek(h),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,ot(e.currentTime,{activateChildren:!0,suppressEvents:m?.suppressEvents}),Le(),Ve.redraw(),Te(!0)},pe.getTime=()=>I.now(),pe.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},pe.isPlaying=()=>I.isPlaying(),pe.setPlaybackRate=d=>{Qn(d),I.setRate(e.playbackRate),kr()},e.capturedTimeline){let d=Q(e.capturedTimeline,0);d>0&&I.setDuration(d),e.capturedTimeline.pause()}let Dr=window.__player;if(Dr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(Dr,m,{get:()=>pe[m],set:h=>{pe[m]=h},configurable:!0})}e.transportRafId=window.requestAnimationFrame(Nr),it(),Te(!0);let ti=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,de.destroy(),nt!=null&&(window.clearTimeout(nt),nt=null),u!=null&&(window.cancelAnimationFrame(u),u=null),dl(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),dn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){L("runtime.init.site12",m)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(m){L("runtime.init.site13",m)}for(let d of e.injectedCompStyles)try{d.remove()}catch(m){L("runtime.init.site14",m)}e.injectedCompStyles=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(m){L("runtime.init.site15",m)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===ti&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=ti,e.beforeUnloadHandler=ti,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var Ha=["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"],gr=[[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 Cf(e){if(e<=255)return Ha[e];let t=0,n=gr.length-1;for(;t<=n;){let i=t+n>>1,r=gr[i];if(e<r[0]){n=i-1;continue}if(e>r[1]){t=i+1;continue}return r[2]}return"L"}function Ff(e){let t=e.length;if(t===0)return null;let n=new Array(t),i=!1;for(let l=0;l<t;){let c=e.charCodeAt(l),p=c,f=1;if(c>=55296&&c<=56319&&l+1<t){let E=e.charCodeAt(l+1);E>=56320&&E<=57343&&(p=(c-55296<<10)+(E-56320)+65536,f=2)}let x=Cf(p);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let E=0;E<f;E++)n[l+E]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<t;l++){let c=n[l];if(c==="L"){r=0;break}if(c==="R"||c==="AL"){r=1;break}}let o=new Int8Array(t);for(let l=0;l<t;l++)o[l]=r;let s=r&1?"R":"L",u=s,a=u;for(let l=0;l<t;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=u;for(let l=0;l<t;l++){let c=n[l];c==="EN"?n[l]=a==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(a=c)}for(let l=0;l<t;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<t-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<t;l++){if(n[l]!=="EN")continue;let c;for(c=l-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=l+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let l=0;l<t;l++){let c=n[l];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[l]="ON")}a=u;for(let l=0;l<t;l++){let c=n[l];c==="EN"?n[l]=a==="L"?"L":"EN":(c==="R"||c==="L")&&(a=c)}for(let l=0;l<t;l++){if(n[l]!=="ON")continue;let c=l+1;for(;c<t&&n[c]==="ON";)c++;let p=l>0?n[l-1]:u,f=c<t?n[c]:u,x=p!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<c;y++)n[y]=x;l=c-1}for(let l=0;l<t;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<t;l++){let c=n[l];(o[l]&1)===0?c==="R"?o[l]++:(c==="AN"||c==="EN")&&(o[l]+=2):(c==="L"||c==="AN"||c==="EN")&&o[l]++}return o}function Ga(e,t){let n=Ff(e);if(n===null)return null;let i=new Int8Array(t.length);for(let r=0;r<t.length;r++)i[r]=n[t[r]];return i}var _f=/[ \\t\\n\\r\\f]+/g,vf=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Mf(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Tf(e){if(!vf.test(e))return e;let t=e.replace(_f," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Nf(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var xr=null,Lf;function Rf(){return xr===null&&(xr=new Intl.Segmenter(Lf,{granularity:"word"})),xr}var kf=/\\p{Script=Arabic}/u,Wn=/\\p{M}/u,Ka=/\\p{Nd}/u;function Wa(e){return kf.test(e)}function Ua(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function Ie(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let i=e.charCodeAt(t+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ua(r))return!0;t++;continue}}if(Ua(n))return!0}}return!1}function Df(e){let t=zn(e);return t!==null&&(Vn.has(t)||et.has(t))}var If=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Pf(e){return Ie(e)}function Of(e){let t=zn(e);return t!==null&&If.has(t)}function Un(e){return!Df(e)&&!Of(e)}var Vn=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"]),an=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),yr=new Set(["\'","\\u2019"]),et=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Bf=new Set([":",".","\\u060C","\\u061B"]),Hf=new Set(["\\u104F"]),Gf=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Wf(e){if(Sr(e))return!0;let t=!1;for(let n of e){if(et.has(n)){t=!0;continue}if(!(t&&Wn.test(n)))return!1}return t}function Uf(e){for(let t of e)if(!Vn.has(t)&&!et.has(t))return!1;return e.length>0}function Vf(e){if(Sr(e))return!0;for(let t of e)if(!an.has(t)&&!yr.has(t)&&!Wn.test(t))return!1;return e.length>0}function Sr(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Wn.test(n))){if(an.has(n)||et.has(n)||yr.has(n)){t=!0;continue}return!1}return t}function Ja(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let i=e.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=e.charCodeAt(r);return o>=55296&&o<=56319?r:n}function zn(e){if(e.length===0)return null;let t=Ja(e,e.length);return e.slice(t)}function zf(e){let t=Array.from(e),n=t.length;for(;n>0;){let i=t[n-1];if(Wn.test(i)){n--;continue}if(an.has(i)||yr.has(i)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function jf(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Va(e,t,n,i){let r=t[i],o=e[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let u=r.repeat(s);return e[i]=u,u}function za(e,t){return e&&t!==null&&Bf.has(t)}function qf(e){let t=zn(e);return t!==null&&Hf.has(t)}function $f(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function jn(e){let t=e.length;for(;t>0;){let n=Ja(e,t),i=e.slice(n,t);if(Gf.has(i))return!0;if(!et.has(i))return!1;t=n}return!1}function Kf(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var Jf=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Ne(e){return e.length===1?e[0]:e.join("")}function Xf(e,t){let n=[];for(let i=e.length-1;i>=0;i--)n.push(e[i]);return n.push(t),Ne(n)}function Yf(e,t,n,i){if(!Jf.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,l=0;for(let c of e){let p=Kf(c,i),f=p==="text"&&t;if(o!==null&&p===o&&f===a){s.push(c),l+=c.length;continue}o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:u}),o=p,s=[c],u=n+l,a=f,l+=c.length}return o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:u}),r}function br(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Qf=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Zf(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Qf.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function em(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function tm(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let s=0;s<e.len;s++){if(i[s]!=="text"||!Zf(e,s))continue;let u=[t[s]],a=s+1;for(;a<e.len&&!br(i[a]);){u.push(t[a]),n[s]=!0;let l=t[a].includes("?");if(i[a]="text",t[a]="",a++,l)break}t[s]=Ne(u)}let o=0;for(let s=0;s<t.length;s++){let u=t[s];u.length!==0&&(o!==s&&(t[o]=u,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return t.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:t,isWordLike:n,kinds:i,starts:r}}function nm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o]),!em(s))continue;let u=o+1;if(u>=e.len||br(e.kinds[u]))continue;let a=[],l=e.starts[u],c=u;for(;c<e.len&&!br(e.kinds[c]);)a.push(e.texts[c]),c++;a.length>0&&(t.push(Ne(a)),n.push(!0),i.push("text"),r.push(l),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}var im=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ja=/^[A-Za-z0-9_]+[,:;]*$/,qa=/[,:;]+$/;function Xa(e){for(let t of e)if(Ka.test(t))return!0;return!1}function sn(e){if(e.length===0)return!1;for(let t of e)if(!(Ka.test(t)||im.has(t)))return!1;return!0}function rm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],u=e.kinds[o];if(u==="text"&&sn(s)&&Xa(s)){let a=[s],l=o+1;for(;l<e.len&&e.kinds[l]==="text"&&sn(e.texts[l]);)a.push(e.texts[l]),l++;t.push(Ne(a)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=l-1;continue}t.push(s),n.push(e.isWordLike[o]),i.push(u),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function om(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],u=e.kinds[o],a=e.isWordLike[o];if(u==="text"&&a&&ja.test(s)){let l=[s],c=qa.test(s),p=o+1;for(;c&&p<e.len&&e.kinds[p]==="text"&&e.isWordLike[p]&&ja.test(e.texts[p]);){let f=e.texts[p];l.push(f),c=qa.test(f),p++}t.push(Ne(l)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=p-1;continue}t.push(s),n.push(a),i.push(u),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function sm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(e.kinds[o]==="text"&&s.includes("-")){let u=s.split("-"),a=u.length>1;for(let l=0;l<u.length;l++){let c=u[l];if(!a)break;(c.length===0||!Xa(c)||!sn(c))&&(a=!1)}if(a){let l=0;for(let c=0;c<u.length;c++){let p=u[c],f=c<u.length-1?`${p}-`:p;t.push(f),n.push(!0),i.push("text"),r.push(e.starts[o]+l),l+=f.length}continue}}t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function am(e){let t=[],n=[],i=[],r=[],o=0;for(;o<e.len;){let s=[e.texts[o]],u=e.isWordLike[o],a=e.kinds[o],l=e.starts[o];if(a==="glue"){let c=[s[0]],p=l;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=Ne(c);if(o<e.len&&e.kinds[o]==="text")s[0]=f,s.push(e.texts[o]),u=e.isWordLike[o],a="text",l=p,o++;else{t.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let p=Ne(c);if(o<e.len&&e.kinds[o]==="text"){s.push(p,e.texts[o]),u=u||e.isWordLike[o],o++;continue}s.push(p)}t.push(Ne(s)),n.push(u),i.push(a),r.push(l)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function lm(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let o=0;o<t.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Ie(t[o])||!Ie(t[o+1]))continue;let s=zf(t[o]);s!==null&&(t[o]=s.head,t[o+1]=s.tail+t[o+1],r[o+1]=r[o]+s.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function $a(e,t,n){let i=Rf(),r=0,o=[],s=[],u=[],a=[],l=[],c=[],p=[],f=[],x=[],E=[],y=[],g=[];for(let M of i.segment(e))for(let S of Yf(M.segment,M.isWordLike??!1,M.index,n)){let se=function(){c[P]!==null&&(s[P]=[Va(o,c,p,P)],c[P]=null),s[P].push(S.text),u[P]=u[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||k,E[P]=j,y[P]=re,g[P]=za(x[P],W)},F=S.kind==="text",v=jf(S.text,S.isWordLike,S.kind),T=Ie(S.text),k=Wa(S.text),W=zn(S.text),j=jn(S.text),re=qf(S.text),P=r-1;t.carryCJKAfterClosingQuote&&F&&r>0&&a[P]==="text"&&T&&f[P]&&E[P]||F&&r>0&&a[P]==="text"&&Uf(S.text)&&f[P]||F&&r>0&&a[P]==="text"&&y[P]?se():F&&r>0&&a[P]==="text"&&S.isWordLike&&k&&g[P]?(se(),u[P]=!0):v!==null&&r>0&&a[P]==="text"&&c[P]===v?p[P]=(p[P]??1)+1:F&&!S.isWordLike&&r>0&&a[P]==="text"&&(Wf(S.text)||S.text==="-"&&u[P])?se():(o[r]=S.text,s[r]=[S.text],u[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,c[r]=v,p[r]=v===null?0:1,f[r]=T,x[r]=k,E[r]=j,y[r]=re,g[r]=za(k,W),r++)}for(let M=0;M<r;M++){if(c[M]!==null){o[M]=Va(o,c,p,M);continue}o[M]=Ne(s[M])}for(let M=1;M<r;M++)a[M]==="text"&&!u[M]&&Sr(o[M])&&a[M-1]==="text"&&(o[M-1]+=o[M],u[M-1]=u[M-1]||u[M],o[M]="");let A=Array.from({length:r},()=>null),_=-1;for(let M=r-1;M>=0;M--){let S=o[M];if(S.length!==0){if(a[M]==="text"&&!u[M]&&Vf(S)&&_>=0&&a[_]==="text"){let F=A[_]??[];F.push(S),A[_]=F,l[_]=l[M],o[M]="";continue}_=M}}for(let M=0;M<r;M++){let S=A[M];S!=null&&(o[M]=Xf(S,o[M]))}let N=0;for(let M=0;M<r;M++){let S=o[M];S.length!==0&&(N!==M&&(o[N]=S,u[N]=u[M],a[N]=a[M],l[N]=l[M]),N++)}o.length=N,u.length=N,a.length=N,l.length=N;let J=am({len:N,texts:o,isWordLike:u,kinds:a,starts:l}),B=lm(om(sm(rm(nm(tm(J))))));for(let M=0;M<B.len-1;M++){let S=$f(B.texts[M]);S!==null&&(B.kinds[M]!=="space"&&B.kinds[M]!=="preserved-space"||B.kinds[M+1]!=="text"||!Wa(B.texts[M+1])||(B.texts[M]=S.space,B.isWordLike[M]=!1,B.kinds[M]=B.kinds[M]==="preserved-space"?"preserved-space":"space",B.texts[M+1]=S.marks+B.texts[M+1],B.starts[M+1]=B.starts[M]+S.space.length))}return B}function um(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],i=0;for(let r=0;r<e.len;r++)e.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<e.len&&n.push({startSegmentIndex:i,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function cm(e){if(e.len<=1)return e;let t=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,l=!1;function c(){o!==null&&(t.push(Ne(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<e.len;p++){let f=e.texts[p],x=e.kinds[p],E=e.isWordLike[p],y=e.starts[p];if(x==="text"){let g=Pf(f),A=Un(f);if(o!==null&&a&&l){o.push(f),s=s||E,a=a||g,l=A;continue}c(),o=[f],s=E,u=y,a=g,l=A;continue}c(),t.push(f),n.push(E),i.push(x),r.push(y)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function Ya(e,t,n="normal",i="normal"){let r=Mf(n),o=r.mode==="pre-wrap"?Nf(e):Tf(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?cm($a(o,t,r)):$a(o,t,r);return{normalized:o,chunks:um(s,r),...s}}var yt=null,Qa=new Map,St=null,dm=96,fm=/\\p{Emoji_Presentation}/u,mm=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Er=null,Za=new Map;function Ar(){if(yt!==null)return yt;if(typeof OffscreenCanvas<"u")return yt=new OffscreenCanvas(1,1).getContext("2d"),yt;if(typeof document<"u")return yt=document.createElement("canvas").getContext("2d"),yt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function pm(e){let t=Qa.get(e);return t||(t=new Map,Qa.set(e,t)),t}function qe(e,t){let n=t.get(e);return n===void 0&&(n={width:Ar().measureText(e).width,containsCJK:Ie(e)},t.set(e,n)),n}function Et(){if(St!==null)return St;if(typeof navigator>"u")return St={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},St;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),i=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return St={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},St}function hm(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function el(){return Er===null&&(Er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Er}function gm(e){return fm.test(e)||e.includes("\\uFE0F")}function tl(e){return mm.test(e)}function xm(e,t){let n=Za.get(e);if(n!==void 0)return n;let i=Ar();i.font=e;let r=i.measureText("\\u{1F600}").width;if(n=0,r>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,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 Za.set(e,n),n}function bm(e){let t=0,n=el();for(let i of n.segment(e))gm(i.segment)&&t++;return t}function ym(e,t){return t.emojiCount===void 0&&(t.emojiCount=bm(e)),t.emojiCount}function tt(e,t,n){return n===0?t.width:t.width-ym(e,t)*n}function nl(e,t,n,i,r){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=el(),s=[];for(let c of o.segment(e))s.push(c.segment);if(s.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(r==="sum-graphemes"){let c=[];for(let p of s){let f=qe(p,n);c.push(tt(p,f,i))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(r==="pair-context"||s.length>dm){let c=[],p=null,f=0;for(let x of s){let E=qe(x,n),y=tt(x,E,i);if(p===null)c.push(y);else{let g=p+x,A=qe(g,n);c.push(tt(g,A,i)-f)}p=x,f=y}return t.breakableFitAdvances=c,t.breakableFitAdvances}let u=[],a="",l=0;for(let c of s){a+=c;let p=qe(a,n),f=tt(a,p,i);u.push(f-l),l=f}return t.breakableFitAdvances=u,t.breakableFitAdvances}function il(e,t){let n=Ar();n.font=e;let i=pm(e),r=hm(e),o=t?xm(e,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function Sm(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function Em(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Am(e,t,n,i,r){let o=0,s=t;for(;o<e.length;){let u=s+e[o];if((o+1<e.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function rl(e,t){return e.simpleLineWalkFastPath?ol(e,t):sl(e,t)}function ol(e,t,n){let{widths:i,kinds:r,breakableFitAdvances:o}=e;if(i.length===0)return 0;let u=Et().lineFitEpsilon,a=t+u,l=0,c=0,p=!1,f=0,x=0,E=0,y=0,g=-1,A=0;function _(){g=-1,A=0}function N(v=E,T=y,k=c){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:v,endGraphemeIndex:T,width:k}),c=0,p=!1,_()}function J(v,T){p=!0,f=v,x=0,E=v+1,y=0,c=T}function B(v,T,k){p=!0,f=v,x=T,E=v,y=T+1,c=k}function M(v,T){if(!p){J(v,T);return}c+=T,E=v+1,y=0}function S(v,T){let k=o[v];for(let W=T;W<k.length;W++){let j=k[W];p?c+j>a?(N(),B(v,W,j)):(c+=j,E=v,y=W+1):B(v,W,j)}p&&E===v&&y===k.length&&(E=v+1,y=0)}let F=0;for(;F<i.length&&!(!p&&(F=Sm(e,F),F>=i.length));){let v=i[F],T=r[F],k=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!p){v>t&&o[F]!==null?S(F,0):J(F,v),k&&(g=F+1,A=c-v),F++;continue}if(c+v>a){if(k){M(F,v),N(F+1,0,c-v),F++;continue}if(g>=0){if(E>g||E===g&&y>0){N();continue}N(g,0,A);continue}if(v>t&&o[F]!==null){N(),S(F,0),F++;continue}N();continue}M(F,v),k&&(g=F+1,A=c-v),F++}return p&&N(),l}function sl(e,t,n){if(e.simpleLineWalkFastPath)return ol(e,t,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:c}=e;if(i.length===0||c.length===0)return 0;let p=Et(),f=p.lineFitEpsilon,x=t+f,E=0,y=0,g=!1,A=0,_=0,N=0,J=0,B=-1,M=0,S=0,F=null;function v(){B=-1,M=0,S=0,F=null}function T(H=N,U=J,V=y){E++,n?.({startSegmentIndex:A,startGraphemeIndex:_,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,v()}function k(H,U){g=!0,A=H,_=0,N=H+1,J=0,y=U}function W(H,U,V){g=!0,A=H,_=U,N=H,J=U+1,y=V}function j(H,U){if(!g){k(H,U);return}y+=U,N=H+1,J=0}function re(H,U,V,oe){if(!U)return;let _e=H==="tab"?0:r[V],O=H==="tab"?oe:o[V];B=V+1,M=y-oe+_e,S=y-oe+O,F=H}function P(H,U){let V=u[H];for(let oe=U;oe<V.length;oe++){let _e=V[oe];g?y+_e>x?(T(),W(H,oe,_e)):(y+=_e,N=H,J=oe+1):W(H,oe,_e)}g&&N===H&&J===V.length&&(N=H+1,J=0)}function se(H){if(F!=="soft-hyphen")return!1;let U=u[H];if(U==null)return!1;let{fitCount:V,fittedWidth:oe}=Am(U,y,t,f,a);return V===0?!1:(y=oe,N=H,J=V,v(),V===U.length?(N=H+1,J=0,!0):(T(H,V,oe+a),P(H,V),!0))}function Ee(H){E++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),v()}for(let H=0;H<c.length;H++){let U=c[H];if(U.startSegmentIndex===U.endSegmentIndex){Ee(U);continue}g=!1,y=0,A=U.startSegmentIndex,_=0,N=U.startSegmentIndex,J=0,v();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let oe=s[V],_e=oe==="space"||oe==="preserved-space"||oe==="tab"||oe==="zero-width-break"||oe==="soft-hyphen",O=oe==="tab"?Em(y,l):i[V];if(oe==="soft-hyphen"){g&&(N=V+1,J=0,B=V+1,M=y+a,S=y+a,F=oe),V++;continue}if(!g){O>t&&u[V]!==null?P(V,0):k(V,O),re(oe,_e,V,O),V++;continue}if(y+O>x){let G=y+(oe==="tab"?0:r[V]),Q=y+(oe==="tab"?O:o[V]);if(F==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&M<=x){T(B,0,S);continue}if(F==="soft-hyphen"&&se(V)){V++;continue}if(_e&&G<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&M<=x){if(N>B||N===B&&J>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>t&&u[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),re(oe,_e,V,O),V++}if(g){let oe=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,oe)}}return E}var wr=null;function wm(){return wr===null&&(wr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),wr}function Cm(e){return e?{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 Fm(e,t){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function l(p,f,x){i=[p],r=f,o=x,s=jn(p),u=an.has(p)}function c(p,f){i.push(p),o=o||f;let x=jn(p);p.length===1&&et.has(p)?s=s||x:s=x,u=!1}for(let p of wm().segment(e)){let f=p.segment,x=Ie(f);if(i.length===0){l(f,p.index,x);continue}if(u||Vn.has(f)||et.has(f)||t.carryCJKAfterClosingQuote&&x&&s){c(f,x);continue}if(!o&&!x){c(f,x);continue}a(),l(f,p.index,x)}return a(),n}function _m(e){if(e.length<=1)return e;let t=[],n=[e[0].text],i=e[0].start,r=Ie(e[0].text),o=Un(e[0].text);function s(){t.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<e.length;u++){let a=e[u],l=Ie(a.text),c=Un(a.text);if(r&&o){n.push(a.text),r=r||l,o=c;continue}s(),n=[a.text],i=a.start,r=l,o=c}return s(),t}function vm(e,t,n,i){let r=Et(),{cache:o,emojiCorrection:s}=il(t,tl(e.normalized)),u=tt("-",qe("-",o),s),l=tt(" ",qe(" ",o),s)*8;if(e.len===0)return Cm(n);let c=[],p=[],f=[],x=[],E=e.chunks.length<=1,y=n?[]:null,g=[],A=n?[]:null,_=Array.from({length:e.len});function N(S,F,v,T,k,W,j){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(E=!1),c.push(F),p.push(v),f.push(T),x.push(k),y?.push(W),g.push(j),A!==null&&A.push(S)}function J(S,F,v,T,k){let W=qe(S,o),j=tt(S,W,s),re=F==="space"||F==="preserved-space"||F==="zero-width-break"?0:j,P=F==="space"||F==="zero-width-break"?0:j;if(k&&T&&S.length>1){let se="sum-graphemes";sn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Ee=nl(S,W,o,s,se);N(S,j,re,P,F,v,Ee);return}N(S,j,re,P,F,v,null)}for(let S=0;S<e.len;S++){_[S]=c.length;let F=e.texts[S],v=e.isWordLike[S],T=e.kinds[S],k=e.starts[S];if(T==="soft-hyphen"){N(F,0,u,u,T,k,null);continue}if(T==="hard-break"){N(F,0,0,0,T,k,null);continue}if(T==="tab"){N(F,0,0,0,T,k,null);continue}let W=qe(F,o);if(T==="text"&&W.containsCJK){let j=Fm(F,r),re=i==="keep-all"?_m(j):j;for(let P=0;P<re.length;P++){let se=re[P];J(se.text,"text",k+se.start,v,i==="keep-all"||!Ie(se.text))}continue}J(F,T,k,v,!0)}let B=Mm(e.chunks,_,c.length),M=y===null?null:Ga(e.normalized,y);return A!==null?{widths:c,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:u,tabStopAdvance:l,chunks:B,segments:A}:{widths:c,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:u,tabStopAdvance:l,chunks:B}}function Mm(e,t,n){let i=[];for(let r=0;r<e.length;r++){let o=e[r],s=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,u=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function Tm(e,t,n,i){let r=i?.wordBreak??"normal",o=Ya(e,Et(),i?.whiteSpace,r);return vm(o,t,n,r)}function al(e,t,n){return Tm(e,t,!1,n)}function ll(e,t,n){let i=rl(e,t);return{lineCount:i,height:i*n}}var Nm={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function ul(e,t){let n={...Nm,...t},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=al(e,o),{lineCount:u}=ll(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:ul,getVariables:Br};function cl(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Ba())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",cl,{once:!0}):cl();})();\n';
56479
56486
  }
56480
56487
  });
56481
56488
 
@@ -63926,6 +63933,7 @@ async function computeStaticFrameSet(page, fps) {
63926
63933
  const result = await page.evaluate(() => {
63927
63934
  const intervals2 = [];
63928
63935
  let tweenCount2 = 0;
63936
+ let hasTimelineCall2 = false;
63929
63937
  function walk(tl, offset2) {
63930
63938
  if (typeof tl.getChildren !== "function") return;
63931
63939
  for (const child of tl.getChildren(false, true, true)) {
@@ -63933,11 +63941,18 @@ async function computeStaticFrameSet(page, fps) {
63933
63941
  const single = typeof child.duration === "function" ? child.duration() : 0;
63934
63942
  const total = typeof child.totalDuration === "function" ? child.totalDuration() : single;
63935
63943
  if (typeof child.getChildren === "function") {
63936
- if (total > single + 1e-6) intervals2.push({ start, end: start + total });
63937
- else walk(child, start);
63944
+ if (total > single + 1e-6) {
63945
+ intervals2.push({ start, end: start + total });
63946
+ walk(child, start);
63947
+ } else {
63948
+ walk(child, start);
63949
+ }
63938
63950
  } else {
63939
63951
  tweenCount2++;
63940
63952
  intervals2.push({ start, end: start + total });
63953
+ if (total <= 1e-6 && (typeof child.vars?.onComplete === "function" || typeof child.vars?.onReverseComplete === "function")) {
63954
+ hasTimelineCall2 = true;
63955
+ }
63941
63956
  }
63942
63957
  }
63943
63958
  }
@@ -63972,7 +63987,8 @@ async function computeStaticFrameSet(page, fps) {
63972
63987
  hasVideo: hasVideo2,
63973
63988
  hasCanvas: hasCanvas2,
63974
63989
  hasNonGsapAnim: hasNonGsapAnim2,
63975
- hasUnresolvableClipStart: hasUnresolvableClipStart2
63990
+ hasUnresolvableClipStart: hasUnresolvableClipStart2,
63991
+ hasTimelineCall: hasTimelineCall2
63976
63992
  };
63977
63993
  });
63978
63994
  const {
@@ -63982,7 +63998,8 @@ async function computeStaticFrameSet(page, fps) {
63982
63998
  hasVideo,
63983
63999
  hasCanvas,
63984
64000
  hasNonGsapAnim,
63985
- hasUnresolvableClipStart
64001
+ hasUnresolvableClipStart,
64002
+ hasTimelineCall
63986
64003
  } = result;
63987
64004
  const totalFrames = Math.max(1, Math.ceil(duration * fps));
63988
64005
  const animated = /* @__PURE__ */ new Set();
@@ -63998,6 +64015,7 @@ async function computeStaticFrameSet(page, fps) {
63998
64015
  if (hasCanvas) reasons.push("canvas/webgl");
63999
64016
  if (tweenCount === 0) reasons.push("no GSAP tweens (non-GSAP animation)");
64000
64017
  if (hasNonGsapAnim) reasons.push("running CSS/WAAPI animation");
64018
+ if (hasTimelineCall) reasons.push("tl.call() side effect (not seek-safe)");
64001
64019
  if (hasUnresolvableClipStart) reasons.push("unresolvable clip start (reference expression)");
64002
64020
  const eligible = reasons.length === 0;
64003
64021
  const staticFrameSet = /* @__PURE__ */ new Set();
@@ -67179,6 +67197,8 @@ var CANVAS_DIMENSIONS2, VALID_CANVAS_RESOLUTIONS2, COMPOSITION_VARIABLE_TYPES2,
67179
67197
  var init_composition = __esm({
67180
67198
  "../parsers/dist/composition.js"() {
67181
67199
  "use strict";
67200
+ init_acorn();
67201
+ init_walk();
67182
67202
  CANVAS_DIMENSIONS2 = {
67183
67203
  landscape: { width: 1920, height: 1080 },
67184
67204
  portrait: { width: 1080, height: 1920 },
@@ -69870,6 +69890,40 @@ function rootClassStyledSelectors(styles, rootClasses) {
69870
69890
  }
69871
69891
  return offenders;
69872
69892
  }
69893
+ function collectDeclaredVariableIds(htmlTagRaw) {
69894
+ const declared = /* @__PURE__ */ new Set();
69895
+ const raw = readJsonAttr(htmlTagRaw, "data-composition-variables");
69896
+ if (!raw) return declared;
69897
+ let parsed;
69898
+ try {
69899
+ parsed = JSON.parse(raw);
69900
+ } catch {
69901
+ return null;
69902
+ }
69903
+ if (!Array.isArray(parsed)) return declared;
69904
+ for (const entry of parsed) {
69905
+ const id = entry?.id;
69906
+ if (typeof id === "string") declared.add(id);
69907
+ }
69908
+ return declared;
69909
+ }
69910
+ function collectAllDeclaredVariableIds(source) {
69911
+ const all = /* @__PURE__ */ new Set();
69912
+ const tagRe = /<[a-zA-Z][^>]*\bdata-composition-variables\b[^>]*>/gi;
69913
+ let match;
69914
+ while ((match = tagRe.exec(source)) !== null) {
69915
+ const ids = collectDeclaredVariableIds(match[0]);
69916
+ if (ids === null) return null;
69917
+ for (const id of ids) all.add(id);
69918
+ }
69919
+ return all;
69920
+ }
69921
+ function declaredIdsForBindingCheck(source) {
69922
+ const declared = collectAllDeclaredVariableIds(source);
69923
+ if (declared === null) return null;
69924
+ if (declared.size === 0 && !findHtmlTag(source)) return null;
69925
+ return declared;
69926
+ }
69873
69927
  function classNames2(tag) {
69874
69928
  return (readAttr(tag.raw, "class") ?? "").split(/\s+/).filter(Boolean);
69875
69929
  }
@@ -71219,14 +71273,26 @@ var init_dist4 = __esm({
71219
71273
  });
71220
71274
  }
71221
71275
  if (hasDataStart && hasId && !hasSrc) {
71222
- findings.push({
71223
- code: "media_missing_src",
71224
- severity: "error",
71225
- message: `<${tag.name} id="${hasId}"> has data-start but no src attribute. The renderer cannot load this media.`,
71226
- elementId: hasId,
71227
- fixHint: `Add a src attribute to the <${tag.name}> element directly. If using <source> children, the renderer still requires src on the parent element.`,
71228
- snippet: truncateSnippet(tag.raw)
71229
- });
71276
+ const varSrc = readAttr(tag.raw, "data-var-src");
71277
+ if (varSrc) {
71278
+ findings.push({
71279
+ code: "media_variable_src_no_fallback",
71280
+ severity: "warning",
71281
+ message: `<${tag.name} id="${hasId}"> relies on data-var-src="${varSrc}" with no fallback src. Renders without a "${varSrc}" value cannot load this media, and audio extraction reads the authored src.`,
71282
+ elementId: hasId,
71283
+ fixHint: `Add a fallback src the composition can render with when the variable is not provided.`,
71284
+ snippet: truncateSnippet(tag.raw)
71285
+ });
71286
+ } else {
71287
+ findings.push({
71288
+ code: "media_missing_src",
71289
+ severity: "error",
71290
+ message: `<${tag.name} id="${hasId}"> has data-start but no src attribute. The renderer cannot load this media.`,
71291
+ elementId: hasId,
71292
+ fixHint: `Add a src attribute to the <${tag.name}> element directly. If using <source> children, the renderer still requires src on the parent element.`,
71293
+ snippet: truncateSnippet(tag.raw)
71294
+ });
71295
+ }
71230
71296
  }
71231
71297
  if (readAttr(tag.raw, "preload") === "none") {
71232
71298
  findings.push({
@@ -72482,6 +72548,32 @@ ${right.raw}`)
72482
72548
  }
72483
72549
  return findings;
72484
72550
  },
72551
+ // unknown_variable_binding
72552
+ // data-var-src / data-var-text bind an element to a declared variable id;
72553
+ // the runtime silently keeps the authored fallback when the id resolves to
72554
+ // nothing, so a typo'd binding is invisible until a customer's override
72555
+ // does nothing. Skipped for fragment files (no <html>): their values come
72556
+ // from a host's data-variable-values, which this file can't see.
72557
+ ({ source, tags }) => {
72558
+ const declared = declaredIdsForBindingCheck(source);
72559
+ if (!declared) return [];
72560
+ const findings = [];
72561
+ for (const tag of tags) {
72562
+ for (const attr2 of ["data-var-src", "data-var-text"]) {
72563
+ const id = readAttr(tag.raw, attr2)?.trim();
72564
+ if (!id || declared.has(id)) continue;
72565
+ findings.push({
72566
+ code: "unknown_variable_binding",
72567
+ severity: "warning",
72568
+ message: `<${tag.name}> binds ${attr2}="${id}" but no variable "${id}" is declared in data-composition-variables \u2014 the binding will silently keep the authored fallback.`,
72569
+ fixHint: `Declare the variable on the composition root (<html>, or the [data-composition-id] root element for a template/fragment comp): data-composition-variables='[{"id":"${id}","type":"${attr2 === "data-var-src" ? "image" : "string"}","label":"${id}","default":"..."}]', or fix the binding id.`,
72570
+ elementId: readAttr(tag.raw, "id") || void 0,
72571
+ snippet: truncateSnippet(tag.raw)
72572
+ });
72573
+ }
72574
+ }
72575
+ return findings;
72576
+ },
72485
72577
  // invalid_composition_variables_declaration
72486
72578
  // The runtime parses `data-composition-variables` and silently returns []
72487
72579
  // on any structural problem. Surface JSON / shape failures so authors
@@ -73074,6 +73166,7 @@ function inlineSubCompositions(document2, hosts, options) {
73074
73166
  if (readVariableDefaults && parseHostVariables && runtimeCompId) {
73075
73167
  const mergedVariables = {
73076
73168
  ...readVariableDefaults(compDoc.documentElement),
73169
+ ...innerRoot ? readVariableDefaults(innerRoot) : {},
73077
73170
  ...parseHostVariables(hostEl)
73078
73171
  };
73079
73172
  if (Object.keys(mergedVariables).length > 0) {
@@ -79026,6 +79119,8 @@ function trackRenderComplete(props) {
79026
79119
  de_clamp_reason: props.deClampReason,
79027
79120
  de_worker_inversion: props.deWorkerInversion,
79028
79121
  de_pre_inversion_workers: props.dePreInversionWorkers,
79122
+ de_parallel_router: props.deParallelRouter,
79123
+ de_pre_router_workers: props.dePreRouterWorkers,
79029
79124
  de_gate_reason: props.deGateReason,
79030
79125
  de_worker_encode: props.deWorkerEncode,
79031
79126
  de_verify_armed: props.deVerifyArmed,
@@ -86508,6 +86603,11 @@ function findInsertionPoint(parsed) {
86508
86603
  const tlDecl = findTimelineDeclarationStatement(parsed.ast, parsed.timelineVar);
86509
86604
  return tlDecl?.end ?? parsed.ast.end;
86510
86605
  }
86606
+ function findGlobalSetInsertionPoint(parsed, script) {
86607
+ const tlDecl = findTimelineDeclarationStatement(parsed.ast, parsed.timelineVar);
86608
+ if (!tlDecl) return null;
86609
+ return script.lastIndexOf("\n", tlDecl.start) + 1;
86610
+ }
86511
86611
  function updateAnimationInScript(script, animationId, updates) {
86512
86612
  if (!Object.keys(updates).length) return script;
86513
86613
  const parsed = parseGsapScriptAcornForWrite3(script);
@@ -86556,6 +86656,16 @@ function updateAnimationInScript(script, animationId, updates) {
86556
86656
  if (updates.position !== void 0) {
86557
86657
  overwritePosition(ms, call, updates.position);
86558
86658
  }
86659
+ if (target.animation.method === "set" && target.animation.global) {
86660
+ const globalSetPoint = findGlobalSetInsertionPoint(parsed, script);
86661
+ const exprStmt = findEnclosingExpressionStatement2(call.ancestors);
86662
+ if (globalSetPoint !== null && exprStmt && exprStmt.start > globalSetPoint) {
86663
+ const lineStart = script.lastIndexOf("\n", exprStmt.start) + 1;
86664
+ const moveStart = /^\s*$/.test(script.slice(lineStart, exprStmt.start)) ? lineStart : exprStmt.start;
86665
+ const moveEnd = exprStmt.end < script.length && script[exprStmt.end] === "\n" ? exprStmt.end + 1 : exprStmt.end;
86666
+ ms.move(moveStart, moveEnd, globalSetPoint);
86667
+ }
86668
+ }
86559
86669
  return ms.toString();
86560
86670
  }
86561
86671
  function overwritePosition(ms, call, position) {
@@ -86605,14 +86715,31 @@ function scalePositionsInScript(script, targetSelector, oldStart, oldDuration, n
86605
86715
  function addAnimationToScript(script, animation) {
86606
86716
  const parsed = parseGsapScriptAcornForWrite3(script);
86607
86717
  if (!parsed) return { script, id: "" };
86608
- const insertionPoint = findInsertionPoint(parsed);
86609
- if (insertionPoint === null) return { script, id: "" };
86610
86718
  const ms = new MagicString(script);
86611
86719
  const statementCode = buildTweenStatementCode(parsed.timelineVar, animation);
86612
- ms.appendLeft(insertionPoint, "\n" + statementCode);
86720
+ const globalSetPoint = animation.method === "set" && animation.global ? findGlobalSetInsertionPoint(parsed, script) : null;
86721
+ if (globalSetPoint !== null) {
86722
+ ms.appendLeft(globalSetPoint, statementCode + "\n");
86723
+ } else {
86724
+ const insertionPoint = findInsertionPoint(parsed);
86725
+ if (insertionPoint === null) return { script, id: "" };
86726
+ ms.appendLeft(insertionPoint, "\n" + statementCode);
86727
+ }
86613
86728
  const result = ms.toString();
86614
86729
  const reParsed = parseGsapScriptAcornForWrite3(result);
86615
- const newId = reParsed?.located[reParsed.located.length - 1]?.id ?? "";
86730
+ const oldIdCounts = /* @__PURE__ */ new Map();
86731
+ for (const entry of parsed.located) {
86732
+ oldIdCounts.set(entry.id, (oldIdCounts.get(entry.id) ?? 0) + 1);
86733
+ }
86734
+ let newId = "";
86735
+ for (const entry of reParsed?.located ?? []) {
86736
+ const remaining = oldIdCounts.get(entry.id) ?? 0;
86737
+ if (remaining === 0) {
86738
+ newId = entry.id;
86739
+ break;
86740
+ }
86741
+ oldIdCounts.set(entry.id, remaining - 1);
86742
+ }
86616
86743
  return { script: result, id: newId };
86617
86744
  }
86618
86745
  function removeCallFromMagicString2(ms, call, script) {
@@ -91637,7 +91764,12 @@ function mintHfId2(el, assigned) {
91637
91764
  return id;
91638
91765
  }
91639
91766
  function isCompositionTemplate2(el) {
91640
- return el.tagName.toLowerCase() === "template" && el.getAttribute("data-composition-id") !== null;
91767
+ if (el.tagName.toLowerCase() !== "template") return false;
91768
+ if (el.getAttribute("data-composition-id") !== null) return true;
91769
+ for (const child of Array.from(el.children)) {
91770
+ if (child.getAttribute("data-composition-id") !== null) return true;
91771
+ }
91772
+ return false;
91641
91773
  }
91642
91774
  function walkElements2(root, visit) {
91643
91775
  for (const child of Array.from(root.children)) {
@@ -94621,6 +94753,7 @@ import { join as join52, relative as relative7 } from "path";
94621
94753
  import postcss3 from "postcss";
94622
94754
  import { existsSync as existsSync52, readFileSync as readFileSync72, statSync as statSync22 } from "fs";
94623
94755
  import { join as join82 } from "path";
94756
+ import { createHash as createHash22 } from "crypto";
94624
94757
  import { existsSync as existsSync42, readFileSync as readFileSync42 } from "fs";
94625
94758
  import { join as join72 } from "path";
94626
94759
  import { createHash as createHash5 } from "crypto";
@@ -94643,7 +94776,7 @@ import { existsSync as existsSync62, readFileSync as readFileSync92, mkdirSync a
94643
94776
  import { join as join102 } from "path";
94644
94777
  import { existsSync as existsSync72, readFileSync as readFileSync102, writeFileSync as writeFileSync62, mkdirSync as mkdirSync52, statSync as statSync42 } from "fs";
94645
94778
  import { join as join112 } from "path";
94646
- import { createHash as createHash22 } from "crypto";
94779
+ import { createHash as createHash32 } from "crypto";
94647
94780
  import { existsSync as existsSync82, readFileSync as readFileSync112, writeFileSync as writeFileSync72, mkdirSync as mkdirSync62 } from "fs";
94648
94781
  import { join as join122 } from "path";
94649
94782
  import { closeSync as closeSync22, constants as constants22, fstatSync as fstatSync2, openSync as openSync22, readSync } from "fs";
@@ -96690,6 +96823,19 @@ ${bootstrap}`;
96690
96823
  }
96691
96824
  block = extractGsapScriptBlock(html);
96692
96825
  }
96826
+ if (!block && (body.type === "shift-positions" || body.type === "scale-positions")) {
96827
+ return c3.json({
96828
+ ok: true,
96829
+ changed: false,
96830
+ mutated: false,
96831
+ parsed: { animations: [], timelineVar: "tl", preamble: "", postamble: "" },
96832
+ before: html,
96833
+ after: html,
96834
+ scriptText: "",
96835
+ path: res.filePath,
96836
+ backupPath: null
96837
+ });
96838
+ }
96693
96839
  if (!block) {
96694
96840
  return c3.json({ error: "no GSAP script found in file" }, 400);
96695
96841
  }
@@ -96718,6 +96864,7 @@ ${bootstrap}`;
96718
96864
  const responsePayload = {
96719
96865
  ok: true,
96720
96866
  changed,
96867
+ mutated: changed,
96721
96868
  parsed: freshParsed,
96722
96869
  before: html,
96723
96870
  after: newHtml,
@@ -96789,6 +96936,9 @@ function extractTemplateInnerHtml(rawComp) {
96789
96936
  const template = doc.querySelector("template");
96790
96937
  return template ? template.innerHTML : null;
96791
96938
  }
96939
+ function escapeAttrValue(value) {
96940
+ return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;");
96941
+ }
96792
96942
  function extractElementAttrs(el) {
96793
96943
  const parts = [];
96794
96944
  for (let i2 = 0; i2 < el.attributes.length; i2++) {
@@ -96796,7 +96946,7 @@ function extractElementAttrs(el) {
96796
96946
  if (attr2.value === "") {
96797
96947
  parts.push(attr2.name);
96798
96948
  } else {
96799
- parts.push(`${attr2.name}="${attr2.value}"`);
96949
+ parts.push(`${attr2.name}="${escapeAttrValue(attr2.value)}"`);
96800
96950
  }
96801
96951
  }
96802
96952
  return parts.join(" ");
@@ -97228,6 +97378,9 @@ function stampFileHfIds(filePath) {
97228
97378
  closeSync2(fd);
97229
97379
  }
97230
97380
  }
97381
+ function isVariablesPayload(value) {
97382
+ return typeof value === "object" && value !== null && !Array.isArray(value);
97383
+ }
97231
97384
  function resolveProjectSignature(adapter2, projectDir) {
97232
97385
  return adapter2.getProjectSignature?.(projectDir) ?? createProjectSignature(projectDir);
97233
97386
  }
@@ -97324,6 +97477,40 @@ function injectGsapCdnFallback(html) {
97324
97477
  if (html.includes("<head>")) return html.replace("<head>", "<head>" + GSAP_CDN_FALLBACK_SCRIPT);
97325
97478
  return GSAP_CDN_FALLBACK_SCRIPT + html;
97326
97479
  }
97480
+ function injectPreviewVariables(html, values) {
97481
+ const json = JSON.stringify(values).replace(/</g, "\\u003c");
97482
+ const tag = `<script data-hf-preview-variables>window.__hfVariables=${json};</script>`;
97483
+ for (const pattern of [/<head[^>]*>/i, /<html[^>]*>/i, /^\s*<!doctype[^>]*>/i]) {
97484
+ const match = pattern.exec(html);
97485
+ if (match) {
97486
+ const at4 = match.index + match[0].length;
97487
+ return html.slice(0, at4) + tag + html.slice(at4);
97488
+ }
97489
+ }
97490
+ return tag + html;
97491
+ }
97492
+ function parsePreviewVariablesParam(raw) {
97493
+ if (raw === void 0 || raw === "") return { ok: true, values: null };
97494
+ let parsed;
97495
+ try {
97496
+ parsed = JSON.parse(raw);
97497
+ } catch {
97498
+ return { ok: false, error: "variables must be valid JSON" };
97499
+ }
97500
+ if (!isVariablesPayload(parsed)) {
97501
+ return { ok: false, error: VARIABLES_PAYLOAD_ERROR };
97502
+ }
97503
+ return { ok: true, values: parsed };
97504
+ }
97505
+ function variablesEtagSalt(raw) {
97506
+ if (!raw) return "";
97507
+ return `:vars:${createHash22("sha1").update(raw).digest("hex").slice(0, 12)}`;
97508
+ }
97509
+ function previewVariablesFromRequest(rawVariables) {
97510
+ const parse9 = parsePreviewVariablesParam(rawVariables);
97511
+ if (!parse9.ok) return { error: parse9.error };
97512
+ return { raw: rawVariables, values: parse9.values };
97513
+ }
97327
97514
  function injectStudioPreviewAugmentations(html, adapter2, projectDir, activeCompositionPath) {
97328
97515
  return injectStudioMotionScript(
97329
97516
  injectMotionPathPluginIfNeeded(
@@ -97367,8 +97554,11 @@ function registerPreviewRoutes(api, adapter2) {
97367
97554
  api.get("/projects/:id/preview", async (c3) => {
97368
97555
  const project = await adapter2.resolveProject(c3.req.param("id"));
97369
97556
  if (!project) return c3.json({ error: "not found" }, 404);
97557
+ const vars = previewVariablesFromRequest(c3.req.query("variables"));
97558
+ if (vars.error !== void 0) return c3.json({ error: vars.error }, 400);
97559
+ const previewVariables = vars.values;
97370
97560
  const signature = resolveProjectSignature(adapter2, project.dir);
97371
- const etag = `"preview:${signature}"`;
97561
+ const etag = `"preview:${signature}${variablesEtagSalt(vars.raw)}"`;
97372
97562
  const ifNoneMatch = c3.req.header("If-None-Match");
97373
97563
  if (ifNoneMatch === etag) {
97374
97564
  return new Response(null, { status: 304, headers: previewCacheHeaders(etag) });
@@ -97399,6 +97589,7 @@ ${runtimeTag}`;
97399
97589
  project.dir,
97400
97590
  mainCompositionPath
97401
97591
  );
97592
+ if (previewVariables) bundled = injectPreviewVariables(bundled, previewVariables);
97402
97593
  return c3.html(bundled, 200, previewCacheHeaders(etag));
97403
97594
  } catch {
97404
97595
  const fallback = resolveProjectMainHtml(project.dir, project.id);
@@ -97407,16 +97598,16 @@ ${runtimeTag}`;
97407
97598
  join82(project.dir, fallback.compositionPath),
97408
97599
  fallback.html
97409
97600
  );
97410
- return c3.html(
97411
- injectStudioPreviewAugmentations(
97412
- await transformPreviewHtml(fallbackHtml, adapter2, project, fallback.compositionPath),
97413
- adapter2,
97414
- project.dir,
97415
- fallback.compositionPath
97416
- ),
97417
- 200,
97418
- previewCacheHeaders(etag)
97601
+ let fallbackAugmented = injectStudioPreviewAugmentations(
97602
+ await transformPreviewHtml(fallbackHtml, adapter2, project, fallback.compositionPath),
97603
+ adapter2,
97604
+ project.dir,
97605
+ fallback.compositionPath
97419
97606
  );
97607
+ if (previewVariables) {
97608
+ fallbackAugmented = injectPreviewVariables(fallbackAugmented, previewVariables);
97609
+ }
97610
+ return c3.html(fallbackAugmented, 200, previewCacheHeaders(etag));
97420
97611
  }
97421
97612
  return c3.text("not found", 404);
97422
97613
  }
@@ -97428,6 +97619,9 @@ ${runtimeTag}`;
97428
97619
  api.get("/projects/:id/preview/comp/*", async (c3) => {
97429
97620
  const project = await adapter2.resolveProject(c3.req.param("id"));
97430
97621
  if (!project) return c3.json({ error: "not found" }, 404);
97622
+ const vars = previewVariablesFromRequest(c3.req.query("variables"));
97623
+ if (vars.error !== void 0) return c3.json({ error: vars.error }, 400);
97624
+ const previewVariables = vars.values;
97431
97625
  const signature = resolveProjectSignature(adapter2, project.dir);
97432
97626
  const compPath = decodeURIComponent(
97433
97627
  c3.req.path.replace(`/projects/${project.id}/preview/comp/`, "").split("?")[0] ?? ""
@@ -97436,7 +97630,7 @@ ${runtimeTag}`;
97436
97630
  if (!compFile || !existsSync52(compFile) || !statSync22(compFile).isFile()) {
97437
97631
  return c3.text("not found", 404);
97438
97632
  }
97439
- const etag = `"comp:v2:${compPath}:${signature}"`;
97633
+ const etag = `"comp:v2:${compPath}:${signature}${variablesEtagSalt(vars.raw)}"`;
97440
97634
  const ifNoneMatch = c3.req.header("If-None-Match");
97441
97635
  if (ifNoneMatch === etag) {
97442
97636
  return new Response(null, { status: 304, headers: previewCacheHeaders(etag) });
@@ -97453,11 +97647,9 @@ ${runtimeTag}`;
97453
97647
  );
97454
97648
  if (!html) return c3.text("not found", 404);
97455
97649
  html = ensureHfIds2(await transformPreviewHtml(html, adapter2, project, compPath));
97456
- return c3.html(
97457
- injectStudioPreviewAugmentations(html, adapter2, project.dir, compPath),
97458
- 200,
97459
- previewCacheHeaders(etag)
97460
- );
97650
+ html = injectStudioPreviewAugmentations(html, adapter2, project.dir, compPath);
97651
+ if (previewVariables) html = injectPreviewVariables(html, previewVariables);
97652
+ return c3.html(html, 200, previewCacheHeaders(etag));
97461
97653
  });
97462
97654
  api.get("/projects/:id/preview/*", async (c3) => {
97463
97655
  const project = await adapter2.resolveProject(c3.req.param("id"));
@@ -97584,6 +97776,13 @@ function registerRenderRoutes(api, adapter2) {
97584
97776
  }
97585
97777
  composition = body.composition;
97586
97778
  }
97779
+ let variables;
97780
+ if (body.variables !== void 0) {
97781
+ if (!isVariablesPayload(body.variables)) {
97782
+ return c3.json({ error: VARIABLES_PAYLOAD_ERROR }, 400);
97783
+ }
97784
+ variables = body.variables;
97785
+ }
97587
97786
  const now = /* @__PURE__ */ new Date();
97588
97787
  const datePart = now.toISOString().slice(0, 10);
97589
97788
  const timePart = now.toTimeString().slice(0, 8).replace(/:/g, "-");
@@ -97601,6 +97800,7 @@ function registerRenderRoutes(api, adapter2) {
97601
97800
  jobId,
97602
97801
  outputResolution,
97603
97802
  composition,
97803
+ variables,
97604
97804
  distinctId: typeof body.telemetryDistinctId === "string" ? body.telemetryDistinctId : void 0
97605
97805
  });
97606
97806
  jobState.createdAt = Date.now();
@@ -98367,7 +98567,7 @@ function registerThumbnailRoutes(api, adapter2) {
98367
98567
  const htmlFile = join112(project.dir, compPath);
98368
98568
  if (existsSync72(htmlFile)) {
98369
98569
  const html = readFileSync102(htmlFile, "utf-8");
98370
- sourceKey = `_${createHash22("sha1").update(html).digest("hex").slice(0, 16)}`;
98570
+ sourceKey = `_${createHash32("sha1").update(html).digest("hex").slice(0, 16)}`;
98371
98571
  sourceMtime = Math.round(statSync42(htmlFile).mtimeMs);
98372
98572
  if (!vpWidth) {
98373
98573
  const wMatch = html.match(/data-width=["'](\d+)["']/);
@@ -98380,14 +98580,14 @@ function registerThumbnailRoutes(api, adapter2) {
98380
98580
  let manualEditsKey = "";
98381
98581
  if (existsSync72(manualEditsFile)) {
98382
98582
  const manualEditsContent = readFileSync102(manualEditsFile, "utf-8");
98383
- manualEditsKey = `_${createHash22("sha1").update(manualEditsContent).digest("hex").slice(0, 16)}`;
98583
+ manualEditsKey = `_${createHash32("sha1").update(manualEditsContent).digest("hex").slice(0, 16)}`;
98384
98584
  sourceMtime = Math.max(sourceMtime, Math.round(statSync42(manualEditsFile).mtimeMs));
98385
98585
  }
98386
98586
  const motionFile = join112(project.dir, STUDIO_MOTION_PATH);
98387
98587
  let motionKey = "";
98388
98588
  if (existsSync72(motionFile)) {
98389
98589
  const motionContent = readFileSync102(motionFile, "utf-8");
98390
- motionKey = `_${createHash22("sha1").update(motionContent).digest("hex").slice(0, 16)}`;
98590
+ motionKey = `_${createHash32("sha1").update(motionContent).digest("hex").slice(0, 16)}`;
98391
98591
  sourceMtime = Math.max(sourceMtime, Math.round(statSync42(motionFile).mtimeMs));
98392
98592
  }
98393
98593
  const previewUrl = compPath === "index.html" ? `http://${c3.req.header("host")}/api/projects/${project.id}/preview` : `http://${c3.req.header("host")}/api/projects/${project.id}/preview/comp/${compPath}`;
@@ -98462,7 +98662,7 @@ function registerWaveformRoutes(api, adapter2) {
98462
98662
  return c3.json({ peaks });
98463
98663
  });
98464
98664
  }
98465
- function isRecord2(value) {
98665
+ function isRecord3(value) {
98466
98666
  return typeof value === "object" && value !== null;
98467
98667
  }
98468
98668
  function collectFontsFromDir(dir) {
@@ -98486,10 +98686,10 @@ function listInstalledFontFamilies() {
98486
98686
  return cachedFonts;
98487
98687
  }
98488
98688
  function parseGoogleFontMetadata(value) {
98489
- if (!isRecord2(value) || !Array.isArray(value.familyMetadataList)) return [];
98689
+ if (!isRecord3(value) || !Array.isArray(value.familyMetadataList)) return [];
98490
98690
  const families = [];
98491
98691
  for (const entry of value.familyMetadataList) {
98492
- if (!isRecord2(entry) || typeof entry.family !== "string") continue;
98692
+ if (!isRecord3(entry) || typeof entry.family !== "string") continue;
98493
98693
  families.push(entry.family);
98494
98694
  }
98495
98695
  return families;
@@ -99051,7 +99251,7 @@ function updateBackgroundRemovalProgress(state, event) {
99051
99251
  state.framesProcessed = event.index;
99052
99252
  state.avgMsPerFrame = event.avgMsPerFrame;
99053
99253
  }
99054
- 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, VIDEO_EXT2, IMAGE_EXT, AUDIO_EXT2, VIDEO_EXTENSIONS2, IMAGE_EXTENSIONS, VIDEO_OUTPUT_EXTENSIONS, QUALITIES, DEVICES;
99254
+ 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, VARIABLES_PAYLOAD_ERROR, 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, VIDEO_EXT2, IMAGE_EXT, AUDIO_EXT2, VIDEO_EXTENSIONS2, IMAGE_EXTENSIONS, VIDEO_OUTPUT_EXTENSIONS, QUALITIES, DEVICES;
99055
99255
  var init_dist9 = __esm({
99056
99256
  "../studio-server/dist/index.js"() {
99057
99257
  "use strict";
@@ -99178,6 +99378,7 @@ var init_dist9 = __esm({
99178
99378
  ];
99179
99379
  projectSignatureCache = /* @__PURE__ */ new Map();
99180
99380
  STUDIO_MOTION_PATH = ".hyperframes/studio-motion.json";
99381
+ VARIABLES_PAYLOAD_ERROR = "variables must be a JSON object of {variableId: value}";
99181
99382
  PROJECT_SIGNATURE_META = "hyperframes-project-signature";
99182
99383
  GSAP_CDN_VERSION = "3.15.0";
99183
99384
  GSAP_CDN_SCRIPT = `<script src="https://cdn.jsdelivr.net/npm/gsap@${GSAP_CDN_VERSION}/dist/gsap.min.js"></script>`;
@@ -100533,6 +100734,8 @@ function aggregateDrawElement(perfs, de2) {
100533
100734
  clampReason: de2.clampReason,
100534
100735
  workerInversion: de2.workerInversion ?? "none",
100535
100736
  preInversionWorkers: de2.preInversionWorkers,
100737
+ parallelRouter: de2.parallelRouter ?? "none",
100738
+ preRouterWorkers: de2.preRouterWorkers,
100536
100739
  gateReason: gateReasons.length > 0 ? gateReasons.join("|") : void 0,
100537
100740
  workerEncode: perfs.some((p2) => p2.deWorkerEncode),
100538
100741
  verifyArmed: perfs.reduce((sum, p2) => sum + (p2.deVerifyArmed ?? 0), 0),
@@ -108766,7 +108969,8 @@ async function runCaptureStreamingStage(input2) {
108766
108969
  abortSignal,
108767
108970
  assertNotAborted,
108768
108971
  onProgress,
108769
- dedupPerfs
108972
+ dedupPerfs,
108973
+ forceParallelStream
108770
108974
  } = input2;
108771
108975
  let { workerCount, probeSession } = input2;
108772
108976
  let lastBrowserConsole = [];
@@ -108804,7 +109008,7 @@ async function runCaptureStreamingStage(input2) {
108804
109008
  try {
108805
109009
  const reorderBuffer = createFrameReorderBuffer(0, totalFrames);
108806
109010
  if (workerCount > 1) {
108807
- const deParallelStream = process.env.HF_DE_PARALLEL_STREAM === "true";
109011
+ const deParallelStream = forceParallelStream === true || process.env.HF_DE_PARALLEL_STREAM === "true";
108808
109012
  const tasks = deParallelStream ? distributeFramesInterleaved(totalFrames, workerCount, workDir) : distributeFrames(totalFrames, workerCount, workDir);
108809
109013
  const parallelStats = {
108810
109014
  verifyChecked: 0,
@@ -110826,13 +111030,13 @@ function replaceBodyWithRenderClone(body, renderClone) {
110826
111030
  }
110827
111031
  body.appendChild(renderClone);
110828
111032
  }
110829
- function shouldUseStreamingEncode(cfg, outputFormat, workerCount, durationSeconds) {
111033
+ function shouldUseStreamingEncode(cfg, outputFormat, workerCount, durationSeconds, forceParallelStream = false) {
110830
111034
  if (!cfg.enableStreamingEncode) return false;
110831
111035
  if (outputFormat === "png-sequence") return false;
110832
111036
  if (outputFormat === "gif") return false;
110833
111037
  if (!Number.isFinite(durationSeconds) || durationSeconds <= 0) return false;
110834
111038
  if (durationSeconds > cfg.streamingEncodeMaxDurationSeconds) return false;
110835
- if (process.env.HF_DE_PARALLEL_STREAM === "true") return true;
111039
+ if (forceParallelStream || process.env.HF_DE_PARALLEL_STREAM === "true") return true;
110836
111040
  return workerCount === 1;
110837
111041
  }
110838
111042
  function shouldPreferSingleWorkerDrawElement(args) {
@@ -110851,6 +111055,22 @@ function resolveInversionRetryPlan(args) {
110851
111055
  deWorkerInversion: "reverted"
110852
111056
  };
110853
111057
  }
111058
+ function shouldPreferParallelDrawElement(args) {
111059
+ return args.routerEnabled && args.workerCount > 1 && typeof args.requestedWorkers !== "number" && args.useDrawElement && !args.deCompileGate && !args.forceScreenshot && args.outputFormat === "mp4" && args.minFrames > 0 && args.totalFrames >= args.minFrames && !args.layeredOrEffectRoute && !args.supersampling && !args.probeDeGated && !args.experimentalParallelDeOptIn;
111060
+ }
111061
+ function resolveParallelRouterRetryPlan(args) {
111062
+ if (args.deParallelRouter !== "routed") return null;
111063
+ return {
111064
+ workerCount: args.preRouterWorkerCount,
111065
+ useStreamingEncode: shouldUseStreamingEncode(
111066
+ args.cfg,
111067
+ args.outputFormat,
111068
+ args.preRouterWorkerCount,
111069
+ args.durationSeconds
111070
+ ),
111071
+ deParallelRouter: "reverted"
111072
+ };
111073
+ }
110854
111074
  function resolveCaptureForceScreenshotForPageSideCompositing(args) {
110855
111075
  return args.usePageSideCompositing ? true : args.forceScreenshot;
110856
111076
  }
@@ -110933,6 +111153,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
110933
111153
  if (count > 0) updateCaptureObservability({ transientRetries: count });
110934
111154
  };
110935
111155
  let memSampler = null;
111156
+ let deParallelRouter;
110936
111157
  try {
110937
111158
  memSampler = createMemorySampler();
110938
111159
  const assertNotAborted = () => {
@@ -111034,6 +111255,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111034
111255
  const deCompileGate = compileResult.deCompileGate;
111035
111256
  let deClampReason;
111036
111257
  let deWorkerInversion;
111258
+ let deParallelStreamForced = false;
111037
111259
  let deSelfVerifyFallback = false;
111038
111260
  let deFallbackReason;
111039
111261
  let deDrainStats;
@@ -111285,7 +111507,26 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111285
111507
  experimentalParallelDeOptIn: process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE === "true" || // Verified parallel DE streaming (opt-in) wants its parallelism kept.
111286
111508
  process.env.HF_DE_PARALLEL_STREAM === "true"
111287
111509
  });
111288
- if (job.config.workers === void 0 && totalFrames >= 60 && !htmlInCanvasDetected && !cfg.lowMemoryMode && !deInversionEligible) {
111510
+ const deParallelRouterEnabled = process.env.HF_DE_PARALLEL_ROUTER === "true";
111511
+ const deParallelMinFramesRaw = process.env.HF_DE_PARALLEL_MIN_FRAMES;
111512
+ const deParallelMinFramesNum = deParallelMinFramesRaw === void 0 || deParallelMinFramesRaw.trim() === "" ? 2e3 : Number(deParallelMinFramesRaw);
111513
+ const deParallelMinFrames = Number.isFinite(deParallelMinFramesNum) ? deParallelMinFramesNum : 2e3;
111514
+ const deParallelRouterEligible = shouldPreferParallelDrawElement({
111515
+ workerCount: WOULD_RESOLVE_MULTI_WORKER,
111516
+ requestedWorkers: job.config.workers,
111517
+ useDrawElement: cfg.useDrawElement,
111518
+ deCompileGate,
111519
+ forceScreenshot: captureForceScreenshot,
111520
+ outputFormat,
111521
+ totalFrames,
111522
+ minFrames: deParallelMinFrames,
111523
+ layeredOrEffectRoute: hasHdrContent || compiled.hasShaderTransitions,
111524
+ supersampling: deviceScaleFactor > 1,
111525
+ probeDeGated: probeSession !== null && probeSession.captureMode !== "drawelement" && !probeSession.deInitDeferred,
111526
+ experimentalParallelDeOptIn: process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE === "true" || process.env.HF_DE_PARALLEL_STREAM === "true",
111527
+ routerEnabled: deParallelRouterEnabled
111528
+ });
111529
+ if (job.config.workers === void 0 && totalFrames >= 60 && !htmlInCanvasDetected && !cfg.lowMemoryMode && !deInversionEligible && !deParallelRouterEligible) {
111289
111530
  const outcome = await observeRenderStage(
111290
111531
  observability,
111291
111532
  "capture_calibration",
@@ -111322,7 +111563,8 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111322
111563
  totalFrames,
111323
111564
  htmlInCanvasDetected,
111324
111565
  lowMemoryMode: Boolean(cfg.lowMemoryMode),
111325
- deInversionEligible
111566
+ deInversionEligible,
111567
+ deParallelRouterEligible
111326
111568
  });
111327
111569
  }
111328
111570
  let workerCount = resolveRenderWorkerCount(
@@ -111333,25 +111575,40 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111333
111575
  log2,
111334
111576
  captureCalibration?.estimate
111335
111577
  );
111336
- const preInversionWorkerCount = workerCount;
111337
- if (deInversionEligible && workerCount > 1) {
111578
+ const preRoutingWorkerCount = workerCount;
111579
+ if (deParallelRouterEligible && workerCount > 1) {
111580
+ deParallelRouter = "routed";
111581
+ const ROUTER_WORKER_COUNT = 3;
111582
+ log2.info(
111583
+ `[Render] Fast capture: verified parallel drawElement streaming preferred over single-worker inversion (${totalFrames} frames >= ${deParallelMinFrames}; benchmark-validated at 3 workers, pinned regardless of calibration). Set HF_DE_PARALLEL_ROUTER=false or --workers N to override.`
111584
+ );
111585
+ workerCount = ROUTER_WORKER_COUNT;
111586
+ deParallelStreamForced = true;
111587
+ } else if (deInversionEligible && workerCount > 1) {
111338
111588
  deWorkerInversion = "inverted";
111339
111589
  log2.info(
111340
111590
  `[Render] Fast capture: single-worker drawElement streaming preferred over ${workerCount}-worker screenshot capture (${totalFrames} frames >= ${deSingleMinFrames}; verified path, measured faster at every worker count). Set HF_DE_SINGLE_MIN_FRAMES=0 or --workers N to override.`
111341
111591
  );
111342
111592
  workerCount = 1;
111343
111593
  }
111344
- updateCaptureObservability({ workerCount, deWorkerInversion });
111594
+ updateCaptureObservability({ workerCount, deWorkerInversion, deParallelRouter });
111345
111595
  observability.checkpoint("worker_resolution", "resolved", {
111346
111596
  workerCount,
111347
- deWorkerInversion: deWorkerInversion ?? "none"
111597
+ deWorkerInversion: deWorkerInversion ?? "none",
111598
+ deParallelRouter: deParallelRouter ?? "none"
111348
111599
  });
111349
111600
  if (workerCount > 1 && probeSession) {
111350
111601
  lastBrowserConsole = probeSession.browserConsoleBuffer;
111351
111602
  await closeCaptureSession(probeSession);
111352
111603
  probeSession = null;
111353
111604
  }
111354
- let useStreamingEncode = shouldUseStreamingEncode(cfg, outputFormat, workerCount, job.duration);
111605
+ let useStreamingEncode = shouldUseStreamingEncode(
111606
+ cfg,
111607
+ outputFormat,
111608
+ workerCount,
111609
+ job.duration,
111610
+ deParallelStreamForced
111611
+ );
111355
111612
  log2.info("streaming-encode gate", {
111356
111613
  enabled: useStreamingEncode,
111357
111614
  configFlag: cfg.enableStreamingEncode,
@@ -111360,7 +111617,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111360
111617
  durationSeconds: job.duration,
111361
111618
  maxDurationSeconds: cfg.streamingEncodeMaxDurationSeconds
111362
111619
  });
111363
- const deParallelStreamVerified = process.env.HF_DE_PARALLEL_STREAM === "true" && useStreamingEncode && workerCount > 1;
111620
+ const deParallelStreamVerified = (deParallelStreamForced || process.env.HF_DE_PARALLEL_STREAM === "true") && useStreamingEncode && workerCount > 1;
111364
111621
  if (cfg.useDrawElement && process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE !== "true" && (!useStreamingEncode || workerCount > 1) && !deParallelStreamVerified) {
111365
111622
  cfg.useDrawElement = false;
111366
111623
  deClampReason = workerCount > 1 ? "parallel" : "disk_path";
@@ -111505,6 +111762,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111505
111762
  workerCount,
111506
111763
  probeSession,
111507
111764
  outputFormat,
111765
+ forceParallelStream: deParallelStreamForced,
111508
111766
  streamingEncoderOptions: {
111509
111767
  fps: job.config.fps,
111510
111768
  width,
@@ -111547,9 +111805,17 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111547
111805
  deSelfVerifyFallback: true
111548
111806
  });
111549
111807
  probeSession = null;
111808
+ if (deParallelRouter === "routed") deParallelStreamForced = false;
111550
111809
  const inversionRetryPlan = resolveInversionRetryPlan({
111551
111810
  deWorkerInversion,
111552
- preInversionWorkerCount,
111811
+ preInversionWorkerCount: preRoutingWorkerCount,
111812
+ cfg,
111813
+ outputFormat,
111814
+ durationSeconds: job.duration
111815
+ });
111816
+ const parallelRouterRetryPlan = resolveParallelRouterRetryPlan({
111817
+ deParallelRouter,
111818
+ preRouterWorkerCount: preRoutingWorkerCount,
111553
111819
  cfg,
111554
111820
  outputFormat,
111555
111821
  durationSeconds: job.duration
@@ -111566,6 +111832,18 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111566
111832
  log2.info(
111567
111833
  `[Render] Reverting worker inversion for the retry: ${workerCount} workers, streaming=${useStreamingEncode}.`
111568
111834
  );
111835
+ } else if (parallelRouterRetryPlan) {
111836
+ deParallelRouter = parallelRouterRetryPlan.deParallelRouter;
111837
+ workerCount = parallelRouterRetryPlan.workerCount;
111838
+ useStreamingEncode = parallelRouterRetryPlan.useStreamingEncode;
111839
+ updateCaptureObservability({
111840
+ workerCount,
111841
+ useStreamingEncode,
111842
+ deParallelRouter
111843
+ });
111844
+ log2.info(
111845
+ `[Render] Reverting parallel router for the retry: ${workerCount} workers, streaming=${useStreamingEncode}.`
111846
+ );
111569
111847
  }
111570
111848
  if (useStreamingEncode) {
111571
111849
  streamingRes = await invokeStreaming();
@@ -111743,7 +112021,9 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111743
112021
  compileGate: deCompileGate,
111744
112022
  clampReason: deClampReason,
111745
112023
  workerInversion: deWorkerInversion,
111746
- preInversionWorkers: deWorkerInversion ? preInversionWorkerCount : void 0,
112024
+ preInversionWorkers: deWorkerInversion ? preRoutingWorkerCount : void 0,
112025
+ parallelRouter: deParallelRouter,
112026
+ preRouterWorkers: deParallelRouter ? preRoutingWorkerCount : void 0,
111747
112027
  selfVerifyFallback: deSelfVerifyFallback,
111748
112028
  fallbackReason: deFallbackReason,
111749
112029
  drainStats: deDrainStats
@@ -115852,7 +116132,8 @@ function createStudioServer(options) {
115852
116132
  format: opts.format,
115853
116133
  outputResolution: opts.outputResolution,
115854
116134
  ...manualEditsRenderScript ? { renderBodyScripts: [manualEditsRenderScript] } : {},
115855
- ...opts.composition ? { entryFile: opts.composition } : {}
116135
+ ...opts.composition ? { entryFile: opts.composition } : {},
116136
+ ...opts.variables ? { variables: opts.variables } : {}
115856
116137
  });
115857
116138
  renderJob = job;
115858
116139
  const onProgress = (j3) => {
@@ -118820,11 +119101,11 @@ var init_present = __esm({
118820
119101
  import { basename as basename11, dirname as dirname28, join as join68, posix as posix5, relative as relative13, resolve as resolve39 } from "path";
118821
119102
  import { existsSync as existsSync63, readdirSync as readdirSync23, readFileSync as readFileSync38, statSync as statSync19 } from "fs";
118822
119103
  import AdmZip from "adm-zip";
118823
- function isRecord3(value) {
119104
+ function isRecord4(value) {
118824
119105
  return typeof value === "object" && value !== null && !Array.isArray(value);
118825
119106
  }
118826
119107
  function dataRecord(payload) {
118827
- if (!isRecord3(payload) || !isRecord3(payload["data"])) return null;
119108
+ if (!isRecord4(payload) || !isRecord4(payload["data"])) return null;
118828
119109
  return payload["data"];
118829
119110
  }
118830
119111
  function stringField(record, key2) {
@@ -118870,7 +119151,7 @@ function parseStagedUploadResponse(payload, archiveByteLength) {
118870
119151
  function getUploadHeaders(data2, uploadUrl, contentType, archiveByteLength) {
118871
119152
  const headers = {};
118872
119153
  const uploadHeaders = data2["upload_headers"];
118873
- if (isRecord3(uploadHeaders)) {
119154
+ if (isRecord4(uploadHeaders)) {
118874
119155
  for (const [key2, value] of Object.entries(uploadHeaders)) {
118875
119156
  if (typeof value === "string" && key2.trim()) {
118876
119157
  headers[key2] = value;
@@ -118896,7 +119177,7 @@ async function readErrorMessage(response, fallback) {
118896
119177
  const contentType = response.headers.get("content-type") || "";
118897
119178
  if (contentType.includes("application/json")) {
118898
119179
  const payload = await readJson(response);
118899
- if (isRecord3(payload) && typeof payload["message"] === "string") {
119180
+ if (isRecord4(payload) && typeof payload["message"] === "string") {
118900
119181
  return payload["message"];
118901
119182
  }
118902
119183
  }
@@ -120096,7 +120377,7 @@ __export(batchRender_exports, {
120096
120377
  });
120097
120378
  import { mkdirSync as mkdirSync34, readFileSync as readFileSync43, writeFileSync as writeFileSync23 } from "fs";
120098
120379
  import { dirname as dirname29, join as join71, resolve as resolve43, sep as sep8 } from "path";
120099
- function isRecord4(value) {
120380
+ function isRecord5(value) {
120100
120381
  return value !== null && typeof value === "object" && !Array.isArray(value);
120101
120382
  }
120102
120383
  function parseJson(raw, source) {
@@ -120108,7 +120389,7 @@ function parseJson(raw, source) {
120108
120389
  }
120109
120390
  function parseBatchRows(raw, source) {
120110
120391
  const parsed = parseJson(raw, source);
120111
- const rows = Array.isArray(parsed) ? parsed : isRecord4(parsed) ? parsed.rows : void 0;
120392
+ const rows = Array.isArray(parsed) ? parsed : isRecord5(parsed) ? parsed.rows : void 0;
120112
120393
  if (!Array.isArray(rows)) {
120113
120394
  throw new BatchRenderInputError(
120114
120395
  "Invalid batch payload",
@@ -120119,7 +120400,7 @@ function parseBatchRows(raw, source) {
120119
120400
  throw new BatchRenderInputError("Empty batch", `${source} contains zero rows.`);
120120
120401
  }
120121
120402
  return rows.map((row, index) => {
120122
- if (!isRecord4(row)) {
120403
+ if (!isRecord5(row)) {
120123
120404
  throw new BatchRenderInputError(
120124
120405
  "Invalid batch row",
120125
120406
  `Row ${index} must be a JSON object of variable values.`
@@ -120908,6 +121189,8 @@ function trackRenderMetrics(job, elapsedMs, options, docker) {
120908
121189
  deClampReason: perf?.drawElement?.clampReason,
120909
121190
  deWorkerInversion: perf?.drawElement?.workerInversion,
120910
121191
  dePreInversionWorkers: perf?.drawElement?.preInversionWorkers,
121192
+ deParallelRouter: perf?.drawElement?.parallelRouter,
121193
+ dePreRouterWorkers: perf?.drawElement?.preRouterWorkers,
120911
121194
  deGateReason: perf?.drawElement?.gateReason,
120912
121195
  deWorkerEncode: perf?.drawElement?.workerEncode,
120913
121196
  deVerifyArmed: perf?.drawElement?.verifyArmed,
@@ -128875,13 +129158,28 @@ async function runContrastAudit(page) {
128875
129158
  for (let i2 = 0; i2 < CONTRAST_SAMPLES; i2++) {
128876
129159
  const t2 = +((i2 + 0.5) / CONTRAST_SAMPLES * duration).toFixed(3);
128877
129160
  await seekTo2(page, t2);
128878
- const screenshot = await page.screenshot({ encoding: "base64", type: "png" });
128879
- const entries2 = await page.evaluate(
128880
- (b64, time) => typeof window.__contrastAudit === "function" ? window.__contrastAudit(b64, time) : [],
128881
- screenshot,
128882
- t2
128883
- );
128884
- results.push(...entries2);
129161
+ try {
129162
+ const candidates = await page.evaluate(
129163
+ () => typeof window.__contrastAuditPrepare === "function" ? window.__contrastAuditPrepare() : []
129164
+ );
129165
+ const screenshot = await page.screenshot({ encoding: "base64", type: "png" });
129166
+ const entries2 = await page.evaluate(
129167
+ (b64, time, cands) => typeof window.__contrastAuditFinish === "function" ? window.__contrastAuditFinish(
129168
+ b64,
129169
+ time,
129170
+ cands
129171
+ ) : [],
129172
+ screenshot,
129173
+ t2,
129174
+ candidates
129175
+ );
129176
+ results.push(...entries2);
129177
+ } finally {
129178
+ await page.evaluate(() => {
129179
+ const restore = window.__contrastAuditRestoreIfPending;
129180
+ if (typeof restore === "function") restore();
129181
+ });
129182
+ }
128885
129183
  }
128886
129184
  return results;
128887
129185
  }
@@ -169715,7 +170013,7 @@ import {
169715
170013
  import { tmpdir as tmpdir11 } from "os";
169716
170014
  import { basename as basename21, dirname as dirname41, extname as extname16, join as join89, resolve as resolve57 } from "path";
169717
170015
  import sharp2 from "sharp";
169718
- function isRecord5(value) {
170016
+ function isRecord6(value) {
169719
170017
  return typeof value === "object" && value !== null && !Array.isArray(value);
169720
170018
  }
169721
170019
  function hasOwn3(record, key2) {
@@ -169776,22 +170074,22 @@ function serializedGradingForCell(cell) {
169776
170074
  return serializeHfColorGrading(normalized);
169777
170075
  }
169778
170076
  function lutSrcFromGrading(grading) {
169779
- if (!isRecord5(grading) || !hasOwn3(grading, "lut")) return null;
170077
+ if (!isRecord6(grading) || !hasOwn3(grading, "lut")) return null;
169780
170078
  const lut = grading.lut;
169781
170079
  if (typeof lut === "string" && lut.trim()) return lut.trim();
169782
- if (!isRecord5(lut)) return null;
170080
+ if (!isRecord6(lut)) return null;
169783
170081
  const src = lut.src;
169784
170082
  return typeof src === "string" && src.trim() ? src.trim() : null;
169785
170083
  }
169786
170084
  function rewriteGradingLutSrc(grading, src) {
169787
- if (!isRecord5(grading) || !hasOwn3(grading, "lut")) return grading;
170085
+ if (!isRecord6(grading) || !hasOwn3(grading, "lut")) return grading;
169788
170086
  const lut = grading.lut;
169789
170087
  const next = cloneRecord(grading);
169790
170088
  if (typeof lut === "string") {
169791
170089
  next.lut = { src };
169792
170090
  return next;
169793
170091
  }
169794
- if (isRecord5(lut)) {
170092
+ if (isRecord6(lut)) {
169795
170093
  const nextLut = cloneRecord(lut);
169796
170094
  nextLut.src = src;
169797
170095
  next.lut = nextLut;
@@ -169812,7 +170110,7 @@ function parseGradesFile(filePath) {
169812
170110
  throw new Error("Grades file must be a JSON array of { label, grading } objects");
169813
170111
  }
169814
170112
  return parsed.map((entry, index) => {
169815
- if (!isRecord5(entry)) {
170113
+ if (!isRecord6(entry)) {
169816
170114
  throw new Error(`Grade entry ${index + 1} must be an object with label and grading`);
169817
170115
  }
169818
170116
  const label2 = entry.label;
@@ -171269,7 +171567,7 @@ async function extractHtml(page, opts = {}) {
171269
171567
  for (var i = 0; i < htmlEl.attributes.length; i++) {
171270
171568
  var attr = htmlEl.attributes[i];
171271
171569
  if (attr.name === "lang" || attr.name === "class" || attr.name === "style" || attr.name === "dir" || attr.name.startsWith("data-")) {
171272
- attrParts.push(attr.name + '="' + attr.value.replace(/"/g, "&quot;") + '"');
171570
+ attrParts.push(attr.name + '="' + attr.value.replace(/&/g, "&amp;").replace(/"/g, "&quot;") + '"');
171273
171571
  }
171274
171572
  }
171275
171573
 
@@ -177527,7 +177825,10 @@ function apiBaseUrl() {
177527
177825
  }
177528
177826
  function buildAuthHeaders(credential) {
177529
177827
  if (credential.type === "oauth") {
177530
- return { authorization: `Bearer ${credential.access_token}` };
177828
+ return {
177829
+ authorization: `Bearer ${credential.access_token}`,
177830
+ [HEYGEN_CLI_SOURCE_HEADER]: HEYGEN_CLI_SOURCE
177831
+ };
177531
177832
  }
177532
177833
  return { "x-api-key": credential.key };
177533
177834
  }
@@ -177563,13 +177864,15 @@ function pickObject(obj, key2) {
177563
177864
  const v2 = obj[key2];
177564
177865
  return v2 && typeof v2 === "object" && !Array.isArray(v2) ? v2 : void 0;
177565
177866
  }
177566
- var DEFAULT_BASE_URL, AuthClient;
177867
+ var DEFAULT_BASE_URL, HEYGEN_CLI_SOURCE_HEADER, HEYGEN_CLI_SOURCE, AuthClient;
177567
177868
  var init_client3 = __esm({
177568
177869
  "src/auth/client.ts"() {
177569
177870
  "use strict";
177570
177871
  init_errors();
177571
177872
  init_scrub();
177572
177873
  DEFAULT_BASE_URL = "https://api.heygen.com";
177874
+ HEYGEN_CLI_SOURCE_HEADER = "X-HeyGen-Source";
177875
+ HEYGEN_CLI_SOURCE = "cli";
177573
177876
  AuthClient = class {
177574
177877
  base;
177575
177878
  fetchImpl;
@@ -180363,20 +180666,20 @@ function requireNodeId(ref2) {
180363
180666
  throw new Error(`figma ref ${ref2.fileKey} has no nodeId`);
180364
180667
  return ref2.nodeId;
180365
180668
  }
180366
- function isRecord6(value) {
180669
+ function isRecord7(value) {
180367
180670
  return typeof value === "object" && value !== null;
180368
180671
  }
180369
180672
  function optionalString(value) {
180370
180673
  return typeof value === "string" ? value : void 0;
180371
180674
  }
180372
180675
  function toVariablePayload(payload) {
180373
- if (!isRecord6(payload) || typeof payload.name !== "string")
180676
+ if (!isRecord7(payload) || typeof payload.name !== "string")
180374
180677
  return null;
180375
180678
  return {
180376
180679
  name: payload.name,
180377
180680
  key: optionalString(payload.key),
180378
180681
  resolvedType: optionalString(payload.resolvedType),
180379
- valuesByMode: isRecord6(payload.valuesByMode) ? payload.valuesByMode : void 0,
180682
+ valuesByMode: isRecord7(payload.valuesByMode) ? payload.valuesByMode : void 0,
180380
180683
  variableCollectionId: optionalString(payload.variableCollectionId)
180381
180684
  };
180382
180685
  }
@@ -180420,7 +180723,7 @@ function createFigmaClient(options) {
180420
180723
  if (opts.scale !== void 0)
180421
180724
  params.set("scale", String(opts.scale));
180422
180725
  const body = await get(`/v1/images/${ref2.fileKey}?${params}`);
180423
- const images = isRecord6(body) && isRecord6(body.images) ? body.images : {};
180726
+ const images = isRecord7(body) && isRecord7(body.images) ? body.images : {};
180424
180727
  const url = images[nodeId];
180425
180728
  if (typeof url !== "string" || url === "")
180426
180729
  throw new FigmaClientError("RENDER_FAILED", `figma could not render node ${nodeId} as ${opts.format}`);
@@ -180428,8 +180731,8 @@ function createFigmaClient(options) {
180428
180731
  },
180429
180732
  async imageFills(fileKey) {
180430
180733
  const body = await get(`/v1/files/${fileKey}/images`);
180431
- const meta = isRecord6(body) && isRecord6(body.meta) ? body.meta : {};
180432
- const images = isRecord6(meta.images) ? meta.images : {};
180734
+ const meta = isRecord7(body) && isRecord7(body.meta) ? body.meta : {};
180735
+ const images = isRecord7(meta.images) ? meta.images : {};
180433
180736
  const out = /* @__PURE__ */ new Map();
180434
180737
  for (const [ref2, url] of Object.entries(images)) {
180435
180738
  if (typeof url === "string")
@@ -180439,9 +180742,9 @@ function createFigmaClient(options) {
180439
180742
  },
180440
180743
  async variables(fileKey) {
180441
180744
  const body = await get(`/v1/files/${fileKey}/variables/local`, true);
180442
- const meta = isRecord6(body) && isRecord6(body.meta) ? body.meta : {};
180443
- const variables = isRecord6(meta.variables) ? meta.variables : {};
180444
- const collections = isRecord6(meta.variableCollections) ? meta.variableCollections : {};
180745
+ const meta = isRecord7(body) && isRecord7(body.meta) ? body.meta : {};
180746
+ const variables = isRecord7(meta.variables) ? meta.variables : {};
180747
+ const collections = isRecord7(meta.variableCollections) ? meta.variableCollections : {};
180445
180748
  const typed = {};
180446
180749
  for (const [id, payload] of Object.entries(variables)) {
180447
180750
  const v2 = toVariablePayload(payload);
@@ -180452,25 +180755,25 @@ function createFigmaClient(options) {
180452
180755
  },
180453
180756
  async styles(fileKey) {
180454
180757
  const body = await get(`/v1/files/${fileKey}/styles`);
180455
- const meta = isRecord6(body) && isRecord6(body.meta) ? body.meta : {};
180758
+ const meta = isRecord7(body) && isRecord7(body.meta) ? body.meta : {};
180456
180759
  const styles = Array.isArray(meta.styles) ? meta.styles : [];
180457
- return styles.filter((s2) => isRecord6(s2) && typeof s2.key === "string" && typeof s2.name === "string" && typeof s2.style_type === "string");
180760
+ return styles.filter((s2) => isRecord7(s2) && typeof s2.key === "string" && typeof s2.name === "string" && typeof s2.style_type === "string");
180458
180761
  },
180459
180762
  async nodeTree(ref2) {
180460
180763
  const nodeId = requireNodeId(ref2);
180461
180764
  const params = new URLSearchParams({ ids: nodeId, geometry: "paths" });
180462
180765
  const body = await get(`/v1/files/${ref2.fileKey}/nodes?${params}`);
180463
- const nodes = isRecord6(body) && isRecord6(body.nodes) ? body.nodes : {};
180766
+ const nodes = isRecord7(body) && isRecord7(body.nodes) ? body.nodes : {};
180464
180767
  const entry = nodes[nodeId];
180465
- const doc = isRecord6(entry) ? entry.document : void 0;
180466
- if (!isRecord6(doc) || typeof doc.id !== "string" || typeof doc.name !== "string" || typeof doc.type !== "string")
180768
+ const doc = isRecord7(entry) ? entry.document : void 0;
180769
+ if (!isRecord7(doc) || typeof doc.id !== "string" || typeof doc.name !== "string" || typeof doc.type !== "string")
180467
180770
  throw new FigmaClientError("NODE_NOT_FOUND", `node ${nodeId} not found in ${ref2.fileKey}`);
180468
180771
  return { ...doc, id: doc.id, name: doc.name, type: doc.type };
180469
180772
  },
180470
180773
  async fileVersion(fileKey) {
180471
180774
  const body = await get(`/v1/files/${fileKey}?depth=1`);
180472
- const version2 = isRecord6(body) && typeof body.version === "string" ? body.version : "";
180473
- const lastModified = isRecord6(body) && typeof body.lastModified === "string" ? body.lastModified : "";
180775
+ const version2 = isRecord7(body) && typeof body.version === "string" ? body.version : "";
180776
+ const lastModified = isRecord7(body) && typeof body.lastModified === "string" ? body.lastModified : "";
180474
180777
  return { version: version2, lastModified };
180475
180778
  }
180476
180779
  };
@@ -180802,11 +181105,11 @@ import { join as join113 } from "path";
180802
181105
  function bindingsPath(projectDir) {
180803
181106
  return join113(mediaDir(projectDir), BINDINGS_FILE);
180804
181107
  }
180805
- function isRecord7(value) {
181108
+ function isRecord8(value) {
180806
181109
  return typeof value === "object" && value !== null;
180807
181110
  }
180808
181111
  function isBindingRecord(value) {
180809
- return isRecord7(value) && value.kind === "binding" && typeof value.figmaId === "string" && typeof value.sourceFileKey === "string" && typeof value.compositionVariableId === "string" && typeof value.version === "string";
181112
+ return isRecord8(value) && value.kind === "binding" && typeof value.figmaId === "string" && typeof value.sourceFileKey === "string" && typeof value.compositionVariableId === "string" && typeof value.version === "string";
180810
181113
  }
180811
181114
  function readLines(projectDir) {
180812
181115
  return readJsonlValues(bindingsPath(projectDir));
@@ -180832,14 +181135,14 @@ var init_bindings = __esm({
180832
181135
  });
180833
181136
 
180834
181137
  // ../core/dist/figma/color.js
180835
- function isRecord8(value) {
181138
+ function isRecord9(value) {
180836
181139
  return typeof value === "object" && value !== null;
180837
181140
  }
180838
181141
  function toHexByte(channel) {
180839
181142
  return Math.round(channel * 255).toString(16).padStart(2, "0").toUpperCase();
180840
181143
  }
180841
181144
  function figmaColorToCss(value, extraOpacity = 1) {
180842
- if (!isRecord8(value))
181145
+ if (!isRecord9(value))
180843
181146
  return null;
180844
181147
  const { r: r2, g, b: b2, a } = value;
180845
181148
  if (typeof r2 !== "number" || typeof g !== "number" || typeof b2 !== "number")
@@ -180857,11 +181160,11 @@ var init_color = __esm({
180857
181160
  });
180858
181161
 
180859
181162
  // ../core/dist/figma/nodeDocument.js
180860
- function isRecord9(value) {
181163
+ function isRecord10(value) {
180861
181164
  return typeof value === "object" && value !== null;
180862
181165
  }
180863
181166
  function asNodeDocument(value) {
180864
- if (isRecord9(value) && typeof value.id === "string" && typeof value.name === "string" && typeof value.type === "string") {
181167
+ if (isRecord10(value) && typeof value.id === "string" && typeof value.name === "string" && typeof value.type === "string") {
180865
181168
  return { ...value, id: value.id, name: value.name, type: value.type };
180866
181169
  }
180867
181170
  return null;
@@ -180884,17 +181187,17 @@ var init_nodeDocument = __esm({
180884
181187
  });
180885
181188
 
180886
181189
  // ../core/dist/figma/resolveBindings.js
180887
- function isRecord10(value) {
181190
+ function isRecord11(value) {
180888
181191
  return typeof value === "object" && value !== null;
180889
181192
  }
180890
181193
  function aliasId(value) {
180891
- if (isRecord10(value) && value.type === "VARIABLE_ALIAS" && typeof value.id === "string")
181194
+ if (isRecord11(value) && value.type === "VARIABLE_ALIAS" && typeof value.id === "string")
180892
181195
  return value.id;
180893
181196
  return null;
180894
181197
  }
180895
181198
  function boundVariableSites(node, out) {
180896
181199
  const bound = node.boundVariables;
180897
- if (!isRecord10(bound))
181200
+ if (!isRecord11(bound))
180898
181201
  return;
180899
181202
  for (const [property, value] of Object.entries(bound)) {
180900
181203
  const candidates = Array.isArray(value) ? value : [value];
@@ -180907,7 +181210,7 @@ function boundVariableSites(node, out) {
180907
181210
  }
180908
181211
  function styleSites(node, out) {
180909
181212
  const styles = node.styles;
180910
- if (!isRecord10(styles))
181213
+ if (!isRecord11(styles))
180911
181214
  return;
180912
181215
  for (const [slot, styleId] of Object.entries(styles)) {
180913
181216
  if (typeof styleId === "string" && styleId.length > 0)
@@ -180953,12 +181256,12 @@ var init_resolveBindings = __esm({
180953
181256
  });
180954
181257
 
180955
181258
  // ../core/dist/figma/nodeToHtml.js
180956
- function isRecord11(value) {
181259
+ function isRecord12(value) {
180957
181260
  return typeof value === "object" && value !== null;
180958
181261
  }
180959
181262
  function boxOf(node) {
180960
181263
  const b2 = node.absoluteBoundingBox;
180961
- if (isRecord11(b2) && typeof b2.x === "number" && typeof b2.y === "number" && typeof b2.width === "number" && typeof b2.height === "number")
181264
+ if (isRecord12(b2) && typeof b2.x === "number" && typeof b2.y === "number" && typeof b2.width === "number" && typeof b2.height === "number")
180962
181265
  return { x: b2.x, y: b2.y, width: b2.width, height: b2.height };
180963
181266
  return null;
180964
181267
  }
@@ -180973,7 +181276,7 @@ function firstVisibleFill(node) {
180973
181276
  if (!Array.isArray(fills))
180974
181277
  return null;
180975
181278
  for (const fill of fills) {
180976
- if (isRecord11(fill) && fill.visible !== false)
181279
+ if (isRecord12(fill) && fill.visible !== false)
180977
181280
  return fill;
180978
181281
  }
180979
181282
  return null;
@@ -180984,7 +181287,7 @@ function gradientCss(fill) {
180984
181287
  return null;
180985
181288
  const parts = [];
180986
181289
  for (const stop of stops) {
180987
- if (!isRecord11(stop) || typeof stop.position !== "number")
181290
+ if (!isRecord12(stop) || typeof stop.position !== "number")
180988
181291
  return null;
180989
181292
  const color = figmaColorToCss(stop.color);
180990
181293
  if (color === null)
@@ -181006,7 +181309,7 @@ function fillCss(node) {
181006
181309
  return null;
181007
181310
  }
181008
181311
  function dropShadowCss(effect) {
181009
- if (!isRecord11(effect.offset))
181312
+ if (!isRecord12(effect.offset))
181010
181313
  return null;
181011
181314
  const color = figmaColorToCss(effect.color);
181012
181315
  const { x: x3, y } = effect.offset;
@@ -181016,7 +181319,7 @@ function dropShadowCss(effect) {
181016
181319
  return `box-shadow: ${round4(x3)}px ${round4(y)}px ${round4(radius)}px ${color}`;
181017
181320
  }
181018
181321
  function effectCss(effect) {
181019
- if (!isRecord11(effect) || effect.visible === false)
181322
+ if (!isRecord12(effect) || effect.visible === false)
181020
181323
  return null;
181021
181324
  if (effect.type === "DROP_SHADOW")
181022
181325
  return dropShadowCss(effect);
@@ -181036,7 +181339,7 @@ function effectsCss(node, styles) {
181036
181339
  }
181037
181340
  function textCss(node, styles) {
181038
181341
  const s2 = node.style;
181039
- if (!isRecord11(s2))
181342
+ if (!isRecord12(s2))
181040
181343
  return;
181041
181344
  if (typeof s2.fontFamily === "string")
181042
181345
  styles.push(`font-family: '${s2.fontFamily.replace(/['"\\;]/g, "")}'`);
@@ -181048,9 +181351,21 @@ function textCss(node, styles) {
181048
181351
  styles.push(`line-height: ${round4(s2.lineHeightPx)}px`);
181049
181352
  if (typeof s2.letterSpacing === "number" && s2.letterSpacing !== 0)
181050
181353
  styles.push(`letter-spacing: ${round4(s2.letterSpacing)}px`);
181354
+ if (isVerticallyTrimmed(node, s2.lineHeightPx)) {
181355
+ styles.push("text-box-trim: trim-both", "text-box-edge: cap alphabetic");
181356
+ }
181357
+ }
181358
+ function isVerticallyTrimmed(node, lineHeightPx) {
181359
+ if (typeof lineHeightPx !== "number")
181360
+ return false;
181361
+ const box = boxOf(node);
181362
+ if (box === null || box.height >= lineHeightPx - 1)
181363
+ return false;
181364
+ return typeof node.characters === "string" && !node.characters.includes("\n");
181051
181365
  }
181052
181366
  function uniqueSlug(ctx, name) {
181053
- const base2 = slugify(name);
181367
+ const raw = slugify(name);
181368
+ const base2 = /^[0-9]/.test(raw) ? `n${raw}` : raw;
181054
181369
  let slug = base2;
181055
181370
  let n2 = 2;
181056
181371
  while (ctx.usedSlugs.has(slug))
@@ -181073,7 +181388,7 @@ function unresolvedAttr(node, ctx) {
181073
181388
  return "";
181074
181389
  return ` data-figma-unresolved="${escapeHtml2(props.join(" "))}"`;
181075
181390
  }
181076
- function geometryCss(node, ctx, isRoot) {
181391
+ function geometryCss(node, parentBox, isRoot) {
181077
181392
  const box = boxOf(node);
181078
181393
  const styles = [];
181079
181394
  if (!box)
@@ -181081,7 +181396,7 @@ function geometryCss(node, ctx, isRoot) {
181081
181396
  if (isRoot) {
181082
181397
  styles.push("position: relative", `width: ${round4(box.width)}px`, `height: ${round4(box.height)}px`);
181083
181398
  } else {
181084
- styles.push("position: absolute", `left: ${round4(box.x - ctx.origin.x)}px`, `top: ${round4(box.y - ctx.origin.y)}px`, `width: ${round4(box.width)}px`, `height: ${round4(box.height)}px`);
181399
+ styles.push("position: absolute", `left: ${round4(box.x - parentBox.x)}px`, `top: ${round4(box.y - parentBox.y)}px`, `width: ${round4(box.width)}px`, `height: ${round4(box.height)}px`);
181085
181400
  }
181086
181401
  return styles;
181087
181402
  }
@@ -181110,10 +181425,10 @@ function decorationCss(node, ctx) {
181110
181425
  effectsCss(node, styles);
181111
181426
  return styles;
181112
181427
  }
181113
- function renderChildren(node, ctx, depth) {
181428
+ function renderChildren(node, ctx, depth, parentBox) {
181114
181429
  const childHtml = [];
181115
181430
  for (const child of childDocuments(node)) {
181116
- const rendered = renderNodeHtml(child, ctx, false, depth + 1);
181431
+ const rendered = renderNodeHtml(child, ctx, false, depth + 1, parentBox);
181117
181432
  if (rendered.length > 0)
181118
181433
  childHtml.push(rendered);
181119
181434
  }
@@ -181121,11 +181436,11 @@ function renderChildren(node, ctx, depth) {
181121
181436
  ${childHtml.join("\n")}
181122
181437
  ` : "";
181123
181438
  }
181124
- function renderNodeHtml(node, ctx, isRoot, depth = 0) {
181439
+ function renderNodeHtml(node, ctx, isRoot, depth = 0, parentBox = ctx.origin) {
181125
181440
  if (node.visible === false || depth > MAX_DEPTH4)
181126
181441
  return "";
181127
181442
  const slug = uniqueSlug(ctx, node.name);
181128
- const style = escapeHtml2([...geometryCss(node, ctx, isRoot), ...decorationCss(node, ctx)].join("; "));
181443
+ const style = escapeHtml2([...geometryCss(node, parentBox, isRoot), ...decorationCss(node, ctx)].join("; "));
181129
181444
  const snippetAttr = isRoot ? ' data-hf-snippet=""' : "";
181130
181445
  const idAttrs = `id="${slug}"${snippetAttr} data-figma-id="${escapeHtml2(node.id)}"${unresolvedAttr(node, ctx)}`;
181131
181446
  if (RASTERIZE_TYPES.has(node.type)) {
@@ -181136,7 +181451,7 @@ function renderNodeHtml(node, ctx, isRoot, depth = 0) {
181136
181451
  const text2 = typeof node.characters === "string" ? escapeHtml2(node.characters) : "";
181137
181452
  return `<div ${idAttrs} style="${style}">${text2}</div>`;
181138
181453
  }
181139
- return `<div ${idAttrs} style="${style}">${renderChildren(node, ctx, depth)}</div>`;
181454
+ return `<div ${idAttrs} style="${style}">${renderChildren(node, ctx, depth, boxOf(node) ?? parentBox)}</div>`;
181140
181455
  }
181141
181456
  function nodeToHtml(root, bindings, opts = {}) {
181142
181457
  const origin = boxOf(root) ?? { x: 0, y: 0, width: 0, height: 0 };
@@ -181166,13 +181481,13 @@ var init_nodeToHtml = __esm({
181166
181481
  });
181167
181482
 
181168
181483
  // ../core/dist/figma/tokensToVariables.js
181169
- function isRecord12(value) {
181484
+ function isRecord13(value) {
181170
181485
  return typeof value === "object" && value !== null;
181171
181486
  }
181172
181487
  function baseModeValue(payload, collections) {
181173
181488
  const modes = payload.valuesByMode ?? {};
181174
181489
  const collection = collections[payload.variableCollectionId ?? ""];
181175
- if (isRecord12(collection) && typeof collection.defaultModeId === "string") {
181490
+ if (isRecord13(collection) && typeof collection.defaultModeId === "string") {
181176
181491
  const preferred = modes[collection.defaultModeId];
181177
181492
  if (preferred !== void 0)
181178
181493
  return preferred;
@@ -181183,7 +181498,7 @@ function baseModeValue(payload, collections) {
181183
181498
  }
181184
181499
  function collectionName(payload, collections) {
181185
181500
  const collection = collections[payload.variableCollectionId ?? ""];
181186
- return isRecord12(collection) && typeof collection.name === "string" ? collection.name : null;
181501
+ return isRecord13(collection) && typeof collection.name === "string" ? collection.name : null;
181187
181502
  }
181188
181503
  function resolveValue2(start, vars) {
181189
181504
  const chain = [];
@@ -181196,7 +181511,7 @@ function resolveValue2(start, vars) {
181196
181511
  if (!payload)
181197
181512
  return null;
181198
181513
  const value = baseModeValue(payload, vars.variableCollections);
181199
- if (isRecord12(value) && value.type === "VARIABLE_ALIAS" && typeof value.id === "string") {
181514
+ if (isRecord13(value) && value.type === "VARIABLE_ALIAS" && typeof value.id === "string") {
181200
181515
  currentId = value.id;
181201
181516
  continue;
181202
181517
  }
@@ -181273,6 +181588,13 @@ var init_motionEase = __esm({
181273
181588
  }
181274
181589
  });
181275
181590
 
181591
+ // ../core/dist/figma/motionContextToDocs.js
181592
+ var init_motionContextToDocs = __esm({
181593
+ "../core/dist/figma/motionContextToDocs.js"() {
181594
+ "use strict";
181595
+ }
181596
+ });
181597
+
181276
181598
  // ../core/dist/figma/motionToGsap.js
181277
181599
  var init_motionToGsap = __esm({
181278
181600
  "../core/dist/figma/motionToGsap.js"() {
@@ -181305,6 +181627,7 @@ var init_figma = __esm({
181305
181627
  init_nodeToHtml();
181306
181628
  init_tokensToVariables();
181307
181629
  init_motionEase();
181630
+ init_motionContextToDocs();
181308
181631
  init_motionToGsap();
181309
181632
  init_emitTimelineScript();
181310
181633
  }
@@ -182258,7 +182581,10 @@ function wrapCommand(cmd, onFailure) {
182258
182581
  if (typeof run2 === "function") {
182259
182582
  wrapped.run = async (ctx) => {
182260
182583
  try {
182261
- assertKnownFlags(cmd, ctx?.rawArgs ?? []);
182584
+ const rawArgs = ctx?.rawArgs ?? [];
182585
+ const firstPositional = rawArgs.find((tok) => tok && !tok.startsWith("-"));
182586
+ const delegatesToSub = cmd.subCommands != null && firstPositional != null && Object.prototype.hasOwnProperty.call(cmd.subCommands, firstPositional);
182587
+ if (!delegatesToSub) assertKnownFlags(cmd, rawArgs);
182262
182588
  return await run2(ctx);
182263
182589
  } catch (err) {
182264
182590
  try {