hyperframes 0.6.27 → 0.6.29
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 +797 -381
- package/dist/hyperframe-runtime.js +2 -2
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +2 -2
- package/dist/skills/hyperframes/references/captions.md +31 -0
- package/dist/studio/assets/index-C-kAqQVb.js +362 -0
- package/dist/studio/index.html +1 -1
- package/package.json +1 -1
- package/dist/studio/assets/index-DYjmgXgg.js +0 -115
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.29" : "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 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.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=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';
|
|
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.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=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),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),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")),M=E?void 0:Array.from(F.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));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,headLinks:M,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
|
|
|
@@ -11256,10 +11256,6 @@ function shouldTrack() {
|
|
|
11256
11256
|
telemetryEnabled = false;
|
|
11257
11257
|
return false;
|
|
11258
11258
|
}
|
|
11259
|
-
if (process.env["CI"] === "true" || process.env["CI"] === "1") {
|
|
11260
|
-
telemetryEnabled = false;
|
|
11261
|
-
return false;
|
|
11262
|
-
}
|
|
11263
11259
|
if (isDevMode()) {
|
|
11264
11260
|
telemetryEnabled = false;
|
|
11265
11261
|
return false;
|
|
@@ -11456,7 +11452,7 @@ import { get as httpsGet } from "https";
|
|
|
11456
11452
|
import { pipeline } from "stream/promises";
|
|
11457
11453
|
function downloadFile(url, dest) {
|
|
11458
11454
|
const tmp = `${dest}.tmp`;
|
|
11459
|
-
return new Promise((
|
|
11455
|
+
return new Promise((resolve46, reject) => {
|
|
11460
11456
|
const follow = (u) => {
|
|
11461
11457
|
httpsGet(u, (res) => {
|
|
11462
11458
|
if (res.statusCode === 301 || res.statusCode === 302) {
|
|
@@ -11473,7 +11469,7 @@ function downloadFile(url, dest) {
|
|
|
11473
11469
|
const file = createWriteStream(tmp);
|
|
11474
11470
|
pipeline(res, file).then(() => {
|
|
11475
11471
|
renameSync(tmp, dest);
|
|
11476
|
-
|
|
11472
|
+
resolve46();
|
|
11477
11473
|
}).catch((err) => {
|
|
11478
11474
|
try {
|
|
11479
11475
|
unlinkSync(tmp);
|
|
@@ -12194,7 +12190,7 @@ function hasNpx() {
|
|
|
12194
12190
|
}
|
|
12195
12191
|
}
|
|
12196
12192
|
function runSkillsAdd(repo) {
|
|
12197
|
-
return new Promise((
|
|
12193
|
+
return new Promise((resolve46, reject) => {
|
|
12198
12194
|
const child = spawn("npx", ["skills", "add", repo, "--all"], {
|
|
12199
12195
|
stdio: "inherit",
|
|
12200
12196
|
timeout: 12e4,
|
|
@@ -12208,7 +12204,7 @@ function runSkillsAdd(repo) {
|
|
|
12208
12204
|
env: { ...process.env, GIT_CLONE_PROTECTION_ACTIVE: "0" }
|
|
12209
12205
|
});
|
|
12210
12206
|
child.on("close", (code, signal) => {
|
|
12211
|
-
if (code === 0)
|
|
12207
|
+
if (code === 0) resolve46();
|
|
12212
12208
|
else if (signal === "SIGINT" || code === 130) process.exit(0);
|
|
12213
12209
|
else reject(new Error(`npx skills add exited with code ${code}`));
|
|
12214
12210
|
});
|
|
@@ -13123,7 +13119,7 @@ function computePeaks(floats, count) {
|
|
|
13123
13119
|
return peaks.map((p2) => p2 / maxPeak);
|
|
13124
13120
|
}
|
|
13125
13121
|
function decodeAudioPeaks(audioPath) {
|
|
13126
|
-
return new Promise((
|
|
13122
|
+
return new Promise((resolve46, reject) => {
|
|
13127
13123
|
const proc = spawn3(
|
|
13128
13124
|
"ffmpeg",
|
|
13129
13125
|
[
|
|
@@ -13156,7 +13152,7 @@ function decodeAudioPeaks(audioPath) {
|
|
|
13156
13152
|
return;
|
|
13157
13153
|
}
|
|
13158
13154
|
const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + numSamples * 4);
|
|
13159
|
-
|
|
13155
|
+
resolve46(computePeaks(new Float32Array(ab), PEAK_COUNT));
|
|
13160
13156
|
});
|
|
13161
13157
|
proc.on("error", reject);
|
|
13162
13158
|
});
|
|
@@ -17096,8 +17092,8 @@ var init_custom_element_registry = __esm({
|
|
|
17096
17092
|
} : (element) => element.localName === localName;
|
|
17097
17093
|
registry.set(localName, { Class, check });
|
|
17098
17094
|
if (waiting.has(localName)) {
|
|
17099
|
-
for (const
|
|
17100
|
-
|
|
17095
|
+
for (const resolve46 of waiting.get(localName))
|
|
17096
|
+
resolve46(Class);
|
|
17101
17097
|
waiting.delete(localName);
|
|
17102
17098
|
}
|
|
17103
17099
|
ownerDocument.querySelectorAll(
|
|
@@ -17137,13 +17133,13 @@ var init_custom_element_registry = __esm({
|
|
|
17137
17133
|
*/
|
|
17138
17134
|
whenDefined(localName) {
|
|
17139
17135
|
const { registry, waiting } = this;
|
|
17140
|
-
return new Promise((
|
|
17136
|
+
return new Promise((resolve46) => {
|
|
17141
17137
|
if (registry.has(localName))
|
|
17142
|
-
|
|
17138
|
+
resolve46(registry.get(localName).Class);
|
|
17143
17139
|
else {
|
|
17144
17140
|
if (!waiting.has(localName))
|
|
17145
17141
|
waiting.set(localName, []);
|
|
17146
|
-
waiting.get(localName).push(
|
|
17142
|
+
waiting.get(localName).push(resolve46);
|
|
17147
17143
|
}
|
|
17148
17144
|
});
|
|
17149
17145
|
}
|
|
@@ -29452,10 +29448,10 @@ async function waitForCloseWithTimeout(promise) {
|
|
|
29452
29448
|
() => void 0,
|
|
29453
29449
|
() => void 0
|
|
29454
29450
|
),
|
|
29455
|
-
new Promise((
|
|
29451
|
+
new Promise((resolve46) => {
|
|
29456
29452
|
timer = setTimeout(() => {
|
|
29457
29453
|
timedOut = true;
|
|
29458
|
-
|
|
29454
|
+
resolve46();
|
|
29459
29455
|
}, CAPTURE_SESSION_CLOSE_TIMEOUT_MS);
|
|
29460
29456
|
})
|
|
29461
29457
|
]);
|
|
@@ -29553,7 +29549,7 @@ async function pollPageExpression(page, expression, timeoutMs, intervalMs = 100)
|
|
|
29553
29549
|
while (Date.now() < deadline) {
|
|
29554
29550
|
const ready = Boolean(await page.evaluate(expression));
|
|
29555
29551
|
if (ready) return true;
|
|
29556
|
-
await new Promise((
|
|
29552
|
+
await new Promise((resolve46) => setTimeout(resolve46, intervalMs));
|
|
29557
29553
|
}
|
|
29558
29554
|
return Boolean(await page.evaluate(expression));
|
|
29559
29555
|
}
|
|
@@ -29612,7 +29608,7 @@ async function pollVideosReady(page, skipIds, timeoutMs, intervalMs = 100) {
|
|
|
29612
29608
|
const deadline = Date.now() + timeoutMs;
|
|
29613
29609
|
while (Date.now() < deadline) {
|
|
29614
29610
|
if (await check()) return true;
|
|
29615
|
-
await new Promise((
|
|
29611
|
+
await new Promise((resolve46) => setTimeout(resolve46, intervalMs));
|
|
29616
29612
|
}
|
|
29617
29613
|
return check();
|
|
29618
29614
|
}
|
|
@@ -29646,7 +29642,7 @@ async function waitForOptionalTailwindReady(page, timeoutMs) {
|
|
|
29646
29642
|
page.evaluate(
|
|
29647
29643
|
`Promise.resolve(window.__tailwindReady).then(() => true, () => false)`
|
|
29648
29644
|
),
|
|
29649
|
-
new Promise((
|
|
29645
|
+
new Promise((resolve46) => setTimeout(() => resolve46(false), timeoutMs))
|
|
29650
29646
|
]);
|
|
29651
29647
|
if (!ready) {
|
|
29652
29648
|
throw new Error(
|
|
@@ -30014,14 +30010,14 @@ var init_frameCapture = __esm({
|
|
|
30014
30010
|
BROWSER_CONSOLE_BUFFER_SIZE = 200;
|
|
30015
30011
|
CAPTURE_SESSION_CLOSE_TIMEOUT_MS = 5e3;
|
|
30016
30012
|
LOCKED_WARMUP_TICKS = 60;
|
|
30017
|
-
realSleep = (ms) => new Promise((
|
|
30013
|
+
realSleep = (ms) => new Promise((resolve46) => setTimeout(resolve46, ms));
|
|
30018
30014
|
}
|
|
30019
30015
|
});
|
|
30020
30016
|
|
|
30021
30017
|
// ../engine/src/utils/gpuEncoder.ts
|
|
30022
30018
|
import { spawn as spawn4 } from "child_process";
|
|
30023
30019
|
async function detectGpuEncoder() {
|
|
30024
|
-
return new Promise((
|
|
30020
|
+
return new Promise((resolve46) => {
|
|
30025
30021
|
const ffmpeg = spawn4("ffmpeg", ["-encoders"], {
|
|
30026
30022
|
stdio: ["pipe", "pipe", "pipe"]
|
|
30027
30023
|
});
|
|
@@ -30030,13 +30026,13 @@ async function detectGpuEncoder() {
|
|
|
30030
30026
|
stdout2 += data.toString();
|
|
30031
30027
|
});
|
|
30032
30028
|
ffmpeg.on("close", () => {
|
|
30033
|
-
if (stdout2.includes("h264_nvenc"))
|
|
30034
|
-
else if (stdout2.includes("h264_videotoolbox"))
|
|
30035
|
-
else if (stdout2.includes("h264_vaapi"))
|
|
30036
|
-
else if (stdout2.includes("h264_qsv"))
|
|
30037
|
-
else
|
|
30029
|
+
if (stdout2.includes("h264_nvenc")) resolve46("nvenc");
|
|
30030
|
+
else if (stdout2.includes("h264_videotoolbox")) resolve46("videotoolbox");
|
|
30031
|
+
else if (stdout2.includes("h264_vaapi")) resolve46("vaapi");
|
|
30032
|
+
else if (stdout2.includes("h264_qsv")) resolve46("qsv");
|
|
30033
|
+
else resolve46(null);
|
|
30038
30034
|
});
|
|
30039
|
-
ffmpeg.on("error", () =>
|
|
30035
|
+
ffmpeg.on("error", () => resolve46(null));
|
|
30040
30036
|
});
|
|
30041
30037
|
}
|
|
30042
30038
|
async function getCachedGpuEncoder() {
|
|
@@ -30157,7 +30153,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30157
30153
|
const signal = opts?.signal;
|
|
30158
30154
|
const timeout = opts?.timeout ?? DEFAULT_TIMEOUT;
|
|
30159
30155
|
const onStderr = opts?.onStderr;
|
|
30160
|
-
return new Promise((
|
|
30156
|
+
return new Promise((resolve46) => {
|
|
30161
30157
|
const ffmpeg = spawn5("ffmpeg", args);
|
|
30162
30158
|
let stderr = "";
|
|
30163
30159
|
const onAbort = () => {
|
|
@@ -30183,7 +30179,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30183
30179
|
ffmpeg.on("close", (code) => {
|
|
30184
30180
|
clearTimeout(timer);
|
|
30185
30181
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30186
|
-
|
|
30182
|
+
resolve46({
|
|
30187
30183
|
success: !signal?.aborted && code === 0,
|
|
30188
30184
|
exitCode: code,
|
|
30189
30185
|
stderr,
|
|
@@ -30193,7 +30189,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30193
30189
|
ffmpeg.on("error", (err) => {
|
|
30194
30190
|
clearTimeout(timer);
|
|
30195
30191
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30196
|
-
|
|
30192
|
+
resolve46({
|
|
30197
30193
|
success: false,
|
|
30198
30194
|
exitCode: null,
|
|
30199
30195
|
stderr: err.message,
|
|
@@ -30445,7 +30441,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30445
30441
|
const inputPath = join24(framesDir, framePattern);
|
|
30446
30442
|
const inputArgs = ["-framerate", fpsToFfmpegArg(options.fps), "-i", inputPath];
|
|
30447
30443
|
const args = buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder);
|
|
30448
|
-
return new Promise((
|
|
30444
|
+
return new Promise((resolve46) => {
|
|
30449
30445
|
const ffmpeg = spawn6("ffmpeg", args);
|
|
30450
30446
|
let stderr = "";
|
|
30451
30447
|
const onAbort = () => {
|
|
@@ -30470,7 +30466,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30470
30466
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30471
30467
|
const durationMs = Date.now() - startTime;
|
|
30472
30468
|
if (signal?.aborted) {
|
|
30473
|
-
|
|
30469
|
+
resolve46({
|
|
30474
30470
|
success: false,
|
|
30475
30471
|
outputPath,
|
|
30476
30472
|
durationMs,
|
|
@@ -30481,7 +30477,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30481
30477
|
return;
|
|
30482
30478
|
}
|
|
30483
30479
|
if (code !== 0) {
|
|
30484
|
-
|
|
30480
|
+
resolve46({
|
|
30485
30481
|
success: false,
|
|
30486
30482
|
outputPath,
|
|
30487
30483
|
durationMs,
|
|
@@ -30492,12 +30488,12 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30492
30488
|
return;
|
|
30493
30489
|
}
|
|
30494
30490
|
const fileSize = existsSync20(outputPath) ? statSync6(outputPath).size : 0;
|
|
30495
|
-
|
|
30491
|
+
resolve46({ success: true, outputPath, durationMs, framesEncoded: frameCount, fileSize });
|
|
30496
30492
|
});
|
|
30497
30493
|
ffmpeg.on("error", (err) => {
|
|
30498
30494
|
clearTimeout(timer);
|
|
30499
30495
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30500
|
-
|
|
30496
|
+
resolve46({
|
|
30501
30497
|
success: false,
|
|
30502
30498
|
outputPath,
|
|
30503
30499
|
durationMs: Date.now() - startTime,
|
|
@@ -30555,18 +30551,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
|
|
|
30555
30551
|
let gpuEncoder = null;
|
|
30556
30552
|
if (options.useGpu) gpuEncoder = await getCachedGpuEncoder();
|
|
30557
30553
|
const args = buildEncoderArgs(options, inputArgs, chunkPath, gpuEncoder);
|
|
30558
|
-
const chunkResult = await new Promise((
|
|
30554
|
+
const chunkResult = await new Promise((resolve46) => {
|
|
30559
30555
|
const ffmpeg = spawn6("ffmpeg", args);
|
|
30560
30556
|
let stderr = "";
|
|
30561
30557
|
ffmpeg.stderr.on("data", (d2) => {
|
|
30562
30558
|
stderr += d2.toString();
|
|
30563
30559
|
});
|
|
30564
30560
|
ffmpeg.on("close", (code) => {
|
|
30565
|
-
if (code === 0)
|
|
30566
|
-
else
|
|
30561
|
+
if (code === 0) resolve46({ success: true });
|
|
30562
|
+
else resolve46({ success: false, error: `Chunk ${i2} encode failed: ${stderr.slice(-400)}` });
|
|
30567
30563
|
});
|
|
30568
30564
|
ffmpeg.on("error", (err) => {
|
|
30569
|
-
|
|
30565
|
+
resolve46({ success: false, error: `Chunk ${i2} encode error: ${err.message}` });
|
|
30570
30566
|
});
|
|
30571
30567
|
});
|
|
30572
30568
|
if (!chunkResult.success) {
|
|
@@ -30596,18 +30592,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
|
|
|
30596
30592
|
"-y",
|
|
30597
30593
|
outputPath
|
|
30598
30594
|
];
|
|
30599
|
-
const concatResult = await new Promise((
|
|
30595
|
+
const concatResult = await new Promise((resolve46) => {
|
|
30600
30596
|
const ffmpeg = spawn6("ffmpeg", concatArgs);
|
|
30601
30597
|
let stderr = "";
|
|
30602
30598
|
ffmpeg.stderr.on("data", (d2) => {
|
|
30603
30599
|
stderr += d2.toString();
|
|
30604
30600
|
});
|
|
30605
30601
|
ffmpeg.on("close", (code) => {
|
|
30606
|
-
if (code === 0)
|
|
30607
|
-
else
|
|
30602
|
+
if (code === 0) resolve46({ success: true });
|
|
30603
|
+
else resolve46({ success: false, error: `Chunk concat failed: ${stderr.slice(-400)}` });
|
|
30608
30604
|
});
|
|
30609
30605
|
ffmpeg.on("error", (err) => {
|
|
30610
|
-
|
|
30606
|
+
resolve46({ success: false, error: `Chunk concat error: ${err.message}` });
|
|
30611
30607
|
});
|
|
30612
30608
|
});
|
|
30613
30609
|
if (!concatResult.success) {
|
|
@@ -30709,37 +30705,37 @@ import { dirname as dirname8 } from "path";
|
|
|
30709
30705
|
function createFrameReorderBuffer(startFrame, endFrame) {
|
|
30710
30706
|
let cursor = startFrame;
|
|
30711
30707
|
const pending = /* @__PURE__ */ new Map();
|
|
30712
|
-
const enqueueAt = (frame,
|
|
30708
|
+
const enqueueAt = (frame, resolve46) => {
|
|
30713
30709
|
const list = pending.get(frame);
|
|
30714
30710
|
if (list === void 0) {
|
|
30715
|
-
pending.set(frame, [
|
|
30711
|
+
pending.set(frame, [resolve46]);
|
|
30716
30712
|
} else {
|
|
30717
|
-
list.push(
|
|
30713
|
+
list.push(resolve46);
|
|
30718
30714
|
}
|
|
30719
30715
|
};
|
|
30720
30716
|
const flushAt = (frame) => {
|
|
30721
30717
|
const list = pending.get(frame);
|
|
30722
30718
|
if (list === void 0) return;
|
|
30723
30719
|
pending.delete(frame);
|
|
30724
|
-
for (const
|
|
30720
|
+
for (const resolve46 of list) resolve46();
|
|
30725
30721
|
};
|
|
30726
|
-
const waitForFrame = (frame) => new Promise((
|
|
30722
|
+
const waitForFrame = (frame) => new Promise((resolve46) => {
|
|
30727
30723
|
if (frame === cursor) {
|
|
30728
|
-
|
|
30724
|
+
resolve46();
|
|
30729
30725
|
return;
|
|
30730
30726
|
}
|
|
30731
|
-
enqueueAt(frame,
|
|
30727
|
+
enqueueAt(frame, resolve46);
|
|
30732
30728
|
});
|
|
30733
30729
|
const advanceTo = (frame) => {
|
|
30734
30730
|
cursor = frame;
|
|
30735
30731
|
flushAt(frame);
|
|
30736
30732
|
};
|
|
30737
|
-
const waitForAllDone = () => new Promise((
|
|
30733
|
+
const waitForAllDone = () => new Promise((resolve46) => {
|
|
30738
30734
|
if (cursor >= endFrame) {
|
|
30739
|
-
|
|
30735
|
+
resolve46();
|
|
30740
30736
|
return;
|
|
30741
30737
|
}
|
|
30742
|
-
enqueueAt(endFrame,
|
|
30738
|
+
enqueueAt(endFrame, resolve46);
|
|
30743
30739
|
});
|
|
30744
30740
|
return { waitForFrame, advanceTo, waitForAllDone };
|
|
30745
30741
|
}
|
|
@@ -30920,7 +30916,7 @@ async function spawnStreamingEncoder(outputPath, options, signal, config) {
|
|
|
30920
30916
|
let stderr = "";
|
|
30921
30917
|
let exitCode = null;
|
|
30922
30918
|
let exitPromiseResolve = null;
|
|
30923
|
-
const exitPromise = new Promise((
|
|
30919
|
+
const exitPromise = new Promise((resolve46) => exitPromiseResolve = resolve46);
|
|
30924
30920
|
ffmpeg.stderr?.on("data", (data) => {
|
|
30925
30921
|
stderr += data.toString();
|
|
30926
30922
|
});
|
|
@@ -30980,8 +30976,8 @@ Process error: ${err.message}`;
|
|
|
30980
30976
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30981
30977
|
const stdin = ffmpeg.stdin;
|
|
30982
30978
|
if (stdin && !stdin.destroyed) {
|
|
30983
|
-
await new Promise((
|
|
30984
|
-
stdin.end(() =>
|
|
30979
|
+
await new Promise((resolve46) => {
|
|
30980
|
+
stdin.end(() => resolve46());
|
|
30985
30981
|
});
|
|
30986
30982
|
}
|
|
30987
30983
|
await exitPromise;
|
|
@@ -31025,7 +31021,7 @@ import { spawn as spawn8 } from "child_process";
|
|
|
31025
31021
|
import { readFileSync as readFileSync18 } from "fs";
|
|
31026
31022
|
import { extname as extname5 } from "path";
|
|
31027
31023
|
function runFfprobe(args) {
|
|
31028
|
-
return new Promise((
|
|
31024
|
+
return new Promise((resolve46, reject) => {
|
|
31029
31025
|
const proc = spawn8("ffprobe", args);
|
|
31030
31026
|
let stdout2 = "";
|
|
31031
31027
|
let stderr = "";
|
|
@@ -31039,7 +31035,7 @@ function runFfprobe(args) {
|
|
|
31039
31035
|
if (code !== 0) {
|
|
31040
31036
|
reject(new Error(`[FFmpeg] ffprobe exited with code ${code}: ${stderr}`));
|
|
31041
31037
|
} else {
|
|
31042
|
-
|
|
31038
|
+
resolve46(stdout2);
|
|
31043
31039
|
}
|
|
31044
31040
|
});
|
|
31045
31041
|
proc.on("error", (err) => {
|
|
@@ -31911,6 +31907,8 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
31911
31907
|
const styles = [];
|
|
31912
31908
|
const scripts = [];
|
|
31913
31909
|
const externalScriptSrcs = [];
|
|
31910
|
+
const externalLinks = [];
|
|
31911
|
+
const seenLinkHrefs = /* @__PURE__ */ new Set();
|
|
31914
31912
|
const variablesByComp = {};
|
|
31915
31913
|
for (const hostEl of hosts) {
|
|
31916
31914
|
const src = hostEl.getAttribute("data-composition-src");
|
|
@@ -31963,6 +31961,17 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
31963
31961
|
externalScriptSrcs.push(externalSrc);
|
|
31964
31962
|
}
|
|
31965
31963
|
}
|
|
31964
|
+
for (const link of [
|
|
31965
|
+
...compDoc.head.querySelectorAll('link[rel="stylesheet"], link[rel="preconnect"]')
|
|
31966
|
+
]) {
|
|
31967
|
+
const href = (link.getAttribute("href") || "").trim();
|
|
31968
|
+
if (href && !seenLinkHrefs.has(href)) {
|
|
31969
|
+
seenLinkHrefs.add(href);
|
|
31970
|
+
const rel = (link.getAttribute("rel") || "").trim();
|
|
31971
|
+
const crossorigin = link.hasAttribute("crossorigin") ? link.getAttribute("crossorigin") || "" : void 0;
|
|
31972
|
+
externalLinks.push({ href, rel, crossorigin });
|
|
31973
|
+
}
|
|
31974
|
+
}
|
|
31966
31975
|
}
|
|
31967
31976
|
for (const s2 of [...contentDoc.querySelectorAll("style")]) {
|
|
31968
31977
|
const css = rewriteCssAssetUrls(s2.textContent || "", src);
|
|
@@ -32011,6 +32020,9 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
32011
32020
|
}
|
|
32012
32021
|
);
|
|
32013
32022
|
}
|
|
32023
|
+
if (innerRoot?.hasAttribute("data-timeline-locked")) {
|
|
32024
|
+
hostEl.setAttribute("data-timeline-locked", "");
|
|
32025
|
+
}
|
|
32014
32026
|
if (innerRoot) {
|
|
32015
32027
|
const innerW = innerRoot.getAttribute("data-width");
|
|
32016
32028
|
const innerH = innerRoot.getAttribute("data-height");
|
|
@@ -32039,7 +32051,7 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
32039
32051
|
hostEl.setAttribute("data-composition-file", src);
|
|
32040
32052
|
hostEl.removeAttribute("data-composition-src");
|
|
32041
32053
|
}
|
|
32042
|
-
return { styles, scripts, externalScriptSrcs, variablesByComp };
|
|
32054
|
+
return { styles, scripts, externalScriptSrcs, externalLinks, variablesByComp };
|
|
32043
32055
|
}
|
|
32044
32056
|
var init_inlineSubCompositions = __esm({
|
|
32045
32057
|
"../core/src/compiler/inlineSubCompositions.ts"() {
|
|
@@ -32562,6 +32574,7 @@ async function bundleToSingleHtml(projectDir, options) {
|
|
|
32562
32574
|
const compStyleChunks = [...subCompResult.styles];
|
|
32563
32575
|
const compScriptChunks = [...subCompResult.scripts];
|
|
32564
32576
|
const compExternalScriptSrcs = [...subCompResult.externalScriptSrcs];
|
|
32577
|
+
const compExternalLinks = [...subCompResult.externalLinks];
|
|
32565
32578
|
const compVariablesByComp = {
|
|
32566
32579
|
...subCompResult.variablesByComp
|
|
32567
32580
|
};
|
|
@@ -32661,6 +32674,16 @@ async function bundleToSingleHtml(projectDir, options) {
|
|
|
32661
32674
|
document2.body.appendChild(extScript);
|
|
32662
32675
|
}
|
|
32663
32676
|
}
|
|
32677
|
+
for (const link of compExternalLinks) {
|
|
32678
|
+
const escapedHref = link.href.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
32679
|
+
if (!document2.querySelector(`link[href="${escapedHref}"]`)) {
|
|
32680
|
+
const linkEl = document2.createElement("link");
|
|
32681
|
+
linkEl.setAttribute("rel", link.rel);
|
|
32682
|
+
linkEl.setAttribute("href", link.href);
|
|
32683
|
+
if (link.crossorigin != null) linkEl.setAttribute("crossorigin", link.crossorigin);
|
|
32684
|
+
document2.head.appendChild(linkEl);
|
|
32685
|
+
}
|
|
32686
|
+
}
|
|
32664
32687
|
if (compStyleChunks.length) {
|
|
32665
32688
|
const style = document2.createElement("style");
|
|
32666
32689
|
style.textContent = compStyleChunks.join("\n\n");
|
|
@@ -32975,7 +32998,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
|
|
|
32975
32998
|
args.push("-q:v", format === "jpg" ? String(Math.ceil((100 - quality) / 3)) : "0");
|
|
32976
32999
|
if (format === "png") args.push("-compression_level", "6");
|
|
32977
33000
|
args.push("-y", outputPattern);
|
|
32978
|
-
return new Promise((
|
|
33001
|
+
return new Promise((resolve46, reject) => {
|
|
32979
33002
|
const ffmpeg = spawn9("ffmpeg", args);
|
|
32980
33003
|
let stderr = "";
|
|
32981
33004
|
const onAbort = () => {
|
|
@@ -33010,7 +33033,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
|
|
|
33010
33033
|
files.forEach((file, index) => {
|
|
33011
33034
|
framePaths.set(index, join28(videoOutputDir, file));
|
|
33012
33035
|
});
|
|
33013
|
-
|
|
33036
|
+
resolve46({
|
|
33014
33037
|
videoId,
|
|
33015
33038
|
srcPath: videoPath,
|
|
33016
33039
|
outputDir: videoOutputDir,
|
|
@@ -34593,11 +34616,11 @@ function createFileServer(options) {
|
|
|
34593
34616
|
headers: { "Content-Type": contentType }
|
|
34594
34617
|
});
|
|
34595
34618
|
});
|
|
34596
|
-
return new Promise((
|
|
34619
|
+
return new Promise((resolve46) => {
|
|
34597
34620
|
const server = serve({ fetch: app.fetch, port }, (info) => {
|
|
34598
34621
|
const actualPort = info.port;
|
|
34599
34622
|
const url = `http://localhost:${actualPort}`;
|
|
34600
|
-
|
|
34623
|
+
resolve46({
|
|
34601
34624
|
url,
|
|
34602
34625
|
port: actualPort,
|
|
34603
34626
|
close: () => server.close()
|
|
@@ -36986,10 +37009,10 @@ function createFileServer2(options) {
|
|
|
36986
37009
|
headers: { "Content-Type": contentType }
|
|
36987
37010
|
});
|
|
36988
37011
|
});
|
|
36989
|
-
return new Promise((
|
|
37012
|
+
return new Promise((resolve46) => {
|
|
36990
37013
|
const connections = /* @__PURE__ */ new Set();
|
|
36991
37014
|
const server = serve2({ fetch: app.fetch, port }, (info) => {
|
|
36992
|
-
|
|
37015
|
+
resolve46({
|
|
36993
37016
|
url: `http://localhost:${info.port}`,
|
|
36994
37017
|
port: info.port,
|
|
36995
37018
|
addPreHeadScript: (script) => {
|
|
@@ -37290,11 +37313,11 @@ import {
|
|
|
37290
37313
|
isAbsolute as nodeIsAbsolute
|
|
37291
37314
|
} from "path";
|
|
37292
37315
|
function isPathInside2(childPath, parentPath, options = {}) {
|
|
37293
|
-
const
|
|
37316
|
+
const resolvePath4 = options.pathModule?.resolve ?? nodeResolve;
|
|
37294
37317
|
const relativePath = options.pathModule?.relative ?? nodeRelative;
|
|
37295
37318
|
const isPathAbsolute = options.pathModule?.isAbsolute ?? nodeIsAbsolute;
|
|
37296
|
-
const absChild =
|
|
37297
|
-
const absParent =
|
|
37319
|
+
const absChild = resolvePath4(childPath);
|
|
37320
|
+
const absParent = resolvePath4(parentPath);
|
|
37298
37321
|
if (absChild === absParent) return true;
|
|
37299
37322
|
const rel = relativePath(absParent, absChild);
|
|
37300
37323
|
return rel !== "" && !rel.startsWith("..") && !isPathAbsolute(rel);
|
|
@@ -38417,6 +38440,17 @@ function inlineSubCompositions2(html, subCompositions, projectDir) {
|
|
|
38417
38440
|
}
|
|
38418
38441
|
}
|
|
38419
38442
|
}
|
|
38443
|
+
if (result.externalLinks.length && head) {
|
|
38444
|
+
for (const link of result.externalLinks) {
|
|
38445
|
+
const escapedHref = link.href.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
38446
|
+
if (document2.querySelector(`link[href="${escapedHref}"]`)) continue;
|
|
38447
|
+
const el = document2.createElement("link");
|
|
38448
|
+
el.setAttribute("rel", link.rel);
|
|
38449
|
+
el.setAttribute("href", link.href);
|
|
38450
|
+
if (link.crossorigin != null) el.setAttribute("crossorigin", link.crossorigin);
|
|
38451
|
+
head.appendChild(el);
|
|
38452
|
+
}
|
|
38453
|
+
}
|
|
38420
38454
|
if (result.styles.length && head) {
|
|
38421
38455
|
const styleEl = document2.createElement("style");
|
|
38422
38456
|
styleEl.textContent = result.styles.join("\n\n");
|
|
@@ -40216,7 +40250,8 @@ async function runSequentialLayeredFrameLoop(input) {
|
|
|
40216
40250
|
frameIdx: i2
|
|
40217
40251
|
});
|
|
40218
40252
|
}
|
|
40219
|
-
const
|
|
40253
|
+
const shaderName = activeTransition.shader;
|
|
40254
|
+
const transitionFn = shaderName ? TRANSITIONS[shaderName] ?? crossfade : crossfade;
|
|
40220
40255
|
transitionFn(
|
|
40221
40256
|
transitionBuffers.bufferA,
|
|
40222
40257
|
transitionBuffers.bufferB,
|
|
@@ -40430,8 +40465,8 @@ async function createShaderTransitionWorkerPool(opts) {
|
|
|
40430
40465
|
if (terminated) {
|
|
40431
40466
|
throw new Error("shader-blend pool already terminated");
|
|
40432
40467
|
}
|
|
40433
|
-
return new Promise((
|
|
40434
|
-
const task = traceEnabled ? { req, resolve:
|
|
40468
|
+
return new Promise((resolve46, reject) => {
|
|
40469
|
+
const task = traceEnabled ? { req, resolve: resolve46, reject, enqueuedAtMs: Date.now(), traceId: ++nextTaskId } : { req, resolve: resolve46, reject };
|
|
40435
40470
|
const idle = slots.find((s2) => !s2.busy);
|
|
40436
40471
|
if (idle) {
|
|
40437
40472
|
queue.unshift(task);
|
|
@@ -40607,11 +40642,12 @@ async function runHybridLayeredFrameLoop(input) {
|
|
|
40607
40642
|
});
|
|
40608
40643
|
const progress = activeTransition.endFrame === activeTransition.startFrame ? 1 : (i2 - activeTransition.startFrame) / (activeTransition.endFrame - activeTransition.startFrame);
|
|
40609
40644
|
const frameIdx = i2;
|
|
40645
|
+
const shaderName = activeTransition.shader;
|
|
40610
40646
|
const dispatch2 = (async () => {
|
|
40611
|
-
if (poolRef) {
|
|
40647
|
+
if (poolRef && shaderName) {
|
|
40612
40648
|
const blendStart = Date.now();
|
|
40613
40649
|
const result = await poolRef.run({
|
|
40614
|
-
shader:
|
|
40650
|
+
shader: shaderName,
|
|
40615
40651
|
bufferA: buffers.bufferA,
|
|
40616
40652
|
bufferB: buffers.bufferB,
|
|
40617
40653
|
output: buffers.output,
|
|
@@ -40624,7 +40660,7 @@ async function runHybridLayeredFrameLoop(input) {
|
|
|
40624
40660
|
buffers.output = result.output;
|
|
40625
40661
|
addHdrTiming(hdrPerf, "transitionCompositeMs", blendStart);
|
|
40626
40662
|
} else {
|
|
40627
|
-
const transitionFn = TRANSITIONS[
|
|
40663
|
+
const transitionFn = shaderName ? TRANSITIONS[shaderName] ?? crossfade : crossfade;
|
|
40628
40664
|
const blendStart = Date.now();
|
|
40629
40665
|
transitionFn(
|
|
40630
40666
|
buffers.bufferA,
|
|
@@ -42540,10 +42576,10 @@ var init_semaphore = __esm({
|
|
|
42540
42576
|
this.active++;
|
|
42541
42577
|
return () => this.release();
|
|
42542
42578
|
}
|
|
42543
|
-
return new Promise((
|
|
42579
|
+
return new Promise((resolve46) => {
|
|
42544
42580
|
this.queue.push(() => {
|
|
42545
42581
|
this.active++;
|
|
42546
|
-
|
|
42582
|
+
resolve46(() => this.release());
|
|
42547
42583
|
});
|
|
42548
42584
|
});
|
|
42549
42585
|
}
|
|
@@ -43548,7 +43584,8 @@ function buildLockedRenderConfig(input) {
|
|
|
43548
43584
|
pixelFormat,
|
|
43549
43585
|
chunkSize: input.effectiveChunkSize,
|
|
43550
43586
|
chunkCount: input.chunkCount,
|
|
43551
|
-
runtimeEnv: input.runtimeEnv
|
|
43587
|
+
runtimeEnv: input.runtimeEnv,
|
|
43588
|
+
variables: config.variables
|
|
43552
43589
|
};
|
|
43553
43590
|
}
|
|
43554
43591
|
function resolveEncoderTriple(config) {
|
|
@@ -44050,6 +44087,12 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
44050
44087
|
format: plan2.dimensions.format === "mp4" ? "jpeg" : "png",
|
|
44051
44088
|
quality: plan2.dimensions.format === "mp4" ? 80 : void 0,
|
|
44052
44089
|
deviceScaleFactor: encoder.deviceScaleFactor,
|
|
44090
|
+
// Re-inject the controller's snapshotted variables so the chunk's
|
|
44091
|
+
// first capture sees the same `window.__hfVariables` the in-process
|
|
44092
|
+
// renderer would have seen. Optional — compositions that don't
|
|
44093
|
+
// declare `data-composition-variables` leave this undefined and the
|
|
44094
|
+
// engine skips the `evaluateOnNewDocument` injection.
|
|
44095
|
+
variables: encoder.variables,
|
|
44053
44096
|
// lock the BeginFrame warmup loop to a fixed iteration count so
|
|
44054
44097
|
// `beginFrameTimeTicks` is host-independent. Only chunks ever set this.
|
|
44055
44098
|
lockWarmupTicks: true
|
|
@@ -44377,7 +44420,7 @@ async function defaultRunFfmpeg(args) {
|
|
|
44377
44420
|
};
|
|
44378
44421
|
}
|
|
44379
44422
|
function runFfprobeJson(args) {
|
|
44380
|
-
return new Promise((
|
|
44423
|
+
return new Promise((resolve46, reject) => {
|
|
44381
44424
|
const proc = spawn10("ffprobe", args);
|
|
44382
44425
|
let stdout2 = "";
|
|
44383
44426
|
let stderr = "";
|
|
@@ -44400,7 +44443,7 @@ function runFfprobeJson(args) {
|
|
|
44400
44443
|
return;
|
|
44401
44444
|
}
|
|
44402
44445
|
try {
|
|
44403
|
-
|
|
44446
|
+
resolve46(JSON.parse(stdout2));
|
|
44404
44447
|
} catch (err) {
|
|
44405
44448
|
reject(new Error(`Failed to parse ffprobe output: ${err.message}`));
|
|
44406
44449
|
}
|
|
@@ -45162,8 +45205,8 @@ async function runDevMode(dir, options) {
|
|
|
45162
45205
|
}
|
|
45163
45206
|
});
|
|
45164
45207
|
}
|
|
45165
|
-
return new Promise((
|
|
45166
|
-
child.on("close", () =>
|
|
45208
|
+
return new Promise((resolve46) => {
|
|
45209
|
+
child.on("close", () => resolve46());
|
|
45167
45210
|
});
|
|
45168
45211
|
}
|
|
45169
45212
|
function hasLocalStudio(dir) {
|
|
@@ -45237,8 +45280,8 @@ async function runLocalStudioMode(dir, options) {
|
|
|
45237
45280
|
}
|
|
45238
45281
|
});
|
|
45239
45282
|
}
|
|
45240
|
-
return new Promise((
|
|
45241
|
-
child.on("close", () =>
|
|
45283
|
+
return new Promise((resolve46) => {
|
|
45284
|
+
child.on("close", () => resolve46());
|
|
45242
45285
|
});
|
|
45243
45286
|
}
|
|
45244
45287
|
async function runEmbeddedMode(dir, startPort, options) {
|
|
@@ -47323,6 +47366,149 @@ var init_publish = __esm({
|
|
|
47323
47366
|
}
|
|
47324
47367
|
});
|
|
47325
47368
|
|
|
47369
|
+
// src/utils/dom.ts
|
|
47370
|
+
function ensureDOMParser() {
|
|
47371
|
+
if (typeof globalThis.DOMParser === "undefined") {
|
|
47372
|
+
globalThis.DOMParser = DOMParser2;
|
|
47373
|
+
}
|
|
47374
|
+
}
|
|
47375
|
+
var init_dom = __esm({
|
|
47376
|
+
"src/utils/dom.ts"() {
|
|
47377
|
+
"use strict";
|
|
47378
|
+
init_esm10();
|
|
47379
|
+
}
|
|
47380
|
+
});
|
|
47381
|
+
|
|
47382
|
+
// src/utils/variables.ts
|
|
47383
|
+
import { readFileSync as readFileSync36 } from "fs";
|
|
47384
|
+
import { resolve as resolve32 } from "path";
|
|
47385
|
+
function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync36(resolve32(p2), "utf8")) {
|
|
47386
|
+
if (inline != null && filePath != null) {
|
|
47387
|
+
return { ok: false, error: { kind: "conflict" } };
|
|
47388
|
+
}
|
|
47389
|
+
let raw;
|
|
47390
|
+
let source;
|
|
47391
|
+
if (inline != null) {
|
|
47392
|
+
raw = inline;
|
|
47393
|
+
source = "inline";
|
|
47394
|
+
} else if (filePath != null) {
|
|
47395
|
+
try {
|
|
47396
|
+
raw = readFile(filePath);
|
|
47397
|
+
source = "file";
|
|
47398
|
+
} catch (error) {
|
|
47399
|
+
return {
|
|
47400
|
+
ok: false,
|
|
47401
|
+
error: {
|
|
47402
|
+
kind: "read-error",
|
|
47403
|
+
path: filePath,
|
|
47404
|
+
cause: error instanceof Error ? error.message : String(error)
|
|
47405
|
+
}
|
|
47406
|
+
};
|
|
47407
|
+
}
|
|
47408
|
+
}
|
|
47409
|
+
if (raw == null) return { ok: true, value: void 0 };
|
|
47410
|
+
let parsed;
|
|
47411
|
+
try {
|
|
47412
|
+
parsed = JSON.parse(raw);
|
|
47413
|
+
} catch (error) {
|
|
47414
|
+
return {
|
|
47415
|
+
ok: false,
|
|
47416
|
+
error: {
|
|
47417
|
+
kind: "parse-error",
|
|
47418
|
+
source: source ?? "inline",
|
|
47419
|
+
cause: error instanceof Error ? error.message : String(error)
|
|
47420
|
+
}
|
|
47421
|
+
};
|
|
47422
|
+
}
|
|
47423
|
+
if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
47424
|
+
return { ok: false, error: { kind: "shape-error" } };
|
|
47425
|
+
}
|
|
47426
|
+
return { ok: true, value: parsed };
|
|
47427
|
+
}
|
|
47428
|
+
function variablesErrorMessage(error) {
|
|
47429
|
+
switch (error.kind) {
|
|
47430
|
+
case "conflict":
|
|
47431
|
+
return {
|
|
47432
|
+
title: "Conflicting variables flags",
|
|
47433
|
+
message: "Use either --variables or --variables-file, not both."
|
|
47434
|
+
};
|
|
47435
|
+
case "read-error":
|
|
47436
|
+
return {
|
|
47437
|
+
title: "Could not read --variables-file",
|
|
47438
|
+
message: `${error.path}: ${error.cause}`
|
|
47439
|
+
};
|
|
47440
|
+
case "parse-error":
|
|
47441
|
+
return {
|
|
47442
|
+
title: error.source === "file" ? "Invalid JSON in --variables-file" : "Invalid JSON in --variables",
|
|
47443
|
+
message: error.cause
|
|
47444
|
+
};
|
|
47445
|
+
case "shape-error":
|
|
47446
|
+
return {
|
|
47447
|
+
title: "Invalid variables payload",
|
|
47448
|
+
message: 'Variables must be a JSON object (e.g. {"title":"Hello"}).'
|
|
47449
|
+
};
|
|
47450
|
+
}
|
|
47451
|
+
}
|
|
47452
|
+
function resolveVariablesArg(inline, filePath) {
|
|
47453
|
+
const result = parseVariablesArg(inline, filePath);
|
|
47454
|
+
if (!result.ok) {
|
|
47455
|
+
const { title, message } = variablesErrorMessage(result.error);
|
|
47456
|
+
errorBox(title, message);
|
|
47457
|
+
process.exit(1);
|
|
47458
|
+
}
|
|
47459
|
+
return result.value;
|
|
47460
|
+
}
|
|
47461
|
+
function validateVariablesAgainstProject(indexPath, values) {
|
|
47462
|
+
const schema = loadProjectVariableSchema(indexPath);
|
|
47463
|
+
return validateVariablesAgainstSchema(values, schema);
|
|
47464
|
+
}
|
|
47465
|
+
function loadProjectVariableSchema(indexPath) {
|
|
47466
|
+
let html;
|
|
47467
|
+
try {
|
|
47468
|
+
html = readFileSync36(indexPath, "utf8");
|
|
47469
|
+
} catch {
|
|
47470
|
+
return [];
|
|
47471
|
+
}
|
|
47472
|
+
ensureDOMParser();
|
|
47473
|
+
return extractCompositionMetadata(html).variables;
|
|
47474
|
+
}
|
|
47475
|
+
function validateVariablesAgainstSchema(values, schema) {
|
|
47476
|
+
if (schema.length === 0) return [];
|
|
47477
|
+
return validateVariables(values, schema);
|
|
47478
|
+
}
|
|
47479
|
+
function reportVariableIssues(issues, options) {
|
|
47480
|
+
if (issues.length === 0) return;
|
|
47481
|
+
const { strict, quiet } = options;
|
|
47482
|
+
if (!quiet) {
|
|
47483
|
+
console.log("");
|
|
47484
|
+
console.log(
|
|
47485
|
+
c2.warn(
|
|
47486
|
+
`Variable ${issues.length === 1 ? "issue" : "issues"} (${issues.length}) \u2014 values may not render as expected:`
|
|
47487
|
+
)
|
|
47488
|
+
);
|
|
47489
|
+
for (const issue of issues) {
|
|
47490
|
+
console.log(" " + c2.dim(formatVariableValidationIssue(issue)));
|
|
47491
|
+
}
|
|
47492
|
+
console.log("");
|
|
47493
|
+
}
|
|
47494
|
+
if (strict) {
|
|
47495
|
+
errorBox(
|
|
47496
|
+
"Variable validation failed",
|
|
47497
|
+
"Aborting render due to variable issues (--strict-variables mode)."
|
|
47498
|
+
);
|
|
47499
|
+
process.exit(1);
|
|
47500
|
+
}
|
|
47501
|
+
}
|
|
47502
|
+
var init_variables = __esm({
|
|
47503
|
+
"src/utils/variables.ts"() {
|
|
47504
|
+
"use strict";
|
|
47505
|
+
init_src();
|
|
47506
|
+
init_dom();
|
|
47507
|
+
init_colors();
|
|
47508
|
+
init_format();
|
|
47509
|
+
}
|
|
47510
|
+
});
|
|
47511
|
+
|
|
47326
47512
|
// src/utils/producer.ts
|
|
47327
47513
|
async function loadProducer() {
|
|
47328
47514
|
return await Promise.resolve().then(() => (init_src3(), src_exports3));
|
|
@@ -47401,19 +47587,6 @@ var init_dockerRunArgs = __esm({
|
|
|
47401
47587
|
}
|
|
47402
47588
|
});
|
|
47403
47589
|
|
|
47404
|
-
// src/utils/dom.ts
|
|
47405
|
-
function ensureDOMParser() {
|
|
47406
|
-
if (typeof globalThis.DOMParser === "undefined") {
|
|
47407
|
-
globalThis.DOMParser = DOMParser2;
|
|
47408
|
-
}
|
|
47409
|
-
}
|
|
47410
|
-
var init_dom = __esm({
|
|
47411
|
-
"src/utils/dom.ts"() {
|
|
47412
|
-
"use strict";
|
|
47413
|
-
init_esm10();
|
|
47414
|
-
}
|
|
47415
|
-
});
|
|
47416
|
-
|
|
47417
47590
|
// src/browser/ffmpeg.ts
|
|
47418
47591
|
var ffmpeg_exports = {};
|
|
47419
47592
|
__export(ffmpeg_exports, {
|
|
@@ -47456,15 +47629,12 @@ var render_exports = {};
|
|
|
47456
47629
|
__export(render_exports, {
|
|
47457
47630
|
default: () => render_default,
|
|
47458
47631
|
examples: () => examples7,
|
|
47459
|
-
parseVariablesArg: () => parseVariablesArg,
|
|
47460
47632
|
renderLocal: () => renderLocal,
|
|
47461
|
-
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
47462
|
-
resolveVariablesArg: () => resolveVariablesArg,
|
|
47463
|
-
validateVariablesAgainstProject: () => validateVariablesAgainstProject
|
|
47633
|
+
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
47464
47634
|
});
|
|
47465
|
-
import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as
|
|
47635
|
+
import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync37, statSync as statSync20, writeFileSync as writeFileSync26, rmSync as rmSync14 } from "fs";
|
|
47466
47636
|
import { cpus as cpus4, freemem as freemem3, tmpdir as tmpdir5 } from "os";
|
|
47467
|
-
import { resolve as
|
|
47637
|
+
import { resolve as resolve33, dirname as dirname22, join as join62, basename as basename11 } from "path";
|
|
47468
47638
|
import { execFileSync as execFileSync6, spawn as spawn13 } from "child_process";
|
|
47469
47639
|
function formatFpsParseError(input, reason) {
|
|
47470
47640
|
switch (reason) {
|
|
@@ -47482,94 +47652,6 @@ function formatFpsParseError(input, reason) {
|
|
|
47482
47652
|
return `Got "${input}". Decimal frame rates are ambiguous \u2014 use the exact rational form instead (e.g. 30000/1001 for 29.97).`;
|
|
47483
47653
|
}
|
|
47484
47654
|
}
|
|
47485
|
-
function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync36(resolve32(p2), "utf8")) {
|
|
47486
|
-
if (inline != null && filePath != null) {
|
|
47487
|
-
return { ok: false, error: { kind: "conflict" } };
|
|
47488
|
-
}
|
|
47489
|
-
let raw;
|
|
47490
|
-
let source;
|
|
47491
|
-
if (inline != null) {
|
|
47492
|
-
raw = inline;
|
|
47493
|
-
source = "inline";
|
|
47494
|
-
} else if (filePath != null) {
|
|
47495
|
-
try {
|
|
47496
|
-
raw = readFile(filePath);
|
|
47497
|
-
source = "file";
|
|
47498
|
-
} catch (error) {
|
|
47499
|
-
return {
|
|
47500
|
-
ok: false,
|
|
47501
|
-
error: {
|
|
47502
|
-
kind: "read-error",
|
|
47503
|
-
path: filePath,
|
|
47504
|
-
cause: error instanceof Error ? error.message : String(error)
|
|
47505
|
-
}
|
|
47506
|
-
};
|
|
47507
|
-
}
|
|
47508
|
-
}
|
|
47509
|
-
if (raw == null) return { ok: true, value: void 0 };
|
|
47510
|
-
let parsed;
|
|
47511
|
-
try {
|
|
47512
|
-
parsed = JSON.parse(raw);
|
|
47513
|
-
} catch (error) {
|
|
47514
|
-
return {
|
|
47515
|
-
ok: false,
|
|
47516
|
-
error: {
|
|
47517
|
-
kind: "parse-error",
|
|
47518
|
-
source: source ?? "inline",
|
|
47519
|
-
cause: error instanceof Error ? error.message : String(error)
|
|
47520
|
-
}
|
|
47521
|
-
};
|
|
47522
|
-
}
|
|
47523
|
-
if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
47524
|
-
return { ok: false, error: { kind: "shape-error" } };
|
|
47525
|
-
}
|
|
47526
|
-
return { ok: true, value: parsed };
|
|
47527
|
-
}
|
|
47528
|
-
function variablesErrorMessage(error) {
|
|
47529
|
-
switch (error.kind) {
|
|
47530
|
-
case "conflict":
|
|
47531
|
-
return {
|
|
47532
|
-
title: "Conflicting variables flags",
|
|
47533
|
-
message: "Use either --variables or --variables-file, not both."
|
|
47534
|
-
};
|
|
47535
|
-
case "read-error":
|
|
47536
|
-
return {
|
|
47537
|
-
title: "Could not read --variables-file",
|
|
47538
|
-
message: `${error.path}: ${error.cause}`
|
|
47539
|
-
};
|
|
47540
|
-
case "parse-error":
|
|
47541
|
-
return {
|
|
47542
|
-
title: error.source === "file" ? "Invalid JSON in --variables-file" : "Invalid JSON in --variables",
|
|
47543
|
-
message: error.cause
|
|
47544
|
-
};
|
|
47545
|
-
case "shape-error":
|
|
47546
|
-
return {
|
|
47547
|
-
title: "Invalid variables payload",
|
|
47548
|
-
message: 'Variables must be a JSON object (e.g. {"title":"Hello"}).'
|
|
47549
|
-
};
|
|
47550
|
-
}
|
|
47551
|
-
}
|
|
47552
|
-
function resolveVariablesArg(inline, filePath) {
|
|
47553
|
-
const result = parseVariablesArg(inline, filePath);
|
|
47554
|
-
if (!result.ok) {
|
|
47555
|
-
const { title, message } = variablesErrorMessage(result.error);
|
|
47556
|
-
errorBox(title, message);
|
|
47557
|
-
process.exit(1);
|
|
47558
|
-
}
|
|
47559
|
-
return result.value;
|
|
47560
|
-
}
|
|
47561
|
-
function validateVariablesAgainstProject(indexPath, values) {
|
|
47562
|
-
let html;
|
|
47563
|
-
try {
|
|
47564
|
-
html = readFileSync36(indexPath, "utf8");
|
|
47565
|
-
} catch {
|
|
47566
|
-
return [];
|
|
47567
|
-
}
|
|
47568
|
-
ensureDOMParser();
|
|
47569
|
-
const meta = extractCompositionMetadata(html);
|
|
47570
|
-
if (meta.variables.length === 0) return [];
|
|
47571
|
-
return validateVariables(values, meta.variables);
|
|
47572
|
-
}
|
|
47573
47655
|
function resolveBrowserGpuForCli(useDocker, browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
|
|
47574
47656
|
if (useDocker) return "software";
|
|
47575
47657
|
if (browserGpuArg === true) return "hardware";
|
|
@@ -47581,8 +47663,8 @@ function dockerImageTag(version) {
|
|
|
47581
47663
|
return `${DOCKER_IMAGE_PREFIX}:${version}`;
|
|
47582
47664
|
}
|
|
47583
47665
|
function resolveDockerfilePath() {
|
|
47584
|
-
const builtPath =
|
|
47585
|
-
const devPath =
|
|
47666
|
+
const builtPath = resolve33(__dirname, "docker", "Dockerfile.render");
|
|
47667
|
+
const devPath = resolve33(__dirname, "..", "src", "docker", "Dockerfile.render");
|
|
47586
47668
|
for (const p2 of [builtPath, devPath]) {
|
|
47587
47669
|
try {
|
|
47588
47670
|
statSync20(p2);
|
|
@@ -47611,7 +47693,7 @@ function ensureDockerImage(version, quiet) {
|
|
|
47611
47693
|
const dockerfilePath = resolveDockerfilePath();
|
|
47612
47694
|
const tmpDir = join62(tmpdir5(), `hyperframes-docker-${Date.now()}`);
|
|
47613
47695
|
mkdirSync32(tmpDir, { recursive: true });
|
|
47614
|
-
writeFileSync26(join62(tmpDir, "Dockerfile"),
|
|
47696
|
+
writeFileSync26(join62(tmpDir, "Dockerfile"), readFileSync37(dockerfilePath));
|
|
47615
47697
|
try {
|
|
47616
47698
|
execFileSync6(
|
|
47617
47699
|
"docker",
|
|
@@ -47659,8 +47741,8 @@ async function renderDocker(projectDir, outputPath, options) {
|
|
|
47659
47741
|
const outputFilename = basename11(outputPath);
|
|
47660
47742
|
const dockerArgs = buildDockerRunArgs({
|
|
47661
47743
|
imageTag,
|
|
47662
|
-
projectDir:
|
|
47663
|
-
outputDir:
|
|
47744
|
+
projectDir: resolve33(projectDir),
|
|
47745
|
+
outputDir: resolve33(outputDir),
|
|
47664
47746
|
outputFilename,
|
|
47665
47747
|
options: {
|
|
47666
47748
|
fps: options.fps,
|
|
@@ -47844,6 +47926,7 @@ var init_render2 = __esm({
|
|
|
47844
47926
|
"src/commands/render.ts"() {
|
|
47845
47927
|
"use strict";
|
|
47846
47928
|
init_dist();
|
|
47929
|
+
init_variables();
|
|
47847
47930
|
init_project();
|
|
47848
47931
|
init_lintProject();
|
|
47849
47932
|
init_lintFormat();
|
|
@@ -47856,7 +47939,6 @@ var init_render2 = __esm({
|
|
|
47856
47939
|
init_version();
|
|
47857
47940
|
init_env();
|
|
47858
47941
|
init_dockerRunArgs();
|
|
47859
|
-
init_dom();
|
|
47860
47942
|
init_src();
|
|
47861
47943
|
examples7 = [
|
|
47862
47944
|
["Render to MP4", "hyperframes render --output output.mp4"],
|
|
@@ -48069,12 +48151,12 @@ var init_render2 = __esm({
|
|
|
48069
48151
|
}
|
|
48070
48152
|
process.env.PRODUCER_MAX_CONCURRENT_RENDERS = String(parsed);
|
|
48071
48153
|
}
|
|
48072
|
-
const rendersDir =
|
|
48154
|
+
const rendersDir = resolve33("renders");
|
|
48073
48155
|
const ext = FORMAT_EXT[format] ?? ".mp4";
|
|
48074
48156
|
const now = /* @__PURE__ */ new Date();
|
|
48075
48157
|
const datePart = now.toISOString().slice(0, 10);
|
|
48076
48158
|
const timePart = now.toTimeString().slice(0, 8).replace(/:/g, "-");
|
|
48077
|
-
const outputPath = args.output ?
|
|
48159
|
+
const outputPath = args.output ? resolve33(args.output) : join62(rendersDir, `${project.name}_${datePart}_${timePart}${ext}`);
|
|
48078
48160
|
mkdirSync32(dirname22(outputPath), { recursive: true });
|
|
48079
48161
|
const useDocker = args.docker ?? false;
|
|
48080
48162
|
const useGpu = args.gpu ?? false;
|
|
@@ -48115,8 +48197,8 @@ var init_render2 = __esm({
|
|
|
48115
48197
|
}
|
|
48116
48198
|
const entryFile = args.composition?.trim().replace(/^\.\//, "") || void 0;
|
|
48117
48199
|
if (entryFile) {
|
|
48118
|
-
const absProjectDir =
|
|
48119
|
-
const entryPath =
|
|
48200
|
+
const absProjectDir = resolve33(project.dir);
|
|
48201
|
+
const entryPath = resolve33(absProjectDir, entryFile);
|
|
48120
48202
|
if (!entryPath.startsWith(absProjectDir)) {
|
|
48121
48203
|
errorBox(
|
|
48122
48204
|
"Invalid composition path",
|
|
@@ -48225,27 +48307,7 @@ var init_render2 = __esm({
|
|
|
48225
48307
|
const strictVariables = args["strict-variables"] ?? false;
|
|
48226
48308
|
if (variables && Object.keys(variables).length > 0) {
|
|
48227
48309
|
const issues = validateVariablesAgainstProject(project.indexPath, variables);
|
|
48228
|
-
|
|
48229
|
-
if (!quiet) {
|
|
48230
|
-
console.log("");
|
|
48231
|
-
console.log(
|
|
48232
|
-
c2.warn(
|
|
48233
|
-
`Variable ${issues.length === 1 ? "issue" : "issues"} (${issues.length}) \u2014 values may not render as expected:`
|
|
48234
|
-
)
|
|
48235
|
-
);
|
|
48236
|
-
for (const issue of issues) {
|
|
48237
|
-
console.log(" " + c2.dim(formatVariableValidationIssue(issue)));
|
|
48238
|
-
}
|
|
48239
|
-
console.log("");
|
|
48240
|
-
}
|
|
48241
|
-
if (strictVariables) {
|
|
48242
|
-
console.log(
|
|
48243
|
-
c2.error(" Aborting render due to variable issues (--strict-variables mode).")
|
|
48244
|
-
);
|
|
48245
|
-
console.log("");
|
|
48246
|
-
process.exit(1);
|
|
48247
|
-
}
|
|
48248
|
-
}
|
|
48310
|
+
reportVariableIssues(issues, { strict: strictVariables, quiet });
|
|
48249
48311
|
}
|
|
48250
48312
|
if (useDocker) {
|
|
48251
48313
|
await renderDocker(project.dir, outputPath, {
|
|
@@ -48490,8 +48552,8 @@ var init_lint3 = __esm({
|
|
|
48490
48552
|
|
|
48491
48553
|
// src/utils/staticProjectServer.ts
|
|
48492
48554
|
import { createServer } from "http";
|
|
48493
|
-
import { existsSync as existsSync54, readFileSync as
|
|
48494
|
-
import { isAbsolute as isAbsolute8, relative as relative9, resolve as
|
|
48555
|
+
import { existsSync as existsSync54, readFileSync as readFileSync38 } from "fs";
|
|
48556
|
+
import { isAbsolute as isAbsolute8, relative as relative9, resolve as resolve34 } from "path";
|
|
48495
48557
|
async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Failed to bind local HTTP server") {
|
|
48496
48558
|
const server = createServer((req, res) => {
|
|
48497
48559
|
const url = req.url ?? "/";
|
|
@@ -48500,7 +48562,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
48500
48562
|
res.end(html);
|
|
48501
48563
|
return;
|
|
48502
48564
|
}
|
|
48503
|
-
const filePath =
|
|
48565
|
+
const filePath = resolve34(projectDir, decodeURIComponent(url).replace(/^\//, ""));
|
|
48504
48566
|
const rel = relative9(projectDir, filePath);
|
|
48505
48567
|
if (rel.startsWith("..") || isAbsolute8(rel)) {
|
|
48506
48568
|
res.writeHead(403);
|
|
@@ -48509,7 +48571,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
48509
48571
|
}
|
|
48510
48572
|
if (existsSync54(filePath)) {
|
|
48511
48573
|
res.writeHead(200, { "Content-Type": getMimeType(filePath) });
|
|
48512
|
-
res.end(
|
|
48574
|
+
res.end(readFileSync38(filePath));
|
|
48513
48575
|
return;
|
|
48514
48576
|
}
|
|
48515
48577
|
res.writeHead(404);
|
|
@@ -48685,7 +48747,7 @@ __export(layout_exports, {
|
|
|
48685
48747
|
default: () => layout_default,
|
|
48686
48748
|
examples: () => examples9
|
|
48687
48749
|
});
|
|
48688
|
-
import { existsSync as existsSync55, readFileSync as
|
|
48750
|
+
import { existsSync as existsSync55, readFileSync as readFileSync39 } from "fs";
|
|
48689
48751
|
import { dirname as dirname23, join as join63 } from "path";
|
|
48690
48752
|
import { fileURLToPath as fileURLToPath8 } from "url";
|
|
48691
48753
|
async function getCompositionDuration2(page) {
|
|
@@ -48738,7 +48800,7 @@ async function seekTo(page, time) {
|
|
|
48738
48800
|
if (!fonts?.ready) return Promise.resolve();
|
|
48739
48801
|
return Promise.race([
|
|
48740
48802
|
fonts.ready.then(() => void 0),
|
|
48741
|
-
new Promise((
|
|
48803
|
+
new Promise((resolve46) => setTimeout(resolve46, 500))
|
|
48742
48804
|
]);
|
|
48743
48805
|
}).catch(() => {
|
|
48744
48806
|
});
|
|
@@ -48798,7 +48860,7 @@ async function runLayoutAudit(projectDir, opts) {
|
|
|
48798
48860
|
if (!fonts?.ready) return Promise.resolve();
|
|
48799
48861
|
return Promise.race([
|
|
48800
48862
|
fonts.ready.then(() => void 0),
|
|
48801
|
-
new Promise((
|
|
48863
|
+
new Promise((resolve46) => setTimeout(resolve46, 750))
|
|
48802
48864
|
]);
|
|
48803
48865
|
}).catch(() => {
|
|
48804
48866
|
});
|
|
@@ -48836,7 +48898,7 @@ function loadLayoutAuditScript() {
|
|
|
48836
48898
|
join63(__dirname2, "commands", "layout-audit.browser.js")
|
|
48837
48899
|
];
|
|
48838
48900
|
for (const candidate of candidates) {
|
|
48839
|
-
if (existsSync55(candidate)) return
|
|
48901
|
+
if (existsSync55(candidate)) return readFileSync39(candidate, "utf-8");
|
|
48840
48902
|
}
|
|
48841
48903
|
throw new Error("Missing layout audit browser script");
|
|
48842
48904
|
}
|
|
@@ -49044,7 +49106,7 @@ __export(info_exports, {
|
|
|
49044
49106
|
default: () => info_default,
|
|
49045
49107
|
examples: () => examples11
|
|
49046
49108
|
});
|
|
49047
|
-
import { readFileSync as
|
|
49109
|
+
import { readFileSync as readFileSync40, readdirSync as readdirSync24, statSync as statSync21 } from "fs";
|
|
49048
49110
|
import { join as join64 } from "path";
|
|
49049
49111
|
function totalSize(dir) {
|
|
49050
49112
|
let total = 0;
|
|
@@ -49081,7 +49143,7 @@ var init_info = __esm({
|
|
|
49081
49143
|
},
|
|
49082
49144
|
async run({ args }) {
|
|
49083
49145
|
const project = resolveProject(args.dir);
|
|
49084
|
-
const html =
|
|
49146
|
+
const html = readFileSync40(project.indexPath, "utf-8");
|
|
49085
49147
|
ensureDOMParser();
|
|
49086
49148
|
const parsed = parseHtml(html);
|
|
49087
49149
|
const tracks = new Set(parsed.elements.map((el) => el.zIndex));
|
|
@@ -49139,8 +49201,8 @@ __export(compositions_exports, {
|
|
|
49139
49201
|
examples: () => examples12,
|
|
49140
49202
|
parseSubComposition: () => parseSubComposition
|
|
49141
49203
|
});
|
|
49142
|
-
import { existsSync as existsSync56, readFileSync as
|
|
49143
|
-
import { resolve as
|
|
49204
|
+
import { existsSync as existsSync56, readFileSync as readFileSync41 } from "fs";
|
|
49205
|
+
import { resolve as resolve35, dirname as dirname24 } from "path";
|
|
49144
49206
|
function countRenderableDescendants(root) {
|
|
49145
49207
|
return Array.from(root.querySelectorAll("*")).filter(
|
|
49146
49208
|
(el) => !NON_RENDERED_TAGS.has(el.tagName.toLowerCase())
|
|
@@ -49172,9 +49234,9 @@ function parseCompositions(html, baseDir) {
|
|
|
49172
49234
|
const height = parseInt(div.getAttribute("data-height") ?? "1080", 10);
|
|
49173
49235
|
const compositionSrc = div.getAttribute("data-composition-src");
|
|
49174
49236
|
if (compositionSrc) {
|
|
49175
|
-
const subPath =
|
|
49237
|
+
const subPath = resolve35(baseDir, compositionSrc);
|
|
49176
49238
|
if (existsSync56(subPath)) {
|
|
49177
|
-
const subHtml =
|
|
49239
|
+
const subHtml = readFileSync41(subPath, "utf-8");
|
|
49178
49240
|
const subInfo = parseSubComposition(subHtml, id, width, height);
|
|
49179
49241
|
compositions.push({ ...subInfo, source: compositionSrc });
|
|
49180
49242
|
return;
|
|
@@ -49277,7 +49339,7 @@ var init_compositions = __esm({
|
|
|
49277
49339
|
},
|
|
49278
49340
|
async run({ args }) {
|
|
49279
49341
|
const project = resolveProject(args.dir);
|
|
49280
|
-
const html =
|
|
49342
|
+
const html = readFileSync41(project.indexPath, "utf-8");
|
|
49281
49343
|
ensureDOMParser();
|
|
49282
49344
|
const compositions = parseCompositions(html, dirname24(project.indexPath));
|
|
49283
49345
|
if (compositions.length === 0) {
|
|
@@ -49316,7 +49378,7 @@ __export(benchmark_exports, {
|
|
|
49316
49378
|
examples: () => examples13
|
|
49317
49379
|
});
|
|
49318
49380
|
import { existsSync as existsSync57, statSync as statSync22 } from "fs";
|
|
49319
|
-
import { resolve as
|
|
49381
|
+
import { resolve as resolve36, join as join65 } from "path";
|
|
49320
49382
|
var examples13, FPS_30, FPS_60, DEFAULT_CONFIGS, benchmark_default;
|
|
49321
49383
|
var init_benchmark = __esm({
|
|
49322
49384
|
"src/commands/benchmark.ts"() {
|
|
@@ -49361,7 +49423,7 @@ var init_benchmark = __esm({
|
|
|
49361
49423
|
process.exit(1);
|
|
49362
49424
|
}
|
|
49363
49425
|
const jsonOutput = args.json ?? false;
|
|
49364
|
-
const benchDir =
|
|
49426
|
+
const benchDir = resolve36("renders", ".benchmark");
|
|
49365
49427
|
let producer = null;
|
|
49366
49428
|
try {
|
|
49367
49429
|
producer = await loadProducer();
|
|
@@ -50116,12 +50178,12 @@ async function runPipeline(options, session, media, format, bgFormat) {
|
|
|
50116
50178
|
const drains = [];
|
|
50117
50179
|
if (!fgWroteFully) {
|
|
50118
50180
|
drains.push(
|
|
50119
|
-
new Promise((
|
|
50181
|
+
new Promise((resolve46) => fg.proc.stdin.once("drain", () => resolve46()))
|
|
50120
50182
|
);
|
|
50121
50183
|
}
|
|
50122
50184
|
if (!bgWroteFully && bg) {
|
|
50123
50185
|
drains.push(
|
|
50124
|
-
new Promise((
|
|
50186
|
+
new Promise((resolve46) => bg.proc.stdin.once("drain", () => resolve46()))
|
|
50125
50187
|
);
|
|
50126
50188
|
}
|
|
50127
50189
|
await Promise.all(drains);
|
|
@@ -50154,11 +50216,11 @@ ${decoder.getStderr().slice(-400)}`
|
|
|
50154
50216
|
return processed;
|
|
50155
50217
|
}
|
|
50156
50218
|
function waitForExit(proc, label2, getStderr) {
|
|
50157
|
-
return new Promise((
|
|
50219
|
+
return new Promise((resolve46, reject) => {
|
|
50158
50220
|
proc.on("error", reject);
|
|
50159
50221
|
proc.on("exit", (code, signal) => {
|
|
50160
50222
|
if (code === 0 && !signal) {
|
|
50161
|
-
|
|
50223
|
+
resolve46();
|
|
50162
50224
|
return;
|
|
50163
50225
|
}
|
|
50164
50226
|
const cause = signal ? `killed by ${signal}` : `exited with code ${code}`;
|
|
@@ -50192,7 +50254,7 @@ __export(remove_background_exports, {
|
|
|
50192
50254
|
default: () => remove_background_default,
|
|
50193
50255
|
examples: () => examples15
|
|
50194
50256
|
});
|
|
50195
|
-
import { resolve as
|
|
50257
|
+
import { resolve as resolve37 } from "path";
|
|
50196
50258
|
import { existsSync as existsSync59 } from "fs";
|
|
50197
50259
|
async function showInfo(json) {
|
|
50198
50260
|
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));
|
|
@@ -50334,10 +50396,10 @@ var init_remove_background = __esm({
|
|
|
50334
50396
|
);
|
|
50335
50397
|
process.exit(1);
|
|
50336
50398
|
}
|
|
50337
|
-
const inputPath =
|
|
50338
|
-
const outputPath =
|
|
50399
|
+
const inputPath = resolve37(args.input);
|
|
50400
|
+
const outputPath = resolve37(args.output);
|
|
50339
50401
|
const backgroundOutputArg = args["background-output"];
|
|
50340
|
-
const backgroundOutputPath = backgroundOutputArg ?
|
|
50402
|
+
const backgroundOutputPath = backgroundOutputArg ? resolve37(backgroundOutputArg) : void 0;
|
|
50341
50403
|
const { render: render3 } = await Promise.resolve().then(() => (init_pipeline(), pipeline_exports));
|
|
50342
50404
|
const spin = args.json ? null : ft();
|
|
50343
50405
|
spin?.start("Preparing background-removal pipeline...");
|
|
@@ -50406,7 +50468,7 @@ __export(transcribe_exports2, {
|
|
|
50406
50468
|
examples: () => examples16
|
|
50407
50469
|
});
|
|
50408
50470
|
import { existsSync as existsSync60, writeFileSync as writeFileSync27 } from "fs";
|
|
50409
|
-
import { resolve as
|
|
50471
|
+
import { resolve as resolve38, join as join67, extname as extname11 } from "path";
|
|
50410
50472
|
async function importTranscript(inputPath, dir, json) {
|
|
50411
50473
|
const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
|
|
50412
50474
|
const { words, format } = loadTranscript2(inputPath);
|
|
@@ -50530,12 +50592,12 @@ var init_transcribe2 = __esm({
|
|
|
50530
50592
|
}
|
|
50531
50593
|
},
|
|
50532
50594
|
async run({ args }) {
|
|
50533
|
-
const inputPath =
|
|
50595
|
+
const inputPath = resolve38(args.input);
|
|
50534
50596
|
if (!existsSync60(inputPath)) {
|
|
50535
50597
|
console.error(c2.error(`File not found: ${args.input}`));
|
|
50536
50598
|
process.exit(1);
|
|
50537
50599
|
}
|
|
50538
|
-
const dir =
|
|
50600
|
+
const dir = resolve38(args.dir ?? ".");
|
|
50539
50601
|
const ext = extname11(inputPath).toLowerCase();
|
|
50540
50602
|
const isImport = ext === ".json" || ext === ".srt" || ext === ".vtt";
|
|
50541
50603
|
if (isImport) {
|
|
@@ -50824,8 +50886,8 @@ __export(tts_exports, {
|
|
|
50824
50886
|
default: () => tts_default,
|
|
50825
50887
|
examples: () => examples17
|
|
50826
50888
|
});
|
|
50827
|
-
import { existsSync as existsSync63, readFileSync as
|
|
50828
|
-
import { resolve as
|
|
50889
|
+
import { existsSync as existsSync63, readFileSync as readFileSync42 } from "fs";
|
|
50890
|
+
import { resolve as resolve39, extname as extname12 } from "path";
|
|
50829
50891
|
function listVoices(json) {
|
|
50830
50892
|
const rows = BUNDLED_VOICES.map((v2) => ({ ...v2, defaultLang: inferLangFromVoiceId(v2.id) }));
|
|
50831
50893
|
if (json) {
|
|
@@ -50933,9 +50995,9 @@ var init_tts = __esm({
|
|
|
50933
50995
|
process.exit(1);
|
|
50934
50996
|
}
|
|
50935
50997
|
let text;
|
|
50936
|
-
const maybeFile =
|
|
50998
|
+
const maybeFile = resolve39(args.input);
|
|
50937
50999
|
if (existsSync63(maybeFile) && extname12(maybeFile).toLowerCase() === ".txt") {
|
|
50938
|
-
text =
|
|
51000
|
+
text = readFileSync42(maybeFile, "utf-8").trim();
|
|
50939
51001
|
if (!text) {
|
|
50940
51002
|
console.error(c2.error("File is empty."));
|
|
50941
51003
|
process.exit(1);
|
|
@@ -50947,7 +51009,7 @@ var init_tts = __esm({
|
|
|
50947
51009
|
console.error(c2.error("No text provided."));
|
|
50948
51010
|
process.exit(1);
|
|
50949
51011
|
}
|
|
50950
|
-
const output =
|
|
51012
|
+
const output = resolve39(args.output ?? "speech.wav");
|
|
50951
51013
|
const voice = args.voice ?? DEFAULT_VOICE;
|
|
50952
51014
|
const speed = args.speed ? parseFloat(args.speed) : 1;
|
|
50953
51015
|
if (isNaN(speed) || speed <= 0 || speed > 3) {
|
|
@@ -51027,14 +51089,14 @@ __export(docs_exports, {
|
|
|
51027
51089
|
default: () => docs_default,
|
|
51028
51090
|
examples: () => examples18
|
|
51029
51091
|
});
|
|
51030
|
-
import { readFileSync as
|
|
51031
|
-
import { resolve as
|
|
51092
|
+
import { readFileSync as readFileSync43, existsSync as existsSync64 } from "fs";
|
|
51093
|
+
import { resolve as resolve40, dirname as dirname26, join as join70 } from "path";
|
|
51032
51094
|
import { fileURLToPath as fileURLToPath9 } from "url";
|
|
51033
51095
|
function docsDir() {
|
|
51034
51096
|
const thisFile = fileURLToPath9(import.meta.url);
|
|
51035
51097
|
const dir = dirname26(thisFile);
|
|
51036
|
-
const devPath =
|
|
51037
|
-
const builtPath =
|
|
51098
|
+
const devPath = resolve40(dir, "..", "docs");
|
|
51099
|
+
const builtPath = resolve40(dir, "docs");
|
|
51038
51100
|
return existsSync64(devPath) ? devPath : builtPath;
|
|
51039
51101
|
}
|
|
51040
51102
|
function formatInlineCode(line) {
|
|
@@ -51137,7 +51199,7 @@ var init_docs = __esm({
|
|
|
51137
51199
|
console.error(c2.error(`Doc file not found: ${filePath}`));
|
|
51138
51200
|
process.exit(1);
|
|
51139
51201
|
}
|
|
51140
|
-
const content =
|
|
51202
|
+
const content = readFileSync43(filePath, "utf-8");
|
|
51141
51203
|
console.log();
|
|
51142
51204
|
renderMarkdown(content);
|
|
51143
51205
|
}
|
|
@@ -51628,7 +51690,7 @@ __export(validate_exports, {
|
|
|
51628
51690
|
default: () => validate_default,
|
|
51629
51691
|
shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
|
|
51630
51692
|
});
|
|
51631
|
-
import { existsSync as existsSync65, readFileSync as
|
|
51693
|
+
import { existsSync as existsSync65, readFileSync as readFileSync44 } from "fs";
|
|
51632
51694
|
import { join as join71, dirname as dirname27 } from "path";
|
|
51633
51695
|
import { fileURLToPath as fileURLToPath10 } from "url";
|
|
51634
51696
|
function shouldIgnoreRequestFailure(url, errorText) {
|
|
@@ -51685,7 +51747,7 @@ function loadContrastAuditScript() {
|
|
|
51685
51747
|
join71(__dirname3, "commands", "contrast-audit.browser.js")
|
|
51686
51748
|
];
|
|
51687
51749
|
for (const candidate of candidates) {
|
|
51688
|
-
if (existsSync65(candidate)) return
|
|
51750
|
+
if (existsSync65(candidate)) return readFileSync44(candidate, "utf-8");
|
|
51689
51751
|
}
|
|
51690
51752
|
throw new Error("Missing contrast audit browser script");
|
|
51691
51753
|
}
|
|
@@ -51705,7 +51767,7 @@ async function validateInBrowser(projectDir, opts) {
|
|
|
51705
51767
|
const filePath = join71(projectDir, decodeURIComponent(url));
|
|
51706
51768
|
if (existsSync65(filePath)) {
|
|
51707
51769
|
res.writeHead(200, { "Content-Type": getMimeType2(filePath) });
|
|
51708
|
-
res.end(
|
|
51770
|
+
res.end(readFileSync44(filePath));
|
|
51709
51771
|
return;
|
|
51710
51772
|
}
|
|
51711
51773
|
res.writeHead(404);
|
|
@@ -51904,9 +51966,9 @@ __export(snapshot_exports, {
|
|
|
51904
51966
|
examples: () => examples22
|
|
51905
51967
|
});
|
|
51906
51968
|
import { spawn as spawn15 } from "child_process";
|
|
51907
|
-
import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as
|
|
51969
|
+
import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as readFileSync45, mkdirSync as mkdirSync36, rmSync as rmSync15 } from "fs";
|
|
51908
51970
|
import { tmpdir as tmpdir6 } from "os";
|
|
51909
|
-
import { resolve as
|
|
51971
|
+
import { resolve as resolve41, join as join72, relative as relative10, isAbsolute as isAbsolute9 } from "path";
|
|
51910
51972
|
async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
|
|
51911
51973
|
const tmp = mkdtempSync3(join72(tmpdir6(), "hf-snapshot-frame-"));
|
|
51912
51974
|
const outPath = join72(tmp, "frame.png");
|
|
@@ -51950,7 +52012,7 @@ async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDeco
|
|
|
51950
52012
|
}
|
|
51951
52013
|
);
|
|
51952
52014
|
if (result.code !== 0 || result.timedOut || !existsSync66(outPath)) return null;
|
|
51953
|
-
return
|
|
52015
|
+
return readFileSync45(outPath);
|
|
51954
52016
|
} finally {
|
|
51955
52017
|
try {
|
|
51956
52018
|
rmSync15(tmp, { recursive: true, force: true });
|
|
@@ -52090,7 +52152,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
52090
52152
|
try {
|
|
52091
52153
|
const url = new URL(v2.src);
|
|
52092
52154
|
const decodedPath = decodeURIComponent(url.pathname).replace(/^\//, "");
|
|
52093
|
-
const candidate =
|
|
52155
|
+
const candidate = resolve41(projectDir, decodedPath);
|
|
52094
52156
|
const rel = relative10(projectDir, candidate);
|
|
52095
52157
|
if (!rel.startsWith("..") && !isAbsolute9(rel) && existsSync66(candidate)) {
|
|
52096
52158
|
filePath = candidate;
|
|
@@ -53161,7 +53223,7 @@ var init_animationCataloger = __esm({
|
|
|
53161
53223
|
});
|
|
53162
53224
|
|
|
53163
53225
|
// src/capture/mediaCapture.ts
|
|
53164
|
-
import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync30, readdirSync as readdirSync26, readFileSync as
|
|
53226
|
+
import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync30, readdirSync as readdirSync26, readFileSync as readFileSync46, statSync as statSync23 } from "fs";
|
|
53165
53227
|
import { join as join74 } from "path";
|
|
53166
53228
|
async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
53167
53229
|
let savedCount = 0;
|
|
@@ -53228,7 +53290,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
|
|
|
53228
53290
|
for (const file of readdirSync26(lottieDir)) {
|
|
53229
53291
|
if (!file.endsWith(".json")) continue;
|
|
53230
53292
|
try {
|
|
53231
|
-
const raw = JSON.parse(
|
|
53293
|
+
const raw = JSON.parse(readFileSync46(join74(lottieDir, file), "utf-8"));
|
|
53232
53294
|
const fr = raw.fr || 30;
|
|
53233
53295
|
const dur = ((raw.op || 0) - (raw.ip || 0)) / fr;
|
|
53234
53296
|
const previewName = file.replace(".json", "-preview.png");
|
|
@@ -53238,7 +53300,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
|
|
|
53238
53300
|
try {
|
|
53239
53301
|
previewPage = await chromeBrowser.newPage();
|
|
53240
53302
|
await previewPage.setViewport({ width: 400, height: 400 });
|
|
53241
|
-
const animData = JSON.parse(
|
|
53303
|
+
const animData = JSON.parse(readFileSync46(join74(lottieDir, file), "utf-8"));
|
|
53242
53304
|
const midFrame = Math.floor(((raw.op || 0) - (raw.ip || 0)) * 0.3);
|
|
53243
53305
|
await previewPage.setContent(
|
|
53244
53306
|
`<!DOCTYPE html>
|
|
@@ -53683,7 +53745,7 @@ var require_p_retry = __commonJS({
|
|
|
53683
53745
|
return error;
|
|
53684
53746
|
};
|
|
53685
53747
|
var isNetworkError = (errorMessage) => networkErrorMsgs.includes(errorMessage);
|
|
53686
|
-
var pRetry2 = (input, options) => new Promise((
|
|
53748
|
+
var pRetry2 = (input, options) => new Promise((resolve46, reject) => {
|
|
53687
53749
|
options = {
|
|
53688
53750
|
onFailedAttempt: () => {
|
|
53689
53751
|
},
|
|
@@ -53693,7 +53755,7 @@ var require_p_retry = __commonJS({
|
|
|
53693
53755
|
const operation = retry.operation(options);
|
|
53694
53756
|
operation.attempt(async (attemptNumber) => {
|
|
53695
53757
|
try {
|
|
53696
|
-
|
|
53758
|
+
resolve46(await input(attemptNumber));
|
|
53697
53759
|
} catch (error) {
|
|
53698
53760
|
if (!(error instanceof Error)) {
|
|
53699
53761
|
reject(new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`));
|
|
@@ -54229,8 +54291,8 @@ var require_retry3 = __commonJS({
|
|
|
54229
54291
|
}
|
|
54230
54292
|
const delay = getNextRetryDelay(config);
|
|
54231
54293
|
err.config.retryConfig.currentRetryAttempt += 1;
|
|
54232
|
-
const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((
|
|
54233
|
-
setTimeout(
|
|
54294
|
+
const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((resolve46) => {
|
|
54295
|
+
setTimeout(resolve46, delay);
|
|
54234
54296
|
});
|
|
54235
54297
|
if (config.onRetryAttempt) {
|
|
54236
54298
|
await config.onRetryAttempt(err);
|
|
@@ -55138,8 +55200,8 @@ var require_helpers = __commonJS({
|
|
|
55138
55200
|
function req(url, opts = {}) {
|
|
55139
55201
|
const href = typeof url === "string" ? url : url.href;
|
|
55140
55202
|
const req2 = (href.startsWith("https:") ? https2 : http4).request(url, opts);
|
|
55141
|
-
const promise = new Promise((
|
|
55142
|
-
req2.once("response",
|
|
55203
|
+
const promise = new Promise((resolve46, reject) => {
|
|
55204
|
+
req2.once("response", resolve46).once("error", reject).end();
|
|
55143
55205
|
});
|
|
55144
55206
|
req2.then = promise.then.bind(promise);
|
|
55145
55207
|
return req2;
|
|
@@ -55316,7 +55378,7 @@ var require_parse_proxy_response = __commonJS({
|
|
|
55316
55378
|
var debug_1 = __importDefault(require_src2());
|
|
55317
55379
|
var debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
|
|
55318
55380
|
function parseProxyResponse(socket) {
|
|
55319
|
-
return new Promise((
|
|
55381
|
+
return new Promise((resolve46, reject) => {
|
|
55320
55382
|
let buffersLength = 0;
|
|
55321
55383
|
const buffers = [];
|
|
55322
55384
|
function read() {
|
|
@@ -55382,7 +55444,7 @@ var require_parse_proxy_response = __commonJS({
|
|
|
55382
55444
|
}
|
|
55383
55445
|
debug("got proxy server response: %o %o", firstLine, headers);
|
|
55384
55446
|
cleanup();
|
|
55385
|
-
|
|
55447
|
+
resolve46({
|
|
55386
55448
|
connect: {
|
|
55387
55449
|
statusCode,
|
|
55388
55450
|
statusText,
|
|
@@ -55626,7 +55688,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55626
55688
|
return new originalPromise(executor);
|
|
55627
55689
|
}
|
|
55628
55690
|
function promiseResolvedWith(value) {
|
|
55629
|
-
return newPromise((
|
|
55691
|
+
return newPromise((resolve46) => resolve46(value));
|
|
55630
55692
|
}
|
|
55631
55693
|
function promiseRejectedWith(reason) {
|
|
55632
55694
|
return originalPromiseReject(reason);
|
|
@@ -55796,8 +55858,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55796
55858
|
return new TypeError("Cannot " + name + " a stream using a released reader");
|
|
55797
55859
|
}
|
|
55798
55860
|
function defaultReaderClosedPromiseInitialize(reader) {
|
|
55799
|
-
reader._closedPromise = newPromise((
|
|
55800
|
-
reader._closedPromise_resolve =
|
|
55861
|
+
reader._closedPromise = newPromise((resolve46, reject) => {
|
|
55862
|
+
reader._closedPromise_resolve = resolve46;
|
|
55801
55863
|
reader._closedPromise_reject = reject;
|
|
55802
55864
|
});
|
|
55803
55865
|
}
|
|
@@ -55971,8 +56033,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55971
56033
|
}
|
|
55972
56034
|
let resolvePromise;
|
|
55973
56035
|
let rejectPromise;
|
|
55974
|
-
const promise = newPromise((
|
|
55975
|
-
resolvePromise =
|
|
56036
|
+
const promise = newPromise((resolve46, reject) => {
|
|
56037
|
+
resolvePromise = resolve46;
|
|
55976
56038
|
rejectPromise = reject;
|
|
55977
56039
|
});
|
|
55978
56040
|
const readRequest = {
|
|
@@ -56077,8 +56139,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
56077
56139
|
const reader = this._reader;
|
|
56078
56140
|
let resolvePromise;
|
|
56079
56141
|
let rejectPromise;
|
|
56080
|
-
const promise = newPromise((
|
|
56081
|
-
resolvePromise =
|
|
56142
|
+
const promise = newPromise((resolve46, reject) => {
|
|
56143
|
+
resolvePromise = resolve46;
|
|
56082
56144
|
rejectPromise = reject;
|
|
56083
56145
|
});
|
|
56084
56146
|
const readRequest = {
|
|
@@ -57097,8 +57159,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57097
57159
|
}
|
|
57098
57160
|
let resolvePromise;
|
|
57099
57161
|
let rejectPromise;
|
|
57100
|
-
const promise = newPromise((
|
|
57101
|
-
resolvePromise =
|
|
57162
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57163
|
+
resolvePromise = resolve46;
|
|
57102
57164
|
rejectPromise = reject;
|
|
57103
57165
|
});
|
|
57104
57166
|
const readIntoRequest = {
|
|
@@ -57410,10 +57472,10 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57410
57472
|
wasAlreadyErroring = true;
|
|
57411
57473
|
reason = void 0;
|
|
57412
57474
|
}
|
|
57413
|
-
const promise = newPromise((
|
|
57475
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57414
57476
|
stream._pendingAbortRequest = {
|
|
57415
57477
|
_promise: void 0,
|
|
57416
|
-
_resolve:
|
|
57478
|
+
_resolve: resolve46,
|
|
57417
57479
|
_reject: reject,
|
|
57418
57480
|
_reason: reason,
|
|
57419
57481
|
_wasAlreadyErroring: wasAlreadyErroring
|
|
@@ -57430,9 +57492,9 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57430
57492
|
if (state === "closed" || state === "errored") {
|
|
57431
57493
|
return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`));
|
|
57432
57494
|
}
|
|
57433
|
-
const promise = newPromise((
|
|
57495
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57434
57496
|
const closeRequest = {
|
|
57435
|
-
_resolve:
|
|
57497
|
+
_resolve: resolve46,
|
|
57436
57498
|
_reject: reject
|
|
57437
57499
|
};
|
|
57438
57500
|
stream._closeRequest = closeRequest;
|
|
@@ -57445,9 +57507,9 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57445
57507
|
return promise;
|
|
57446
57508
|
}
|
|
57447
57509
|
function WritableStreamAddWriteRequest(stream) {
|
|
57448
|
-
const promise = newPromise((
|
|
57510
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57449
57511
|
const writeRequest = {
|
|
57450
|
-
_resolve:
|
|
57512
|
+
_resolve: resolve46,
|
|
57451
57513
|
_reject: reject
|
|
57452
57514
|
};
|
|
57453
57515
|
stream._writeRequests.push(writeRequest);
|
|
@@ -58063,8 +58125,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58063
58125
|
return new TypeError("Cannot " + name + " a stream using a released writer");
|
|
58064
58126
|
}
|
|
58065
58127
|
function defaultWriterClosedPromiseInitialize(writer) {
|
|
58066
|
-
writer._closedPromise = newPromise((
|
|
58067
|
-
writer._closedPromise_resolve =
|
|
58128
|
+
writer._closedPromise = newPromise((resolve46, reject) => {
|
|
58129
|
+
writer._closedPromise_resolve = resolve46;
|
|
58068
58130
|
writer._closedPromise_reject = reject;
|
|
58069
58131
|
writer._closedPromiseState = "pending";
|
|
58070
58132
|
});
|
|
@@ -58100,8 +58162,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58100
58162
|
writer._closedPromiseState = "resolved";
|
|
58101
58163
|
}
|
|
58102
58164
|
function defaultWriterReadyPromiseInitialize(writer) {
|
|
58103
|
-
writer._readyPromise = newPromise((
|
|
58104
|
-
writer._readyPromise_resolve =
|
|
58165
|
+
writer._readyPromise = newPromise((resolve46, reject) => {
|
|
58166
|
+
writer._readyPromise_resolve = resolve46;
|
|
58105
58167
|
writer._readyPromise_reject = reject;
|
|
58106
58168
|
});
|
|
58107
58169
|
writer._readyPromiseState = "pending";
|
|
@@ -58188,7 +58250,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58188
58250
|
source._disturbed = true;
|
|
58189
58251
|
let shuttingDown = false;
|
|
58190
58252
|
let currentWrite = promiseResolvedWith(void 0);
|
|
58191
|
-
return newPromise((
|
|
58253
|
+
return newPromise((resolve46, reject) => {
|
|
58192
58254
|
let abortAlgorithm;
|
|
58193
58255
|
if (signal !== void 0) {
|
|
58194
58256
|
abortAlgorithm = () => {
|
|
@@ -58333,7 +58395,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58333
58395
|
if (isError) {
|
|
58334
58396
|
reject(error);
|
|
58335
58397
|
} else {
|
|
58336
|
-
|
|
58398
|
+
resolve46(void 0);
|
|
58337
58399
|
}
|
|
58338
58400
|
return null;
|
|
58339
58401
|
}
|
|
@@ -58614,8 +58676,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58614
58676
|
let branch1;
|
|
58615
58677
|
let branch2;
|
|
58616
58678
|
let resolveCancelPromise;
|
|
58617
|
-
const cancelPromise = newPromise((
|
|
58618
|
-
resolveCancelPromise =
|
|
58679
|
+
const cancelPromise = newPromise((resolve46) => {
|
|
58680
|
+
resolveCancelPromise = resolve46;
|
|
58619
58681
|
});
|
|
58620
58682
|
function pullAlgorithm() {
|
|
58621
58683
|
if (reading) {
|
|
@@ -58706,8 +58768,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58706
58768
|
let branch1;
|
|
58707
58769
|
let branch2;
|
|
58708
58770
|
let resolveCancelPromise;
|
|
58709
|
-
const cancelPromise = newPromise((
|
|
58710
|
-
resolveCancelPromise =
|
|
58771
|
+
const cancelPromise = newPromise((resolve46) => {
|
|
58772
|
+
resolveCancelPromise = resolve46;
|
|
58711
58773
|
});
|
|
58712
58774
|
function forwardReaderError(thisReader) {
|
|
58713
58775
|
uponRejection(thisReader._closedPromise, (r2) => {
|
|
@@ -59487,8 +59549,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59487
59549
|
const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
|
|
59488
59550
|
const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
|
|
59489
59551
|
let startPromise_resolve;
|
|
59490
|
-
const startPromise = newPromise((
|
|
59491
|
-
startPromise_resolve =
|
|
59552
|
+
const startPromise = newPromise((resolve46) => {
|
|
59553
|
+
startPromise_resolve = resolve46;
|
|
59492
59554
|
});
|
|
59493
59555
|
InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
|
|
59494
59556
|
SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
|
|
@@ -59581,8 +59643,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59581
59643
|
if (stream._backpressureChangePromise !== void 0) {
|
|
59582
59644
|
stream._backpressureChangePromise_resolve();
|
|
59583
59645
|
}
|
|
59584
|
-
stream._backpressureChangePromise = newPromise((
|
|
59585
|
-
stream._backpressureChangePromise_resolve =
|
|
59646
|
+
stream._backpressureChangePromise = newPromise((resolve46) => {
|
|
59647
|
+
stream._backpressureChangePromise_resolve = resolve46;
|
|
59586
59648
|
});
|
|
59587
59649
|
stream._backpressure = backpressure;
|
|
59588
59650
|
}
|
|
@@ -59750,8 +59812,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59750
59812
|
return controller._finishPromise;
|
|
59751
59813
|
}
|
|
59752
59814
|
const readable = stream._readable;
|
|
59753
|
-
controller._finishPromise = newPromise((
|
|
59754
|
-
controller._finishPromise_resolve =
|
|
59815
|
+
controller._finishPromise = newPromise((resolve46, reject) => {
|
|
59816
|
+
controller._finishPromise_resolve = resolve46;
|
|
59755
59817
|
controller._finishPromise_reject = reject;
|
|
59756
59818
|
});
|
|
59757
59819
|
const cancelPromise = controller._cancelAlgorithm(reason);
|
|
@@ -59777,8 +59839,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59777
59839
|
return controller._finishPromise;
|
|
59778
59840
|
}
|
|
59779
59841
|
const readable = stream._readable;
|
|
59780
|
-
controller._finishPromise = newPromise((
|
|
59781
|
-
controller._finishPromise_resolve =
|
|
59842
|
+
controller._finishPromise = newPromise((resolve46, reject) => {
|
|
59843
|
+
controller._finishPromise_resolve = resolve46;
|
|
59782
59844
|
controller._finishPromise_reject = reject;
|
|
59783
59845
|
});
|
|
59784
59846
|
const flushPromise = controller._flushAlgorithm();
|
|
@@ -59808,8 +59870,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59808
59870
|
return controller._finishPromise;
|
|
59809
59871
|
}
|
|
59810
59872
|
const writable = stream._writable;
|
|
59811
|
-
controller._finishPromise = newPromise((
|
|
59812
|
-
controller._finishPromise_resolve =
|
|
59873
|
+
controller._finishPromise = newPromise((resolve46, reject) => {
|
|
59874
|
+
controller._finishPromise_resolve = resolve46;
|
|
59813
59875
|
controller._finishPromise_reject = reject;
|
|
59814
59876
|
});
|
|
59815
59877
|
const cancelPromise = controller._cancelAlgorithm(reason);
|
|
@@ -61778,7 +61840,7 @@ import zlib from "zlib";
|
|
|
61778
61840
|
import Stream2, { PassThrough as PassThrough2, pipeline as pump } from "stream";
|
|
61779
61841
|
import { Buffer as Buffer3 } from "buffer";
|
|
61780
61842
|
async function fetch3(url, options_) {
|
|
61781
|
-
return new Promise((
|
|
61843
|
+
return new Promise((resolve46, reject) => {
|
|
61782
61844
|
const request = new Request2(url, options_);
|
|
61783
61845
|
const { parsedURL, options } = getNodeRequestOptions(request);
|
|
61784
61846
|
if (!supportedSchemas.has(parsedURL.protocol)) {
|
|
@@ -61787,7 +61849,7 @@ async function fetch3(url, options_) {
|
|
|
61787
61849
|
if (parsedURL.protocol === "data:") {
|
|
61788
61850
|
const data = dist_default3(request.url);
|
|
61789
61851
|
const response2 = new Response2(data, { headers: { "Content-Type": data.typeFull } });
|
|
61790
|
-
|
|
61852
|
+
resolve46(response2);
|
|
61791
61853
|
return;
|
|
61792
61854
|
}
|
|
61793
61855
|
const send = (parsedURL.protocol === "https:" ? https : http3).request;
|
|
@@ -61909,7 +61971,7 @@ async function fetch3(url, options_) {
|
|
|
61909
61971
|
if (responseReferrerPolicy) {
|
|
61910
61972
|
requestOptions.referrerPolicy = responseReferrerPolicy;
|
|
61911
61973
|
}
|
|
61912
|
-
|
|
61974
|
+
resolve46(fetch3(new Request2(locationURL, requestOptions)));
|
|
61913
61975
|
finalize();
|
|
61914
61976
|
return;
|
|
61915
61977
|
}
|
|
@@ -61942,7 +62004,7 @@ async function fetch3(url, options_) {
|
|
|
61942
62004
|
const codings = headers.get("Content-Encoding");
|
|
61943
62005
|
if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) {
|
|
61944
62006
|
response = new Response2(body, responseOptions);
|
|
61945
|
-
|
|
62007
|
+
resolve46(response);
|
|
61946
62008
|
return;
|
|
61947
62009
|
}
|
|
61948
62010
|
const zlibOptions = {
|
|
@@ -61956,7 +62018,7 @@ async function fetch3(url, options_) {
|
|
|
61956
62018
|
}
|
|
61957
62019
|
});
|
|
61958
62020
|
response = new Response2(body, responseOptions);
|
|
61959
|
-
|
|
62021
|
+
resolve46(response);
|
|
61960
62022
|
return;
|
|
61961
62023
|
}
|
|
61962
62024
|
if (codings === "deflate" || codings === "x-deflate") {
|
|
@@ -61980,12 +62042,12 @@ async function fetch3(url, options_) {
|
|
|
61980
62042
|
});
|
|
61981
62043
|
}
|
|
61982
62044
|
response = new Response2(body, responseOptions);
|
|
61983
|
-
|
|
62045
|
+
resolve46(response);
|
|
61984
62046
|
});
|
|
61985
62047
|
raw.once("end", () => {
|
|
61986
62048
|
if (!response) {
|
|
61987
62049
|
response = new Response2(body, responseOptions);
|
|
61988
|
-
|
|
62050
|
+
resolve46(response);
|
|
61989
62051
|
}
|
|
61990
62052
|
});
|
|
61991
62053
|
return;
|
|
@@ -61997,11 +62059,11 @@ async function fetch3(url, options_) {
|
|
|
61997
62059
|
}
|
|
61998
62060
|
});
|
|
61999
62061
|
response = new Response2(body, responseOptions);
|
|
62000
|
-
|
|
62062
|
+
resolve46(response);
|
|
62001
62063
|
return;
|
|
62002
62064
|
}
|
|
62003
62065
|
response = new Response2(body, responseOptions);
|
|
62004
|
-
|
|
62066
|
+
resolve46(response);
|
|
62005
62067
|
});
|
|
62006
62068
|
writeToStream(request_, request).catch(reject);
|
|
62007
62069
|
});
|
|
@@ -68083,7 +68145,7 @@ var require_jwtaccess = __commonJS({
|
|
|
68083
68145
|
}
|
|
68084
68146
|
}
|
|
68085
68147
|
fromStreamAsync(inputStream) {
|
|
68086
|
-
return new Promise((
|
|
68148
|
+
return new Promise((resolve46, reject) => {
|
|
68087
68149
|
if (!inputStream) {
|
|
68088
68150
|
reject(new Error("Must pass in a stream containing the service account auth settings."));
|
|
68089
68151
|
}
|
|
@@ -68092,7 +68154,7 @@ var require_jwtaccess = __commonJS({
|
|
|
68092
68154
|
try {
|
|
68093
68155
|
const data = JSON.parse(s2);
|
|
68094
68156
|
this.fromJSON(data);
|
|
68095
|
-
|
|
68157
|
+
resolve46();
|
|
68096
68158
|
} catch (err) {
|
|
68097
68159
|
reject(err);
|
|
68098
68160
|
}
|
|
@@ -68331,7 +68393,7 @@ var require_jwtclient = __commonJS({
|
|
|
68331
68393
|
}
|
|
68332
68394
|
}
|
|
68333
68395
|
fromStreamAsync(inputStream) {
|
|
68334
|
-
return new Promise((
|
|
68396
|
+
return new Promise((resolve46, reject) => {
|
|
68335
68397
|
if (!inputStream) {
|
|
68336
68398
|
throw new Error("Must pass in a stream containing the service account auth settings.");
|
|
68337
68399
|
}
|
|
@@ -68340,7 +68402,7 @@ var require_jwtclient = __commonJS({
|
|
|
68340
68402
|
try {
|
|
68341
68403
|
const data = JSON.parse(s2);
|
|
68342
68404
|
this.fromJSON(data);
|
|
68343
|
-
|
|
68405
|
+
resolve46();
|
|
68344
68406
|
} catch (e3) {
|
|
68345
68407
|
reject(e3);
|
|
68346
68408
|
}
|
|
@@ -68473,7 +68535,7 @@ var require_refreshclient = __commonJS({
|
|
|
68473
68535
|
}
|
|
68474
68536
|
}
|
|
68475
68537
|
async fromStreamAsync(inputStream) {
|
|
68476
|
-
return new Promise((
|
|
68538
|
+
return new Promise((resolve46, reject) => {
|
|
68477
68539
|
if (!inputStream) {
|
|
68478
68540
|
return reject(new Error("Must pass in a stream containing the user refresh token."));
|
|
68479
68541
|
}
|
|
@@ -68482,7 +68544,7 @@ var require_refreshclient = __commonJS({
|
|
|
68482
68544
|
try {
|
|
68483
68545
|
const data = JSON.parse(s2);
|
|
68484
68546
|
this.fromJSON(data);
|
|
68485
|
-
return
|
|
68547
|
+
return resolve46();
|
|
68486
68548
|
} catch (err) {
|
|
68487
68549
|
return reject(err);
|
|
68488
68550
|
}
|
|
@@ -70315,7 +70377,7 @@ var require_pluggable_auth_handler = __commonJS({
|
|
|
70315
70377
|
* @return A promise that resolves with the executable response.
|
|
70316
70378
|
*/
|
|
70317
70379
|
retrieveResponseFromExecutable(envMap) {
|
|
70318
|
-
return new Promise((
|
|
70380
|
+
return new Promise((resolve46, reject) => {
|
|
70319
70381
|
const child = childProcess.spawn(this.commandComponents[0], this.commandComponents.slice(1), {
|
|
70320
70382
|
env: { ...process.env, ...Object.fromEntries(envMap) }
|
|
70321
70383
|
});
|
|
@@ -70337,7 +70399,7 @@ var require_pluggable_auth_handler = __commonJS({
|
|
|
70337
70399
|
try {
|
|
70338
70400
|
const responseJson = JSON.parse(output);
|
|
70339
70401
|
const response = new executable_response_1.ExecutableResponse(responseJson);
|
|
70340
|
-
return
|
|
70402
|
+
return resolve46(response);
|
|
70341
70403
|
} catch (error) {
|
|
70342
70404
|
if (error instanceof executable_response_1.ExecutableResponseError) {
|
|
70343
70405
|
return reject(error);
|
|
@@ -71240,7 +71302,7 @@ var require_googleauth = __commonJS({
|
|
|
71240
71302
|
}
|
|
71241
71303
|
}
|
|
71242
71304
|
fromStreamAsync(inputStream, options) {
|
|
71243
|
-
return new Promise((
|
|
71305
|
+
return new Promise((resolve46, reject) => {
|
|
71244
71306
|
if (!inputStream) {
|
|
71245
71307
|
throw new Error("Must pass in a stream containing the Google auth settings.");
|
|
71246
71308
|
}
|
|
@@ -71250,7 +71312,7 @@ var require_googleauth = __commonJS({
|
|
|
71250
71312
|
try {
|
|
71251
71313
|
const data = JSON.parse(chunks.join(""));
|
|
71252
71314
|
const r2 = this._cacheClientFromJSON(data, options);
|
|
71253
|
-
return
|
|
71315
|
+
return resolve46(r2);
|
|
71254
71316
|
} catch (err) {
|
|
71255
71317
|
if (!this.keyFilename)
|
|
71256
71318
|
throw err;
|
|
@@ -71260,7 +71322,7 @@ var require_googleauth = __commonJS({
|
|
|
71260
71322
|
});
|
|
71261
71323
|
this.cachedCredential = client;
|
|
71262
71324
|
this.setGapicJWTValues(client);
|
|
71263
|
-
return
|
|
71325
|
+
return resolve46(client);
|
|
71264
71326
|
}
|
|
71265
71327
|
} catch (err) {
|
|
71266
71328
|
return reject(err);
|
|
@@ -71296,17 +71358,17 @@ var require_googleauth = __commonJS({
|
|
|
71296
71358
|
* Run the Google Cloud SDK command that prints the default project ID
|
|
71297
71359
|
*/
|
|
71298
71360
|
async getDefaultServiceProjectId() {
|
|
71299
|
-
return new Promise((
|
|
71361
|
+
return new Promise((resolve46) => {
|
|
71300
71362
|
(0, child_process_1.exec)("gcloud config config-helper --format json", (err, stdout2) => {
|
|
71301
71363
|
if (!err && stdout2) {
|
|
71302
71364
|
try {
|
|
71303
71365
|
const projectId = JSON.parse(stdout2).configuration.properties.core.project;
|
|
71304
|
-
|
|
71366
|
+
resolve46(projectId);
|
|
71305
71367
|
return;
|
|
71306
71368
|
} catch (e3) {
|
|
71307
71369
|
}
|
|
71308
71370
|
}
|
|
71309
|
-
|
|
71371
|
+
resolve46(null);
|
|
71310
71372
|
});
|
|
71311
71373
|
});
|
|
71312
71374
|
}
|
|
@@ -79149,14 +79211,14 @@ function __asyncValues(o) {
|
|
|
79149
79211
|
}, i2);
|
|
79150
79212
|
function verb(n) {
|
|
79151
79213
|
i2[n] = o[n] && function(v2) {
|
|
79152
|
-
return new Promise(function(
|
|
79153
|
-
v2 = o[n](v2), settle(
|
|
79214
|
+
return new Promise(function(resolve46, reject) {
|
|
79215
|
+
v2 = o[n](v2), settle(resolve46, reject, v2.done, v2.value);
|
|
79154
79216
|
});
|
|
79155
79217
|
};
|
|
79156
79218
|
}
|
|
79157
|
-
function settle(
|
|
79219
|
+
function settle(resolve46, reject, d2, v2) {
|
|
79158
79220
|
Promise.resolve(v2).then(function(v3) {
|
|
79159
|
-
|
|
79221
|
+
resolve46({ value: v3, done: d2 });
|
|
79160
79222
|
}, reject);
|
|
79161
79223
|
}
|
|
79162
79224
|
}
|
|
@@ -89646,8 +89708,8 @@ var init_node4 = __esm({
|
|
|
89646
89708
|
const url = `${websocketBaseUrl}/ws/google.ai.generativelanguage.${apiVersion}.GenerativeService.BidiGenerateMusic?key=${apiKey}`;
|
|
89647
89709
|
let onopenResolve = () => {
|
|
89648
89710
|
};
|
|
89649
|
-
const onopenPromise = new Promise((
|
|
89650
|
-
onopenResolve =
|
|
89711
|
+
const onopenPromise = new Promise((resolve46) => {
|
|
89712
|
+
onopenResolve = resolve46;
|
|
89651
89713
|
});
|
|
89652
89714
|
const callbacks = params.callbacks;
|
|
89653
89715
|
const onopenAwaitedCallback = function() {
|
|
@@ -89853,8 +89915,8 @@ var init_node4 = __esm({
|
|
|
89853
89915
|
}
|
|
89854
89916
|
let onopenResolve = () => {
|
|
89855
89917
|
};
|
|
89856
|
-
const onopenPromise = new Promise((
|
|
89857
|
-
onopenResolve =
|
|
89918
|
+
const onopenPromise = new Promise((resolve46) => {
|
|
89919
|
+
onopenResolve = resolve46;
|
|
89858
89920
|
});
|
|
89859
89921
|
const callbacks = params.callbacks;
|
|
89860
89922
|
const onopenAwaitedCallback = function() {
|
|
@@ -92202,7 +92264,7 @@ var init_node4 = __esm({
|
|
|
92202
92264
|
return void 0;
|
|
92203
92265
|
}
|
|
92204
92266
|
};
|
|
92205
|
-
sleep$1 = (ms) => new Promise((
|
|
92267
|
+
sleep$1 = (ms) => new Promise((resolve46) => setTimeout(resolve46, ms));
|
|
92206
92268
|
FallbackEncoder = ({ headers, body }) => {
|
|
92207
92269
|
return {
|
|
92208
92270
|
bodyHeaders: {
|
|
@@ -92711,8 +92773,8 @@ ${underline2}`);
|
|
|
92711
92773
|
};
|
|
92712
92774
|
APIPromise = class _APIPromise extends Promise {
|
|
92713
92775
|
constructor(client, responsePromise, parseResponse = defaultParseResponse) {
|
|
92714
|
-
super((
|
|
92715
|
-
|
|
92776
|
+
super((resolve46) => {
|
|
92777
|
+
resolve46(null);
|
|
92716
92778
|
});
|
|
92717
92779
|
this.responsePromise = responsePromise;
|
|
92718
92780
|
this.parseResponse = parseResponse;
|
|
@@ -93927,7 +93989,7 @@ ${underline2}`);
|
|
|
93927
93989
|
});
|
|
93928
93990
|
|
|
93929
93991
|
// src/capture/contentExtractor.ts
|
|
93930
|
-
import { readdirSync as readdirSync27, statSync as statSync25, readFileSync as
|
|
93992
|
+
import { readdirSync as readdirSync27, statSync as statSync25, readFileSync as readFileSync47 } from "fs";
|
|
93931
93993
|
import { join as join75 } from "path";
|
|
93932
93994
|
async function detectLibraries(page, capturedShaders) {
|
|
93933
93995
|
let detectedLibraries = [];
|
|
@@ -94060,7 +94122,7 @@ async function captionImagesWithGemini(outputDir, progress, warnings) {
|
|
|
94060
94122
|
const filePath = join75(outputDir, "assets", file);
|
|
94061
94123
|
const stat3 = statSync25(filePath);
|
|
94062
94124
|
if (stat3.size > 4e6) return { file, caption: "" };
|
|
94063
|
-
const buffer =
|
|
94125
|
+
const buffer = readFileSync47(filePath);
|
|
94064
94126
|
const base64 = buffer.toString("base64");
|
|
94065
94127
|
const ext = file.split(".").pop()?.toLowerCase() || "png";
|
|
94066
94128
|
const mimeType = ext === "jpg" ? "image/jpeg" : `image/${ext}`;
|
|
@@ -94246,15 +94308,15 @@ var init_agentPromptGenerator = __esm({
|
|
|
94246
94308
|
});
|
|
94247
94309
|
|
|
94248
94310
|
// src/capture/scaffolding.ts
|
|
94249
|
-
import { existsSync as existsSync67, writeFileSync as writeFileSync32, readFileSync as
|
|
94250
|
-
import { join as join77, resolve as
|
|
94311
|
+
import { existsSync as existsSync67, writeFileSync as writeFileSync32, readFileSync as readFileSync48 } from "fs";
|
|
94312
|
+
import { join as join77, resolve as resolve42 } from "path";
|
|
94251
94313
|
function loadEnvFile(startDir) {
|
|
94252
94314
|
try {
|
|
94253
|
-
let dir =
|
|
94315
|
+
let dir = resolve42(startDir);
|
|
94254
94316
|
for (let i2 = 0; i2 < 5; i2++) {
|
|
94255
|
-
const envPath =
|
|
94317
|
+
const envPath = resolve42(dir, ".env");
|
|
94256
94318
|
try {
|
|
94257
|
-
const envContent =
|
|
94319
|
+
const envContent = readFileSync48(envPath, "utf-8");
|
|
94258
94320
|
for (const line of envContent.split("\n")) {
|
|
94259
94321
|
const trimmed = line.trim();
|
|
94260
94322
|
if (!trimmed || trimmed.startsWith("#")) continue;
|
|
@@ -94266,7 +94328,7 @@ function loadEnvFile(startDir) {
|
|
|
94266
94328
|
}
|
|
94267
94329
|
break;
|
|
94268
94330
|
} catch {
|
|
94269
|
-
dir =
|
|
94331
|
+
dir = resolve42(dir, "..");
|
|
94270
94332
|
}
|
|
94271
94333
|
}
|
|
94272
94334
|
} catch {
|
|
@@ -94995,7 +95057,7 @@ __export(capture_exports2, {
|
|
|
94995
95057
|
default: () => capture_default,
|
|
94996
95058
|
examples: () => examples23
|
|
94997
95059
|
});
|
|
94998
|
-
import { resolve as
|
|
95060
|
+
import { resolve as resolve43 } from "path";
|
|
94999
95061
|
var examples23, capture_default;
|
|
95000
95062
|
var init_capture2 = __esm({
|
|
95001
95063
|
"src/commands/capture.ts"() {
|
|
@@ -95054,7 +95116,7 @@ var init_capture2 = __esm({
|
|
|
95054
95116
|
const hostname = new URL(url).hostname.replace(/^www\./, "");
|
|
95055
95117
|
outputName = `captures/${hostname.replace(/\./g, "-")}`;
|
|
95056
95118
|
}
|
|
95057
|
-
const outputDir =
|
|
95119
|
+
const outputDir = resolve43(outputName);
|
|
95058
95120
|
const isJson = args.json;
|
|
95059
95121
|
if (!isJson) {
|
|
95060
95122
|
const { c: c3 } = await Promise.resolve().then(() => (init_colors(), colors_exports));
|
|
@@ -95179,7 +95241,7 @@ __export(state_exports, {
|
|
|
95179
95241
|
stateFilePath: () => stateFilePath,
|
|
95180
95242
|
writeStackOutputs: () => writeStackOutputs
|
|
95181
95243
|
});
|
|
95182
|
-
import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as
|
|
95244
|
+
import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as readFileSync49, rmSync as rmSync16, writeFileSync as writeFileSync35 } from "fs";
|
|
95183
95245
|
import { dirname as dirname28, join as join80 } from "path";
|
|
95184
95246
|
function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
95185
95247
|
return join80(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
|
|
@@ -95194,7 +95256,7 @@ function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
|
95194
95256
|
const path2 = stateFilePath(stackName, cwd);
|
|
95195
95257
|
if (!existsSync69(path2)) return null;
|
|
95196
95258
|
try {
|
|
95197
|
-
return JSON.parse(
|
|
95259
|
+
return JSON.parse(readFileSync49(path2, "utf-8"));
|
|
95198
95260
|
} catch {
|
|
95199
95261
|
return null;
|
|
95200
95262
|
}
|
|
@@ -95353,16 +95415,16 @@ var init_sam = __esm({
|
|
|
95353
95415
|
|
|
95354
95416
|
// src/commands/lambda/repoRoot.ts
|
|
95355
95417
|
import { existsSync as existsSync71 } from "fs";
|
|
95356
|
-
import { dirname as dirname29, resolve as
|
|
95418
|
+
import { dirname as dirname29, resolve as resolve44 } from "path";
|
|
95357
95419
|
import { fileURLToPath as fileURLToPath11 } from "url";
|
|
95358
95420
|
function repoRoot() {
|
|
95359
95421
|
const override = process.env.HYPERFRAMES_REPO_ROOT;
|
|
95360
|
-
if (override && existsSync71(
|
|
95422
|
+
if (override && existsSync71(resolve44(override, "packages", "aws-lambda", "package.json"))) {
|
|
95361
95423
|
return override;
|
|
95362
95424
|
}
|
|
95363
95425
|
let dir = dirname29(fileURLToPath11(import.meta.url));
|
|
95364
95426
|
for (let depth = 0; depth < 12; depth++) {
|
|
95365
|
-
if (existsSync71(
|
|
95427
|
+
if (existsSync71(resolve44(dir, "packages", "aws-lambda", "package.json"))) {
|
|
95366
95428
|
return dir;
|
|
95367
95429
|
}
|
|
95368
95430
|
const parent = dirname29(dir);
|
|
@@ -95386,7 +95448,7 @@ __export(deploy_exports, {
|
|
|
95386
95448
|
});
|
|
95387
95449
|
import { spawnSync as spawnSync5 } from "child_process";
|
|
95388
95450
|
import { existsSync as existsSync72 } from "fs";
|
|
95389
|
-
import { join as join82, resolve as
|
|
95451
|
+
import { join as join82, resolve as resolve45 } from "path";
|
|
95390
95452
|
async function runDeploy(args = {}) {
|
|
95391
95453
|
const resolved = {
|
|
95392
95454
|
stackName: args.stackName ?? DEFAULT_STACK_NAME,
|
|
@@ -95440,7 +95502,7 @@ async function runDeploy(args = {}) {
|
|
|
95440
95502
|
console.log(` ${c2.dim("Bucket:")} ${outputs.bucketName}`);
|
|
95441
95503
|
console.log(` ${c2.dim("State machine:")} ${outputs.stateMachineArn}`);
|
|
95442
95504
|
console.log(` ${c2.dim("Function:")} ${outputs.functionName}`);
|
|
95443
|
-
console.log(` ${c2.dim("State file:")} ${
|
|
95505
|
+
console.log(` ${c2.dim("State file:")} ${resolve45(statePath)}`);
|
|
95444
95506
|
console.log();
|
|
95445
95507
|
console.log(c2.dim(`Render with: hyperframes lambda render <project-dir>`));
|
|
95446
95508
|
}
|
|
@@ -95520,13 +95582,28 @@ var render_exports2 = {};
|
|
|
95520
95582
|
__export(render_exports2, {
|
|
95521
95583
|
runRender: () => runRender
|
|
95522
95584
|
});
|
|
95523
|
-
import {
|
|
95585
|
+
import { existsSync as existsSync73 } from "fs";
|
|
95586
|
+
import { join as join83, resolve as resolvePath2 } from "path";
|
|
95524
95587
|
async function loadSDK2() {
|
|
95525
95588
|
return import("@hyperframes/aws-lambda/sdk");
|
|
95526
95589
|
}
|
|
95527
95590
|
async function runRender(args) {
|
|
95528
95591
|
const stack = requireStack(args.stackName);
|
|
95529
95592
|
const projectDir = resolvePath2(args.projectDir);
|
|
95593
|
+
const variables = resolveVariablesArg(args.variables, args.variablesFile);
|
|
95594
|
+
if (variables && Object.keys(variables).length > 0) {
|
|
95595
|
+
const indexPath = join83(projectDir, "index.html");
|
|
95596
|
+
if (existsSync73(indexPath)) {
|
|
95597
|
+
const issues = validateVariablesAgainstProject(indexPath, variables);
|
|
95598
|
+
reportVariableIssues(issues, { strict: args.strictVariables ?? false, quiet: args.json });
|
|
95599
|
+
} else if (args.strictVariables && !args.json) {
|
|
95600
|
+
console.warn(
|
|
95601
|
+
c2.warn(
|
|
95602
|
+
`--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.`
|
|
95603
|
+
)
|
|
95604
|
+
);
|
|
95605
|
+
}
|
|
95606
|
+
}
|
|
95530
95607
|
const config = {
|
|
95531
95608
|
fps: args.fps,
|
|
95532
95609
|
width: args.width,
|
|
@@ -95536,7 +95613,8 @@ async function runRender(args) {
|
|
|
95536
95613
|
quality: args.quality,
|
|
95537
95614
|
chunkSize: args.chunkSize,
|
|
95538
95615
|
maxParallelChunks: args.maxParallelChunks,
|
|
95539
|
-
runtimeCap: "lambda"
|
|
95616
|
+
runtimeCap: "lambda",
|
|
95617
|
+
variables
|
|
95540
95618
|
};
|
|
95541
95619
|
const siteHandle = args.siteId ? {
|
|
95542
95620
|
siteId: args.siteId,
|
|
@@ -95624,10 +95702,248 @@ var init_render3 = __esm({
|
|
|
95624
95702
|
"src/commands/lambda/render.ts"() {
|
|
95625
95703
|
"use strict";
|
|
95626
95704
|
init_colors();
|
|
95705
|
+
init_variables();
|
|
95627
95706
|
init_state();
|
|
95628
95707
|
}
|
|
95629
95708
|
});
|
|
95630
95709
|
|
|
95710
|
+
// src/commands/lambda/render-batch.ts
|
|
95711
|
+
var render_batch_exports = {};
|
|
95712
|
+
__export(render_batch_exports, {
|
|
95713
|
+
parseBatchFile: () => parseBatchFile,
|
|
95714
|
+
runRenderBatch: () => runRenderBatch,
|
|
95715
|
+
runWithConcurrencyLimit: () => runWithConcurrencyLimit
|
|
95716
|
+
});
|
|
95717
|
+
import { existsSync as existsSync74, readFileSync as readFileSync50 } from "fs";
|
|
95718
|
+
import { join as join84, resolve as resolvePath3 } from "path";
|
|
95719
|
+
async function loadSDK3() {
|
|
95720
|
+
return import("@hyperframes/aws-lambda/sdk");
|
|
95721
|
+
}
|
|
95722
|
+
async function runRenderBatch(args) {
|
|
95723
|
+
const projectDir = resolvePath3(args.projectDir);
|
|
95724
|
+
const stack = requireStack(args.stackName);
|
|
95725
|
+
const batchPath = resolvePath3(args.batch);
|
|
95726
|
+
if (!existsSync74(batchPath)) {
|
|
95727
|
+
errorBox("Batch file not found", `No such file: ${batchPath}`);
|
|
95728
|
+
process.exit(1);
|
|
95729
|
+
}
|
|
95730
|
+
const entries2 = parseBatchFile(batchPath);
|
|
95731
|
+
if (entries2.length === 0) {
|
|
95732
|
+
errorBox("Empty batch", `${batchPath} contains zero entries (every line was blank).`);
|
|
95733
|
+
process.exit(1);
|
|
95734
|
+
}
|
|
95735
|
+
const schema = loadProjectVariableSchema(join84(projectDir, "index.html"));
|
|
95736
|
+
const strict = args.strictVariables ?? false;
|
|
95737
|
+
let hadStrictIssue = false;
|
|
95738
|
+
for (const { entry, lineNumber } of entries2) {
|
|
95739
|
+
if (!entry.variables || Object.keys(entry.variables).length === 0) continue;
|
|
95740
|
+
const issues = validateVariablesAgainstSchema(entry.variables, schema);
|
|
95741
|
+
if (issues.length === 0) continue;
|
|
95742
|
+
if (!args.json) {
|
|
95743
|
+
console.log("");
|
|
95744
|
+
console.log(c2.dim(`Batch entry on line ${lineNumber}:`));
|
|
95745
|
+
}
|
|
95746
|
+
reportVariableIssues(issues, { strict: false, quiet: args.json });
|
|
95747
|
+
if (strict) hadStrictIssue = true;
|
|
95748
|
+
}
|
|
95749
|
+
if (hadStrictIssue) {
|
|
95750
|
+
errorBox(
|
|
95751
|
+
"Variable validation failed",
|
|
95752
|
+
"Aborting batch due to variable issues in one or more entries (--strict-variables mode)."
|
|
95753
|
+
);
|
|
95754
|
+
process.exit(1);
|
|
95755
|
+
}
|
|
95756
|
+
const config = {
|
|
95757
|
+
fps: args.fps,
|
|
95758
|
+
width: args.width,
|
|
95759
|
+
height: args.height,
|
|
95760
|
+
format: args.format,
|
|
95761
|
+
codec: args.codec,
|
|
95762
|
+
quality: args.quality,
|
|
95763
|
+
chunkSize: args.chunkSize,
|
|
95764
|
+
maxParallelChunks: args.maxParallelChunks,
|
|
95765
|
+
runtimeCap: "lambda"
|
|
95766
|
+
};
|
|
95767
|
+
let siteHandle;
|
|
95768
|
+
if (args.siteId) {
|
|
95769
|
+
siteHandle = makePlaceholderSiteHandle(args.siteId, stack.bucketName);
|
|
95770
|
+
} else if (args.dryRun) {
|
|
95771
|
+
siteHandle = makePlaceholderSiteHandle("dry-run-site", stack.bucketName);
|
|
95772
|
+
} else {
|
|
95773
|
+
const { deploySite } = await loadSDK3();
|
|
95774
|
+
siteHandle = await deploySite({
|
|
95775
|
+
projectDir,
|
|
95776
|
+
bucketName: stack.bucketName,
|
|
95777
|
+
region: stack.region
|
|
95778
|
+
});
|
|
95779
|
+
if (!args.json) {
|
|
95780
|
+
console.log(
|
|
95781
|
+
c2.success(
|
|
95782
|
+
siteHandle.uploaded ? `Site uploaded once for the batch: ${siteHandle.siteId}` : `Site already up to date (skipped upload): ${siteHandle.siteId}`
|
|
95783
|
+
)
|
|
95784
|
+
);
|
|
95785
|
+
console.log();
|
|
95786
|
+
}
|
|
95787
|
+
}
|
|
95788
|
+
const maxConcurrent = args.maxConcurrent ?? DEFAULT_MAX_CONCURRENT;
|
|
95789
|
+
const renderToLambda = args.dryRun ? void 0 : (await loadSDK3()).renderToLambda;
|
|
95790
|
+
const startEntry = async (item) => {
|
|
95791
|
+
const { entry, lineNumber } = item;
|
|
95792
|
+
if (args.dryRun) {
|
|
95793
|
+
return {
|
|
95794
|
+
inputLine: lineNumber,
|
|
95795
|
+
outputKey: entry.outputKey,
|
|
95796
|
+
executionArn: null,
|
|
95797
|
+
status: "would-invoke"
|
|
95798
|
+
};
|
|
95799
|
+
}
|
|
95800
|
+
if (!renderToLambda) {
|
|
95801
|
+
throw new Error("[render-batch] renderToLambda is undefined outside --dry-run");
|
|
95802
|
+
}
|
|
95803
|
+
try {
|
|
95804
|
+
const handle = await renderToLambda({
|
|
95805
|
+
siteHandle,
|
|
95806
|
+
bucketName: stack.bucketName,
|
|
95807
|
+
stateMachineArn: stack.stateMachineArn,
|
|
95808
|
+
region: stack.region,
|
|
95809
|
+
config: { ...config, variables: entry.variables },
|
|
95810
|
+
executionName: entry.executionName,
|
|
95811
|
+
outputKey: entry.outputKey
|
|
95812
|
+
});
|
|
95813
|
+
return {
|
|
95814
|
+
inputLine: lineNumber,
|
|
95815
|
+
outputKey: entry.outputKey,
|
|
95816
|
+
executionArn: handle.executionArn,
|
|
95817
|
+
status: "started"
|
|
95818
|
+
};
|
|
95819
|
+
} catch (err) {
|
|
95820
|
+
return {
|
|
95821
|
+
inputLine: lineNumber,
|
|
95822
|
+
outputKey: entry.outputKey,
|
|
95823
|
+
executionArn: null,
|
|
95824
|
+
status: "failed-to-start",
|
|
95825
|
+
error: err instanceof Error ? err.message : String(err)
|
|
95826
|
+
};
|
|
95827
|
+
}
|
|
95828
|
+
};
|
|
95829
|
+
const manifest = await runWithConcurrencyLimit(entries2, maxConcurrent, startEntry);
|
|
95830
|
+
if (args.json) {
|
|
95831
|
+
console.log(JSON.stringify(manifest, null, 2));
|
|
95832
|
+
return;
|
|
95833
|
+
}
|
|
95834
|
+
const started = manifest.filter((m2) => m2.status === "started").length;
|
|
95835
|
+
const failed = manifest.filter((m2) => m2.status === "failed-to-start").length;
|
|
95836
|
+
const wouldInvoke = manifest.filter((m2) => m2.status === "would-invoke").length;
|
|
95837
|
+
if (args.dryRun) {
|
|
95838
|
+
console.log(c2.success(`Dry-run complete: ${wouldInvoke} entries would invoke.`));
|
|
95839
|
+
} else {
|
|
95840
|
+
console.log(c2.success(`Batch dispatched: ${started} started, ${failed} failed-to-start.`));
|
|
95841
|
+
}
|
|
95842
|
+
console.log();
|
|
95843
|
+
for (const row of manifest) {
|
|
95844
|
+
const tag = row.status === "started" ? c2.success("\u2713") : row.status === "would-invoke" ? c2.dim("\xB7") : c2.error("\u2717");
|
|
95845
|
+
const detail = row.status === "failed-to-start" ? c2.error(row.error ?? "unknown error") : row.executionArn ?? c2.dim("(no execution)");
|
|
95846
|
+
console.log(` ${tag} line ${row.inputLine} ${c2.dim(row.outputKey)} ${detail}`);
|
|
95847
|
+
}
|
|
95848
|
+
if (failed > 0) process.exitCode = 1;
|
|
95849
|
+
}
|
|
95850
|
+
function makePlaceholderSiteHandle(siteId, bucketName) {
|
|
95851
|
+
return {
|
|
95852
|
+
siteId,
|
|
95853
|
+
bucketName,
|
|
95854
|
+
projectS3Uri: `s3://${bucketName}/sites/${siteId}/project.tar.gz`,
|
|
95855
|
+
bytes: 0,
|
|
95856
|
+
uploadedAt: "",
|
|
95857
|
+
uploaded: false
|
|
95858
|
+
};
|
|
95859
|
+
}
|
|
95860
|
+
function parseBatchFile(path2) {
|
|
95861
|
+
const raw = readFileSync50(path2, "utf8");
|
|
95862
|
+
const lines = raw.split(/\r?\n/);
|
|
95863
|
+
const out = [];
|
|
95864
|
+
for (let i2 = 0; i2 < lines.length; i2++) {
|
|
95865
|
+
const line = lines[i2].trim();
|
|
95866
|
+
if (line === "") continue;
|
|
95867
|
+
let parsed;
|
|
95868
|
+
try {
|
|
95869
|
+
parsed = JSON.parse(line);
|
|
95870
|
+
} catch (err) {
|
|
95871
|
+
errorBox(
|
|
95872
|
+
`Invalid JSON in batch file on line ${i2 + 1}`,
|
|
95873
|
+
err instanceof Error ? err.message : String(err)
|
|
95874
|
+
);
|
|
95875
|
+
process.exit(1);
|
|
95876
|
+
}
|
|
95877
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
95878
|
+
errorBox(
|
|
95879
|
+
`Invalid batch entry on line ${i2 + 1}`,
|
|
95880
|
+
'Each line must be a JSON object with at least { "outputKey": "..." }.'
|
|
95881
|
+
);
|
|
95882
|
+
process.exit(1);
|
|
95883
|
+
}
|
|
95884
|
+
const obj = parsed;
|
|
95885
|
+
const outputKey = obj.outputKey;
|
|
95886
|
+
if (typeof outputKey !== "string" || outputKey.length === 0) {
|
|
95887
|
+
errorBox(
|
|
95888
|
+
`Missing outputKey on line ${i2 + 1}`,
|
|
95889
|
+
'Each batch entry needs a non-empty "outputKey" string (e.g. "renders/alice.mp4").'
|
|
95890
|
+
);
|
|
95891
|
+
process.exit(1);
|
|
95892
|
+
}
|
|
95893
|
+
if (obj.variables !== void 0) {
|
|
95894
|
+
if (obj.variables === null || typeof obj.variables !== "object" || Array.isArray(obj.variables)) {
|
|
95895
|
+
errorBox(
|
|
95896
|
+
`Invalid variables on line ${i2 + 1}`,
|
|
95897
|
+
'"variables" must be a JSON object (or omitted).'
|
|
95898
|
+
);
|
|
95899
|
+
process.exit(1);
|
|
95900
|
+
}
|
|
95901
|
+
}
|
|
95902
|
+
if (obj.executionName !== void 0 && typeof obj.executionName !== "string") {
|
|
95903
|
+
errorBox(
|
|
95904
|
+
`Invalid executionName on line ${i2 + 1}`,
|
|
95905
|
+
'"executionName" must be a string (or omitted).'
|
|
95906
|
+
);
|
|
95907
|
+
process.exit(1);
|
|
95908
|
+
}
|
|
95909
|
+
out.push({
|
|
95910
|
+
entry: {
|
|
95911
|
+
outputKey,
|
|
95912
|
+
variables: obj.variables,
|
|
95913
|
+
executionName: obj.executionName
|
|
95914
|
+
},
|
|
95915
|
+
lineNumber: i2 + 1
|
|
95916
|
+
});
|
|
95917
|
+
}
|
|
95918
|
+
return out;
|
|
95919
|
+
}
|
|
95920
|
+
async function runWithConcurrencyLimit(inputs, limit, worker) {
|
|
95921
|
+
if (limit < 1) throw new Error(`runWithConcurrencyLimit: limit must be \u2265 1, got ${limit}`);
|
|
95922
|
+
const results = new Array(inputs.length);
|
|
95923
|
+
let cursor = 0;
|
|
95924
|
+
const workerCount = Math.min(limit, inputs.length);
|
|
95925
|
+
await Promise.all(
|
|
95926
|
+
Array.from({ length: workerCount }, async () => {
|
|
95927
|
+
while (cursor < inputs.length) {
|
|
95928
|
+
const idx = cursor++;
|
|
95929
|
+
results[idx] = await worker(inputs[idx], idx);
|
|
95930
|
+
}
|
|
95931
|
+
})
|
|
95932
|
+
);
|
|
95933
|
+
return results;
|
|
95934
|
+
}
|
|
95935
|
+
var DEFAULT_MAX_CONCURRENT;
|
|
95936
|
+
var init_render_batch = __esm({
|
|
95937
|
+
"src/commands/lambda/render-batch.ts"() {
|
|
95938
|
+
"use strict";
|
|
95939
|
+
init_colors();
|
|
95940
|
+
init_format();
|
|
95941
|
+
init_variables();
|
|
95942
|
+
init_state();
|
|
95943
|
+
DEFAULT_MAX_CONCURRENT = 50;
|
|
95944
|
+
}
|
|
95945
|
+
});
|
|
95946
|
+
|
|
95631
95947
|
// src/commands/lambda/progress.ts
|
|
95632
95948
|
var progress_exports = {};
|
|
95633
95949
|
__export(progress_exports, {
|
|
@@ -95735,7 +96051,7 @@ __export(policies_exports, {
|
|
|
95735
96051
|
runPolicies: () => runPolicies,
|
|
95736
96052
|
validatePolicy: () => validatePolicy
|
|
95737
96053
|
});
|
|
95738
|
-
import { readFileSync as
|
|
96054
|
+
import { readFileSync as readFileSync51 } from "fs";
|
|
95739
96055
|
function allRequiredActions() {
|
|
95740
96056
|
const set = /* @__PURE__ */ new Set();
|
|
95741
96057
|
for (const group of Object.values(REQUIRED_ACTIONS)) {
|
|
@@ -95841,7 +96157,7 @@ async function runPolicies(args) {
|
|
|
95841
96157
|
}
|
|
95842
96158
|
}
|
|
95843
96159
|
function validatePolicy(policyPath) {
|
|
95844
|
-
const raw =
|
|
96160
|
+
const raw = readFileSync51(policyPath, "utf-8");
|
|
95845
96161
|
const parsed = JSON.parse(raw);
|
|
95846
96162
|
const statements = Array.isArray(parsed.Statement) ? parsed.Statement : parsed.Statement ? [
|
|
95847
96163
|
parsed.Statement
|
|
@@ -96045,6 +96361,18 @@ var init_lambda = __esm({
|
|
|
96045
96361
|
"Render and stream progress until done",
|
|
96046
96362
|
"hyperframes lambda render ./my-project --width 1920 --height 1080 --wait"
|
|
96047
96363
|
],
|
|
96364
|
+
[
|
|
96365
|
+
"Render with composition variables (personalised template)",
|
|
96366
|
+
`hyperframes lambda render ./my-template --site-id abc1234deadbeef0 --width 1920 --height 1080 --variables '{"title":"Hello Alice","accent":"#ff0000"}'`
|
|
96367
|
+
],
|
|
96368
|
+
[
|
|
96369
|
+
"Render with variables from a JSON file",
|
|
96370
|
+
"hyperframes lambda render ./my-template --site-id abc1234deadbeef0 --width 1920 --height 1080 --variables-file ./alice.json"
|
|
96371
|
+
],
|
|
96372
|
+
[
|
|
96373
|
+
"Batch-render N personalised videos from a JSONL file (deploys the site once)",
|
|
96374
|
+
"hyperframes lambda render-batch ./my-template --batch ./users.jsonl --width 1920 --height 1080 --max-concurrent 10"
|
|
96375
|
+
],
|
|
96048
96376
|
["Check progress for a started render", "hyperframes lambda progress hf-render-abcd1234"],
|
|
96049
96377
|
[
|
|
96050
96378
|
"Pre-upload a project so multiple renders share the upload",
|
|
@@ -96066,6 +96394,7 @@ ${c2.bold("SUBCOMMANDS:")}
|
|
|
96066
96394
|
${c2.accent("deploy")} ${c2.dim("Provision the Lambda + Step Functions + S3 stack via SAM")}
|
|
96067
96395
|
${c2.accent("sites create")} ${c2.dim("Tar + upload a project to S3 (reusable across renders)")}
|
|
96068
96396
|
${c2.accent("render")} ${c2.dim("Start a distributed render (returns a renderId)")}
|
|
96397
|
+
${c2.accent("render-batch")} ${c2.dim("Fan out N personalised renders from a JSONL batch file")}
|
|
96069
96398
|
${c2.accent("progress")} ${c2.dim("Print progress + cost for an in-flight or finished render")}
|
|
96070
96399
|
${c2.accent("destroy")} ${c2.dim("Tear the stack down (S3 bucket is retained)")}
|
|
96071
96400
|
${c2.accent("policies")} ${c2.dim("Print or validate the IAM permissions the CLI needs")}
|
|
@@ -96130,6 +96459,36 @@ ${c2.bold("REQUIREMENTS:")}
|
|
|
96130
96459
|
type: "string",
|
|
96131
96460
|
description: "Final output S3 key (default: renders/<exec>/output.<ext>)"
|
|
96132
96461
|
},
|
|
96462
|
+
// Variables — mirrors the local `hyperframes render` UX. Inline JSON or
|
|
96463
|
+
// file path, plus --strict-variables for type-checked validation against
|
|
96464
|
+
// the composition's `data-composition-variables` declaration.
|
|
96465
|
+
variables: {
|
|
96466
|
+
type: "string",
|
|
96467
|
+
description: `JSON object of variable values for the composition. Example: --variables '{"title":"Hello"}'. Values flow into window.__hfVariables on the Lambda chunk workers.`
|
|
96468
|
+
},
|
|
96469
|
+
"variables-file": {
|
|
96470
|
+
type: "string",
|
|
96471
|
+
description: "Path to a JSON file with variable values (alternative to --variables). The file must contain a single JSON object."
|
|
96472
|
+
},
|
|
96473
|
+
"strict-variables": {
|
|
96474
|
+
type: "boolean",
|
|
96475
|
+
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.",
|
|
96476
|
+
default: false
|
|
96477
|
+
},
|
|
96478
|
+
// render-batch
|
|
96479
|
+
batch: {
|
|
96480
|
+
type: "string",
|
|
96481
|
+
description: 'Path to a JSONL batch file for `render-batch`. Each line: {"outputKey":"...","variables":{...}}'
|
|
96482
|
+
},
|
|
96483
|
+
"max-concurrent": {
|
|
96484
|
+
type: "string",
|
|
96485
|
+
description: "Max in-flight Step Functions executions for `render-batch` (default: 50). Distinct from --max-parallel-chunks (which caps chunks per render)."
|
|
96486
|
+
},
|
|
96487
|
+
"dry-run": {
|
|
96488
|
+
type: "boolean",
|
|
96489
|
+
description: "For `render-batch`: parse the batch file and print the manifest without invoking AWS. Every entry's status becomes `would-invoke`.",
|
|
96490
|
+
default: false
|
|
96491
|
+
},
|
|
96133
96492
|
wait: { type: "boolean", description: "Block until the render finishes" },
|
|
96134
96493
|
"wait-interval-ms": {
|
|
96135
96494
|
type: "string",
|
|
@@ -96151,7 +96510,14 @@ ${c2.bold("REQUIREMENTS:")}
|
|
|
96151
96510
|
if (profileFlag) process.env.AWS_PROFILE = profileFlag;
|
|
96152
96511
|
const regionFlag = args.region;
|
|
96153
96512
|
if (regionFlag) process.env.AWS_REGION = regionFlag;
|
|
96154
|
-
const verbsNeedingSDK = /* @__PURE__ */ new Set([
|
|
96513
|
+
const verbsNeedingSDK = /* @__PURE__ */ new Set([
|
|
96514
|
+
"deploy",
|
|
96515
|
+
"sites",
|
|
96516
|
+
"render",
|
|
96517
|
+
"render-batch",
|
|
96518
|
+
"progress",
|
|
96519
|
+
"destroy"
|
|
96520
|
+
]);
|
|
96155
96521
|
if (verbsNeedingSDK.has(subcommand)) {
|
|
96156
96522
|
try {
|
|
96157
96523
|
await import("@hyperframes/aws-lambda/sdk");
|
|
@@ -96240,12 +96606,62 @@ Or, for an opt-in dev setup:
|
|
|
96240
96606
|
maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
|
|
96241
96607
|
executionName: args["execution-name"],
|
|
96242
96608
|
outputKey: args["output-key"],
|
|
96609
|
+
variables: args.variables,
|
|
96610
|
+
variablesFile: args["variables-file"],
|
|
96611
|
+
strictVariables: Boolean(args["strict-variables"]),
|
|
96243
96612
|
json: Boolean(args.json),
|
|
96244
96613
|
wait: Boolean(args.wait),
|
|
96245
96614
|
waitIntervalMs: parsePositiveInt(args["wait-interval-ms"], "--wait-interval-ms") ?? 5e3
|
|
96246
96615
|
});
|
|
96247
96616
|
return;
|
|
96248
96617
|
}
|
|
96618
|
+
case "render-batch": {
|
|
96619
|
+
const projectDir = args.target;
|
|
96620
|
+
if (!projectDir) {
|
|
96621
|
+
console.error(
|
|
96622
|
+
"[lambda render-batch] usage: hyperframes lambda render-batch <projectDir> --batch <path.jsonl> --width <px> --height <px>"
|
|
96623
|
+
);
|
|
96624
|
+
process.exit(1);
|
|
96625
|
+
}
|
|
96626
|
+
const batch = args.batch;
|
|
96627
|
+
if (!batch) {
|
|
96628
|
+
console.error(
|
|
96629
|
+
"[lambda render-batch] --batch <path.jsonl> is required. Each line is a JSON object with at least { outputKey: '...' }."
|
|
96630
|
+
);
|
|
96631
|
+
process.exit(1);
|
|
96632
|
+
}
|
|
96633
|
+
const width = parsePositiveInt(args.width, "--width");
|
|
96634
|
+
const height = parsePositiveInt(args.height, "--height");
|
|
96635
|
+
if (width === void 0 || height === void 0) {
|
|
96636
|
+
console.error("[lambda render-batch] --width and --height are required.");
|
|
96637
|
+
process.exit(1);
|
|
96638
|
+
}
|
|
96639
|
+
const fpsRaw = parseIntFlag(args.fps) ?? 30;
|
|
96640
|
+
if (fpsRaw !== 24 && fpsRaw !== 30 && fpsRaw !== 60) {
|
|
96641
|
+
console.error(`[lambda render-batch] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
|
|
96642
|
+
process.exit(1);
|
|
96643
|
+
}
|
|
96644
|
+
const { runRenderBatch: runRenderBatch2 } = await Promise.resolve().then(() => (init_render_batch(), render_batch_exports));
|
|
96645
|
+
await runRenderBatch2({
|
|
96646
|
+
projectDir,
|
|
96647
|
+
stackName,
|
|
96648
|
+
batch,
|
|
96649
|
+
siteId: args["site-id"],
|
|
96650
|
+
fps: fpsRaw,
|
|
96651
|
+
width,
|
|
96652
|
+
height,
|
|
96653
|
+
format: parseFormat(args.format),
|
|
96654
|
+
codec: parseCodec(args.codec),
|
|
96655
|
+
quality: parseQuality(args.quality),
|
|
96656
|
+
chunkSize: parsePositiveInt(args["chunk-size"], "--chunk-size"),
|
|
96657
|
+
maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
|
|
96658
|
+
maxConcurrent: parsePositiveInt(args["max-concurrent"], "--max-concurrent"),
|
|
96659
|
+
strictVariables: Boolean(args["strict-variables"]),
|
|
96660
|
+
dryRun: Boolean(args["dry-run"]),
|
|
96661
|
+
json: Boolean(args.json)
|
|
96662
|
+
});
|
|
96663
|
+
return;
|
|
96664
|
+
}
|
|
96249
96665
|
case "progress": {
|
|
96250
96666
|
const target = args.target;
|
|
96251
96667
|
if (!target) {
|
|
@@ -96436,7 +96852,7 @@ __export(autoUpdate_exports, {
|
|
|
96436
96852
|
import { spawn as spawn16 } from "child_process";
|
|
96437
96853
|
import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync42, openSync as openSync2 } from "fs";
|
|
96438
96854
|
import { homedir as homedir12 } from "os";
|
|
96439
|
-
import { join as
|
|
96855
|
+
import { join as join85 } from "path";
|
|
96440
96856
|
import { compareVersions as compareVersions2 } from "compare-versions";
|
|
96441
96857
|
function isAutoInstallDisabled() {
|
|
96442
96858
|
if (isDevMode()) return true;
|
|
@@ -96459,7 +96875,7 @@ function log(line) {
|
|
|
96459
96875
|
}
|
|
96460
96876
|
function launchDetachedInstall(installCommand, version) {
|
|
96461
96877
|
mkdirSync42(CONFIG_DIR2, { recursive: true, mode: 448 });
|
|
96462
|
-
const configFile =
|
|
96878
|
+
const configFile = join85(CONFIG_DIR2, "config.json");
|
|
96463
96879
|
const nodeScript = `
|
|
96464
96880
|
const { exec } = require("node:child_process");
|
|
96465
96881
|
const { readFileSync, renameSync, writeFileSync } = require("node:fs");
|
|
@@ -96578,8 +96994,8 @@ var init_autoUpdate = __esm({
|
|
|
96578
96994
|
init_config();
|
|
96579
96995
|
init_env();
|
|
96580
96996
|
init_installerDetection();
|
|
96581
|
-
CONFIG_DIR2 =
|
|
96582
|
-
LOG_FILE =
|
|
96997
|
+
CONFIG_DIR2 = join85(homedir12(), ".hyperframes");
|
|
96998
|
+
LOG_FILE = join85(CONFIG_DIR2, "auto-update.log");
|
|
96583
96999
|
PENDING_TIMEOUT_MS = 10 * 60 * 1e3;
|
|
96584
97000
|
}
|
|
96585
97001
|
});
|
|
@@ -96767,17 +97183,17 @@ var init_help = __esm({
|
|
|
96767
97183
|
// src/cli.ts
|
|
96768
97184
|
init_version();
|
|
96769
97185
|
init_dist();
|
|
96770
|
-
import { dirname as dirname30, join as
|
|
97186
|
+
import { dirname as dirname30, join as join86 } from "path";
|
|
96771
97187
|
import { fileURLToPath as fileURLToPath12 } from "url";
|
|
96772
|
-
import { existsSync as
|
|
97188
|
+
import { existsSync as existsSync75 } from "fs";
|
|
96773
97189
|
(() => {
|
|
96774
97190
|
const here = dirname30(fileURLToPath12(import.meta.url));
|
|
96775
|
-
const shader =
|
|
96776
|
-
const png =
|
|
96777
|
-
if (!process.env.HF_SHADER_WORKER_ENTRY &&
|
|
97191
|
+
const shader = join86(here, "shaderTransitionWorker.js");
|
|
97192
|
+
const png = join86(here, "pngDecodeBlitWorker.js");
|
|
97193
|
+
if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync75(shader)) {
|
|
96778
97194
|
process.env.HF_SHADER_WORKER_ENTRY = shader;
|
|
96779
97195
|
}
|
|
96780
|
-
if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY &&
|
|
97196
|
+
if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY && existsSync75(png)) {
|
|
96781
97197
|
process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY = png;
|
|
96782
97198
|
}
|
|
96783
97199
|
})();
|