hyperframes 0.7.31 → 0.7.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -50,7 +50,7 @@ var VERSION;
50
50
  var init_version = __esm({
51
51
  "src/version.ts"() {
52
52
  "use strict";
53
- VERSION = true ? "0.7.31" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.32" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -55967,7 +55967,7 @@ var RUNTIME_IIFE;
55967
55967
  var init_runtime_inline = __esm({
55968
55968
  "../core/dist/generated/runtime-inline.js"() {
55969
55969
  "use strict";
55970
- RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&&lt(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Ji=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
55970
+ RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&&lt(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Ji=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
55971
55971
  }
55972
55972
  });
55973
55973
 
@@ -64409,6 +64409,16 @@ function wrapScopedCompositionScript(source, compositionId, errorLabel = "[Hyper
64409
64409
  ? new Proxy(window, {
64410
64410
  get: function(target, prop, receiver) {
64411
64411
  if (prop === "__timelines") return __hfGetTimelineRegistry();
64412
+ // Inside a sub-composition, __hyperframes is passed as a bare script
64413
+ // param bound to the SCOPED variant (per-comp getVariables). But
64414
+ // authors routinely write the documented window.__hyperframes.
64415
+ // getVariables() form, which would otherwise fall through to the host
64416
+ // page's base __hyperframes and return the WRONG (or empty) variables
64417
+ // for this instance. Route it to the scoped variant too so both
64418
+ // spellings resolve to this composition's own variables.
64419
+ // (__hfScopedHyperframes is a hoisted var assigned below, before any
64420
+ // sub-comp script -- the only code that reads this -- runs.)
64421
+ if (prop === "__hyperframes") return __hfScopedHyperframes;
64412
64422
  return Reflect.get(target, prop, target);
64413
64423
  },
64414
64424
  set: function(target, prop, value, receiver) {
@@ -72908,7 +72918,7 @@ var init_audioVolumeEnvelope = __esm({
72908
72918
  });
72909
72919
 
72910
72920
  // ../engine/src/services/audioMixer.ts
72911
- import { existsSync as existsSync13, mkdirSync as mkdirSync8, rmSync as rmSync3 } from "fs";
72921
+ import { closeSync, existsSync as existsSync13, mkdirSync as mkdirSync8, mkdtempSync, openSync, rmSync as rmSync3, writeFileSync as writeFileSync6 } from "fs";
72912
72922
  import { isAbsolute as isAbsolute5, join as join13, dirname as dirname8 } from "path";
72913
72923
  function clampVolume(volume) {
72914
72924
  if (!Number.isFinite(volume)) return 1;
@@ -73152,11 +73162,9 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
73152
73162
  }
73153
73163
  const outputDir = dirname8(outputPath);
73154
73164
  if (!existsSync13(outputDir)) mkdirSync8(outputDir, { recursive: true });
73155
- const buildArgs = (ignoreAutomation) => {
73156
- const inputs = [];
73165
+ const buildFilterComplex = (ignoreAutomation) => {
73157
73166
  const filterParts = [];
73158
73167
  tracks.forEach((track, i2) => {
73159
- inputs.push("-i", track.srcPath);
73160
73168
  const delayMs = Math.round(track.start * 1e3);
73161
73169
  const trimDuration = track.end - track.start;
73162
73170
  const volumeFilter = buildVolumeExpression(track, ignoreAutomation);
@@ -73168,11 +73176,23 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
73168
73176
  const mixFilter = `${mixInputs}amix=inputs=${tracks.length}:duration=longest:dropout_transition=0[mixed]`;
73169
73177
  const compensatedGain = masterOutputGain * tracks.length;
73170
73178
  const postMixGainFilter = `[mixed]volume=${formatFilterNumber(compensatedGain)}[out]`;
73171
- const fullFilter = [...filterParts, mixFilter, postMixGainFilter].join(";");
73172
- return [
73179
+ return [...filterParts, mixFilter, postMixGainFilter].join(";");
73180
+ };
73181
+ const runMix = (ignoreAutomation) => {
73182
+ const inputs = [];
73183
+ tracks.forEach((track) => inputs.push("-i", track.srcPath));
73184
+ const scriptDir = mkdtempSync(join13(outputDir, ".filter-complex-"));
73185
+ const scriptPath = join13(scriptDir, "graph.txt");
73186
+ const fd = openSync(scriptPath, "wx", 384);
73187
+ try {
73188
+ writeFileSync6(fd, buildFilterComplex(ignoreAutomation));
73189
+ } finally {
73190
+ closeSync(fd);
73191
+ }
73192
+ const args = [
73173
73193
  ...inputs,
73174
- "-filter_complex",
73175
- fullFilter,
73194
+ "-filter_complex_script",
73195
+ scriptPath,
73176
73196
  "-map",
73177
73197
  "[out]",
73178
73198
  "-acodec",
@@ -73184,12 +73204,15 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
73184
73204
  "-y",
73185
73205
  outputPath
73186
73206
  ];
73207
+ return runFfmpeg(args, { signal, timeout: ffmpegProcessTimeout }).finally(
73208
+ () => rmSync3(scriptDir, { recursive: true, force: true })
73209
+ );
73187
73210
  };
73188
- let result = await runFfmpeg(buildArgs(false), { signal, timeout: ffmpegProcessTimeout });
73211
+ let result = await runMix(false);
73189
73212
  let degradedAutomation = false;
73190
73213
  const hasAutomation = tracks.some((track) => (track.volumeKeyframes?.length ?? 0) > 0);
73191
73214
  if (!result.success && !signal?.aborted && hasAutomation) {
73192
- const retry = await runFfmpeg(buildArgs(true), { signal, timeout: ffmpegProcessTimeout });
73215
+ const retry = await runMix(true);
73193
73216
  if (retry.success) {
73194
73217
  result = retry;
73195
73218
  degradedAutomation = true;
@@ -78242,7 +78265,7 @@ var init_banner = __esm({
78242
78265
  });
78243
78266
 
78244
78267
  // src/registry/remote.ts
78245
- import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as writeFileSync6 } from "fs";
78268
+ import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as writeFileSync7 } from "fs";
78246
78269
  import { join as join17, dirname as dirname9 } from "path";
78247
78270
  import { homedir as homedir4 } from "os";
78248
78271
  function cachePath(baseUrl, key2) {
@@ -78263,7 +78286,7 @@ function writeCache(path2, data2) {
78263
78286
  try {
78264
78287
  mkdirSync10(dirname9(path2), { recursive: true });
78265
78288
  const entry = { fetchedAt: Date.now(), data: data2 };
78266
- writeFileSync6(path2, JSON.stringify(entry), "utf-8");
78289
+ writeFileSync7(path2, JSON.stringify(entry), "utf-8");
78267
78290
  } catch {
78268
78291
  }
78269
78292
  }
@@ -78309,7 +78332,7 @@ async function fetchItemFile(item, file, destPath, baseUrl = DEFAULT_REGISTRY_UR
78309
78332
  }
78310
78333
  const buf = new Uint8Array(await res.arrayBuffer());
78311
78334
  mkdirSync10(dirname9(destPath), { recursive: true });
78312
- writeFileSync6(destPath, buf);
78335
+ writeFileSync7(destPath, buf);
78313
78336
  }
78314
78337
  var DEFAULT_REGISTRY_URL, FETCH_TIMEOUT_MS, CACHE_DIR, CACHE_TTL_MS;
78315
78338
  var init_remote = __esm({
@@ -78442,7 +78465,7 @@ __export(installer_exports, {
78442
78465
  assertSafeTarget: () => assertSafeTarget,
78443
78466
  installItem: () => installItem
78444
78467
  });
78445
- import { readFileSync as readFileSync12, writeFileSync as writeFileSync7 } from "fs";
78468
+ import { readFileSync as readFileSync12, writeFileSync as writeFileSync8 } from "fs";
78446
78469
  import { resolve as resolve10, relative as relative4, isAbsolute as isAbsolute6 } from "path";
78447
78470
  function assertSafeTarget(destDir, target) {
78448
78471
  if (isAbsolute6(target)) {
@@ -78482,7 +78505,7 @@ async function installItem(item, options) {
78482
78505
  await fetchItemFile(item, file, destPath, baseUrl);
78483
78506
  if (isInstalledRegistryBlockComposition(item, file)) {
78484
78507
  const source = readFileSync12(destPath, "utf-8");
78485
- writeFileSync7(destPath, addRegistryItemMarker(source, item), "utf-8");
78508
+ writeFileSync8(destPath, addRegistryItemMarker(source, item), "utf-8");
78486
78509
  }
78487
78510
  return destPath;
78488
78511
  })
@@ -79151,7 +79174,7 @@ __export(normalize_exports, {
79151
79174
  stripBeforeOnset: () => stripBeforeOnset,
79152
79175
  wordsToCues: () => wordsToCues
79153
79176
  });
79154
- import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as writeFileSync8 } from "fs";
79177
+ import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as writeFileSync9 } from "fs";
79155
79178
  import { extname as extname6, join as join20 } from "path";
79156
79179
  function detectFormat(filePath) {
79157
79180
  const ext = extname6(filePath).toLowerCase();
@@ -79446,7 +79469,7 @@ function patchCaptionHtml(dir, words) {
79446
79469
  if (match) {
79447
79470
  const varName = scriptMatch ? "script" : "TRANSCRIPT";
79448
79471
  content = content.replace(match[0], `const ${varName} = ${wordsJson};`);
79449
- writeFileSync8(file, content, "utf-8");
79472
+ writeFileSync9(file, content, "utf-8");
79450
79473
  }
79451
79474
  }
79452
79475
  }
@@ -79469,7 +79492,7 @@ __export(projectConfig_exports, {
79469
79492
  readProjectConfig: () => readProjectConfig,
79470
79493
  writeProjectConfig: () => writeProjectConfig
79471
79494
  });
79472
- import { readFileSync as readFileSync15, writeFileSync as writeFileSync9 } from "fs";
79495
+ import { readFileSync as readFileSync15, writeFileSync as writeFileSync10 } from "fs";
79473
79496
  import { join as join21, resolve as resolve12 } from "path";
79474
79497
  function projectConfigPath(projectDir) {
79475
79498
  return join21(resolve12(projectDir), PROJECT_CONFIG_FILENAME);
@@ -79496,7 +79519,7 @@ function normalizeConfig(partial) {
79496
79519
  }
79497
79520
  function writeProjectConfig(projectDir, config = DEFAULT_PROJECT_CONFIG) {
79498
79521
  const path2 = projectConfigPath(projectDir);
79499
- writeFileSync9(path2, JSON.stringify(config, null, 2) + "\n", "utf-8");
79522
+ writeFileSync10(path2, JSON.stringify(config, null, 2) + "\n", "utf-8");
79500
79523
  }
79501
79524
  function loadProjectConfig(projectDir) {
79502
79525
  return readProjectConfig(projectDir) ?? DEFAULT_PROJECT_CONFIG;
@@ -91168,10 +91191,10 @@ import {
91168
91191
  } from "fs";
91169
91192
  import { resolve as resolve22, dirname as dirname12, join as join62 } from "path";
91170
91193
  import { spawn as spawn9 } from "child_process";
91171
- import { existsSync as existsSync210, writeFileSync as writeFileSync10, mkdirSync as mkdirSync14 } from "fs";
91194
+ import { existsSync as existsSync210, writeFileSync as writeFileSync11, mkdirSync as mkdirSync14 } from "fs";
91172
91195
  import { join as join32, resolve as resolve19 } from "path";
91173
91196
  import { spawnSync } from "child_process";
91174
- import { mkdtempSync, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
91197
+ import { mkdtempSync as mkdtempSync2, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
91175
91198
  import { tmpdir as tmpdir3 } from "os";
91176
91199
  import { basename as basename3, join as join42 } from "path";
91177
91200
  import { mkdirSync as mkdirSync22, readdirSync as readdirSync22, readFileSync as readFileSync22, unlinkSync as unlinkSync3, writeFileSync as writeFileSync32 } from "fs";
@@ -91196,7 +91219,7 @@ import { join as join112 } from "path";
91196
91219
  import { createHash as createHash22 } from "crypto";
91197
91220
  import { existsSync as existsSync82, readFileSync as readFileSync112, writeFileSync as writeFileSync72, mkdirSync as mkdirSync62 } from "fs";
91198
91221
  import { join as join122 } from "path";
91199
- import { closeSync, constants, fstatSync, openSync, readSync } from "fs";
91222
+ import { closeSync as closeSync2, constants, fstatSync, openSync as openSync2, readSync } from "fs";
91200
91223
  function shouldIgnoreDir(rel) {
91201
91224
  return rel === ".hyperframes/backup";
91202
91225
  }
@@ -91383,7 +91406,7 @@ async function generateWaveformCache(projectDir, assetPath) {
91383
91406
  if (existsSync210(cachePath2)) return;
91384
91407
  const peaks = await decodeAudioPeaks(audioPath);
91385
91408
  mkdirSync14(cacheDir, { recursive: true });
91386
- writeFileSync10(cachePath2, JSON.stringify(peaks));
91409
+ writeFileSync11(cachePath2, JSON.stringify(peaks));
91387
91410
  }
91388
91411
  function validateUploadedMedia(filePath, runner = spawnSync) {
91389
91412
  const isVideo2 = VIDEO_EXT.test(filePath);
@@ -91423,7 +91446,7 @@ function validateUploadedMedia(filePath, runner = spawnSync) {
91423
91446
  }
91424
91447
  }
91425
91448
  function validateUploadedMediaBuffer(fileName, buffer, runner = spawnSync) {
91426
- const tempDir = mkdtempSync(join42(tmpdir3(), "hyperframes-upload-"));
91449
+ const tempDir = mkdtempSync2(join42(tmpdir3(), "hyperframes-upload-"));
91427
91450
  const tempPath = join42(tempDir, basename3(fileName));
91428
91451
  try {
91429
91452
  writeFileSync22(tempPath, buffer);
@@ -95015,7 +95038,7 @@ function registerFontRoutes(api) {
95015
95038
  if (!located) return c3.json({ error: "font not found" }, 404);
95016
95039
  let fd;
95017
95040
  try {
95018
- fd = openSync(located.path, constants.O_RDONLY | constants.O_NOFOLLOW);
95041
+ fd = openSync2(located.path, constants.O_RDONLY | constants.O_NOFOLLOW);
95019
95042
  } catch {
95020
95043
  return c3.json({ error: "font file not accessible" }, 404);
95021
95044
  }
@@ -95037,7 +95060,7 @@ function registerFontRoutes(api) {
95037
95060
  } catch {
95038
95061
  return c3.json({ error: "failed to read font file" }, 500);
95039
95062
  } finally {
95040
- closeSync(fd);
95063
+ closeSync2(fd);
95041
95064
  }
95042
95065
  });
95043
95066
  }
@@ -95470,7 +95493,7 @@ function reclaimStaleInstallLock(timeoutMs) {
95470
95493
  }
95471
95494
  }
95472
95495
  async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs = INSTALL_LOCK_POLL_MS) {
95473
- if (!existsSync31(CACHE_DIR2)) mkdirSync15(CACHE_DIR2, { recursive: true });
95496
+ if (!existsSync31(CACHE_ROOT_DIR)) mkdirSync15(CACHE_ROOT_DIR, { recursive: true });
95474
95497
  let deadline = Date.now() + timeoutMs;
95475
95498
  for (; ; ) {
95476
95499
  if (existsSync31(INSTALL_RECLAIM_LOCK_DIR)) {
@@ -95494,6 +95517,9 @@ async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs =
95494
95517
  rmSync7(INSTALL_LOCK_DIR, { recursive: true, force: true });
95495
95518
  }
95496
95519
  }
95520
+ function purgeStaleInstall(installPath) {
95521
+ rmSync7(installPath, { recursive: true, force: true });
95522
+ }
95497
95523
  function whichBinary2(name) {
95498
95524
  try {
95499
95525
  const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
@@ -95538,7 +95564,7 @@ async function findFromCache() {
95538
95564
  return { result: { executablePath: match.executablePath, source: "cache" } };
95539
95565
  }
95540
95566
  if (match) {
95541
- return { staleHyperframesCachePath: match.executablePath };
95567
+ return { staleHyperframesCachePath: match.executablePath, staleInstallPath: match.path };
95542
95568
  }
95543
95569
  }
95544
95570
  return {};
@@ -95644,7 +95670,10 @@ async function findBrowser() {
95644
95670
  `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
95645
95671
  );
95646
95672
  try {
95647
- return await withInstallLock(() => downloadBrowser());
95673
+ return await withInstallLock(async () => {
95674
+ if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
95675
+ return downloadBrowser();
95676
+ });
95648
95677
  } catch (err) {
95649
95678
  const cause = normalizeErrorMessage(err);
95650
95679
  throw new Error(
@@ -95701,22 +95730,33 @@ Then re-run your command. The HYPERFRAMES_BROWSER_PATH env var persists for the
95701
95730
  async function ensureBrowser(options) {
95702
95731
  const fromEnv = findFromEnv2();
95703
95732
  if (fromEnv) return fromEnv;
95704
- const fromCache = await findFromCache();
95705
- if (fromCache.result) return fromCache.result;
95706
- if (fromCache.staleHyperframesCachePath) {
95707
- console.warn(
95708
- `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
95709
- );
95710
- return withInstallLock(() => downloadBrowser(options));
95711
- }
95712
- const fromSystem = findFromSystem2();
95713
- if (fromSystem) {
95714
- warnSystemFallbackOnce(fromSystem.executablePath);
95715
- return fromSystem;
95733
+ if (!options?.force) {
95734
+ const fromCache = await findFromCache();
95735
+ if (fromCache.result) return fromCache.result;
95736
+ if (fromCache.staleHyperframesCachePath) {
95737
+ console.warn(
95738
+ `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
95739
+ );
95740
+ return withInstallLock(async () => {
95741
+ if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
95742
+ return downloadBrowser(options);
95743
+ });
95744
+ }
95745
+ const fromSystem = findFromSystem2();
95746
+ if (fromSystem) {
95747
+ warnSystemFallbackOnce(fromSystem.executablePath);
95748
+ return fromSystem;
95749
+ }
95716
95750
  }
95717
95751
  return withInstallLock(async () => {
95718
- const afterLock = await findFromCache();
95719
- if (afterLock.result) return afterLock.result;
95752
+ if (options?.force) {
95753
+ clearBrowser();
95754
+ }
95755
+ if (!options?.force) {
95756
+ const afterLock = await findFromCache();
95757
+ if (afterLock.result) return afterLock.result;
95758
+ if (afterLock.staleInstallPath) purgeStaleInstall(afterLock.staleInstallPath);
95759
+ }
95720
95760
  return downloadBrowser(options);
95721
95761
  });
95722
95762
  }
@@ -95748,16 +95788,17 @@ function clearBrowser() {
95748
95788
  function isLinuxArm() {
95749
95789
  return process.platform === "linux" && process.arch === "arm64";
95750
95790
  }
95751
- var CHROME_VERSION, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
95791
+ var CHROME_VERSION, CACHE_ROOT_DIR, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
95752
95792
  var init_manager2 = __esm({
95753
95793
  "src/browser/manager.ts"() {
95754
95794
  "use strict";
95755
95795
  init_errorMessage();
95756
95796
  CHROME_VERSION = "131.0.6778.85";
95797
+ CACHE_ROOT_DIR = join28(homedir9(), ".cache", "hyperframes");
95757
95798
  CACHE_DIR2 = join28(homedir9(), ".cache", "hyperframes", "chrome");
95758
95799
  PUPPETEER_CACHE_DIR = join28(homedir9(), ".cache", "puppeteer", "chrome-headless-shell");
95759
- INSTALL_LOCK_DIR = join28(CACHE_DIR2, ".install.lock");
95760
- INSTALL_RECLAIM_LOCK_DIR = join28(CACHE_DIR2, ".install.reclaim.lock");
95800
+ INSTALL_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.lock");
95801
+ INSTALL_RECLAIM_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.reclaim.lock");
95761
95802
  INSTALL_LOCK_TIMEOUT_MS = 12e4;
95762
95803
  INSTALL_LOCK_POLL_MS = 200;
95763
95804
  SYSTEM_CHROME_PATHS = process.platform === "darwin" ? ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"] : [
@@ -99040,7 +99081,7 @@ __export(deterministicFonts_exports, {
99040
99081
  resolveFontFamilyDeclarationFamilies: () => resolveFontFamilyDeclarationFamilies
99041
99082
  });
99042
99083
  import { createHash as createHash6 } from "crypto";
99043
- import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as writeFileSync11 } from "fs";
99084
+ import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as writeFileSync12 } from "fs";
99044
99085
  import { homedir as homedir10, tmpdir as tmpdir4 } from "os";
99045
99086
  import { join as join29 } from "path";
99046
99087
  import postcss4 from "postcss";
@@ -99396,7 +99437,7 @@ async function ensureWoff2DataUri(cachePath2, woff2Url, familyName, weight, styl
99396
99437
  }
99397
99438
  return null;
99398
99439
  }
99399
- writeFileSync11(cachePath2, Buffer.from(await fontRes.arrayBuffer()), { flag: "wx", mode: 420 });
99440
+ writeFileSync12(cachePath2, Buffer.from(await fontRes.arrayBuffer()), { flag: "wx", mode: 420 });
99400
99441
  } catch (err) {
99401
99442
  if (err instanceof FontFetchError) throw err;
99402
99443
  if (err.code === "EEXIST") {
@@ -100698,11 +100739,11 @@ var init_paths = __esm({
100698
100739
  });
100699
100740
 
100700
100741
  // ../producer/src/services/render/shared.ts
100701
- import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as writeFileSync12 } from "fs";
100742
+ import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as writeFileSync13 } from "fs";
100702
100743
  import { basename as basename6, dirname as dirname15, isAbsolute as isAbsolute11, join as join34, relative as relative8, resolve as resolve24 } from "path";
100703
100744
  function writeFileExclusiveSync(path2, data2) {
100704
100745
  try {
100705
- writeFileSync12(path2, data2, { flag: "wx", mode: 384 });
100746
+ writeFileSync13(path2, data2, { flag: "wx", mode: 384 });
100706
100747
  } catch (error) {
100707
100748
  if (error && typeof error === "object" && "code" in error && error.code === "EEXIST") {
100708
100749
  return;
@@ -100729,11 +100770,11 @@ function resolveDeviceScaleFactor(input2) {
100729
100770
  function writeCompiledArtifacts(compiled, workDir, includeSummary) {
100730
100771
  const compileDir = join34(workDir, "compiled");
100731
100772
  mkdirSync18(compileDir, { recursive: true });
100732
- writeFileSync12(join34(compileDir, "index.html"), compiled.html, "utf-8");
100773
+ writeFileSync13(join34(compileDir, "index.html"), compiled.html, "utf-8");
100733
100774
  for (const [srcPath, html] of compiled.subCompositions) {
100734
100775
  const outPath = join34(compileDir, srcPath);
100735
100776
  mkdirSync18(dirname15(outPath), { recursive: true });
100736
- writeFileSync12(outPath, html, "utf-8");
100777
+ writeFileSync13(outPath, html, "utf-8");
100737
100778
  }
100738
100779
  for (const [relativePath, absolutePath] of compiled.externalAssets) {
100739
100780
  const outPath = resolve24(join34(compileDir, relativePath));
@@ -100767,7 +100808,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
100767
100808
  renderModeHints: compiled.renderModeHints,
100768
100809
  hasShaderTransitions: compiled.hasShaderTransitions
100769
100810
  };
100770
- writeFileSync12(join34(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
100811
+ writeFileSync13(join34(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
100771
100812
  }
100772
100813
  }
100773
100814
  function applyRenderModeHints(alreadyForced, compiled, log2 = defaultLogger) {
@@ -104086,7 +104127,7 @@ var init_captureStage = __esm({
104086
104127
  });
104087
104128
 
104088
104129
  // ../producer/src/services/hdrCompositor.ts
104089
- import { readSync as readSync2, closeSync as closeSync2 } from "fs";
104130
+ import { readSync as readSync2, closeSync as closeSync3 } from "fs";
104090
104131
  import { join as join41 } from "path";
104091
104132
  function countNonZeroAlpha(rgba) {
104092
104133
  let n2 = 0;
@@ -104123,7 +104164,7 @@ function cropRgb48le(src, srcW, srcH, cropX, cropY, cropW, cropH) {
104123
104164
  }
104124
104165
  function closeHdrVideoFrameSource(source, log2) {
104125
104166
  try {
104126
- closeSync2(source.fd);
104167
+ closeSync3(source.fd);
104127
104168
  } catch (err) {
104128
104169
  log2?.warn("Failed to close HDR raw frame file", {
104129
104170
  rawPath: source.rawPath,
@@ -105004,12 +105045,12 @@ var init_hdrImageTransferCache = __esm({
105004
105045
 
105005
105046
  // ../producer/src/services/render/stages/captureHdrResources.ts
105006
105047
  import {
105007
- closeSync as closeSync3,
105048
+ closeSync as closeSync4,
105008
105049
  constants as constants2,
105009
105050
  fstatSync as fstatSync2,
105010
105051
  mkdirSync as mkdirSync20,
105011
- mkdtempSync as mkdtempSync2,
105012
- openSync as openSync2,
105052
+ mkdtempSync as mkdtempSync3,
105053
+ openSync as openSync3,
105013
105054
  readFileSync as readFileSync25
105014
105055
  } from "fs";
105015
105056
  import { join as join43 } from "path";
@@ -105100,7 +105141,7 @@ async function extractHdrVideoFrames(args) {
105100
105141
  const video = composition.videos.find((v2) => v2.id === videoId);
105101
105142
  if (!video) continue;
105102
105143
  mkdirSync20(framesDir, { recursive: true });
105103
- const frameDir = mkdtempSync2(join43(framesDir, `hdr_${tempDirSafePrefix(videoId)}-`));
105144
+ const frameDir = mkdtempSync3(join43(framesDir, `hdr_${tempDirSafePrefix(videoId)}-`));
105104
105145
  const duration = video.end - video.start;
105105
105146
  const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
105106
105147
  const rawPath = join43(frameDir, "frames.rgb48le");
@@ -105135,7 +105176,7 @@ async function extractHdrVideoFrames(args) {
105135
105176
  );
105136
105177
  }
105137
105178
  const frameSize = dims.width * dims.height * 6;
105138
- const fd = openSync2(rawPath, constants2.O_RDONLY | NO_FOLLOW_FLAG);
105179
+ const fd = openSync3(rawPath, constants2.O_RDONLY | NO_FOLLOW_FLAG);
105139
105180
  let handedOff = false;
105140
105181
  try {
105141
105182
  const frameCount = Math.floor(fstatSync2(fd).size / frameSize);
@@ -105157,7 +105198,7 @@ async function extractHdrVideoFrames(args) {
105157
105198
  });
105158
105199
  handedOff = true;
105159
105200
  } finally {
105160
- if (!handedOff) closeSync3(fd);
105201
+ if (!handedOff) closeSync4(fd);
105161
105202
  }
105162
105203
  }
105163
105204
  return out;
@@ -106424,12 +106465,12 @@ var init_assembleStage = __esm({
106424
106465
  import {
106425
106466
  existsSync as existsSync44,
106426
106467
  mkdirSync as mkdirSync24,
106427
- mkdtempSync as mkdtempSync3,
106468
+ mkdtempSync as mkdtempSync4,
106428
106469
  readFileSync as readFileSync26,
106429
106470
  readdirSync as readdirSync15,
106430
106471
  rmSync as rmSync12,
106431
106472
  statSync as statSync13,
106432
- writeFileSync as writeFileSync13,
106473
+ writeFileSync as writeFileSync14,
106433
106474
  copyFileSync as copyFileSync6,
106434
106475
  appendFileSync
106435
106476
  } from "fs";
@@ -106807,7 +106848,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
106807
106848
  const debugDir = join50(producerRoot, ".debug");
106808
106849
  const outputDir = dirname19(outputPath);
106809
106850
  if (!existsSync44(outputDir)) mkdirSync24(outputDir, { recursive: true });
106810
- const workDir = job.config.debug ? join50(debugDir, job.id) : mkdtempSync3(join50(outputDir, `work-${job.id}-`));
106851
+ const workDir = job.config.debug ? join50(debugDir, job.id) : mkdtempSync4(join50(outputDir, `work-${job.id}-`));
106811
106852
  const pipelineStart = Date.now();
106812
106853
  const log2 = job.config.logger ?? defaultLogger;
106813
106854
  let fileServer = null;
@@ -106922,7 +106963,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
106922
106963
  `Entry file "${entryFile}" is not mounted from index.html via data-composition-src, so it cannot be rendered independently.`
106923
106964
  );
106924
106965
  }
106925
- writeFileSync13(wrapperPath, standaloneHtml, "utf-8");
106966
+ writeFileSync14(wrapperPath, standaloneHtml, "utf-8");
106926
106967
  htmlPath = wrapperPath;
106927
106968
  log2.info("Extracted standalone entry from index.html host context", {
106928
106969
  entryFile
@@ -107552,7 +107593,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
107552
107593
  job.perfSummary = perfSummary;
107553
107594
  if (job.config.debug) {
107554
107595
  try {
107555
- writeFileSync13(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
107596
+ writeFileSync14(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
107556
107597
  } catch (err) {
107557
107598
  log2.debug("Failed to write perf summary", {
107558
107599
  perfOutputPath,
@@ -107956,8 +107997,8 @@ import {
107956
107997
  existsSync as existsSync47,
107957
107998
  mkdirSync as mkdirSync25,
107958
107999
  statSync as statSync15,
107959
- mkdtempSync as mkdtempSync4,
107960
- writeFileSync as writeFileSync14,
108000
+ mkdtempSync as mkdtempSync5,
108001
+ writeFileSync as writeFileSync15,
107961
108002
  rmSync as rmSync13,
107962
108003
  createReadStream as createReadStream2
107963
108004
  } from "fs";
@@ -108081,8 +108122,8 @@ async function prepareRenderBody(body) {
108081
108122
  }
108082
108123
  }
108083
108124
  const tempRoot = process.env.PRODUCER_TMP_PROJECT_DIR || tmpdir5();
108084
- const tempProjectDir = mkdtempSync4(join54(tempRoot, "producer-project-"));
108085
- writeFileSync14(join54(tempProjectDir, "index.html"), htmlContent, "utf-8");
108125
+ const tempProjectDir = mkdtempSync5(join54(tempRoot, "producer-project-"));
108126
+ writeFileSync15(join54(tempProjectDir, "index.html"), htmlContent, "utf-8");
108086
108127
  return {
108087
108128
  prepared: {
108088
108129
  input: {
@@ -108562,7 +108603,7 @@ var init_planHash = __esm({
108562
108603
  });
108563
108604
 
108564
108605
  // ../producer/src/services/render/stages/freezePlan.ts
108565
- import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as writeFileSync15 } from "fs";
108606
+ import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as writeFileSync16 } from "fs";
108566
108607
  import { join as join55, relative as relative9, resolve as resolve29 } from "path";
108567
108608
  function stripUndefined(value) {
108568
108609
  if (Array.isArray(value)) return value.map(stripUndefined);
@@ -108659,7 +108700,7 @@ async function freezePlan(input2) {
108659
108700
  }
108660
108701
  const metaDir = join55(planDir, "meta");
108661
108702
  if (!existsSync48(metaDir)) mkdirSync26(metaDir, { recursive: true });
108662
- writeFileSync15(
108703
+ writeFileSync16(
108663
108704
  join55(metaDir, "composition.json"),
108664
108705
  `${JSON.stringify(composition, null, 2)}
108665
108706
  `,
@@ -108667,8 +108708,8 @@ async function freezePlan(input2) {
108667
108708
  );
108668
108709
  const encoderForCanonical = stripUndefined(encoder);
108669
108710
  const encoderConfigCanonicalJson = canonicalJsonStringify(encoderForCanonical);
108670
- writeFileSync15(join55(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
108671
- writeFileSync15(join55(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
108711
+ writeFileSync16(join55(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
108712
+ writeFileSync16(join55(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
108672
108713
  `, "utf-8");
108673
108714
  const { compositionHtml, assets } = collectPlanAssetShas(planDir);
108674
108715
  const planHash = computePlanHash({
@@ -108692,7 +108733,7 @@ async function freezePlan(input2) {
108692
108733
  hasAudio
108693
108734
  };
108694
108735
  const planJsonPath = join55(planDir, "plan.json");
108695
- writeFileSync15(planJsonPath, `${JSON.stringify(planJson, null, 2)}
108736
+ writeFileSync16(planJsonPath, `${JSON.stringify(planJson, null, 2)}
108696
108737
  `, "utf-8");
108697
108738
  return { planJsonPath, planHash };
108698
108739
  }
@@ -108893,7 +108934,7 @@ import {
108893
108934
  renameSync as renameSync6,
108894
108935
  rmSync as rmSync14,
108895
108936
  statSync as statSync16,
108896
- writeFileSync as writeFileSync16
108937
+ writeFileSync as writeFileSync17
108897
108938
  } from "fs";
108898
108939
  import { join as join57, relative as relative10, sep as sep6 } from "path";
108899
108940
  function formatBytes2(bytes) {
@@ -109213,7 +109254,7 @@ async function plan(projectDir, config, planDir) {
109213
109254
  }))
109214
109255
  };
109215
109256
  mkdirSync27(join57(planDir, "meta"), { recursive: true });
109216
- writeFileSync16(
109257
+ writeFileSync17(
109217
109258
  join57(planDir, PLAN_VIDEOS_META_RELATIVE_PATH),
109218
109259
  JSON.stringify(planVideosJson, null, 2),
109219
109260
  "utf-8"
@@ -109362,7 +109403,7 @@ var init_plan = __esm({
109362
109403
 
109363
109404
  // ../producer/src/services/distributed/renderChunk.ts
109364
109405
  import { randomBytes as randomBytes2 } from "crypto";
109365
- import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as writeFileSync17 } from "fs";
109406
+ import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as writeFileSync18 } from "fs";
109366
109407
  import { extname as extname10, join as join58 } from "path";
109367
109408
  function rebuildExtractedFramesFromPlanDir(planDir, videos) {
109368
109409
  const result = [];
@@ -109686,7 +109727,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
109686
109727
  producerVersion: plan2.producerVersion,
109687
109728
  ffmpegVersion
109688
109729
  };
109689
- writeFileSync17(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
109730
+ writeFileSync18(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
109690
109731
  `, "utf-8");
109691
109732
  try {
109692
109733
  rmSync15(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
@@ -110056,7 +110097,7 @@ import {
110056
110097
  readdirSync as readdirSync19,
110057
110098
  rmSync as rmSync17,
110058
110099
  statSync as statSync17,
110059
- writeFileSync as writeFileSync18
110100
+ writeFileSync as writeFileSync19
110060
110101
  } from "fs";
110061
110102
  import { dirname as dirname23, join as join59 } from "path";
110062
110103
  async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
@@ -110110,7 +110151,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
110110
110151
  } else {
110111
110152
  const concatListPath = join59(workDir, "concat-list.txt");
110112
110153
  const concatBody = chunkPaths.map((path2) => `file '${path2.replace(/'/g, "'\\''")}'`).join("\n");
110113
- writeFileSync18(concatListPath, `${concatBody}
110154
+ writeFileSync19(concatListPath, `${concatBody}
110114
110155
  `, "utf-8");
110115
110156
  const concatArgs = [
110116
110157
  "-r",
@@ -110391,7 +110432,7 @@ __export(studioServer_exports, {
110391
110432
  });
110392
110433
  import { Hono as Hono5 } from "hono";
110393
110434
  import { streamSSE as streamSSE3 } from "hono/streaming";
110394
- import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as writeFileSync19, statSync as statSync18 } from "fs";
110435
+ import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as writeFileSync20, statSync as statSync18 } from "fs";
110395
110436
  import { resolve as resolve30, join as join61, basename as basename8 } from "path";
110396
110437
  function resolveDistDir() {
110397
110438
  return resolveStudioBundle().dir;
@@ -110565,7 +110606,7 @@ function rewriteWrittenToHostViewport(projectDir, written) {
110565
110606
  return match;
110566
110607
  }
110567
110608
  );
110568
- writeFileSync19(absPath, content, "utf-8");
110609
+ writeFileSync20(absPath, content, "utf-8");
110569
110610
  }
110570
110611
  }
110571
110612
  function createStudioServer(options) {
@@ -110664,7 +110705,7 @@ function createStudioServer(options) {
110664
110705
  state.status = "complete";
110665
110706
  state.progress = 100;
110666
110707
  const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
110667
- writeFileSync19(
110708
+ writeFileSync20(
110668
110709
  metaPath,
110669
110710
  JSON.stringify({ status: "complete", durationMs: Date.now() - startTime })
110670
110711
  );
@@ -110675,7 +110716,7 @@ function createStudioServer(options) {
110675
110716
  emitStudioRenderError(opts, Date.now() - startTime, state.stage, err, renderJob);
110676
110717
  try {
110677
110718
  const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
110678
- writeFileSync19(metaPath, JSON.stringify({ status: "failed" }));
110719
+ writeFileSync20(metaPath, JSON.stringify({ status: "failed" }));
110679
110720
  } catch {
110680
110721
  }
110681
110722
  }
@@ -111716,7 +111757,7 @@ import {
111716
111757
  mkdirSync as mkdirSync31,
111717
111758
  copyFileSync as copyFileSync7,
111718
111759
  cpSync as cpSync5,
111719
- writeFileSync as writeFileSync20,
111760
+ writeFileSync as writeFileSync21,
111720
111761
  readFileSync as readFileSync35,
111721
111762
  readdirSync as readdirSync21
111722
111763
  } from "fs";
@@ -111833,7 +111874,7 @@ function buildPackageScripts() {
111833
111874
  function writeDefaultPackageJson(destDir, projectName) {
111834
111875
  const packageJsonPath = resolve33(destDir, "package.json");
111835
111876
  if (existsSync56(packageJsonPath)) return;
111836
- writeFileSync20(
111877
+ writeFileSync21(
111837
111878
  packageJsonPath,
111838
111879
  `${JSON.stringify(
111839
111880
  {
@@ -111895,7 +111936,7 @@ ${html}`;
111895
111936
  function writeTailwindSupport(destDir) {
111896
111937
  for (const file of listHtmlFiles(destDir)) {
111897
111938
  const html = readFileSync35(file, "utf-8");
111898
- writeFileSync20(file, injectTailwindBrowserScript(html), "utf-8");
111939
+ writeFileSync21(file, injectTailwindBrowserScript(html), "utf-8");
111899
111940
  }
111900
111941
  }
111901
111942
  function patchVideoSrc(dir, videoFilename, durationSeconds) {
@@ -111912,7 +111953,7 @@ function patchVideoSrc(dir, videoFilename, durationSeconds) {
111912
111953
  }
111913
111954
  const dur = durationSeconds ? String(Math.round(durationSeconds * 100) / 100) : "10";
111914
111955
  content = content.replaceAll("__VIDEO_DURATION__", dur);
111915
- writeFileSync20(file, content, "utf-8");
111956
+ writeFileSync21(file, content, "utf-8");
111916
111957
  }
111917
111958
  }
111918
111959
  async function patchTranscript(dir, transcriptPath) {
@@ -112048,7 +112089,7 @@ function applyResolutionPreset(destDir, resolution) {
112048
112089
  html = html.replace(viewportRe, `$1width=${width}, height=${height}`);
112049
112090
  changed = true;
112050
112091
  }
112051
- if (changed) writeFileSync20(file, html, "utf-8");
112092
+ if (changed) writeFileSync21(file, html, "utf-8");
112052
112093
  }
112053
112094
  }
112054
112095
  async function scaffoldProject(destDir, name, templateId, localVideoName, durationSeconds, tailwind = false, resolution) {
@@ -112062,7 +112103,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
112062
112103
  patchVideoSrc(destDir, localVideoName, durationSeconds);
112063
112104
  if (tailwind) writeTailwindSupport(destDir);
112064
112105
  if (resolution) applyResolutionPreset(destDir, resolution);
112065
- writeFileSync20(
112106
+ writeFileSync21(
112066
112107
  resolve33(destDir, "meta.json"),
112067
112108
  JSON.stringify(
112068
112109
  {
@@ -114751,7 +114792,7 @@ __export(batchRender_exports, {
114751
114792
  resolveOutputTemplate: () => resolveOutputTemplate,
114752
114793
  runBatchRender: () => runBatchRender
114753
114794
  });
114754
- import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as writeFileSync21 } from "fs";
114795
+ import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as writeFileSync23 } from "fs";
114755
114796
  import { dirname as dirname28, join as join67, resolve as resolve43, sep as sep8 } from "path";
114756
114797
  function isRecord4(value) {
114757
114798
  return value !== null && typeof value === "object" && !Array.isArray(value);
@@ -114937,7 +114978,7 @@ function summarizeManifest(manifest) {
114937
114978
  function writeManifest(manifest) {
114938
114979
  summarizeManifest(manifest);
114939
114980
  mkdirSync33(dirname28(manifest.manifestPath), { recursive: true });
114940
- writeFileSync21(manifest.manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8");
114981
+ writeFileSync23(manifest.manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8");
114941
114982
  }
114942
114983
  function emitJsonEvent(event, json) {
114943
114984
  if (json) console.log(JSON.stringify(event));
@@ -115099,7 +115140,7 @@ __export(render_exports, {
115099
115140
  renderLocal: () => renderLocal,
115100
115141
  resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
115101
115142
  });
115102
- import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as writeFileSync23, rmSync as rmSync18 } from "fs";
115143
+ import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as writeFileSync24, rmSync as rmSync18 } from "fs";
115103
115144
  import { cpus as cpus4, freemem as freemem5, tmpdir as tmpdir6 } from "os";
115104
115145
  import { resolve as resolve44, dirname as dirname29, join as join68, basename as basename12 } from "path";
115105
115146
  import { execFileSync as execFileSync9, spawn as spawn14 } from "child_process";
@@ -115195,7 +115236,7 @@ function ensureDockerImage(version2, platform10, quiet) {
115195
115236
  const dockerfilePath = resolveDockerfilePath();
115196
115237
  const tmpDir = join68(tmpdir6(), `hyperframes-docker-${Date.now()}`);
115197
115238
  mkdirSync34(tmpDir, { recursive: true });
115198
- writeFileSync23(join68(tmpDir, "Dockerfile"), readFileSync41(dockerfilePath));
115239
+ writeFileSync24(join68(tmpDir, "Dockerfile"), readFileSync41(dockerfilePath));
115199
115240
  const targetArch = platform10 === "linux/arm64" ? "arm64" : "amd64";
115200
115241
  try {
115201
115242
  execFileSync9(
@@ -116630,7 +116671,7 @@ __export(beats_exports, {
116630
116671
  default: () => beats_default,
116631
116672
  examples: () => examples11
116632
116673
  });
116633
- import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as writeFileSync24 } from "fs";
116674
+ import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as writeFileSync25 } from "fs";
116634
116675
  import { resolve as resolve45, join as join70, dirname as dirname31 } from "path";
116635
116676
  function fail(message) {
116636
116677
  console.error(c.error(message));
@@ -116703,7 +116744,7 @@ var init_beats2 = __esm({
116703
116744
  }
116704
116745
  const outPath = join70(project.dir, "beats", `${rel}.json`);
116705
116746
  mkdirSync35(dirname31(outPath), { recursive: true });
116706
- writeFileSync24(outPath, serializeBeats(result.beatTimes, result.beatStrengths, rel));
116747
+ writeFileSync25(outPath, serializeBeats(result.beatTimes, result.beatStrengths, rel));
116707
116748
  report(`beats/${rel}.json`, result, Boolean(args.json));
116708
116749
  }
116709
116750
  });
@@ -119476,7 +119517,7 @@ var motionShot_exports = {};
119476
119517
  __export(motionShot_exports, {
119477
119518
  captureMotionPathShot: () => captureMotionPathShot
119478
119519
  });
119479
- import { writeFileSync as writeFileSync25 } from "fs";
119520
+ import { writeFileSync as writeFileSync26 } from "fs";
119480
119521
  function applyOrbitCamera(selectors, cam) {
119481
119522
  const first = document.querySelector(selectors[0] ?? "");
119482
119523
  const root = first?.closest("[data-composition-id]") ?? document.querySelector("#stage") ?? document.body.firstElementChild ?? document.body;
@@ -119781,7 +119822,7 @@ async function captureGhostOnionSkin(page, requests, times, size, camera, outPat
119781
119822
  );
119782
119823
  const b64 = String(dataUrl).replace(/^data:image\/png;base64,/, "");
119783
119824
  if (!b64) throw new Error("ghost composite returned no data");
119784
- writeFileSync25(outPath, Buffer.from(b64, "base64"));
119825
+ writeFileSync26(outPath, Buffer.from(b64, "base64"));
119785
119826
  return outPath;
119786
119827
  }
119787
119828
  async function captureMarkerOnionSkin(page, requests, times, size, camera, frame, outPath) {
@@ -119851,7 +119892,7 @@ async function captureMarkerOnionSkin(page, requests, times, size, camera, frame
119851
119892
  await new Promise((r2) => setTimeout(r2, 60));
119852
119893
  const buf = await page.screenshot({ type: "png" });
119853
119894
  if (!buf) throw new Error("screenshot returned no data");
119854
- writeFileSync25(outPath, buf);
119895
+ writeFileSync26(outPath, buf);
119855
119896
  return outPath;
119856
119897
  }
119857
119898
  async function captureMotionPathShot(projectDir, requestsIn, outPath, opts = {}) {
@@ -121073,17 +121114,17 @@ __export(browser_exports, {
121073
121114
  default: () => browser_default,
121074
121115
  examples: () => examples18
121075
121116
  });
121076
- async function runEnsure() {
121117
+ async function runEnsure(options) {
121077
121118
  ge(c.bold("hyperframes browser ensure"));
121078
121119
  if (isLinuxArm()) {
121079
121120
  const s3 = ft();
121080
121121
  s3.start("Linux ARM64 detected \u2014 looking for system Chromium...");
121081
- const existing2 = await findBrowser();
121082
- if (existing2) {
121122
+ const existing = await findBrowser();
121123
+ if (existing) {
121083
121124
  s3.stop(c.success("System Chromium found"));
121084
121125
  console.log();
121085
- console.log(` ${c.dim("Source:")} ${c.bold(existing2.source)}`);
121086
- console.log(` ${c.dim("Path:")} ${c.bold(existing2.executablePath)}`);
121126
+ console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
121127
+ console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
121087
121128
  console.log();
121088
121129
  ye(c.success("Ready to render."));
121089
121130
  return;
@@ -121106,22 +121147,27 @@ async function runEnsure() {
121106
121147
  return;
121107
121148
  }
121108
121149
  const s2 = ft();
121109
- s2.start("Looking for an existing browser...");
121110
- const existing = await findBrowser();
121111
- if (existing) {
121112
- s2.stop(c.success("Browser found"));
121113
- console.log();
121114
- console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
121115
- console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
121116
- console.log();
121117
- ye(c.success("Ready to render."));
121118
- return;
121150
+ if (!options?.force) {
121151
+ s2.start("Looking for an existing browser...");
121152
+ const existing = await findBrowser();
121153
+ if (existing) {
121154
+ s2.stop(c.success("Browser found"));
121155
+ console.log();
121156
+ console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
121157
+ console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
121158
+ console.log();
121159
+ ye(c.success("Ready to render."));
121160
+ return;
121161
+ }
121162
+ s2.stop("No browser found \u2014 downloading");
121163
+ } else {
121164
+ s2.start("Purging cached download and re-downloading...");
121119
121165
  }
121120
- s2.stop("No browser found \u2014 downloading");
121121
121166
  const downloadSpinner = ft();
121122
121167
  downloadSpinner.start(`Downloading Chrome Headless Shell ${c.dim("v" + CHROME_VERSION)}...`);
121123
121168
  let lastPct = -1;
121124
121169
  const result = await ensureBrowser({
121170
+ force: options?.force,
121125
121171
  onProgress: (downloaded, total) => {
121126
121172
  if (total <= 0) return;
121127
121173
  const pct = Math.floor(downloaded / total * 100);
@@ -121177,6 +121223,7 @@ var init_browser = __esm({
121177
121223
  init_events();
121178
121224
  examples18 = [
121179
121225
  ["Find or download Chrome for rendering", "hyperframes browser ensure"],
121226
+ ["Purge a stale/partial download and re-download", "hyperframes browser ensure --force"],
121180
121227
  ["Print the Chrome executable path", "hyperframes browser path"],
121181
121228
  ["Remove cached Chrome download", "hyperframes browser clear"]
121182
121229
  ];
@@ -121187,6 +121234,11 @@ var init_browser = __esm({
121187
121234
  type: "positional",
121188
121235
  description: "ensure = find or download Chrome, path = print executable path, clear = remove cached download",
121189
121236
  required: false
121237
+ },
121238
+ force: {
121239
+ type: "boolean",
121240
+ description: "ensure only: purge any cached download (including a stale/partial one) and re-download from scratch",
121241
+ default: false
121190
121242
  }
121191
121243
  },
121192
121244
  async run({ args }) {
@@ -121203,15 +121255,16 @@ ${c.bold("SUBCOMMANDS:")}
121203
121255
  ${c.accent("clear")} ${c.dim("Remove cached Chrome download")}
121204
121256
 
121205
121257
  ${c.bold("EXAMPLES:")}
121206
- ${c.accent("npx hyperframes browser ensure")} ${c.dim("Download Chrome if needed")}
121207
- ${c.accent("npx hyperframes browser path")} ${c.dim("Print path for scripts")}
121208
- ${c.accent("npx hyperframes browser clear")} ${c.dim("Remove cached browser")}
121258
+ ${c.accent("npx hyperframes browser ensure")} ${c.dim("Download Chrome if needed")}
121259
+ ${c.accent("npx hyperframes browser ensure --force")} ${c.dim("Purge a stale/partial download and re-download")}
121260
+ ${c.accent("npx hyperframes browser path")} ${c.dim("Print path for scripts")}
121261
+ ${c.accent("npx hyperframes browser clear")} ${c.dim("Remove cached browser")}
121209
121262
  `);
121210
121263
  return;
121211
121264
  }
121212
121265
  switch (subcommand) {
121213
121266
  case "ensure":
121214
- return runEnsure();
121267
+ return runEnsure({ force: args.force });
121215
121268
  case "path":
121216
121269
  return runPath();
121217
121270
  case "clear":
@@ -122013,7 +122066,7 @@ __export(transcribe_exports2, {
122013
122066
  default: () => transcribe_default,
122014
122067
  examples: () => examples20
122015
122068
  });
122016
- import { existsSync as existsSync76, writeFileSync as writeFileSync26 } from "fs";
122069
+ import { existsSync as existsSync76, writeFileSync as writeFileSync27 } from "fs";
122017
122070
  import { resolve as resolve51, join as join77, extname as extname12, dirname as dirname35 } from "path";
122018
122071
  function failWith(message, json) {
122019
122072
  trackCommandFailure("transcribe", message);
@@ -122038,7 +122091,7 @@ async function importTranscript(inputPath, dir, json) {
122038
122091
  const { words, format } = loadTranscript2(inputPath);
122039
122092
  if (words.length === 0) exitNoWords(json);
122040
122093
  const outPath = join77(dir, "transcript.json");
122041
- writeFileSync26(outPath, JSON.stringify(words, null, 2));
122094
+ writeFileSync27(outPath, JSON.stringify(words, null, 2));
122042
122095
  patchCaptionHtml2(dir, words);
122043
122096
  if (json) {
122044
122097
  console.log(
@@ -122057,7 +122110,7 @@ async function exportTranscript(inputPath, dir, to, output, json, preserveCues)
122057
122110
  const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
122058
122111
  const outPath = resolve51(output ?? join77(dir, `transcript.${to}`));
122059
122112
  const content = to === "srt" ? formatSrt2(words, { preGrouped }) : formatVtt2(words, { preGrouped });
122060
- writeFileSync26(outPath, content);
122113
+ writeFileSync27(outPath, content);
122061
122114
  if (json) {
122062
122115
  console.log(
122063
122116
  JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
@@ -122091,7 +122144,7 @@ async function transcribeAudio(inputPath, dir, opts) {
122091
122144
  );
122092
122145
  }
122093
122146
  }
122094
- writeFileSync26(result.transcriptPath, JSON.stringify(words, null, 2));
122147
+ writeFileSync27(result.transcriptPath, JSON.stringify(words, null, 2));
122095
122148
  patchCaptionHtml2(dir, words);
122096
122149
  if (opts.json) {
122097
122150
  console.log(
@@ -122404,13 +122457,13 @@ __export(synthesize_exports, {
122404
122457
  synthesize: () => synthesize
122405
122458
  });
122406
122459
  import { execFileSync as execFileSync11 } from "child_process";
122407
- import { existsSync as existsSync78, writeFileSync as writeFileSync27, mkdirSync as mkdirSync38, readdirSync as readdirSync27, unlinkSync as unlinkSync5 } from "fs";
122460
+ import { existsSync as existsSync78, writeFileSync as writeFileSync28, mkdirSync as mkdirSync38, readdirSync as readdirSync27, unlinkSync as unlinkSync5 } from "fs";
122408
122461
  import { join as join79, dirname as dirname36, basename as basename15 } from "path";
122409
122462
  import { homedir as homedir13 } from "os";
122410
122463
  function ensureSynthScript() {
122411
122464
  if (!existsSync78(SCRIPT_PATH)) {
122412
122465
  mkdirSync38(SCRIPT_DIR, { recursive: true });
122413
- writeFileSync27(SCRIPT_PATH, SYNTH_SCRIPT);
122466
+ writeFileSync28(SCRIPT_PATH, SYNTH_SCRIPT);
122414
122467
  const currentName = basename15(SCRIPT_PATH);
122415
122468
  try {
122416
122469
  for (const entry of readdirSync27(SCRIPT_DIR)) {
@@ -123670,12 +123723,25 @@ var validate_exports = {};
123670
123723
  __export(validate_exports, {
123671
123724
  default: () => validate_default,
123672
123725
  extractCompositionErrorsFromLint: () => extractCompositionErrorsFromLint,
123726
+ navigationTimeoutHint: () => navigationTimeoutHint,
123673
123727
  raceMediaReady: () => raceMediaReady,
123674
- shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
123728
+ resolveNavigationTimeoutMs: () => resolveNavigationTimeoutMs,
123729
+ shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure,
123730
+ waitForPreferredSeekTarget: () => waitForPreferredSeekTarget
123675
123731
  });
123676
123732
  import { existsSync as existsSync81, readFileSync as readFileSync53 } from "fs";
123677
123733
  import { join as join81, dirname as dirname38 } from "path";
123678
123734
  import { fileURLToPath as fileURLToPath14 } from "url";
123735
+ function resolveNavigationTimeoutMs(optTimeout) {
123736
+ return Math.max(NAV_TIMEOUT_FLOOR_MS, optTimeout ?? 0);
123737
+ }
123738
+ function navigationTimeoutHint(err, navTimeoutMs) {
123739
+ const msg = err instanceof Error ? err.message : String(err);
123740
+ if (!/navigation timeout/i.test(msg)) return null;
123741
+ return new Error(
123742
+ `Page navigation timed out after ${navTimeoutMs}ms. A blocking external <script> (e.g. GSAP loaded from a CDN) can delay page load past this budget even when the full render succeeds. Vendor the script locally (recommended for deterministic renders), or re-run with a longer --timeout.`
123743
+ );
123744
+ }
123679
123745
  function shouldIgnoreRequestFailure(url, errorText, resourceType) {
123680
123746
  if (errorText !== "net::ERR_ABORTED") return false;
123681
123747
  if (resourceType === "media") return true;
@@ -123693,7 +123759,13 @@ async function getCompositionDuration3(page) {
123693
123759
  });
123694
123760
  }
123695
123761
  async function seekTo2(page, time) {
123762
+ await waitForPreferredSeekTarget(page);
123696
123763
  await page.evaluate((t2) => {
123764
+ const player = window.__player;
123765
+ if (player && typeof player.renderSeek === "function") {
123766
+ player.renderSeek(t2);
123767
+ return;
123768
+ }
123697
123769
  if (window.__hf && typeof window.__hf.seek === "function") {
123698
123770
  window.__hf.seek(t2);
123699
123771
  return;
@@ -123707,6 +123779,18 @@ async function seekTo2(page, time) {
123707
123779
  }, time);
123708
123780
  await new Promise((r2) => setTimeout(r2, SEEK_SETTLE_MS2));
123709
123781
  }
123782
+ async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGET_WAIT_MS) {
123783
+ try {
123784
+ await page.waitForFunction(
123785
+ () => {
123786
+ const w3 = window;
123787
+ return typeof w3.__player?.renderSeek === "function" || typeof w3.__hf?.seek === "function";
123788
+ },
123789
+ { timeout: timeoutMs }
123790
+ );
123791
+ } catch {
123792
+ }
123793
+ }
123710
123794
  function raceMediaReady(el, deadlineMs) {
123711
123795
  if (Number.isFinite(el.duration) && el.duration > 0) return Promise.resolve();
123712
123796
  return new Promise((resolve62) => {
@@ -123877,7 +123961,14 @@ async function validateInBrowser(project, opts) {
123877
123961
  errors.push({ level: "error", text: `${res.status()} loading ${path2}`, url });
123878
123962
  }
123879
123963
  });
123880
- await page.goto(server.url, { waitUntil: "domcontentloaded", timeout: 1e4 });
123964
+ const navTimeoutMs = resolveNavigationTimeoutMs(opts.timeout);
123965
+ try {
123966
+ await page.goto(server.url, { waitUntil: "domcontentloaded", timeout: navTimeoutMs });
123967
+ } catch (err) {
123968
+ const hinted = navigationTimeoutHint(err, navTimeoutMs);
123969
+ if (hinted) throw hinted;
123970
+ throw err;
123971
+ }
123881
123972
  await new Promise((r2) => setTimeout(r2, opts.timeout ?? 3e3));
123882
123973
  for (const w3 of await auditClipDurations(page, analyzeClipMediaFit2, opts.timeout ?? 3e3)) {
123883
123974
  warnings.push(w3);
@@ -123958,7 +124049,7 @@ function printValidationResult(result, asJson) {
123958
124049
  }
123959
124050
  return errors.length > 0 ? 1 : 0;
123960
124051
  }
123961
- var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, MEDIA_EXTENSIONS, validate_default;
124052
+ var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, PREFERRED_SEEK_TARGET_WAIT_MS, MEDIA_EXTENSIONS, NAV_TIMEOUT_FLOOR_MS, validate_default;
123962
124053
  var init_validate = __esm({
123963
124054
  "src/commands/validate.ts"() {
123964
124055
  "use strict";
@@ -123972,7 +124063,9 @@ var init_validate = __esm({
123972
124063
  __dirname3 = dirname38(__filename2);
123973
124064
  CONTRAST_SAMPLES = 5;
123974
124065
  SEEK_SETTLE_MS2 = 150;
124066
+ PREFERRED_SEEK_TARGET_WAIT_MS = 500;
123975
124067
  MEDIA_EXTENSIONS = /\.(aac|flac|m4a|mov|mp3|mp4|oga|ogg|wav|webm)$/i;
124068
+ NAV_TIMEOUT_FLOOR_MS = 1e4;
123976
124069
  validate_default = defineCommand({
123977
124070
  meta: {
123978
124071
  name: "validate",
@@ -123994,7 +124087,7 @@ Examples:
123994
124087
  },
123995
124088
  timeout: {
123996
124089
  type: "string",
123997
- description: "Ms to wait for scripts to settle (default: 3000)",
124090
+ description: "Ms to wait for scripts to settle and media to load (default: 3000). Also raises the page-navigation budget above its 10s floor when a slow external <script> needs longer.",
123998
124091
  default: "3000"
123999
124092
  }
124000
124093
  },
@@ -124030,7 +124123,7 @@ __export(contactSheet_exports, {
124030
124123
  createSvgContactSheet: () => createSvgContactSheet
124031
124124
  });
124032
124125
  import sharp from "sharp";
124033
- import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as writeFileSync28, unlinkSync as unlinkSync6, existsSync as existsSync83 } from "fs";
124126
+ import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as writeFileSync29, unlinkSync as unlinkSync6, existsSync as existsSync83 } from "fs";
124034
124127
  import { join as join83, extname as extname14, basename as basename16, dirname as dirname39 } from "path";
124035
124128
  async function createContactSheet(imagePaths, outputPath, opts = {}) {
124036
124129
  const {
@@ -124186,7 +124279,7 @@ async function createSvgContactSheet(svgsDir, outputPath, assetsRootDir) {
124186
124279
  fit: "contain",
124187
124280
  background: { r: 245, g: 245, b: 245, alpha: 1 }
124188
124281
  }).flatten({ background: { r: 245, g: 245, b: 245 } }).png().toBuffer();
124189
- writeFileSync28(tmpPath, thumb);
124282
+ writeFileSync29(tmpPath, thumb);
124190
124283
  tmpPaths.push(tmpPath);
124191
124284
  labels.push(svgFileNames[i2].replace(".svg", ""));
124192
124285
  } catch {
@@ -163961,7 +164054,7 @@ __export(snapshot_exports, {
163961
164054
  tailFrameTime: () => tailFrameTime
163962
164055
  });
163963
164056
  import { spawn as spawn16 } from "child_process";
163964
- import { existsSync as existsSync84, mkdtempSync as mkdtempSync5, readFileSync as readFileSync55, mkdirSync as mkdirSync39, rmSync as rmSync19, writeFileSync as writeFileSync29 } from "fs";
164057
+ import { existsSync as existsSync84, mkdtempSync as mkdtempSync6, readFileSync as readFileSync55, mkdirSync as mkdirSync39, rmSync as rmSync19, writeFileSync as writeFileSync30 } from "fs";
163965
164058
  import { tmpdir as tmpdir7 } from "os";
163966
164059
  import { resolve as resolve55, join as join84, relative as relative15, isAbsolute as isAbsolute14, basename as basename19 } from "path";
163967
164060
  function orbitStageSource() {
@@ -163986,7 +164079,7 @@ function orbitStageSource() {
163986
164079
  }`;
163987
164080
  }
163988
164081
  async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
163989
- const tmp = mkdtempSync5(join84(tmpdir7(), "hf-snapshot-frame-"));
164082
+ const tmp = mkdtempSync6(join84(tmpdir7(), "hf-snapshot-frame-"));
163990
164083
  const outPath = join84(tmp, "frame.png");
163991
164084
  try {
163992
164085
  const ffmpegPath = findFFmpeg();
@@ -164473,7 +164566,7 @@ ${c.success("\u25C7")} ${paths.length} snapshots saved to ${args.output ? snaps
164473
164566
  }
164474
164567
  }
164475
164568
  const descPath = join84(snapshotDir, "descriptions.md");
164476
- writeFileSync29(descPath, descriptions.join("\n"));
164569
+ writeFileSync30(descPath, descriptions.join("\n"));
164477
164570
  console.log(` ${c.dim("descriptions.md")} (Gemini frame analysis)`);
164478
164571
  }
164479
164572
  } catch (descErr) {
@@ -164493,7 +164586,7 @@ ${c.error("\u2717")} Snapshot failed: ${msg}`);
164493
164586
  });
164494
164587
 
164495
164588
  // src/capture/assetDownloader.ts
164496
- import { writeFileSync as writeFileSync30, mkdirSync as mkdirSync40 } from "fs";
164589
+ import { writeFileSync as writeFileSync31, mkdirSync as mkdirSync40 } from "fs";
164497
164590
  import { join as join85, extname as extname15 } from "path";
164498
164591
  import { createHash as createHash12 } from "crypto";
164499
164592
  function svgContentHashSlug(svgSource, isLogo) {
@@ -164521,7 +164614,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164521
164614
  const name = `${finalSlug}.svg`;
164522
164615
  const localPath = `assets/svgs/${name}`;
164523
164616
  try {
164524
- writeFileSync30(join85(outputDir, localPath), svg.outerHTML, "utf-8");
164617
+ writeFileSync31(join85(outputDir, localPath), svg.outerHTML, "utf-8");
164525
164618
  assets.push({ url: "", localPath, type: "svg" });
164526
164619
  } catch {
164527
164620
  }
@@ -164534,7 +164627,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164534
164627
  const localPath = `assets/${name}`;
164535
164628
  const buffer = await fetchBuffer(icon.href);
164536
164629
  if (buffer) {
164537
- writeFileSync30(join85(outputDir, localPath), buffer);
164630
+ writeFileSync31(join85(outputDir, localPath), buffer);
164538
164631
  assets.push({ url: icon.href, localPath, type: "favicon" });
164539
164632
  break;
164540
164633
  }
@@ -164599,7 +164692,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164599
164692
  const name = `${slug}${ext}`;
164600
164693
  usedNames.add(slug);
164601
164694
  const localPath = `assets/${name}`;
164602
- writeFileSync30(join85(outputDir, localPath), buffer);
164695
+ writeFileSync31(join85(outputDir, localPath), buffer);
164603
164696
  assets.push({ url, localPath, type: "image" });
164604
164697
  imgIdx++;
164605
164698
  } catch {
@@ -164612,7 +164705,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
164612
164705
  const localPath = `assets/og-image${ext}`;
164613
164706
  const buffer = await fetchBuffer(tokens.ogImage);
164614
164707
  if (buffer && buffer.length > 5e3) {
164615
- writeFileSync30(join85(outputDir, localPath), buffer);
164708
+ writeFileSync31(join85(outputDir, localPath), buffer);
164616
164709
  assets.push({ url: tokens.ogImage, localPath, type: "image" });
164617
164710
  }
164618
164711
  } catch {
@@ -164675,7 +164768,7 @@ async function downloadAndRewriteFonts(css, outputDir) {
164675
164768
  const relativePath = `assets/fonts/${filename}`;
164676
164769
  const buffer = await fetchBuffer(fontUrl);
164677
164770
  if (buffer) {
164678
- writeFileSync30(localPath, buffer);
164771
+ writeFileSync31(localPath, buffer);
164679
164772
  rewritten = rewritten.split(fontUrl).join(relativePath);
164680
164773
  familyCounts.set(family, familyCount + 1);
164681
164774
  count++;
@@ -166250,7 +166343,7 @@ var init_designStyleExtractor = __esm({
166250
166343
  });
166251
166344
 
166252
166345
  // src/capture/fontMetadataExtractor.ts
166253
- import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as writeFileSync31, existsSync as existsSync86 } from "fs";
166346
+ import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as writeFileSync33, existsSync as existsSync86 } from "fs";
166254
166347
  import { join as join87 } from "path";
166255
166348
  import * as fontkit from "fontkit";
166256
166349
  function isFontCollection(value) {
@@ -166284,7 +166377,7 @@ function extractFontMetadata(fontsDir, outputPath) {
166284
166377
  tool: "fontkit"
166285
166378
  }
166286
166379
  };
166287
- writeFileSync31(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
166380
+ writeFileSync33(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
166288
166381
  return manifest;
166289
166382
  }
166290
166383
  function readSingleFont(fullPath, filename) {
@@ -166573,7 +166666,7 @@ var init_animationCataloger = __esm({
166573
166666
  });
166574
166667
 
166575
166668
  // src/capture/mediaCapture.ts
166576
- import { mkdirSync as mkdirSync43, writeFileSync as writeFileSync33, readdirSync as readdirSync30, readFileSync as readFileSync58, statSync as statSync27 } from "fs";
166669
+ import { mkdirSync as mkdirSync43, writeFileSync as writeFileSync34, readdirSync as readdirSync30, readFileSync as readFileSync58, statSync as statSync27 } from "fs";
166577
166670
  import { join as join88, extname as extname16 } from "path";
166578
166671
  async function saveLottieAnimations(discoveredLotties, lottieDir) {
166579
166672
  let savedCount = 0;
@@ -166606,7 +166699,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
166606
166699
  const hash2 = buf.toString("base64").slice(0, 100);
166607
166700
  if (savedHashes.has(hash2)) continue;
166608
166701
  savedHashes.add(hash2);
166609
- writeFileSync33(join88(lottieDir, `animation-${savedCount}.lottie`), buf);
166702
+ writeFileSync34(join88(lottieDir, `animation-${savedCount}.lottie`), buf);
166610
166703
  savedCount++;
166611
166704
  continue;
166612
166705
  }
@@ -166624,7 +166717,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
166624
166717
  } catch {
166625
166718
  continue;
166626
166719
  }
166627
- writeFileSync33(join88(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
166720
+ writeFileSync34(join88(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
166628
166721
  savedCount++;
166629
166722
  }
166630
166723
  } catch {
@@ -166702,7 +166795,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
166702
166795
  }
166703
166796
  }
166704
166797
  if (manifest.length > 0) {
166705
- writeFileSync33(
166798
+ writeFileSync34(
166706
166799
  join88(outputDir, "extracted", "lottie-manifest.json"),
166707
166800
  JSON.stringify(manifest, null, 2),
166708
166801
  "utf-8"
@@ -166738,7 +166831,7 @@ async function downloadVideoBody(srcUrl, filename, videosDir) {
166738
166831
  }
166739
166832
  if (total < 1024) return null;
166740
166833
  const safe = /\.[a-z0-9]+$/i.test(filename) ? filename.replace(/[^\w.-]/g, "_") : `video${ext}`;
166741
- writeFileSync33(join88(videosDir, safe), Buffer.concat(chunks));
166834
+ writeFileSync34(join88(videosDir, safe), Buffer.concat(chunks));
166742
166835
  return `assets/videos/${safe}`;
166743
166836
  } catch {
166744
166837
  return null;
@@ -166856,7 +166949,7 @@ async function captureVideoManifest(page, outputDir, progress, opts) {
166856
166949
  });
166857
166950
  }
166858
166951
  if (videoManifest.length > 0) {
166859
- writeFileSync33(
166952
+ writeFileSync34(
166860
166953
  join88(outputDir, "extracted", "video-manifest.json"),
166861
166954
  JSON.stringify(videoManifest, null, 2),
166862
166955
  "utf-8"
@@ -167309,7 +167402,7 @@ var agentPromptGenerator_exports = {};
167309
167402
  __export(agentPromptGenerator_exports, {
167310
167403
  generateAgentPrompt: () => generateAgentPrompt
167311
167404
  });
167312
- import { writeFileSync as writeFileSync34, readdirSync as readdirSync33, existsSync as existsSync88 } from "fs";
167405
+ import { writeFileSync as writeFileSync35, readdirSync as readdirSync33, existsSync as existsSync88 } from "fs";
167313
167406
  import { join as join90 } from "path";
167314
167407
  function inferColorRole(hex) {
167315
167408
  const r2 = parseInt(hex.slice(1, 3), 16) / 255;
@@ -167329,9 +167422,9 @@ function inferColorRole(hex) {
167329
167422
  }
167330
167423
  function generateAgentPrompt(outputDir, url, tokens, _animations, hasScreenshot, hasLottie, hasShaders, _catalogedAssets, _detectedLibraries) {
167331
167424
  const prompt = buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders);
167332
- writeFileSync34(join90(outputDir, "AGENTS.md"), prompt, "utf-8");
167333
- writeFileSync34(join90(outputDir, "CLAUDE.md"), prompt, "utf-8");
167334
- writeFileSync34(join90(outputDir, ".cursorrules"), prompt, "utf-8");
167425
+ writeFileSync35(join90(outputDir, "AGENTS.md"), prompt, "utf-8");
167426
+ writeFileSync35(join90(outputDir, "CLAUDE.md"), prompt, "utf-8");
167427
+ writeFileSync35(join90(outputDir, ".cursorrules"), prompt, "utf-8");
167335
167428
  }
167336
167429
  function buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders) {
167337
167430
  const title = tokens.title || new URL(url).hostname.replace(/^www\./, "");
@@ -167444,7 +167537,7 @@ var init_agentPromptGenerator = __esm({
167444
167537
  });
167445
167538
 
167446
167539
  // src/capture/scaffolding.ts
167447
- import { existsSync as existsSync89, writeFileSync as writeFileSync35, readFileSync as readFileSync60 } from "fs";
167540
+ import { existsSync as existsSync89, writeFileSync as writeFileSync36, readFileSync as readFileSync60 } from "fs";
167448
167541
  import { join as join91, resolve as resolve57 } from "path";
167449
167542
  function loadEnvFile(startDir) {
167450
167543
  try {
@@ -167474,7 +167567,7 @@ async function generateProjectScaffold(outputDir, url, tokens, animationCatalog,
167474
167567
  const metaPath = join91(outputDir, "meta.json");
167475
167568
  if (!existsSync89(metaPath)) {
167476
167569
  const hostname = new URL(url).hostname.replace(/^www\./, "");
167477
- writeFileSync35(
167570
+ writeFileSync36(
167478
167571
  metaPath,
167479
167572
  JSON.stringify({ id: hostname + "-video", name: tokens.title || hostname }, null, 2),
167480
167573
  "utf-8"
@@ -167509,7 +167602,7 @@ var screenshotCapture_exports = {};
167509
167602
  __export(screenshotCapture_exports, {
167510
167603
  captureScrollScreenshots: () => captureScrollScreenshots
167511
167604
  });
167512
- import { writeFileSync as writeFileSync36, mkdirSync as mkdirSync44 } from "fs";
167605
+ import { writeFileSync as writeFileSync37, mkdirSync as mkdirSync44 } from "fs";
167513
167606
  import { join as join93 } from "path";
167514
167607
  async function captureScrollScreenshots(page, outputDir) {
167515
167608
  const screenshotsDir = join93(outputDir, "screenshots");
@@ -167606,7 +167699,7 @@ async function captureScrollScreenshots(page, outputDir) {
167606
167699
  const filename = `scroll-${String(Math.min(pct, 100)).padStart(3, "0")}.png`;
167607
167700
  const filePath = join93(screenshotsDir, filename);
167608
167701
  const buffer = await page.screenshot({ type: "png" });
167609
- writeFileSync36(filePath, buffer);
167702
+ writeFileSync37(filePath, buffer);
167610
167703
  filePaths.push(`screenshots/${filename}`);
167611
167704
  }
167612
167705
  await page.evaluate(`window.scrollTo(0, 0)`);
@@ -167953,7 +168046,7 @@ var capture_exports = {};
167953
168046
  __export(capture_exports, {
167954
168047
  captureWebsite: () => captureWebsite
167955
168048
  });
167956
- import { mkdirSync as mkdirSync45, writeFileSync as writeFileSync37, existsSync as existsSync90 } from "fs";
168049
+ import { mkdirSync as mkdirSync45, writeFileSync as writeFileSync38, existsSync as existsSync90 } from "fs";
167957
168050
  import { join as join94 } from "path";
167958
168051
  async function captureWebsite(opts, onProgress) {
167959
168052
  const {
@@ -168152,7 +168245,7 @@ async function captureWebsite(opts, onProgress) {
168152
168245
  return true;
168153
168246
  });
168154
168247
  capturedShaders = unique;
168155
- writeFileSync37(
168248
+ writeFileSync38(
168156
168249
  join94(outputDir, "extracted", "shaders.json"),
168157
168250
  JSON.stringify(unique, null, 2),
168158
168251
  "utf-8"
@@ -168167,7 +168260,7 @@ async function captureWebsite(opts, onProgress) {
168167
168260
  ...tokens,
168168
168261
  svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
168169
168262
  };
168170
- writeFileSync37(
168263
+ writeFileSync38(
168171
168264
  join94(outputDir, "extracted", "tokens.json"),
168172
168265
  JSON.stringify(tokensForDisk, null, 2),
168173
168266
  "utf-8"
@@ -168175,7 +168268,7 @@ async function captureWebsite(opts, onProgress) {
168175
168268
  progress("style", "Extracting design styles...");
168176
168269
  try {
168177
168270
  const designStyles = await extractDesignStyles(page1);
168178
- writeFileSync37(
168271
+ writeFileSync38(
168179
168272
  join94(outputDir, "extracted", "design-styles.json"),
168180
168273
  JSON.stringify(designStyles, null, 2),
168181
168274
  "utf-8"
@@ -168282,7 +168375,7 @@ ${err.stack}` : normalizeErrorMessage(err);
168282
168375
  scrollTriggeredElements: (animationCatalog.scrollTargets || []).length,
168283
168376
  representativeAnimations: representativeAnims
168284
168377
  };
168285
- writeFileSync37(
168378
+ writeFileSync38(
168286
168379
  join94(outputDir, "extracted", "animations.json"),
168287
168380
  JSON.stringify(leanCatalog, null, 2),
168288
168381
  "utf-8"
@@ -168313,7 +168406,7 @@ ${err.stack}` : normalizeErrorMessage(err);
168313
168406
  ...tokens,
168314
168407
  svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
168315
168408
  };
168316
- writeFileSync37(
168409
+ writeFileSync38(
168317
168410
  join94(outputDir, "extracted", "tokens.json"),
168318
168411
  JSON.stringify(tokensForDisk2, null, 2),
168319
168412
  "utf-8"
@@ -168330,12 +168423,12 @@ ${extracted.bodyHtml}
168330
168423
  </body>
168331
168424
  </html>
168332
168425
  `;
168333
- writeFileSync37(join94(outputDir, "extracted", "page.html"), pageHtml, "utf-8");
168426
+ writeFileSync38(join94(outputDir, "extracted", "page.html"), pageHtml, "utf-8");
168334
168427
  } catch (err) {
168335
168428
  warnings.push(`page.html write failed: ${err}`);
168336
168429
  }
168337
168430
  if (visibleTextContent) {
168338
- writeFileSync37(join94(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
168431
+ writeFileSync38(join94(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
168339
168432
  }
168340
168433
  const geminiCaptions = await captionImagesWithGemini(outputDir, progress, warnings);
168341
168434
  progress("design", "Generating asset descriptions...");
@@ -168344,7 +168437,7 @@ ${extracted.bodyHtml}
168344
168437
  if (lines.length > 0) {
168345
168438
  const hasGeminiKey = !!(process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY);
168346
168439
  const header = hasGeminiKey ? "# Asset Descriptions\n\nOne line per file. Read this instead of opening every image individually.\n\nTo find a specific brand or icon, **grep this file for the brand name in the description text** (e.g. `grep -i 'autodesk' asset-descriptions.md`). The Gemini Vision captions identify what's actually in each file \u2014 that's the agent's selector.\n\nThe `logo-<hash>.svg` filename prefix is a cheap structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). It is NOT a content claim \u2014 many `logo-*` files are nav icons or decorative shapes. Trust the captions, not the filename prefix.\n\n" : "# Asset Descriptions\n\n\u26A0\uFE0F GEMINI_API_KEY not set \u2014 descriptions below are catalog-derived (alt text, headings, section context, filename) instead of Vision-generated. To get richer Vision descriptions on the next capture, set GEMINI_API_KEY (or GOOGLE_API_KEY) and re-run.\n\nThe `logo-<hash>.svg` filename prefix is a structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). To pick the actual brand logo without Vision, open the `logo-*` candidates in a previewer or rasterize them with `sharp` before referencing \u2014 composing a fake logo ships off-brand in the final video.\n\n";
168347
- writeFileSync37(
168440
+ writeFileSync38(
168348
168441
  join94(outputDir, "extracted", "asset-descriptions.md"),
168349
168442
  header + lines.map((l) => "- " + l).join("\n") + "\n",
168350
168443
  "utf-8"
@@ -168636,11 +168729,11 @@ var init_capture2 = __esm({
168636
168729
  } catch (err) {
168637
168730
  const errMsg = normalizeErrorMessage(err);
168638
168731
  try {
168639
- const { mkdirSync: mkdirSync56, writeFileSync: writeFileSync47 } = await import("fs");
168732
+ const { mkdirSync: mkdirSync56, writeFileSync: writeFileSync48 } = await import("fs");
168640
168733
  mkdirSync56(outputDir, { recursive: true });
168641
168734
  const isTimeout = /timeout|timed out/i.test(errMsg);
168642
168735
  const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
168643
- writeFileSync47(
168736
+ writeFileSync48(
168644
168737
  `${outputDir}/BLOCKED.md`,
168645
168738
  `# Capture Failed
168646
168739
 
@@ -168683,7 +168776,7 @@ __export(state_exports, {
168683
168776
  stateFilePath: () => stateFilePath,
168684
168777
  writeStackOutputs: () => writeStackOutputs
168685
168778
  });
168686
- import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as writeFileSync38 } from "fs";
168779
+ import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as writeFileSync39 } from "fs";
168687
168780
  import { dirname as dirname40, join as join95 } from "path";
168688
168781
  function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
168689
168782
  return join95(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
@@ -168691,7 +168784,7 @@ function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
168691
168784
  function writeStackOutputs(outputs, cwd = process.cwd()) {
168692
168785
  const path2 = stateFilePath(outputs.stackName, cwd);
168693
168786
  mkdirSync46(dirname40(path2), { recursive: true });
168694
- writeFileSync38(path2, JSON.stringify(outputs, null, 2) + "\n");
168787
+ writeFileSync39(path2, JSON.stringify(outputs, null, 2) + "\n");
168695
168788
  return path2;
168696
168789
  }
168697
168790
  function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
@@ -170243,7 +170336,7 @@ __export(cloudrun_exports, {
170243
170336
  });
170244
170337
  import { spawnSync as spawnSync6 } from "child_process";
170245
170338
  import { createRequire as createRequire4 } from "module";
170246
- import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as writeFileSync39 } from "fs";
170339
+ import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as writeFileSync40 } from "fs";
170247
170340
  import { homedir as homedir14 } from "os";
170248
170341
  import { dirname as dirname42, join as join101, resolve as resolve61 } from "path";
170249
170342
  function stateDir() {
@@ -170254,7 +170347,7 @@ function statePath() {
170254
170347
  }
170255
170348
  function writeState(state) {
170256
170349
  mkdirSync47(stateDir(), { recursive: true });
170257
- writeFileSync39(statePath(), JSON.stringify(state, null, 2));
170350
+ writeFileSync40(statePath(), JSON.stringify(state, null, 2));
170258
170351
  }
170259
170352
  function readState(args) {
170260
170353
  const overrides = {
@@ -170417,7 +170510,7 @@ function findRepoRoot(tfDir) {
170417
170510
  function writeCloudBuildConfig(image) {
170418
170511
  const cfgPath = join101(stateDir(), "cloudrun-cloudbuild.yaml");
170419
170512
  mkdirSync47(stateDir(), { recursive: true });
170420
- writeFileSync39(
170513
+ writeFileSync40(
170421
170514
  cfgPath,
170422
170515
  [
170423
170516
  "steps:",
@@ -174367,7 +174460,7 @@ var init_parseFigmaRef = __esm({
174367
174460
  });
174368
174461
 
174369
174462
  // ../core/dist/figma/freeze.js
174370
- import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as writeFileSync40 } from "fs";
174463
+ import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as writeFileSync41 } from "fs";
174371
174464
  import { dirname as dirname45 } from "path";
174372
174465
  function exceedsFreezeCap(byteLength) {
174373
174466
  return byteLength > MAX_FREEZE_BYTES;
@@ -174379,12 +174472,12 @@ function freezeBytes(bytes, destPath) {
174379
174472
  throw new Error(`freeze failed: ${bytes.length} bytes exceeds ${MAX_FREEZE_BYTES} cap`);
174380
174473
  mkdirSync49(dirname45(destPath), { recursive: true });
174381
174474
  try {
174382
- writeFileSync40(destPath, bytes, { flag: "wx" });
174475
+ writeFileSync41(destPath, bytes, { flag: "wx" });
174383
174476
  } catch (err) {
174384
174477
  if (err.code !== "EEXIST")
174385
174478
  throw err;
174386
174479
  rmSync21(destPath);
174387
- writeFileSync40(destPath, bytes, { flag: "wx" });
174480
+ writeFileSync41(destPath, bytes, { flag: "wx" });
174388
174481
  }
174389
174482
  return bytes.length;
174390
174483
  }
@@ -174421,7 +174514,7 @@ var init_jsonl = __esm({
174421
174514
  });
174422
174515
 
174423
174516
  // ../core/dist/figma/manifest.js
174424
- import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as writeFileSync41 } from "fs";
174517
+ import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as writeFileSync43 } from "fs";
174425
174518
  import { join as join104 } from "path";
174426
174519
  function mediaDir(projectDir) {
174427
174520
  return join104(projectDir, ".media");
@@ -174475,7 +174568,7 @@ function updateRecord(projectDir, record) {
174475
174568
  }
174476
174569
  return line2;
174477
174570
  });
174478
- writeFileSync41(p2, out.join("\n"));
174571
+ writeFileSync43(p2, out.join("\n"));
174479
174572
  }
174480
174573
  function nextId(projectDir, type) {
174481
174574
  const re2 = new RegExp(`^${type}_(\\d+)$`);
@@ -174516,7 +174609,7 @@ var init_manifest = __esm({
174516
174609
  });
174517
174610
 
174518
174611
  // ../core/dist/figma/mediaIndex.js
174519
- import { mkdirSync as mkdirSync51, writeFileSync as writeFileSync43 } from "fs";
174612
+ import { mkdirSync as mkdirSync51, writeFileSync as writeFileSync44 } from "fs";
174520
174613
  import { dirname as dirname46, join as join105 } from "path";
174521
174614
  function isRow(value) {
174522
174615
  return typeof value === "object" && value !== null;
@@ -174568,7 +174661,7 @@ function regenerateIndex(projectDir) {
174568
174661
  const content = generateIndexContent(records);
174569
174662
  const p2 = indexPath(projectDir);
174570
174663
  mkdirSync51(dirname46(p2), { recursive: true });
174571
- writeFileSync43(p2, content);
174664
+ writeFileSync44(p2, content);
174572
174665
  return content;
174573
174666
  }
174574
174667
  var init_mediaIndex = __esm({
@@ -174633,7 +174726,7 @@ var init_sanitizeSvg = __esm({
174633
174726
  });
174634
174727
 
174635
174728
  // ../core/dist/figma/bindings.js
174636
- import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as writeFileSync44 } from "fs";
174729
+ import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as writeFileSync45 } from "fs";
174637
174730
  import { join as join106 } from "path";
174638
174731
  function bindingsPath(projectDir) {
174639
174732
  return join106(mediaDir(projectDir), BINDINGS_FILE);
@@ -174655,7 +174748,7 @@ function upsertBindings(projectDir, records) {
174655
174748
  const survivors = readLines(projectDir).filter((line2) => !(isBindingRecord(line2) && incoming.has(line2.figmaId)));
174656
174749
  mkdirSync53(mediaDir(projectDir), { recursive: true });
174657
174750
  const lines = [...survivors, ...records].map((r2) => JSON.stringify(r2)).join("\n");
174658
- writeFileSync44(bindingsPath(projectDir), lines.length > 0 ? lines + "\n" : "");
174751
+ writeFileSync45(bindingsPath(projectDir), lines.length > 0 ? lines + "\n" : "");
174659
174752
  }
174660
174753
  var BINDINGS_FILE;
174661
174754
  var init_bindings = __esm({
@@ -175322,7 +175415,7 @@ __export(tokens_exports, {
175322
175415
  default: () => tokens_default,
175323
175416
  runTokensImport: () => runTokensImport
175324
175417
  });
175325
- import { writeFileSync as writeFileSync45 } from "fs";
175418
+ import { writeFileSync as writeFileSync46 } from "fs";
175326
175419
  import { join as join108 } from "path";
175327
175420
  async function runTokensImport(refInput, deps) {
175328
175421
  const { fileKey } = parseFigmaRef(refInput);
@@ -175337,7 +175430,7 @@ async function runTokensImport(refInput, deps) {
175337
175430
  if (vars !== null) {
175338
175431
  const out = tokensToVariables(vars, { fileKey, version: version2 });
175339
175432
  upsertBindings(deps.projectDir, out.bindings);
175340
- writeFileSync45(sidecarPath, JSON.stringify(out.sidecar, null, 2) + "\n");
175433
+ writeFileSync46(sidecarPath, JSON.stringify(out.sidecar, null, 2) + "\n");
175341
175434
  return { mode: "variables", entries: out.entries, sidecarPath };
175342
175435
  }
175343
175436
  const styles = await deps.client.styles(fileKey);
@@ -175351,7 +175444,7 @@ async function runTokensImport(refInput, deps) {
175351
175444
  value: null
175352
175445
  }))
175353
175446
  };
175354
- writeFileSync45(sidecarPath, JSON.stringify(sidecar, null, 2) + "\n");
175447
+ writeFileSync46(sidecarPath, JSON.stringify(sidecar, null, 2) + "\n");
175355
175448
  return { mode: "styles", entries: [], sidecarPath };
175356
175449
  }
175357
175450
  var tokens_default;
@@ -175393,7 +175486,7 @@ __export(component_exports, {
175393
175486
  default: () => component_default,
175394
175487
  runComponentImport: () => runComponentImport
175395
175488
  });
175396
- import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as writeFileSync46 } from "fs";
175489
+ import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as writeFileSync47 } from "fs";
175397
175490
  import { join as join109, relative as relative17 } from "path";
175398
175491
  function escapeAttr2(value) {
175399
175492
  return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
@@ -175431,7 +175524,7 @@ async function runComponentImport(refInput, deps) {
175431
175524
  );
175432
175525
  }
175433
175526
  const htmlFile = join109(componentDir, `${name}.html`);
175434
- writeFileSync46(htmlFile, html + "\n");
175527
+ writeFileSync47(htmlFile, html + "\n");
175435
175528
  const registryItem = {
175436
175529
  name,
175437
175530
  type: "hyperframes:component",
@@ -175451,7 +175544,7 @@ async function runComponentImport(refInput, deps) {
175451
175544
  }))
175452
175545
  ]
175453
175546
  };
175454
- writeFileSync46(
175547
+ writeFileSync47(
175455
175548
  join109(componentDir, "registry-item.json"),
175456
175549
  JSON.stringify(registryItem, null, 2) + "\n"
175457
175550
  );
@@ -175692,7 +175785,7 @@ __export(autoUpdate_exports, {
175692
175785
  scheduleBackgroundInstall: () => scheduleBackgroundInstall
175693
175786
  });
175694
175787
  import { spawn as spawn17 } from "child_process";
175695
- import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as openSync3 } from "fs";
175788
+ import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as openSync4 } from "fs";
175696
175789
  import { homedir as homedir16 } from "os";
175697
175790
  import { join as join110 } from "path";
175698
175791
  import { compareVersions as compareVersions3 } from "compare-versions";
@@ -175741,7 +175834,7 @@ function launchDetachedInstall(installCommand, version2) {
175741
175834
  } catch (e) {}
175742
175835
  });
175743
175836
  `;
175744
- const out = openSync3(LOG_FILE, "a", 384);
175837
+ const out = openSync4(LOG_FILE, "a", 384);
175745
175838
  const child = spawn17(process.execPath, ["-e", nodeScript], {
175746
175839
  detached: true,
175747
175840
  stdio: ["ignore", out, out],