hyperframes 0.6.26 → 0.6.28

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
@@ -54,7 +54,7 @@ var VERSION;
54
54
  var init_version = __esm({
55
55
  "src/version.ts"() {
56
56
  "use strict";
57
- VERSION = true ? "0.6.26" : "0.0.0-dev";
57
+ VERSION = true ? "0.6.28" : "0.0.0-dev";
58
58
  }
59
59
  });
60
60
 
@@ -7414,7 +7414,7 @@ var RUNTIME_IIFE;
7414
7414
  var init_runtime_inline = __esm({
7415
7415
  "../core/src/generated/runtime-inline.ts"() {
7416
7416
  "use strict";
7417
- RUNTIME_IIFE = '"use strict";(()=>{var $o=Object.create;var dn=Object.defineProperty;var Ko=Object.getOwnPropertyDescriptor;var Jo=Object.getOwnPropertyNames;var Qo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var Zo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Xo=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Jo(e))!Yo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Ko(e,r))||i.enumerable});return t};var es=(t,e,n)=>(n=t!=null?$o(Qo(t)):{},Xo(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Zo(t,typeof e!="symbol"?e+"":e,n);var Ri=Z((ec,gn)=>{var K=String,_i=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};gn.exports=_i();gn.exports.createColors=_i});var yn=Z(()=>{});var It=Z((ic,Li)=>{"use strict";var vi=Ri(),Di=yn(),mt=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=vi.isColorSupported);let i=l=>l,r=l=>l,o=l=>l;if(e){let{bold:l,gray:p,red:f}=vi.createColors(!0);r=h=>l(f(h)),i=h=>p(h),Di&&(o=h=>Di(h))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(u,a).map((l,p)=>{let f=u+1+p,h=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,S=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(S,q),M=i(h.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(h)+o(I)+`\n `+M+r("^")}let F=i(h.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(h)+o(l)+`\n `+F+r("^")}return" "+i(h)+o(l)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Li.exports=mt;mt.default=mt});var Sn=Z((rc,Ii)=>{"use strict";var As=/(<)(\\/?style\\b)/gi,Es=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(As,"\\\\3c $2").replace(Es,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fs(t){return t[0].toUpperCase()+t.slice(1)}var pt=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(Pe(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 u=0;u<o;u++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(Pe(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(Pe(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 u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Pe(a)),this.stringify(u,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(Pe("/*"+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(Pe(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 Bi[i];let s=e.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fs(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Bi[i]),u[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:Pe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(Pe(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)}};Ii.exports=pt;pt.default=pt});var ht=Z((oc,Oi)=>{"use strict";var ws=Sn();function bn(t,e){new ws(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Z((sc,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Z((ac,Pi)=>{"use strict";var Ns=It(),Cs=Sn(),Ms=ht(),{isClean:xt,my:Ts}=Ot();function En(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=>En(s,n)):(o==="object"&&r!==null&&(r=En(r)),n[i]=r)}return n}function Ie(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 gt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[xt]=!1,this[Ts]=!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=En(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 Ns(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[xt]=!0}markDirty(){if(this[xt]){this[xt]=!1;let e=this;for(;e=e.parent;)e[xt]=!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(Ie(i,this.source.start),Ie(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=Ie(r,this.source.start),s=o+e;for(let u=o;u<s;u++)r[u]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let 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:Ie(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:Ie(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ie(n,this.source.start),Ie(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:Ie(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ie(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 Cs().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 u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Ms){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)}};Pi.exports=gt;gt.default=gt});var bt=Z((lc,Wi)=>{"use strict";var ks=yt(),St=class extends ks{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Z((uc,Hi)=>{"use strict";var _s=yt(),At=class extends _s{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"}};Hi.exports=At;At.default=At});var We=Z((cc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),Rs=yt(),{isClean:zi,my:ji}=Ot(),Fn,Gi,Vi,wn;function $i(t){return t.map(e=>(e.nodes&&(e.nodes=$i(e.nodes)),delete e.source,e))}function Ki(t){if(t[zi]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Ki(e)}var _e=class t extends Rs{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 u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=$i(Gi(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 Ui(e)]}else if(e.selector||e.selectors)e=[new wn(e)];else if(e.name)e=[new Fn(e)];else if(e.text)e=[new qi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ji]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[zi]&&Ki(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)}))}};_e.registerParse=t=>{Gi=t};_e.registerRule=t=>{wn=t};_e.registerAtRule=t=>{Fn=t};_e.registerRoot=t=>{Vi=t};Ji.exports=_e;_e.default=_e;_e.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Fn.prototype):t.type==="rule"?Object.setPrototypeOf(t,wn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Ui.prototype):t.type==="comment"?Object.setPrototypeOf(t,qi.prototype):t.type==="root"&&Object.setPrototypeOf(t,Vi.prototype),t[ji]=!0,t.nodes&&t.nodes.forEach(e=>{_e.rebuild(e)})}});var Pt=Z((dc,Yi)=>{"use strict";var Qi=We(),Xe=class extends Qi{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)}};Yi.exports=Xe;Xe.default=Xe;Qi.registerAtRule(Xe)});var Wt=Z((fc,er)=>{"use strict";var vs=We(),Zi,Xi,Je=class extends vs{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Zi(new Xi,this,e).stringify()}};Je.registerLazyResult=t=>{Zi=t};Je.registerProcessor=t=>{Xi=t};er.exports=Je;Je.default=Je});var nr=Z((mc,tr)=>{var Ds="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ls=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Bs=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ds[Math.random()*64|0];return e};tr.exports={nanoid:Bs,customAlphabet:Ls}});var Ht=Z(()=>{});var qt=Z(()=>{});var Nn=Z(()=>{});var ir=Z(()=>{});var Mn=Z((Ec,sr)=>{"use strict";var{existsSync:Is,readFileSync:Os}=ir(),{dirname:Cn,join:Ps}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Ws(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ft=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=Cn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new rr(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 u=e.match(n)||e.match(i);if(u)return Ws(e.substr(u[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=Cn(e),Is(e)))return this.mapFile=e,Os(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 rr)return or.fromSourceMap(n).toString();if(n instanceof or)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=Ps(Cn(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)}};sr.exports=Ft;Ft.default=Ft});var wt=Z((Fc,dr)=>{"use strict";var{nanoid:Hs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:qs,SourceMapGenerator:Us}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),zs=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),js=!!(qs&&Us),ur=!!(Rn&&_n);function cr(t){if(t[kn])return t[kn];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[kn]=n,n}var et=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&&(!ur||/^\\w+:\\/\\//.test(n.from)||_n(n.from)?this.file=n.from:this.file=Rn(n.from)),ur&&js){let i=new zs(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 "+Hs(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,u,a,c;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let h=this.fromOffset(a);n=h.line,i=h.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let h=this.fromOffset(u);s=h.line,o=h.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let l=this.origin(n,i,s,o);return l?c=new lr(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,r.plugin):c=new lr(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:u,line:n,offset:a,source:this.css},this.file&&(Ut&&(c.input.url=Ut(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return cr(this)[e-1]+n-1}fromOffset(e){let n=cr(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:Rn(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 u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;_n(s.source)?a=Ut(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||Ut(this.map.mapFile));let c={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(ar)c.file=ar(a);else throw new Error("file: protocol is not available in this PostCSS build");let l=o.sourceContentFor(s.source);return l&&(c.source=l),c}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}};dr.exports=et;et.default=et;Tn&&Tn.registerInput&&Tn.registerInput(et)});var tt=Z((wc,hr)=>{"use strict";var fr=We(),mr,pr,He=class extends fr{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 mr(new pr,this,e).stringify()}};He.registerLazyResult=t=>{mr=t};He.registerProcessor=t=>{pr=t};hr.exports=He;He.default=He;fr.registerRoot(He)});var vn=Z((Nc,xr)=>{"use strict";var Nt={comma(t){return Nt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Nt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,u=!1,a="",c=!1;for(let l of t)c?c=!1:l==="\\\\"?c=!0:u?l===a&&(u=!1):l===\'"\'||l==="\'"?(u=!0,a=l):l==="("?s+=1:l===")"?s>0&&(s-=1):s===0&&e.includes(l)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=l;return(n||r!=="")&&i.push(r.trim()),i}};xr.exports=Nt;Nt.default=Nt});var zt=Z((Cc,yr)=>{"use strict";var gr=We(),Gs=vn(),nt=class extends gr{get selectors(){return Gs.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=[])}};yr.exports=nt;nt.default=nt;gr.registerRule(nt)});var br=Z((Mc,Sr)=>{"use strict";var Vs=Pt(),$s=bt(),Ks=Et(),Js=wt(),Qs=Mn(),Ys=tt(),Zs=zt();function Ct(t,e){if(Array.isArray(t))return t.map(r=>Ct(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Js.prototype};o.map&&(o.map={...o.map,__proto__:Qs.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ct(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 Ys(i);if(i.type==="decl")return new Ks(i);if(i.type==="rule")return new Zs(i);if(i.type==="comment")return new $s(i);if(i.type==="atrule")return new Vs(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Z((Tc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),Xs=wt(),ea=!!(Nr&&Gt),ta=!!(jt&&Fr&&Er&&wr),Dn=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||jt(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Nr(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(),ta&&ea&&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=Gt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Gt({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 Gt({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,(u,a,c)=>{if(this.css+=u,a&&c!=="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=u.match(/\\n/g),s?(e+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&c!=="start"){let l=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==l.last||l.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?jt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=jt(Fr(i,this.mapOpts.annotation)));let r=Er(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 Xs(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(Ar){let i=Ar(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;wr==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Cr.exports=Dn});var kr=Z((kc,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,na=/.[\\r\\n"\'(/\\\\]/,Mr=/[\\da-f]/i;Tr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,u,a,c,l,p,f,h,F,E=i.length,S=0,q=[],I=[],M=-1;function X(){return S}function _(w){throw e.error("Unclosed "+w,S)}function N(){return I.length===0&&S>=E}function g(w){if(I.length)return I.pop();if(S>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{a=S;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(S,a)],S=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let T=String.fromCharCode(o);l=[T,T,S];break}case 40:{if(F=q.length?q.pop()[1]:"",h=i.charCodeAt(S+1),F==="url"&&h!==39&&h!==34&&h!==32&&h!==10&&h!==9&&h!==12&&h!==13){a=S;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=S;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(S,a+1),S,a],S=a}else S<=M?l=["(","(",S]:(a=i.indexOf(")",S+1),s=i.slice(S,a+1),a===-1||na.test(s)?(M=a===-1?E:a,l=["(","(",S]):(l=["brackets",s,S,a],S=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=S;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=S+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(S,a+1),S,a],S=a;break}case 64:{Vt.lastIndex=S+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(S,a+1),S,a],S=a;break}case 92:{for(a=S,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Mr.test(i.charAt(a)))){for(;Mr.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}l=["word",i.slice(S,a+1),S,a],S=a;break}default:{o===47&&i.charCodeAt(S+1)===42?(a=i.indexOf("*/",S+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(S,a+1),S,a],S=a):($t.lastIndex=S+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(S,a+1),S,a],q.push(l),S=a);break}}return S++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Z((_c,vr)=>{"use strict";var ia=Pt(),ra=bt(),oa=Et(),sa=tt(),_r=zt(),aa=kr(),Rr={empty:!0,space:!0};function la(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Bn=class{constructor(e){this.input=e,this.root=new sa,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 ia;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,u=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(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=""),u&&(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,u]of e.entries()){if(r=u,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new ra;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=aa(this.input)}decl(e,n){let i=new oa;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]||la(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 c=e[0][0];if(c===":"||c==="space"||c==="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=[],u;for(;e.length&&(u=e[0][0],!(u!=="space"&&u!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let l=this.stringFrom(e,c);l=this.spacesFromEnd(e)+l,l!==" !important"&&(i.raws.important=l);break}else if(o[1].toLowerCase()==="important"){let l=e.slice(0),p="";for(let f=c;f>0;f--){let h=l[f][0];if(p.trim().startsWith("!")&&h!=="space")break;p=l.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,e=l)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[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 _r;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=[],u=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!u)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}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,u=i.length,a="",c=!0,l,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?c=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",l=i[f+1]?i[f+1][0]:"empty",!Rr[p]&&!Rr[l]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((h,F)=>h+F[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new _r;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})}};vr.exports=Bn});var Jt=Z((Rc,Lr)=>{"use strict";var ua=We(),ca=wt(),da=Dr();function Kt(t,e){let n=new ca(t,e),i=new da(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ua.registerParse(Kt)});var In=Z((vc,Br)=>{"use strict";var Mt=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}};Br.exports=Mt;Mt.default=Mt});var Qt=Z((Dc,Ir)=>{"use strict";var fa=In(),Tt=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 fa(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Ir.exports=Tt;Tt.default=Tt});var On=Z((Lc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Z((Ic,Ur)=>{"use strict";var ma=We(),pa=Wt(),ha=Ln(),xa=Jt(),Wr=Qt(),ga=tt(),ya=ht(),{isClean:Le,my:Sa}=Ot(),Bc=On(),ba={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Aa={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},Ea={Once:!0,postcssPlugin:!0,prepare:!0},it=0;function kt(t){return typeof t=="object"&&typeof t.then=="function"}function qr(t){let e=!1,n=ba[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,it,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,it,n+"Exit"]:[n,n+"Exit"]}function Hr(t){let e;return t.type==="document"?e=["Document",it,"DocumentExit"]:t.type==="root"?e=["Root",it,"RootExit"]:e=qr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Pn(t){return t[Le]=!1,t.nodes&&t.nodes.forEach(e=>Pn(e)),t}var Wn={},qe=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=Pn(n);else if(n instanceof t||n instanceof Wr)r=Pn(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=xa;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[Sa]&&ma.rebuild(r)}this.result=new Wr(e,r,i),this.helpers={...Wn,postcss:Wn,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(!Aa[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ea[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[Le];){e[Le]=!0;let n=[Hr(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=ya;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,u=>{s+=u}),this.result.css=s,this.result}let o=new ha(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[Le];)e[Le]=!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,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[Le]){u[Le]=!0,e.push(Hr(u));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===it){i.nodes&&i.nodes.length&&(i[Le]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Le]=!0;let n=qr(e);for(let i of n)if(i===it)e.nodes&&e.each(r=>{r[Le]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};qe.registerPostcss=t=>{Wn=t};Ur.exports=qe;qe.default=qe;ga.registerLazyResult(qe);pa.registerLazyResult(qe)});var jr=Z((Pc,zr)=>{"use strict";var Fa=Ln(),wa=Jt(),Na=Qt(),Ca=ht(),Oc=On(),_t=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=wa;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=Ca;this.result=new Na(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 Fa(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(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[]}};zr.exports=_t;_t.default=_t});var Vr=Z((Wc,Gr)=>{"use strict";var Ma=Wt(),Ta=Hn(),ka=jr(),_a=tt(),Qe=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 ka(this,e,n):new Ta(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;_a.registerProcessor(Qe);Ma.registerProcessor(Qe)});var eo=Z((Hc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),Ra=We(),va=It(),Jr=Et(),Qr=Wt(),Da=br(),La=wt(),Ba=Hn(),Ia=vn(),Oa=yt(),Pa=Jt(),qn=Vr(),Wa=Qt(),Yr=tt(),Zr=zt(),Ha=ht(),qa=In();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new qn(t)}re.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 u=n(...s);return u.postcssPlugin=e,u.postcssVersion=new qn().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return re([r(a)]).process(s,u)},r};re.stringify=Ha;re.parse=Pa;re.fromJSON=Da;re.list=Ia;re.comment=t=>new Kr(t);re.atRule=t=>new $r(t);re.decl=t=>new Jr(t);re.rule=t=>new Zr(t);re.root=t=>new Yr(t);re.document=t=>new Qr(t);re.CssSyntaxError=va;re.Declaration=Jr;re.Container=Ra;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=qa;re.AtRule=$r;re.Result=Wa;re.Input=La;re.Rule=Zr;re.Root=Yr;re.Node=Oa;Ba.registerPostcss(re);Xr.exports=re;re.default=re});function D(t,e){if(typeof window>"u")return;let n=window,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 Fe(t){try{window.parent.postMessage(t,"*")}catch(e){D("bridge.postMessage",e)}}function ai(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(r==="play"){t.onPlay();return}if(r==="pause"){t.onPause();return}if(r==="seek"){t.onSeek(Number(i.frame??0),i.seekMode??"commit");return}if(r==="tick"){t.onTick();return}if(r==="set-muted"){t.onSetMuted(!!i.muted);return}if(r==="set-volume"){t.onSetVolume(Math.max(0,Math.min(1,Number(i.volume??1))));return}if(r==="set-media-output-muted"){t.onSetMediaOutputMuted(!!i.muted);return}if(r==="set-playback-rate"){t.onSetPlaybackRate(Number(i.playbackRate??1));return}if(r==="enable-pick-mode"){t.onEnablePickMode();return}if(r==="disable-pick-mode"){t.onDisablePickMode();return}if(r==="flash-elements"){let o=i.selectors,s=i.duration||800;o&&ts(o,s)}};return window.addEventListener("message",e),e}function ts(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){D("bridge.flashElements.querySelector",i)}}var fn=null;function li(t){fn=t}function lt(t,e){if(fn)try{fn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){D("runtime.analytics.site1",n)}}function ui(t){let e=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=(u,a)=>{for(let c of u){try{c.currentTime=a}catch(l){D("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){D("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){D("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){D("runtime.adapters.css.site4",c)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let u=document.querySelectorAll("*");for(let a of u){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:u=>{let a=Number(u.time)||0;for(let c of e){if(!c.el.isConnected)continue;let l=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,p=Math.max(0,a-l)*1e3,f=n(c.el);if(f.length>0){i(f,p);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of e){if(!u.el.isConnected)continue;let a=n(u.el);a.length>0&&o(a),s(u)}},play:()=>{for(let u of e)u.el.isConnected&&(s(u),r(n(u.el)))},revert:()=>{e=[]}}}function ci(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,!1):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function di(){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){D("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){D("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){D("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){D("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function pi(){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){D("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(fi(i))i.goToAndStop(e*1e3,!1);else if(mi(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){D("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(fi(e)||mi(e))&&e.pause()}catch(n){D("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function fi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function mi(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var hi=-1;function Bt(t){if(t!==hi){hi=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){D("runtime.adapters.seek-dispatch.site1",e)}}}function xi(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function gi(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function yi(){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=n.source.nextElementSibling;if(o instanceof HTMLImageElement&&o.classList.contains("__render_frame__")&&o.complete&&o.naturalWidth>0)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function Si(){return{name:"waapi",discover:()=>{},seek:t=>{if(!document.getAnimations)return;let e=Math.max(0,(Number(t.time)||0)*1e3);for(let n of document.getAnimations()){try{n.currentTime=e}catch(i){D("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){D("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){D("runtime.adapters.waapi.site3",e)}}}}function bi(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 u=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=s.defaultPlaybackRate,l=Number.isFinite(c)&&c>0?Math.max(.1,Math.min(5,c)):1,p=s.loop,f=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,h=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(h)||h<=0)&&f!=null&&(h=Math.max(0,(f-a)/l));let F=Number.isFinite(h)&&h>0?u+h:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),S={el:s,start:u,mediaStart:a,duration:Number.isFinite(h)&&h>0?h:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(S),s.tagName==="VIDEO"&&r.push(S),Number.isFinite(F)&&(o=Math.max(o,F))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var mn=new WeakMap,ut=new WeakMap,pn=new WeakSet,Ye=new WeakSet;function ns(t){if(Ye.has(t))return;Ye.add(t);let e=()=>Ye.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}function Ai(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){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let _=n.sourceDuration-n.mediaStart;_>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%_)}let s=t.userVolume??1;i.volume=(n.volume??1)*s,e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(_){D("runtime.media.site1",_)}let u=.04,a=2,c=i.currentTime||0,l=Math.abs(c-r),p=r-c,f=mn.get(i);mn.set(i,p);let h=f===void 0,F=!h&&Math.abs(p-f)>.5,E=l>3,S=l>.5&&(h||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!S&&!h&&I&&l>u){let _=(ut.get(i)??0)+1;ut.set(i,_),_>=a&&(M=!0,ut.set(i,0))}else l<=u&&ut.set(i,0);let X=!q&&t.forceSync&&l>.02;if(S||M||X){try{i.currentTime=r}catch(_){D("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){D("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(ns(i),i.play().catch(_=>{Ye.delete(i),(_&&typeof _=="object"&&"name"in _?String(_.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}mn.delete(i),ut.delete(i),pn.delete(i),i.paused||i.pause()}}var is=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),rs=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Ei(t){let e=!1,n=null,i=null,r=null,o=null;function s(g,A){try{window.dispatchEvent(new CustomEvent(g,{detail:A}))}catch(w){D("runtime.picker.site1",w)}}function u(g){r=g,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(g){o=g,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(g){let A=g.ownerDocument.defaultView;if(!A)return!1;let w=g;for(;w&&w!==document.body&&w!==document.documentElement;){let C=A.getComputedStyle(w);if(C.display==="none"||C.visibility==="hidden"||C.pointerEvents==="none")return!0;let T=Number.parseFloat(C.opacity);if(Number.isFinite(T)&&T<=.01)return!0;w=w.parentElement}return!1}function l(g){if(!g||g===document.body||g===document.documentElement)return!1;let A=g.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||g.classList.contains("__hf-pick-highlight")||g.closest(is)||c(g))}function p(g){return!!g?.closest(rs)}function f(g){let A=g;if(A.id)return`#${A.id}`;let w=g.getAttribute("data-composition-id");if(w)return`[data-composition-id="${w}"]`;let C=g.getAttribute("data-composition-src");if(C)return`[data-composition-src="${C}"]`;let T=g.getAttribute("data-track-index");if(T)return`[data-track-index="${T}"]`;let v=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return v;let J=P.querySelectorAll(`:scope > ${v}`);if(J.length===1)return v;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${v}:nth-of-type(${R+1})`;return v}function h(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,v)=>T.length>v?`${T.slice(0,v-1)}\\u2026`:T;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?w.length>0?C(w,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":g.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function F(g,A,w){let C=typeof w=="number"&&w>0?w:8,T=[];if(document.elementsFromPoint)T=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let J=document.elementFromPoint(g,A);T=J?[J]:[]}if(p(T[0]??null))return[];let v={},P=[];for(let J=0;J<T.length;J+=1){let R=T[J];if(!l(R))continue;let le=`${R.tagName}::${R.id||""}::${J}`;if(!v[le]&&(v[le]=!0,P.push(R),P.length>=C))break}return P}function E(g){let A=g.getBoundingClientRect(),w={};for(let T=0;T<g.attributes.length;T+=1){let v=g.attributes[T];v.name.startsWith("data-")&&(w[v.name]=v.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:h(g),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:g.textContent?g.textContent.trim().slice(0,200):null,src:g.getAttribute("src")||g.getAttribute("data-composition-src")||null,dataAttributes:w}}function S(g,A,w){return F(g,A,w).map(E)}function q(g){if(!e)return;let w=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!l(w)||n===w)return;n&&n.classList.remove("__hf-pick-highlight"),n=w,w.classList.add("__hf-pick-highlight");let C=E(w);u(C),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:C})}function I(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=S(g.clientX,g.clientY,8);A.length!==0&&(u(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function M(g){g.key==="Escape"&&(_(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function X(){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",q,!0),document.addEventListener("click",I,!0),document.addEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function _(){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",q,!0),document.removeEventListener("click",I,!0),document.removeEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:X,disable:_,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,w)=>Number.isFinite(g)&&Number.isFinite(A)?S(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=S(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),v=C[T]??null;return v?(a(v),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:v}),_(),v):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=S(g,A,8);if(!C.length)return[];let T=[],v=Array.isArray(w)?w:[0];for(let P of v){let J=Math.max(0,Math.min(C.length-1,Math.floor(Number(P)))),R=C[J];if(!R)continue;T.some(Se=>Se.selector===R.selector&&Se.tagName===R.tagName)||T.push(R)}return T.length?(a(T[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:T}),_(),T):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:_,installPickerApi:N}}function Ze(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 ct(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){D("runtime.player.site1",r)}}}function Fi(t,e,n){let i=Ze(e,n);return t.pause(),typeof t.totalTime=="function"?t.totalTime(i,!1):t.seek(i,!1),i}function os(t,e,n,i){let r=[];ct(t,e,o=>{o.play(),r.push(o)});try{return Fi(e,n,i)}finally{for(let o of r)try{o.pause()}catch(s){D("runtime.player.site2",s)}}}function ss(t,e){ct(t,e,n=>{n.play()})}function wi(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??e.duration()??0)||0);n>0&&Math.max(0,Number(e.time())||0)>=n&&(e.pause(),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()),e.play(),ct(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play()}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;e.pause(),ct(t.getTimelineRegistry?.(),e,i=>{i.pause()});let n=Math.max(0,Number(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=os(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play(),ct(t.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(t.getPlaybackRate()),u.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?(ss(t.getTimelineRegistry?.(),n),Fi(n,e,i)):Ze(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Number(t.getTimeline()?.time()??0),getDuration:()=>Number(t.getTimeline()?.duration()??0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Ni(){return{capturedTimeline:null,isPlaying:!1,rafId:null,currentTime:0,deterministicAdapters:[],parityModeEnabled:!0,canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,clampDurationLoggedRaw:null,beforeUnloadHandler:null,domReadyHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,maxTimelineDurationSeconds:1800,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var as="data-hf-authored-duration",ls="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function us(t){return $e(t.getAttribute("data-duration"))}function cs(t){return $e(t.getAttribute("data-end"))}function ds(t){return $e(t.getAttribute(as))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){let e=(t??"").trim();if(!e)return null;let n=$e(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",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function Ke(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=l=>{let p=document.getElementById(l);return p||(document.querySelector(`[data-composition-id="${CSS.escape(l)}"]`)??null)},u=l=>{let p=r.get(l);if(p!==void 0)return p;let f=null,h=us(l)??(n?ds(l):null);if(h!=null&&h>0&&(f=h),f==null||f<=0){let F=cs(l)??(n?fs(l):null);if(F!=null){let E=c(l,0),S=F-E;Number.isFinite(S)&&S>0&&(f=S)}}if((f==null||f<=0)&&l instanceof HTMLMediaElement){let F=$e(l.getAttribute("data-playback-start"))??$e(l.getAttribute("data-media-start"))??0;Number.isFinite(l.duration)&&l.duration>F&&(f=l.duration-F)}if(f==null||f<=0){let F=l.getAttribute("data-composition-id");if(F){let E=e[F]??null;if(E&&typeof E.duration=="function")try{let S=Number(E.duration());Number.isFinite(S)&&S>0&&(f=S)}catch(S){D("runtime.startResolver.site1",S)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(l,f),f):(r.set(l,null),null)},a=(l,p)=>{if(l.hasAttribute("data-composition-id")){let h=l.parentElement?.closest("[data-composition-id]");return h?c(h,p):0}let f=l.closest("[data-composition-id]");return f?c(f,p):0},c=(l,p)=>{let f=i.get(l);if(f!==void 0)return f??p;if(o.has(l))return p;o.add(l);try{let h=ms(l.getAttribute("data-start"));if(!h){if(l.hasAttribute("data-composition-id")){let I=l.parentElement;if(I&&(I.hasAttribute("data-composition-src")||I.hasAttribute("data-composition-id"))){let M=c(I,p);return i.set(l,M),M}}return i.set(l,p),p}if(h.kind==="absolute"){let I=Math.max(0,h.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(h.refId);if(!F)return i.set(l,p),p;let E=c(F,0),S=u(F);if(S==null||S<=0){let I=Math.max(0,E+h.offset);return i.set(l,I),I}let q=Math.max(0,E+S+h.offset);return i.set(l,q),q}finally{o.delete(l)}};return{resolveStartForElement:(l,p=0)=>c(l,Math.max(0,p)),resolveDurationForElement:l=>u(l)}}var ps="data-hf-authored-duration",hs="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function hn(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(ps))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(hs))}function xn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Mi={composition:0,video:1,image:2,element:3,audio:4};function xs(t){if(t.length===0)return;let e=new Map;for(let s of t){let u=e.get(s.track)??new Set;u.add(s.kind),e.set(s.track,u)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,u)=>s-u);for(let s of o){let u=e.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((c,l)=>(Mi[c]??99)-(Mi[l]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function ft(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 Ti(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return ft(e);let n=t.getAttribute("data-composition-src");if(n)return ft(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?ft(i.getAttribute("src")):null}function gs(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 ys(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 Ss(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function dt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function bs(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 dt(r);let o=t.id;if(o)return dt(o);let s=gs(t);if(s)return dt(s);let u=ys(Ti(t));if(u)return dt(u);let a=Ss(t);return a||`${dt(e)} ${n+1}`}function ki(t){let n=window.__timelines??{},i=Ke({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=H=>{if(!H)return null;let k=n[H]??null;if(!k||typeof k.duration!="function")return null;try{let O=Number(k.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=H=>{let k=we(H.getAttribute("data-duration"));if(k!=null&&k>0)return k;let O=we(H.getAttribute("data-playback-start"))??we(H.getAttribute("data-media-start"))??0;return Number.isFinite(H.duration)&&H.duration>O?Math.max(0,H.duration-O):null},s=()=>{let H=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(H.length===0)return null;let k=0;for(let O of H){let ie=i.resolveStartForElement(O,0);if(!Number.isFinite(ie))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ie)+ee))}return k>0?k:null},u=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ie=null,ee=null,z=null,U=H.parentElement;for(;U;){let G=U.getAttribute("data-composition-id");G&&(O.push(G),!z&&U!==k&&(z=G),ie==null&&(ie=i.resolveStartForElement(U,0)),ee==null&&(ee=we(U.getAttribute("data-duration"))??r(G)??null)),U=U.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ie,inheritedDuration:ee}},c=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),p=c?.getAttribute("data-composition-id")??null,f=c?i.resolveStartForElement(c,0):0,h=s(),F=h!=null?Math.max(0,h-Math.max(0,f)):null,E=r(p),S=hn(c??document.body),q=xn(...l.filter(H=>H!==c).map(H=>{let k=i.resolveStartForElement(H,0),O=i.resolveDurationForElement(H)??r(H.getAttribute("data-composition-id"))??null;return!Number.isFinite(k)||O==null||O<=0?null:Math.max(0,k)+O})),I=q!=null?Math.max(0,q-Math.max(0,f)):null,M=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,_=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=typeof I=="number"&&Number.isFinite(I)&&I>0?I:null,g=xn(_,N),A=M!=null&&g!=null&&M>g+1,w=X??(A?g:xn(M,_,N)),C=w!=null?Math.min(w,t.maxTimelineDurationSeconds):null,v=(C!=null?f+C:null)??(typeof h=="number"&&Number.isFinite(h)&&h>0?h:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:v==null||!Number.isFinite(v)?k:!Number.isFinite(H)||H>=v?0:Math.max(0,Math.min(k,v-H)),J=[],R=[],le=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Se=0;for(let H=0;H<le.length;H+=1){let k=le[H];if(k===c||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(k.tagName))continue;let O=a(k,c),ie=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=hn(k);if((z==null||z<=0)&&ee&&ee!==p&&(z=r(ee)),(z==null||z<=0)&&k instanceof HTMLMediaElement){let Ee=we(k.getAttribute("data-playback-start"))??we(k.getAttribute("data-media-start"))??0;Number.isFinite(k.duration)&&k.duration>0&&(z=Math.max(0,k.duration-Ee))}if(z==null||z<=0){let Ee=O.inheritedDuration;if(Ee!=null&&Ee>0){let ce=(O.inheritedStart??0)+Ee;z=Math.max(0,ce-ie)}}if(z==null||z<=0||(z=P(ie,z),z<=0))continue;let U=ie+z;Se=Math.max(Se,U);let G=k.tagName.toLowerCase(),ve=ee&&ee!==p?"composition":G==="video"?"video":G==="audio"?"audio":G==="img"?"image":"element";J.push({id:k.id||ee||null,label:bs(k,ve,J.length),start:ie,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:ve,tagName:G,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:ft(k.getAttribute("data-composition-src")),assetUrl:Ti(k),timelineRole:k.getAttribute("data-timeline-role"),timelineLabel:k.getAttribute("data-timeline-label"),timelineGroup:k.getAttribute("data-timeline-group"),timelinePriority:we(k.getAttribute("data-timeline-priority"))})}let V=new Set(J.map(H=>H.id)),j=c?.getAttribute("data-composition-id")??null,W=j?n[j]??null:null;if(W&&c){let H=W;if(typeof H.getChildren=="function")try{let k=H.getChildren(!0,!0,!1)??[],O=new Map;for(let z of c.children){let U=z;if(!U.id)continue;let G=U.tagName.toLowerCase();G==="script"||G==="style"||G==="link"||O.set(U,{id:U.id,start:1/0,end:-1/0})}let ie=z=>{let U=z;for(;U;){if(O.has(U))return U;if(U===c)return null;U=U.parentElement}return null};for(let z of k){if(typeof z.targets!="function"||typeof z.startTime!="function"||typeof z.duration!="function")continue;let U=z.startTime(),G=z.parent;for(;G&&G!==W&&typeof G.startTime=="function";)U+=G.startTime(),G=G.parent;let ve=U+z.duration();if(!(!Number.isFinite(U)||!Number.isFinite(ve)))for(let Ee of z.targets()){if(!(Ee instanceof Element))continue;let Me=ie(Ee);if(!Me)continue;let ce=O.get(Me);ce&&(ce.start=Math.min(ce.start,U),ce.end=Math.max(ce.end,ve))}}let ee=J.length>0?Math.max(...J.map(z=>z.track))+1:0;for(let[z,U]of O){if(U.start===1/0||U.end===-1/0)continue;let G=z;if(V.has(G.id))continue;let ve=Math.max(0,U.end-U.start);if(ve<=0)continue;let Ee=P(U.start,ve);Ee<=0||(Se=Math.max(Se,U.start+Ee),J.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:U.start,duration:Ee,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:G.tagName.toLowerCase(),compositionId:G.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:G.getAttribute("data-timeline-role"),timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:we(G.getAttribute("data-timeline-priority"))}),V.add(G.id))}}catch(k){D("runtime.timeline.site1",k)}}if(c&&C!=null&&C>0){let H=J.length>0?Math.max(...J.map(k=>k.track))+1:0;for(let k of c.children){let O=k;if(!O.id||V.has(O.id))continue;let ie=O.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ee=O.tagName.toLowerCase();if(ee==="script"||ee==="style"||ee==="link"||ee==="meta"||window.getComputedStyle(O).display==="none")continue;let U=P(0,C);U<=0||(Se=Math.max(Se,U),J.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:U,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||H,kind:"element",tagName:ee,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:we(O.getAttribute("data-timeline-priority"))}),V.add(O.id))}}xs(J);for(let H of l){if(H===c)continue;let k=H.getAttribute("data-composition-id");if(!k||!u(k))continue;let O=i.resolveStartForElement(H,0),ie=hn(H);if((ie==null||ie<=0)&&Ci(H)!=null){let G=Ci(H);ie=Math.max(0,G-O)}let ee=r(k),z=ie&&ie>0?ie:ee;if(z==null||z<=0)continue;let U=P(O,z);U<=0||R.push({id:k,label:H.getAttribute("data-label")??k,start:O,duration:U,thumbnailUrl:ft(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Y=Math.max(1,Math.min(Math.max(Se||1,C??0),t.maxTimelineDurationSeconds));return{source:"hf-preview",type:"timeline",durationInFrames:A&&X==null?Number.POSITIVE_INFINITY:Math.max(1,Math.round(Y*Math.max(1,t.canonicalFps))),clips:J,scenes:R,compositionWidth:we(c?.getAttribute("data-width"))??1920,compositionHeight:we(c?.getAttribute("data-height"))??1080}}var ae=es(eo(),1),to=ae.default,qc=ae.default.stringify,Uc=ae.default.fromJSON,zc=ae.default.plugin,jc=ae.default.parse,Gc=ae.default.list,Vc=ae.default.document,$c=ae.default.comment,Kc=ae.default.atRule,Jc=ae.default.rule,Qc=ae.default.decl,Yc=ae.default.root,Zc=ae.default.CssSyntaxError,Xc=ae.default.Declaration,ed=ae.default.Container,td=ae.default.Processor,nd=ae.default.Document,id=ae.default.Comment,rd=ae.default.Warning,od=ae.default.AtRule,sd=ae.default.Result,ad=ae.default.Input,ld=ae.default.Rule,ud=ae.default.Root,cd=ae.default.Node;var no="data-hf-authored-id";function Un(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function io(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ua(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ro(t){let e=t.trim();return e?Array.from(new Set([e,Ua(e)])).filter(Boolean):[]}function za(t){return!!t&&/[\\w-]/.test(t)}function ja(t,e,n){let i=ro(e).sort((u,a)=>a.length-u.length);if(i.length===0)return t;let r="",o=0,s=null;for(let u=0;u<t.length;u+=1){let a=t[u],c=u>0?t[u-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(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 l=i.find(p=>t.startsWith(p,u+1));if(l){let p=t[u+1+l.length];if(!za(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Ga(t,e){let n=e?.trim();return n?ja(t,n,`[${no}="${io(n)}"]`):t}function Va(t,e,n,i){let r=Ga(t,i),o=$a(r,e,n),s=o.trim();if(!s||/^(html|body|:root|\\*)$/i.test(s))return t;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Un(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return o.replace(u,e);let a=o.match(/^\\s*/)?.[0]??"",c=o.match(/\\s*$/)?.[0]??"";return`${a}${e} ${s}${c}`}function $a(t,e,n){let i=Un(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 Ka=new Set(["keyframes","-webkit-keyframes","font-face"]);function Ja(t){return t?.type==="atrule"}function Qa(t){let e=t.parent;for(;e;){if(Ja(e)&&Ka.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function zn(t,e,n,i){let r=e.trim();if(!t||!r)return t;let o=n||`[data-composition-id="${io(r)}"]`,s=to.parse(t);return s.walkRules(u=>{Qa(u)||(u.selectors=u.selectors.map(a=>Va(a,o,r,i)))}),s.toResult({map:!1}).css}function oo(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),u=JSON.stringify(r),a=JSON.stringify(n),c=Un(e),l=JSON.stringify(o?.trim()||null),p=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),h=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),F=JSON.stringify(ro(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${l};\n var __hfAuthoredRootAttr = ${JSON.stringify(no)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${h};\n var __hfAuthoredRootIdForms = ${F};\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 var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\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}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function so(){if(typeof document>"u")return{};let t=jn(document.documentElement),e=Ya();return{...t,...e}}function jn(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 Ya(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Za=8e3,Xa=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function el(t,e){return`${t}__hf${e}`}var tl=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"),Za)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var nl=["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 il(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of nl)e.removeAttribute(i);return n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true"),e}function ao(t,e){let n=t.trim();if(!n)return t;try{return Xa.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function rl(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 Yt(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 ol(t){let e=new Map;for(let n of t){let i=Yt(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function lo(t){let e=Yt(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function sl(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function al(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:sl(t):!1}function $n(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:lo(e))}function uo(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set($n().map(n=>Yt(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function co(t,e=ol(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=al(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(u){let l=a?(n.get(o)||0)+1:0;a&&n.set(o,l),c=a?el(o,l):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Vn(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(h=>h.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.headStyles)for(let f of t.headStyles){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let a=[];if(t.headScripts)for(let f of t.headScripts){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),h=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(h);f&&t.host.setAttribute("data-width",f),h&&t.host.setAttribute("data-height",h),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(il(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...rl(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 l){let h=document.createElement("script");if(f.type&&(h.type=f.type),h.async=!1,f.kind==="external"?h.src=f.src:f.type.toLowerCase()==="module"?h.textContent=f.content:f.scopeCompositionId?h.textContent=oo(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):h.textContent=`(function(){${f.content}})();`,document.body.appendChild(h),t.injectedScripts.push(h),f.kind==="external"){let F=await tl(h);F.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:F.status,elapsedMs:F.elapsedMs}})}}}async function fo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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 u=document.querySelector(`template#${CSS.escape(s)}-template`);Gn(r),await Vn({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function mo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Gn(r);try{let l=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(l){await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(u?F.querySelector(`template#${CSS.escape(u)}-template`):null)??F.querySelector("template"),S=E?E.content:F.body,q=E?void 0:Array.from(F.head.querySelectorAll("style")),I=E?void 0:Array.from(F.head.querySelectorAll("script"));await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:q,headScripts:I,declaredVariableDefaults:jn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(l){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:l instanceof Error?l.message:"unknown_error"}}),Gn(r)}}))}function ll(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function ul(){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 cl(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 Kn(){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=ul();for(let i of e){let r=null;if(i.wordId&&(r=ll(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(l=>l.vars.color!==void 0).sort((l,p)=>l.startTime()-p.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let l of a)String(l.vars.color)===c?i.dimColor&&(l.vars.color=i.dimColor):i.activeColor&&(l.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 u=cl(r);t.set(u,o)}}}).catch(()=>{})}var Zt=class{constructor(e){Ae(this,"_baseTime",0);Ae(this,"_playStartMs",null);Ae(this,"_rate",1);Ae(this,"_duration",1/0);Ae(this,"_nowMs");Ae(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 po(t){return!Number.isFinite(t)||t<=0?1:t}var Xt=class{constructor(){Ae(this,"_ctx",null);Ae(this,"_bufferCache",new Map);Ae(this,"_activeSources",[]);Ae(this,"_masterGain",null);Ae(this,"_rateAnchorCtx",0);Ae(this,"_rateAnchorComp",0);Ae(this,"_rate",1);Ae(this,"_paused",!0);Ae(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._ctx)return null;try{let r=await(await fetch(n)).arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return D("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,u,a=1){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=po(a),l=this._ctx.createBufferSource();l.buffer=n,l.playbackRate.value=c;let p=this._ctx.createGain();p.gain.value=s,l.connect(p),p.connect(this._masterGain);let f=o-i,h=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=h,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let S=-f/c;l.start(h+S,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:h,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return D("webAudioTransport.schedule",c),null}}setRate(e){let n=po(e);if(n!==this._rate){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){D("webAudioTransport.setRate",r)}}}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)))}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var ho="data-hf-authored-duration",xo="data-hf-authored-end";function go(){let t=Ni(),e=window,n=null,i=null,r=[],o=new Set,s=null;if(typeof e.__hfRuntimeTeardown=="function")try{e.__hfRuntimeTeardown()}catch(d){D("runtime.init.site1",d)}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 u=d=>{r.push(d)},a=(d,m,x)=>{let b=x??`${d}:${JSON.stringify(m)}`;o.has(b)||(o.add(b),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},x=[],b=[],y={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>m,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>x,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:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,h=.05,F=100,E=240,S=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??"")}},q=d=>{let m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},I=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},M=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.length===0?null:m.find(x=>!x.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x),m&&d.style.setProperty("--comp-width",m),x&&d.style.setProperty("--comp-height",x)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(x=>x.hasAttribute("data-duration")||x.hasAttribute("data-end"));for(let x of m){if(d&&x===d)continue;let b=x.getAttribute("data-duration"),y=x.getAttribute("data-end");b!=null&&!x.hasAttribute(ho)&&x.setAttribute(ho,b),y!=null&&!x.hasAttribute(xo)&&x.setAttribute(xo,y),x.removeAttribute("data-duration"),x.removeAttribute("data-end")}},N=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x);let b=Array.from(d.children);for(let y of b){let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!y.hasAttribute("data-start"))continue;let te=(y.style.top==="0px"||y.style.top==="0")&&(y.style.left==="0px"||y.style.left==="0")&&y.style.width==="100%"&&y.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&$&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Ve=y.style.top,me=y.style.left,at=y.style.width,oe=y.style.height;y.style.top="",y.style.left="",y.style.width="",y.style.height="";let Q=window.getComputedStyle(y);Q.top!=="auto"||Q.bottom!=="auto"||Q.left!=="auto"||Q.right!=="auto"||Q.width!=="0px"||Q.height!=="0px"||(y.style.top=Ve,y.style.left=me,y.style.width=at,y.style.height=oe)}let ne=window.getComputedStyle(y),ge=ne.position;if(ge!=="absolute"&&ge!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ne.top!=="auto"||ne.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ne.left!=="auto"||ne.right!=="auto"||(y.style.left="0"),L!=="audio"){let Ve=I(y.getAttribute("data-width")),me=I(y.getAttribute("data-height")),at=ne.width!=="0px"&&ne.width!=="auto",oe=ne.height!=="0px"&&ne.height!=="auto";Ve?!y.style.width&&!at&&(y.style.width=Ve):!y.style.width&&ne.width==="0px"&&(y.style.width="100%"),me?!y.style.height&&!oe&&(y.style.height=me):!y.style.height&&ne.height==="0px"&&(y.style.height="100%")}}},g=(d,m=0,x)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:x?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),A=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),w=!!document.querySelector("[data-composition-src]"),C=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let x=m.getAttribute("data-composition-id");if(x&&m.children.length===0&&document.querySelector(`template#${CSS.escape(x)}-template`)){C=!0;break}}}let T=!w&&!C,v=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>l,J=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;let x=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(x)?Math.max(0,x):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},R=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let x of d){let b=g(x,0);if(!Number.isFinite(b))continue;let y=J(x);y==null||y<=l||(m=Math.max(m,Math.max(0,b)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},x=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),b=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let L of y){if(!(L instanceof Element)||L.parentElement?.closest("[data-composition-id]")!==d)continue;let $=x.resolveStartForElement(L,0),ne=x.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(b=Math.max(b,Math.max(0,$)+ne))}return b>l?b:null},Se=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=l?null:d},V=d=>P(d)?Math.max(l,d*p):l,j=(d,m=0)=>{let x=v(d),b=Se(),y=le(),L=Math.max(b??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(x)?$=Math.max(x,L,te):P(L)?$=Math.max(L,te):$=te;let ne=Math.max(1,Number(t.maxTimelineDurationSeconds)||1800);return $>0?Math.max(0,Math.min($,ne)):0},W=()=>{let d=window.__timelines??{},m=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),x=Se(),b=le(),y=Math.max(x??0,b??0)||null,L=V(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?m.resolveStartForElement(Q,0):0},$=oe=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let ue=Q.timeline({paused:!0});for(let he of oe)ue.add(he.timeline,te(he.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let he=ue.timeline({paused:!0});if(Q)try{he.add(Q,0)}catch(se){D("runtime.init.site2",se)}let be=he;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){D("runtime.init.site3",se)}return he},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let he=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(he))return[];let be=[];for(let se of Q)if(!he.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){D("runtime.init.site4",ke)}return be}catch{return[]}},Be=M(),fe=Be?.getAttribute("data-composition-id")??null;if(!fe)return{timeline:null};let ye=d[fe]??null,me=(()=>{if(!Be)return[];let oe=new Set,Q=Array.from(Be.querySelectorAll("[data-composition-id]")),ue=[];for(let he of Q){let be=he.getAttribute("data-composition-id");if(!be||be===fe||oe.has(be))continue;oe.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ce=v(se);ue.push({compositionId:be,timeline:se,durationSeconds:Ce??0})}return ue})(),at=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(he){D("runtime.init.site5",he)}}};if(me.length>0&&at(me),ye){let oe=me.length>0?ge(ye,me):[];if((me.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+fe+"\'])"))&&(Y=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=v(ye);if(!P(Q)&&me.length>0){let se=me.map(Vo=>Vo.compositionId),Ce=$(me),ke=v(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=v(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=v(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),he=ue?parseFloat(ue):null,be=Math.max(P(he)?he:0,b??0);if(be>0&&P(be)&&P(Q)&&be>=Q+.5){let se=ye;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){D("runtime.init.site6",ke)}let Ce=v(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:b,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:x,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:fe,selectedDurationSeconds:Q,autoNestedChildren:oe}}:void 0}}if(me.length>0){let oe=me.map(he=>he.compositionId),Q=$(me),ue=v(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,selectedTimelineIds:oe}}}}return{timeline:null}},Y=!1,pe=()=>{if(!T)return!1;let d=t.capturedTimeline,m=v(d),x=P(m);if(d&&x&&Y)return!1;let b=W();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 y=j(t.capturedTimeline,0);if(y>0){try{B.setDuration(y)}catch{}t.capturedTimeline.pause()}return b.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),!0};window.__hfForceTimelineRebind=()=>{Y=!1,pe()};let Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),x=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(x)&&x>0&&Number.isFinite(b)&&b>0,te=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!te||a("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:x,declaredHeight:b,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:y.display,visibility:y.visibility,overflow:y.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},H=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,Ne()}))},k=()=>{n=d=>{let m=S(d.error??d.message).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:x.code,details:{category:x.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let m=S(d.reason).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${x.code}_unhandled_rejection`,details:{category:`${x.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},O=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let x of d){let b=()=>{if(!(x instanceof Element))return;let y=x.tagName.toLowerCase(),L=x.getAttribute("src")??x.getAttribute("href")??x.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(x instanceof HTMLImageElement||x instanceof HTMLMediaElement)&&x.currentSrc||null,readyState:x instanceof HTMLMediaElement?x.readyState:null,networkState:x instanceof HTMLMediaElement?x.networkState:null},`${te}:${y}:${L??"unknown"}`)};x.addEventListener("error",b),u(()=>{x.removeEventListener("error",b)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let x=Array.from(m).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);x.length!==0&&a("runtime_font_load_issue",{failedFamilies:x,totalFaces:Array.from(m).length},`runtime-font-load-issue:${x.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let x=t.capturedTimeline;if(x&&x===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),y=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),y&&t.capturedTimeline.play()}catch(L){D("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,U=new Set,G=()=>{t.tornDown||(ee!=null&&window.clearTimeout(ee),ee=window.setTimeout(()=>{if(t.tornDown)return;ee=null;let d=W();if(!d.timeline||!P(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){pe()&&(je(),ce(!0));return}if(z)return;let x=v(t.capturedTimeline),b=d.selectedDurationSeconds??v(d.timeline);P(b)&&(!P(x)||b>=x+h)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:x??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),je(),ce(!0))},F))},ve=()=>{for(let d of U)d.removeEventListener("loadedmetadata",G),d.removeEventListener("durationchange",G);U.clear()},Ee=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d)U.has(m)||(U.add(m),m.addEventListener("loadedmetadata",G),m.addEventListener("durationchange",G),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load())},Me=()=>{let d=y=>{let L=y.closest("[data-composition-id]"),te=L?g(L,0):null,$=L?A(L,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:L,inheritedStart:te,inheritedDuration:$}},m=bi({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let L=d(y);return g(y,L.inheritedStart??0)},resolveDurationSeconds:y=>{let L=d(y),te=g(y,L.inheritedStart??0),$=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ne=L.inheritedStart!=null&&L.inheritedDuration!=null&&L.inheritedDuration>0?Math.max(0,L.inheritedStart+L.inheritedDuration-te):null,ge=Number.isFinite(y.duration)&&y.duration>$?Math.max(0,y.duration-$):null;return ge!=null&&ne!=null?Math.min(ge,ne):ge??ne}}),x=t.mediaForceSyncNextTick;x&&(t.mediaForceSyncNextTick=!1),Ai({clips:m.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||xe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:x,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]"));for(let y of b){if(!(y instanceof HTMLElement))continue;let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta")continue;let te=g(y,0),$=A(y),ne=y.getAttribute("data-composition-id");if(ne){let fe=(window.__timelines??{})[ne],ye=null;if(fe&&typeof fe.duration=="function"){let me=Number(fe.duration());Number.isFinite(me)&&me>0&&(ye=me)}let Ve=y.hasAttribute("data-composition-src")||y.hasAttribute("data-composition-file");$!=null&&$>0&&ye!=null&&!Ve?$=Math.min($,ye):($==null||$<=0)&&ye!=null&&($=ye)}let ge=$!=null&&$>0?te+$:Number.POSITIVE_INFINITY,Be=t.currentTime>=te&&(Number.isFinite(ge)?t.currentTime<ge:!0);y.style.visibility=Be?"visible":"hidden"}},ce=d=>{let m=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),x=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||x-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=x,Fe({source:"hf-preview",type:"state",frame:m,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},je=()=>{_(),X(),N();let d=M();if(d){let x=I(d.getAttribute("data-width")),b=I(d.getAttribute("data-height")),y=x?parseInt(x,10):0,L=b?parseInt(b,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}pe();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let x of t.deterministicAdapters){try{d==="discover"&&x.discover(),d==="pause"&&x.pause(),d==="play"&&x.play&&x.play()}catch(b){D("runtime.init.site8",b)}if(d==="discover")try{x.seek({time:m})}catch(b){D("runtime.init.site9",b)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:x})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:x})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,pe(),De("discover",t.currentTime),Ee(),O(),Kn(),je(),ce(!0)})}let Dt=Ei({postMessage:d=>Fe(d)});Dt.installPickerApi();let sn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,m)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let x=document.querySelectorAll("video, audio");for(let b of x)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(y){D("runtime.init.site10",y)}},de=wi({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:sn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,m)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==m&&(t.mediaForceSyncNextTick=!0),t.isPlaying=m,Me()},onStatePost:ce,onDeterministicSeek:d=>{for(let m of t.deterministicAdapters)try{m.seek({time:Number(d)||0})}catch(x){D("runtime.init.site11",x)}},onDeterministicPause:()=>De("pause"),onDeterministicPlay:()=>De("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>j(t.capturedTimeline,0)});window.__player=c(de),window.__playerReady=!0,window.__renderReady=!0,li(Fe),lt("composition_loaded",{duration:de.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=ai({onPlay:()=>{de.play(),lt("composition_played",{time:de.getTime()})},onPause:()=>{de.pause(),lt("composition_paused",{time:de.getTime()})},onSeek:(d,m)=>{let x=Math.max(0,d)/t.canonicalFps;de.seek(x),lt("composition_seeked",{time:x})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement))continue;let b=parseFloat(x.dataset.volume??""),y=Number.isFinite(b)?b:1;x.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetPlaybackRate:d=>{sn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),xe.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,Ge(d),B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0)}},onEnablePickMode:()=>Dt.enablePickMode(),onDisablePickMode:()=>Dt.disablePickMode()}),pe(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;pe()&&t.capturedTimeline!==d&&(de._timeline=t.capturedTimeline),De("discover",t.currentTime),je(),ce(!0)},0),t.deterministicAdapters=[Si(),ui({resolveStartSeconds:d=>g(d,0)}),di(),pi(),xi(),gi(),ci({getTimeline:()=>t.capturedTimeline})],yi(),k(),De("discover"),Ee();let B=new Zt;t.transportClock=B;let xe=new Xt,ii=!1;xe.init().then(d=>{ii=d});let Lt=0,an=!1,jo=(d,m,x)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(b){D(x,b)}},Go=d=>{let m=window.__timelines??{},x=M()?.getAttribute("data-composition-id")??null;for(let[b,y]of Object.entries(m)){if(!y||b===x)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=v(y),ge=$!=null&&$>0?$:ne,Be=Math.max(0,ge!=null&&ge>0?Math.min(ge,d-te):d-te);jo(y,Be,"runtime.init.transport.childTimeline")}},Ge=d=>{let m=t.capturedTimeline;if(m)try{typeof m.totalTime=="function"?m.totalTime(d,!1):m.seek(d,!1)}catch(x){D("runtime.init.transport.seek",x)}else Go(d);for(let x of t.deterministicAdapters)try{x.seek({time:d})}catch(b){D("runtime.init.transport.adapter",b)}},ri=()=>{if(!(t.tornDown||an)){an=!0;try{if(t.transportRafId=window.requestAnimationFrame(ri),Lt+=1,Lt%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<f)){let x=t.capturedTimeline;if(pe()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==x&&t.capturedTimeline.pause();let b=j(t.capturedTimeline,0);b>0&&B.setDuration(b),je()}}if(Lt%20===0&&je(),Lt%30===0&&Ee(),t.capturedTimeline){let m=j(t.capturedTimeline,0);m>0&&B.setDuration(m)}if(B.isPlaying()&&!t.mediaOutputMuted)if(xe.isActive()&&xe.context){let m=xe.getTime();m>=0&&B.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),x=!1;for(let b of m){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let y=Number.parseFloat(b.dataset.start??""),L=Number.parseFloat(b.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),x=!0):(B.attachAudioSource({el:b,compositionStart:y,mediaStart:$}),x=!0);break}}!x&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,Ge(d),B.isPlaying()&&B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0);return}B.isPlaying()&&Me(),ce(!1)}finally{an=!1}}},oi=d=>{let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement)||!x.isConnected)continue;let b=Number.parseFloat(x.dataset.start??"");if(!Number.isFinite(b))continue;let y=Number.parseFloat(x.dataset.duration??""),L=Number.isFinite(y)&&y>0?b+y:1/0;if(d<b||d>=L)continue;let te=Number.parseFloat(x.dataset.playbackStart??x.dataset.mediaStart??"0")||0,$=d-b+te;if($>=0)try{x.currentTime=$}catch{}}};if(de.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let m=j(d,0);if(m>0)B.setDuration(m),B.reachedEnd()&&(B.seek(0),t.currentTime=0,Ge(0));else{let x=M(),b=Number(x?.getAttribute("data-duration")??0);b>0&&B.setDuration(b)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let x=xe.startGeneration(),b=document.querySelectorAll("audio[data-start]");for(let y of b){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let L=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(L))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,$=Number.parseFloat(y.dataset.volume??""),ne=Number.isFinite($)?$:1;xe.decodeAudioElement(y).then(ge=>{!ge||!B.isPlaying()||xe.schedulePlayback(y,ge,L,te,B.now(),ne*t.bridgeVolume,x,t.playbackRate)})}}De("play"),Me(),ce(!0)}},de.pause=()=>{if(!B.isPlaying())return;xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,oi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),De("pause"),Me(),ce(!0)},de.seek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);xe.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),Ge(t.currentTime),De("pause"),Me(),ce(!0)},de.renderSeek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,Ge(t.currentTime),Me(),ce(!0)},de.getTime=()=>B.now(),de.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},de.isPlaying=()=>B.isPlaying(),de.setPlaybackRate=d=>{sn(d),B.setRate(t.playbackRate),xe.setRate(t.playbackRate)},t.capturedTimeline){let d=j(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let si=window.__player;if(si){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(si,m,{get:()=>de[m],set:x=>{de[m]=x},configurable:!0})}t.transportRafId=window.requestAnimationFrame(ri),je(),ce(!0);let ln=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,xe.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ve(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Dt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){D("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){D("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){D("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){D("runtime.init.site15",m)}t.injectedCompScripts=[],t.capturedTimeline=null,e.__hfRuntimeTeardown===ln&&(e.__hfRuntimeTeardown=null)}};e.__hfRuntimeTeardown=ln,t.beforeUnloadHandler=ln,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var yo=["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"],Jn=[[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 dl(t){if(t<=255)return yo[t];let e=0,n=Jn.length-1;for(;e<=n;){let i=e+n>>1,r=Jn[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function fl(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let l=t.charCodeAt(c),p=l,f=1;if(l>=55296&&l<=56319&&c+1<e){let F=t.charCodeAt(c+1);F>=56320&&F<=57343&&(p=(l-55296<<10)+(F-56320)+65536,f=2)}let h=dl(p);(h==="R"||h==="AL"||h==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=h;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let l=n[c];if(l==="L"){r=0;break}if(l==="R"||l==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",u=s,a=u;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="AL"?"AN":"EN":(l==="R"||l==="L"||l==="AL")&&(a=l)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let l;for(l=c-1;l>=0&&n[l]==="ET";l--)n[l]="EN";for(l=c+1;l<e&&n[l]==="ET";l++)n[l]="EN"}for(let c=0;c<e;c++){let l=n[c];(l==="WS"||l==="ES"||l==="ET"||l==="CS")&&(n[c]="ON")}a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="L"?"L":"EN":(l==="R"||l==="L")&&(a=l)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let l=c+1;for(;l<e&&n[l]==="ON";)l++;let p=c>0?n[c-1]:u,f=l<e?n[l]:u,h=p!=="L"?"R":"L";if(h===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=h;c=l-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let l=n[c];(o[c]&1)===0?l==="R"?o[c]++:(l==="AN"||l==="EN")&&(o[c]+=2):(l==="L"||l==="AN"||l==="EN")&&o[c]++}return o}function So(t,e){let n=fl(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 ml=/[ \\t\\n\\r\\f]+/g,pl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function hl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function xl(t){if(!pl.test(t))return t;let e=t.replace(ml," ");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 gl(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Qn=null,yl;function Sl(){return Qn===null&&(Qn=new Intl.Segmenter(yl,{granularity:"word"})),Qn}var bl=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return bl.test(t)}function Ao(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 Re(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(Ao(r))return!0;e++;continue}}if(Ao(n))return!0}}return!1}function Al(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var El=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Fl(t){return Re(t)}function wl(t){let e=rn(t);return e!==null&&El.has(e)}function tn(t){return!Al(t)&&!wl(t)}var nn=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"]),vt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Zn=new Set(["\'","\\u2019"]),Ue=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Nl=new Set([":",".","\\u060C","\\u061B"]),Cl=new Set(["\\u104F"]),Ml=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Tl(t){if(Xn(t))return!0;let e=!1;for(let n of t){if(Ue.has(n)){e=!0;continue}if(!(e&&en.test(n)))return!1}return e}function kl(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function _l(t){if(Xn(t))return!0;for(let e of t)if(!vt.has(e)&&!Zn.has(e)&&!en.test(e))return!1;return t.length>0}function Xn(t){let e=!1;for(let n of t)if(!(n==="\\\\"||en.test(n))){if(vt.has(n)||Ue.has(n)||Zn.has(n)){e=!0;continue}return!1}return e}function To(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 rn(t){if(t.length===0)return null;let e=To(t,t.length);return t.slice(e)}function Rl(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(en.test(i)){n--;continue}if(vt.has(i)||Zn.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function vl(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Eo(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 u=r.repeat(s);return t[i]=u,u}function Fo(t,e){return t&&e!==null&&Nl.has(e)}function Dl(t){let e=rn(t);return e!==null&&Cl.has(e)}function Ll(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 on(t){let e=t.length;for(;e>0;){let n=To(t,e),i=t.slice(n,e);if(Ml.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Bl(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 Il=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Ol(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Pl(t,e,n,i){if(!Il.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,c=0;for(let l of t){let p=Bl(l,i),f=p==="text"&&e;if(o!==null&&p===o&&f===a){s.push(l),c+=l.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),o=p,s=[l],u=n+c,a=f,c+=l.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),r}function Yn(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Wl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Hl(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Wl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function ql(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Ul(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"||!Hl(t,s))continue;let u=[e[s]],a=s+1;for(;a<t.len&&!Yn(i[a]);){u.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=Te(u)}let o=0;for(let s=0;s<e.length;s++){let u=e[s];u.length!==0&&(o!==s&&(e[o]=u,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 zl(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]),!ql(s))continue;let u=o+1;if(u>=t.len||Yn(t.kinds[u]))continue;let a=[],c=t.starts[u],l=u;for(;l<t.len&&!Yn(t.kinds[l]);)a.push(t.texts[l]),l++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(c),o=l-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var jl=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),wo=/^[A-Za-z0-9_]+[,:;]*$/,No=/[,:;]+$/;function ko(t){for(let e of t)if(Mo.test(e))return!0;return!1}function Rt(t){if(t.length===0)return!1;for(let e of t)if(!(Mo.test(e)||jl.has(e)))return!1;return!0}function Gl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o];if(u==="text"&&Rt(s)&&ko(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Rt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Vl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o],a=t.isWordLike[o];if(u==="text"&&a&&wo.test(s)){let c=[s],l=No.test(s),p=o+1;for(;l&&p<t.len&&t.kinds[p]==="text"&&t.isWordLike[p]&&wo.test(t.texts[p]);){let f=t.texts[p];c.push(f),l=No.test(f),p++}e.push(Te(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=p-1;continue}e.push(s),n.push(a),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function $l(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 u=s.split("-"),a=u.length>1;for(let c=0;c<u.length;c++){let l=u[c];if(!a)break;(l.length===0||!ko(l)||!Rt(l))&&(a=!1)}if(a){let c=0;for(let l=0;l<u.length;l++){let p=u[l],f=l<u.length-1?`${p}-`:p;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=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 Kl(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],u=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let l=[s[0]],p=c;for(o++;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let f=Te(l);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),u=t.isWordLike[o],a="text",c=p,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let l=[];for(;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let p=Te(l);if(o<t.len&&t.kinds[o]==="text"){s.push(p,t.texts[o]),u=u||t.isWordLike[o],o++;continue}s.push(p)}e.push(Te(s)),n.push(u),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Jl(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"||!Re(e[o])||!Re(e[o+1]))continue;let s=Rl(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 Co(t,e,n){let i=Sl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],h=[],F=[],E=[],S=[];for(let N of i.segment(t))for(let g of Pl(N.segment,N.isWordLike??!1,N.index,n)){let le=function(){l[R]!==null&&(s[R]=[Eo(o,l,p,R)],l[R]=null),s[R].push(g.text),u[R]=u[R]||g.isWordLike,f[R]=f[R]||C,h[R]=h[R]||T,F[R]=P,E[R]=J,S[R]=Fo(h[R],v)},A=g.kind==="text",w=vl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),v=rn(g.text),P=on(g.text),J=Dl(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&kl(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&S[R]?(le(),u[R]=!0):w!==null&&r>0&&a[R]==="text"&&l[R]===w?p[R]=(p[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(Tl(g.text)||g.text==="-"&&u[R])?le():(o[r]=g.text,s[r]=[g.text],u[r]=g.isWordLike,a[r]=g.kind,c[r]=g.start,l[r]=w,p[r]=w===null?0:1,f[r]=C,h[r]=T,F[r]=P,E[r]=J,S[r]=Fo(T,v),r++)}for(let N=0;N<r;N++){if(l[N]!==null){o[N]=Eo(o,l,p,N);continue}o[N]=Te(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!u[N]&&Xn(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],u[N-1]=u[N-1]||u[N],o[N]="");let q=Array.from({length:r},()=>null),I=-1;for(let N=r-1;N>=0;N--){let g=o[N];if(g.length!==0){if(a[N]==="text"&&!u[N]&&_l(g)&&I>=0&&a[I]==="text"){let A=q[I]??[];A.push(g),q[I]=A,c[I]=c[N],o[N]="";continue}I=N}}for(let N=0;N<r;N++){let g=q[N];g!=null&&(o[N]=Ol(g,o[N]))}let M=0;for(let N=0;N<r;N++){let g=o[N];g.length!==0&&(M!==N&&(o[M]=g,u[M]=u[N],a[M]=a[N],c[M]=c[N]),M++)}o.length=M,u.length=M,a.length=M,c.length=M;let X=Kl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Jl(Vl($l(Gl(zl(Ul(X))))));for(let N=0;N<_.len-1;N++){let g=Ll(_.texts[N]);g!==null&&(_.kinds[N]!=="space"&&_.kinds[N]!=="preserved-space"||_.kinds[N+1]!=="text"||!bo(_.texts[N+1])||(_.texts[N]=g.space,_.isWordLike[N]=!1,_.kinds[N]=_.kinds[N]==="preserved-space"?"preserved-space":"space",_.texts[N+1]=g.marks+_.texts[N+1],_.starts[N+1]=_.starts[N]+g.space.length))}return _}function Ql(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 Yl(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,c=!1;function l(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<t.len;p++){let f=t.texts[p],h=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(h==="text"){let S=Fl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||S,c=q;continue}l(),o=[f],s=F,u=E,a=S,c=q;continue}l(),e.push(f),n.push(F),i.push(h),r.push(E)}return l(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function _o(t,e,n="normal",i="normal"){let r=hl(n),o=r.mode==="pre-wrap"?gl(t):xl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Yl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Ql(s,r),...s}}var rt=null,Ro=new Map,ot=null,Zl=96,Xl=/\\p{Emoji_Presentation}/u,eu=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,ei=null,vo=new Map;function ti(){if(rt!==null)return rt;if(typeof OffscreenCanvas<"u")return rt=new OffscreenCanvas(1,1).getContext("2d"),rt;if(typeof document<"u")return rt=document.createElement("canvas").getContext("2d"),rt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function tu(t){let e=Ro.get(t);return e||(e=new Map,Ro.set(t,e)),e}function Oe(t,e){let n=e.get(t);return n===void 0&&(n={width:ti().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function st(){if(ot!==null)return ot;if(typeof navigator>"u")return ot={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},ot;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 ot={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},ot}function nu(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Do(){return ei===null&&(ei=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ei}function iu(t){return Xl.test(t)||t.includes("\\uFE0F")}function Lo(t){return eu.test(t)}function ru(t,e){let n=vo.get(t);if(n!==void 0)return n;let i=ti();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 vo.set(t,n),n}function ou(t){let e=0,n=Do();for(let i of n.segment(t))iu(i.segment)&&e++;return e}function su(t,e){return e.emojiCount===void 0&&(e.emojiCount=ou(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-su(t,e)*n}function Bo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Do(),s=[];for(let l of o.segment(t))s.push(l.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let l=[];for(let p of s){let f=Oe(p,n);l.push(ze(p,f,i))}return e.breakableFitAdvances=l,e.breakableFitAdvances}if(r==="pair-context"||s.length>Zl){let l=[],p=null,f=0;for(let h of s){let F=Oe(h,n),E=ze(h,F,i);if(p===null)l.push(E);else{let S=p+h,q=Oe(S,n);l.push(ze(S,q,i)-f)}p=h,f=E}return e.breakableFitAdvances=l,e.breakableFitAdvances}let u=[],a="",c=0;for(let l of s){a+=l;let p=Oe(a,n),f=ze(a,p,i);u.push(f-c),c=f}return e.breakableFitAdvances=u,e.breakableFitAdvances}function Io(t,e){let n=ti();n.font=t;let i=tu(t),r=nu(t),o=e?ru(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function au(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 lu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function uu(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let u=s+t[o];if((o+1<t.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function Oo(t,e){return t.simpleLineWalkFastPath?Po(t,e):Wo(t,e)}function Po(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let u=st().lineFitEpsilon,a=e+u,c=0,l=0,p=!1,f=0,h=0,F=0,E=0,S=-1,q=0;function I(){S=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:h,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,h=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,h=C,F=w,E=C+1,l=T}function N(w,C){if(!p){X(w,C);return}l+=C,F=w+1,E=0}function g(w,C){let T=o[w];for(let v=C;v<T.length;v++){let P=T[v];p?l+P>a?(M(),_(w,v,P)):(l+=P,F=w,E=v+1):_(w,v,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=au(t,A),A>=i.length));){let w=i[A],C=r[A],T=C==="space"||C==="preserved-space"||C==="tab"||C==="zero-width-break"||C==="soft-hyphen";if(!p){w>e&&o[A]!==null?g(A,0):X(A,w),T&&(S=A+1,q=l-w),A++;continue}if(l+w>a){if(T){N(A,w),M(A+1,0,l-w),A++;continue}if(S>=0){if(F>S||F===S&&E>0){M();continue}M(S,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(S=A+1,q=l-w),A++}return p&&M(),c}function Wo(t,e,n){if(t.simpleLineWalkFastPath)return Po(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:l}=t;if(i.length===0||l.length===0)return 0;let p=st(),f=p.lineFitEpsilon,h=e+f,F=0,E=0,S=!1,q=0,I=0,M=0,X=0,_=-1,N=0,g=0,A=null;function w(){_=-1,N=0,g=0,A=null}function C(V=M,j=X,W=E){F++,n?.({startSegmentIndex:q,startGraphemeIndex:I,endSegmentIndex:V,endGraphemeIndex:j,width:W}),E=0,S=!1,w()}function T(V,j){S=!0,q=V,I=0,M=V+1,X=0,E=j}function v(V,j,W){S=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!S){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Y){if(!j)return;let pe=V==="tab"?0:r[W],Ne=V==="tab"?Y:o[W];_=W+1,N=E-Y+pe,g=E-Y+Ne,A=V}function R(V,j){let W=u[V];for(let Y=j;Y<W.length;Y++){let pe=W[Y];S?E+pe>h?(C(),v(V,Y,pe)):(E+=pe,M=V,X=Y+1):v(V,Y,pe)}S&&M===V&&X===W.length&&(M=V+1,X=0)}function le(V){if(A!=="soft-hyphen")return!1;let j=u[V];if(j==null)return!1;let{fitCount:W,fittedWidth:Y}=uu(j,E,e,f,a);return W===0?!1:(E=Y,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Y+a),R(V,W),!0))}function Se(V){F++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),w()}for(let V=0;V<l.length;V++){let j=l[V];if(j.startSegmentIndex===j.endSegmentIndex){Se(j);continue}S=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Y=s[W],pe=Y==="space"||Y==="preserved-space"||Y==="tab"||Y==="zero-width-break"||Y==="soft-hyphen",Ne=Y==="tab"?lu(E,c):i[W];if(Y==="soft-hyphen"){S&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Y),W++;continue}if(!S){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Y,pe,W,Ne),W++;continue}if(E+Ne>h){let k=E+(Y==="tab"?0:r[W]),O=E+(Y==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=h){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(pe&&k<=h){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=h){if(M>_||M===_&&X>0){C();continue}let ie=_;C(ie,0,g),W=ie;continue}if(Ne>e&&u[W]!==null){C(),R(W,0),W++;continue}C();continue}P(W,Ne),J(Y,pe,W,Ne),W++}if(S){let Y=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Y)}}return F}var ni=null;function cu(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function du(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 fu(t,e){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function c(p,f,h){i=[p],r=f,o=h,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let h=on(p);p.length===1&&Ue.has(p)?s=s||h:s=h,u=!1}for(let p of cu().segment(t)){let f=p.segment,h=Re(f);if(i.length===0){c(f,p.index,h);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&h&&s){l(f,h);continue}if(!o&&!h){l(f,h);continue}a(),c(f,p.index,h)}return a(),n}function mu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=tn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<t.length;u++){let a=t[u],c=Re(a.text),l=tn(a.text);if(r&&o){n.push(a.text),r=r||c,o=l;continue}s(),n=[a.text],i=a.start,r=c,o=l}return s(),e}function pu(t,e,n,i){let r=st(),{cache:o,emojiCorrection:s}=Io(e,Lo(t.normalized)),u=ze("-",Oe("-",o),s),c=ze(" ",Oe(" ",o),s)*8;if(t.len===0)return du(n);let l=[],p=[],f=[],h=[],F=t.chunks.length<=1,E=n?[]:null,S=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,v,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),h.push(T),E?.push(v),S.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let v=Oe(g,o),P=ze(g,v,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(T&&C&&g.length>1){let le="sum-graphemes";Rt(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let Se=Bo(g,v,o,s,le);M(g,P,J,R,A,w,Se);return}M(g,P,J,R,A,w,null)}for(let g=0;g<t.len;g++){I[g]=l.length;let A=t.texts[g],w=t.isWordLike[g],C=t.kinds[g],T=t.starts[g];if(C==="soft-hyphen"){M(A,0,u,u,C,T,null);continue}if(C==="hard-break"){M(A,0,0,0,C,T,null);continue}if(C==="tab"){M(A,0,0,0,C,T,null);continue}let v=Oe(A,o);if(C==="text"&&v.containsCJK){let P=fu(A,r),J=i==="keep-all"?mu(P):P;for(let R=0;R<J.length;R++){let le=J[R];X(le.text,"text",T+le.start,w,i==="keep-all"||!Re(le.text))}continue}X(A,C,T,w,!0)}let _=hu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function hu(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,u=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function xu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return pu(o,e,n,r)}function Ho(t,e,n){return xu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var gu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...gu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Ho(t,o),{lineCount:u}=qo(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Uo,getVariables:so};function zo(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,go())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zo,{once:!0}):zo();})();\n';
7417
+ RUNTIME_IIFE = '"use strict";(()=>{var Ko=Object.create;var dn=Object.defineProperty;var Jo=Object.getOwnPropertyDescriptor;var Qo=Object.getOwnPropertyNames;var Yo=Object.getPrototypeOf,Zo=Object.prototype.hasOwnProperty;var Xo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var es=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Qo(e))!Zo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Jo(e,r))||i.enumerable});return t};var ts=(t,e,n)=>(n=t!=null?Ko(Yo(t)):{},es(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Xo(t,typeof e!="symbol"?e+"":e,n);var Ri=Z((tc,gn)=>{var K=String,_i=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};gn.exports=_i();gn.exports.createColors=_i});var yn=Z(()=>{});var It=Z((rc,Li)=>{"use strict";var vi=Ri(),Di=yn(),mt=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=vi.isColorSupported);let i=l=>l,r=l=>l,o=l=>l;if(e){let{bold:l,gray:p,red:f}=vi.createColors(!0);r=x=>l(f(x)),i=x=>p(x),Di&&(o=x=>Di(x))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(u,a).map((l,p)=>{let f=u+1+p,x=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,b=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(b,q),M=i(x.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(I)+`\n `+M+r("^")}let F=i(x.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(l)+`\n `+F+r("^")}return" "+i(x)+o(l)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Li.exports=mt;mt.default=mt});var Sn=Z((oc,Ii)=>{"use strict";var Es=/(<)(\\/?style\\b)/gi,Fs=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(Es,"\\\\3c $2").replace(Fs,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function ws(t){return t[0].toUpperCase()+t.slice(1)}var pt=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(Pe(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 u=0;u<o;u++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(Pe(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(Pe(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 u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Pe(a)),this.stringify(u,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(Pe("/*"+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(Pe(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 Bi[i];let s=e.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+ws(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Bi[i]),u[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:Pe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(Pe(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)}};Ii.exports=pt;pt.default=pt});var ht=Z((sc,Oi)=>{"use strict";var Ns=Sn();function bn(t,e){new Ns(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Z((ac,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Z((lc,Pi)=>{"use strict";var Cs=It(),Ms=Sn(),Ts=ht(),{isClean:xt,my:ks}=Ot();function En(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=>En(s,n)):(o==="object"&&r!==null&&(r=En(r)),n[i]=r)}return n}function Ie(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 gt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[xt]=!1,this[ks]=!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=En(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 Cs(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[xt]=!0}markDirty(){if(this[xt]){this[xt]=!1;let e=this;for(;e=e.parent;)e[xt]=!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(Ie(i,this.source.start),Ie(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=Ie(r,this.source.start),s=o+e;for(let u=o;u<s;u++)r[u]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let 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:Ie(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:Ie(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ie(n,this.source.start),Ie(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:Ie(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ie(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 Ms().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 u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Ts){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)}};Pi.exports=gt;gt.default=gt});var bt=Z((uc,Wi)=>{"use strict";var _s=yt(),St=class extends _s{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Z((cc,Hi)=>{"use strict";var Rs=yt(),At=class extends Rs{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"}};Hi.exports=At;At.default=At});var We=Z((dc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),vs=yt(),{isClean:zi,my:ji}=Ot(),Fn,Gi,Vi,wn;function $i(t){return t.map(e=>(e.nodes&&(e.nodes=$i(e.nodes)),delete e.source,e))}function Ki(t){if(t[zi]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Ki(e)}var _e=class t extends vs{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 u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=$i(Gi(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 Ui(e)]}else if(e.selector||e.selectors)e=[new wn(e)];else if(e.name)e=[new Fn(e)];else if(e.text)e=[new qi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ji]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[zi]&&Ki(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)}))}};_e.registerParse=t=>{Gi=t};_e.registerRule=t=>{wn=t};_e.registerAtRule=t=>{Fn=t};_e.registerRoot=t=>{Vi=t};Ji.exports=_e;_e.default=_e;_e.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Fn.prototype):t.type==="rule"?Object.setPrototypeOf(t,wn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Ui.prototype):t.type==="comment"?Object.setPrototypeOf(t,qi.prototype):t.type==="root"&&Object.setPrototypeOf(t,Vi.prototype),t[ji]=!0,t.nodes&&t.nodes.forEach(e=>{_e.rebuild(e)})}});var Pt=Z((fc,Yi)=>{"use strict";var Qi=We(),Xe=class extends Qi{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)}};Yi.exports=Xe;Xe.default=Xe;Qi.registerAtRule(Xe)});var Wt=Z((mc,er)=>{"use strict";var Ds=We(),Zi,Xi,Je=class extends Ds{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Zi(new Xi,this,e).stringify()}};Je.registerLazyResult=t=>{Zi=t};Je.registerProcessor=t=>{Xi=t};er.exports=Je;Je.default=Je});var nr=Z((pc,tr)=>{var Ls="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Bs=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Is=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ls[Math.random()*64|0];return e};tr.exports={nanoid:Is,customAlphabet:Bs}});var Ht=Z(()=>{});var qt=Z(()=>{});var Nn=Z(()=>{});var ir=Z(()=>{});var Mn=Z((Fc,sr)=>{"use strict";var{existsSync:Os,readFileSync:Ps}=ir(),{dirname:Cn,join:Ws}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Hs(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ft=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=Cn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new rr(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 u=e.match(n)||e.match(i);if(u)return Hs(e.substr(u[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=Cn(e),Os(e)))return this.mapFile=e,Ps(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 rr)return or.fromSourceMap(n).toString();if(n instanceof or)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=Ws(Cn(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)}};sr.exports=Ft;Ft.default=Ft});var wt=Z((wc,dr)=>{"use strict";var{nanoid:qs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:Us,SourceMapGenerator:zs}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),js=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),Gs=!!(Us&&zs),ur=!!(Rn&&_n);function cr(t){if(t[kn])return t[kn];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[kn]=n,n}var et=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&&(!ur||/^\\w+:\\/\\//.test(n.from)||_n(n.from)?this.file=n.from:this.file=Rn(n.from)),ur&&Gs){let i=new js(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 "+qs(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,u,a,c;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let x=this.fromOffset(u);s=x.line,o=x.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let l=this.origin(n,i,s,o);return l?c=new lr(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,r.plugin):c=new lr(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:u,line:n,offset:a,source:this.css},this.file&&(Ut&&(c.input.url=Ut(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return cr(this)[e-1]+n-1}fromOffset(e){let n=cr(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:Rn(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 u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;_n(s.source)?a=Ut(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||Ut(this.map.mapFile));let c={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(ar)c.file=ar(a);else throw new Error("file: protocol is not available in this PostCSS build");let l=o.sourceContentFor(s.source);return l&&(c.source=l),c}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}};dr.exports=et;et.default=et;Tn&&Tn.registerInput&&Tn.registerInput(et)});var tt=Z((Nc,hr)=>{"use strict";var fr=We(),mr,pr,He=class extends fr{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 mr(new pr,this,e).stringify()}};He.registerLazyResult=t=>{mr=t};He.registerProcessor=t=>{pr=t};hr.exports=He;He.default=He;fr.registerRoot(He)});var vn=Z((Cc,xr)=>{"use strict";var Nt={comma(t){return Nt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Nt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,u=!1,a="",c=!1;for(let l of t)c?c=!1:l==="\\\\"?c=!0:u?l===a&&(u=!1):l===\'"\'||l==="\'"?(u=!0,a=l):l==="("?s+=1:l===")"?s>0&&(s-=1):s===0&&e.includes(l)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=l;return(n||r!=="")&&i.push(r.trim()),i}};xr.exports=Nt;Nt.default=Nt});var zt=Z((Mc,yr)=>{"use strict";var gr=We(),Vs=vn(),nt=class extends gr{get selectors(){return Vs.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=[])}};yr.exports=nt;nt.default=nt;gr.registerRule(nt)});var br=Z((Tc,Sr)=>{"use strict";var $s=Pt(),Ks=bt(),Js=Et(),Qs=wt(),Ys=Mn(),Zs=tt(),Xs=zt();function Ct(t,e){if(Array.isArray(t))return t.map(r=>Ct(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Qs.prototype};o.map&&(o.map={...o.map,__proto__:Ys.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ct(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 Zs(i);if(i.type==="decl")return new Js(i);if(i.type==="rule")return new Xs(i);if(i.type==="comment")return new Ks(i);if(i.type==="atrule")return new $s(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Z((kc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),ea=wt(),ta=!!(Nr&&Gt),na=!!(jt&&Fr&&Er&&wr),Dn=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||jt(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Nr(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(),na&&ta&&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=Gt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Gt({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 Gt({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,(u,a,c)=>{if(this.css+=u,a&&c!=="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=u.match(/\\n/g),s?(e+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&c!=="start"){let l=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==l.last||l.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?jt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=jt(Fr(i,this.mapOpts.annotation)));let r=Er(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 ea(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(Ar){let i=Ar(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;wr==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Cr.exports=Dn});var kr=Z((_c,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ia=/.[\\r\\n"\'(/\\\\]/,Mr=/[\\da-f]/i;Tr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,u,a,c,l,p,f,x,F,E=i.length,b=0,q=[],I=[],M=-1;function X(){return b}function _(w){throw e.error("Unclosed "+w,b)}function N(){return I.length===0&&b>=E}function g(w){if(I.length)return I.pop();if(b>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(b),o){case 10:case 32:case 9:case 13:case 12:{a=b;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(b,a)],b=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let T=String.fromCharCode(o);l=[T,T,b];break}case 40:{if(F=q.length?q.pop()[1]:"",x=i.charCodeAt(b+1),F==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=b;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=b;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(b,a+1),b,a],b=a}else b<=M?l=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||ia.test(s)?(M=a===-1?E:a,l=["(","(",b]):(l=["brackets",s,b,a],b=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=b;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=b+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{Vt.lastIndex=b+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(b,a+1),b,a],b=a;break}case 92:{for(a=b,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Mr.test(i.charAt(a)))){for(;Mr.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}l=["word",i.slice(b,a+1),b,a],b=a;break}default:{o===47&&i.charCodeAt(b+1)===42?(a=i.indexOf("*/",b+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(b,a+1),b,a],b=a):($t.lastIndex=b+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(b,a+1),b,a],q.push(l),b=a);break}}return b++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Z((Rc,vr)=>{"use strict";var ra=Pt(),oa=bt(),sa=Et(),aa=tt(),_r=zt(),la=kr(),Rr={empty:!0,space:!0};function ua(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Bn=class{constructor(e){this.input=e,this.root=new aa,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 ra;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,u=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(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=""),u&&(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,u]of e.entries()){if(r=u,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new oa;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=la(this.input)}decl(e,n){let i=new sa;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]||ua(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 c=e[0][0];if(c===":"||c==="space"||c==="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=[],u;for(;e.length&&(u=e[0][0],!(u!=="space"&&u!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let l=this.stringFrom(e,c);l=this.spacesFromEnd(e)+l,l!==" !important"&&(i.raws.important=l);break}else if(o[1].toLowerCase()==="important"){let l=e.slice(0),p="";for(let f=c;f>0;f--){let x=l[f][0];if(p.trim().startsWith("!")&&x!=="space")break;p=l.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,e=l)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[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 _r;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=[],u=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!u)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}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,u=i.length,a="",c=!0,l,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?c=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",l=i[f+1]?i[f+1][0]:"empty",!Rr[p]&&!Rr[l]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((x,F)=>x+F[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new _r;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})}};vr.exports=Bn});var Jt=Z((vc,Lr)=>{"use strict";var ca=We(),da=wt(),fa=Dr();function Kt(t,e){let n=new da(t,e),i=new fa(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ca.registerParse(Kt)});var In=Z((Dc,Br)=>{"use strict";var Mt=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}};Br.exports=Mt;Mt.default=Mt});var Qt=Z((Lc,Ir)=>{"use strict";var ma=In(),Tt=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 ma(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Ir.exports=Tt;Tt.default=Tt});var On=Z((Bc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Z((Oc,Ur)=>{"use strict";var pa=We(),ha=Wt(),xa=Ln(),ga=Jt(),Wr=Qt(),ya=tt(),Sa=ht(),{isClean:Le,my:ba}=Ot(),Ic=On(),Aa={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ea={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},Fa={Once:!0,postcssPlugin:!0,prepare:!0},it=0;function kt(t){return typeof t=="object"&&typeof t.then=="function"}function qr(t){let e=!1,n=Aa[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,it,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,it,n+"Exit"]:[n,n+"Exit"]}function Hr(t){let e;return t.type==="document"?e=["Document",it,"DocumentExit"]:t.type==="root"?e=["Root",it,"RootExit"]:e=qr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Pn(t){return t[Le]=!1,t.nodes&&t.nodes.forEach(e=>Pn(e)),t}var Wn={},qe=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=Pn(n);else if(n instanceof t||n instanceof Wr)r=Pn(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=ga;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[ba]&&pa.rebuild(r)}this.result=new Wr(e,r,i),this.helpers={...Wn,postcss:Wn,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(!Ea[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Fa[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[Le];){e[Le]=!0;let n=[Hr(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=Sa;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,u=>{s+=u}),this.result.css=s,this.result}let o=new xa(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[Le];)e[Le]=!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,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[Le]){u[Le]=!0,e.push(Hr(u));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===it){i.nodes&&i.nodes.length&&(i[Le]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Le]=!0;let n=qr(e);for(let i of n)if(i===it)e.nodes&&e.each(r=>{r[Le]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};qe.registerPostcss=t=>{Wn=t};Ur.exports=qe;qe.default=qe;ya.registerLazyResult(qe);ha.registerLazyResult(qe)});var jr=Z((Wc,zr)=>{"use strict";var wa=Ln(),Na=Jt(),Ca=Qt(),Ma=ht(),Pc=On(),_t=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=Na;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=Ma;this.result=new Ca(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 wa(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(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[]}};zr.exports=_t;_t.default=_t});var Vr=Z((Hc,Gr)=>{"use strict";var Ta=Wt(),ka=Hn(),_a=jr(),Ra=tt(),Qe=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 _a(this,e,n):new ka(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;Ra.registerProcessor(Qe);Ta.registerProcessor(Qe)});var eo=Z((qc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),va=We(),Da=It(),Jr=Et(),Qr=Wt(),La=br(),Ba=wt(),Ia=Hn(),Oa=vn(),Pa=yt(),Wa=Jt(),qn=Vr(),Ha=Qt(),Yr=tt(),Zr=zt(),qa=ht(),Ua=In();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new qn(t)}re.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 u=n(...s);return u.postcssPlugin=e,u.postcssVersion=new qn().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return re([r(a)]).process(s,u)},r};re.stringify=qa;re.parse=Wa;re.fromJSON=La;re.list=Oa;re.comment=t=>new Kr(t);re.atRule=t=>new $r(t);re.decl=t=>new Jr(t);re.rule=t=>new Zr(t);re.root=t=>new Yr(t);re.document=t=>new Qr(t);re.CssSyntaxError=Da;re.Declaration=Jr;re.Container=va;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=Ua;re.AtRule=$r;re.Result=Ha;re.Input=Ba;re.Rule=Zr;re.Root=Yr;re.Node=Pa;Ia.registerPostcss(re);Xr.exports=re;re.default=re});function v(t,e){if(typeof window>"u")return;let n=window,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 Fe(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}function ai(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(r==="play"){t.onPlay();return}if(r==="pause"){t.onPause();return}if(r==="seek"){t.onSeek(Number(i.frame??0),i.seekMode??"commit");return}if(r==="tick"){t.onTick();return}if(r==="set-muted"){t.onSetMuted(!!i.muted);return}if(r==="set-volume"){t.onSetVolume(Math.max(0,Math.min(1,Number(i.volume??1))));return}if(r==="set-media-output-muted"){t.onSetMediaOutputMuted(!!i.muted);return}if(r==="set-playback-rate"){t.onSetPlaybackRate(Number(i.playbackRate??1));return}if(r==="enable-pick-mode"){t.onEnablePickMode();return}if(r==="disable-pick-mode"){t.onDisablePickMode();return}if(r==="flash-elements"){let o=i.selectors,s=i.duration||800;o&&ns(o,s)}};return window.addEventListener("message",e),e}function ns(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 fn=null;function li(t){fn=t}function lt(t,e){if(fn)try{fn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function ui(t){let e=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=(u,a)=>{for(let c of u){try{c.currentTime=a}catch(l){v("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){v("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){v("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){v("runtime.adapters.css.site4",c)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let u=document.querySelectorAll("*");for(let a of u){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:u=>{let a=Number(u.time)||0;for(let c of e){if(!c.el.isConnected)continue;let l=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,p=Math.max(0,a-l)*1e3,f=n(c.el);if(f.length>0){i(f,p);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of e){if(!u.el.isConnected)continue;let a=n(u.el);a.length>0&&o(a),s(u)}},play:()=>{for(let u of e)u.el.isConnected&&(s(u),r(n(u.el)))},revert:()=>{e=[]}}}function ci(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,!1):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function di(){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 pi(){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(fi(i))i.goToAndStop(e*1e3,!1);else if(mi(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{(fi(e)||mi(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function fi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function mi(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var hi=-1;function Bt(t){if(t!==hi){hi=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function xi(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function gi(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function yi(){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=n.source.nextElementSibling;if(o instanceof HTMLImageElement&&o.classList.contains("__render_frame__")&&o.complete&&o.naturalWidth>0)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function Si(){return{name:"waapi",discover:()=>{},seek:t=>{if(!document.getAnimations)return;let e=Math.max(0,(Number(t.time)||0)*1e3);for(let n of document.getAnimations()){try{n.currentTime=e}catch(i){v("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){v("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){v("runtime.adapters.waapi.site3",e)}}}}function bi(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 u=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=s.defaultPlaybackRate,l=Number.isFinite(c)&&c>0?Math.max(.1,Math.min(5,c)):1,p=s.loop,f=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,x=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(x)||x<=0)&&f!=null&&(x=Math.max(0,(f-a)/l));let F=Number.isFinite(x)&&x>0?u+x:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),b={el:s,start:u,mediaStart:a,duration:Number.isFinite(x)&&x>0?x:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(b),s.tagName==="VIDEO"&&r.push(b),Number.isFinite(F)&&(o=Math.max(o,F))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var mn=new WeakMap,ut=new WeakMap,pn=new WeakSet,Ye=new WeakSet;function is(t){if(Ye.has(t))return;Ye.add(t);let e=()=>Ye.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}function Ai(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){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let _=n.sourceDuration-n.mediaStart;_>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%_)}let s=t.userVolume??1;i.volume=(n.volume??1)*s,e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(_){v("runtime.media.site1",_)}let u=.04,a=2,c=i.currentTime||0,l=Math.abs(c-r),p=r-c,f=mn.get(i);mn.set(i,p);let x=f===void 0,F=!x&&Math.abs(p-f)>.5,E=l>3,b=l>.5&&(x||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!b&&!x&&I&&l>u){let _=(ut.get(i)??0)+1;ut.set(i,_),_>=a&&(M=!0,ut.set(i,0))}else l<=u&&ut.set(i,0);let X=!q&&t.forceSync&&l>.02;if(b||M||X){try{i.currentTime=r}catch(_){v("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){v("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(is(i),i.play().catch(_=>{Ye.delete(i),(_&&typeof _=="object"&&"name"in _?String(_.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}mn.delete(i),ut.delete(i),pn.delete(i),i.paused||i.pause()}}var rs=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),os=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Ei(t){let e=!1,n=null,i=null,r=null,o=null;function s(g,A){try{window.dispatchEvent(new CustomEvent(g,{detail:A}))}catch(w){v("runtime.picker.site1",w)}}function u(g){r=g,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(g){o=g,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(g){let A=g.ownerDocument.defaultView;if(!A)return!1;let w=g;for(;w&&w!==document.body&&w!==document.documentElement;){let C=A.getComputedStyle(w);if(C.display==="none"||C.visibility==="hidden"||C.pointerEvents==="none")return!0;let T=Number.parseFloat(C.opacity);if(Number.isFinite(T)&&T<=.01)return!0;w=w.parentElement}return!1}function l(g){if(!g||g===document.body||g===document.documentElement)return!1;let A=g.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||g.classList.contains("__hf-pick-highlight")||g.closest(rs)||c(g))}function p(g){return!!g?.closest(os)}function f(g){let A=g;if(A.id)return`#${A.id}`;let w=g.getAttribute("data-composition-id");if(w)return`[data-composition-id="${w}"]`;let C=g.getAttribute("data-composition-src");if(C)return`[data-composition-src="${C}"]`;let T=g.getAttribute("data-track-index");if(T)return`[data-track-index="${T}"]`;let D=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return D;let J=P.querySelectorAll(`:scope > ${D}`);if(J.length===1)return D;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${D}:nth-of-type(${R+1})`;return D}function x(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,D)=>T.length>D?`${T.slice(0,D-1)}\\u2026`:T;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?w.length>0?C(w,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":g.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function F(g,A,w){let C=typeof w=="number"&&w>0?w:8,T=[];if(document.elementsFromPoint)T=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let J=document.elementFromPoint(g,A);T=J?[J]:[]}if(p(T[0]??null))return[];let D={},P=[];for(let J=0;J<T.length;J+=1){let R=T[J];if(!l(R))continue;let le=`${R.tagName}::${R.id||""}::${J}`;if(!D[le]&&(D[le]=!0,P.push(R),P.length>=C))break}return P}function E(g){let A=g.getBoundingClientRect(),w={};for(let T=0;T<g.attributes.length;T+=1){let D=g.attributes[T];D.name.startsWith("data-")&&(w[D.name]=D.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:x(g),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:g.textContent?g.textContent.trim().slice(0,200):null,src:g.getAttribute("src")||g.getAttribute("data-composition-src")||null,dataAttributes:w}}function b(g,A,w){return F(g,A,w).map(E)}function q(g){if(!e)return;let w=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!l(w)||n===w)return;n&&n.classList.remove("__hf-pick-highlight"),n=w,w.classList.add("__hf-pick-highlight");let C=E(w);u(C),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:C})}function I(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=b(g.clientX,g.clientY,8);A.length!==0&&(u(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function M(g){g.key==="Escape"&&(_(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function X(){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",q,!0),document.addEventListener("click",I,!0),document.addEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function _(){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",q,!0),document.removeEventListener("click",I,!0),document.removeEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:X,disable:_,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,w)=>Number.isFinite(g)&&Number.isFinite(A)?b(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=b(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),D=C[T]??null;return D?(a(D),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:D}),_(),D):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=b(g,A,8);if(!C.length)return[];let T=[],D=Array.isArray(w)?w:[0];for(let P of D){let J=Math.max(0,Math.min(C.length-1,Math.floor(Number(P)))),R=C[J];if(!R)continue;T.some(Se=>Se.selector===R.selector&&Se.tagName===R.tagName)||T.push(R)}return T.length?(a(T[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:T}),_(),T):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:_,installPickerApi:N}}function Ze(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 ct(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 Fi(t,e,n){let i=Ze(e,n);return t.pause(),typeof t.totalTime=="function"?t.totalTime(i,!1):t.seek(i,!1),i}function ss(t,e,n,i){let r=[];ct(t,e,o=>{o.play(),r.push(o)});try{return Fi(e,n,i)}finally{for(let o of r)try{o.pause()}catch(s){v("runtime.player.site2",s)}}}function as(t,e){ct(t,e,n=>{n.play()})}function wi(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??e.duration()??0)||0);n>0&&Math.max(0,Number(e.time())||0)>=n&&(e.pause(),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()),e.play(),ct(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play()}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;e.pause(),ct(t.getTimelineRegistry?.(),e,i=>{i.pause()});let n=Math.max(0,Number(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=ss(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play(),ct(t.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(t.getPlaybackRate()),u.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?(as(t.getTimelineRegistry?.(),n),Fi(n,e,i)):Ze(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Number(t.getTimeline()?.time()??0),getDuration:()=>Number(t.getTimeline()?.duration()??0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Ni(){return{capturedTimeline:null,isPlaying:!1,rafId:null,currentTime:0,deterministicAdapters:[],parityModeEnabled:!0,canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,clampDurationLoggedRaw:null,beforeUnloadHandler:null,domReadyHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,maxTimelineDurationSeconds:1800,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var ls="data-hf-authored-duration",us="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function cs(t){return $e(t.getAttribute("data-duration"))}function ds(t){return $e(t.getAttribute("data-end"))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){return $e(t.getAttribute(us))}function ps(t){let e=(t??"").trim();if(!e)return null;let n=$e(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",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function Ke(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=l=>{let p=document.getElementById(l);return p||(document.querySelector(`[data-composition-id="${CSS.escape(l)}"]`)??null)},u=l=>{let p=r.get(l);if(p!==void 0)return p;let f=null,x=cs(l)??(n?fs(l):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let F=ds(l)??(n?ms(l):null);if(F!=null){let E=c(l,0),b=F-E;Number.isFinite(b)&&b>0&&(f=b)}}if((f==null||f<=0)&&l instanceof HTMLMediaElement){let F=$e(l.getAttribute("data-playback-start"))??$e(l.getAttribute("data-media-start"))??0;Number.isFinite(l.duration)&&l.duration>F&&(f=l.duration-F)}if(f==null||f<=0){let F=l.getAttribute("data-composition-id");if(F){let E=e[F]??null;if(E&&typeof E.duration=="function")try{let b=Number(E.duration());Number.isFinite(b)&&b>0&&(f=b)}catch(b){v("runtime.startResolver.site1",b)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(l,f),f):(r.set(l,null),null)},a=(l,p)=>{if(l.hasAttribute("data-composition-id")){let x=l.parentElement?.closest("[data-composition-id]");return x?c(x,p):0}let f=l.closest("[data-composition-id]");return f?c(f,p):0},c=(l,p)=>{let f=i.get(l);if(f!==void 0)return f??p;if(o.has(l))return p;o.add(l);try{let x=ps(l.getAttribute("data-start"));if(!x){if(l.hasAttribute("data-composition-id")){let I=l.parentElement;if(I&&(I.hasAttribute("data-composition-src")||I.hasAttribute("data-composition-id"))){let M=c(I,p);return i.set(l,M),M}}return i.set(l,p),p}if(x.kind==="absolute"){let I=Math.max(0,x.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(x.refId);if(!F)return i.set(l,p),p;let E=c(F,0),b=u(F);if(b==null||b<=0){let I=Math.max(0,E+x.offset);return i.set(l,I),I}let q=Math.max(0,E+b+x.offset);return i.set(l,q),q}finally{o.delete(l)}};return{resolveStartForElement:(l,p=0)=>c(l,Math.max(0,p)),resolveDurationForElement:l=>u(l)}}var hs="data-hf-authored-duration",xs="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function hn(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(hs))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(xs))}function xn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Mi={composition:0,video:1,image:2,element:3,audio:4};function gs(t){if(t.length===0)return;let e=new Map;for(let s of t){let u=e.get(s.track)??new Set;u.add(s.kind),e.set(s.track,u)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,u)=>s-u);for(let s of o){let u=e.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((c,l)=>(Mi[c]??99)-(Mi[l]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function ft(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 Ti(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return ft(e);let n=t.getAttribute("data-composition-src");if(n)return ft(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?ft(i.getAttribute("src")):null}function ys(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 Ss(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 bs(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function dt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function As(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 dt(r);let o=t.id;if(o)return dt(o);let s=ys(t);if(s)return dt(s);let u=Ss(Ti(t));if(u)return dt(u);let a=bs(t);return a||`${dt(e)} ${n+1}`}function ki(t){let n=window.__timelines??{},i=Ke({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=H=>{if(!H)return null;let k=n[H]??null;if(!k||typeof k.duration!="function")return null;try{let O=Number(k.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=H=>{let k=we(H.getAttribute("data-duration"));if(k!=null&&k>0)return k;let O=we(H.getAttribute("data-playback-start"))??we(H.getAttribute("data-media-start"))??0;return Number.isFinite(H.duration)&&H.duration>O?Math.max(0,H.duration-O):null},s=()=>{let H=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(H.length===0)return null;let k=0;for(let O of H){let ie=i.resolveStartForElement(O,0);if(!Number.isFinite(ie))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ie)+ee))}return k>0?k:null},u=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ie=null,ee=null,z=null,U=H.parentElement;for(;U;){let G=U.getAttribute("data-composition-id");G&&(O.push(G),!z&&U!==k&&(z=G),ie==null&&(ie=i.resolveStartForElement(U,0)),ee==null&&(ee=we(U.getAttribute("data-duration"))??r(G)??null)),U=U.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ie,inheritedDuration:ee}},c=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),p=c?.getAttribute("data-composition-id")??null,f=c?i.resolveStartForElement(c,0):0,x=s(),F=x!=null?Math.max(0,x-Math.max(0,f)):null,E=r(p),b=hn(c??document.body),q=xn(...l.filter(H=>H!==c).map(H=>{let k=i.resolveStartForElement(H,0),O=i.resolveDurationForElement(H)??r(H.getAttribute("data-composition-id"))??null;return!Number.isFinite(k)||O==null||O<=0?null:Math.max(0,k)+O})),I=q!=null?Math.max(0,q-Math.max(0,f)):null,M=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,_=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=typeof I=="number"&&Number.isFinite(I)&&I>0?I:null,g=xn(_,N),A=M!=null&&g!=null&&M>g+1,w=X??(A?g:xn(M,_,N)),C=w!=null?Math.min(w,t.maxTimelineDurationSeconds):null,D=(C!=null?f+C:null)??(typeof x=="number"&&Number.isFinite(x)&&x>0?x:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:D==null||!Number.isFinite(D)?k:!Number.isFinite(H)||H>=D?0:Math.max(0,Math.min(k,D-H)),J=[],R=[],le=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Se=0;for(let H=0;H<le.length;H+=1){let k=le[H];if(k===c||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(k.tagName))continue;let O=a(k,c),ie=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=hn(k);if((z==null||z<=0)&&ee&&ee!==p&&(z=r(ee)),(z==null||z<=0)&&k instanceof HTMLMediaElement){let Ee=we(k.getAttribute("data-playback-start"))??we(k.getAttribute("data-media-start"))??0;Number.isFinite(k.duration)&&k.duration>0&&(z=Math.max(0,k.duration-Ee))}if(z==null||z<=0){let Ee=O.inheritedDuration;if(Ee!=null&&Ee>0){let ce=(O.inheritedStart??0)+Ee;z=Math.max(0,ce-ie)}}if(z==null||z<=0||(z=P(ie,z),z<=0))continue;let U=ie+z;Se=Math.max(Se,U);let G=k.tagName.toLowerCase(),ve=ee&&ee!==p?"composition":G==="video"?"video":G==="audio"?"audio":G==="img"?"image":"element";J.push({id:k.id||ee||null,label:As(k,ve,J.length),start:ie,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:ve,tagName:G,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:ft(k.getAttribute("data-composition-src")),assetUrl:Ti(k),timelineRole:k.getAttribute("data-timeline-role"),timelineLabel:k.getAttribute("data-timeline-label"),timelineGroup:k.getAttribute("data-timeline-group"),timelinePriority:we(k.getAttribute("data-timeline-priority"))})}let V=new Set(J.map(H=>H.id)),j=c?.getAttribute("data-composition-id")??null,W=j?n[j]??null:null;if(W&&c){let H=W;if(typeof H.getChildren=="function")try{let k=H.getChildren(!0,!0,!1)??[],O=new Map;for(let z of c.children){let U=z;if(!U.id)continue;let G=U.tagName.toLowerCase();G==="script"||G==="style"||G==="link"||O.set(U,{id:U.id,start:1/0,end:-1/0})}let ie=z=>{let U=z;for(;U;){if(O.has(U))return U;if(U===c)return null;U=U.parentElement}return null};for(let z of k){if(typeof z.targets!="function"||typeof z.startTime!="function"||typeof z.duration!="function")continue;let U=z.startTime(),G=z.parent;for(;G&&G!==W&&typeof G.startTime=="function";)U+=G.startTime(),G=G.parent;let ve=U+z.duration();if(!(!Number.isFinite(U)||!Number.isFinite(ve)))for(let Ee of z.targets()){if(!(Ee instanceof Element))continue;let Me=ie(Ee);if(!Me)continue;let ce=O.get(Me);ce&&(ce.start=Math.min(ce.start,U),ce.end=Math.max(ce.end,ve))}}let ee=J.length>0?Math.max(...J.map(z=>z.track))+1:0;for(let[z,U]of O){if(U.start===1/0||U.end===-1/0)continue;let G=z;if(V.has(G.id))continue;let ve=Math.max(0,U.end-U.start);if(ve<=0)continue;let Ee=P(U.start,ve);Ee<=0||(Se=Math.max(Se,U.start+Ee),J.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:U.start,duration:Ee,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:G.tagName.toLowerCase(),compositionId:G.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:G.getAttribute("data-timeline-role"),timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:we(G.getAttribute("data-timeline-priority"))}),V.add(G.id))}}catch(k){v("runtime.timeline.site1",k)}}if(c&&C!=null&&C>0){let H=J.length>0?Math.max(...J.map(k=>k.track))+1:0;for(let k of c.children){let O=k;if(!O.id||V.has(O.id))continue;let ie=O.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ee=O.tagName.toLowerCase();if(ee==="script"||ee==="style"||ee==="link"||ee==="meta"||window.getComputedStyle(O).display==="none")continue;let U=P(0,C);U<=0||(Se=Math.max(Se,U),J.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:U,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||H,kind:"element",tagName:ee,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:we(O.getAttribute("data-timeline-priority"))}),V.add(O.id))}}gs(J);for(let H of l){if(H===c)continue;let k=H.getAttribute("data-composition-id");if(!k||!u(k))continue;let O=i.resolveStartForElement(H,0),ie=hn(H);if((ie==null||ie<=0)&&Ci(H)!=null){let G=Ci(H);ie=Math.max(0,G-O)}let ee=r(k),z=ie&&ie>0?ie:ee;if(z==null||z<=0)continue;let U=P(O,z);U<=0||R.push({id:k,label:H.getAttribute("data-label")??k,start:O,duration:U,thumbnailUrl:ft(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Y=Math.max(1,Math.min(Math.max(Se||1,C??0),t.maxTimelineDurationSeconds));return{source:"hf-preview",type:"timeline",durationInFrames:A&&X==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(Y*Math.max(1,t.canonicalFps))),clips:J,scenes:R,compositionWidth:we(c?.getAttribute("data-width"))??1920,compositionHeight:we(c?.getAttribute("data-height"))??1080}}var ae=ts(eo(),1),to=ae.default,Uc=ae.default.stringify,zc=ae.default.fromJSON,jc=ae.default.plugin,Gc=ae.default.parse,Vc=ae.default.list,$c=ae.default.document,Kc=ae.default.comment,Jc=ae.default.atRule,Qc=ae.default.rule,Yc=ae.default.decl,Zc=ae.default.root,Xc=ae.default.CssSyntaxError,ed=ae.default.Declaration,td=ae.default.Container,nd=ae.default.Processor,id=ae.default.Document,rd=ae.default.Comment,od=ae.default.Warning,sd=ae.default.AtRule,ad=ae.default.Result,ld=ae.default.Input,ud=ae.default.Rule,cd=ae.default.Root,dd=ae.default.Node;var no="data-hf-authored-id";function Un(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function io(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function za(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ro(t){let e=t.trim();return e?Array.from(new Set([e,za(e)])).filter(Boolean):[]}function ja(t){return!!t&&/[\\w-]/.test(t)}function Ga(t,e,n){let i=ro(e).sort((u,a)=>a.length-u.length);if(i.length===0)return t;let r="",o=0,s=null;for(let u=0;u<t.length;u+=1){let a=t[u],c=u>0?t[u-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(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 l=i.find(p=>t.startsWith(p,u+1));if(l){let p=t[u+1+l.length];if(!ja(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Va(t,e){let n=e?.trim();return n?Ga(t,n,`[${no}="${io(n)}"]`):t}function $a(t,e,n,i){let r=Va(t,i),o=Ka(r,e,n),s=o.trim();if(!s||/^(html|body|:root|\\*)$/i.test(s))return t;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Un(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return o.replace(u,e);let a=o.match(/^\\s*/)?.[0]??"",c=o.match(/\\s*$/)?.[0]??"";return`${a}${e} ${s}${c}`}function Ka(t,e,n){let i=Un(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 Ja=new Set(["keyframes","-webkit-keyframes","font-face"]);function Qa(t){return t?.type==="atrule"}function Ya(t){let e=t.parent;for(;e;){if(Qa(e)&&Ja.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function zn(t,e,n,i){let r=e.trim();if(!t||!r)return t;let o=n||`[data-composition-id="${io(r)}"]`,s=to.parse(t);return s.walkRules(u=>{Ya(u)||(u.selectors=u.selectors.map(a=>$a(a,o,r,i)))}),s.toResult({map:!1}).css}function oo(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),u=JSON.stringify(r),a=JSON.stringify(n),c=Un(e),l=JSON.stringify(o?.trim()||null),p=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),F=JSON.stringify(ro(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${l};\n var __hfAuthoredRootAttr = ${JSON.stringify(no)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${F};\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 var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\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}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function so(){if(typeof document>"u")return{};let t=jn(document.documentElement),e=Za();return{...t,...e}}function jn(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 Za(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Xa=8e3,el=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function tl(t,e){return`${t}__hf${e}`}var nl=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"),Xa)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var il=["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 rl(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of il)e.removeAttribute(i);return n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true"),e}function ao(t,e){let n=t.trim();if(!n)return t;try{return el.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function ol(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 Yt(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 sl(t){let e=new Map;for(let n of t){let i=Yt(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function lo(t){let e=Yt(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function al(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function ll(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:al(t):!1}function $n(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:lo(e))}function uo(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set($n().map(n=>Yt(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function co(t,e=sl(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=ll(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(u){let l=a?(n.get(o)||0)+1:0;a&&n.set(o,l),c=a?tl(o,l):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Vn(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.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=zn(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=zn(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()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:x,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(rl(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...ol(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 l){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=oo(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 F=await nl(x);F.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:F.status,elapsedMs:F.elapsedMs}})}}}async function fo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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 u=document.querySelector(`template#${CSS.escape(s)}-template`);Gn(r),await Vn({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function mo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Gn(r);try{let l=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(l){await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(u?F.querySelector(`template#${CSS.escape(u)}-template`):null)??F.querySelector("template"),b=E?E.content:F.body,q=E?void 0:Array.from(F.head.querySelectorAll("style")),I=E?void 0:Array.from(F.head.querySelectorAll("script"));await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:b,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:q,headScripts:I,declaredVariableDefaults:jn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(l){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:l instanceof Error?l.message:"unknown_error"}}),Gn(r)}}))}function ul(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function cl(){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 dl(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 Kn(){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=cl();for(let i of e){let r=null;if(i.wordId&&(r=ul(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(l=>l.vars.color!==void 0).sort((l,p)=>l.startTime()-p.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let l of a)String(l.vars.color)===c?i.dimColor&&(l.vars.color=i.dimColor):i.activeColor&&(l.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 u=dl(r);t.set(u,o)}}}).catch(()=>{})}var Zt=class{constructor(e){Ae(this,"_baseTime",0);Ae(this,"_playStartMs",null);Ae(this,"_rate",1);Ae(this,"_duration",1/0);Ae(this,"_nowMs");Ae(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 po(t){return!Number.isFinite(t)||t<=0?1:t}var Xt=class{constructor(){Ae(this,"_ctx",null);Ae(this,"_bufferCache",new Map);Ae(this,"_activeSources",[]);Ae(this,"_masterGain",null);Ae(this,"_rateAnchorCtx",0);Ae(this,"_rateAnchorComp",0);Ae(this,"_rate",1);Ae(this,"_paused",!0);Ae(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._ctx)return null;try{let r=await(await fetch(n)).arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return v("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,u,a=1){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=po(a),l=this._ctx.createBufferSource();l.buffer=n,l.playbackRate.value=c;let p=this._ctx.createGain();p.gain.value=s,l.connect(p),p.connect(this._masterGain);let f=o-i,x=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=x,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let b=-f/c;l.start(x+b,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:x,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return v("webAudioTransport.schedule",c),null}}setRate(e){let n=po(e);if(n!==this._rate){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)}}}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)))}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var ho="data-hf-authored-duration",xo="data-hf-authored-end";function go(){let t=Ni(),e=window,n=null,i=null,r=[],o=new Set,s=null;if(typeof e.__hfRuntimeTeardown=="function")try{e.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}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 u=d=>{r.push(d)},a=(d,m,h)=>{let S=h??`${d}:${JSON.stringify(m)}`;o.has(S)||(o.add(S),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},h=[],S=[],y={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>m,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,x=.05,F=100,E=240,b=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??"")}},q=d=>{let m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},I=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},M=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.length===0?null:m.find(h=>!h.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),h=I(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h),m&&d.style.setProperty("--comp-width",m),h&&d.style.setProperty("--comp-height",h)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of m){if(d&&h===d)continue;let S=h.getAttribute("data-duration"),y=h.getAttribute("data-end");S!=null&&!h.hasAttribute(ho)&&h.setAttribute(ho,S),y!=null&&!h.hasAttribute(xo)&&h.setAttribute(xo,y),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},N=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let m=I(d.getAttribute("data-width")),h=I(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h);let S=Array.from(d.children);for(let y of S){let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!y.hasAttribute("data-start"))continue;let te=(y.style.top==="0px"||y.style.top==="0")&&(y.style.left==="0px"||y.style.left==="0")&&y.style.width==="100%"&&y.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&$&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Ve=y.style.top,me=y.style.left,at=y.style.width,oe=y.style.height;y.style.top="",y.style.left="",y.style.width="",y.style.height="";let Q=window.getComputedStyle(y);Q.top!=="auto"||Q.bottom!=="auto"||Q.left!=="auto"||Q.right!=="auto"||Q.width!=="0px"||Q.height!=="0px"||(y.style.top=Ve,y.style.left=me,y.style.width=at,y.style.height=oe)}let ne=window.getComputedStyle(y),ge=ne.position;if(ge!=="absolute"&&ge!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ne.top!=="auto"||ne.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ne.left!=="auto"||ne.right!=="auto"||(y.style.left="0"),L!=="audio"){let Ve=I(y.getAttribute("data-width")),me=I(y.getAttribute("data-height")),at=ne.width!=="0px"&&ne.width!=="auto",oe=ne.height!=="0px"&&ne.height!=="auto";Ve?!y.style.width&&!at&&(y.style.width=Ve):!y.style.width&&ne.width==="0px"&&(y.style.width="100%"),me?!y.style.height&&!oe&&(y.style.height=me):!y.style.height&&ne.height==="0px"&&(y.style.height="100%")}}},g=(d,m=0,h)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),A=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),w=!!document.querySelector("[data-composition-src]"),C=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let h=m.getAttribute("data-composition-id");if(h&&m.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){C=!0;break}}}let T=!w&&!C,D=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>l,J=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),S=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>S?Math.max(0,d.duration-S):null},R=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let h of d){let S=g(h,0);if(!Number.isFinite(S))continue;let y=J(h);y==null||y<=l||(m=Math.max(m,Math.max(0,S)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},h=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),S=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let L of y){if(!(L instanceof Element)||L.parentElement?.closest("[data-composition-id]")!==d)continue;let $=h.resolveStartForElement(L,0),ne=h.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(S=Math.max(S,Math.max(0,$)+ne))}return S>l?S:null},Se=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=l?null:d},V=d=>P(d)?Math.max(l,d*p):l,j=(d,m=0)=>{let h=D(d),S=Se(),y=le(),L=Math.max(S??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(h)?$=Math.max(h,L,te):P(L)?$=Math.max(L,te):$=te;let ne=Math.max(1,Number(t.maxTimelineDurationSeconds)||1800);return $>0?Math.max(0,Math.min($,ne)):0},W=()=>{let d=window.__timelines??{},m=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),h=Se(),S=le(),y=Math.max(h??0,S??0)||null,L=V(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?m.resolveStartForElement(Q,0):0},$=oe=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let ue=Q.timeline({paused:!0});for(let he of oe)ue.add(he.timeline,te(he.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let he=ue.timeline({paused:!0});if(Q)try{he.add(Q,0)}catch(se){v("runtime.init.site2",se)}let be=he;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){v("runtime.init.site3",se)}return he},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let he=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(he))return[];let be=[];for(let se of Q)if(!he.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){v("runtime.init.site4",ke)}return be}catch{return[]}},Be=M(),fe=Be?.getAttribute("data-composition-id")??null;if(!fe)return{timeline:null};let ye=d[fe]??null,me=(()=>{if(!Be)return[];let oe=new Set,Q=Array.from(Be.querySelectorAll("[data-composition-id]")),ue=[];for(let he of Q){let be=he.getAttribute("data-composition-id");if(!be||be===fe||oe.has(be))continue;oe.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ce=D(se);ue.push({compositionId:be,timeline:se,durationSeconds:Ce??0})}return ue})(),at=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(he){v("runtime.init.site5",he)}}};if(me.length>0&&at(me),ye){let oe=me.length>0?ge(ye,me):[];if((me.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+fe+"\'])"))&&(Y=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=D(ye);if(!P(Q)&&me.length>0){let se=me.map($o=>$o.compositionId),Ce=$(me),ke=D(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=D(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=D(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),he=ue?parseFloat(ue):null,be=Math.max(P(he)?he:0,S??0);if(be>0&&P(be)&&P(Q)&&be>=Q+.5){let se=ye;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){v("runtime.init.site6",ke)}let Ce=D(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:S,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:h,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:fe,selectedDurationSeconds:Q,autoNestedChildren:oe}}:void 0}}if(me.length>0){let oe=me.map(he=>he.compositionId),Q=$(me),ue=D(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,selectedTimelineIds:oe}}}}return{timeline:null}},Y=!1,pe=()=>{if(!T)return!1;let d=t.capturedTimeline,m=D(d),h=P(m);if(d&&h&&Y)return!1;let S=W();if(!S.timeline)return!1;if(d&&d===S.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=S.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let y=j(t.capturedTimeline,0);if(y>0){try{B.setDuration(y)}catch{}t.capturedTimeline.pause()}return S.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:S.diagnostics.code,details:S.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),!0};window.__hfForceTimelineRebind=()=>{Y=!1,pe()};let Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>0,te=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!te||a("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:S,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:y.display,visibility:y.visibility,overflow:y.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},H=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,Ne()}))},k=()=>{n=d=>{let m=b(d.error??d.message).slice(0,E);if(!m)return;let h=q(m);Fe({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let m=b(d.reason).slice(0,E);if(!m)return;let h=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},O=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let S=()=>{if(!(h instanceof Element))return;let y=h.tagName.toLowerCase(),L=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${te}:${y}:${L??"unknown"}`)};h.addEventListener("error",S),u(()=>{h.removeEventListener("error",S)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let h=Array.from(m).filter(S=>S.status==="error").map(S=>S.family).filter(S=>!!S).slice(0,10);h.length!==0&&a("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(m).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let S=Math.max(0,t.currentTime||0),y=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(S,!1),y&&t.capturedTimeline.play()}catch(L){v("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:S,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,U=new Set,G=()=>{t.tornDown||(ee!=null&&window.clearTimeout(ee),ee=window.setTimeout(()=>{if(t.tornDown)return;ee=null;let d=W();if(!d.timeline||!P(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){pe()&&(je(),ce(!0));return}if(z)return;let h=D(t.capturedTimeline),S=d.selectedDurationSeconds??D(d.timeline);P(S)&&(!P(h)||S>=h+x)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:S??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),je(),ce(!0))},F))},ve=()=>{for(let d of U)d.removeEventListener("loadedmetadata",G),d.removeEventListener("durationchange",G);U.clear()},Ee=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d)U.has(m)||(U.add(m),m.addEventListener("loadedmetadata",G),m.addEventListener("durationchange",G),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load())},Me=()=>{let d=y=>{let L=y.closest("[data-composition-id]"),te=L?g(L,0):null,$=L?A(L,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:L,inheritedStart:te,inheritedDuration:$}},m=bi({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let L=d(y);return g(y,L.inheritedStart??0)},resolveDurationSeconds:y=>{let L=d(y),te=g(y,L.inheritedStart??0),$=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ne=L.inheritedStart!=null&&L.inheritedDuration!=null&&L.inheritedDuration>0?Math.max(0,L.inheritedStart+L.inheritedDuration-te):null,ge=Number.isFinite(y.duration)&&y.duration>$?Math.max(0,y.duration-$):null;return ge!=null&&ne!=null?Math.min(ge,ne):ge??ne}}),h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),Ai({clips:m.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||xe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let S=Array.from(document.querySelectorAll("[data-start]"));for(let y of S){if(!(y instanceof HTMLElement))continue;let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta")continue;let te=g(y,0),$=A(y),ne=y.getAttribute("data-composition-id");if(ne){let fe=(window.__timelines??{})[ne],ye=null;if(fe&&typeof fe.duration=="function"){let me=Number(fe.duration());Number.isFinite(me)&&me>0&&(ye=me)}let Ve=y.hasAttribute("data-composition-src")||y.hasAttribute("data-composition-file");$!=null&&$>0&&ye!=null&&!Ve?$=Math.min($,ye):($==null||$<=0)&&ye!=null&&($=ye)}let ge=$!=null&&$>0?te+$:Number.POSITIVE_INFINITY,Be=t.currentTime>=te&&(Number.isFinite(ge)?t.currentTime<ge:!0);y.style.visibility=Be?"visible":"hidden"}},ce=d=>{let m=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Fe({source:"hf-preview",type:"state",frame:m,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},je=()=>{_(),X(),N();let d=M();if(d){let h=I(d.getAttribute("data-width")),S=I(d.getAttribute("data-height")),y=h?parseInt(h,10):0,L=S?parseInt(S,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}pe();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){v("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:m})}catch(S){v("runtime.init.site9",S)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:h})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:h})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,pe(),De("discover",t.currentTime),Ee(),O(),Kn(),je(),ce(!0)})}let Dt=Ei({postMessage:d=>Fe(d)});Dt.installPickerApi();let sn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,m)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let S of h)if(S instanceof HTMLMediaElement)try{S.playbackRate=t.playbackRate}catch(y){v("runtime.init.site10",y)}},de=wi({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:sn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,m)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==m&&(t.mediaForceSyncNextTick=!0),t.isPlaying=m,Me()},onStatePost:ce,onDeterministicSeek:d=>{for(let m of t.deterministicAdapters)try{m.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>De("pause"),onDeterministicPlay:()=>De("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>j(t.capturedTimeline,0)});window.__player=c(de),window.__playerReady=!0,window.__renderReady=!0,li(Fe),lt("composition_loaded",{duration:de.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=ai({onPlay:()=>{de.play(),lt("composition_played",{time:de.getTime()})},onPause:()=>{de.pause(),lt("composition_paused",{time:de.getTime()})},onSeek:(d,m)=>{let h=Math.max(0,d)/t.canonicalFps;de.seek(h),lt("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement))continue;let S=parseFloat(h.dataset.volume??""),y=Number.isFinite(S)?S:1;h.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=m)},onSetPlaybackRate:d=>{sn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),xe.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,Ge(d),B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0)}},onEnablePickMode:()=>Dt.enablePickMode(),onDisablePickMode:()=>Dt.disablePickMode()}),pe(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;pe()&&t.capturedTimeline!==d&&(de._timeline=t.capturedTimeline),De("discover",t.currentTime),je(),ce(!0)},0),t.deterministicAdapters=[Si(),ui({resolveStartSeconds:d=>g(d,0)}),di(),pi(),xi(),gi(),ci({getTimeline:()=>t.capturedTimeline})],yi(),k(),De("discover"),Ee();let B=new Zt;t.transportClock=B;let xe=new Xt,ii=!1;xe.init().then(d=>{ii=d});let Lt=0,an=!1,jo=(d,m,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(S){v(h,S)}},Go=d=>{let m=window.__timelines??{},h=M()?.getAttribute("data-composition-id")??null;for(let[S,y]of Object.entries(m)){if(!y||S===h)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=D(y),ge=$!=null&&$>0?$:ne,Be=Math.max(0,ge!=null&&ge>0?Math.min(ge,d-te):d-te);jo(y,Be,"runtime.init.transport.childTimeline")}},Vo=d=>{let m=window.__timelines??{};for(let h of Object.values(m))if(!(!h||h===d))try{h.play()}catch(S){v("runtime.init.activateSiblings",S)}},Ge=(d,m)=>{let h=t.capturedTimeline;if(h){m?.activateChildren&&Vo(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){v("runtime.init.transport.seek",S)}}else Go(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(y){v("runtime.init.transport.adapter",y)}},ri=()=>{if(!(t.tornDown||an)){an=!0;try{if(t.transportRafId=window.requestAnimationFrame(ri),Lt+=1,Lt%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<f)){let h=t.capturedTimeline;if(pe()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=j(t.capturedTimeline,0);S>0&&B.setDuration(S),je()}}if(Lt%20===0&&je(),Lt%30===0&&Ee(),t.capturedTimeline){let m=j(t.capturedTimeline,0);m>0&&B.setDuration(m)}if(B.isPlaying()&&!t.mediaOutputMuted)if(xe.isActive()&&xe.context){let m=xe.getTime();m>=0&&B.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),h=!1;for(let S of m){if(!(S instanceof HTMLMediaElement)||!S.isConnected)continue;let y=Number.parseFloat(S.dataset.start??""),L=Number.parseFloat(S.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(S.dataset.playbackStart??S.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){S.paused?!S.error&&S.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(B.attachAudioSource({el:S,compositionStart:y,mediaStart:$}),h=!0);break}}!h&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,Ge(d),B.isPlaying()&&B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0);return}B.isPlaying()&&Me(),ce(!1)}finally{an=!1}}},oi=d=>{let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let y=Number.parseFloat(h.dataset.duration??""),L=Number.isFinite(y)&&y>0?S+y:1/0;if(d<S||d>=L)continue;let te=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,$=d-S+te;if($>=0)try{h.currentTime=$}catch{}}};if(de.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let m=j(d,0);if(m>0)B.setDuration(m),B.reachedEnd()&&(B.seek(0),t.currentTime=0,Ge(0));else{let h=M(),S=Number(h?.getAttribute("data-duration")??0);S>0&&B.setDuration(S)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let h=xe.startGeneration(),S=document.querySelectorAll("audio[data-start]");for(let y of S){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let L=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(L))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,$=Number.parseFloat(y.dataset.volume??""),ne=Number.isFinite($)?$:1;xe.decodeAudioElement(y).then(ge=>{!ge||!B.isPlaying()||xe.schedulePlayback(y,ge,L,te,B.now(),ne*t.bridgeVolume,h,t.playbackRate)})}}De("play"),Me(),ce(!0)}},de.pause=()=>{if(!B.isPlaying())return;xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,oi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),De("pause"),Me(),ce(!0)},de.seek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);xe.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let S=t.capturedTimeline;S&&S.pause(),Ge(t.currentTime),De("pause"),Me(),ce(!0)},de.renderSeek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,Ge(t.currentTime,{activateChildren:!0}),Me(),ce(!0)},de.getTime=()=>B.now(),de.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},de.isPlaying=()=>B.isPlaying(),de.setPlaybackRate=d=>{sn(d),B.setRate(t.playbackRate),xe.setRate(t.playbackRate)},t.capturedTimeline){let d=j(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let si=window.__player;if(si){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(si,m,{get:()=>de[m],set:h=>{de[m]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(ri),je(),ce(!0);let ln=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,xe.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ve(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Dt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){v("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){v("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){v("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){v("runtime.init.site15",m)}t.injectedCompScripts=[],t.capturedTimeline=null,e.__hfRuntimeTeardown===ln&&(e.__hfRuntimeTeardown=null)}};e.__hfRuntimeTeardown=ln,t.beforeUnloadHandler=ln,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var yo=["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"],Jn=[[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 fl(t){if(t<=255)return yo[t];let e=0,n=Jn.length-1;for(;e<=n;){let i=e+n>>1,r=Jn[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function ml(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let l=t.charCodeAt(c),p=l,f=1;if(l>=55296&&l<=56319&&c+1<e){let F=t.charCodeAt(c+1);F>=56320&&F<=57343&&(p=(l-55296<<10)+(F-56320)+65536,f=2)}let x=fl(p);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=x;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let l=n[c];if(l==="L"){r=0;break}if(l==="R"||l==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",u=s,a=u;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="AL"?"AN":"EN":(l==="R"||l==="L"||l==="AL")&&(a=l)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let l;for(l=c-1;l>=0&&n[l]==="ET";l--)n[l]="EN";for(l=c+1;l<e&&n[l]==="ET";l++)n[l]="EN"}for(let c=0;c<e;c++){let l=n[c];(l==="WS"||l==="ES"||l==="ET"||l==="CS")&&(n[c]="ON")}a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="L"?"L":"EN":(l==="R"||l==="L")&&(a=l)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let l=c+1;for(;l<e&&n[l]==="ON";)l++;let p=c>0?n[c-1]:u,f=l<e?n[l]:u,x=p!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=x;c=l-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let l=n[c];(o[c]&1)===0?l==="R"?o[c]++:(l==="AN"||l==="EN")&&(o[c]+=2):(l==="L"||l==="AN"||l==="EN")&&o[c]++}return o}function So(t,e){let n=ml(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 pl=/[ \\t\\n\\r\\f]+/g,hl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function xl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function gl(t){if(!hl.test(t))return t;let e=t.replace(pl," ");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 yl(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Qn=null,Sl;function bl(){return Qn===null&&(Qn=new Intl.Segmenter(Sl,{granularity:"word"})),Qn}var Al=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return Al.test(t)}function Ao(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 Re(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(Ao(r))return!0;e++;continue}}if(Ao(n))return!0}}return!1}function El(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var Fl=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function wl(t){return Re(t)}function Nl(t){let e=rn(t);return e!==null&&Fl.has(e)}function tn(t){return!El(t)&&!Nl(t)}var nn=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"]),vt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Zn=new Set(["\'","\\u2019"]),Ue=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Cl=new Set([":",".","\\u060C","\\u061B"]),Ml=new Set(["\\u104F"]),Tl=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function kl(t){if(Xn(t))return!0;let e=!1;for(let n of t){if(Ue.has(n)){e=!0;continue}if(!(e&&en.test(n)))return!1}return e}function _l(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function Rl(t){if(Xn(t))return!0;for(let e of t)if(!vt.has(e)&&!Zn.has(e)&&!en.test(e))return!1;return t.length>0}function Xn(t){let e=!1;for(let n of t)if(!(n==="\\\\"||en.test(n))){if(vt.has(n)||Ue.has(n)||Zn.has(n)){e=!0;continue}return!1}return e}function To(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 rn(t){if(t.length===0)return null;let e=To(t,t.length);return t.slice(e)}function vl(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(en.test(i)){n--;continue}if(vt.has(i)||Zn.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Dl(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Eo(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 u=r.repeat(s);return t[i]=u,u}function Fo(t,e){return t&&e!==null&&Cl.has(e)}function Ll(t){let e=rn(t);return e!==null&&Ml.has(e)}function Bl(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 on(t){let e=t.length;for(;e>0;){let n=To(t,e),i=t.slice(n,e);if(Tl.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Il(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 Ol=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Pl(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Wl(t,e,n,i){if(!Ol.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,c=0;for(let l of t){let p=Il(l,i),f=p==="text"&&e;if(o!==null&&p===o&&f===a){s.push(l),c+=l.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),o=p,s=[l],u=n+c,a=f,c+=l.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),r}function Yn(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Hl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function ql(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Hl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Ul(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function zl(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"||!ql(t,s))continue;let u=[e[s]],a=s+1;for(;a<t.len&&!Yn(i[a]);){u.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=Te(u)}let o=0;for(let s=0;s<e.length;s++){let u=e[s];u.length!==0&&(o!==s&&(e[o]=u,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 jl(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]),!Ul(s))continue;let u=o+1;if(u>=t.len||Yn(t.kinds[u]))continue;let a=[],c=t.starts[u],l=u;for(;l<t.len&&!Yn(t.kinds[l]);)a.push(t.texts[l]),l++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(c),o=l-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Gl=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),wo=/^[A-Za-z0-9_]+[,:;]*$/,No=/[,:;]+$/;function ko(t){for(let e of t)if(Mo.test(e))return!0;return!1}function Rt(t){if(t.length===0)return!1;for(let e of t)if(!(Mo.test(e)||Gl.has(e)))return!1;return!0}function Vl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o];if(u==="text"&&Rt(s)&&ko(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Rt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function $l(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o],a=t.isWordLike[o];if(u==="text"&&a&&wo.test(s)){let c=[s],l=No.test(s),p=o+1;for(;l&&p<t.len&&t.kinds[p]==="text"&&t.isWordLike[p]&&wo.test(t.texts[p]);){let f=t.texts[p];c.push(f),l=No.test(f),p++}e.push(Te(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=p-1;continue}e.push(s),n.push(a),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Kl(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 u=s.split("-"),a=u.length>1;for(let c=0;c<u.length;c++){let l=u[c];if(!a)break;(l.length===0||!ko(l)||!Rt(l))&&(a=!1)}if(a){let c=0;for(let l=0;l<u.length;l++){let p=u[l],f=l<u.length-1?`${p}-`:p;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=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 Jl(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],u=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let l=[s[0]],p=c;for(o++;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let f=Te(l);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),u=t.isWordLike[o],a="text",c=p,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let l=[];for(;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let p=Te(l);if(o<t.len&&t.kinds[o]==="text"){s.push(p,t.texts[o]),u=u||t.isWordLike[o],o++;continue}s.push(p)}e.push(Te(s)),n.push(u),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Ql(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"||!Re(e[o])||!Re(e[o+1]))continue;let s=vl(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 Co(t,e,n){let i=bl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],x=[],F=[],E=[],b=[];for(let N of i.segment(t))for(let g of Wl(N.segment,N.isWordLike??!1,N.index,n)){let le=function(){l[R]!==null&&(s[R]=[Eo(o,l,p,R)],l[R]=null),s[R].push(g.text),u[R]=u[R]||g.isWordLike,f[R]=f[R]||C,x[R]=x[R]||T,F[R]=P,E[R]=J,b[R]=Fo(x[R],D)},A=g.kind==="text",w=Dl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),D=rn(g.text),P=on(g.text),J=Ll(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&_l(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&b[R]?(le(),u[R]=!0):w!==null&&r>0&&a[R]==="text"&&l[R]===w?p[R]=(p[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(kl(g.text)||g.text==="-"&&u[R])?le():(o[r]=g.text,s[r]=[g.text],u[r]=g.isWordLike,a[r]=g.kind,c[r]=g.start,l[r]=w,p[r]=w===null?0:1,f[r]=C,x[r]=T,F[r]=P,E[r]=J,b[r]=Fo(T,D),r++)}for(let N=0;N<r;N++){if(l[N]!==null){o[N]=Eo(o,l,p,N);continue}o[N]=Te(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!u[N]&&Xn(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],u[N-1]=u[N-1]||u[N],o[N]="");let q=Array.from({length:r},()=>null),I=-1;for(let N=r-1;N>=0;N--){let g=o[N];if(g.length!==0){if(a[N]==="text"&&!u[N]&&Rl(g)&&I>=0&&a[I]==="text"){let A=q[I]??[];A.push(g),q[I]=A,c[I]=c[N],o[N]="";continue}I=N}}for(let N=0;N<r;N++){let g=q[N];g!=null&&(o[N]=Pl(g,o[N]))}let M=0;for(let N=0;N<r;N++){let g=o[N];g.length!==0&&(M!==N&&(o[M]=g,u[M]=u[N],a[M]=a[N],c[M]=c[N]),M++)}o.length=M,u.length=M,a.length=M,c.length=M;let X=Jl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Ql($l(Kl(Vl(jl(zl(X))))));for(let N=0;N<_.len-1;N++){let g=Bl(_.texts[N]);g!==null&&(_.kinds[N]!=="space"&&_.kinds[N]!=="preserved-space"||_.kinds[N+1]!=="text"||!bo(_.texts[N+1])||(_.texts[N]=g.space,_.isWordLike[N]=!1,_.kinds[N]=_.kinds[N]==="preserved-space"?"preserved-space":"space",_.texts[N+1]=g.marks+_.texts[N+1],_.starts[N+1]=_.starts[N]+g.space.length))}return _}function Yl(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 Zl(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,c=!1;function l(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<t.len;p++){let f=t.texts[p],x=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(x==="text"){let b=wl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||b,c=q;continue}l(),o=[f],s=F,u=E,a=b,c=q;continue}l(),e.push(f),n.push(F),i.push(x),r.push(E)}return l(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function _o(t,e,n="normal",i="normal"){let r=xl(n),o=r.mode==="pre-wrap"?yl(t):gl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Zl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Yl(s,r),...s}}var rt=null,Ro=new Map,ot=null,Xl=96,eu=/\\p{Emoji_Presentation}/u,tu=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,ei=null,vo=new Map;function ti(){if(rt!==null)return rt;if(typeof OffscreenCanvas<"u")return rt=new OffscreenCanvas(1,1).getContext("2d"),rt;if(typeof document<"u")return rt=document.createElement("canvas").getContext("2d"),rt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function nu(t){let e=Ro.get(t);return e||(e=new Map,Ro.set(t,e)),e}function Oe(t,e){let n=e.get(t);return n===void 0&&(n={width:ti().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function st(){if(ot!==null)return ot;if(typeof navigator>"u")return ot={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},ot;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 ot={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},ot}function iu(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Do(){return ei===null&&(ei=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ei}function ru(t){return eu.test(t)||t.includes("\\uFE0F")}function Lo(t){return tu.test(t)}function ou(t,e){let n=vo.get(t);if(n!==void 0)return n;let i=ti();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 vo.set(t,n),n}function su(t){let e=0,n=Do();for(let i of n.segment(t))ru(i.segment)&&e++;return e}function au(t,e){return e.emojiCount===void 0&&(e.emojiCount=su(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-au(t,e)*n}function Bo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Do(),s=[];for(let l of o.segment(t))s.push(l.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let l=[];for(let p of s){let f=Oe(p,n);l.push(ze(p,f,i))}return e.breakableFitAdvances=l,e.breakableFitAdvances}if(r==="pair-context"||s.length>Xl){let l=[],p=null,f=0;for(let x of s){let F=Oe(x,n),E=ze(x,F,i);if(p===null)l.push(E);else{let b=p+x,q=Oe(b,n);l.push(ze(b,q,i)-f)}p=x,f=E}return e.breakableFitAdvances=l,e.breakableFitAdvances}let u=[],a="",c=0;for(let l of s){a+=l;let p=Oe(a,n),f=ze(a,p,i);u.push(f-c),c=f}return e.breakableFitAdvances=u,e.breakableFitAdvances}function Io(t,e){let n=ti();n.font=t;let i=nu(t),r=iu(t),o=e?ou(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function lu(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 uu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function cu(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let u=s+t[o];if((o+1<t.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function Oo(t,e){return t.simpleLineWalkFastPath?Po(t,e):Wo(t,e)}function Po(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let u=st().lineFitEpsilon,a=e+u,c=0,l=0,p=!1,f=0,x=0,F=0,E=0,b=-1,q=0;function I(){b=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,x=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,x=C,F=w,E=C+1,l=T}function N(w,C){if(!p){X(w,C);return}l+=C,F=w+1,E=0}function g(w,C){let T=o[w];for(let D=C;D<T.length;D++){let P=T[D];p?l+P>a?(M(),_(w,D,P)):(l+=P,F=w,E=D+1):_(w,D,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=lu(t,A),A>=i.length));){let w=i[A],C=r[A],T=C==="space"||C==="preserved-space"||C==="tab"||C==="zero-width-break"||C==="soft-hyphen";if(!p){w>e&&o[A]!==null?g(A,0):X(A,w),T&&(b=A+1,q=l-w),A++;continue}if(l+w>a){if(T){N(A,w),M(A+1,0,l-w),A++;continue}if(b>=0){if(F>b||F===b&&E>0){M();continue}M(b,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(b=A+1,q=l-w),A++}return p&&M(),c}function Wo(t,e,n){if(t.simpleLineWalkFastPath)return Po(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:l}=t;if(i.length===0||l.length===0)return 0;let p=st(),f=p.lineFitEpsilon,x=e+f,F=0,E=0,b=!1,q=0,I=0,M=0,X=0,_=-1,N=0,g=0,A=null;function w(){_=-1,N=0,g=0,A=null}function C(V=M,j=X,W=E){F++,n?.({startSegmentIndex:q,startGraphemeIndex:I,endSegmentIndex:V,endGraphemeIndex:j,width:W}),E=0,b=!1,w()}function T(V,j){b=!0,q=V,I=0,M=V+1,X=0,E=j}function D(V,j,W){b=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!b){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Y){if(!j)return;let pe=V==="tab"?0:r[W],Ne=V==="tab"?Y:o[W];_=W+1,N=E-Y+pe,g=E-Y+Ne,A=V}function R(V,j){let W=u[V];for(let Y=j;Y<W.length;Y++){let pe=W[Y];b?E+pe>x?(C(),D(V,Y,pe)):(E+=pe,M=V,X=Y+1):D(V,Y,pe)}b&&M===V&&X===W.length&&(M=V+1,X=0)}function le(V){if(A!=="soft-hyphen")return!1;let j=u[V];if(j==null)return!1;let{fitCount:W,fittedWidth:Y}=cu(j,E,e,f,a);return W===0?!1:(E=Y,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Y+a),R(V,W),!0))}function Se(V){F++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),w()}for(let V=0;V<l.length;V++){let j=l[V];if(j.startSegmentIndex===j.endSegmentIndex){Se(j);continue}b=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Y=s[W],pe=Y==="space"||Y==="preserved-space"||Y==="tab"||Y==="zero-width-break"||Y==="soft-hyphen",Ne=Y==="tab"?uu(E,c):i[W];if(Y==="soft-hyphen"){b&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Y),W++;continue}if(!b){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Y,pe,W,Ne),W++;continue}if(E+Ne>x){let k=E+(Y==="tab"?0:r[W]),O=E+(Y==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=x){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(pe&&k<=x){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=x){if(M>_||M===_&&X>0){C();continue}let ie=_;C(ie,0,g),W=ie;continue}if(Ne>e&&u[W]!==null){C(),R(W,0),W++;continue}C();continue}P(W,Ne),J(Y,pe,W,Ne),W++}if(b){let Y=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Y)}}return F}var ni=null;function du(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function fu(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 mu(t,e){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function c(p,f,x){i=[p],r=f,o=x,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let x=on(p);p.length===1&&Ue.has(p)?s=s||x:s=x,u=!1}for(let p of du().segment(t)){let f=p.segment,x=Re(f);if(i.length===0){c(f,p.index,x);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&x&&s){l(f,x);continue}if(!o&&!x){l(f,x);continue}a(),c(f,p.index,x)}return a(),n}function pu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=tn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<t.length;u++){let a=t[u],c=Re(a.text),l=tn(a.text);if(r&&o){n.push(a.text),r=r||c,o=l;continue}s(),n=[a.text],i=a.start,r=c,o=l}return s(),e}function hu(t,e,n,i){let r=st(),{cache:o,emojiCorrection:s}=Io(e,Lo(t.normalized)),u=ze("-",Oe("-",o),s),c=ze(" ",Oe(" ",o),s)*8;if(t.len===0)return fu(n);let l=[],p=[],f=[],x=[],F=t.chunks.length<=1,E=n?[]:null,b=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,D,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),x.push(T),E?.push(D),b.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let D=Oe(g,o),P=ze(g,D,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(T&&C&&g.length>1){let le="sum-graphemes";Rt(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let Se=Bo(g,D,o,s,le);M(g,P,J,R,A,w,Se);return}M(g,P,J,R,A,w,null)}for(let g=0;g<t.len;g++){I[g]=l.length;let A=t.texts[g],w=t.isWordLike[g],C=t.kinds[g],T=t.starts[g];if(C==="soft-hyphen"){M(A,0,u,u,C,T,null);continue}if(C==="hard-break"){M(A,0,0,0,C,T,null);continue}if(C==="tab"){M(A,0,0,0,C,T,null);continue}let D=Oe(A,o);if(C==="text"&&D.containsCJK){let P=mu(A,r),J=i==="keep-all"?pu(P):P;for(let R=0;R<J.length;R++){let le=J[R];X(le.text,"text",T+le.start,w,i==="keep-all"||!Re(le.text))}continue}X(A,C,T,w,!0)}let _=xu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function xu(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,u=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function gu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return hu(o,e,n,r)}function Ho(t,e,n){return gu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var yu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...yu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Ho(t,o),{lineCount:u}=qo(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Uo,getVariables:so};function zo(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,go())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zo,{once:!0}):zo();})();\n';
7418
7418
  }
7419
7419
  });
