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 +791 -380
- package/dist/hyperframe-runtime.js +20 -20
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +20 -20
- package/dist/studio/assets/index-EdfhuQ5T.js +362 -0
- package/dist/studio/index.html +1 -1
- package/package.json +1 -1
- package/dist/studio/assets/index-DZWPbGBw.js +0 -116
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.
|
|
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((
|
|
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
|
-
|
|
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((
|
|
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)
|
|
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((
|
|
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
|
-
|
|
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
|
|
17100
|
-
|
|
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((
|
|
17140
|
+
return new Promise((resolve46) => {
|
|
17141
17141
|
if (registry.has(localName))
|
|
17142
|
-
|
|
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(
|
|
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((
|
|
29455
|
+
new Promise((resolve46) => {
|
|
29423
29456
|
timer = setTimeout(() => {
|
|
29424
29457
|
timedOut = true;
|
|
29425
|
-
|
|
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((
|
|
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
|
-
|
|
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((
|
|
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((
|
|
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((
|
|
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((
|
|
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"))
|
|
30007
|
-
else if (stdout2.includes("h264_videotoolbox"))
|
|
30008
|
-
else if (stdout2.includes("h264_vaapi"))
|
|
30009
|
-
else if (stdout2.includes("h264_qsv"))
|
|
30010
|
-
else
|
|
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", () =>
|
|
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((
|
|
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
|
-
|
|
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
|
-
|
|
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((
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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((
|
|
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)
|
|
30539
|
-
else
|
|
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
|
-
|
|
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((
|
|
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)
|
|
30580
|
-
else
|
|
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
|
-
|
|
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,
|
|
30712
|
+
const enqueueAt = (frame, resolve46) => {
|
|
30686
30713
|
const list = pending.get(frame);
|
|
30687
30714
|
if (list === void 0) {
|
|
30688
|
-
pending.set(frame, [
|
|
30715
|
+
pending.set(frame, [resolve46]);
|
|
30689
30716
|
} else {
|
|
30690
|
-
list.push(
|
|
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
|
|
30724
|
+
for (const resolve46 of list) resolve46();
|
|
30698
30725
|
};
|
|
30699
|
-
const waitForFrame = (frame) => new Promise((
|
|
30726
|
+
const waitForFrame = (frame) => new Promise((resolve46) => {
|
|
30700
30727
|
if (frame === cursor) {
|
|
30701
|
-
|
|
30728
|
+
resolve46();
|
|
30702
30729
|
return;
|
|
30703
30730
|
}
|
|
30704
|
-
enqueueAt(frame,
|
|
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((
|
|
30737
|
+
const waitForAllDone = () => new Promise((resolve46) => {
|
|
30711
30738
|
if (cursor >= endFrame) {
|
|
30712
|
-
|
|
30739
|
+
resolve46();
|
|
30713
30740
|
return;
|
|
30714
30741
|
}
|
|
30715
|
-
enqueueAt(endFrame,
|
|
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((
|
|
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((
|
|
30957
|
-
stdin.end(() =>
|
|
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((
|
|
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
|
-
|
|
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((
|
|
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
|
-
|
|
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((
|
|
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
|
-
|
|
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((
|
|
36989
|
+
return new Promise((resolve46) => {
|
|
36960
36990
|
const connections = /* @__PURE__ */ new Set();
|
|
36961
36991
|
const server = serve2({ fetch: app.fetch, port }, (info) => {
|
|
36962
|
-
|
|
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
|
|
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 =
|
|
37267
|
-
const absParent =
|
|
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((
|
|
40403
|
-
const task = traceEnabled ? { req, resolve:
|
|
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((
|
|
42543
|
+
return new Promise((resolve46) => {
|
|
42513
42544
|
this.queue.push(() => {
|
|
42514
42545
|
this.active++;
|
|
42515
|
-
|
|
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((
|
|
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
|
-
|
|
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((
|
|
45135
|
-
child.on("close", () =>
|
|
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((
|
|
45210
|
-
child.on("close", () =>
|
|
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
|
|
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
|
|
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 =
|
|
47554
|
-
const devPath =
|
|
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"),
|
|
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:
|
|
47632
|
-
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 =
|
|
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 ?
|
|
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 =
|
|
48088
|
-
const entryPath =
|
|
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
|
-
|
|
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
|
|
48463
|
-
import { isAbsolute as isAbsolute8, relative as relative9, resolve as
|
|
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 =
|
|
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(
|
|
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
|
|
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((
|
|
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((
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
49112
|
-
import { resolve as
|
|
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 =
|
|
49201
|
+
const subPath = resolve35(baseDir, compositionSrc);
|
|
49145
49202
|
if (existsSync56(subPath)) {
|
|
49146
|
-
const subHtml =
|
|
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 =
|
|
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
|
|
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 =
|
|
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((
|
|
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((
|
|
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((
|
|
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
|
-
|
|
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
|
|
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 =
|
|
50307
|
-
const outputPath =
|
|
50363
|
+
const inputPath = resolve37(args.input);
|
|
50364
|
+
const outputPath = resolve37(args.output);
|
|
50308
50365
|
const backgroundOutputArg = args["background-output"];
|
|
50309
|
-
const backgroundOutputPath = backgroundOutputArg ?
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
50797
|
-
import { resolve as
|
|
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 =
|
|
50962
|
+
const maybeFile = resolve39(args.input);
|
|
50906
50963
|
if (existsSync63(maybeFile) && extname12(maybeFile).toLowerCase() === ".txt") {
|
|
50907
|
-
text =
|
|
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 =
|
|
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
|
|
51000
|
-
import { resolve as
|
|
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 =
|
|
51006
|
-
const builtPath =
|
|
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 =
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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(
|
|
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(
|
|
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((
|
|
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
|
-
|
|
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((
|
|
54202
|
-
setTimeout(
|
|
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((
|
|
55111
|
-
req2.once("response",
|
|
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((
|
|
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
|
-
|
|
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((
|
|
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((
|
|
55769
|
-
reader._closedPromise_resolve =
|
|
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((
|
|
55944
|
-
resolvePromise =
|
|
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((
|
|
56050
|
-
resolvePromise =
|
|
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((
|
|
57070
|
-
resolvePromise =
|
|
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((
|
|
57439
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57383
57440
|
stream._pendingAbortRequest = {
|
|
57384
57441
|
_promise: void 0,
|
|
57385
|
-
_resolve:
|
|
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((
|
|
57459
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57403
57460
|
const closeRequest = {
|
|
57404
|
-
_resolve:
|
|
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((
|
|
57474
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57418
57475
|
const writeRequest = {
|
|
57419
|
-
_resolve:
|
|
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((
|
|
58036
|
-
writer._closedPromise_resolve =
|
|
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((
|
|
58073
|
-
writer._readyPromise_resolve =
|
|
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((
|
|
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
|
-
|
|
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((
|
|
58587
|
-
resolveCancelPromise =
|
|
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((
|
|
58679
|
-
resolveCancelPromise =
|
|
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((
|
|
59460
|
-
startPromise_resolve =
|
|
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((
|
|
59554
|
-
stream._backpressureChangePromise_resolve =
|
|
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((
|
|
59723
|
-
controller._finishPromise_resolve =
|
|
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((
|
|
59750
|
-
controller._finishPromise_resolve =
|
|
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((
|
|
59781
|
-
controller._finishPromise_resolve =
|
|
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((
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
62009
|
+
resolve46(response);
|
|
61953
62010
|
});
|
|
61954
62011
|
raw.once("end", () => {
|
|
61955
62012
|
if (!response) {
|
|
61956
62013
|
response = new Response2(body, responseOptions);
|
|
61957
|
-
|
|
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
|
-
|
|
62026
|
+
resolve46(response);
|
|
61970
62027
|
return;
|
|
61971
62028
|
}
|
|
61972
62029
|
response = new Response2(body, responseOptions);
|
|
61973
|
-
|
|
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((
|
|
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
|
-
|
|
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((
|
|
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
|
-
|
|
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((
|
|
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
|
|
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((
|
|
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
|
|
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((
|
|
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
|
|
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
|
|
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((
|
|
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
|
-
|
|
71330
|
+
resolve46(projectId);
|
|
71274
71331
|
return;
|
|
71275
71332
|
} catch (e3) {
|
|
71276
71333
|
}
|
|
71277
71334
|
}
|
|
71278
|
-
|
|
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(
|
|
79122
|
-
v2 = o[n](v2), settle(
|
|
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(
|
|
79183
|
+
function settle(resolve46, reject, d2, v2) {
|
|
79127
79184
|
Promise.resolve(v2).then(function(v3) {
|
|
79128
|
-
|
|
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((
|
|
89619
|
-
onopenResolve =
|
|
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((
|
|
89826
|
-
onopenResolve =
|
|
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((
|
|
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((
|
|
92684
|
-
|
|
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
|
|
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 =
|
|
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
|
|
94219
|
-
import { join as join77, resolve as
|
|
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 =
|
|
94279
|
+
let dir = resolve42(startDir);
|
|
94223
94280
|
for (let i2 = 0; i2 < 5; i2++) {
|
|
94224
|
-
const envPath =
|
|
94281
|
+
const envPath = resolve42(dir, ".env");
|
|
94225
94282
|
try {
|
|
94226
|
-
const envContent =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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(
|
|
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
|
|
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:")} ${
|
|
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 {
|
|
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
|
|
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 =
|
|
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([
|
|
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
|
|
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 =
|
|
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 =
|
|
96551
|
-
LOG_FILE =
|
|
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
|
|
97150
|
+
import { dirname as dirname30, join as join86 } from "path";
|
|
96740
97151
|
import { fileURLToPath as fileURLToPath12 } from "url";
|
|
96741
|
-
import { existsSync as
|
|
97152
|
+
import { existsSync as existsSync75 } from "fs";
|
|
96742
97153
|
(() => {
|
|
96743
97154
|
const here = dirname30(fileURLToPath12(import.meta.url));
|
|
96744
|
-
const shader =
|
|
96745
|
-
const png =
|
|
96746
|
-
if (!process.env.HF_SHADER_WORKER_ENTRY &&
|
|
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 &&
|
|
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
|
})();
|