7420
7420
 
@@ -11456,7 +11456,7 @@ import { get as httpsGet } from "https";
11456
11456
  import { pipeline } from "stream/promises";
11457
11457
  function downloadFile(url, dest) {
11458
11458
  const tmp = `${dest}.tmp`;
11459
- return new Promise((resolve45, reject) => {
11459
+ return new Promise((resolve46, reject) => {
11460
11460
  const follow = (u) => {
11461
11461
  httpsGet(u, (res) => {
11462
11462
  if (res.statusCode === 301 || res.statusCode === 302) {
@@ -11473,7 +11473,7 @@ function downloadFile(url, dest) {
11473
11473
  const file = createWriteStream(tmp);
11474
11474
  pipeline(res, file).then(() => {
11475
11475
  renameSync(tmp, dest);
11476
- resolve45();
11476
+ resolve46();
11477
11477
  }).catch((err) => {
11478
11478
  try {
11479
11479
  unlinkSync(tmp);
@@ -12194,7 +12194,7 @@ function hasNpx() {
12194
12194
  }
12195
12195
  }
12196
12196
  function runSkillsAdd(repo) {
12197
- return new Promise((resolve45, reject) => {
12197
+ return new Promise((resolve46, reject) => {
12198
12198
  const child = spawn("npx", ["skills", "add", repo, "--all"], {
12199
12199
  stdio: "inherit",
12200
12200
  timeout: 12e4,
@@ -12208,7 +12208,7 @@ function runSkillsAdd(repo) {
12208
12208
  env: { ...process.env, GIT_CLONE_PROTECTION_ACTIVE: "0" }
12209
12209
  });
12210
12210
  child.on("close", (code, signal) => {
12211
- if (code === 0) resolve45();
12211
+ if (code === 0) resolve46();
12212
12212
  else if (signal === "SIGINT" || code === 130) process.exit(0);
12213
12213
  else reject(new Error(`npx skills add exited with code ${code}`));
12214
12214
  });
@@ -13123,7 +13123,7 @@ function computePeaks(floats, count) {
13123
13123
  return peaks.map((p2) => p2 / maxPeak);
13124
13124
  }
13125
13125
  function decodeAudioPeaks(audioPath) {
13126
- return new Promise((resolve45, reject) => {
13126
+ return new Promise((resolve46, reject) => {
13127
13127
  const proc = spawn3(
13128
13128
  "ffmpeg",
13129
13129
  [
@@ -13156,7 +13156,7 @@ function decodeAudioPeaks(audioPath) {
13156
13156
  return;
13157
13157
  }
13158
13158
  const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + numSamples * 4);
13159
- resolve45(computePeaks(new Float32Array(ab), PEAK_COUNT));
13159
+ resolve46(computePeaks(new Float32Array(ab), PEAK_COUNT));
13160
13160
  });
13161
13161
  proc.on("error", reject);
13162
13162
  });
@@ -17096,8 +17096,8 @@ var init_custom_element_registry = __esm({
17096
17096
  } : (element) => element.localName === localName;
17097
17097
  registry.set(localName, { Class, check });
17098
17098
  if (waiting.has(localName)) {
17099
- for (const resolve45 of waiting.get(localName))
17100
- resolve45(Class);
17099
+ for (const resolve46 of waiting.get(localName))
17100
+ resolve46(Class);
17101
17101
  waiting.delete(localName);
17102
17102
  }
17103
17103
  ownerDocument.querySelectorAll(
@@ -17137,13 +17137,13 @@ var init_custom_element_registry = __esm({
17137
17137
  */
17138
17138
  whenDefined(localName) {
17139
17139
  const { registry, waiting } = this;
17140
- return new Promise((resolve45) => {
17140
+ return new Promise((resolve46) => {
17141
17141
  if (registry.has(localName))
17142
- resolve45(registry.get(localName).Class);
17142
+ resolve46(registry.get(localName).Class);
17143
17143
  else {
17144
17144
  if (!waiting.has(localName))
17145
17145
  waiting.set(localName, []);
17146
- waiting.get(localName).push(resolve45);
17146
+ waiting.get(localName).push(resolve46);
17147
17147
  }
17148
17148
  });
17149
17149
  }
@@ -27324,15 +27324,18 @@ function createStudioPositionSeekReapplyScript() {
27324
27324
  function studioPositionSeekReapplyRuntime() {
27325
27325
  const OFFSET_X_PROP = "--hf-studio-offset-x";
27326
27326
  const OFFSET_Y_PROP = "--hf-studio-offset-y";
27327
+ const WIDTH_PROP = "--hf-studio-width";
27328
+ const HEIGHT_PROP = "--hf-studio-height";
27327
27329
  const ROTATION_PROP = "--hf-studio-rotation";
27328
27330
  const PATH_OFFSET_ATTR = "data-hf-studio-path-offset";
27331
+ const BOX_SIZE_ATTR = "data-hf-studio-box-size";
27329
27332
  const ROTATION_ATTR = "data-hf-studio-rotation";
27330
27333
  const ORIGINAL_TRANSLATE_ATTR = "data-hf-studio-original-translate";
27331
27334
  const ORIGINAL_ROTATE_ATTR = "data-hf-studio-original-rotate";
27332
27335
  const MOTION_ATTR = "data-hf-studio-motion";
27333
27336
  const MOTION_TL_KEY = "studio-motion";
27334
27337
  const WRAPPED_PROP = "__hfStudioPositionSeekReapplyWrapped";
27335
- if (!document.querySelector("[" + PATH_OFFSET_ATTR + '="true"]') && !document.querySelector("[" + ROTATION_ATTR + '="true"]') && !document.querySelector("[" + MOTION_ATTR + "]"))
27338
+ if (!document.querySelector("[" + PATH_OFFSET_ATTR + '="true"]') && !document.querySelector("[" + BOX_SIZE_ATTR + '="true"]') && !document.querySelector("[" + ROTATION_ATTR + '="true"]') && !document.querySelector("[" + MOTION_ATTR + "]"))
27336
27339
  return;
27337
27340
  const splitTopLevelWhitespace = (value) => {
27338
27341
  const parts = [];
@@ -27446,6 +27449,25 @@ function studioPositionSeekReapplyRuntime() {
27446
27449
  if (typeof tl.totalTime === "function")
27447
27450
  tl.totalTime(lastSeekTime, false);
27448
27451
  };
27452
+ const stripGsapTranslateFromTransform = (el) => {
27453
+ const transform = el.style.getPropertyValue("transform");
27454
+ if (!transform || transform === "none") return;
27455
+ const win = el.ownerDocument.defaultView;
27456
+ const MatrixCtor = win?.DOMMatrix;
27457
+ if (!MatrixCtor) return;
27458
+ try {
27459
+ const m2 = new MatrixCtor(transform);
27460
+ if (m2.m41 === 0 && m2.m42 === 0) return;
27461
+ m2.m41 = 0;
27462
+ m2.m42 = 0;
27463
+ if (m2.is2D && m2.a === 1 && m2.b === 0 && m2.c === 0 && m2.d === 1) {
27464
+ el.style.removeProperty("transform");
27465
+ } else {
27466
+ el.style.setProperty("transform", m2.toString());
27467
+ }
27468
+ } catch {
27469
+ }
27470
+ };
27449
27471
  const reapplyAll = () => {
27450
27472
  const offsetEls = document.querySelectorAll("[" + PATH_OFFSET_ATTR + '="true"]');
27451
27473
  for (let i2 = 0; i2 < offsetEls.length; i2++) {
@@ -27462,8 +27484,18 @@ function studioPositionSeekReapplyRuntime() {
27462
27484
  "var(" + OFFSET_Y_PROP + ", 0px)"
27463
27485
  )
27464
27486
  );
27487
+ stripGsapTranslateFromTransform(el);
27465
27488
  }
27466
27489
  }
27490
+ const boxSizeEls = document.querySelectorAll("[" + BOX_SIZE_ATTR + '="true"]');
27491
+ for (let i2 = 0; i2 < boxSizeEls.length; i2++) {
27492
+ const el = boxSizeEls[i2];
27493
+ if (!(el instanceof HTMLElement)) continue;
27494
+ const w3 = el.style.getPropertyValue(WIDTH_PROP);
27495
+ const h3 = el.style.getPropertyValue(HEIGHT_PROP);
27496
+ if (w3) el.style.setProperty("width", w3);
27497
+ if (h3) el.style.setProperty("height", h3);
27498
+ }
27467
27499
  const rotEls = document.querySelectorAll("[" + ROTATION_ATTR + '="true"]');
27468
27500
  for (let i2 = 0; i2 < rotEls.length; i2++) {
27469
27501
  const el = rotEls[i2];
@@ -27471,6 +27503,7 @@ function studioPositionSeekReapplyRuntime() {
27471
27503
  const rot = el.style.getPropertyValue(ROTATION_PROP);
27472
27504
  if (rot) {
27473
27505
  el.style.setProperty("rotate", composeRotation(el, "var(" + ROTATION_PROP + ", 0deg)"));
27506
+ stripGsapTranslateFromTransform(el);
27474
27507
  }
27475
27508
  }
27476
27509
  reapplyMotionTimeline();
@@ -29419,10 +29452,10 @@ async function waitForCloseWithTimeout(promise) {
29419
29452
  () => void 0,
29420
29453
  () => void 0
29421
29454
  ),
29422
- new Promise((resolve45) => {
29455
+ new Promise((resolve46) => {
29423
29456
  timer = setTimeout(() => {
29424
29457
  timedOut = true;
29425
- resolve45();
29458
+ resolve46();
29426
29459
  }, CAPTURE_SESSION_CLOSE_TIMEOUT_MS);
29427
29460
  })
29428
29461
  ]);
@@ -29520,7 +29553,7 @@ async function pollPageExpression(page, expression, timeoutMs, intervalMs = 100)
29520
29553
  while (Date.now() < deadline) {
29521
29554
  const ready = Boolean(await page.evaluate(expression));
29522
29555
  if (ready) return true;
29523
- await new Promise((resolve45) => setTimeout(resolve45, intervalMs));
29556
+ await new Promise((resolve46) => setTimeout(resolve46, intervalMs));
29524
29557
  }
29525
29558
  return Boolean(await page.evaluate(expression));
29526
29559
  }
@@ -29536,14 +29569,8 @@ async function pollSubCompositionTimelines(page, timeoutMs, intervalMs = 150) {
29536
29569
  }
29537
29570
  return true;
29538
29571
  })()`;
29539
- const timelinesBeforePoll = Number(
29540
- await page.evaluate(`Object.keys(window.__timelines || {}).length`)
29541
- );
29542
29572
  const ready = await pollPageExpression(page, expression, timeoutMs, intervalMs);
29543
- const timelinesAfterPoll = Number(
29544
- await page.evaluate(`Object.keys(window.__timelines || {}).length`)
29545
- );
29546
- if (ready && timelinesAfterPoll > timelinesBeforePoll) {
29573
+ if (ready) {
29547
29574
  await page.evaluate(`(function() {
29548
29575
  if (typeof window.__hfForceTimelineRebind === "function") {
29549
29576
  window.__hfForceTimelineRebind();
@@ -29585,7 +29612,7 @@ async function pollVideosReady(page, skipIds, timeoutMs, intervalMs = 100) {
29585
29612
  const deadline = Date.now() + timeoutMs;
29586
29613
  while (Date.now() < deadline) {
29587
29614
  if (await check()) return true;
29588
- await new Promise((resolve45) => setTimeout(resolve45, intervalMs));
29615
+ await new Promise((resolve46) => setTimeout(resolve46, intervalMs));
29589
29616
  }
29590
29617
  return check();
29591
29618
  }
@@ -29619,7 +29646,7 @@ async function waitForOptionalTailwindReady(page, timeoutMs) {
29619
29646
  page.evaluate(
29620
29647
  `Promise.resolve(window.__tailwindReady).then(() => true, () => false)`
29621
29648
  ),
29622
- new Promise((resolve45) => setTimeout(() => resolve45(false), timeoutMs))
29649
+ new Promise((resolve46) => setTimeout(() => resolve46(false), timeoutMs))
29623
29650
  ]);
29624
29651
  if (!ready) {
29625
29652
  throw new Error(
@@ -29987,14 +30014,14 @@ var init_frameCapture = __esm({
29987
30014
  BROWSER_CONSOLE_BUFFER_SIZE = 200;
29988
30015
  CAPTURE_SESSION_CLOSE_TIMEOUT_MS = 5e3;
29989
30016
  LOCKED_WARMUP_TICKS = 60;
29990
- realSleep = (ms) => new Promise((resolve45) => setTimeout(resolve45, ms));
30017
+ realSleep = (ms) => new Promise((resolve46) => setTimeout(resolve46, ms));
29991
30018
  }
29992
30019
  });
29993
30020
 
29994
30021
  // ../engine/src/utils/gpuEncoder.ts
29995
30022
  import { spawn as spawn4 } from "child_process";
29996
30023
  async function detectGpuEncoder() {
29997
- return new Promise((resolve45) => {
30024
+ return new Promise((resolve46) => {
29998
30025
  const ffmpeg = spawn4("ffmpeg", ["-encoders"], {
29999
30026
  stdio: ["pipe", "pipe", "pipe"]
30000
30027
  });
@@ -30003,13 +30030,13 @@ async function detectGpuEncoder() {
30003
30030
  stdout2 += data.toString();
30004
30031
  });
30005
30032
  ffmpeg.on("close", () => {
30006
- if (stdout2.includes("h264_nvenc")) resolve45("nvenc");
30007
- else if (stdout2.includes("h264_videotoolbox")) resolve45("videotoolbox");
30008
- else if (stdout2.includes("h264_vaapi")) resolve45("vaapi");
30009
- else if (stdout2.includes("h264_qsv")) resolve45("qsv");
30010
- else resolve45(null);
30033
+ if (stdout2.includes("h264_nvenc")) resolve46("nvenc");
30034
+ else if (stdout2.includes("h264_videotoolbox")) resolve46("videotoolbox");
30035
+ else if (stdout2.includes("h264_vaapi")) resolve46("vaapi");
30036
+ else if (stdout2.includes("h264_qsv")) resolve46("qsv");
30037
+ else resolve46(null);
30011
30038
  });
30012
- ffmpeg.on("error", () => resolve45(null));
30039
+ ffmpeg.on("error", () => resolve46(null));
30013
30040
  });
30014
30041
  }
30015
30042
  async function getCachedGpuEncoder() {
@@ -30130,7 +30157,7 @@ async function runFfmpeg(args, opts) {
30130
30157
  const signal = opts?.signal;
30131
30158
  const timeout = opts?.timeout ?? DEFAULT_TIMEOUT;
30132
30159
  const onStderr = opts?.onStderr;
30133
- return new Promise((resolve45) => {
30160
+ return new Promise((resolve46) => {
30134
30161
  const ffmpeg = spawn5("ffmpeg", args);
30135
30162
  let stderr = "";
30136
30163
  const onAbort = () => {
@@ -30156,7 +30183,7 @@ async function runFfmpeg(args, opts) {
30156
30183
  ffmpeg.on("close", (code) => {
30157
30184
  clearTimeout(timer);
30158
30185
  if (signal) signal.removeEventListener("abort", onAbort);
30159
- resolve45({
30186
+ resolve46({
30160
30187
  success: !signal?.aborted && code === 0,
30161
30188
  exitCode: code,
30162
30189
  stderr,
@@ -30166,7 +30193,7 @@ async function runFfmpeg(args, opts) {
30166
30193
  ffmpeg.on("error", (err) => {
30167
30194
  clearTimeout(timer);
30168
30195
  if (signal) signal.removeEventListener("abort", onAbort);
30169
- resolve45({
30196
+ resolve46({
30170
30197
  success: false,
30171
30198
  exitCode: null,
30172
30199
  stderr: err.message,
@@ -30418,7 +30445,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30418
30445
  const inputPath = join24(framesDir, framePattern);
30419
30446
  const inputArgs = ["-framerate", fpsToFfmpegArg(options.fps), "-i", inputPath];
30420
30447
  const args = buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder);
30421
- return new Promise((resolve45) => {
30448
+ return new Promise((resolve46) => {
30422
30449
  const ffmpeg = spawn6("ffmpeg", args);
30423
30450
  let stderr = "";
30424
30451
  const onAbort = () => {
@@ -30443,7 +30470,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30443
30470
  if (signal) signal.removeEventListener("abort", onAbort);
30444
30471
  const durationMs = Date.now() - startTime;
30445
30472
  if (signal?.aborted) {
30446
- resolve45({
30473
+ resolve46({
30447
30474
  success: false,
30448
30475
  outputPath,
30449
30476
  durationMs,
@@ -30454,7 +30481,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30454
30481
  return;
30455
30482
  }
30456
30483
  if (code !== 0) {
30457
- resolve45({
30484
+ resolve46({
30458
30485
  success: false,
30459
30486
  outputPath,
30460
30487
  durationMs,
@@ -30465,12 +30492,12 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30465
30492
  return;
30466
30493
  }
30467
30494
  const fileSize = existsSync20(outputPath) ? statSync6(outputPath).size : 0;
30468
- resolve45({ success: true, outputPath, durationMs, framesEncoded: frameCount, fileSize });
30495
+ resolve46({ success: true, outputPath, durationMs, framesEncoded: frameCount, fileSize });
30469
30496
  });
30470
30497
  ffmpeg.on("error", (err) => {
30471
30498
  clearTimeout(timer);
30472
30499
  if (signal) signal.removeEventListener("abort", onAbort);
30473
- resolve45({
30500
+ resolve46({
30474
30501
  success: false,
30475
30502
  outputPath,
30476
30503
  durationMs: Date.now() - startTime,
@@ -30528,18 +30555,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
30528
30555
  let gpuEncoder = null;
30529
30556
  if (options.useGpu) gpuEncoder = await getCachedGpuEncoder();
30530
30557
  const args = buildEncoderArgs(options, inputArgs, chunkPath, gpuEncoder);
30531
- const chunkResult = await new Promise((resolve45) => {
30558
+ const chunkResult = await new Promise((resolve46) => {
30532
30559
  const ffmpeg = spawn6("ffmpeg", args);
30533
30560
  let stderr = "";
30534
30561
  ffmpeg.stderr.on("data", (d2) => {
30535
30562
  stderr += d2.toString();
30536
30563
  });
30537
30564
  ffmpeg.on("close", (code) => {
30538
- if (code === 0) resolve45({ success: true });
30539
- else resolve45({ success: false, error: `Chunk ${i2} encode failed: ${stderr.slice(-400)}` });
30565
+ if (code === 0) resolve46({ success: true });
30566
+ else resolve46({ success: false, error: `Chunk ${i2} encode failed: ${stderr.slice(-400)}` });
30540
30567
  });
30541
30568
  ffmpeg.on("error", (err) => {
30542
- resolve45({ success: false, error: `Chunk ${i2} encode error: ${err.message}` });
30569
+ resolve46({ success: false, error: `Chunk ${i2} encode error: ${err.message}` });
30543
30570
  });
30544
30571
  });
30545
30572
  if (!chunkResult.success) {
@@ -30569,18 +30596,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
30569
30596
  "-y",
30570
30597
  outputPath
30571
30598
  ];
30572
- const concatResult = await new Promise((resolve45) => {
30599
+ const concatResult = await new Promise((resolve46) => {
30573
30600
  const ffmpeg = spawn6("ffmpeg", concatArgs);
30574
30601
  let stderr = "";
30575
30602
  ffmpeg.stderr.on("data", (d2) => {
30576
30603
  stderr += d2.toString();
30577
30604
  });
30578
30605
  ffmpeg.on("close", (code) => {
30579
- if (code === 0) resolve45({ success: true });
30580
- else resolve45({ success: false, error: `Chunk concat failed: ${stderr.slice(-400)}` });
30606
+ if (code === 0) resolve46({ success: true });
30607
+ else resolve46({ success: false, error: `Chunk concat failed: ${stderr.slice(-400)}` });
30581
30608
  });
30582
30609
  ffmpeg.on("error", (err) => {
30583
- resolve45({ success: false, error: `Chunk concat error: ${err.message}` });
30610
+ resolve46({ success: false, error: `Chunk concat error: ${err.message}` });
30584
30611
  });
30585
30612
  });
30586
30613
  if (!concatResult.success) {
@@ -30682,37 +30709,37 @@ import { dirname as dirname8 } from "path";
30682
30709
  function createFrameReorderBuffer(startFrame, endFrame) {
30683
30710
  let cursor = startFrame;
30684
30711
  const pending = /* @__PURE__ */ new Map();
30685
- const enqueueAt = (frame, resolve45) => {
30712
+ const enqueueAt = (frame, resolve46) => {
30686
30713
  const list = pending.get(frame);
30687
30714
  if (list === void 0) {
30688
- pending.set(frame, [resolve45]);
30715
+ pending.set(frame, [resolve46]);
30689
30716
  } else {
30690
- list.push(resolve45);
30717
+ list.push(resolve46);
30691
30718
  }
30692
30719
  };
30693
30720
  const flushAt = (frame) => {
30694
30721
  const list = pending.get(frame);
30695
30722
  if (list === void 0) return;
30696
30723
  pending.delete(frame);
30697
- for (const resolve45 of list) resolve45();
30724
+ for (const resolve46 of list) resolve46();
30698
30725
  };
30699
- const waitForFrame = (frame) => new Promise((resolve45) => {
30726
+ const waitForFrame = (frame) => new Promise((resolve46) => {
30700
30727
  if (frame === cursor) {
30701
- resolve45();
30728
+ resolve46();
30702
30729
  return;
30703
30730
  }
30704
- enqueueAt(frame, resolve45);
30731
+ enqueueAt(frame, resolve46);
30705
30732
  });
30706
30733
  const advanceTo = (frame) => {
30707
30734
  cursor = frame;
30708
30735
  flushAt(frame);
30709
30736
  };
30710
- const waitForAllDone = () => new Promise((resolve45) => {
30737
+ const waitForAllDone = () => new Promise((resolve46) => {
30711
30738
  if (cursor >= endFrame) {
30712
- resolve45();
30739
+ resolve46();
30713
30740
  return;
30714
30741
  }
30715
- enqueueAt(endFrame, resolve45);
30742
+ enqueueAt(endFrame, resolve46);
30716
30743
  });
30717
30744
  return { waitForFrame, advanceTo, waitForAllDone };
30718
30745
  }
@@ -30893,7 +30920,7 @@ async function spawnStreamingEncoder(outputPath, options, signal, config) {
30893
30920
  let stderr = "";
30894
30921
  let exitCode = null;
30895
30922
  let exitPromiseResolve = null;
30896
- const exitPromise = new Promise((resolve45) => exitPromiseResolve = resolve45);
30923
+ const exitPromise = new Promise((resolve46) => exitPromiseResolve = resolve46);
30897
30924
  ffmpeg.stderr?.on("data", (data) => {
30898
30925
  stderr += data.toString();
30899
30926
  });
@@ -30953,8 +30980,8 @@ Process error: ${err.message}`;
30953
30980
  if (signal) signal.removeEventListener("abort", onAbort);
30954
30981
  const stdin = ffmpeg.stdin;
30955
30982
  if (stdin && !stdin.destroyed) {
30956
- await new Promise((resolve45) => {
30957
- stdin.end(() => resolve45());
30983
+ await new Promise((resolve46) => {
30984
+ stdin.end(() => resolve46());
30958
30985
  });
30959
30986
  }
30960
30987
  await exitPromise;
@@ -30998,7 +31025,7 @@ import { spawn as spawn8 } from "child_process";
30998
31025
  import { readFileSync as readFileSync18 } from "fs";
30999
31026
  import { extname as extname5 } from "path";
31000
31027
  function runFfprobe(args) {
31001
- return new Promise((resolve45, reject) => {
31028
+ return new Promise((resolve46, reject) => {
31002
31029
  const proc = spawn8("ffprobe", args);
31003
31030
  let stdout2 = "";
31004
31031
  let stderr = "";
@@ -31012,7 +31039,7 @@ function runFfprobe(args) {
31012
31039
  if (code !== 0) {
31013
31040
  reject(new Error(`[FFmpeg] ffprobe exited with code ${code}: ${stderr}`));
31014
31041
  } else {
31015
- resolve45(stdout2);
31042
+ resolve46(stdout2);
31016
31043
  }
31017
31044
  });
31018
31045
  proc.on("error", (err) => {
@@ -32000,6 +32027,9 @@ function inlineSubCompositions(document2, hosts, options) {
32000
32027
  hostEl.innerHTML = prepared.outerHTML || "";
32001
32028
  } else {
32002
32029
  hostEl.innerHTML = compId ? innerRoot.innerHTML || "" : innerRoot.outerHTML || "";
32030
+ if (compId && authoredRootId) {
32031
+ hostEl.setAttribute("data-hf-authored-id", authoredRootId);
32032
+ }
32003
32033
  }
32004
32034
  } else {
32005
32035
  for (const child of [...contentDoc.querySelectorAll("style, script")]) child.remove();
@@ -32945,7 +32975,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
32945
32975
  args.push("-q:v", format === "jpg" ? String(Math.ceil((100 - quality) / 3)) : "0");
32946
32976
  if (format === "png") args.push("-compression_level", "6");
32947
32977
  args.push("-y", outputPattern);
32948
- return new Promise((resolve45, reject) => {
32978
+ return new Promise((resolve46, reject) => {
32949
32979
  const ffmpeg = spawn9("ffmpeg", args);
32950
32980
  let stderr = "";
32951
32981
  const onAbort = () => {
@@ -32980,7 +33010,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
32980
33010
  files.forEach((file, index) => {
32981
33011
  framePaths.set(index, join28(videoOutputDir, file));
32982
33012
  });
32983
- resolve45({
33013
+ resolve46({
32984
33014
  videoId,
32985
33015
  srcPath: videoPath,
32986
33016
  outputDir: videoOutputDir,
@@ -34563,11 +34593,11 @@ function createFileServer(options) {
34563
34593
  headers: { "Content-Type": contentType }
34564
34594
  });
34565
34595
  });
34566
- return new Promise((resolve45) => {
34596
+ return new Promise((resolve46) => {
34567
34597
  const server = serve({ fetch: app.fetch, port }, (info) => {
34568
34598
  const actualPort = info.port;
34569
34599
  const url = `http://localhost:${actualPort}`;
34570
- resolve45({
34600
+ resolve46({
34571
34601
  url,
34572
34602
  port: actualPort,
34573
34603
  close: () => server.close()
@@ -36956,10 +36986,10 @@ function createFileServer2(options) {
36956
36986
  headers: { "Content-Type": contentType }
36957
36987
  });
36958
36988
  });
36959
- return new Promise((resolve45) => {
36989
+ return new Promise((resolve46) => {
36960
36990
  const connections = /* @__PURE__ */ new Set();
36961
36991
  const server = serve2({ fetch: app.fetch, port }, (info) => {
36962
- resolve45({
36992
+ resolve46({
36963
36993
  url: `http://localhost:${info.port}`,
36964
36994
  port: info.port,
36965
36995
  addPreHeadScript: (script) => {
@@ -37260,11 +37290,11 @@ import {
37260
37290
  isAbsolute as nodeIsAbsolute
37261
37291
  } from "path";
37262
37292
  function isPathInside2(childPath, parentPath, options = {}) {
37263
- const resolvePath3 = options.pathModule?.resolve ?? nodeResolve;
37293
+ const resolvePath4 = options.pathModule?.resolve ?? nodeResolve;
37264
37294
  const relativePath = options.pathModule?.relative ?? nodeRelative;
37265
37295
  const isPathAbsolute = options.pathModule?.isAbsolute ?? nodeIsAbsolute;
37266
- const absChild = resolvePath3(childPath);
37267
- const absParent = resolvePath3(parentPath);
37296
+ const absChild = resolvePath4(childPath);
37297
+ const absParent = resolvePath4(parentPath);
37268
37298
  if (absChild === absParent) return true;
37269
37299
  const rel = relativePath(absParent, absChild);
37270
37300
  return rel !== "" && !rel.startsWith("..") && !isPathAbsolute(rel);
@@ -38561,6 +38591,7 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
38561
38591
  const { html: htmlWithAssets, externalAssets } = collectExternalAssets(assembledHtml, projectDir);
38562
38592
  const HF_POSITION_ATTRS = [
38563
38593
  'data-hf-studio-path-offset="true"',
38594
+ 'data-hf-studio-box-size="true"',
38564
38595
  'data-hf-studio-rotation="true"',
38565
38596
  'data-hf-studio-motion="'
38566
38597
  ];
@@ -40399,8 +40430,8 @@ async function createShaderTransitionWorkerPool(opts) {
40399
40430
  if (terminated) {
40400
40431
  throw new Error("shader-blend pool already terminated");
40401
40432
  }
40402
- return new Promise((resolve45, reject) => {
40403
- const task = traceEnabled ? { req, resolve: resolve45, reject, enqueuedAtMs: Date.now(), traceId: ++nextTaskId } : { req, resolve: resolve45, reject };
40433
+ return new Promise((resolve46, reject) => {
40434
+ const task = traceEnabled ? { req, resolve: resolve46, reject, enqueuedAtMs: Date.now(), traceId: ++nextTaskId } : { req, resolve: resolve46, reject };
40404
40435
  const idle = slots.find((s2) => !s2.busy);
40405
40436
  if (idle) {
40406
40437
  queue.unshift(task);
@@ -42509,10 +42540,10 @@ var init_semaphore = __esm({
42509
42540
  this.active++;
42510
42541
  return () => this.release();
42511
42542
  }
42512
- return new Promise((resolve45) => {
42543
+ return new Promise((resolve46) => {
42513
42544
  this.queue.push(() => {
42514
42545
  this.active++;
42515
- resolve45(() => this.release());
42546
+ resolve46(() => this.release());
42516
42547
  });
42517
42548
  });
42518
42549
  }
@@ -43517,7 +43548,8 @@ function buildLockedRenderConfig(input) {
43517
43548
  pixelFormat,
43518
43549
  chunkSize: input.effectiveChunkSize,
43519
43550
  chunkCount: input.chunkCount,
43520
- runtimeEnv: input.runtimeEnv
43551
+ runtimeEnv: input.runtimeEnv,
43552
+ variables: config.variables
43521
43553
  };
43522
43554
  }
43523
43555
  function resolveEncoderTriple(config) {
@@ -44019,6 +44051,12 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
44019
44051
  format: plan2.dimensions.format === "mp4" ? "jpeg" : "png",
44020
44052
  quality: plan2.dimensions.format === "mp4" ? 80 : void 0,
44021
44053
  deviceScaleFactor: encoder.deviceScaleFactor,
44054
+ // Re-inject the controller's snapshotted variables so the chunk's
44055
+ // first capture sees the same `window.__hfVariables` the in-process
44056
+ // renderer would have seen. Optional — compositions that don't
44057
+ // declare `data-composition-variables` leave this undefined and the
44058
+ // engine skips the `evaluateOnNewDocument` injection.
44059
+ variables: encoder.variables,
44022
44060
  // lock the BeginFrame warmup loop to a fixed iteration count so
44023
44061
  // `beginFrameTimeTicks` is host-independent. Only chunks ever set this.
44024
44062
  lockWarmupTicks: true
@@ -44346,7 +44384,7 @@ async function defaultRunFfmpeg(args) {
44346
44384
  };
44347
44385
  }
44348
44386
  function runFfprobeJson(args) {
44349
- return new Promise((resolve45, reject) => {
44387
+ return new Promise((resolve46, reject) => {
44350
44388
  const proc = spawn10("ffprobe", args);
44351
44389
  let stdout2 = "";
44352
44390
  let stderr = "";
@@ -44369,7 +44407,7 @@ function runFfprobeJson(args) {
44369
44407
  return;
44370
44408
  }
44371
44409
  try {
44372
- resolve45(JSON.parse(stdout2));
44410
+ resolve46(JSON.parse(stdout2));
44373
44411
  } catch (err) {
44374
44412
  reject(new Error(`Failed to parse ffprobe output: ${err.message}`));
44375
44413
  }
@@ -45131,8 +45169,8 @@ async function runDevMode(dir, options) {
45131
45169
  }
45132
45170
  });
45133
45171
  }
45134
- return new Promise((resolve45) => {
45135
- child.on("close", () => resolve45());
45172
+ return new Promise((resolve46) => {
45173
+ child.on("close", () => resolve46());
45136
45174
  });
45137
45175
  }
45138
45176
  function hasLocalStudio(dir) {
@@ -45206,8 +45244,8 @@ async function runLocalStudioMode(dir, options) {
45206
45244
  }
45207
45245
  });
45208
45246
  }
45209
- return new Promise((resolve45) => {
45210
- child.on("close", () => resolve45());
45247
+ return new Promise((resolve46) => {
45248
+ child.on("close", () => resolve46());
45211
45249
  });
45212
45250
  }
45213
45251
  async function runEmbeddedMode(dir, startPort, options) {
@@ -47292,6 +47330,149 @@ var init_publish = __esm({
47292
47330
  }
47293
47331
  });
47294
47332
 
47333
+ // src/utils/dom.ts
47334
+ function ensureDOMParser() {
47335
+ if (typeof globalThis.DOMParser === "undefined") {
47336
+ globalThis.DOMParser = DOMParser2;
47337
+ }
47338
+ }
47339
+ var init_dom = __esm({
47340
+ "src/utils/dom.ts"() {
47341
+ "use strict";
47342
+ init_esm10();
47343
+ }
47344
+ });
47345
+
47346
+ // src/utils/variables.ts
47347
+ import { readFileSync as readFileSync36 } from "fs";
47348
+ import { resolve as resolve32 } from "path";
47349
+ function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync36(resolve32(p2), "utf8")) {
47350
+ if (inline != null && filePath != null) {
47351
+ return { ok: false, error: { kind: "conflict" } };
47352
+ }
47353
+ let raw;
47354
+ let source;
47355
+ if (inline != null) {
47356
+ raw = inline;
47357
+ source = "inline";
47358
+ } else if (filePath != null) {
47359
+ try {
47360
+ raw = readFile(filePath);
47361
+ source = "file";
47362
+ } catch (error) {
47363
+ return {
47364
+ ok: false,
47365
+ error: {
47366
+ kind: "read-error",
47367
+ path: filePath,
47368
+ cause: error instanceof Error ? error.message : String(error)
47369
+ }
47370
+ };
47371
+ }
47372
+ }
47373
+ if (raw == null) return { ok: true, value: void 0 };
47374
+ let parsed;
47375
+ try {
47376
+ parsed = JSON.parse(raw);
47377
+ } catch (error) {
47378
+ return {
47379
+ ok: false,
47380
+ error: {
47381
+ kind: "parse-error",
47382
+ source: source ?? "inline",
47383
+ cause: error instanceof Error ? error.message : String(error)
47384
+ }
47385
+ };
47386
+ }
47387
+ if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
47388
+ return { ok: false, error: { kind: "shape-error" } };
47389
+ }
47390
+ return { ok: true, value: parsed };
47391
+ }
47392
+ function variablesErrorMessage(error) {
47393
+ switch (error.kind) {
47394
+ case "conflict":
47395
+ return {
47396
+ title: "Conflicting variables flags",
47397
+ message: "Use either --variables or --variables-file, not both."
47398
+ };
47399
+ case "read-error":
47400
+ return {
47401
+ title: "Could not read --variables-file",
47402
+ message: `${error.path}: ${error.cause}`
47403
+ };
47404
+ case "parse-error":
47405
+ return {
47406
+ title: error.source === "file" ? "Invalid JSON in --variables-file" : "Invalid JSON in --variables",
47407
+ message: error.cause
47408
+ };
47409
+ case "shape-error":
47410
+ return {
47411
+ title: "Invalid variables payload",
47412
+ message: 'Variables must be a JSON object (e.g. {"title":"Hello"}).'
47413
+ };
47414
+ }
47415
+ }
47416
+ function resolveVariablesArg(inline, filePath) {
47417
+ const result = parseVariablesArg(inline, filePath);
47418
+ if (!result.ok) {
47419
+ const { title, message } = variablesErrorMessage(result.error);
47420
+ errorBox(title, message);
47421
+ process.exit(1);
47422
+ }
47423
+ return result.value;
47424
+ }
47425
+ function validateVariablesAgainstProject(indexPath, values) {
47426
+ const schema = loadProjectVariableSchema(indexPath);
47427
+ return validateVariablesAgainstSchema(values, schema);
47428
+ }
47429
+ function loadProjectVariableSchema(indexPath) {
47430
+ let html;
47431
+ try {
47432
+ html = readFileSync36(indexPath, "utf8");
47433
+ } catch {
47434
+ return [];
47435
+ }
47436
+ ensureDOMParser();
47437
+ return extractCompositionMetadata(html).variables;
47438
+ }
47439
+ function validateVariablesAgainstSchema(values, schema) {
47440
+ if (schema.length === 0) return [];
47441
+ return validateVariables(values, schema);
47442
+ }
47443
+ function reportVariableIssues(issues, options) {
47444
+ if (issues.length === 0) return;
47445
+ const { strict, quiet } = options;
47446
+ if (!quiet) {
47447
+ console.log("");
47448
+ console.log(
47449
+ c2.warn(
47450
+ `Variable ${issues.length === 1 ? "issue" : "issues"} (${issues.length}) \u2014 values may not render as expected:`
47451
+ )
47452
+ );
47453
+ for (const issue of issues) {
47454
+ console.log(" " + c2.dim(formatVariableValidationIssue(issue)));
47455
+ }
47456
+ console.log("");
47457
+ }
47458
+ if (strict) {
47459
+ errorBox(
47460
+ "Variable validation failed",
47461
+ "Aborting render due to variable issues (--strict-variables mode)."
47462
+ );
47463
+ process.exit(1);
47464
+ }
47465
+ }
47466
+ var init_variables = __esm({
47467
+ "src/utils/variables.ts"() {
47468
+ "use strict";
47469
+ init_src();
47470
+ init_dom();
47471
+ init_colors();
47472
+ init_format();
47473
+ }
47474
+ });
47475
+
47295
47476
  // src/utils/producer.ts
47296
47477
  async function loadProducer() {
47297
47478
  return await Promise.resolve().then(() => (init_src3(), src_exports3));
@@ -47370,19 +47551,6 @@ var init_dockerRunArgs = __esm({
47370
47551
  }
47371
47552
  });
47372
47553
 
47373
- // src/utils/dom.ts
47374
- function ensureDOMParser() {
47375
- if (typeof globalThis.DOMParser === "undefined") {
47376
- globalThis.DOMParser = DOMParser2;
47377
- }
47378
- }
47379
- var init_dom = __esm({
47380
- "src/utils/dom.ts"() {
47381
- "use strict";
47382
- init_esm10();
47383
- }
47384
- });
47385
-
47386
47554
  // src/browser/ffmpeg.ts
47387
47555
  var ffmpeg_exports = {};
47388
47556
  __export(ffmpeg_exports, {
@@ -47425,15 +47593,12 @@ var render_exports = {};
47425
47593
  __export(render_exports, {
47426
47594
  default: () => render_default,
47427
47595
  examples: () => examples7,
47428
- parseVariablesArg: () => parseVariablesArg,
47429
47596
  renderLocal: () => renderLocal,
47430
- resolveBrowserGpuForCli: () => resolveBrowserGpuForCli,
47431
- resolveVariablesArg: () => resolveVariablesArg,
47432
- validateVariablesAgainstProject: () => validateVariablesAgainstProject
47597
+ resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
47433
47598
  });
47434
- import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync36, statSync as statSync20, writeFileSync as writeFileSync26, rmSync as rmSync14 } from "fs";
47599
+ import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync37, statSync as statSync20, writeFileSync as writeFileSync26, rmSync as rmSync14 } from "fs";
47435
47600
  import { cpus as cpus4, freemem as freemem3, tmpdir as tmpdir5 } from "os";
47436
- import { resolve as resolve32, dirname as dirname22, join as join62, basename as basename11 } from "path";
47601
+ import { resolve as resolve33, dirname as dirname22, join as join62, basename as basename11 } from "path";
47437
47602
  import { execFileSync as execFileSync6, spawn as spawn13 } from "child_process";
47438
47603
  function formatFpsParseError(input, reason) {
47439
47604
  switch (reason) {
@@ -47451,94 +47616,6 @@ function formatFpsParseError(input, reason) {
47451
47616
  return `Got "${input}". Decimal frame rates are ambiguous \u2014 use the exact rational form instead (e.g. 30000/1001 for 29.97).`;
47452
47617
  }
47453
47618
  }
47454
- function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync36(resolve32(p2), "utf8")) {
47455
- if (inline != null && filePath != null) {
47456
- return { ok: false, error: { kind: "conflict" } };
47457
- }
47458
- let raw;
47459
- let source;
47460
- if (inline != null) {
47461
- raw = inline;
47462
- source = "inline";
47463
- } else if (filePath != null) {
47464
- try {
47465
- raw = readFile(filePath);
47466
- source = "file";
47467
- } catch (error) {
47468
- return {
47469
- ok: false,
47470
- error: {
47471
- kind: "read-error",
47472
- path: filePath,
47473
- cause: error instanceof Error ? error.message : String(error)
47474
- }
47475
- };
47476
- }
47477
- }
47478
- if (raw == null) return { ok: true, value: void 0 };
47479
- let parsed;
47480
- try {
47481
- parsed = JSON.parse(raw);
47482
- } catch (error) {
47483
- return {
47484
- ok: false,
47485
- error: {
47486
- kind: "parse-error",
47487
- source: source ?? "inline",
47488
- cause: error instanceof Error ? error.message : String(error)
47489
- }
47490
- };
47491
- }
47492
- if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
47493
- return { ok: false, error: { kind: "shape-error" } };
47494
- }
47495
- return { ok: true, value: parsed };
47496
- }
47497
- function variablesErrorMessage(error) {
47498
- switch (error.kind) {
47499
- case "conflict":
47500
- return {
47501
- title: "Conflicting variables flags",
47502
- message: "Use either --variables or --variables-file, not both."
47503
- };
47504
- case "read-error":
47505
- return {
47506
- title: "Could not read --variables-file",
47507
- message: `${error.path}: ${error.cause}`
47508
- };
47509
- case "parse-error":
47510
- return {
47511
- title: error.source === "file" ? "Invalid JSON in --variables-file" : "Invalid JSON in --variables",
47512
- message: error.cause
47513
- };
47514
- case "shape-error":
47515
- return {
47516
- title: "Invalid variables payload",
47517
- message: 'Variables must be a JSON object (e.g. {"title":"Hello"}).'
47518
- };
47519
- }
47520
- }
47521
- function resolveVariablesArg(inline, filePath) {
47522
- const result = parseVariablesArg(inline, filePath);
47523
- if (!result.ok) {
47524
- const { title, message } = variablesErrorMessage(result.error);
47525
- errorBox(title, message);
47526
- process.exit(1);
47527
- }
47528
- return result.value;
47529
- }
47530
- function validateVariablesAgainstProject(indexPath, values) {
47531
- let html;
47532
- try {
47533
- html = readFileSync36(indexPath, "utf8");
47534
- } catch {
47535
- return [];
47536
- }
47537
- ensureDOMParser();
47538
- const meta = extractCompositionMetadata(html);
47539
- if (meta.variables.length === 0) return [];
47540
- return validateVariables(values, meta.variables);
47541
- }
47542
47619
  function resolveBrowserGpuForCli(useDocker, browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
47543
47620
  if (useDocker) return "software";
47544
47621
  if (browserGpuArg === true) return "hardware";
@@ -47550,8 +47627,8 @@ function dockerImageTag(version) {
47550
47627
  return `${DOCKER_IMAGE_PREFIX}:${version}`;
47551
47628
  }
47552
47629
  function resolveDockerfilePath() {
47553
- const builtPath = resolve32(__dirname, "docker", "Dockerfile.render");
47554
- const devPath = resolve32(__dirname, "..", "src", "docker", "Dockerfile.render");
47630
+ const builtPath = resolve33(__dirname, "docker", "Dockerfile.render");
47631
+ const devPath = resolve33(__dirname, "..", "src", "docker", "Dockerfile.render");
47555
47632
  for (const p2 of [builtPath, devPath]) {
47556
47633
  try {
47557
47634
  statSync20(p2);
@@ -47580,7 +47657,7 @@ function ensureDockerImage(version, quiet) {
47580
47657
  const dockerfilePath = resolveDockerfilePath();
47581
47658
  const tmpDir = join62(tmpdir5(), `hyperframes-docker-${Date.now()}`);
47582
47659
  mkdirSync32(tmpDir, { recursive: true });
47583
- writeFileSync26(join62(tmpDir, "Dockerfile"), readFileSync36(dockerfilePath));
47660
+ writeFileSync26(join62(tmpDir, "Dockerfile"), readFileSync37(dockerfilePath));
47584
47661
  try {
47585
47662
  execFileSync6(
47586
47663
  "docker",
@@ -47628,8 +47705,8 @@ async function renderDocker(projectDir, outputPath, options) {
47628
47705
  const outputFilename = basename11(outputPath);
47629
47706
  const dockerArgs = buildDockerRunArgs({
47630
47707
  imageTag,
47631
- projectDir: resolve32(projectDir),
47632
- outputDir: resolve32(outputDir),
47708
+ projectDir: resolve33(projectDir),
47709
+ outputDir: resolve33(outputDir),
47633
47710
  outputFilename,
47634
47711
  options: {
47635
47712
  fps: options.fps,
@@ -47813,6 +47890,7 @@ var init_render2 = __esm({
47813
47890
  "src/commands/render.ts"() {
47814
47891
  "use strict";
47815
47892
  init_dist();
47893
+ init_variables();
47816
47894
  init_project();
47817
47895
  init_lintProject();
47818
47896
  init_lintFormat();
@@ -47825,7 +47903,6 @@ var init_render2 = __esm({
47825
47903
  init_version();
47826
47904
  init_env();
47827
47905
  init_dockerRunArgs();
47828
- init_dom();
47829
47906
  init_src();
47830
47907
  examples7 = [
47831
47908
  ["Render to MP4", "hyperframes render --output output.mp4"],
@@ -48038,12 +48115,12 @@ var init_render2 = __esm({
48038
48115
  }
48039
48116
  process.env.PRODUCER_MAX_CONCURRENT_RENDERS = String(parsed);
48040
48117
  }
48041
- const rendersDir = resolve32("renders");
48118
+ const rendersDir = resolve33("renders");
48042
48119
  const ext = FORMAT_EXT[format] ?? ".mp4";
48043
48120
  const now = /* @__PURE__ */ new Date();
48044
48121
  const datePart = now.toISOString().slice(0, 10);
48045
48122
  const timePart = now.toTimeString().slice(0, 8).replace(/:/g, "-");
48046
- const outputPath = args.output ? resolve32(args.output) : join62(rendersDir, `${project.name}_${datePart}_${timePart}${ext}`);
48123
+ const outputPath = args.output ? resolve33(args.output) : join62(rendersDir, `${project.name}_${datePart}_${timePart}${ext}`);
48047
48124
  mkdirSync32(dirname22(outputPath), { recursive: true });
48048
48125
  const useDocker = args.docker ?? false;
48049
48126
  const useGpu = args.gpu ?? false;
@@ -48084,8 +48161,8 @@ var init_render2 = __esm({
48084
48161
  }
48085
48162
  const entryFile = args.composition?.trim().replace(/^\.\//, "") || void 0;
48086
48163
  if (entryFile) {
48087
- const absProjectDir = resolve32(project.dir);
48088
- const entryPath = resolve32(absProjectDir, entryFile);
48164
+ const absProjectDir = resolve33(project.dir);
48165
+ const entryPath = resolve33(absProjectDir, entryFile);
48089
48166
  if (!entryPath.startsWith(absProjectDir)) {
48090
48167
  errorBox(
48091
48168
  "Invalid composition path",
@@ -48194,27 +48271,7 @@ var init_render2 = __esm({
48194
48271
  const strictVariables = args["strict-variables"] ?? false;
48195
48272
  if (variables && Object.keys(variables).length > 0) {
48196
48273
  const issues = validateVariablesAgainstProject(project.indexPath, variables);
48197
- if (issues.length > 0) {
48198
- if (!quiet) {
48199
- console.log("");
48200
- console.log(
48201
- c2.warn(
48202
- `Variable ${issues.length === 1 ? "issue" : "issues"} (${issues.length}) \u2014 values may not render as expected:`
48203
- )
48204
- );
48205
- for (const issue of issues) {
48206
- console.log(" " + c2.dim(formatVariableValidationIssue(issue)));
48207
- }
48208
- console.log("");
48209
- }
48210
- if (strictVariables) {
48211
- console.log(
48212
- c2.error(" Aborting render due to variable issues (--strict-variables mode).")
48213
- );
48214
- console.log("");
48215
- process.exit(1);
48216
- }
48217
- }
48274
+ reportVariableIssues(issues, { strict: strictVariables, quiet });
48218
48275
  }
48219
48276
  if (useDocker) {
48220
48277
  await renderDocker(project.dir, outputPath, {
@@ -48459,8 +48516,8 @@ var init_lint3 = __esm({
48459
48516
 
48460
48517
  // src/utils/staticProjectServer.ts
48461
48518
  import { createServer } from "http";
48462
- import { existsSync as existsSync54, readFileSync as readFileSync37 } from "fs";
48463
- import { isAbsolute as isAbsolute8, relative as relative9, resolve as resolve33 } from "path";
48519
+ import { existsSync as existsSync54, readFileSync as readFileSync38 } from "fs";
48520
+ import { isAbsolute as isAbsolute8, relative as relative9, resolve as resolve34 } from "path";
48464
48521
  async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Failed to bind local HTTP server") {
48465
48522
  const server = createServer((req, res) => {
48466
48523
  const url = req.url ?? "/";
@@ -48469,7 +48526,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
48469
48526
  res.end(html);
48470
48527
  return;
48471
48528
  }
48472
- const filePath = resolve33(projectDir, decodeURIComponent(url).replace(/^\//, ""));
48529
+ const filePath = resolve34(projectDir, decodeURIComponent(url).replace(/^\//, ""));
48473
48530
  const rel = relative9(projectDir, filePath);
48474
48531
  if (rel.startsWith("..") || isAbsolute8(rel)) {
48475
48532
  res.writeHead(403);
@@ -48478,7 +48535,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
48478
48535
  }
48479
48536
  if (existsSync54(filePath)) {
48480
48537
  res.writeHead(200, { "Content-Type": getMimeType(filePath) });
48481
- res.end(readFileSync37(filePath));
48538
+ res.end(readFileSync38(filePath));
48482
48539
  return;
48483
48540
  }
48484
48541
  res.writeHead(404);
@@ -48654,7 +48711,7 @@ __export(layout_exports, {
48654
48711
  default: () => layout_default,
48655
48712
  examples: () => examples9
48656
48713
  });
48657
- import { existsSync as existsSync55, readFileSync as readFileSync38 } from "fs";
48714
+ import { existsSync as existsSync55, readFileSync as readFileSync39 } from "fs";
48658
48715
  import { dirname as dirname23, join as join63 } from "path";
48659
48716
  import { fileURLToPath as fileURLToPath8 } from "url";
48660
48717
  async function getCompositionDuration2(page) {
@@ -48707,7 +48764,7 @@ async function seekTo(page, time) {
48707
48764
  if (!fonts?.ready) return Promise.resolve();
48708
48765
  return Promise.race([
48709
48766
  fonts.ready.then(() => void 0),
48710
- new Promise((resolve45) => setTimeout(resolve45, 500))
48767
+ new Promise((resolve46) => setTimeout(resolve46, 500))
48711
48768
  ]);
48712
48769
  }).catch(() => {
48713
48770
  });
@@ -48767,7 +48824,7 @@ async function runLayoutAudit(projectDir, opts) {
48767
48824
  if (!fonts?.ready) return Promise.resolve();
48768
48825
  return Promise.race([
48769
48826
  fonts.ready.then(() => void 0),
48770
- new Promise((resolve45) => setTimeout(resolve45, 750))
48827
+ new Promise((resolve46) => setTimeout(resolve46, 750))
48771
48828
  ]);
48772
48829
  }).catch(() => {
48773
48830
  });
@@ -48805,7 +48862,7 @@ function loadLayoutAuditScript() {
48805
48862
  join63(__dirname2, "commands", "layout-audit.browser.js")
48806
48863
  ];
48807
48864
  for (const candidate of candidates) {
48808
- if (existsSync55(candidate)) return readFileSync38(candidate, "utf-8");
48865
+ if (existsSync55(candidate)) return readFileSync39(candidate, "utf-8");
48809
48866
  }
48810
48867
  throw new Error("Missing layout audit browser script");
48811
48868
  }
@@ -49013,7 +49070,7 @@ __export(info_exports, {
49013
49070
  default: () => info_default,
49014
49071
  examples: () => examples11
49015
49072
  });
49016
- import { readFileSync as readFileSync39, readdirSync as readdirSync24, statSync as statSync21 } from "fs";
49073
+ import { readFileSync as readFileSync40, readdirSync as readdirSync24, statSync as statSync21 } from "fs";
49017
49074
  import { join as join64 } from "path";
49018
49075
  function totalSize(dir) {
49019
49076
  let total = 0;
@@ -49050,7 +49107,7 @@ var init_info = __esm({
49050
49107
  },
49051
49108
  async run({ args }) {
49052
49109
  const project = resolveProject(args.dir);
49053
- const html = readFileSync39(project.indexPath, "utf-8");
49110
+ const html = readFileSync40(project.indexPath, "utf-8");
49054
49111
  ensureDOMParser();
49055
49112
  const parsed = parseHtml(html);
49056
49113
  const tracks = new Set(parsed.elements.map((el) => el.zIndex));
@@ -49108,8 +49165,8 @@ __export(compositions_exports, {
49108
49165
  examples: () => examples12,
49109
49166
  parseSubComposition: () => parseSubComposition
49110
49167
  });
49111
- import { existsSync as existsSync56, readFileSync as readFileSync40 } from "fs";
49112
- import { resolve as resolve34, dirname as dirname24 } from "path";
49168
+ import { existsSync as existsSync56, readFileSync as readFileSync41 } from "fs";
49169
+ import { resolve as resolve35, dirname as dirname24 } from "path";
49113
49170
  function countRenderableDescendants(root) {
49114
49171
  return Array.from(root.querySelectorAll("*")).filter(
49115
49172
  (el) => !NON_RENDERED_TAGS.has(el.tagName.toLowerCase())
@@ -49141,9 +49198,9 @@ function parseCompositions(html, baseDir) {
49141
49198
  const height = parseInt(div.getAttribute("data-height") ?? "1080", 10);
49142
49199
  const compositionSrc = div.getAttribute("data-composition-src");
49143
49200
  if (compositionSrc) {
49144
- const subPath = resolve34(baseDir, compositionSrc);
49201
+ const subPath = resolve35(baseDir, compositionSrc);
49145
49202
  if (existsSync56(subPath)) {
49146
- const subHtml = readFileSync40(subPath, "utf-8");
49203
+ const subHtml = readFileSync41(subPath, "utf-8");
49147
49204
  const subInfo = parseSubComposition(subHtml, id, width, height);
49148
49205
  compositions.push({ ...subInfo, source: compositionSrc });
49149
49206
  return;
@@ -49246,7 +49303,7 @@ var init_compositions = __esm({
49246
49303
  },
49247
49304
  async run({ args }) {
49248
49305
  const project = resolveProject(args.dir);
49249
- const html = readFileSync40(project.indexPath, "utf-8");
49306
+ const html = readFileSync41(project.indexPath, "utf-8");
49250
49307
  ensureDOMParser();
49251
49308
  const compositions = parseCompositions(html, dirname24(project.indexPath));
49252
49309
  if (compositions.length === 0) {
@@ -49285,7 +49342,7 @@ __export(benchmark_exports, {
49285
49342
  examples: () => examples13
49286
49343
  });
49287
49344
  import { existsSync as existsSync57, statSync as statSync22 } from "fs";
49288
- import { resolve as resolve35, join as join65 } from "path";
49345
+ import { resolve as resolve36, join as join65 } from "path";
49289
49346
  var examples13, FPS_30, FPS_60, DEFAULT_CONFIGS, benchmark_default;
49290
49347
  var init_benchmark = __esm({
49291
49348
  "src/commands/benchmark.ts"() {
@@ -49330,7 +49387,7 @@ var init_benchmark = __esm({
49330
49387
  process.exit(1);
49331
49388
  }
49332
49389
  const jsonOutput = args.json ?? false;
49333
- const benchDir = resolve35("renders", ".benchmark");
49390
+ const benchDir = resolve36("renders", ".benchmark");
49334
49391
  let producer = null;
49335
49392
  try {
49336
49393
  producer = await loadProducer();
@@ -50085,12 +50142,12 @@ async function runPipeline(options, session, media, format, bgFormat) {
50085
50142
  const drains = [];
50086
50143
  if (!fgWroteFully) {
50087
50144
  drains.push(
50088
- new Promise((resolve45) => fg.proc.stdin.once("drain", () => resolve45()))
50145
+ new Promise((resolve46) => fg.proc.stdin.once("drain", () => resolve46()))
50089
50146
  );
50090
50147
  }
50091
50148
  if (!bgWroteFully && bg) {
50092
50149
  drains.push(
50093
- new Promise((resolve45) => bg.proc.stdin.once("drain", () => resolve45()))
50150
+ new Promise((resolve46) => bg.proc.stdin.once("drain", () => resolve46()))
50094
50151
  );
50095
50152
  }
50096
50153
  await Promise.all(drains);
@@ -50123,11 +50180,11 @@ ${decoder.getStderr().slice(-400)}`
50123
50180
  return processed;
50124
50181
  }
50125
50182
  function waitForExit(proc, label2, getStderr) {
50126
- return new Promise((resolve45, reject) => {
50183
+ return new Promise((resolve46, reject) => {
50127
50184
  proc.on("error", reject);
50128
50185
  proc.on("exit", (code, signal) => {
50129
50186
  if (code === 0 && !signal) {
50130
- resolve45();
50187
+ resolve46();
50131
50188
  return;
50132
50189
  }
50133
50190
  const cause = signal ? `killed by ${signal}` : `exited with code ${code}`;
@@ -50161,7 +50218,7 @@ __export(remove_background_exports, {
50161
50218
  default: () => remove_background_default,
50162
50219
  examples: () => examples15
50163
50220
  });
50164
- import { resolve as resolve36 } from "path";
50221
+ import { resolve as resolve37 } from "path";
50165
50222
  import { existsSync as existsSync59 } from "fs";
50166
50223
  async function showInfo(json) {
50167
50224
  const { selectProviders: selectProviders2, listAvailableProviders: listAvailableProviders2, DEFAULT_MODEL: DEFAULT_MODEL4, MODEL_MEMORY_MB: MODEL_MEMORY_MB2, modelPath: modelPath2 } = await Promise.resolve().then(() => (init_manager3(), manager_exports3));
@@ -50303,10 +50360,10 @@ var init_remove_background = __esm({
50303
50360
  );
50304
50361
  process.exit(1);
50305
50362
  }
50306
- const inputPath = resolve36(args.input);
50307
- const outputPath = resolve36(args.output);
50363
+ const inputPath = resolve37(args.input);
50364
+ const outputPath = resolve37(args.output);
50308
50365
  const backgroundOutputArg = args["background-output"];
50309
- const backgroundOutputPath = backgroundOutputArg ? resolve36(backgroundOutputArg) : void 0;
50366
+ const backgroundOutputPath = backgroundOutputArg ? resolve37(backgroundOutputArg) : void 0;
50310
50367
  const { render: render3 } = await Promise.resolve().then(() => (init_pipeline(), pipeline_exports));
50311
50368
  const spin = args.json ? null : ft();
50312
50369
  spin?.start("Preparing background-removal pipeline...");
@@ -50375,7 +50432,7 @@ __export(transcribe_exports2, {
50375
50432
  examples: () => examples16
50376
50433
  });
50377
50434
  import { existsSync as existsSync60, writeFileSync as writeFileSync27 } from "fs";
50378
- import { resolve as resolve37, join as join67, extname as extname11 } from "path";
50435
+ import { resolve as resolve38, join as join67, extname as extname11 } from "path";
50379
50436
  async function importTranscript(inputPath, dir, json) {
50380
50437
  const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
50381
50438
  const { words, format } = loadTranscript2(inputPath);
@@ -50499,12 +50556,12 @@ var init_transcribe2 = __esm({
50499
50556
  }
50500
50557
  },
50501
50558
  async run({ args }) {
50502
- const inputPath = resolve37(args.input);
50559
+ const inputPath = resolve38(args.input);
50503
50560
  if (!existsSync60(inputPath)) {
50504
50561
  console.error(c2.error(`File not found: ${args.input}`));
50505
50562
  process.exit(1);
50506
50563
  }
50507
- const dir = resolve37(args.dir ?? ".");
50564
+ const dir = resolve38(args.dir ?? ".");
50508
50565
  const ext = extname11(inputPath).toLowerCase();
50509
50566
  const isImport = ext === ".json" || ext === ".srt" || ext === ".vtt";
50510
50567
  if (isImport) {
@@ -50793,8 +50850,8 @@ __export(tts_exports, {
50793
50850
  default: () => tts_default,
50794
50851
  examples: () => examples17
50795
50852
  });
50796
- import { existsSync as existsSync63, readFileSync as readFileSync41 } from "fs";
50797
- import { resolve as resolve38, extname as extname12 } from "path";
50853
+ import { existsSync as existsSync63, readFileSync as readFileSync42 } from "fs";
50854
+ import { resolve as resolve39, extname as extname12 } from "path";
50798
50855
  function listVoices(json) {
50799
50856
  const rows = BUNDLED_VOICES.map((v2) => ({ ...v2, defaultLang: inferLangFromVoiceId(v2.id) }));
50800
50857
  if (json) {
@@ -50902,9 +50959,9 @@ var init_tts = __esm({
50902
50959
  process.exit(1);
50903
50960
  }
50904
50961
  let text;
50905
- const maybeFile = resolve38(args.input);
50962
+ const maybeFile = resolve39(args.input);
50906
50963
  if (existsSync63(maybeFile) && extname12(maybeFile).toLowerCase() === ".txt") {
50907
- text = readFileSync41(maybeFile, "utf-8").trim();
50964
+ text = readFileSync42(maybeFile, "utf-8").trim();
50908
50965
  if (!text) {
50909
50966
  console.error(c2.error("File is empty."));
50910
50967
  process.exit(1);
@@ -50916,7 +50973,7 @@ var init_tts = __esm({
50916
50973
  console.error(c2.error("No text provided."));
50917
50974
  process.exit(1);
50918
50975
  }
50919
- const output = resolve38(args.output ?? "speech.wav");
50976
+ const output = resolve39(args.output ?? "speech.wav");
50920
50977
  const voice = args.voice ?? DEFAULT_VOICE;
50921
50978
  const speed = args.speed ? parseFloat(args.speed) : 1;
50922
50979
  if (isNaN(speed) || speed <= 0 || speed > 3) {
@@ -50996,14 +51053,14 @@ __export(docs_exports, {
50996
51053
  default: () => docs_default,
50997
51054
  examples: () => examples18
50998
51055
  });
50999
- import { readFileSync as readFileSync42, existsSync as existsSync64 } from "fs";
51000
- import { resolve as resolve39, dirname as dirname26, join as join70 } from "path";
51056
+ import { readFileSync as readFileSync43, existsSync as existsSync64 } from "fs";
51057
+ import { resolve as resolve40, dirname as dirname26, join as join70 } from "path";
51001
51058
  import { fileURLToPath as fileURLToPath9 } from "url";
51002
51059
  function docsDir() {
51003
51060
  const thisFile = fileURLToPath9(import.meta.url);
51004
51061
  const dir = dirname26(thisFile);
51005
- const devPath = resolve39(dir, "..", "docs");
51006
- const builtPath = resolve39(dir, "docs");
51062
+ const devPath = resolve40(dir, "..", "docs");
51063
+ const builtPath = resolve40(dir, "docs");
51007
51064
  return existsSync64(devPath) ? devPath : builtPath;
51008
51065
  }
51009
51066
  function formatInlineCode(line) {
@@ -51106,7 +51163,7 @@ var init_docs = __esm({
51106
51163
  console.error(c2.error(`Doc file not found: ${filePath}`));
51107
51164
  process.exit(1);
51108
51165
  }
51109
- const content = readFileSync42(filePath, "utf-8");
51166
+ const content = readFileSync43(filePath, "utf-8");
51110
51167
  console.log();
51111
51168
  renderMarkdown(content);
51112
51169
  }
@@ -51597,7 +51654,7 @@ __export(validate_exports, {
51597
51654
  default: () => validate_default,
51598
51655
  shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
51599
51656
  });
51600
- import { existsSync as existsSync65, readFileSync as readFileSync43 } from "fs";
51657
+ import { existsSync as existsSync65, readFileSync as readFileSync44 } from "fs";
51601
51658
  import { join as join71, dirname as dirname27 } from "path";
51602
51659
  import { fileURLToPath as fileURLToPath10 } from "url";
51603
51660
  function shouldIgnoreRequestFailure(url, errorText) {
@@ -51654,7 +51711,7 @@ function loadContrastAuditScript() {
51654
51711
  join71(__dirname3, "commands", "contrast-audit.browser.js")
51655
51712
  ];
51656
51713
  for (const candidate of candidates) {
51657
- if (existsSync65(candidate)) return readFileSync43(candidate, "utf-8");
51714
+ if (existsSync65(candidate)) return readFileSync44(candidate, "utf-8");
51658
51715
  }
51659
51716
  throw new Error("Missing contrast audit browser script");
51660
51717
  }
@@ -51674,7 +51731,7 @@ async function validateInBrowser(projectDir, opts) {
51674
51731
  const filePath = join71(projectDir, decodeURIComponent(url));
51675
51732
  if (existsSync65(filePath)) {
51676
51733
  res.writeHead(200, { "Content-Type": getMimeType2(filePath) });
51677
- res.end(readFileSync43(filePath));
51734
+ res.end(readFileSync44(filePath));
51678
51735
  return;
51679
51736
  }
51680
51737
  res.writeHead(404);
@@ -51873,9 +51930,9 @@ __export(snapshot_exports, {
51873
51930
  examples: () => examples22
51874
51931
  });
51875
51932
  import { spawn as spawn15 } from "child_process";
51876
- import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as readFileSync44, mkdirSync as mkdirSync36, rmSync as rmSync15 } from "fs";
51933
+ import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as readFileSync45, mkdirSync as mkdirSync36, rmSync as rmSync15 } from "fs";
51877
51934
  import { tmpdir as tmpdir6 } from "os";
51878
- import { resolve as resolve40, join as join72, relative as relative10, isAbsolute as isAbsolute9 } from "path";
51935
+ import { resolve as resolve41, join as join72, relative as relative10, isAbsolute as isAbsolute9 } from "path";
51879
51936
  async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
51880
51937
  const tmp = mkdtempSync3(join72(tmpdir6(), "hf-snapshot-frame-"));
51881
51938
  const outPath = join72(tmp, "frame.png");
@@ -51919,7 +51976,7 @@ async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDeco
51919
51976
  }
51920
51977
  );
51921
51978
  if (result.code !== 0 || result.timedOut || !existsSync66(outPath)) return null;
51922
- return readFileSync44(outPath);
51979
+ return readFileSync45(outPath);
51923
51980
  } finally {
51924
51981
  try {
51925
51982
  rmSync15(tmp, { recursive: true, force: true });
@@ -52059,7 +52116,7 @@ async function captureSnapshots(projectDir, opts) {
52059
52116
  try {
52060
52117
  const url = new URL(v2.src);
52061
52118
  const decodedPath = decodeURIComponent(url.pathname).replace(/^\//, "");
52062
- const candidate = resolve40(projectDir, decodedPath);
52119
+ const candidate = resolve41(projectDir, decodedPath);
52063
52120
  const rel = relative10(projectDir, candidate);
52064
52121
  if (!rel.startsWith("..") && !isAbsolute9(rel) && existsSync66(candidate)) {
52065
52122
  filePath = candidate;
@@ -53130,7 +53187,7 @@ var init_animationCataloger = __esm({
53130
53187
  });
53131
53188
 
53132
53189
  // src/capture/mediaCapture.ts
53133
- import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync30, readdirSync as readdirSync26, readFileSync as readFileSync45, statSync as statSync23 } from "fs";
53190
+ import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync30, readdirSync as readdirSync26, readFileSync as readFileSync46, statSync as statSync23 } from "fs";
53134
53191
  import { join as join74 } from "path";
53135
53192
  async function saveLottieAnimations(discoveredLotties, lottieDir) {
53136
53193
  let savedCount = 0;
@@ -53197,7 +53254,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
53197
53254
  for (const file of readdirSync26(lottieDir)) {
53198
53255
  if (!file.endsWith(".json")) continue;
53199
53256
  try {
53200
- const raw = JSON.parse(readFileSync45(join74(lottieDir, file), "utf-8"));
53257
+ const raw = JSON.parse(readFileSync46(join74(lottieDir, file), "utf-8"));
53201
53258
  const fr = raw.fr || 30;
53202
53259
  const dur = ((raw.op || 0) - (raw.ip || 0)) / fr;
53203
53260
  const previewName = file.replace(".json", "-preview.png");
@@ -53207,7 +53264,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
53207
53264
  try {
53208
53265
  previewPage = await chromeBrowser.newPage();
53209
53266
  await previewPage.setViewport({ width: 400, height: 400 });
53210
- const animData = JSON.parse(readFileSync45(join74(lottieDir, file), "utf-8"));
53267
+ const animData = JSON.parse(readFileSync46(join74(lottieDir, file), "utf-8"));
53211
53268
  const midFrame = Math.floor(((raw.op || 0) - (raw.ip || 0)) * 0.3);
53212
53269
  await previewPage.setContent(
53213
53270
  `<!DOCTYPE html>
@@ -53652,7 +53709,7 @@ var require_p_retry = __commonJS({
53652
53709
  return error;
53653
53710
  };
53654
53711
  var isNetworkError = (errorMessage) => networkErrorMsgs.includes(errorMessage);
53655
- var pRetry2 = (input, options) => new Promise((resolve45, reject) => {
53712
+ var pRetry2 = (input, options) => new Promise((resolve46, reject) => {
53656
53713
  options = {
53657
53714
  onFailedAttempt: () => {
53658
53715
  },
@@ -53662,7 +53719,7 @@ var require_p_retry = __commonJS({
53662
53719
  const operation = retry.operation(options);
53663
53720
  operation.attempt(async (attemptNumber) => {
53664
53721
  try {
53665
- resolve45(await input(attemptNumber));
53722
+ resolve46(await input(attemptNumber));
53666
53723
  } catch (error) {
53667
53724
  if (!(error instanceof Error)) {
53668
53725
  reject(new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`));
@@ -54198,8 +54255,8 @@ var require_retry3 = __commonJS({
54198
54255
  }
54199
54256
  const delay = getNextRetryDelay(config);
54200
54257
  err.config.retryConfig.currentRetryAttempt += 1;
54201
- const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((resolve45) => {
54202
- setTimeout(resolve45, delay);
54258
+ const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((resolve46) => {
54259
+ setTimeout(resolve46, delay);
54203
54260
  });
54204
54261
  if (config.onRetryAttempt) {
54205
54262
  await config.onRetryAttempt(err);
@@ -55107,8 +55164,8 @@ var require_helpers = __commonJS({
55107
55164
  function req(url, opts = {}) {
55108
55165
  const href = typeof url === "string" ? url : url.href;
55109
55166
  const req2 = (href.startsWith("https:") ? https2 : http4).request(url, opts);
55110
- const promise = new Promise((resolve45, reject) => {
55111
- req2.once("response", resolve45).once("error", reject).end();
55167
+ const promise = new Promise((resolve46, reject) => {
55168
+ req2.once("response", resolve46).once("error", reject).end();
55112
55169
  });
55113
55170
  req2.then = promise.then.bind(promise);
55114
55171
  return req2;
@@ -55285,7 +55342,7 @@ var require_parse_proxy_response = __commonJS({
55285
55342
  var debug_1 = __importDefault(require_src2());
55286
55343
  var debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
55287
55344
  function parseProxyResponse(socket) {
55288
- return new Promise((resolve45, reject) => {
55345
+ return new Promise((resolve46, reject) => {
55289
55346
  let buffersLength = 0;
55290
55347
  const buffers = [];
55291
55348
  function read() {
@@ -55351,7 +55408,7 @@ var require_parse_proxy_response = __commonJS({
55351
55408
  }
55352
55409
  debug("got proxy server response: %o %o", firstLine, headers);
55353
55410
  cleanup();
55354
- resolve45({
55411
+ resolve46({
55355
55412
  connect: {
55356
55413
  statusCode,
55357
55414
  statusText,
@@ -55595,7 +55652,7 @@ var require_ponyfill_es2018 = __commonJS({
55595
55652
  return new originalPromise(executor);
55596
55653
  }
55597
55654
  function promiseResolvedWith(value) {
55598
- return newPromise((resolve45) => resolve45(value));
55655
+ return newPromise((resolve46) => resolve46(value));
55599
55656
  }
55600
55657
  function promiseRejectedWith(reason) {
55601
55658
  return originalPromiseReject(reason);
@@ -55765,8 +55822,8 @@ var require_ponyfill_es2018 = __commonJS({
55765
55822
  return new TypeError("Cannot " + name + " a stream using a released reader");
55766
55823
  }
55767
55824
  function defaultReaderClosedPromiseInitialize(reader) {
55768
- reader._closedPromise = newPromise((resolve45, reject) => {
55769
- reader._closedPromise_resolve = resolve45;
55825
+ reader._closedPromise = newPromise((resolve46, reject) => {
55826
+ reader._closedPromise_resolve = resolve46;
55770
55827
  reader._closedPromise_reject = reject;
55771
55828
  });
55772
55829
  }
@@ -55940,8 +55997,8 @@ var require_ponyfill_es2018 = __commonJS({
55940
55997
  }
55941
55998
  let resolvePromise;
55942
55999
  let rejectPromise;
55943
- const promise = newPromise((resolve45, reject) => {
55944
- resolvePromise = resolve45;
56000
+ const promise = newPromise((resolve46, reject) => {
56001
+ resolvePromise = resolve46;
55945
56002
  rejectPromise = reject;
55946
56003
  });
55947
56004
  const readRequest = {
@@ -56046,8 +56103,8 @@ var require_ponyfill_es2018 = __commonJS({
56046
56103
  const reader = this._reader;
56047
56104
  let resolvePromise;
56048
56105
  let rejectPromise;
56049
- const promise = newPromise((resolve45, reject) => {
56050
- resolvePromise = resolve45;
56106
+ const promise = newPromise((resolve46, reject) => {
56107
+ resolvePromise = resolve46;
56051
56108
  rejectPromise = reject;
56052
56109
  });
56053
56110
  const readRequest = {
@@ -57066,8 +57123,8 @@ var require_ponyfill_es2018 = __commonJS({
57066
57123
  }
57067
57124
  let resolvePromise;
57068
57125
  let rejectPromise;
57069
- const promise = newPromise((resolve45, reject) => {
57070
- resolvePromise = resolve45;
57126
+ const promise = newPromise((resolve46, reject) => {
57127
+ resolvePromise = resolve46;
57071
57128
  rejectPromise = reject;
57072
57129
  });
57073
57130
  const readIntoRequest = {
@@ -57379,10 +57436,10 @@ var require_ponyfill_es2018 = __commonJS({
57379
57436
  wasAlreadyErroring = true;
57380
57437
  reason = void 0;
57381
57438
  }
57382
- const promise = newPromise((resolve45, reject) => {
57439
+ const promise = newPromise((resolve46, reject) => {
57383
57440
  stream._pendingAbortRequest = {
57384
57441
  _promise: void 0,
57385
- _resolve: resolve45,
57442
+ _resolve: resolve46,
57386
57443
  _reject: reject,
57387
57444
  _reason: reason,
57388
57445
  _wasAlreadyErroring: wasAlreadyErroring
@@ -57399,9 +57456,9 @@ var require_ponyfill_es2018 = __commonJS({
57399
57456
  if (state === "closed" || state === "errored") {
57400
57457
  return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`));
57401
57458
  }
57402
- const promise = newPromise((resolve45, reject) => {
57459
+ const promise = newPromise((resolve46, reject) => {
57403
57460
  const closeRequest = {
57404
- _resolve: resolve45,
57461
+ _resolve: resolve46,
57405
57462
  _reject: reject
57406
57463
  };
57407
57464
  stream._closeRequest = closeRequest;
@@ -57414,9 +57471,9 @@ var require_ponyfill_es2018 = __commonJS({
57414
57471
  return promise;
57415
57472
  }
57416
57473
  function WritableStreamAddWriteRequest(stream) {
57417
- const promise = newPromise((resolve45, reject) => {
57474
+ const promise = newPromise((resolve46, reject) => {
57418
57475
  const writeRequest = {
57419
- _resolve: resolve45,
57476
+ _resolve: resolve46,
57420
57477
  _reject: reject
57421
57478
  };
57422
57479
  stream._writeRequests.push(writeRequest);
@@ -58032,8 +58089,8 @@ var require_ponyfill_es2018 = __commonJS({
58032
58089
  return new TypeError("Cannot " + name + " a stream using a released writer");
58033
58090
  }
58034
58091
  function defaultWriterClosedPromiseInitialize(writer) {
58035
- writer._closedPromise = newPromise((resolve45, reject) => {
58036
- writer._closedPromise_resolve = resolve45;
58092
+ writer._closedPromise = newPromise((resolve46, reject) => {
58093
+ writer._closedPromise_resolve = resolve46;
58037
58094
  writer._closedPromise_reject = reject;
58038
58095
  writer._closedPromiseState = "pending";
58039
58096
  });
@@ -58069,8 +58126,8 @@ var require_ponyfill_es2018 = __commonJS({
58069
58126
  writer._closedPromiseState = "resolved";
58070
58127
  }
58071
58128
  function defaultWriterReadyPromiseInitialize(writer) {
58072
- writer._readyPromise = newPromise((resolve45, reject) => {
58073
- writer._readyPromise_resolve = resolve45;
58129
+ writer._readyPromise = newPromise((resolve46, reject) => {
58130
+ writer._readyPromise_resolve = resolve46;
58074
58131
  writer._readyPromise_reject = reject;
58075
58132
  });
58076
58133
  writer._readyPromiseState = "pending";
@@ -58157,7 +58214,7 @@ var require_ponyfill_es2018 = __commonJS({
58157
58214
  source._disturbed = true;
58158
58215
  let shuttingDown = false;
58159
58216
  let currentWrite = promiseResolvedWith(void 0);
58160
- return newPromise((resolve45, reject) => {
58217
+ return newPromise((resolve46, reject) => {
58161
58218
  let abortAlgorithm;
58162
58219
  if (signal !== void 0) {
58163
58220
  abortAlgorithm = () => {
@@ -58302,7 +58359,7 @@ var require_ponyfill_es2018 = __commonJS({
58302
58359
  if (isError) {
58303
58360
  reject(error);
58304
58361
  } else {
58305
- resolve45(void 0);
58362
+ resolve46(void 0);
58306
58363
  }
58307
58364
  return null;
58308
58365
  }
@@ -58583,8 +58640,8 @@ var require_ponyfill_es2018 = __commonJS({
58583
58640
  let branch1;
58584
58641
  let branch2;
58585
58642
  let resolveCancelPromise;
58586
- const cancelPromise = newPromise((resolve45) => {
58587
- resolveCancelPromise = resolve45;
58643
+ const cancelPromise = newPromise((resolve46) => {
58644
+ resolveCancelPromise = resolve46;
58588
58645
  });
58589
58646
  function pullAlgorithm() {
58590
58647
  if (reading) {
@@ -58675,8 +58732,8 @@ var require_ponyfill_es2018 = __commonJS({
58675
58732
  let branch1;
58676
58733
  let branch2;
58677
58734
  let resolveCancelPromise;
58678
- const cancelPromise = newPromise((resolve45) => {
58679
- resolveCancelPromise = resolve45;
58735
+ const cancelPromise = newPromise((resolve46) => {
58736
+ resolveCancelPromise = resolve46;
58680
58737
  });
58681
58738
  function forwardReaderError(thisReader) {
58682
58739
  uponRejection(thisReader._closedPromise, (r2) => {
@@ -59456,8 +59513,8 @@ var require_ponyfill_es2018 = __commonJS({
59456
59513
  const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
59457
59514
  const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
59458
59515
  let startPromise_resolve;
59459
- const startPromise = newPromise((resolve45) => {
59460
- startPromise_resolve = resolve45;
59516
+ const startPromise = newPromise((resolve46) => {
59517
+ startPromise_resolve = resolve46;
59461
59518
  });
59462
59519
  InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
59463
59520
  SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
@@ -59550,8 +59607,8 @@ var require_ponyfill_es2018 = __commonJS({
59550
59607
  if (stream._backpressureChangePromise !== void 0) {
59551
59608
  stream._backpressureChangePromise_resolve();
59552
59609
  }
59553
- stream._backpressureChangePromise = newPromise((resolve45) => {
59554
- stream._backpressureChangePromise_resolve = resolve45;
59610
+ stream._backpressureChangePromise = newPromise((resolve46) => {
59611
+ stream._backpressureChangePromise_resolve = resolve46;
59555
59612
  });
59556
59613
  stream._backpressure = backpressure;
59557
59614
  }
@@ -59719,8 +59776,8 @@ var require_ponyfill_es2018 = __commonJS({
59719
59776
  return controller._finishPromise;
59720
59777
  }
59721
59778
  const readable = stream._readable;
59722
- controller._finishPromise = newPromise((resolve45, reject) => {
59723
- controller._finishPromise_resolve = resolve45;
59779
+ controller._finishPromise = newPromise((resolve46, reject) => {
59780
+ controller._finishPromise_resolve = resolve46;
59724
59781
  controller._finishPromise_reject = reject;
59725
59782
  });
59726
59783
  const cancelPromise = controller._cancelAlgorithm(reason);
@@ -59746,8 +59803,8 @@ var require_ponyfill_es2018 = __commonJS({
59746
59803
  return controller._finishPromise;
59747
59804
  }
59748
59805
  const readable = stream._readable;
59749
- controller._finishPromise = newPromise((resolve45, reject) => {
59750
- controller._finishPromise_resolve = resolve45;
59806
+ controller._finishPromise = newPromise((resolve46, reject) => {
59807
+ controller._finishPromise_resolve = resolve46;
59751
59808
  controller._finishPromise_reject = reject;
59752
59809
  });
59753
59810
  const flushPromise = controller._flushAlgorithm();
@@ -59777,8 +59834,8 @@ var require_ponyfill_es2018 = __commonJS({
59777
59834
  return controller._finishPromise;
59778
59835
  }
59779
59836
  const writable = stream._writable;
59780
- controller._finishPromise = newPromise((resolve45, reject) => {
59781
- controller._finishPromise_resolve = resolve45;
59837
+ controller._finishPromise = newPromise((resolve46, reject) => {
59838
+ controller._finishPromise_resolve = resolve46;
59782
59839
  controller._finishPromise_reject = reject;
59783
59840
  });
59784
59841
  const cancelPromise = controller._cancelAlgorithm(reason);
@@ -61747,7 +61804,7 @@ import zlib from "zlib";
61747
61804
  import Stream2, { PassThrough as PassThrough2, pipeline as pump } from "stream";
61748
61805
  import { Buffer as Buffer3 } from "buffer";
61749
61806
  async function fetch3(url, options_) {
61750
- return new Promise((resolve45, reject) => {
61807
+ return new Promise((resolve46, reject) => {
61751
61808
  const request = new Request2(url, options_);
61752
61809
  const { parsedURL, options } = getNodeRequestOptions(request);
61753
61810
  if (!supportedSchemas.has(parsedURL.protocol)) {
@@ -61756,7 +61813,7 @@ async function fetch3(url, options_) {
61756
61813
  if (parsedURL.protocol === "data:") {
61757
61814
  const data = dist_default3(request.url);
61758
61815
  const response2 = new Response2(data, { headers: { "Content-Type": data.typeFull } });
61759
- resolve45(response2);
61816
+ resolve46(response2);
61760
61817
  return;
61761
61818
  }
61762
61819
  const send = (parsedURL.protocol === "https:" ? https : http3).request;
@@ -61878,7 +61935,7 @@ async function fetch3(url, options_) {
61878
61935
  if (responseReferrerPolicy) {
61879
61936
  requestOptions.referrerPolicy = responseReferrerPolicy;
61880
61937
  }
61881
- resolve45(fetch3(new Request2(locationURL, requestOptions)));
61938
+ resolve46(fetch3(new Request2(locationURL, requestOptions)));
61882
61939
  finalize();
61883
61940
  return;
61884
61941
  }
@@ -61911,7 +61968,7 @@ async function fetch3(url, options_) {
61911
61968
  const codings = headers.get("Content-Encoding");
61912
61969
  if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) {
61913
61970
  response = new Response2(body, responseOptions);
61914
- resolve45(response);
61971
+ resolve46(response);
61915
61972
  return;
61916
61973
  }
61917
61974
  const zlibOptions = {
@@ -61925,7 +61982,7 @@ async function fetch3(url, options_) {
61925
61982
  }
61926
61983
  });
61927
61984
  response = new Response2(body, responseOptions);
61928
- resolve45(response);
61985
+ resolve46(response);
61929
61986
  return;
61930
61987
  }
61931
61988
  if (codings === "deflate" || codings === "x-deflate") {
@@ -61949,12 +62006,12 @@ async function fetch3(url, options_) {
61949
62006
  });
61950
62007
  }
61951
62008
  response = new Response2(body, responseOptions);
61952
- resolve45(response);
62009
+ resolve46(response);
61953
62010
  });
61954
62011
  raw.once("end", () => {
61955
62012
  if (!response) {
61956
62013
  response = new Response2(body, responseOptions);
61957
- resolve45(response);
62014
+ resolve46(response);
61958
62015
  }
61959
62016
  });
61960
62017
  return;
@@ -61966,11 +62023,11 @@ async function fetch3(url, options_) {
61966
62023
  }
61967
62024
  });
61968
62025
  response = new Response2(body, responseOptions);
61969
- resolve45(response);
62026
+ resolve46(response);
61970
62027
  return;
61971
62028
  }
61972
62029
  response = new Response2(body, responseOptions);
61973
- resolve45(response);
62030
+ resolve46(response);
61974
62031
  });
61975
62032
  writeToStream(request_, request).catch(reject);
61976
62033
  });
@@ -68052,7 +68109,7 @@ var require_jwtaccess = __commonJS({
68052
68109
  }
68053
68110
  }
68054
68111
  fromStreamAsync(inputStream) {
68055
- return new Promise((resolve45, reject) => {
68112
+ return new Promise((resolve46, reject) => {
68056
68113
  if (!inputStream) {
68057
68114
  reject(new Error("Must pass in a stream containing the service account auth settings."));
68058
68115
  }
@@ -68061,7 +68118,7 @@ var require_jwtaccess = __commonJS({
68061
68118
  try {
68062
68119
  const data = JSON.parse(s2);
68063
68120
  this.fromJSON(data);
68064
- resolve45();
68121
+ resolve46();
68065
68122
  } catch (err) {
68066
68123
  reject(err);
68067
68124
  }
@@ -68300,7 +68357,7 @@ var require_jwtclient = __commonJS({
68300
68357
  }
68301
68358
  }
68302
68359
  fromStreamAsync(inputStream) {
68303
- return new Promise((resolve45, reject) => {
68360
+ return new Promise((resolve46, reject) => {
68304
68361
  if (!inputStream) {
68305
68362
  throw new Error("Must pass in a stream containing the service account auth settings.");
68306
68363
  }
@@ -68309,7 +68366,7 @@ var require_jwtclient = __commonJS({
68309
68366
  try {
68310
68367
  const data = JSON.parse(s2);
68311
68368
  this.fromJSON(data);
68312
- resolve45();
68369
+ resolve46();
68313
68370
  } catch (e3) {
68314
68371
  reject(e3);
68315
68372
  }
@@ -68442,7 +68499,7 @@ var require_refreshclient = __commonJS({
68442
68499
  }
68443
68500
  }
68444
68501
  async fromStreamAsync(inputStream) {
68445
- return new Promise((resolve45, reject) => {
68502
+ return new Promise((resolve46, reject) => {
68446
68503
  if (!inputStream) {
68447
68504
  return reject(new Error("Must pass in a stream containing the user refresh token."));
68448
68505
  }
@@ -68451,7 +68508,7 @@ var require_refreshclient = __commonJS({
68451
68508
  try {
68452
68509
  const data = JSON.parse(s2);
68453
68510
  this.fromJSON(data);
68454
- return resolve45();
68511
+ return resolve46();
68455
68512
  } catch (err) {
68456
68513
  return reject(err);
68457
68514
  }
@@ -70284,7 +70341,7 @@ var require_pluggable_auth_handler = __commonJS({
70284
70341
  * @return A promise that resolves with the executable response.
70285
70342
  */
70286
70343
  retrieveResponseFromExecutable(envMap) {
70287
- return new Promise((resolve45, reject) => {
70344
+ return new Promise((resolve46, reject) => {
70288
70345
  const child = childProcess.spawn(this.commandComponents[0], this.commandComponents.slice(1), {
70289
70346
  env: { ...process.env, ...Object.fromEntries(envMap) }
70290
70347
  });
@@ -70306,7 +70363,7 @@ var require_pluggable_auth_handler = __commonJS({
70306
70363
  try {
70307
70364
  const responseJson = JSON.parse(output);
70308
70365
  const response = new executable_response_1.ExecutableResponse(responseJson);
70309
- return resolve45(response);
70366
+ return resolve46(response);
70310
70367
  } catch (error) {
70311
70368
  if (error instanceof executable_response_1.ExecutableResponseError) {
70312
70369
  return reject(error);
@@ -71209,7 +71266,7 @@ var require_googleauth = __commonJS({
71209
71266
  }
71210
71267
  }
71211
71268
  fromStreamAsync(inputStream, options) {
71212
- return new Promise((resolve45, reject) => {
71269
+ return new Promise((resolve46, reject) => {
71213
71270
  if (!inputStream) {
71214
71271
  throw new Error("Must pass in a stream containing the Google auth settings.");
71215
71272
  }
@@ -71219,7 +71276,7 @@ var require_googleauth = __commonJS({
71219
71276
  try {
71220
71277
  const data = JSON.parse(chunks.join(""));
71221
71278
  const r2 = this._cacheClientFromJSON(data, options);
71222
- return resolve45(r2);
71279
+ return resolve46(r2);
71223
71280
  } catch (err) {
71224
71281
  if (!this.keyFilename)
71225
71282
  throw err;
@@ -71229,7 +71286,7 @@ var require_googleauth = __commonJS({
71229
71286
  });
71230
71287
  this.cachedCredential = client;
71231
71288
  this.setGapicJWTValues(client);
71232
- return resolve45(client);
71289
+ return resolve46(client);
71233
71290
  }
71234
71291
  } catch (err) {
71235
71292
  return reject(err);
@@ -71265,17 +71322,17 @@ var require_googleauth = __commonJS({
71265
71322
  * Run the Google Cloud SDK command that prints the default project ID
71266
71323
  */
71267
71324
  async getDefaultServiceProjectId() {
71268
- return new Promise((resolve45) => {
71325
+ return new Promise((resolve46) => {
71269
71326
  (0, child_process_1.exec)("gcloud config config-helper --format json", (err, stdout2) => {
71270
71327
  if (!err && stdout2) {
71271
71328
  try {
71272
71329
  const projectId = JSON.parse(stdout2).configuration.properties.core.project;
71273
- resolve45(projectId);
71330
+ resolve46(projectId);
71274
71331
  return;
71275
71332
  } catch (e3) {
71276
71333
  }
71277
71334
  }
71278
- resolve45(null);
71335
+ resolve46(null);
71279
71336
  });
71280
71337
  });
71281
71338
  }
@@ -79118,14 +79175,14 @@ function __asyncValues(o) {
79118
79175
  }, i2);
79119
79176
  function verb(n) {
79120
79177
  i2[n] = o[n] && function(v2) {
79121
- return new Promise(function(resolve45, reject) {
79122
- v2 = o[n](v2), settle(resolve45, reject, v2.done, v2.value);
79178
+ return new Promise(function(resolve46, reject) {
79179
+ v2 = o[n](v2), settle(resolve46, reject, v2.done, v2.value);
79123
79180
  });
79124
79181
  };
79125
79182
  }
79126
- function settle(resolve45, reject, d2, v2) {
79183
+ function settle(resolve46, reject, d2, v2) {
79127
79184
  Promise.resolve(v2).then(function(v3) {
79128
- resolve45({ value: v3, done: d2 });
79185
+ resolve46({ value: v3, done: d2 });
79129
79186
  }, reject);
79130
79187
  }
79131
79188
  }
@@ -89615,8 +89672,8 @@ var init_node4 = __esm({
89615
89672
  const url = `${websocketBaseUrl}/ws/google.ai.generativelanguage.${apiVersion}.GenerativeService.BidiGenerateMusic?key=${apiKey}`;
89616
89673
  let onopenResolve = () => {
89617
89674
  };
89618
- const onopenPromise = new Promise((resolve45) => {
89619
- onopenResolve = resolve45;
89675
+ const onopenPromise = new Promise((resolve46) => {
89676
+ onopenResolve = resolve46;
89620
89677
  });
89621
89678
  const callbacks = params.callbacks;
89622
89679
  const onopenAwaitedCallback = function() {
@@ -89822,8 +89879,8 @@ var init_node4 = __esm({
89822
89879
  }
89823
89880
  let onopenResolve = () => {
89824
89881
  };
89825
- const onopenPromise = new Promise((resolve45) => {
89826
- onopenResolve = resolve45;
89882
+ const onopenPromise = new Promise((resolve46) => {
89883
+ onopenResolve = resolve46;
89827
89884
  });
89828
89885
  const callbacks = params.callbacks;
89829
89886
  const onopenAwaitedCallback = function() {
@@ -92171,7 +92228,7 @@ var init_node4 = __esm({
92171
92228
  return void 0;
92172
92229
  }
92173
92230
  };
92174
- sleep$1 = (ms) => new Promise((resolve45) => setTimeout(resolve45, ms));
92231
+ sleep$1 = (ms) => new Promise((resolve46) => setTimeout(resolve46, ms));
92175
92232
  FallbackEncoder = ({ headers, body }) => {
92176
92233
  return {
92177
92234
  bodyHeaders: {
@@ -92680,8 +92737,8 @@ ${underline2}`);
92680
92737
  };
92681
92738
  APIPromise = class _APIPromise extends Promise {
92682
92739
  constructor(client, responsePromise, parseResponse = defaultParseResponse) {
92683
- super((resolve45) => {
92684
- resolve45(null);
92740
+ super((resolve46) => {
92741
+ resolve46(null);
92685
92742
  });
92686
92743
  this.responsePromise = responsePromise;
92687
92744
  this.parseResponse = parseResponse;
@@ -93896,7 +93953,7 @@ ${underline2}`);
93896
93953
  });
93897
93954
 
93898
93955
  // src/capture/contentExtractor.ts
93899
- import { readdirSync as readdirSync27, statSync as statSync25, readFileSync as readFileSync46 } from "fs";
93956
+ import { readdirSync as readdirSync27, statSync as statSync25, readFileSync as readFileSync47 } from "fs";
93900
93957
  import { join as join75 } from "path";
93901
93958
  async function detectLibraries(page, capturedShaders) {
93902
93959
  let detectedLibraries = [];
@@ -94029,7 +94086,7 @@ async function captionImagesWithGemini(outputDir, progress, warnings) {
94029
94086
  const filePath = join75(outputDir, "assets", file);
94030
94087
  const stat3 = statSync25(filePath);
94031
94088
  if (stat3.size > 4e6) return { file, caption: "" };
94032
- const buffer = readFileSync46(filePath);
94089
+ const buffer = readFileSync47(filePath);
94033
94090
  const base64 = buffer.toString("base64");
94034
94091
  const ext = file.split(".").pop()?.toLowerCase() || "png";
94035
94092
  const mimeType = ext === "jpg" ? "image/jpeg" : `image/${ext}`;
@@ -94215,15 +94272,15 @@ var init_agentPromptGenerator = __esm({
94215
94272
  });
94216
94273
 
94217
94274
  // src/capture/scaffolding.ts
94218
- import { existsSync as existsSync67, writeFileSync as writeFileSync32, readFileSync as readFileSync47 } from "fs";
94219
- import { join as join77, resolve as resolve41 } from "path";
94275
+ import { existsSync as existsSync67, writeFileSync as writeFileSync32, readFileSync as readFileSync48 } from "fs";
94276
+ import { join as join77, resolve as resolve42 } from "path";
94220
94277
  function loadEnvFile(startDir) {
94221
94278
  try {
94222
- let dir = resolve41(startDir);
94279
+ let dir = resolve42(startDir);
94223
94280
  for (let i2 = 0; i2 < 5; i2++) {
94224
- const envPath = resolve41(dir, ".env");
94281
+ const envPath = resolve42(dir, ".env");
94225
94282
  try {
94226
- const envContent = readFileSync47(envPath, "utf-8");
94283
+ const envContent = readFileSync48(envPath, "utf-8");
94227
94284
  for (const line of envContent.split("\n")) {
94228
94285
  const trimmed = line.trim();
94229
94286
  if (!trimmed || trimmed.startsWith("#")) continue;
@@ -94235,7 +94292,7 @@ function loadEnvFile(startDir) {
94235
94292
  }
94236
94293
  break;
94237
94294
  } catch {
94238
- dir = resolve41(dir, "..");
94295
+ dir = resolve42(dir, "..");
94239
94296
  }
94240
94297
  }
94241
94298
  } catch {
@@ -94964,7 +95021,7 @@ __export(capture_exports2, {
94964
95021
  default: () => capture_default,
94965
95022
  examples: () => examples23
94966
95023
  });
94967
- import { resolve as resolve42 } from "path";
95024
+ import { resolve as resolve43 } from "path";
94968
95025
  var examples23, capture_default;
94969
95026
  var init_capture2 = __esm({
94970
95027
  "src/commands/capture.ts"() {
@@ -95023,7 +95080,7 @@ var init_capture2 = __esm({
95023
95080
  const hostname = new URL(url).hostname.replace(/^www\./, "");
95024
95081
  outputName = `captures/${hostname.replace(/\./g, "-")}`;
95025
95082
  }
95026
- const outputDir = resolve42(outputName);
95083
+ const outputDir = resolve43(outputName);
95027
95084
  const isJson = args.json;
95028
95085
  if (!isJson) {
95029
95086
  const { c: c3 } = await Promise.resolve().then(() => (init_colors(), colors_exports));
@@ -95148,7 +95205,7 @@ __export(state_exports, {
95148
95205
  stateFilePath: () => stateFilePath,
95149
95206
  writeStackOutputs: () => writeStackOutputs
95150
95207
  });
95151
- import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as readFileSync48, rmSync as rmSync16, writeFileSync as writeFileSync35 } from "fs";
95208
+ import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as readFileSync49, rmSync as rmSync16, writeFileSync as writeFileSync35 } from "fs";
95152
95209
  import { dirname as dirname28, join as join80 } from "path";
95153
95210
  function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
95154
95211
  return join80(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
@@ -95163,7 +95220,7 @@ function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
95163
95220
  const path2 = stateFilePath(stackName, cwd);
95164
95221
  if (!existsSync69(path2)) return null;
95165
95222
  try {
95166
- return JSON.parse(readFileSync48(path2, "utf-8"));
95223
+ return JSON.parse(readFileSync49(path2, "utf-8"));
95167
95224
  } catch {
95168
95225
  return null;
95169
95226
  }
@@ -95322,16 +95379,16 @@ var init_sam = __esm({
95322
95379
 
95323
95380
  // src/commands/lambda/repoRoot.ts
95324
95381
  import { existsSync as existsSync71 } from "fs";
95325
- import { dirname as dirname29, resolve as resolve43 } from "path";
95382
+ import { dirname as dirname29, resolve as resolve44 } from "path";
95326
95383
  import { fileURLToPath as fileURLToPath11 } from "url";
95327
95384
  function repoRoot() {
95328
95385
  const override = process.env.HYPERFRAMES_REPO_ROOT;
95329
- if (override && existsSync71(resolve43(override, "packages", "aws-lambda", "package.json"))) {
95386
+ if (override && existsSync71(resolve44(override, "packages", "aws-lambda", "package.json"))) {
95330
95387
  return override;
95331
95388
  }
95332
95389
  let dir = dirname29(fileURLToPath11(import.meta.url));
95333
95390
  for (let depth = 0; depth < 12; depth++) {
95334
- if (existsSync71(resolve43(dir, "packages", "aws-lambda", "package.json"))) {
95391
+ if (existsSync71(resolve44(dir, "packages", "aws-lambda", "package.json"))) {
95335
95392
  return dir;
95336
95393
  }
95337
95394
  const parent = dirname29(dir);
@@ -95355,7 +95412,7 @@ __export(deploy_exports, {
95355
95412
  });
95356
95413
  import { spawnSync as spawnSync5 } from "child_process";
95357
95414
  import { existsSync as existsSync72 } from "fs";
95358
- import { join as join82, resolve as resolve44 } from "path";
95415
+ import { join as join82, resolve as resolve45 } from "path";
95359
95416
  async function runDeploy(args = {}) {
95360
95417
  const resolved = {
95361
95418
  stackName: args.stackName ?? DEFAULT_STACK_NAME,
@@ -95409,7 +95466,7 @@ async function runDeploy(args = {}) {
95409
95466
  console.log(` ${c2.dim("Bucket:")} ${outputs.bucketName}`);
95410
95467
  console.log(` ${c2.dim("State machine:")} ${outputs.stateMachineArn}`);
95411
95468
  console.log(` ${c2.dim("Function:")} ${outputs.functionName}`);
95412
- console.log(` ${c2.dim("State file:")} ${resolve44(statePath)}`);
95469
+ console.log(` ${c2.dim("State file:")} ${resolve45(statePath)}`);
95413
95470
  console.log();
95414
95471
  console.log(c2.dim(`Render with: hyperframes lambda render <project-dir>`));
95415
95472
  }
@@ -95489,13 +95546,28 @@ var render_exports2 = {};
95489
95546
  __export(render_exports2, {
95490
95547
  runRender: () => runRender
95491
95548
  });
95492
- import { resolve as resolvePath2 } from "path";
95549
+ import { existsSync as existsSync73 } from "fs";
95550
+ import { join as join83, resolve as resolvePath2 } from "path";
95493
95551
  async function loadSDK2() {
95494
95552
  return import("@hyperframes/aws-lambda/sdk");
95495
95553
  }
95496
95554
  async function runRender(args) {
95497
95555
  const stack = requireStack(args.stackName);
95498
95556
  const projectDir = resolvePath2(args.projectDir);
95557
+ const variables = resolveVariablesArg(args.variables, args.variablesFile);
95558
+ if (variables && Object.keys(variables).length > 0) {
95559
+ const indexPath = join83(projectDir, "index.html");
95560
+ if (existsSync73(indexPath)) {
95561
+ const issues = validateVariablesAgainstProject(indexPath, variables);
95562
+ reportVariableIssues(issues, { strict: args.strictVariables ?? false, quiet: args.json });
95563
+ } else if (args.strictVariables && !args.json) {
95564
+ console.warn(
95565
+ c2.warn(
95566
+ `--strict-variables: no ${indexPath} on disk \u2014 schema validation skipped. Variables flow through unchecked. To enable strict checking, run from a project dir that contains the composition.`
95567
+ )
95568
+ );
95569
+ }
95570
+ }
95499
95571
  const config = {
95500
95572
  fps: args.fps,
95501
95573
  width: args.width,
@@ -95505,7 +95577,8 @@ async function runRender(args) {
95505
95577
  quality: args.quality,
95506
95578
  chunkSize: args.chunkSize,
95507
95579
  maxParallelChunks: args.maxParallelChunks,
95508
- runtimeCap: "lambda"
95580
+ runtimeCap: "lambda",
95581
+ variables
95509
95582
  };
95510
95583
  const siteHandle = args.siteId ? {
95511
95584
  siteId: args.siteId,
@@ -95593,7 +95666,245 @@ var init_render3 = __esm({
95593
95666
  "src/commands/lambda/render.ts"() {
95594
95667
  "use strict";
95595
95668
  init_colors();
95669
+ init_variables();
95670
+ init_state();
95671
+ }
95672
+ });
95673
+
95674
+ // src/commands/lambda/render-batch.ts
95675
+ var render_batch_exports = {};
95676
+ __export(render_batch_exports, {
95677
+ parseBatchFile: () => parseBatchFile,
95678
+ runRenderBatch: () => runRenderBatch,
95679
+ runWithConcurrencyLimit: () => runWithConcurrencyLimit
95680
+ });
95681
+ import { existsSync as existsSync74, readFileSync as readFileSync50 } from "fs";
95682
+ import { join as join84, resolve as resolvePath3 } from "path";
95683
+ async function loadSDK3() {
95684
+ return import("@hyperframes/aws-lambda/sdk");
95685
+ }
95686
+ async function runRenderBatch(args) {
95687
+ const projectDir = resolvePath3(args.projectDir);
95688
+ const stack = requireStack(args.stackName);
95689
+ const batchPath = resolvePath3(args.batch);
95690
+ if (!existsSync74(batchPath)) {
95691
+ errorBox("Batch file not found", `No such file: ${batchPath}`);
95692
+ process.exit(1);
95693
+ }
95694
+ const entries2 = parseBatchFile(batchPath);
95695
+ if (entries2.length === 0) {
95696
+ errorBox("Empty batch", `${batchPath} contains zero entries (every line was blank).`);
95697
+ process.exit(1);
95698
+ }
95699
+ const schema = loadProjectVariableSchema(join84(projectDir, "index.html"));
95700
+ const strict = args.strictVariables ?? false;
95701
+ let hadStrictIssue = false;
95702
+ for (const { entry, lineNumber } of entries2) {
95703
+ if (!entry.variables || Object.keys(entry.variables).length === 0) continue;
95704
+ const issues = validateVariablesAgainstSchema(entry.variables, schema);
95705
+ if (issues.length === 0) continue;
95706
+ if (!args.json) {
95707
+ console.log("");
95708
+ console.log(c2.dim(`Batch entry on line ${lineNumber}:`));
95709
+ }
95710
+ reportVariableIssues(issues, { strict: false, quiet: args.json });
95711
+ if (strict) hadStrictIssue = true;
95712
+ }
95713
+ if (hadStrictIssue) {
95714
+ errorBox(
95715
+ "Variable validation failed",
95716
+ "Aborting batch due to variable issues in one or more entries (--strict-variables mode)."
95717
+ );
95718
+ process.exit(1);
95719
+ }
95720
+ const config = {
95721
+ fps: args.fps,
95722
+ width: args.width,
95723
+ height: args.height,
95724
+ format: args.format,
95725
+ codec: args.codec,
95726
+ quality: args.quality,
95727
+ chunkSize: args.chunkSize,
95728
+ maxParallelChunks: args.maxParallelChunks,
95729
+ runtimeCap: "lambda"
95730
+ };
95731
+ let siteHandle;
95732
+ if (args.siteId) {
95733
+ siteHandle = makePlaceholderSiteHandle(args.siteId, stack.bucketName);
95734
+ } else if (args.dryRun) {
95735
+ siteHandle = makePlaceholderSiteHandle("dry-run-site", stack.bucketName);
95736
+ } else {
95737
+ const { deploySite } = await loadSDK3();
95738
+ siteHandle = await deploySite({
95739
+ projectDir,
95740
+ bucketName: stack.bucketName,
95741
+ region: stack.region
95742
+ });
95743
+ if (!args.json) {
95744
+ console.log(
95745
+ c2.success(
95746
+ siteHandle.uploaded ? `Site uploaded once for the batch: ${siteHandle.siteId}` : `Site already up to date (skipped upload): ${siteHandle.siteId}`
95747
+ )
95748
+ );
95749
+ console.log();
95750
+ }
95751
+ }
95752
+ const maxConcurrent = args.maxConcurrent ?? DEFAULT_MAX_CONCURRENT;
95753
+ const renderToLambda = args.dryRun ? void 0 : (await loadSDK3()).renderToLambda;
95754
+ const startEntry = async (item) => {
95755
+ const { entry, lineNumber } = item;
95756
+ if (args.dryRun) {
95757
+ return {
95758
+ inputLine: lineNumber,
95759
+ outputKey: entry.outputKey,
95760
+ executionArn: null,
95761
+ status: "would-invoke"
95762
+ };
95763
+ }
95764
+ if (!renderToLambda) {
95765
+ throw new Error("[render-batch] renderToLambda is undefined outside --dry-run");
95766
+ }
95767
+ try {
95768
+ const handle = await renderToLambda({
95769
+ siteHandle,
95770
+ bucketName: stack.bucketName,
95771
+ stateMachineArn: stack.stateMachineArn,
95772
+ region: stack.region,
95773
+ config: { ...config, variables: entry.variables },
95774
+ executionName: entry.executionName,
95775
+ outputKey: entry.outputKey
95776
+ });
95777
+ return {
95778
+ inputLine: lineNumber,
95779
+ outputKey: entry.outputKey,
95780
+ executionArn: handle.executionArn,
95781
+ status: "started"
95782
+ };
95783
+ } catch (err) {
95784
+ return {
95785
+ inputLine: lineNumber,
95786
+ outputKey: entry.outputKey,
95787
+ executionArn: null,
95788
+ status: "failed-to-start",
95789
+ error: err instanceof Error ? err.message : String(err)
95790
+ };
95791
+ }
95792
+ };
95793
+ const manifest = await runWithConcurrencyLimit(entries2, maxConcurrent, startEntry);
95794
+ if (args.json) {
95795
+ console.log(JSON.stringify(manifest, null, 2));
95796
+ return;
95797
+ }
95798
+ const started = manifest.filter((m2) => m2.status === "started").length;
95799
+ const failed = manifest.filter((m2) => m2.status === "failed-to-start").length;
95800
+ const wouldInvoke = manifest.filter((m2) => m2.status === "would-invoke").length;
95801
+ if (args.dryRun) {
95802
+ console.log(c2.success(`Dry-run complete: ${wouldInvoke} entries would invoke.`));
95803
+ } else {
95804
+ console.log(c2.success(`Batch dispatched: ${started} started, ${failed} failed-to-start.`));
95805
+ }
95806
+ console.log();
95807
+ for (const row of manifest) {
95808
+ const tag = row.status === "started" ? c2.success("\u2713") : row.status === "would-invoke" ? c2.dim("\xB7") : c2.error("\u2717");
95809
+ const detail = row.status === "failed-to-start" ? c2.error(row.error ?? "unknown error") : row.executionArn ?? c2.dim("(no execution)");
95810
+ console.log(` ${tag} line ${row.inputLine} ${c2.dim(row.outputKey)} ${detail}`);
95811
+ }
95812
+ if (failed > 0) process.exitCode = 1;
95813
+ }
95814
+ function makePlaceholderSiteHandle(siteId, bucketName) {
95815
+ return {
95816
+ siteId,
95817
+ bucketName,
95818
+ projectS3Uri: `s3://${bucketName}/sites/${siteId}/project.tar.gz`,
95819
+ bytes: 0,
95820
+ uploadedAt: "",
95821
+ uploaded: false
95822
+ };
95823
+ }
95824
+ function parseBatchFile(path2) {
95825
+ const raw = readFileSync50(path2, "utf8");
95826
+ const lines = raw.split(/\r?\n/);
95827
+ const out = [];
95828
+ for (let i2 = 0; i2 < lines.length; i2++) {
95829
+ const line = lines[i2].trim();
95830
+ if (line === "") continue;
95831
+ let parsed;
95832
+ try {
95833
+ parsed = JSON.parse(line);
95834
+ } catch (err) {
95835
+ errorBox(
95836
+ `Invalid JSON in batch file on line ${i2 + 1}`,
95837
+ err instanceof Error ? err.message : String(err)
95838
+ );
95839
+ process.exit(1);
95840
+ }
95841
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
95842
+ errorBox(
95843
+ `Invalid batch entry on line ${i2 + 1}`,
95844
+ 'Each line must be a JSON object with at least { "outputKey": "..." }.'
95845
+ );
95846
+ process.exit(1);
95847
+ }
95848
+ const obj = parsed;
95849
+ const outputKey = obj.outputKey;
95850
+ if (typeof outputKey !== "string" || outputKey.length === 0) {
95851
+ errorBox(
95852
+ `Missing outputKey on line ${i2 + 1}`,
95853
+ 'Each batch entry needs a non-empty "outputKey" string (e.g. "renders/alice.mp4").'
95854
+ );
95855
+ process.exit(1);
95856
+ }
95857
+ if (obj.variables !== void 0) {
95858
+ if (obj.variables === null || typeof obj.variables !== "object" || Array.isArray(obj.variables)) {
95859
+ errorBox(
95860
+ `Invalid variables on line ${i2 + 1}`,
95861
+ '"variables" must be a JSON object (or omitted).'
95862
+ );
95863
+ process.exit(1);
95864
+ }
95865
+ }
95866
+ if (obj.executionName !== void 0 && typeof obj.executionName !== "string") {
95867
+ errorBox(
95868
+ `Invalid executionName on line ${i2 + 1}`,
95869
+ '"executionName" must be a string (or omitted).'
95870
+ );
95871
+ process.exit(1);
95872
+ }
95873
+ out.push({
95874
+ entry: {
95875
+ outputKey,
95876
+ variables: obj.variables,
95877
+ executionName: obj.executionName
95878
+ },
95879
+ lineNumber: i2 + 1
95880
+ });
95881
+ }
95882
+ return out;
95883
+ }
95884
+ async function runWithConcurrencyLimit(inputs, limit, worker) {
95885
+ if (limit < 1) throw new Error(`runWithConcurrencyLimit: limit must be \u2265 1, got ${limit}`);
95886
+ const results = new Array(inputs.length);
95887
+ let cursor = 0;
95888
+ const workerCount = Math.min(limit, inputs.length);
95889
+ await Promise.all(
95890
+ Array.from({ length: workerCount }, async () => {
95891
+ while (cursor < inputs.length) {
95892
+ const idx = cursor++;
95893
+ results[idx] = await worker(inputs[idx], idx);
95894
+ }
95895
+ })
95896
+ );
95897
+ return results;
95898
+ }
95899
+ var DEFAULT_MAX_CONCURRENT;
95900
+ var init_render_batch = __esm({
95901
+ "src/commands/lambda/render-batch.ts"() {
95902
+ "use strict";
95903
+ init_colors();
95904
+ init_format();
95905
+ init_variables();
95596
95906
  init_state();
95907
+ DEFAULT_MAX_CONCURRENT = 50;
95597
95908
  }
95598
95909
  });
95599
95910
 
@@ -95704,7 +96015,7 @@ __export(policies_exports, {
95704
96015
  runPolicies: () => runPolicies,
95705
96016
  validatePolicy: () => validatePolicy
95706
96017
  });
95707
- import { readFileSync as readFileSync49 } from "fs";
96018
+ import { readFileSync as readFileSync51 } from "fs";
95708
96019
  function allRequiredActions() {
95709
96020
  const set = /* @__PURE__ */ new Set();
95710
96021
  for (const group of Object.values(REQUIRED_ACTIONS)) {
@@ -95810,7 +96121,7 @@ async function runPolicies(args) {
95810
96121
  }
95811
96122
  }
95812
96123
  function validatePolicy(policyPath) {
95813
- const raw = readFileSync49(policyPath, "utf-8");
96124
+ const raw = readFileSync51(policyPath, "utf-8");
95814
96125
  const parsed = JSON.parse(raw);
95815
96126
  const statements = Array.isArray(parsed.Statement) ? parsed.Statement : parsed.Statement ? [
95816
96127
  parsed.Statement
@@ -96014,6 +96325,18 @@ var init_lambda = __esm({
96014
96325
  "Render and stream progress until done",
96015
96326
  "hyperframes lambda render ./my-project --width 1920 --height 1080 --wait"
96016
96327
  ],
96328
+ [
96329
+ "Render with composition variables (personalised template)",
96330
+ `hyperframes lambda render ./my-template --site-id abc1234deadbeef0 --width 1920 --height 1080 --variables '{"title":"Hello Alice","accent":"#ff0000"}'`
96331
+ ],
96332
+ [
96333
+ "Render with variables from a JSON file",
96334
+ "hyperframes lambda render ./my-template --site-id abc1234deadbeef0 --width 1920 --height 1080 --variables-file ./alice.json"
96335
+ ],
96336
+ [
96337
+ "Batch-render N personalised videos from a JSONL file (deploys the site once)",
96338
+ "hyperframes lambda render-batch ./my-template --batch ./users.jsonl --width 1920 --height 1080 --max-concurrent 10"
96339
+ ],
96017
96340
  ["Check progress for a started render", "hyperframes lambda progress hf-render-abcd1234"],
96018
96341
  [
96019
96342
  "Pre-upload a project so multiple renders share the upload",
@@ -96035,6 +96358,7 @@ ${c2.bold("SUBCOMMANDS:")}
96035
96358
  ${c2.accent("deploy")} ${c2.dim("Provision the Lambda + Step Functions + S3 stack via SAM")}
96036
96359
  ${c2.accent("sites create")} ${c2.dim("Tar + upload a project to S3 (reusable across renders)")}
96037
96360
  ${c2.accent("render")} ${c2.dim("Start a distributed render (returns a renderId)")}
96361
+ ${c2.accent("render-batch")} ${c2.dim("Fan out N personalised renders from a JSONL batch file")}
96038
96362
  ${c2.accent("progress")} ${c2.dim("Print progress + cost for an in-flight or finished render")}
96039
96363
  ${c2.accent("destroy")} ${c2.dim("Tear the stack down (S3 bucket is retained)")}
96040
96364
  ${c2.accent("policies")} ${c2.dim("Print or validate the IAM permissions the CLI needs")}
@@ -96099,6 +96423,36 @@ ${c2.bold("REQUIREMENTS:")}
96099
96423
  type: "string",
96100
96424
  description: "Final output S3 key (default: renders/<exec>/output.<ext>)"
96101
96425
  },
96426
+ // Variables — mirrors the local `hyperframes render` UX. Inline JSON or
96427
+ // file path, plus --strict-variables for type-checked validation against
96428
+ // the composition's `data-composition-variables` declaration.
96429
+ variables: {
96430
+ type: "string",
96431
+ description: `JSON object of variable values for the composition. Example: --variables '{"title":"Hello"}'. Values flow into window.__hfVariables on the Lambda chunk workers.`
96432
+ },
96433
+ "variables-file": {
96434
+ type: "string",
96435
+ description: "Path to a JSON file with variable values (alternative to --variables). The file must contain a single JSON object."
96436
+ },
96437
+ "strict-variables": {
96438
+ type: "boolean",
96439
+ description: "Fail the render command if any --variables key is undeclared or has a wrong type vs the composition's data-composition-variables. Without this flag, mismatches are warnings.",
96440
+ default: false
96441
+ },
96442
+ // render-batch
96443
+ batch: {
96444
+ type: "string",
96445
+ description: 'Path to a JSONL batch file for `render-batch`. Each line: {"outputKey":"...","variables":{...}}'
96446
+ },
96447
+ "max-concurrent": {
96448
+ type: "string",
96449
+ description: "Max in-flight Step Functions executions for `render-batch` (default: 50). Distinct from --max-parallel-chunks (which caps chunks per render)."
96450
+ },
96451
+ "dry-run": {
96452
+ type: "boolean",
96453
+ description: "For `render-batch`: parse the batch file and print the manifest without invoking AWS. Every entry's status becomes `would-invoke`.",
96454
+ default: false
96455
+ },
96102
96456
  wait: { type: "boolean", description: "Block until the render finishes" },
96103
96457
  "wait-interval-ms": {
96104
96458
  type: "string",
@@ -96120,7 +96474,14 @@ ${c2.bold("REQUIREMENTS:")}
96120
96474
  if (profileFlag) process.env.AWS_PROFILE = profileFlag;
96121
96475
  const regionFlag = args.region;
96122
96476
  if (regionFlag) process.env.AWS_REGION = regionFlag;
96123
- const verbsNeedingSDK = /* @__PURE__ */ new Set(["deploy", "sites", "render", "progress", "destroy"]);
96477
+ const verbsNeedingSDK = /* @__PURE__ */ new Set([
96478
+ "deploy",
96479
+ "sites",
96480
+ "render",
96481
+ "render-batch",
96482
+ "progress",
96483
+ "destroy"
96484
+ ]);
96124
96485
  if (verbsNeedingSDK.has(subcommand)) {
96125
96486
  try {
96126
96487
  await import("@hyperframes/aws-lambda/sdk");
@@ -96209,12 +96570,62 @@ Or, for an opt-in dev setup:
96209
96570
  maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
96210
96571
  executionName: args["execution-name"],
96211
96572
  outputKey: args["output-key"],
96573
+ variables: args.variables,
96574
+ variablesFile: args["variables-file"],
96575
+ strictVariables: Boolean(args["strict-variables"]),
96212
96576
  json: Boolean(args.json),
96213
96577
  wait: Boolean(args.wait),
96214
96578
  waitIntervalMs: parsePositiveInt(args["wait-interval-ms"], "--wait-interval-ms") ?? 5e3
96215
96579
  });
96216
96580
  return;
96217
96581
  }
96582
+ case "render-batch": {
96583
+ const projectDir = args.target;
96584
+ if (!projectDir) {
96585
+ console.error(
96586
+ "[lambda render-batch] usage: hyperframes lambda render-batch <projectDir> --batch <path.jsonl> --width <px> --height <px>"
96587
+ );
96588
+ process.exit(1);
96589
+ }
96590
+ const batch = args.batch;
96591
+ if (!batch) {
96592
+ console.error(
96593
+ "[lambda render-batch] --batch <path.jsonl> is required. Each line is a JSON object with at least { outputKey: '...' }."
96594
+ );
96595
+ process.exit(1);
96596
+ }
96597
+ const width = parsePositiveInt(args.width, "--width");
96598
+ const height = parsePositiveInt(args.height, "--height");
96599
+ if (width === void 0 || height === void 0) {
96600
+ console.error("[lambda render-batch] --width and --height are required.");
96601
+ process.exit(1);
96602
+ }
96603
+ const fpsRaw = parseIntFlag(args.fps) ?? 30;
96604
+ if (fpsRaw !== 24 && fpsRaw !== 30 && fpsRaw !== 60) {
96605
+ console.error(`[lambda render-batch] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
96606
+ process.exit(1);
96607
+ }
96608
+ const { runRenderBatch: runRenderBatch2 } = await Promise.resolve().then(() => (init_render_batch(), render_batch_exports));
96609
+ await runRenderBatch2({
96610
+ projectDir,
96611
+ stackName,
96612
+ batch,
96613
+ siteId: args["site-id"],
96614
+ fps: fpsRaw,
96615
+ width,
96616
+ height,
96617
+ format: parseFormat(args.format),
96618
+ codec: parseCodec(args.codec),
96619
+ quality: parseQuality(args.quality),
96620
+ chunkSize: parsePositiveInt(args["chunk-size"], "--chunk-size"),
96621
+ maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
96622
+ maxConcurrent: parsePositiveInt(args["max-concurrent"], "--max-concurrent"),
96623
+ strictVariables: Boolean(args["strict-variables"]),
96624
+ dryRun: Boolean(args["dry-run"]),
96625
+ json: Boolean(args.json)
96626
+ });
96627
+ return;
96628
+ }
96218
96629
  case "progress": {
96219
96630
  const target = args.target;
96220
96631
  if (!target) {
@@ -96405,7 +96816,7 @@ __export(autoUpdate_exports, {
96405
96816
  import { spawn as spawn16 } from "child_process";
96406
96817
  import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync42, openSync as openSync2 } from "fs";
96407
96818
  import { homedir as homedir12 } from "os";
96408
- import { join as join83 } from "path";
96819
+ import { join as join85 } from "path";
96409
96820
  import { compareVersions as compareVersions2 } from "compare-versions";
96410
96821
  function isAutoInstallDisabled() {
96411
96822
  if (isDevMode()) return true;
@@ -96428,7 +96839,7 @@ function log(line) {
96428
96839
  }
96429
96840
  function launchDetachedInstall(installCommand, version) {
96430
96841
  mkdirSync42(CONFIG_DIR2, { recursive: true, mode: 448 });
96431
- const configFile = join83(CONFIG_DIR2, "config.json");
96842
+ const configFile = join85(CONFIG_DIR2, "config.json");
96432
96843
  const nodeScript = `
96433
96844
  const { exec } = require("node:child_process");
96434
96845
  const { readFileSync, renameSync, writeFileSync } = require("node:fs");
@@ -96547,8 +96958,8 @@ var init_autoUpdate = __esm({
96547
96958
  init_config();
96548
96959
  init_env();
96549
96960
  init_installerDetection();
96550
- CONFIG_DIR2 = join83(homedir12(), ".hyperframes");
96551
- LOG_FILE = join83(CONFIG_DIR2, "auto-update.log");
96961
+ CONFIG_DIR2 = join85(homedir12(), ".hyperframes");
96962
+ LOG_FILE = join85(CONFIG_DIR2, "auto-update.log");
96552
96963
  PENDING_TIMEOUT_MS = 10 * 60 * 1e3;
96553
96964
  }
96554
96965
  });
@@ -96736,17 +97147,17 @@ var init_help = __esm({
96736
97147
  // src/cli.ts
96737
97148
  init_version();
96738
97149
  init_dist();
96739
- import { dirname as dirname30, join as join84 } from "path";
97150
+ import { dirname as dirname30, join as join86 } from "path";
96740
97151
  import { fileURLToPath as fileURLToPath12 } from "url";
96741
- import { existsSync as existsSync73 } from "fs";
97152
+ import { existsSync as existsSync75 } from "fs";
96742
97153
  (() => {
96743
97154
  const here = dirname30(fileURLToPath12(import.meta.url));
96744
- const shader = join84(here, "shaderTransitionWorker.js");
96745
- const png = join84(here, "pngDecodeBlitWorker.js");
96746
- if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync73(shader)) {
97155
+ const shader = join86(here, "shaderTransitionWorker.js");
97156
+ const png = join86(here, "pngDecodeBlitWorker.js");
97157
+ if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync75(shader)) {
96747
97158
  process.env.HF_SHADER_WORKER_ENTRY = shader;
96748
97159
  }
96749
- if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY && existsSync73(png)) {
97160
+ if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY && existsSync75(png)) {
96750
97161
  process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY = png;
96751
97162
  }
96752
97163
  })();