hyperframes 0.8.3 → 0.8.4
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/README.md +23 -1
- package/dist/cli.js +2791 -1501
- package/dist/hyperframe-runtime.js +25 -25
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +25 -25
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/skills/hyperframes-cli/SKILL.md +2 -2
- package/dist/skills/hyperframes-cli/references/preview-render.md +8 -6
- package/dist/studio/assets/{hyperframes-player-C-CeZlk1.js → hyperframes-player-70BfjZRz.js} +1 -1
- package/dist/studio/assets/{index-BU-aDh5r.js → index-DEnjB744.js} +1 -1
- package/dist/studio/assets/{index-B4X3myFN.js → index-KH4Y5JCd.js} +202 -202
- package/dist/studio/assets/{index-BSDQyOWB.js → index-RQ7S6nvA.js} +1 -1
- package/dist/studio/{chunk-AZYHQC6V.js → chunk-ZALQ3CW7.js} +2 -2
- package/dist/studio/chunk-ZALQ3CW7.js.map +1 -0
- package/dist/studio/{domEditingLayers-7AMZ7GFI.js → domEditingLayers-XRVXRTNX.js} +2 -2
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +228 -157
- package/dist/studio/index.js.map +1 -1
- package/dist/templates/_shared/AGENTS.md +9 -4
- package/dist/templates/_shared/CLAUDE.md +9 -4
- package/package.json +1 -1
- package/dist/studio/chunk-AZYHQC6V.js.map +0 -1
- /package/dist/studio/{domEditingLayers-7AMZ7GFI.js.map → domEditingLayers-XRVXRTNX.js.map} +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";(()=>{var
|
|
1
|
+
"use strict";(()=>{var Yf=Object.create;var wi=Object.defineProperty;var Xf=Object.getOwnPropertyDescriptor;var Jf=Object.getOwnPropertyNames;var Qf=Object.getPrototypeOf,Zf=Object.prototype.hasOwnProperty;var em=(e,t,n)=>t in e?wi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var re=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var tm=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Jf(t))!Zf.call(e,i)&&i!==n&&wi(e,i,{get:()=>t[i],enumerable:!(r=Xf(t,i))||r.enumerable});return e};var nm=(e,t,n)=>(n=e!=null?Yf(Qf(e)):{},tm(t||!e||!e.__esModule?wi(n,"default",{value:e,enumerable:!0}):n,e));var ge=(e,t,n)=>em(e,typeof t!="symbol"?t+"":t,n);var Kl=re((nS,Eo)=>{var Q=String,jl=function(){return{isColorSupported:!1,reset:Q,bold:Q,dim:Q,italic:Q,underline:Q,inverse:Q,hidden:Q,strikethrough:Q,black:Q,red:Q,green:Q,yellow:Q,blue:Q,magenta:Q,cyan:Q,white:Q,gray:Q,bgBlack:Q,bgRed:Q,bgGreen:Q,bgYellow:Q,bgBlue:Q,bgMagenta:Q,bgCyan:Q,bgWhite:Q,blackBright:Q,redBright:Q,greenBright:Q,yellowBright:Q,blueBright:Q,magentaBright:Q,cyanBright:Q,whiteBright:Q,bgBlackBright:Q,bgRedBright:Q,bgGreenBright:Q,bgYellowBright:Q,bgBlueBright:Q,bgMagentaBright:Q,bgCyanBright:Q,bgWhiteBright:Q}};Eo.exports=jl();Eo.exports.createColors=jl});var Ao=re(()=>{});var Mr=re((oS,Jl)=>{"use strict";var Yl=Kl(),Xl=Ao(),kn=class e extends Error{constructor(t,n,r,i,o,a){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),a&&(this.plugin=a),typeof n<"u"&&typeof r<"u"&&(typeof n=="number"?(this.line=n,this.column=r):(this.line=n.line,this.column=n.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let n=this.source;t==null&&(t=Yl.isColorSupported);let r=c=>c,i=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=Yl.createColors(!0);i=p=>c(f(p)),r=p=>m(p),Xl&&(o=p=>Xl(p))}let a=n.split(/\r?\n/),l=Math.max(this.line-3,0),s=Math.min(this.line+2,a.length),u=String(s).length;return a.slice(l,s).map((c,m)=>{let f=l+1+m,p=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let v=20,x=Math.max(0,this.column-v),w=Math.max(this.column+v,this.endColumn+v),R=c.slice(x,w),T=r(p.replace(/\d/g," "))+c.slice(0,Math.min(this.column-1,v-1)).replace(/[^\t]/g," ");return i(">")+r(p)+o(R)+`
|
|
2
2
|
`+T+i("^")}let b=r(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return i(">")+r(p)+o(c)+`
|
|
3
3
|
`+b+i("^")}return" "+r(p)+o(c)}).join(`
|
|
4
4
|
`)}toString(){let t=this.showSourceCode();return t&&(t=`
|
|
5
5
|
|
|
6
6
|
`+t+`
|
|
7
|
-
`),this.name+": "+this.message+t}};
|
|
7
|
+
`),this.name+": "+this.message+t}};Jl.exports=kn;kn.default=kn});var Co=re((aS,Zl)=>{"use strict";var _0=/(<)(\/?style\b)/gi,w0=/(<)(!--)/g;function pt(e){return typeof e!="string"||!e.includes("<")?e:e.replace(_0,"\\3c $2").replace(w0,"\\3c $2")}var Ql={after:`
|
|
8
8
|
`,beforeClose:`
|
|
9
9
|
`,beforeComment:`
|
|
10
10
|
`,beforeDecl:`
|
|
11
11
|
`,beforeOpen:" ",beforeRule:`
|
|
12
|
-
`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function
|
|
13
|
-
`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(
|
|
12
|
+
`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function T0(e){return e[0].toUpperCase()+e.slice(1)}var Fn=class{constructor(t){this.builder=t}atrule(t,n){let r=t.raws,i="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof r.afterName<"u"?i+=r.afterName:o&&(i+=" "),t.nodes)this.block(t,i+o);else{let a=(r.between||"")+(n?";":"");this.builder(pt(i+o+a),t)}}beforeAfter(t,n){let r;t.type==="decl"?r=this.raw(t,null,"beforeDecl"):t.type==="comment"?r=this.raw(t,null,"beforeComment"):n==="before"?r=this.raw(t,null,"beforeRule"):r=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(r.includes(`
|
|
13
|
+
`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(pt(n+r)+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(pt(i)),this.builder("}",t,"end")}body(t){let n=t.nodes,r=n.length-1;for(;r>0&&n[r].type==="comment";)r-=1;let i=this.raw(t,"semicolon"),o=t.type==="document";for(let a=0;a<n.length;a++){let l=n[a],s=this.raw(l,"before");s&&this.builder(o?s:pt(s)),this.stringify(l,r!==a||i)}}comment(t){let n=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder(pt("/*"+n+t.text+r+"*/"),t)}decl(t,n){let r=t.raws,i=this.raw(t,"between","colon"),o=t.prop+i+this.rawValue(t,"value");t.important&&(o+=r.important||" !important"),n&&(o+=";"),this.builder(pt(o),t)}document(t){this.body(t)}raw(t,n,r){let i;if(r||(r=n),n&&(i=t.raws[n],typeof i<"u"))return i;let o=t.parent;if(r==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return Ql[r];let a=t.root(),l=a.rawCache||(a.rawCache={});if(typeof l[r]<"u")return l[r];if(r==="before"||r==="after")return this.beforeAfter(t,r);{let s="raw"+T0(r);this[s]?i=this[s](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<"u")return!1})}return typeof i>"u"&&(i=Ql[r]),l[r]=i,i}rawBeforeClose(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return n=r.raws.after,n.includes(`
|
|
14
14
|
`)&&(n=n.replace(/[^\n]+$/,"")),!1}),n&&(n=n.replace(/\S/g,"")),n}rawBeforeComment(t,n){let r;return t.walkComments(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`
|
|
15
15
|
`)&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(t,n){let r;return t.walkDecls(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`
|
|
16
16
|
`)&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeOpen(t){let n;return t.walk(r=>{if(r.type!=="decl"&&(n=r.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(r=>{if(r.nodes&&(r.parent!==t||t.first!==r)&&typeof r.raws.before<"u")return n=r.raws.before,n.includes(`
|
|
17
17
|
`)&&(n=n.replace(/[^\n]+$/,"")),!1}),n&&(n=n.replace(/\S/g,"")),n}rawColon(t){let n;return t.walkDecls(r=>{if(typeof r.raws.between<"u")return n=r.raws.between.replace(/[^\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length===0&&(n=r.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(r=>{let i=r.parent;if(i&&i!==t&&i.parent&&i.parent===t&&typeof r.raws.before<"u"){let o=r.raws.before.split(`
|
|
18
|
-
`);return n=o[o.length-1],n=n.replace(/\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:
|
|
19
|
-
`?(n=1,r+=1):n+=1}return i}var Ln=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[
|
|
20
|
-
`?(n=1,r+=1):n+=1;return{column:n,line:r,offset:a}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,r={column:this.source.start.column,line:this.source.start.line,offset:tt(n,this.source.start)},i=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:tt(n,this.source.end)+1}:{column:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(tt(n,this.source.start),tt(n,this.source.end)).indexOf(t.word);a!==-1&&(r=this.positionInside(a),i=this.positionInside(a+t.word.length))}else t.start?r={column:t.start.column,line:t.start.line,offset:tt(n,t.start)}:t.index&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:tt(n,t.end)}:typeof t.endIndex=="number"?i=this.positionInside(t.endIndex):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new y0().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=S0){t.stringify&&(t=t.stringify);let n="";return t(this,r=>{n+=r}),n}warn(t,n,r={}){let i={node:this};for(let o in r)i[o]=r[o];return t.warn(n,i)}};Yl.exports=Ln;Ln.default=Ln});var In=re((VS,Xl)=>{"use strict";var E0=Nn(),Dn=class extends E0{constructor(t){super(t),this.type="comment"}};Xl.exports=Dn;Dn.default=Dn});var On=re((zS,Jl)=>{"use strict";var A0=Nn(),Pn=class extends A0{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Jl.exports=Pn;Pn.default=Pn});var mt=re((qS,au)=>{"use strict";var Ql=In(),Zl=On(),C0=Nn(),{isClean:eu,my:tu}=Mr(),wo,nu,ru,_o;function iu(e){return e.map(t=>(t.nodes&&(t.nodes=iu(t.nodes)),delete t.source,t))}function ou(e){if(e[eu]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)ou(t)}var We=class e extends C0{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=iu(nu(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new Zl(t)]}else if(t.selector||t.selectors)t=[new _o(t)];else if(t.name)t=[new wo(t)];else if(t.text)t=[new Ql(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[tu]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[eu]&&ou(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};We.registerParse=e=>{nu=e};We.registerRule=e=>{_o=e};We.registerAtRule=e=>{wo=e};We.registerRoot=e=>{ru=e};au.exports=We;We.default=We;We.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,wo.prototype):e.type==="rule"?Object.setPrototypeOf(e,_o.prototype):e.type==="decl"?Object.setPrototypeOf(e,Zl.prototype):e.type==="comment"?Object.setPrototypeOf(e,Ql.prototype):e.type==="root"&&Object.setPrototypeOf(e,ru.prototype),e[tu]=!0,e.nodes&&e.nodes.forEach(t=>{We.rebuild(t)})}});var Lr=re(($S,lu)=>{"use strict";var su=mt(),qt=class extends su{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};lu.exports=qt;qt.default=qt;su.registerAtRule(qt)});var Nr=re((jS,du)=>{"use strict";var w0=mt(),uu,cu,wt=class extends w0{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new uu(new cu,this,t).stringify()}};wt.registerLazyResult=e=>{uu=e};wt.registerProcessor=e=>{cu=e};du.exports=wt;wt.default=wt});var mu=re((KS,fu)=>{var _0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",T0=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},R0=(e=21)=>{let t="",n=e|0;for(;n--;)t+=_0[Math.random()*64|0];return t};fu.exports={nanoid:R0,customAlphabet:T0}});var Dr=re(()=>{});var Ir=re(()=>{});var To=re(()=>{});var pu=re(()=>{});var ko=re((rv,bu)=>{"use strict";var{existsSync:k0,readFileSync:F0}=pu(),{dirname:Ro,join:M0}=Dr(),{SourceMapConsumer:hu,SourceMapGenerator:gu}=Ir();function L0(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Hn=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let r=n.map?n.map.prev:void 0,i=this.loadMap(n.from,r);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Ro(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new hu(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\/json;charset=utf-?8;base64,/,r=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return L0(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\/\*\s*# sourceMappingURL=/g);if(!n)return;let r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\.map$/i.test(t))&&(this.root=Ro(t),k0(t)))return this.mapFile=t,F0(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let r=n(t);if(r){let i=this.loadFile(r,t,!0);if(!i)throw new Error("Unable to load previous source map: "+r.toString());return i}}else{if(n instanceof hu)return gu.fromSourceMap(n).toString();if(n instanceof gu)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 r=this.annotation;t&&(r=M0(Ro(t),r));let i=this.loadFile(r,t,!1);if(i)try{this.json=JSON.parse(i.replace(/^\)]}'[^\n]*\n/,""))}catch{return}return i}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};bu.exports=Hn;Hn.default=Hn});var Gn=re((iv,Eu)=>{"use strict";var{nanoid:N0}=mu(),{isAbsolute:Lo,resolve:No}=Dr(),{SourceMapConsumer:D0,SourceMapGenerator:I0}=Ir(),{fileURLToPath:xu,pathToFileURL:Pr}=To(),yu=Fr(),P0=ko(),Fo=So(),Mo=Symbol("lineToIndexCache"),O0=!!(D0&&I0),Su=!!(No&&Lo);function vu(e){if(e[Mo])return e[Mo];let t=e.css.split(`
|
|
21
|
-
`),n=new Array(t.length),r=0;for(let i=0,o=t.length;i<o;i++)n[i]=r,r+=t[i].length+1;return e[
|
|
22
|
-
`," "];return
|
|
18
|
+
`);return n=o[o.length-1],n=n.replace(/\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:pt(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(pt(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};Zl.exports=Fn;Fn.default=Fn});var Mn=re((sS,eu)=>{"use strict";var R0=Co();function _o(e,t){new R0(t).stringify(e)}eu.exports=_o;_o.default=_o});var Nr=re((lS,wo)=>{"use strict";wo.exports.isClean=Symbol("isClean");wo.exports.my=Symbol("my")});var Dn=re((uS,tu)=>{"use strict";var k0=Mr(),F0=Co(),M0=Mn(),{isClean:Nn,my:N0}=Nr();function To(e,t){let n=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r)||r==="proxyCache")continue;let i=e[r],o=typeof i;r==="parent"&&o==="object"?t&&(n[r]=t):r==="source"?n[r]=i:Array.isArray(i)?n[r]=i.map(a=>To(a,n)):(o==="object"&&i!==null&&(i=To(i)),n[r]=i)}return n}function nt(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,r=1,i=0;for(let o=0;o<e.length;o++){if(r===t.line&&n===t.column){i=o;break}e[o]===`
|
|
19
|
+
`?(n=1,r+=1):n+=1}return i}var Ln=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Nn]=!1,this[N0]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let r of t[n])typeof r.clone=="function"?this.append(r.clone()):this.append(r)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=To(this);for(let r in t)n[r]=t[r];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:r,start:i}=this.rangeBy(n);return this.source.input.error(t,{column:i.column,line:i.line},{column:r.column,line:r.line},n)}return new k0(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[Nn]=!0}markDirty(){if(this[Nn]){this[Nn]=!1;let t=this;for(;t=t.parent;)t[Nn]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,o=r.slice(nt(r,this.source.start),nt(r,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,r=this.source.start.line,i="document"in this.source.input?this.source.input.document:this.source.input.css,o=nt(i,this.source.start),a=o+t;for(let l=o;l<a;l++)i[l]===`
|
|
20
|
+
`?(n=1,r+=1):n+=1;return{column:n,line:r,offset:a}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,r={column:this.source.start.column,line:this.source.start.line,offset:nt(n,this.source.start)},i=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:nt(n,this.source.end)+1}:{column:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(nt(n,this.source.start),nt(n,this.source.end)).indexOf(t.word);a!==-1&&(r=this.positionInside(a),i=this.positionInside(a+t.word.length))}else t.start?r={column:t.start.column,line:t.start.line,offset:nt(n,t.start)}:t.index&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:nt(n,t.end)}:typeof t.endIndex=="number"?i=this.positionInside(t.endIndex):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new F0().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=M0){t.stringify&&(t=t.stringify);let n="";return t(this,r=>{n+=r}),n}warn(t,n,r={}){let i={node:this};for(let o in r)i[o]=r[o];return t.warn(n,i)}};tu.exports=Ln;Ln.default=Ln});var Pn=re((cS,nu)=>{"use strict";var L0=Dn(),In=class extends L0{constructor(t){super(t),this.type="comment"}};nu.exports=In;In.default=In});var Hn=re((dS,ru)=>{"use strict";var D0=Dn(),On=class extends D0{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};ru.exports=On;On.default=On});var ht=re((fS,fu)=>{"use strict";var iu=Pn(),ou=Hn(),I0=Dn(),{isClean:au,my:su}=Nr(),Ro,lu,uu,ko;function cu(e){return e.map(t=>(t.nodes&&(t.nodes=cu(t.nodes)),delete t.source,t))}function du(e){if(e[au]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)du(t)}var Ve=class e extends I0{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=cu(lu(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new ou(t)]}else if(t.selector||t.selectors)t=[new ko(t)];else if(t.name)t=[new Ro(t)];else if(t.text)t=[new iu(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[su]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[au]&&du(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};Ve.registerParse=e=>{lu=e};Ve.registerRule=e=>{ko=e};Ve.registerAtRule=e=>{Ro=e};Ve.registerRoot=e=>{uu=e};fu.exports=Ve;Ve.default=Ve;Ve.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,Ro.prototype):e.type==="rule"?Object.setPrototypeOf(e,ko.prototype):e.type==="decl"?Object.setPrototypeOf(e,ou.prototype):e.type==="comment"?Object.setPrototypeOf(e,iu.prototype):e.type==="root"&&Object.setPrototypeOf(e,uu.prototype),e[su]=!0,e.nodes&&e.nodes.forEach(t=>{Ve.rebuild(t)})}});var Lr=re((mS,pu)=>{"use strict";var mu=ht(),$t=class extends mu{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};pu.exports=$t;$t.default=$t;mu.registerAtRule($t)});var Dr=re((pS,bu)=>{"use strict";var P0=ht(),hu,gu,Tt=class extends P0{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new hu(new gu,this,t).stringify()}};Tt.registerLazyResult=e=>{hu=e};Tt.registerProcessor=e=>{gu=e};bu.exports=Tt;Tt.default=Tt});var yu=re((hS,xu)=>{var O0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",H0=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},G0=(e=21)=>{let t="",n=e|0;for(;n--;)t+=O0[Math.random()*64|0];return t};xu.exports={nanoid:G0,customAlphabet:H0}});var Ir=re(()=>{});var Pr=re(()=>{});var Fo=re(()=>{});var vu=re(()=>{});var No=re((CS,Au)=>{"use strict";var{existsSync:B0,readFileSync:U0}=vu(),{dirname:Mo,join:W0}=Ir(),{SourceMapConsumer:Su,SourceMapGenerator:Eu}=Pr();function V0(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Gn=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let r=n.map?n.map.prev:void 0,i=this.loadMap(n.from,r);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Mo(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new Su(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\/json;charset=utf-?8;base64,/,r=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return V0(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\/\*\s*# sourceMappingURL=/g);if(!n)return;let r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\.map$/i.test(t))&&(this.root=Mo(t),B0(t)))return this.mapFile=t,U0(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let r=n(t);if(r){let i=this.loadFile(r,t,!0);if(!i)throw new Error("Unable to load previous source map: "+r.toString());return i}}else{if(n instanceof Su)return Eu.fromSourceMap(n).toString();if(n instanceof Eu)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 r=this.annotation;t&&(r=W0(Mo(t),r));let i=this.loadFile(r,t,!1);if(i)try{this.json=JSON.parse(i.replace(/^\)]}'[^\n]*\n/,""))}catch{return}return i}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Au.exports=Gn;Gn.default=Gn});var Bn=re((_S,Ru)=>{"use strict";var{nanoid:z0}=yu(),{isAbsolute:Io,resolve:Po}=Ir(),{SourceMapConsumer:q0,SourceMapGenerator:$0}=Pr(),{fileURLToPath:Cu,pathToFileURL:Or}=Fo(),_u=Mr(),j0=No(),Lo=Ao(),Do=Symbol("lineToIndexCache"),K0=!!(q0&&$0),wu=!!(Po&&Io);function Tu(e){if(e[Do])return e[Do];let t=e.css.split(`
|
|
21
|
+
`),n=new Array(t.length),r=0;for(let i=0,o=t.length;i<o;i++)n[i]=r,r+=t[i].length+1;return e[Do]=n,n}var jt=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!wu||/^\w+:\/\//.test(n.from)||Io(n.from)?this.file=n.from:this.file=Po(n.from)),wu&&K0){let r=new j0(this.css,n);if(r.text){this.map=r;let i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+z0(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,l,s,u;if(n&&typeof n=="object"){let m=n,f=r;if(typeof m.offset=="number"){s=m.offset;let p=this.fromOffset(s);n=p.line,r=p.col}else n=m.line,r=m.column,s=this.fromLineAndColumn(n,r);if(typeof f.offset=="number"){l=f.offset;let p=this.fromOffset(l);a=p.line,o=p.col}else a=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(r)s=this.fromLineAndColumn(n,r);else{s=n;let m=this.fromOffset(s);n=m.line,r=m.col}let c=this.origin(n,r,a,o);return c?u=new _u(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,i.plugin):u=new _u(t,a===void 0?n:{column:r,line:n},a===void 0?r:{column:o,line:a},this.css,this.file,i.plugin),u.input={column:r,endColumn:o,endLine:a,endOffset:l,line:n,offset:s,source:this.css},this.file&&(Or&&(u.input.url=Or(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return Tu(this)[t-1]+n-1}fromOffset(t){let n=Tu(this),r=n[n.length-1],i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,a;for(;i<o;)if(a=i+(o-i>>1),t<n[a])o=a-1;else if(t>=n[a+1])i=a+1;else{i=a;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\w+:\/\//.test(t)?t:Po(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,r,i){if(!this.map)return!1;let o=this.map.consumer(),a=o.originalPositionFor({column:n,line:t});if(!a.source)return!1;let l;typeof r=="number"&&(l=o.originalPositionFor({column:i,line:r}));let s;Io(a.source)?s=Or(a.source):s=new URL(a.source,this.map.consumer().sourceRoot||Or(this.map.mapFile));let u={column:a.column,endColumn:l&&l.column,endLine:l&&l.line,line:a.line,url:s.toString()};if(s.protocol==="file:")if(Cu)u.file=Cu(s);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(a.source);return c&&(u.source=c),u}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};Ru.exports=jt;jt.default=jt;Lo&&Lo.registerInput&&Lo.registerInput(jt)});var Kt=re((wS,Nu)=>{"use strict";var ku=ht(),Fu,Mu,gt=class extends ku{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=super.normalize(t);if(n){if(r==="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 i)o.raws.before=n.raws.before}return i}removeChild(t,n){let r=this.index(t);return!n&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}toResult(t={}){return new Fu(new Mu,this,t).stringify()}};gt.registerLazyResult=e=>{Fu=e};gt.registerProcessor=e=>{Mu=e};Nu.exports=gt;gt.default=gt;ku.registerRoot(gt)});var Oo=re((TS,Lu)=>{"use strict";var Un={comma(e){return Un.split(e,[","],!0)},space(e){let t=[" ",`
|
|
22
|
+
`," "];return Un.split(e,t)},split(e,t,n){let r=[],i="",o=!1,a=0,l=!1,s="",u=!1;for(let c of e)u?u=!1:c==="\\"?u=!0:l?c===s&&(l=!1):c==='"'||c==="'"?(l=!0,s=c):c==="("?a+=1:c===")"?a>0&&(a-=1):a===0&&t.includes(c)&&(o=!0),o?(i!==""&&r.push(i.trim()),i="",o=!1):i+=c;return(n||i!=="")&&r.push(i.trim()),r}};Lu.exports=Un;Un.default=Un});var Hr=re((RS,Iu)=>{"use strict";var Du=ht(),Y0=Oo(),Yt=class extends Du{get selectors(){return Y0.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\s*/):null,r=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};Iu.exports=Yt;Yt.default=Yt;Du.registerRule(Yt)});var Ou=re((kS,Pu)=>{"use strict";var X0=Lr(),J0=Pn(),Q0=Hn(),Z0=Bn(),eh=No(),th=Kt(),nh=Hr();function Wn(e,t){if(Array.isArray(e))return e.map(i=>Wn(i));let{inputs:n,...r}=e;if(n){t=[];for(let i of n){let o={...i,__proto__:Z0.prototype};o.map&&(o.map={...o.map,__proto__:eh.prototype}),t.push(o)}}if(r.nodes&&(r.nodes=e.nodes.map(i=>Wn(i,t))),r.source){let{inputId:i,...o}=r.source;r.source=o,i!=null&&(r.source.input=t[i])}if(r.type==="root")return new th(r);if(r.type==="decl")return new Q0(r);if(r.type==="rule")return new nh(r);if(r.type==="comment")return new J0(r);if(r.type==="atrule")return new X0(r);throw new Error("Unknown node type: "+e.type)}Pu.exports=Wn;Wn.default=Wn});var Go=re((FS,Vu)=>{"use strict";var{dirname:Gr,relative:Gu,resolve:Bu,sep:Uu}=Ir(),{SourceMapConsumer:Wu,SourceMapGenerator:Br}=Pr(),{pathToFileURL:Hu}=Fo(),rh=Bn(),ih=!!(Wu&&Br),oh=!!(Gr&&Bu&&Gu&&Uu),Ho=class{constructor(t,n,r,i){this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`
|
|
23
23
|
`;this.css.includes(`\r
|
|
24
24
|
`)&&(n=`\r
|
|
25
|
-
`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),r=t.root||
|
|
26
|
-
`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),
|
|
27
|
-
`),n=l.length-o):n+=l.length,s&&u!=="start"){let c=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==c.last||c.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let r=this.opts.to?Hr(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=Hr(Du(r,this.mapOpts.annotation)));let i=Nu(r,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new $0(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let r=n.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(Lu){let r=Lu(t).toString();return this.memoizedFileURLs.set(t,r),r}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;Iu==="\\"&&(t=t.replace(/\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Ou.exports=Io});var Bu=re((cv,Gu)=>{"use strict";var Br=/[\t\n\f\r "#'()/;[\\\]{}]/g,Ur=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,Y0=/.[\r\n"'(/\\]/,Hu=/[\da-f]/i;Gu.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,p,b,S=r.length,x=0,_=[],R=[],T=-1;function F(){return x}function M(w){throw t.error("Unclosed "+w,x)}function A(){return R.length===0&&x>=S}function v(w){if(R.length)return R.pop();if(x>=S)return;let L=w?w.ignoreUnclosed:!1;switch(o=r.charCodeAt(x),o){case 10:case 32:case 9:case 13:case 12:{s=x;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);c=["space",r.slice(x,s)],x=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let D=String.fromCharCode(o);c=[D,D,x];break}case 40:{if(b=_.length?_.pop()[1]:"",p=r.charCodeAt(x+1),b==="url"&&p!==39&&p!==34&&p!==32&&p!==10&&p!==9&&p!==12&&p!==13){s=x;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||L){s=x;break}else M("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",r.slice(x,s+1),x,s],x=s}else x<=T?c=["(","(",x]:(s=r.indexOf(")",x+1),a=r.slice(x,s+1),s===-1||Y0.test(a)?(T=s===-1?S:s,c=["(","(",x]):(c=["brackets",a,x,s],x=s));break}case 39:case 34:{u=o===39?"'":'"',s=x;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||L){s=x+1;break}else M("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",r.slice(x,s+1),x,s],x=s;break}case 64:{Br.lastIndex=x+1,Br.test(r),Br.lastIndex===0?s=r.length-1:s=Br.lastIndex-2,c=["at-word",r.slice(x,s+1),x,s],x=s;break}case 92:{for(s=x,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,Hu.test(r.charAt(s)))){for(;Hu.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}c=["word",r.slice(x,s+1),x,s],x=s;break}default:{o===47&&r.charCodeAt(x+1)===42?(s=r.indexOf("*/",x+2)+1,s===0&&(i||L?s=r.length:M("comment")),c=["comment",r.slice(x,s+1),x,s],x=s):(Ur.lastIndex=x+1,Ur.test(r),Ur.lastIndex===0?s=r.length-1:s=Ur.lastIndex-2,c=["word",r.slice(x,s+1),x,s],_.push(c),x=s);break}}return x++,c}function E(w){R.push(w)}return{back:E,endOfFile:A,nextToken:v,position:F}}});var zu=re((dv,Vu)=>{"use strict";var X0=Lr(),J0=In(),Q0=On(),Z0=jt(),Uu=Or(),eh=Bu(),Wu={empty:!0,space:!0};function th(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var Oo=class{constructor(t){this.input=t,this.root=new Z0,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new X0;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new J0;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let r=t[1].slice(2,-2);if(!r.trim())n.text="",n.raws.left=r,n.raws.right="";else{let i=r.match(/^(\s*)([^]*\S)(\s*)$/);n.text=i[2],n.raws.left=i[1],n.raws.right=i[3]}}createTokenizer(){this.tokenizer=eh(this.input)}decl(t,n){let r=new Q0;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||th(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(r.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let p=c[f][0];if(m.trim().startsWith("!")&&p!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(r.important=!0,r.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new Uu;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,r,i){let o,a,l=r.length,s="",u=!0,c,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",c=r[f+1]?r[f+1][0]:"empty",!Wu[m]&&!Wu[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((p,b)=>p+b[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new Uu;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let n,r="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)r+=t.shift()[1];return r}spacesFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],n==="space");)r=t.pop()[1]+r;return r}stringFrom(t,n){let r="";for(let i=n;i<t.length;i++)r+=t[i][1];return t.splice(n,t.length-n),r}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Vu.exports=Oo});var Vr=re((fv,qu)=>{"use strict";var nh=mt(),rh=Gn(),ih=zu();function Wr(e,t){let n=new rh(e,t),r=new ih(n);try{r.parse()}catch(i){throw i}return r.root}qu.exports=Wr;Wr.default=Wr;nh.registerParse(Wr)});var Ho=re((mv,$u)=>{"use strict";var Wn=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}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}};$u.exports=Wn;Wn.default=Wn});var zr=re((pv,ju)=>{"use strict";var oh=Ho(),Vn=class{get content(){return this.css}constructor(t,n,r){this.processor=t,this.messages=[],this.root=n,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let r=new oh(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};ju.exports=Vn;Vn.default=Vn});var Go=re((hv,Yu)=>{"use strict";var Ku={};Yu.exports=function(t){Ku[t]||(Ku[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var Wo=re((bv,Zu)=>{"use strict";var ah=mt(),sh=Nr(),lh=Po(),uh=Vr(),Xu=zr(),ch=jt(),dh=Fn(),{isClean:Ye,my:fh}=Mr(),gv=Go(),mh={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},ph={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},hh={Once:!0,postcssPlugin:!0,prepare:!0},Yt=0;function zn(e){return typeof e=="object"&&typeof e.then=="function"}function Qu(e){let t=!1,n=mh[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,Yt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,Yt,n+"Exit"]:[n,n+"Exit"]}function Ju(e){let t;return e.type==="document"?t=["Document",Yt,"DocumentExit"]:e.type==="root"?t=["Root",Yt,"RootExit"]:t=Qu(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Bo(e){return e[Ye]=!1,e.nodes&&e.nodes.forEach(t=>Bo(t)),e}var Uo={},ht=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,r){this.stringified=!1,this.processed=!1;let i;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))i=Bo(n);else if(n instanceof e||n instanceof Xu)i=Bo(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let o=uh;r.syntax&&(o=r.syntax.parse),r.parser&&(o=r.parser),o.parse&&(o=o.parse);try{i=o(n,r)}catch(a){this.processed=!0,this.error=a}i&&!i[fh]&&ah.rebuild(i)}this.result=new Xu(t,i,r),this.helpers={...Uo,postcss:Uo,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let r=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=r.postcssPlugin,t.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(n,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([n,i])};for(let n of this.plugins)if(typeof n=="object")for(let r in n){if(!ph[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!hh[r])if(typeof n[r]=="object")for(let i in n[r])i==="*"?t(n,r,n[r][i]):t(n,r+"-"+i.toLowerCase(),n[r][i]);else typeof n[r]=="function"&&t(n,r,n[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],r=this.runOnRoot(n);if(zn(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ye];){t[Ye]=!0;let n=[Ju(t)];for(;n.length>0;){let r=this.visitTick(n);if(zn(r))try{await r}catch(i){let o=n[n.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[n,r]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let i=t.nodes.map(o=>r(o,this.helpers));await Promise.all(i)}else await r(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(r=>t.Once(r,this.helpers));return zn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=dh;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new lh(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(zn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ye];)t[Ye]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[r,i]of t){this.result.lastPlugin=r;let o;try{o=i(n,this.helpers)}catch(a){throw this.handleError(a,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(zn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Ye]){l[Ye]=!0,t.push(Ju(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===Yt){r.nodes&&r.nodes.length&&(r[Ye]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Ye]=!0;let n=Qu(t);for(let r of n)if(r===Yt)t.nodes&&t.each(i=>{i[Ye]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};ht.registerPostcss=e=>{Uo=e};Zu.exports=ht;ht.default=ht;ch.registerLazyResult(ht);sh.registerLazyResult(ht)});var tc=re((yv,ec)=>{"use strict";var gh=Po(),bh=Vr(),xh=zr(),yh=Fn(),xv=Go(),qn=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=bh;try{t=n(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,r){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=r,this._map=void 0;let i=yh;this.result=new xh(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let a=new gh(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};ec.exports=qn;qn.default=qn});var rc=re((Sv,nc)=>{"use strict";var Sh=Nr(),vh=Wo(),Eh=tc(),Ah=jt(),_t=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Eh(this,t,n):new vh(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};nc.exports=_t;_t.default=_t;Ah.registerProcessor(_t);Sh.registerProcessor(_t)});var dc=re((vv,cc)=>{"use strict";var ic=Lr(),oc=In(),Ch=mt(),wh=Fr(),ac=On(),sc=Nr(),_h=Mu(),Th=Gn(),Rh=Wo(),kh=Do(),Fh=Nn(),Mh=Vr(),Vo=rc(),Lh=zr(),lc=jt(),uc=Or(),Nh=Fn(),Dh=Ho();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new Vo(e)}le.plugin=function(t,n){let r=!1;function i(...a){console&&console.warn&&!r&&(r=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:
|
|
25
|
+
`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),r=t.root||Gr(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Wu(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,n,this.toUrl(this.path(r)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`
|
|
26
|
+
`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),oh&&ih&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Br.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Br({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 Br({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,r="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,a;this.stringify(this.root,(l,s,u)=>{if(this.css+=l,s&&u!=="end"&&(i.generated.line=t,i.generated.column=n-1,s.source&&s.source.start?(i.source=this.sourcePath(s),i.original.line=s.source.start.line,i.original.column=s.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=l.match(/\n/g),a?(t+=a.length,o=l.lastIndexOf(`
|
|
27
|
+
`),n=l.length-o):n+=l.length,s&&u!=="start"){let c=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==c.last||c.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let r=this.opts.to?Gr(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=Gr(Bu(r,this.mapOpts.annotation)));let i=Gu(r,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new rh(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let r=n.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(Hu){let r=Hu(t).toString();return this.memoizedFileURLs.set(t,r),r}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;Uu==="\\"&&(t=t.replace(/\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Vu.exports=Ho});var $u=re((MS,qu)=>{"use strict";var Ur=/[\t\n\f\r "#'()/;[\\\]{}]/g,Wr=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,ah=/.[\r\n"'(/\\]/,zu=/[\da-f]/i;qu.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,p,b,v=r.length,x=0,w=[],R=[],T=-1;function F(){return x}function M(_){throw t.error("Unclosed "+_,x)}function A(){return R.length===0&&x>=v}function S(_){if(R.length)return R.pop();if(x>=v)return;let N=_?_.ignoreUnclosed:!1;switch(o=r.charCodeAt(x),o){case 10:case 32:case 9:case 13:case 12:{s=x;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);c=["space",r.slice(x,s)],x=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let D=String.fromCharCode(o);c=[D,D,x];break}case 40:{if(b=w.length?w.pop()[1]:"",p=r.charCodeAt(x+1),b==="url"&&p!==39&&p!==34&&p!==32&&p!==10&&p!==9&&p!==12&&p!==13){s=x;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||N){s=x;break}else M("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",r.slice(x,s+1),x,s],x=s}else x<=T?c=["(","(",x]:(s=r.indexOf(")",x+1),a=r.slice(x,s+1),s===-1||ah.test(a)?(T=s===-1?v:s,c=["(","(",x]):(c=["brackets",a,x,s],x=s));break}case 39:case 34:{u=o===39?"'":'"',s=x;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||N){s=x+1;break}else M("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",r.slice(x,s+1),x,s],x=s;break}case 64:{Ur.lastIndex=x+1,Ur.test(r),Ur.lastIndex===0?s=r.length-1:s=Ur.lastIndex-2,c=["at-word",r.slice(x,s+1),x,s],x=s;break}case 92:{for(s=x,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,zu.test(r.charAt(s)))){for(;zu.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}c=["word",r.slice(x,s+1),x,s],x=s;break}default:{o===47&&r.charCodeAt(x+1)===42?(s=r.indexOf("*/",x+2)+1,s===0&&(i||N?s=r.length:M("comment")),c=["comment",r.slice(x,s+1),x,s],x=s):(Wr.lastIndex=x+1,Wr.test(r),Wr.lastIndex===0?s=r.length-1:s=Wr.lastIndex-2,c=["word",r.slice(x,s+1),x,s],w.push(c),x=s);break}}return x++,c}function E(_){R.push(_)}return{back:E,endOfFile:A,nextToken:S,position:F}}});var Xu=re((NS,Yu)=>{"use strict";var sh=Lr(),lh=Pn(),uh=Hn(),ch=Kt(),ju=Hr(),dh=$u(),Ku={empty:!0,space:!0};function fh(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var Bo=class{constructor(t){this.input=t,this.root=new ch,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new sh;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new lh;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let r=t[1].slice(2,-2);if(!r.trim())n.text="",n.raws.left=r,n.raws.right="";else{let i=r.match(/^(\s*)([^]*\S)(\s*)$/);n.text=i[2],n.raws.left=i[1],n.raws.right=i[3]}}createTokenizer(){this.tokenizer=dh(this.input)}decl(t,n){let r=new uh;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||fh(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(r.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let p=c[f][0];if(m.trim().startsWith("!")&&p!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(r.important=!0,r.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new ju;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,r,i){let o,a,l=r.length,s="",u=!0,c,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",c=r[f+1]?r[f+1][0]:"empty",!Ku[m]&&!Ku[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((p,b)=>p+b[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new ju;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let n,r="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)r+=t.shift()[1];return r}spacesFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],n==="space");)r=t.pop()[1]+r;return r}stringFrom(t,n){let r="";for(let i=n;i<t.length;i++)r+=t[i][1];return t.splice(n,t.length-n),r}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Yu.exports=Bo});var zr=re((LS,Ju)=>{"use strict";var mh=ht(),ph=Bn(),hh=Xu();function Vr(e,t){let n=new ph(e,t),r=new hh(n);try{r.parse()}catch(i){throw i}return r.root}Ju.exports=Vr;Vr.default=Vr;mh.registerParse(Vr)});var Uo=re((DS,Qu)=>{"use strict";var Vn=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}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}};Qu.exports=Vn;Vn.default=Vn});var qr=re((IS,Zu)=>{"use strict";var gh=Uo(),zn=class{get content(){return this.css}constructor(t,n,r){this.processor=t,this.messages=[],this.root=n,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let r=new gh(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};Zu.exports=zn;zn.default=zn});var Wo=re((PS,tc)=>{"use strict";var ec={};tc.exports=function(t){ec[t]||(ec[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var qo=re((HS,oc)=>{"use strict";var bh=ht(),xh=Dr(),yh=Go(),vh=zr(),nc=qr(),Sh=Kt(),Eh=Mn(),{isClean:Xe,my:Ah}=Nr(),OS=Wo(),Ch={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},_h={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},wh={Once:!0,postcssPlugin:!0,prepare:!0},Xt=0;function qn(e){return typeof e=="object"&&typeof e.then=="function"}function ic(e){let t=!1,n=Ch[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,Xt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,Xt,n+"Exit"]:[n,n+"Exit"]}function rc(e){let t;return e.type==="document"?t=["Document",Xt,"DocumentExit"]:e.type==="root"?t=["Root",Xt,"RootExit"]:t=ic(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Vo(e){return e[Xe]=!1,e.nodes&&e.nodes.forEach(t=>Vo(t)),e}var zo={},bt=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,r){this.stringified=!1,this.processed=!1;let i;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))i=Vo(n);else if(n instanceof e||n instanceof nc)i=Vo(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let o=vh;r.syntax&&(o=r.syntax.parse),r.parser&&(o=r.parser),o.parse&&(o=o.parse);try{i=o(n,r)}catch(a){this.processed=!0,this.error=a}i&&!i[Ah]&&bh.rebuild(i)}this.result=new nc(t,i,r),this.helpers={...zo,postcss:zo,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let r=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=r.postcssPlugin,t.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(n,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([n,i])};for(let n of this.plugins)if(typeof n=="object")for(let r in n){if(!_h[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!wh[r])if(typeof n[r]=="object")for(let i in n[r])i==="*"?t(n,r,n[r][i]):t(n,r+"-"+i.toLowerCase(),n[r][i]);else typeof n[r]=="function"&&t(n,r,n[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],r=this.runOnRoot(n);if(qn(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Xe];){t[Xe]=!0;let n=[rc(t)];for(;n.length>0;){let r=this.visitTick(n);if(qn(r))try{await r}catch(i){let o=n[n.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[n,r]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let i=t.nodes.map(o=>r(o,this.helpers));await Promise.all(i)}else await r(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(r=>t.Once(r,this.helpers));return qn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=Eh;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new yh(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(qn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Xe];)t[Xe]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[r,i]of t){this.result.lastPlugin=r;let o;try{o=i(n,this.helpers)}catch(a){throw this.handleError(a,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(qn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Xe]){l[Xe]=!0,t.push(rc(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===Xt){r.nodes&&r.nodes.length&&(r[Xe]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Xe]=!0;let n=ic(t);for(let r of n)if(r===Xt)t.nodes&&t.each(i=>{i[Xe]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};bt.registerPostcss=e=>{zo=e};oc.exports=bt;bt.default=bt;Sh.registerLazyResult(bt);xh.registerLazyResult(bt)});var sc=re((BS,ac)=>{"use strict";var Th=Go(),Rh=zr(),kh=qr(),Fh=Mn(),GS=Wo(),$n=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=Rh;try{t=n(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,r){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=r,this._map=void 0;let i=Fh;this.result=new kh(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let a=new Th(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};ac.exports=$n;$n.default=$n});var uc=re((US,lc)=>{"use strict";var Mh=Dr(),Nh=qo(),Lh=sc(),Dh=Kt(),Rt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Lh(this,t,n):new Nh(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};lc.exports=Rt;Rt.default=Rt;Dh.registerProcessor(Rt);Mh.registerProcessor(Rt)});var bc=re((WS,gc)=>{"use strict";var cc=Lr(),dc=Pn(),Ih=ht(),Ph=Mr(),fc=Hn(),mc=Dr(),Oh=Ou(),Hh=Bn(),Gh=qo(),Bh=Oo(),Uh=Dn(),Wh=zr(),$o=uc(),Vh=qr(),pc=Kt(),hc=Hr(),zh=Mn(),qh=Uo();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new $o(e)}le.plugin=function(t,n){let r=!1;function i(...a){console&&console.warn&&!r&&(r=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:
|
|
28
28
|
https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
|
|
29
|
-
https://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.postcssVersion=new
|
|
29
|
+
https://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.postcssVersion=new $o().version,l}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(a,l,s){return le([i(s)]).process(a,l)},i};le.stringify=zh;le.parse=Wh;le.fromJSON=Oh;le.list=Bh;le.comment=e=>new dc(e);le.atRule=e=>new cc(e);le.decl=e=>new fc(e);le.rule=e=>new hc(e);le.root=e=>new pc(e);le.document=e=>new mc(e);le.CssSyntaxError=Ph;le.Declaration=fc;le.Container=Ih;le.Processor=$o;le.Document=mc;le.Comment=dc;le.Warning=qh;le.AtRule=cc;le.Result=Vh;le.Input=Hh;le.Rule=hc;le.Root=pc;le.Node=Uh;Gh.registerPostcss(le);gc.exports=le;le.default=le});function cr(){return globalThis}function L(e,t){if(typeof window>"u")return;let n=cr(),r=n.__hf?.onSwallowed;if(r)try{r({label:e,error:t})}catch(i){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}var rm=["seconds-time","rational-fps","seek-keep-playing","composition-manifest-v1"];function im(e,t){let n=Math.abs(e),r=Math.abs(t);for(;r!==0;){let i=n%r;n=r,r=i}return n||1}function om(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=im(r,n);return{numerator:r/i,denominator:n/i}}function Ti(e){if(typeof e!="object"||e===null)return null;let t=e;return!Number.isFinite(t.numerator)||!Number.isFinite(t.denominator)||(t.numerator??0)<=0||(t.denominator??0)<=0?null:Number(t.numerator)/Number(t.denominator)}function dr(e){return{protocolVersion:1,capabilities:rm,fps:om(e)}}function am(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ts(e,t=30){if(typeof e!="object"||e===null)return{status:"legacy",fps:t};let n=e;if(n.protocolVersion===void 0)return{status:"legacy",fps:t};if(n.protocolVersion!==1)return{status:"unsupported",code:"unsupported_protocol_version",receivedVersion:n.protocolVersion};let r=Ti(n.fps);return r===null||!am(n.capabilities)?{status:"unsupported",code:"invalid_protocol_metadata",receivedVersion:n.protocolVersion}:{status:"supported",fps:r,metadata:n}}var ns=30;function rs(e){ns=Number.isFinite(e)&&e>0?e:30}function ye(e){try{window.parent.postMessage({...e,...dr(ns)},"*")}catch(t){L("bridge.postMessage",t)}}var sm={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(lm(e,t),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>cm(e)};function lm(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=Ti(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function um(e){let t=ts(e);return t.status!=="unsupported"?!1:(ye({source:"hf-preview",type:"diagnostic",code:`runtime.protocol.${t.code}`,details:{receivedVersion:typeof t.receivedVersion=="string"||typeof t.receivedVersion=="number"?t.receivedVersion:null}}),!0)}function cm(e){let t=e.selectors,n=e.duration||800;t&&dm(t,n)}function is(e){let t=n=>{let r=n.data;if(!r||r.source!=="hf-parent"||r.type!=="control"||um(r))return;let i=r.action;if(typeof i!="string")return;let o=sm[i];o&&o(r,e)};return window.addEventListener("message",t),ye({source:"hf-preview",type:"ready"}),t}function dm(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`
|
|
30
30
|
.__hf-flash {
|
|
31
31
|
outline: 2px solid rgba(59, 130, 246, 0.6) !important;
|
|
32
32
|
outline-offset: 2px !important;
|
|
@@ -36,13 +36,13 @@ https://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.p
|
|
|
36
36
|
0% { outline-color: rgba(59, 130, 246, 0.8); }
|
|
37
37
|
100% { outline-color: transparent; }
|
|
38
38
|
}
|
|
39
|
-
`,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(i=>{i.classList.add("__hf-flash"),setTimeout(()=>i.classList.remove("__hf-flash"),t)})}catch(r){N("bridge.flashElements.querySelector",r)}}var Ti=null;function ns(e){Ti=e}function Le(e,t){if(Ti)try{Ti({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){N("runtime.analytics.site1",n)}}function am(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,r=t.length;for(;n<r&&t[n]==="-";)n++;for(;r>n&&t[r-1]==="-";)r--;let i=t.slice(n,r);return i.length>0?i:"node"}function Nt(e){return`--${am(e)}`}function rs(e){let t=new Map;for(let n of e){let r=Nt(n),i=t.get(r);i?i.includes(n)||i.push(n):t.set(r,[n])}return[...t.values()].filter(n=>n.length>1)}function os(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,un(i));let n=fr(),r={...t,...n};for(let i of e)ki(i,r);return r}var is=new Set;function as(e){let t=e?.getAttribute("data-composition-variables");if(!t)return[];let n;try{n=JSON.parse(t)}catch{return[]}return Array.isArray(n)?n.filter(r=>!!r&&typeof r=="object"):[]}function sm(e,t){return t?.trim()||e.getAttribute("data-composition-id")?.trim()||e.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()||"composition"}function lm(e){return Array.isArray(e.options)?e.options.map(t=>t&&typeof t=="object"?t.value:t).filter(t=>typeof t=="string"||typeof t=="number"):[]}function um(e,t){if(typeof e.id!="string")return null;let n=t[e.id];if(n==null||"default"in e&&String(n)===String(e.default))return null;let r=lm(e);return r.length===0||r.some(i=>String(i)===String(n))?null:{id:e.id,value:n,allowed:r}}function ki(e,t,n){if(!e)return;let r=as(e);if(r.length===0)return;let i=sm(e,n);for(let o of r){let a=um(o,t);if(!a)continue;let l=`${i}|${a.id}|${String(a.value)}`;if(is.has(l))continue;is.add(l);let s="default"in o?JSON.stringify(o.default):"the composition default";console.warn(`[hyperframes] runtime_unknown_enum_value: ${i} variable "${a.id}" got ${JSON.stringify(a.value)}, which is not a declared option (${a.allowed.join(", ")}). Rendering ${s} instead.`)}}function un(e){let t={};for(let n of as(e))typeof n.id!="string"||!("default"in n)||(t[n.id]=n.default);return t}var Ri="data-hf-css-vars";function dr(e){return"style"in e&&typeof e.style?.setProperty=="function"}function Fi(e,t){if(!dr(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=Nt(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(Ri,n.join(" "))}function ss(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=Nt(i);((dr(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function ls(e){if(!dr(e))return;let t=e.getAttribute(Ri);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(Ri)}}function us(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let i of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(i);let n=fr(),r=[];for(let i of t)r.push(...cm(i,n,e.defaultView));for(let i of rs(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${Nt(i[0]??"")} \u2014 rename one to avoid cross-talk`)}function cm(e,t,n){if(!dr(e))return[];let r=un(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=Nt(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return Fi(e,i),Object.keys(r)}function cs(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function fr(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ds(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(p){N("runtime.adapters.css.site5",p)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){N("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){N("runtime.adapters.css.site2",f)}}},a=u=>{for(let c of u)try{c.play()}catch(m){N("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){N("runtime.adapters.css.site4",m)}},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:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=r(c.el);for(let f of n(c.el)){let p=i(f,m);p.endSeconds!=null&&(u=Math.max(u,p.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=r(m.el),p=Math.max(0,c-f)*1e3,b=m.animations;if(b.length>0){o(b,p);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function fs(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function ms(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfAnime=n}catch(e){N("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let r of n)try{typeof r.seek=="function"&&r.seek(t)}catch(i){N("runtime.adapters.animejs.site2",i)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){N("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){N("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function hs(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){N("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let r of n)try{if(Mi(r))r.goToAndStop(t*1e3,!1);else if(Li(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??1,o=Math.min(100,t/i*100);r.seek(o)}}}catch(i){N("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(Mi(t)||Li(t))&&t.pause()}catch(n){N("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let r of e){let i=null;try{i=dm(r)}catch(o){N("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function ps(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function dm(e){return Mi(e)?ps(e.totalFrames,e.frameRate):Li(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:ps(e.totalFrames,e.frameRate):null}function Mi(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function Li(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var Ni=-1,mr=new Set,Dt,Di=0;function gs(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){N("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));mr.add(i),i.then(o=>{mr.delete(i)&&o.status==="rejected"&&Dt===void 0&&(Dt={reason:o.reason})})}function pr(e){e!==Ni&&(Ni=e,gs(e))}function hr(e){Ni=e,gs(e)}function bs(){return Di>0}async function Ii(){Di+=1;let e=Dt;try{for(await Promise.resolve();mr.size>0;){let r=(await Promise.all([...mr])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=Dt;if(e===void 0&&(e=t),Dt===t&&(Dt=void 0),e)throw e.reason}finally{Di-=1}}function xs(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,c()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(c,m,f){try{r?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,pr(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function $e(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let r=e.getInstances();if(r.length===0)return null;let i=r.filter(o=>!n.has(o));return i.length===0?null:t||(t=Promise.allSettled(i.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function ys(){return $e({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Ss(){return $e({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function vs(){return $e({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function Es(){return $e({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function As(){return $e({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var fm=250;function Cs(){let e=null,t=0,n=null,r=()=>{n!==null&&(window.clearInterval(n),n=null)},i=()=>{n===null&&document.querySelector("[data-composition-id][data-requires-webgpu]")&&(n=window.setInterval(()=>{e!==null&&(bs()||(window.__hfTypegpuTime=e,hr(e)))},fm))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,pr(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}function ws(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function _s(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(n?.source instanceof HTMLVideoElement){let o=ws(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Ts(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(u instanceof HTMLVideoElement){let c=ws(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function Rs(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=x=>{let _=Number(x.currentTime);return Number.isFinite(_)&&_>0?_:0},c=(x,_)=>_<=0?x:x>=_?Math.max(0,x-_):x,m=(x,_)=>{let R=l.get(x);if(R)return R;let T={compositionTimeMs:_,animationTimeMs:e?c(u(x),_):u(x)};return l.set(x,T),T},f=(x,_)=>{if(!a.has(x)){a.add(x);let R=()=>{a.delete(x)};try{x.addEventListener("finish",R,{once:!0}),x.addEventListener("cancel",R,{once:!0})}catch(T){N("runtime.adapters.waapi.site4",T)}}m(x,_)},p=(x,_)=>{for(let R of x)f(R,_)},b=()=>{if(n||typeof Element>"u")return;let x=Element.prototype;if(typeof x.animate!="function"||x.__hfOriginalAnimate)return;let _=x.animate;try{Object.defineProperty(x,"__hfOriginalAnimate",{value:_,configurable:!0});let R=function(...T){let F=_.apply(this,T);return f(F,t),F};x.animate=R,r=x,i=_,o=R,n=!0}catch{}},S=x=>{let _=null;try{_=x.effect?.getComputedTiming?.()??null}catch(F){N("runtime.adapters.waapi.site4",F)}if(!_)return{};let R=Number(_.endTime);return Number.isFinite(R)?{endSeconds:(l.get(x)?.compositionTimeMs??0)/1e3+R/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,b(),p(s(),t)},seek:x=>{let _=Math.max(0,(Number(x.time)||0)*1e3);t=_,(!e||a.size>0)&&p(s(),e?_:0);for(let R of a){let T=e?m(R,_):m(R,0),F=T.animationTimeMs+Math.max(0,_-T.compositionTimeMs);try{R.currentTime=F}catch(M){N("runtime.adapters.waapi.site1",M)}try{R.pause()}catch(M){N("runtime.adapters.waapi.site2",M)}}},pause:()=>{e||p(s(),t);for(let x of a)try{x.pause()}catch(_){N("runtime.adapters.waapi.site3",_)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(x){N("runtime.adapters.waapi.site5",x)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let x=0;for(let _ of s()){let R=S(_);R.endSeconds!=null&&(x=Math.max(x,R.endSeconds))}return x>0?x:null}}}var It=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),s1=Object.freeze([It.start,It.duration,It.trackIndex]),l1=Object.freeze([It.derivedEnd]),u1=Object.freeze([It.derivedEnd,It.legacyTrack]);function Ge(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var Fs=/^[A-Za-z0-9_.:-]+$/;function Ms(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function ks(e,t){let n=t;for(;n>=0&&Ms(e,n);)n--;return n}function mm(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function pm(e){let t=e.length-1;if(!Ms(e,t))return null;let n=ks(e,t);return e[n]==="."&&(n=ks(e,n-1)),n+1}function hm(e){let t=pm(e);if(t==null)return null;let n=mm(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!Fs.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function Pi(e){let t=(e??"").trim();if(!t)return null;let n=Ge(t);if(n!=null)return{kind:"absolute",value:n};if(Fs.test(t))return{kind:"reference",refId:t,offset:0};let r=hm(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}function Ls(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function ve(e){return Ge(e)}function Te(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:typeof HTMLMediaElement<"u"&&e instanceof HTMLMediaElement?e.defaultPlaybackRate:1;return Ls(n)}function cn(e){let t=n=>{let r=ve(n);return r==null?null:Number.isFinite(r)&&r>=0?r:null};return t(e.getAttribute("data-playback-start"))??t(e.getAttribute("data-media-start"))??0}function Ze(e,t){return gm(t,cn(e),Te(e))}function gm(e,t,n){return Number.isFinite(e)?Math.max(0,e-t)/Ls(n):null}function bm(e,t,n){let r=e.filter(o=>Number.isFinite(o.time)&&Number.isFinite(o.volume)).map(o=>({time:Math.max(0,o.time-t),volume:Math.max(0,Math.min(1,o.volume))})).sort((o,a)=>o.time-a.time),i=[];for(let o of r){let a=i.at(-1);a&&Math.abs(a.time-o.time)<1e-9?a.volume=o.volume:i.push(o)}return i.length===0||i[0].time>0&&i.unshift({time:0,volume:Math.max(0,Math.min(1,n))}),i}function Ns(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let r=e[n],i=e[n+1]??r,o=i.time-r.time,a=o<=0?0:Math.min(1,Math.max(0,(t-r.time)/o));return r.volume+(i.volume-r.volume)*a}function xm(e,t,n,r){let i=e.at(-1);!i||Math.abs(i.volume-n.volume)>1e-4?(i&&t&&t.time>i.time&&e.push(t),e.push(n)):r&&n.time>i.time&&e.push(n)}function ym(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function Ds(e,t){let n=ve(e.dataset.start)??0,r=ve(e.dataset.end)??void 0,i=ve(e.dataset.duration)??void 0,o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=ym(e.dataset.volume)??1,l=Math.max(0,Math.min(1,a));return{start:n,end:o,staticVolume:l}}function Sm(e,t,n,r){let{start:i,end:o,staticVolume:a}=Ds(e,n);e.volume=a;let l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),c=[],m;for(let p=s;p<=u+1e-6;p=Math.min(u,p+l)){t(p);let b=Number(e.volume);if(Number.isFinite(b)){let S=Math.max(0,Math.min(1,b)),x={time:Number(p.toFixed(6)),volume:Number(S.toFixed(6))};xm(c,m,x,p===u),m=x}if(p===u)break}return c.some(p=>Math.abs(p.volume-a)>1e-4)?c:null}function Is(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},a=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,l=Sm(e,o,n,60);if(Number.isFinite(a)&&o(a),l){let{start:s,staticVolume:u}=Ds(e,n),c=bm(l,s,u);c.length>0&&r.set(e,c)}}var br="data-fx-chain",x1=br.slice(5),Ps=1,dn=(e="frequency",t="Frequency",n=1e3,r=20,i=2e4)=>({kind:"number",key:e,label:t,unit:"Hz",min:r,max:i,step:1,default:n,scale:"log",automatable:!0}),Oi=(e=.707,t="Bandwidth \u2014 higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:e,scale:"log",automatable:!0,hint:t}),gr=(e=-40,t=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:e,max:t,step:.1,default:n,automatable:!0}),Os={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},Hs=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[gr(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[dn("frequency","Frequency",1e3),gr(-40,40,0),Oi(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[dn("frequency","Frequency",200,20,2e3),gr(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[dn("frequency","Frequency",4e3,500,2e4),gr(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies \u2014 the usual fix for rumble on a voice.",params:[dn("frequency","Cutoff",300,20,2e4),Oi(.707),Os],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies \u2014 darkens or muffles a track.",params:[dn("frequency","Cutoff",8e3,100,2e4),Oi(.707),Os],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Hard ceiling \u2014 nothing gets past the limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times \u2014 a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],Hi=new Map(Hs.map(e=>[e.id,e]));function fn(e){return Hi.get(e)}var y1=Hs.map(e=>e.id);function mn(e,t){let n=Hi.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];if(i.kind==="enum"){let l=i.options.some(s=>s.value===o);r[i.key]=l?o:i.default;continue}let a=typeof o=="number"?o:typeof o=="string"&&o.trim()!==""?Number(o):Number.NaN;r[i.key]=Number.isFinite(a)?Math.min(i.max,Math.max(i.min,a)):i.default}return r}var lt=class extends Error{constructor(t){super(t),this.name="AudioFxChainError"}};function Gs(e){let t;try{t=JSON.parse(e)}catch(i){throw new lt(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new lt("Chain file must be a JSON object.");let n=t;if(n.version!==Ps)throw new lt(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new lt("Chain file is missing a `nodes` array.");let r=n.nodes.map((i,o)=>{if(typeof i!="object"||i===null)throw new lt(`Node ${o} is not an object.`);let a=i;if(typeof a.type!="string"||!Hi.has(a.type))throw new lt(`Node ${o} has unknown effect type: ${String(a.type)}`);return{type:a.type,...typeof a.id=="string"&&a.id?{id:a.id}:{},...a.fromCarve===!0?{fromCarve:!0}:{},...typeof a.fromPreset=="string"&&a.fromPreset?{fromPreset:a.fromPreset}:{},...typeof a.label=="string"&&a.label?{label:a.label}:{},...typeof a.fromEq=="string"&&a.fromEq?{fromEq:a.fromEq}:{},...a.fromLeveller===!0?{fromLeveller:!0}:{},...typeof a.presetAmount=="number"&&Number.isFinite(a.presetAmount)?{presetAmount:Math.min(1,Math.max(0,a.presetAmount))}:{},enabled:a.enabled!==!1,params:mn(a.type,a.params??void 0)}});return{version:Ps,nodes:r}}function pn(e){return e.nodes.filter(t=>t.enabled!==!1)}var Pt="data-automation",E1=Pt.slice(5),xr=1,vm=512,et=class extends Error{constructor(t){super(t),this.name="AudioAutomationError"}},Ot="volume";function gn(e){if(e===Ot)return{kind:"volume"};let t=e.split(".");if(t.length===3&&t[0]==="fx"&&t[1]===Em){let i=t[2];return i?{kind:"preset",presetId:i}:null}if(t.length!==3||t[0]!=="fx")return null;let[,n,r]=t;return!n||!r?null:{kind:"fx",nodeId:n,param:r}}var Em="preset";var Am={min:0,max:1,step:.01,unit:"",label:"Amount",scale:"linear",default:1},yr={min:0,max:1,step:.01,unit:"",label:"Volume",scale:"linear",default:1};function Gi(e,t){let n=gn(e);if(!n)return null;if(n.kind==="volume")return yr;if(n.kind==="preset")return t?.nodes.some(l=>l.fromPreset===n.presetId)?{...Am,label:`${n.presetId} \xB7 Amount`}:null;let r=t?.nodes.find(a=>a.id===n.nodeId);if(!r)return null;let i=fn(r.type),o=i?.params.find(a=>a.key===n.param);return!o||o.kind!=="number"?null:{min:o.min,max:o.max,step:o.step,unit:o.unit,label:`${i?.label??r.type} \xB7 ${o.label}`,scale:o.scale==="log"&&o.min>0?"log":"linear",default:o.default}}function hn(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(typeof e=="string"&&e.trim()!==""){let t=Number(e);return Number.isFinite(t)?t:null}return null}function Cm(e){let t=hn(e);return t===null||t===0?0:Math.min(1,Math.max(-1,t))}function Bs(e,t){let n=hn(e),r=hn(t);if(n===null||r===null)return null;let i=l=>Math.min(.999,Math.max(.001,l)),o=i(n),a=i(r);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function wm(e){let t=Cm(e?.curve),n=Bs(e?.viaX,e?.viaY);return{...t?{curve:t}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function _m(e,t){let n=hn(e?.t),r=hn(e?.v);if(n===null||r===null)return null;let i=t?Math.min(t.max,Math.max(t.min,r)):r;return{t:Math.max(0,n),v:i,...wm(e)}}function Us(e,t){let n=e.map(i=>_m(i,t)).filter(i=>i!==null).sort((i,o)=>i.t-o.t),r=[];for(let i of n)r.length>0&&r[r.length-1].t===i.t?r[r.length-1]=i:r.push(i);return r.slice(0,vm)}function Tm(e){let t=[];for(let n of e.lanes){if(!gn(n.target))continue;let r=n.target===Ot?yr:null,i=Us(n.points??[],r);i.length>0&&t.push({target:n.target,points:i})}return{version:xr,lanes:t}}function Ws(e,t){let n=[];for(let r of e.lanes){let i=Gi(r.target,t);if(!i)continue;let o=Us(r.points,i);o.length>0&&n.push({target:r.target,points:o})}return{version:xr,lanes:n}}function Sr(e){let t;try{t=JSON.parse(e)}catch(i){throw new et(`Automation is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new et("Automation must be a JSON object.");let n=t;if(n.version!==xr)throw new et(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new et("Automation is missing a `lanes` array.");let r=n.lanes.map((i,o)=>{if(typeof i!="object"||i===null)throw new et(`Lane ${o} is not an object.`);let a=i;if(typeof a.target!="string"||!gn(a.target))throw new et(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new et(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Tm({version:xr,lanes:r})}function Rm(e,t){return t?Math.pow(e,Math.pow(2,2*t)):e}function km(e,t){let n=e-.5,r=t-.5,i=.999,o=1e6,a=n>0?n/(i-e):n<0?-n/(e-(1-i)):0,l=r>0?r/(i-t):r<0?-r/(t-(1-i)):0,s=Math.min(o,Math.max(1,a,l));return{cx:e+n/s,cy:t+r/s,w:s}}function Fm(e,t,n){let{cx:r,cy:i,w:o}=km(t,n),a=2-2*o,l=e*a-1+2*o*r,s=-e*a-2*o*r,u=Mm(l,s,e),c=1-u,m=c*c+2*o*u*c+u*u;return m>0?(2*o*i*u*c+u*u)/m:e}function Mm(e,t,n){if(Math.abs(e)<1e-12)return Math.abs(t)<1e-12?n:-n/t;let r=Math.sqrt(Math.max(0,t*t-4*e*n)),i=(-t+r)/(2*e),o=(-t-r)/(2*e),a=l=>l>=-1e-9&&l<=1+1e-9;return a(i)?Math.min(1,Math.max(0,i)):a(o)?Math.min(1,Math.max(0,o)):n}function Lm(e,t){let n=Bs(t.viaX,t.viaY);return n?Fm(Math.min(1,Math.max(0,e)),n.x,n.y):Rm(e,t.curve)}function Nm(e,t,n,r){return r==="log"&&e>0&&t>0?Math.exp(Math.log(e)+(Math.log(t)-Math.log(e))*n):e+(t-e)*n}function bn(e,t,n="linear"){let r=e.points;if(r.length===0)return 0;let i=r[0];if(t<=i.t)return i.v;let o=r[r.length-1];if(t>=o.t)return o.v;let a=0,l=r.length-1;for(;l-a>1;){let m=a+l>>1;r[m].t<=t?a=m:l=m}let s=r[a],u=r[l],c=u.t-s.t;return c<=0?u.v:Nm(s.v,u.v,Lm((t-s.t)/c,s),n)}function Vs(e){return e.points.length<=1||e.points.every(t=>t.v===e.points[0].v)}function zs(e,t,n,r,i="linear"){let o=Math.max(2,Math.floor(r)),a=new Float32Array(o),l=n-t;for(let s=0;s<o;s+=1)a[s]=bn(e,t+l*s/(o-1),i);return a}var vr=new Map,Dm=64;function Im(e){let t=vr.get(e);if(t!==void 0)return t;let n=null;try{n=Sr(e).lanes.find(r=>r.target===Ot)??null}catch{n=null}return vr.size>Dm&&vr.clear(),vr.set(e,n),n}function qs(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(Pt):null)??"";if(!n)return null;let r=Im(n);return!r||r.points.length===0?null:bn(r,t)}function je(e){return cn(e)}function $s(e){let t=e.isVideo?e.explicitDuration??e.sourceDuration:e.sourceDuration,n=(e.isVideo?[t,e.hostRemaining]:[t,e.hostRemaining,e.explicitDuration]).filter(r=>r!=null&&Number.isFinite(r)&&r>=0);return n.length>0?Math.min(...n):null}function js(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(a=>e.shouldIncludeElement?.(a)):t.filter(a=>a.hasAttribute("data-start")),r=[],i=[],o=0;for(let a of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=je(a),u=Te(a),c=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<0)&&m!=null&&(f=Math.max(0,(m-s)/u));let p=Number.isFinite(f)&&f>=0,b=p?l+f:Number.POSITIVE_INFINITY,S=Number.parseFloat(a.dataset.volume??""),x={el:a,start:l,mediaStart:s,duration:p?f:Number.POSITIVE_INFINITY,end:b,volume:Number.isFinite(S)?S:null,playbackRate:u,loop:c,sourceDuration:m};r.push(x),a.tagName==="VIDEO"&&i.push(x),Number.isFinite(b)&&(o=Math.max(o,b))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var Bi=new WeakMap,xn=new WeakMap,Ui=new WeakSet,Gt=new WeakSet;function Pm(e){if(Gt.has(e))return;Gt.add(e);let t=()=>Gt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Om=3;function Hm(e){return e.error!=null||e.networkState===Om}var Wi=new WeakMap;function Ht(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function Vi(e){Bi.delete(e),xn.delete(e),Ui.delete(e),Wi.delete(e)}function Ks(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=o&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration;if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||l)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let j=n.sourceDuration-n.mediaStart;j>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%j)}let u=Ht(e.userVolume??1),c=Ht(n.volume??1),m=Wi.get(r),f=Ht(r.volume),p,b=qs(r,e.timeSeconds-n.start);if(b!==null)p=Ht(b);else if(n.volumeKeyframes&&n.volumeKeyframes.length>0){let j=e.timeSeconds-n.start;p=Ht(Ns(n.volumeKeyframes,j))}else e.isWebAudioRouted?.(r)?p=c:m===void 0||Math.abs(f-m)>1e-4?p=f:p=c;let S=Ht(p*u);r.volume=S,Wi.set(r,S),e.onElementVolume?.(r,S,p),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(j){N("runtime.media.site1",j)}let x=.04,_=2,R=r.currentTime||0,T=Math.abs(R-i),F=i-R,M=Bi.get(r);Bi.set(r,F);let A=M===void 0,v=!A&&Math.abs(F-M)>.5,E=T>3,w=a&&T>.001||r.ended&&l&&T>.001||T>.5&&(A||v||E),L=r.tagName==="VIDEO"&&!r.paused,D=M!==void 0&&Math.abs(F-M)<.004,H=!1;if(!L&&!w&&!A&&D&&T>x){let j=(xn.get(r)??0)+1;xn.set(r,j),j>=_&&(H=!0,xn.set(r,0))}else T<=x&&xn.set(r,0);let z=!L&&e.forceSync&&T>.02;if(w||H||z){if(!(r.tagName==="VIDEO"&&r.id&&!!document.getElementById(`__render_frame_${r.id}__`))){try{r.currentTime=i}catch(k){N("runtime.media.site2",k)}if(Math.abs(r.currentTime-i)>.5&&!Ui.has(r)){Ui.add(r),r.load();try{r.currentTime=i}catch(k){N("runtime.media.site3",k)}}}Gt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Gt.has(r)&&!Hm(r)?(Pm(r),r.play().catch(j=>{Gt.delete(r),(j&&typeof j=="object"&&"name"in j?String(j.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}Vi(r),r.paused||r.pause()}}var Gm="hf-proxy",Ys="runtime_media_proxy_fallback",Xs="runtime_media_proxy_unavailable",yn=new WeakSet,Js=new WeakSet;function Er(e){return e.currentSrc||e.src}function zi(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:e instanceof HTMLVideoElement&&!!e.id&&!!document.getElementById(`__render_frame_${e.id}__`)}function qi(e){let t=Er(e);if(!t)return null;let n;try{n=new URL(t,document.baseURI)}catch{return null}if(n.origin!==window.location.origin)return null;try{return decodeURIComponent(n.pathname)}catch{return n.pathname}}function Bm(e,t){let n=null;for(let r of Object.keys(t))e.endsWith(r)&&(n===null||r.length>n.length)&&(n=r);return n?t[n]??null:null}function Um(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function $i(e,t){return t[e]??Bm(e,t)??Um(e,t)}function Wm(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(Gm,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var Vm={cross_origin:"video reports zero decodable width but its source is cross-origin; no local proxy can be served for it",proxy_playback_failed:"the authoring proxy itself failed to decode; render output is unaffected",browser_safe_codec:"the file errored but its codec is browser-decodable; a proxy cannot help (the file itself is likely corrupt)",invalid_source_url:"the media source URL is malformed and cannot be proxied"};function Ct(e,t,n){if(Js.has(e))return;Js.add(e);let r=Vm[t];ye({source:"hf-preview",type:"diagnostic",code:Xs,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${Xs}: "${n}" (${t}): ${r}`)}function ji(e,t=null,n="reactive"){if(yn.has(e))return;let r=Er(e),i;try{i=Wm(r,t)}catch(l){N("runtime.mediaProxy.swap",l),Ct(e,"invalid_source_url",r);return}yn.add(e),Vi(e),e.src=i,e.load();let o=t?.codecName??null;ye({source:"hf-preview",type:"diagnostic",code:Ys,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${Ys}: "${r}" uses a codec (${o??"unknown"}) this browser can't decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function Qs(e){if(zi(e)||!(e instanceof HTMLVideoElement)||yn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=qi(e);if(n===null)return;let r=$i(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||ji(e,r,"proactive")}function Zs(e){if(zi(e)||!(e instanceof HTMLVideoElement)||e.videoWidth!==0)return;let t=Er(e);if(yn.has(e)){Ct(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=qi(e);if(r===null){Ct(e,"cross_origin",t);return}let i=$i(r,n);if(i&&!i.browserHostile){Ct(e,"browser_safe_codec",t);return}ji(e,i,"reactive")}function el(e){if(zi(e)||!(e instanceof HTMLVideoElement))return;let t=Er(e);if(yn.has(e)){Ct(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=qi(e);if(r===null){Ct(e,"cross_origin",t);return}let i=$i(r,n);if(i&&!i.browserHostile){Ct(e,"browser_safe_codec",t);return}ji(e,i,"tertiary")}var Ee=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);ge(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},zm=[0,0,0],qm=[1,1,1],Ar=64;function $m(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r==='"'&&(t=!t),r==="#"&&!t)return e.slice(0,n)}return e}function ut(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Ee(`Invalid number "${e}"`,t);return n}function tl(e,t,n){if(e.length!==3)throw new Ee(`${t} expects three numbers`,n);return[ut(e[0],n),ut(e[1],n),ut(e[2],n)]}function nl(e,t,n){if(!e)throw new Ee(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new Ee(`${t} must be an integer greater than 1`,n);return r}function jm(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Ee("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Km(e){let t=/^TITLE\s+"([^"]*)"\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\s+(.+)\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function Ym(e){return/^[+-]?(?:\d|\.\d)/.test(e)}function rl(e,t={}){let n=t.maxSize??Ar,r=null,i=zm,o=qm,a=null,l=null,s=[],u=e.replace(/^\uFEFF/,"").split(/\r?\n/);for(let m=0;m<u.length;m++){let f=m+1,p=$m(u[m]??"").trim();if(!p)continue;let b=p.split(/\s+/),S=(b[0]??"").toUpperCase(),x=b.slice(1);if(S==="TITLE"){r=Km(p);continue}if(S==="DOMAIN_MIN"){i=tl(x,S,f);continue}if(S==="DOMAIN_MAX"){o=tl(x,S,f);continue}if(S==="LUT_3D_INPUT_RANGE"){if(x.length!==2)throw new Ee(`${S} expects two numbers`,f);let _=ut(x[0],f),R=ut(x[1],f);if(R<=_)throw new Ee("LUT_3D_INPUT_RANGE max must exceed min",f);i=[_,_,_],o=[R,R,R];continue}if(S==="LUT_1D_SIZE"){a=nl(x[0],S,f);continue}if(S==="LUT_3D_SIZE"){if(l=nl(x[0],S,f),l>n)throw new Ee(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!Ym(S)){if(S.startsWith("LUT_"))throw new Ee(`Unsupported cube keyword ${S}`,f);continue}if(!l)throw a?new Ee("1D cube LUTs are not supported yet",f):new Ee("LUT data appears before LUT_3D_SIZE",f);if(b.length!==3)throw new Ee("LUT data rows must contain three numbers",f);s.push(ut(b[0],f),ut(b[1],f),ut(b[2],f))}if(a&&l)throw new Ee("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new Ee("1D cube LUTs are not supported yet"):new Ee("Missing LUT_3D_SIZE");jm(i,o);let c=l*l*l;if(s.length!==c*3)throw new Ee(`Expected ${c} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function Xm(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function Sn(e){return Math.round(Xm(e)*255)}function Ki(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=Sn(e.data[s]??0),i[u+1]=Sn(e.data[s+1]??0),i[u+2]=Sn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var il="rec709";var me={hueDegrees:{min:0,max:360,inclusiveMax:!1},unit:{min:0,max:1},signedUnit:{min:-1,max:1},secondaryHueRange:{min:0,max:180},secondaryHueSoftness:{min:0,max:180},secondaryHueCombinedMax:180,secondarySoftRangeSoftness:{min:0,max:.5},secondaryHueShift:{min:-180,max:180},effects:{asciiStyle:{min:0,max:7},bloom:{min:0,max:3},bloomRadius:{min:1,max:100},monoScreenShape:{min:0,max:4}}};var ol=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],al=["shadows","midtones","highlights"],sl=["master","red","green","blue"],ll=["hueVsHue","hueVsSaturation","hueVsLuma"];var ul=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],cl=["blur","pixelate","chromaBleed","tapeDamage","tapeTracking","tapeNoise","tapeSpeed","filmArtifacts","halftone","halftoneSize","twoInkPrint","twoInkPrintSize","ascii","asciiSize","asciiInvert","asciiStyle","asciiColor","asciiRotation","dither","ditherSize","bloom","bloomRadius","monoScreen","monoScreenSize","monoScreenAngle","monoScreenSpread","monoScreenShape","monoScreenInvert","scanlines","scanlineCount","scanlineSoftness","chromaticAberration","chromaticAngle","crtCurvature","digitalGlitch","digitalGlitchColorSplit","digitalGlitchLineTear","digitalGlitchPixelate","digitalGlitchBlockAmount","digitalGlitchBlockDisplacement","digitalGlitchBlockOpacity","digitalGlitchSpeed","engraving","engravingSpacing","engravingMinThickness","engravingMaxThickness","engravingAngle","engravingContrast","engravingSharpness","engravingWave","engravingWaveFrequency","crosshatch","crosshatchSpacing","crosshatchThickness","crosshatchAngle","crosshatchContrast","crosshatchEdges","crosshatchLineWeight","crosshatchWave","crosshatchWaveFrequency","kuwahara","kuwaharaRadius","kuwaharaSharpness","kuwaharaSaturation"];var H1=me.unit,G1=me.signedUnit,B1=me.effects;var Ke=1024,vn=16;function dl(e,t,n,r){let i=((2*e+t)*n-e*r)/(e+t);return Math.sign(i)!==Math.sign(n)?0:Math.sign(n)!==Math.sign(r)&&Math.abs(i)>3*Math.abs(n)?3*n:i}function Ae(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function Jm(e){let t=[],n=[],r=Ae(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=Ae(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=dl(Ae(t,0),Ae(t,1),i,Ae(n,1)),o[o.length-1]=dl(Ae(t,t.length-1),Ae(t,t.length-2),Ae(n,n.length-1),Ae(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=Ae(n,a-1),s=Ae(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=Ae(t,a-1),c=Ae(t,a),m=2*c+u,f=c+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function fl(e,t){if(e.length<2)throw new RangeError("A color curve requires at least two points");if(!Number.isInteger(t)||t<2)throw new RangeError("Curve LUT size must be at least 2");let n=Number.NEGATIVE_INFINITY;for(let[r,i]of e){if(!Number.isFinite(r)||!Number.isFinite(i))throw new TypeError("Color curve points must be finite");if(r<=n)throw new RangeError("Color curve inputs must be strictly increasing");n=r}}function Qm(e,t,n){if(!Number.isFinite(t)||!Number.isFinite(n)||t>=n)throw new RangeError("Curve output bounds must be finite and increasing");if(e.some(([,r])=>r<t||r>n))throw new RangeError(`Curve outputs must be between ${t} and ${n}`)}function Zm(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function ml(e,t,n,r,i){Qm(e,r,i);let o=Jm(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>Ae(e,l+1)[0];)l+=1;let c=Ae(e,l),m=Ae(e,l+1),f=Zm(u,c,m,Ae(o,l),Ae(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Bt(e,t=Ke){if(fl(e,t),e.length>vn)throw new RangeError(`A color curve supports at most ${vn} points`);if(e.some(([n])=>n<0||n>1))throw new RangeError("Color curve inputs must be between 0 and 1");if(e[0]?.[0]!==0||e[e.length-1]?.[0]!==1)throw new RangeError("Color curves must include input endpoints 0 and 1");return ml(e,t,n=>n/(t-1),0,1)}function Xi(e,t,n,r=Ke){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>vn)throw new RangeError(`A hue curve supports at most ${vn} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return fl(l,r),ml(l,r,s=>s/r*360,t,n)}var En="data-color-grading",An="data-hf-color-grading-source-hidden",_r="data-hf-authored-opacity",xl="__hf_color_grading_",tp=il,Zi={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},eo={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},to={blur:0,pixelate:0,chromaBleed:0,tapeDamage:0,tapeTracking:0,tapeNoise:1,tapeSpeed:.5,filmArtifacts:0,halftone:0,halftoneSize:0,twoInkPrint:0,twoInkPrintSize:0,ascii:0,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0,dither:0,ditherSize:0,bloom:0,bloomRadius:8,monoScreen:0,monoScreenSize:0,monoScreenAngle:0,monoScreenSpread:0,monoScreenShape:0,monoScreenInvert:0,scanlines:0,scanlineCount:0,scanlineSoftness:0,chromaticAberration:0,chromaticAngle:0,crtCurvature:0,digitalGlitch:0,digitalGlitchColorSplit:0,digitalGlitchLineTear:0,digitalGlitchPixelate:0,digitalGlitchBlockAmount:0,digitalGlitchBlockDisplacement:0,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:0,engraving:0,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9,crosshatch:0,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9,kuwahara:0,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5};var Tr=ol,yl=al,Sl=sl,vl=ll,ro=ul,io=cl,pl={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},hl={vignette:.18};function Ce(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...Zi,...n},details:{...eo,...r},effects:{...to,...i}}}var oo=[Ce("neutral","Neutral"),Ce("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ce("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ce("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ce("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ce("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ce("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ce("vintage-wash","Vintage Wash",pl,hl),Ce("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ce("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ce("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ce("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ce("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Ce("creator-camcorder","Creator Camcorder",{contrast:.08,highlights:-.05,shadows:.02,whites:.03,blacks:-.04,temperature:-.03,tint:-.015,vibrance:-.03,saturation:-.06},{vignette:.06,grain:.08,grainSize:.18,grainRoughness:.58},{chromaBleed:.55},.72),Ce("vhs-playback","VHS Playback",{contrast:-.04,saturation:-.08},{grain:.16,grainSize:.12,grainRoughness:.72},{tapeDamage:.82,tapeTracking:.85,tapeNoise:.3,tapeSpeed:.5,chromaBleed:.5,chromaticAberration:.18,scanlines:.35,scanlineCount:.17,scanlineSoftness:1,digitalGlitch:.32,digitalGlitchLineTear:.08,digitalGlitchSpeed:.5}),Ce("home-movie-8mm","8mm Home Movie",pl,{...hl,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Ce("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Ce("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],np=new Map(oo.map(e=>[e.id,e])),rp=/^\$(?:\{([A-Za-z0-9_.:-]+)\}|([A-Za-z0-9_.:-]+))$/,ip={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},Ut={hue:0,amount:0,level:0},gl={amount:me.unit,level:me.signedUnit},ct=[[0,0],[1,1]],Wt=[],op={hueVsHue:me.secondaryHueShift,hueVsSaturation:me.signedUnit,hueVsLuma:me.signedUnit},Ji={center:0,range:180,softness:0},Qi={min:0,max:1,softness:.05},ap={vignette:me.unit,vignetteMidpoint:me.unit,vignetteRoundness:me.signedUnit,vignetteFeather:me.unit,grain:me.unit,grainSize:me.unit,grainRoughness:me.unit},no=me.unit,sp=me.effects,El=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var lp=oo.filter(e=>El.some(t=>e.effects[t]>1e-4)),K1=oo.filter(e=>!lp.includes(e)),Y1={blur:{blur:.45},pixelate:{pixelate:.55},bloom:{bloom:.55,bloomRadius:8},chromaBleed:{chromaBleed:.55},tapeDamage:{tapeDamage:.65,tapeTracking:.55,tapeNoise:.25,tapeSpeed:.5},filmArtifacts:{filmArtifacts:.55},scanlines:{scanlines:.35,scanlineCount:.17,scanlineSoftness:1},chromaticAberration:{chromaticAberration:.15,chromaticAngle:0},crtCurvature:{crtCurvature:.2},digitalGlitch:{digitalGlitch:.55,digitalGlitchColorSplit:.25,digitalGlitchLineTear:.25,digitalGlitchPixelate:.15,digitalGlitchBlockAmount:.5,digitalGlitchBlockDisplacement:.25,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:.5},halftone:{halftone:.94,halftoneSize:.36},twoInkPrint:{twoInkPrint:1,twoInkPrintSize:.42},ascii:{ascii:1,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0},dither:{dither:1,ditherSize:.5},monoScreen:{monoScreen:1,monoScreenSize:.35,monoScreenAngle:.25,monoScreenSpread:.3,monoScreenShape:0,monoScreenInvert:0},engraving:{engraving:1,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9},crosshatch:{crosshatch:1,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9},kuwahara:{kuwahara:1,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5}},Al=[{path:"intensity",name:"--hf-color-grading-intensity",min:0,max:1},{path:"lut.intensity",name:"--hf-color-grading-lut-intensity",min:0,max:1},{path:"adjust.exposure",name:"--hf-color-grading-exposure",min:-2,max:2},{path:"effects.blur",name:"--hf-color-grading-blur",min:0,max:1},{path:"effects.bloom",name:"--hf-color-grading-bloom",min:0,max:3},{path:"effects.kuwahara",name:"--hf-color-grading-kuwahara",min:0,max:1},{path:"effects.pixelate",name:"--hf-color-grading-pixelate",min:0,max:1},{path:"effects.ascii",name:"--hf-color-grading-ascii",min:0,max:1},{path:"effects.dither",name:"--hf-color-grading-dither",min:0,max:1}];var up=/^#[0-9a-f]{6}$/i;function cp(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&up.test(t))?null:e.map(t=>t.toLowerCase())}function Re(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function wr(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function Cl(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function ke(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?wr(n,t.min,t.max):0}function ao(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function dp(e){let t=Re(e)?e:{};return yl.reduce((n,r)=>{let i=Re(t[r])?t[r]:{};return n[r]={hue:ao(i.hue,Ut.hue),amount:ke(i.amount??Ut.amount,gl.amount),level:ke(i.level??Ut.level,gl.level)},n},{shadows:{...Ut},midtones:{...Ut},highlights:{...Ut}})}function fp(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[wr(t,0,1),wr(n,0,1)]:null}function wl(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function mp(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function pp(e){if(!Array.isArray(e)||e.length<2)return ct;let t=[];for(let n of e){let r=fp(n);if(!r)return ct;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),wl(t)||(mp(t),t.length>16)?ct:t}function hp(e){let t=Re(e)?e:{};return Sl.reduce((n,r)=>(n[r]=pp(t[r]),n),{master:ct,red:ct,green:ct,blue:ct})}function gp(e,t){if(!Array.isArray(e)||e.length!==2)return null;let n=Number(e[0]),r=Number(e[1]);return Number.isFinite(n)&&Number.isFinite(r)?[ao(n),wr(r,t.min,t.max)]:null}function bp(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Wt;let n=[];for(let r of e){let i=gp(r,t);if(!i)return Wt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),wl(n)?Wt:n}function xp(e){let t=Re(e)?e:{};return vl.reduce((n,r)=>(n[r]=bp(t[r],op[r]),n),{hueVsHue:Wt,hueVsSaturation:Wt,hueVsLuma:Wt})}function bl(e){let t=Re(e)?e:{},n=ke(t.min??Qi.min,no),r=ke(t.max??Qi.max,no);return{min:Math.min(n,r),max:Math.max(n,r),softness:ke(t.softness??Qi.softness,me.secondarySoftRangeSoftness)}}function yp(e){let t=Re(e)?e:{},n=ke(t.range??Ji.range,me.secondaryHueRange);return{center:ao(t.center,Ji.center),range:n,softness:ke(t.softness??Ji.softness,{min:me.secondaryHueSoftness.min,max:me.secondaryHueCombinedMax-n})}}function Sp(e){return{hueShift:ke(e.hueShift??0,me.secondaryHueShift),saturation:ke(e.saturation??0,me.signedUnit),luma:ke(e.luma??0,me.signedUnit),temperature:ke(e.temperature??0,me.signedUnit),tint:ke(e.tint??0,me.signedUnit)}}function vp(e){return!Re(e)||!Re(e.key)||!Re(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:yp(e.key.hue),saturation:bl(e.key.saturation),luma:bl(e.key.luma)},correction:Sp(e.correction)}}function Ep(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=vp(n);r&&t.push(r)}return t}function Ap(e){if(e==null)return null;let t=String(e).trim();return t||null}function Cp(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Re(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:Cl(e.intensity,1)}}function wp(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Re(n)?n:null}catch{return null}return{preset:t}}return Re(e)?e:null}function _p(e,t){let n=e.trim().match(rp);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function Cr(e,t){if(typeof e=="string"){let r=_p(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return Cr(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>Cr(r,t));if(!Re(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Cr(i,t);return n}function Tp(e){return e?np.get(e)??null:null}function Rr(e){let t=wp(e);if(!t||t.enabled===!1)return null;let n=Ap(t.preset),r=Tp(n),i=r?.adjust??Zi,o=r?.details??eo,a=r?.effects??to,l=Re(t.adjust)?t.adjust:{},s=Re(t.details)?t.details:{},u=Re(t.effects)?t.effects:{},c=Tr.reduce((p,b)=>(p[b]=ke(l[b]??i[b],ip[b]),p),{...Zi}),m=ro.reduce((p,b)=>(p[b]=ke(s[b]??o[b],ap[b]),p),{...eo}),f=io.reduce((p,b)=>(p[b]=ke(u[b]??a[b],sp[b]??no),p),{...to});return{enabled:!0,preset:n,intensity:Cl(t.intensity,r?.intensity??1),adjust:c,wheels:dp(t.wheels),curves:hp(t.curves),hueCurves:xp(t.hueCurves),secondaries:Ep(t.secondaries),details:m,effects:f,palette:cp(t.palette),lut:Cp(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():tp}}function _l(e,t){return Rr(Cr(e,t))}function Rp(e){return yl.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function so(e){return Sl.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function lo(e){return vl.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function uo(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function Tl(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||El.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:Tr.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?Rp(e.wheels):!1)||(e.curves?so(e.curves):!1)||(e.hueCurves?lo(e.hueCurves):!1)||(e.secondaries?uo(e.secondaries):!1):!1}var kp=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Fp=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Rl(e){let t=!1,n=null,r=null,i=null,o=null;function a(v,E){try{window.dispatchEvent(new CustomEvent(v,{detail:E}))}catch(w){N("runtime.picker.site1",w)}}function l(v){i=v,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(v){o=v,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(v){let E=v.ownerDocument.defaultView;if(!E)return!1;let w=v;for(;w&&w!==document.body&&w!==document.documentElement;){let L=E.getComputedStyle(w);if(L.display==="none"||L.visibility==="hidden"||L.pointerEvents==="none")return!0;let D=Number.parseFloat(L.opacity);if(Number.isFinite(D)&&D<=.01&&!w.hasAttribute(An))return!0;w=w.parentElement}return!1}function c(v){if(!v||v===document.body||v===document.documentElement)return!1;let E=v.tagName.toLowerCase();return!(E==="script"||E==="style"||E==="link"||E==="meta"||v.classList.contains("__hf-pick-highlight")||v.closest(kp)||u(v))}function m(v){return!!v?.closest(Fp)}function f(v){let E=v;if(E.id)return`#${CSS.escape(E.id)}`;let w=v.getAttribute("data-composition-id");if(w)return`[data-composition-id="${CSS.escape(w)}"]`;let L=v.getAttribute("data-composition-src");if(L)return`[data-composition-src="${CSS.escape(L)}"]`;let D=v.getAttribute("data-track-index");if(D)return`[data-track-index="${CSS.escape(D)}"]`;let H=v.tagName.toLowerCase(),z=v.parentElement;if(!z)return H;let j=z.querySelectorAll(`:scope > ${H}`);if(j.length===1)return H;for(let k=0;k<j.length;k+=1)if(j[k]===v)return`${H}:nth-of-type(${k+1})`;return H}function p(v){let E=v.tagName.toLowerCase(),w=(v.textContent??"").trim().replace(/\s+/g," "),L=(D,H)=>D.length>H?`${D.slice(0,H-1)}\u2026`:D;return E==="h1"||E==="h2"||E==="h3"?"Heading":E==="p"||E==="span"||E==="div"?w.length>0?L(w,56):"Text":E==="img"?"Image":E==="video"?"Video":E==="audio"?"Audio":E==="svg"?"Shape":v.getAttribute("data-composition-src")?"Composition":E==="section"?"Section":`${E.charAt(0).toUpperCase()}${E.slice(1)}`}function b(v,E,w){let L=typeof w=="number"&&w>0?w:8,D=[];if(document.elementsFromPoint)D=document.elementsFromPoint(v,E);else if(document.elementFromPoint){let j=document.elementFromPoint(v,E);D=j?[j]:[]}if(m(D[0]??null))return[];let H={},z=[];for(let[j,k]of D.entries()){if(!c(k))continue;let B=`${k.tagName}::${k.id||""}::${j}`;if(!H[B]&&(H[B]=!0,z.push(k),z.length>=L))break}return z}function S(v){let E=v.getBoundingClientRect(),w={};for(let D of Array.from(v.attributes))D.name.startsWith("data-")&&(w[D.name]=D.value);return{id:v.id||null,tagName:v.tagName.toLowerCase(),selector:f(v),label:p(v),boundingBox:{x:E.left,y:E.top,width:E.width,height:E.height},textContent:v.textContent?v.textContent.trim().slice(0,200):null,src:v.getAttribute("src")||v.getAttribute("data-composition-src")||null,dataAttributes:w}}function x(v,E,w){return b(v,E,w).map(S)}function _(v){if(!t)return;let w=b(v.clientX,v.clientY,1)[0]??(v.target instanceof Element?v.target:null);if(!c(w)||n===w)return;n&&n.classList.remove("__hf-pick-highlight"),n=w,w.classList.add("__hf-pick-highlight");let L=S(w);l(L),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:L})}function R(v){if(!t)return;v.preventDefault(),v.stopPropagation(),v.stopImmediatePropagation();let E=x(v.clientX,v.clientY,8);E.length!==0&&(l(E[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:E,selectedIndex:0,point:{x:v.clientX,y:v.clientY}}))}function T(v){v.key==="Escape"&&(M(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function F(){t||(t=!0,r=document.createElement("style"),r.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`
|
|
40
|
-
`),document.head.appendChild(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",_,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",T,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function M(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),r&&(r.remove(),r=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",_,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",T,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function A(){window.__HF_PICKER_API={enable:F,disable:M,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(v,E,w)=>Number.isFinite(v)&&Number.isFinite(E)?x(v,E,w):[],pickAtPoint:(v,E,w)=>{if(!Number.isFinite(v)||!Number.isFinite(E))return null;let L=x(v,E,8);if(!L.length)return null;let D=Math.max(0,Math.min(L.length-1,Number(w??0))),H=L[D]??null;return H?(s(H),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:H}),M(),H):null},pickManyAtPoint:(v,E,w)=>{if(!Number.isFinite(v)||!Number.isFinite(E))return[];let L=x(v,E,8);if(!L.length)return[];let D=[],H=Array.isArray(w)?w:[0];for(let z of H){let j=Math.max(0,Math.min(L.length-1,Math.floor(Number(z)))),k=L[j];if(!k)continue;D.some(ee=>ee.selector===k.selector&&ee.tagName===k.tagName)||D.push(k)}return D.length?(s(D[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:D}),M(),D):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:F,disablePickMode:M,installPickerApi:A}}var Mp=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function Vt(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function kl(e,t,n=Mp){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function Cn(e,t,n){let r=e?.[t];return typeof r=="function"?Number(r.call(e))||n:typeof r=="number"&&Number.isFinite(r)?r:(r!=null&&N("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function Be(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&N("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function wn(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){N("runtime.player.site1",i)}}}function Fl(e,t,n,r){let i=Vt(t,n),o=r?.suppressEvents===!0;return Be(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function Lp(e,t,n,r,i){let o=[];wn(e,t,a=>{Be(a,"play"),o.push(a)});try{return Fl(t,n,r,i)}finally{for(let a of o)try{Be(a,"pause")}catch(l){N("runtime.player.site2",l)}}}function Np(e,t){wn(e,t,n=>{Be(n,"play")})}function Ml(e){let t=e.transport;return t?{_timeline:null,play:()=>t.play(),pause:()=>t.pause(),seek:(n,r)=>t.seek(n,r),renderSeek:(n,r)=>t.renderSeek(n,r),getTime:()=>t.getTime(),getDuration:()=>t.getDuration(),isPlaying:()=>t.isPlaying(),setPlaybackRate:n=>t.setPlaybackRate(n),getPlaybackRate:()=>t.getPlaybackRate()}:{_timeline:null,play:()=>{let n=e.getTimeline();if(!n||e.getIsPlaying())return;let r=Math.max(0,Number(e.getSafeDuration?.()??Cn(n,"duration",0))||0);r>0&&Math.max(0,Cn(n,"time",0))>=r&&(Be(n,"pause"),typeof n.seek=="function"&&n.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof n.timeScale=="function"&&n.timeScale(e.getPlaybackRate()),Be(n,"play"),wn(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;Be(n,"pause"),wn(e.getTimelineRegistry?.(),n,i=>{Be(i,"pause")});let r=Math.max(0,Cn(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=Lp(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play"),wn(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),Be(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(Np(e.getTimelineRegistry?.(),i),Fl(i,n,o,r)):Vt(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>Cn(e.getTimeline(),"time",0),getDuration:()=>Cn(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function Ll(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var Dp=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function co(e){return e.id||e.getAttribute("data-hf-id")||null}function Ip(e){return ve(e)}function Pp(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let r=Number(t[n]?.duration?.());return Number.isFinite(r)&&r>0?r:null}function Op(e){return!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration)?null:Ze(e,e.duration)}function Hp(e,t,n,r){let i=Ip(e.getAttribute("data-duration"));return i!=null&&i>0?i:Pp(e,t)??Op(e)??Math.max(0,n-r)}function Gp(e){for(let[t,n]of e){let r=t.parentElement;for(;r;){let i=e.get(r);if(i){n.parentId=i.id,i.children.push(n);break}r=r.parentElement}}}function Nl(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||Dp.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(Hp(l,n,r,s)<=0)continue;let u={id:co(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return Gp(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var fo="css:root",Dl=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],Bp=new Set([...Dl,"contain","isolation","mask-border","mix-blend-mode","opacity"]),Up=new Set(["absolute","relative"]),Wp=new Set(["flex","inline-flex","grid","inline-grid"]),Vp=new Set(["layout","paint","strict","content"]),zp=new Set(["size","inline-size"]);function qp(e){return e.position==="fixed"||e.position==="sticky"}function $p(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(Up.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&Wp.has(n)}function jp(e){let t=Number.parseFloat(e.opacity);if(Number.isFinite(t)&&t<1||e.getPropertyValue("isolation")==="isolate")return!0;let n=e.getPropertyValue("mix-blend-mode");return n&&n!=="normal"?!0:Dl.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function Kp(e){return e.getPropertyValue("contain").split(/\s+/).some(n=>Vp.has(n))?!0:zp.has(e.getPropertyValue("container-type"))}function Yp(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>Bp.has(t))}function Xp(e,t){return qp(t)||$p(e,t)||jp(t)||Kp(t)?!0:Yp(t)}function Jp(e){let t=[],n=e;for(;n?.parentElement;)t.push(Array.prototype.indexOf.call(n.parentElement.children,n)),n=n.parentElement;return`css:${t.reverse().join(".")}`}function kr(e){let t=e.ownerDocument.defaultView;if(!t)return fo;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(Xp(n,t.getComputedStyle(n)))return Jp(n)}catch{return fo}n=n.parentElement}return fo}var Qp="data-hf-authored-duration",Zp="data-hf-authored-end";function e0(e){return Ge(e.getAttribute("data-duration"))}function t0(e){return Ge(e.getAttribute("data-end"))}function n0(e){return Ge(e.getAttribute(Qp))}function r0(e){return Ge(e.getAttribute(Zp))}function dt(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let p=r.getElementById(f);return p||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let p=f.ownerDocument.defaultView?.HTMLMediaElement;return p?f instanceof p:typeof HTMLMediaElement<"u"&&f instanceof HTMLMediaElement},u=f=>{let p=o.get(f);if(p!==void 0)return p;let b=null,S=e0(f)??(n?n0(f):null);if(S!=null&&S>0&&(b=S),b==null||b<=0){let x=t0(f)??(n?r0(f):null);if(x!=null){let _=m(f,0),R=x-_;Number.isFinite(R)&&R>0&&(b=R)}}if((b==null||b<=0)&&s(f)){let x=cn(f);Number.isFinite(f.duration)&&f.duration>x&&(b=(f.duration-x)/Te(f))}if(b==null||b<=0){let x=f.getAttribute("data-composition-id");if(x){let _=t[x]??null;if(_&&typeof _.duration=="function")try{let R=Number(_.duration());Number.isFinite(R)&&R>0&&(b=R)}catch(R){N("runtime.startResolver.site1",R)}}}return b!=null&&Number.isFinite(b)&&b>0?(o.set(f,b),b):(o.set(f,null),null)},c=(f,p)=>{if(f.hasAttribute("data-composition-id")){let S=f.parentElement?.closest("[data-composition-id]");return S?m(S,p):0}let b=f.closest("[data-composition-id]");return b?m(b,p):0},m=(f,p)=>{let b=i.get(f);if(b!==void 0)return b??p;if(a.has(f))return p;a.add(f);try{let S=Pi(f.getAttribute("data-start"));if(!S){if(f.hasAttribute("data-composition-id")){let F=f.parentElement;if(F&&(F.hasAttribute("data-composition-src")||F.hasAttribute("data-composition-id")||F.hasAttribute("data-composition-file"))){let M=m(F,p);return i.set(f,M),M}}return i.set(f,p),p}if(S.kind==="absolute"){let F=Math.max(0,S.value),M=Math.max(0,c(f,p)+F);return i.set(f,M),M}let x=l(S.refId);if(!x)return i.set(f,p),p;let _=m(x,0),R=u(x);if(R==null||R<=0){let F=Math.max(0,_+S.offset);return i.set(f,F),F}let T=Math.max(0,_+R+S.offset);return i.set(f,T),T}finally{a.delete(f)}};return{resolveStartForElement:(f,p=0)=>m(f,Math.max(0,p)),resolveDurationForElement:f=>u(f)}}function mo(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var o0="data-hf-authored-duration",a0="data-hf-authored-end";function Ue(e){return ve(e)}function po(e){return Ue(e.getAttribute("data-duration"))??Ue(e.getAttribute(o0))}function Il(e){return Ue(e.getAttribute("data-end"))??Ue(e.getAttribute(a0))}function ho(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function go(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function bo(e,t){let n=e.getAttribute("data-track-index")??e.getAttribute("data-track");if(n==null)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)?r:t}function Tn(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function Pl(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Tn(t);let n=e.getAttribute("data-composition-src");if(n)return Tn(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?Tn(r.getAttribute("src")):null}function s0(e){let t=e.className;return typeof t!="string"?null:t.split(/\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function l0(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\/]/).filter(Boolean).at(-1)??null}}function u0(e){let t=e.textContent?.replace(/\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function _n(e){let t=e.replace(/\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return t?t.replace(/\b\w/g,n=>n.toUpperCase()):e}function c0(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return _n(i);let o=e.id;if(o)return _n(o);let a=s0(e);if(a)return _n(a);let l=l0(Pl(e));if(l)return _n(l);let s=u0(e);return s||`${_n(t)} ${n+1}`}function Ol(e){let n=window.__timelines??{},r=dt({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=W=>{if(!W)return null;let P=n[W]??null;if(!P||typeof P.duration!="function")return null;try{let O=Number(P.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=W=>{let P=Ue(W.getAttribute("data-duration"));return P!=null&&P>0?P:Number.isFinite(W.duration)?Ze(W,W.duration):null},a=()=>{let W=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(W.length===0)return null;let P=0;for(let O of W){let ce=O.hasAttribute("data-hf-auto-start")?r.resolveStartForElement(O,0):Math.max(0,Number(O.getAttribute("data-start")??0)||0);if(!Number.isFinite(ce))continue;let se=o(O);se==null||se<=0||(P=Math.max(P,Math.max(0,ce)+se))}return P>0?P:null},l=(W,P)=>{let O=[],ce=null,se=null,J=null,K=W.parentElement;for(;K;){let Y=K.getAttribute("data-composition-id");Y&&(O.push(Y),!J&&K!==P&&(J=Y),ce==null&&(ce=r.resolveStartForElement(K,0)),se==null&&(se=Ue(K.getAttribute("data-duration"))??i(Y)??null)),K=K.parentElement}return{parentCompositionId:J,compositionAncestors:O.reverse(),inheritedStart:ce,inheritedDuration:se}},s=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=s?.getAttribute("data-composition-id")??null,m=s?r.resolveStartForElement(s,0):0,f=a(),p=f!=null?Math.max(0,f-Math.max(0,m)):null,b=i(c),S=po(s??document.body),x=go(...u.filter(W=>W!==s).map(W=>{let P=r.resolveStartForElement(W,0),O=r.resolveDurationForElement(W)??i(W.getAttribute("data-composition-id"))??null;return!Number.isFinite(P)||O==null||O<=0?null:Math.max(0,P)+O})),_=x!=null?Math.max(0,x-Math.max(0,m)):null,R=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,T=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,F=typeof p=="number"&&Number.isFinite(p)&&p>0?p:null,M=typeof _=="number"&&Number.isFinite(_)&&_>0?_:null,A=go(F,M),v=R!=null&&A!=null&&R>A+1,w=T??(v?A:go(R,F,M))??null,D=(w!=null?m+w:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),H=(W,P)=>!Number.isFinite(P)||P<=0?0:D==null||!Number.isFinite(D)?P:!Number.isFinite(W)||W>=D?0:Math.max(0,Math.min(P,D-W)),z=[],j=[],k=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),B=0;for(let[W,P]of k.entries()){if(P===s||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(P.tagName))continue;let O=l(P,s),ce=r.resolveStartForElement(P,O.inheritedStart??0),se=P.getAttribute("data-composition-id"),J=po(P);if(J==null&&se&&se!==c&&(J=i(se)),J==null&&P instanceof HTMLMediaElement&&Number.isFinite(P.duration)&&(J=Ze(P,P.duration)),J==null){let xe=O.inheritedDuration;if(xe!=null&&xe>0){let Ie=(O.inheritedStart??0)+xe;J=Math.max(0,Ie-ce)}}if(J==null||J<=0||(J=H(ce,J),J<=0))continue;let K=ce+J;B=Math.max(B,K);let Y=P.tagName.toLowerCase(),ze=se&&se!==c?"composition":Y==="video"?"video":Y==="audio"?"audio":Y==="img"?"image":"element";z.push({id:co(P)??se??null,label:c0(P,ze,z.length),start:ce,duration:J,track:bo(P,W),zIndex:ho(P),stackingContextId:kr(P),kind:ze,tagName:Y,compositionId:P.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:Tn(P.getAttribute("data-composition-src")),playbackStart:je(P),playbackRate:Te(P),assetUrl:Pl(P),timelineRole:P.getAttribute("data-timeline-role"),timelineLabel:P.getAttribute("data-timeline-label"),timelineGroup:P.getAttribute("data-timeline-group"),timelinePriority:Ue(P.getAttribute("data-timeline-priority"))})}let ee=new Set(z.map(W=>W.id)),U=s?.getAttribute("data-composition-id")??null,V=U?n[U]??null:null;if(V&&s){let W=V;if(typeof W.getChildren=="function")try{let P=W.getChildren(!0,!0,!1)??[],O=new Map;for(let J of s.children){let K=J;if(!K.id)continue;let Y=K.tagName.toLowerCase();Y==="script"||Y==="style"||Y==="link"||O.set(K,{id:K.id,start:1/0,end:-1/0})}let ce=J=>{let K=J;for(;K;){if(O.has(K))return K;if(K===s)return null;K=K.parentElement}return null};for(let J of P){if(typeof J.targets!="function"||typeof J.startTime!="function"||typeof J.duration!="function")continue;let K=J.startTime(),Y=J.parent;for(;Y&&Y!==V&&typeof Y.startTime=="function";)K+=Y.startTime(),Y=Y.parent;let ze=K+J.duration();if(!(!Number.isFinite(K)||!Number.isFinite(ze)))for(let xe of J.targets()){if(!(xe instanceof Element))continue;let Mt=ce(xe);if(!Mt)continue;let Ie=O.get(Mt);Ie&&(Ie.start=Math.min(Ie.start,K),Ie.end=Math.max(Ie.end,ze))}}let se=z.length>0?Math.max(...z.map(J=>J.track))+1:0;for(let[J,K]of O){if(K.start===1/0||K.end===-1/0)continue;let Y=J;if(ee.has(Y.id))continue;let ze=Math.max(0,K.end-K.start);if(ze<=0)continue;let xe=H(K.start,ze);xe<=0||(B=Math.max(B,K.start+xe),z.push({id:Y.id,label:Y.getAttribute("data-timeline-label")??Y.getAttribute("data-label")??Y.getAttribute("aria-label")??Y.id,start:K.start,duration:xe,track:bo(Y,se),zIndex:ho(Y),stackingContextId:kr(Y),kind:"element",tagName:Y.tagName.toLowerCase(),compositionId:Y.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,playbackStart:je(Y),playbackRate:Te(Y),assetUrl:null,timelineRole:Y.getAttribute("data-timeline-role"),timelineLabel:Y.getAttribute("data-timeline-label"),timelineGroup:Y.getAttribute("data-timeline-group"),timelinePriority:Ue(Y.getAttribute("data-timeline-priority"))}),ee.add(Y.id))}}catch(P){N("runtime.timeline.site1",P)}}if(s&&w!=null&&w>0){let W=z.length>0?Math.max(...z.map(P=>P.track))+1:0;for(let P of s.children){let O=P;if(!O.id||ee.has(O.id))continue;let ce=O.getAttribute("data-timeline-role");if(ce!=="overlay"&&ce!=="persistent-overlay")continue;let se=O.tagName.toLowerCase();if(se==="script"||se==="style"||se==="link"||se==="meta"||window.getComputedStyle(O).display==="none")continue;let K=H(0,w);K<=0||(B=Math.max(B,K),z.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:K,track:bo(O,W),zIndex:ho(O),stackingContextId:kr(O),kind:"element",tagName:se,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,playbackStart:je(O),playbackRate:Te(O),assetUrl:null,timelineRole:ce,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:Ue(O.getAttribute("data-timeline-priority"))}),ee.add(O.id))}}for(let W of u){if(W===s)continue;let P=W.getAttribute("data-composition-id");if(!P||!mo(P))continue;let O=r.resolveStartForElement(W,0),ce=po(W);if((ce==null||ce<=0)&&Il(W)!=null){let Y=Il(W);ce=Math.max(0,Y-O)}let se=i(P),J=ce&&ce>0?ce:se;if(J==null||J<=0)continue;let K=H(O,J);K<=0||j.push({id:P,label:W.getAttribute("data-label")??P,start:O,duration:K,thumbnailUrl:Tn(W.getAttribute("data-thumbnail-url")),avatarName:null})}let q=Math.max(1,B||1,w??0),X=v&&T==null,we=X?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(q*Math.max(1,e.canonicalFps)));return{...cr(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:X?Number.POSITIVE_INFINITY:q,durationInFrames:we,clips:z,scenes:j,compositionWidth:Ue(s?.getAttribute("data-width"))??1920,compositionHeight:Ue(s?.getAttribute("data-height"))??1080}}var xo="data-composition-id",d0="data-composition-src",f0=`[${xo}]`,NS=`[${d0}]`,Hl="style",Gl="script",m0='link[rel="stylesheet"], link[rel="preconnect"]';function zt(e){return e?Array.from(e):[]}function Bl(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=zt(t.querySelectorAll(f0)),l=o?a.find(c=>c.getAttribute(xo)===o)??null:a[0]??null,s=(l??a[0])?.getAttribute(xo)?.trim()||"",u=i?null:n??null;return{innerRoot:l,authoredCompositionId:o||s||null,scriptCompositionId:s||o||null,authoredRootId:l?.getAttribute("id")?.trim()||null,styleSources:[...zt(u?.querySelectorAll(Hl)),...zt(t.querySelectorAll(Hl))],scriptSources:[...zt(u?.querySelectorAll(Gl)),...zt(t.querySelectorAll(Gl))],linkSources:zt(n?.querySelectorAll(m0)),variableDefaultCarriers:[r,l].filter(c=>c!=null)}}var pe=Xf(dc(),1),fc=pe.default,Ev=pe.default.stringify,Av=pe.default.fromJSON,Cv=pe.default.plugin,wv=pe.default.parse,_v=pe.default.list,Tv=pe.default.document,Rv=pe.default.comment,kv=pe.default.atRule,Fv=pe.default.rule,Mv=pe.default.decl,Lv=pe.default.root,Nv=pe.default.CssSyntaxError,Dv=pe.default.Declaration,Iv=pe.default.Container,Pv=pe.default.Processor,Ov=pe.default.Document,Hv=pe.default.Comment,Gv=pe.default.Warning,Bv=pe.default.AtRule,Uv=pe.default.Result,Wv=pe.default.Input,Vv=pe.default.Rule,zv=pe.default.Root,qv=pe.default.Node;var zo="data-hf-authored-id",mc="data-hf-inner-root";function qo(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $o(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function Ih(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\${n}`).replace(/^-?\d/,n=>`\\${n}`)}function hc(e){let t=e.trim();return t?Array.from(new Set([t,Ih(t)])).filter(Boolean):[]}function Ph(e){return!!e&&/[\w-]/.test(e)}function Oh(e,t,n){let r=hc(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\"&&(a=null);continue}if(s==='"'||s==="'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let c=r.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!Ph(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function Hh(e,t){let n=t?.trim();return n?Oh(e,n,`[${zo}="${$o(n)}"]`):e}function pc(e){return`${e}:not(:has([${mc}])), ${e} > [${mc}]`}function Gh(e,t,n,r,i,o){let a=Hh(e,r),l=Bh(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?pc(t):e;let u=new RegExp(`\\[\\s*data-composition-id\\s*=\\s*(["'])${qo(n)}\\1\\s*\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?pc(t):l.replace(u,t);let c=l.match(/^\s*/)?.[0]??"",m=l.match(/\s*$/)?.[0]??"";if(i){let f=r?`[${zo}="${$o(r)}"]`:null;if(f&&s.startsWith(f)){let p=s.slice(f.length);return`${c}${t}${f}${p}${m}`}}return`${c}${t} ${s}${m}`}function Bh(e,t,n){let r=qo(n),i=String.raw`\[\s*data-composition-id\s*=\s*(?:"${r}"|'${r}')\s*\]`,o=String.raw`\s*\[\s*data-(?:start|duration)\s*=\s*(?:"[^"]*"|'[^']*')\s*\]`;return e.replace(new RegExp(`${i}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${i}`,"g"),t)}var Uh=new Set(["keyframes","-webkit-keyframes","font-face"]);function Wh(e){return e?.type==="atrule"}function Vh(e){let t=e.parent;for(;t;){if(Wh(t)&&Uh.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function zh(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function gc(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${$o(o)}"]`,l=fc.parse(e);return l.walkRules(s=>{Vh(s)||zh(s)||(s.selectors=s.selectors.map(u=>Gh(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function nt(e){return JSON.stringify(e).replace(/</g,"\\u003c")}function bc(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=nt(t),l=nt(i),s=nt(n),u=qo(t),c=nt(o?.trim()||null),m=nt(r??null),f=nt(String.raw`\[\s*data-composition-id\s*=\s*(?:"${u}"|'${u}')\s*\]`),p=nt(String.raw`\s*\[\s*data-(?:start|duration)\s*=\s*(?:"[^"]*"|'[^']*')\s*\]`),b=nt(hc(o?.trim()||""));return`(function(){
|
|
39
|
+
`,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(i=>{i.classList.add("__hf-flash"),setTimeout(()=>i.classList.remove("__hf-flash"),t)})}catch(r){L("bridge.flashElements.querySelector",r)}}var Ri=null;function os(e){Ri=e}function Ne(e,t){if(Ri)try{Ri({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function fm(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,r=t.length;for(;n<r&&t[n]==="-";)n++;for(;r>n&&t[r-1]==="-";)r--;let i=t.slice(n,r);return i.length>0?i:"node"}function It(e){return`--${fm(e)}`}function as(e){let t=new Map;for(let n of e){let r=It(n),i=t.get(r);i?i.includes(n)||i.push(n):t.set(r,[n])}return[...t.values()].filter(n=>n.length>1)}function ls(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,cn(i));let n=mr(),r={...t,...n};for(let i of e)Fi(i,r);return r}var ss=new Set;function us(e){let t=e?.getAttribute("data-composition-variables");if(!t)return[];let n;try{n=JSON.parse(t)}catch{return[]}return Array.isArray(n)?n.filter(r=>!!r&&typeof r=="object"):[]}function mm(e,t){return t?.trim()||e.getAttribute("data-composition-id")?.trim()||e.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()||"composition"}function pm(e){return Array.isArray(e.options)?e.options.map(t=>t&&typeof t=="object"?t.value:t).filter(t=>typeof t=="string"||typeof t=="number"):[]}function hm(e,t){if(typeof e.id!="string")return null;let n=t[e.id];if(n==null||"default"in e&&String(n)===String(e.default))return null;let r=pm(e);return r.length===0||r.some(i=>String(i)===String(n))?null:{id:e.id,value:n,allowed:r}}function Fi(e,t,n){if(!e)return;let r=us(e);if(r.length===0)return;let i=mm(e,n);for(let o of r){let a=hm(o,t);if(!a)continue;let l=`${i}|${a.id}|${String(a.value)}`;if(ss.has(l))continue;ss.add(l);let s="default"in o?JSON.stringify(o.default):"the composition default";console.warn(`[hyperframes] runtime_unknown_enum_value: ${i} variable "${a.id}" got ${JSON.stringify(a.value)}, which is not a declared option (${a.allowed.join(", ")}). Rendering ${s} instead.`)}}function cn(e){let t={};for(let n of us(e))typeof n.id!="string"||!("default"in n)||(t[n.id]=n.default);return t}var ki="data-hf-css-vars";function fr(e){return"style"in e&&typeof e.style?.setProperty=="function"}function Mi(e,t){if(!fr(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=It(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(ki,n.join(" "))}function cs(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=It(i);((fr(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function ds(e){if(!fr(e))return;let t=e.getAttribute(ki);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ki)}}function fs(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let i of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(i);let n=mr(),r=[];for(let i of t)r.push(...gm(i,n,e.defaultView));for(let i of as(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${It(i[0]??"")} \u2014 rename one to avoid cross-talk`)}function gm(e,t,n){if(!fr(e))return[];let r=cn(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=It(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return Mi(e,i),Object.keys(r)}function ms(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function mr(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ps(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(p){L("runtime.adapters.css.site5",p)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){L("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){L("runtime.adapters.css.site2",f)}}},a=u=>{for(let c of u)try{c.play()}catch(m){L("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){L("runtime.adapters.css.site4",m)}},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:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=r(c.el);for(let f of n(c.el)){let p=i(f,m);p.endSeconds!=null&&(u=Math.max(u,p.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=r(m.el),p=Math.max(0,c-f)*1e3,b=m.animations;if(b.length>0){o(b,p);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function hs(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function gs(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfAnime=n}catch(e){L("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let r of n)try{typeof r.seek=="function"&&r.seek(t)}catch(i){L("runtime.adapters.animejs.site2",i)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){L("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){L("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xs(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){L("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let r of n)try{if(Ni(r))r.goToAndStop(t*1e3,!1);else if(Li(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??1,o=Math.min(100,t/i*100);r.seek(o)}}}catch(i){L("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(Ni(t)||Li(t))&&t.pause()}catch(n){L("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let r of e){let i=null;try{i=bm(r)}catch(o){L("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function bs(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function bm(e){return Ni(e)?bs(e.totalFrames,e.frameRate):Li(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:bs(e.totalFrames,e.frameRate):null}function Ni(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function Li(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var Di=-1,pr=new Set,Pt,Ii=0;function ys(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){L("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));pr.add(i),i.then(o=>{pr.delete(i)&&o.status==="rejected"&&Pt===void 0&&(Pt={reason:o.reason})})}function hr(e){e!==Di&&(Di=e,ys(e))}function gr(e){Di=e,ys(e)}function vs(){return Ii>0}async function Pi(){Ii+=1;let e=Pt;try{for(await Promise.resolve();pr.size>0;){let r=(await Promise.all([...pr])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=Pt;if(e===void 0&&(e=t),Pt===t&&(Pt=void 0),e)throw e.reason}finally{Ii-=1}}function Ss(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,c()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(c,m,f){try{r?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,hr(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function je(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let r=e.getInstances();if(r.length===0)return null;let i=r.filter(o=>!n.has(o));return i.length===0?null:t||(t=Promise.allSettled(i.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Es(){return je({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function As(){return je({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function Cs(){return je({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function _s(){return je({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function ws(){return je({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var xm=250;function Ts(){let e=null,t=0,n=null,r=()=>{n!==null&&(window.clearInterval(n),n=null)},i=()=>{n===null&&document.querySelector("[data-composition-id][data-requires-webgpu]")&&(n=window.setInterval(()=>{e!==null&&(vs()||(window.__hfTypegpuTime=e,gr(e)))},xm))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,hr(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}var Rs="data-hf-render-id";function ym(e){return e.getAttribute(Rs)||e.id||null}var vm="__render_frame_",Sm="__";function Em(e){return`${vm}${e}${Sm}`}function Am(e){let t=ym(e);return t?Em(t):null}function ut(e){let t=Am(e);if(!t)return null;let n=document.getElementById(t);return n instanceof HTMLImageElement?n:null}function ks(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;let n=ut(e);return n&&n.complete&&n.naturalWidth>0?n:null}function Fs(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(n?.source instanceof HTMLVideoElement){let o=ks(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Ms(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(u instanceof HTMLVideoElement){let c=ks(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function Ns(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=x=>{let w=Number(x.currentTime);return Number.isFinite(w)&&w>0?w:0},c=(x,w)=>w<=0?x:x>=w?Math.max(0,x-w):x,m=(x,w)=>{let R=l.get(x);if(R)return R;let T={compositionTimeMs:w,animationTimeMs:e?c(u(x),w):u(x)};return l.set(x,T),T},f=(x,w)=>{if(!a.has(x)){a.add(x);let R=()=>{a.delete(x)};try{x.addEventListener("finish",R,{once:!0}),x.addEventListener("cancel",R,{once:!0})}catch(T){L("runtime.adapters.waapi.site4",T)}}m(x,w)},p=(x,w)=>{for(let R of x)f(R,w)},b=()=>{if(n||typeof Element>"u")return;let x=Element.prototype;if(typeof x.animate!="function"||x.__hfOriginalAnimate)return;let w=x.animate;try{Object.defineProperty(x,"__hfOriginalAnimate",{value:w,configurable:!0});let R=function(...T){let F=w.apply(this,T);return f(F,t),F};x.animate=R,r=x,i=w,o=R,n=!0}catch{}},v=x=>{let w=null;try{w=x.effect?.getComputedTiming?.()??null}catch(F){L("runtime.adapters.waapi.site4",F)}if(!w)return{};let R=Number(w.endTime);return Number.isFinite(R)?{endSeconds:(l.get(x)?.compositionTimeMs??0)/1e3+R/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,b(),p(s(),t)},seek:x=>{let w=Math.max(0,(Number(x.time)||0)*1e3);t=w,(!e||a.size>0)&&p(s(),e?w:0);for(let R of a){let T=e?m(R,w):m(R,0),F=T.animationTimeMs+Math.max(0,w-T.compositionTimeMs);try{R.currentTime=F}catch(M){L("runtime.adapters.waapi.site1",M)}try{R.pause()}catch(M){L("runtime.adapters.waapi.site2",M)}}},pause:()=>{e||p(s(),t);for(let x of a)try{x.pause()}catch(w){L("runtime.adapters.waapi.site3",w)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(x){L("runtime.adapters.waapi.site5",x)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let x=0;for(let w of s()){let R=v(w);R.endSeconds!=null&&(x=Math.max(x,R.endSeconds))}return x>0?x:null}}}var Oi=3.981071705534972;function Ge(e){return Number.isFinite(e)?Math.max(0,Math.min(Oi,e)):1}function Ls(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function Ds(e,t){let n=typeof HTMLMediaElement>"u"?void 0:Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,"volume"),r=n?.get,i=n?.set;if(!r||!i)return t();let o=Number(r.call(e));Object.defineProperty(e,"volume",{configurable:!0,get:()=>o,set:a=>{o=Number(a),i.call(e,Ls(o))}});try{return t()}finally{delete e.volume,i.call(e,Ls(o))}}var Ot=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),A1=Object.freeze([Ot.start,Ot.duration,Ot.trackIndex]),C1=Object.freeze([Ot.derivedEnd]),_1=Object.freeze([Ot.derivedEnd,Ot.legacyTrack]);function Be(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var Ps=/^[A-Za-z0-9_.:-]+$/;function Os(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function Is(e,t){let n=t;for(;n>=0&&Os(e,n);)n--;return n}function Cm(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function _m(e){let t=e.length-1;if(!Os(e,t))return null;let n=Is(e,t);return e[n]==="."&&(n=Is(e,n-1)),n+1}function wm(e){let t=_m(e);if(t==null)return null;let n=Cm(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!Ps.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function Hi(e){let t=(e??"").trim();if(!t)return null;let n=Be(t);if(n!=null)return{kind:"absolute",value:n};if(Ps.test(t))return{kind:"reference",refId:t,offset:0};let r=wm(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}function Hs(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Se(e){return Be(e)}function Te(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:typeof HTMLMediaElement<"u"&&e instanceof HTMLMediaElement?e.defaultPlaybackRate:1;return Hs(n)}function dn(e){let t=n=>{let r=Se(n);return r==null?null:Number.isFinite(r)&&r>=0?r:null};return t(e.getAttribute("data-playback-start"))??t(e.getAttribute("data-media-start"))??0}function et(e,t){return Tm(t,dn(e),Te(e))}function Tm(e,t,n){return Number.isFinite(e)?Math.max(0,e-t)/Hs(n):null}function Rm(e,t,n){let r=e.filter(o=>Number.isFinite(o.time)&&Number.isFinite(o.volume)).map(o=>({time:Math.max(0,o.time-t),volume:Ge(o.volume)})).sort((o,a)=>o.time-a.time),i=[];for(let o of r){let a=i.at(-1);a&&Math.abs(a.time-o.time)<1e-9?a.volume=o.volume:i.push(o)}return i.length===0||i[0].time>0&&i.unshift({time:0,volume:Ge(n)}),i}function Gs(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let r=e[n],i=e[n+1]??r,o=i.time-r.time,a=o<=0?0:Math.min(1,Math.max(0,(t-r.time)/o));return r.volume+(i.volume-r.volume)*a}function km(e,t,n,r){let i=e.at(-1);!i||Math.abs(i.volume-n.volume)>1e-4?(i&&t&&t.time>i.time&&e.push(t),e.push(n)):r&&n.time>i.time&&e.push(n)}function Fm(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function Bs(e,t){let n=Se(e.dataset.start)??0,r=Se(e.dataset.end)??void 0,i=Se(e.dataset.duration)??void 0,o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=Fm(e.dataset.volume)??1;return{start:n,end:o,staticVolume:Ge(a)}}function Mm(e,t,n,r){let{start:i,end:o,staticVolume:a}=Bs(e,n),l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),c=Ds(e,()=>{e.volume=a;let f=[],p;for(let b=s;b<=u+1e-6;b=Math.min(u,b+l)){t(b);let v=Number(e.volume);if(Number.isFinite(v)){let x={time:Number(b.toFixed(6)),volume:Number(Ge(v).toFixed(6))};km(f,p,x,b===u),p=x}if(b===u)break}return f});return c.some(f=>Math.abs(f.volume-a)>1e-4)?c:null}function Us(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},a=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,l=Mm(e,o,n,60);if(Number.isFinite(a)&&o(a),l){let{start:s,staticVolume:u}=Bs(e,n),c=Rm(l,s,u);c.length>0&&r.set(e,c)}}var xr="data-fx-chain",I1=xr.slice(5),Ws=1,fn=(e="frequency",t="Frequency",n=1e3,r=20,i=2e4)=>({kind:"number",key:e,label:t,unit:"Hz",min:r,max:i,step:1,default:n,scale:"log",automatable:!0}),Gi=(e=.707,t="Bandwidth \u2014 higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:e,scale:"log",automatable:!0,hint:t}),br=(e=-40,t=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:e,max:t,step:.1,default:n,automatable:!0}),Vs={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},zs=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[br(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[fn("frequency","Frequency",1e3),br(-40,40,0),Gi(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[fn("frequency","Frequency",200,20,2e3),br(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[fn("frequency","Frequency",4e3,500,2e4),br(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies \u2014 the usual fix for rumble on a voice.",params:[fn("frequency","Cutoff",300,20,2e4),Gi(.707),Vs],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies \u2014 darkens or muffles a track.",params:[fn("frequency","Cutoff",8e3,100,2e4),Gi(.707),Vs],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Hard ceiling \u2014 nothing gets past the limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times \u2014 a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],Bi=new Map(zs.map(e=>[e.id,e]));function mn(e){return Bi.get(e)}var P1=zs.map(e=>e.id);function pn(e,t){let n=Bi.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];if(i.kind==="enum"){let l=i.options.some(s=>s.value===o);r[i.key]=l?o:i.default;continue}let a=typeof o=="number"?o:typeof o=="string"&&o.trim()!==""?Number(o):Number.NaN;r[i.key]=Number.isFinite(a)?Math.min(i.max,Math.max(i.min,a)):i.default}return r}var ct=class extends Error{constructor(t){super(t),this.name="AudioFxChainError"}};function qs(e){let t;try{t=JSON.parse(e)}catch(i){throw new ct(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new ct("Chain file must be a JSON object.");let n=t;if(n.version!==Ws)throw new ct(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new ct("Chain file is missing a `nodes` array.");let r=n.nodes.map((i,o)=>{if(typeof i!="object"||i===null)throw new ct(`Node ${o} is not an object.`);let a=i;if(typeof a.type!="string"||!Bi.has(a.type))throw new ct(`Node ${o} has unknown effect type: ${String(a.type)}`);return{type:a.type,...typeof a.id=="string"&&a.id?{id:a.id}:{},...a.fromCarve===!0?{fromCarve:!0}:{},...typeof a.fromPreset=="string"&&a.fromPreset?{fromPreset:a.fromPreset}:{},...typeof a.label=="string"&&a.label?{label:a.label}:{},...typeof a.fromEq=="string"&&a.fromEq?{fromEq:a.fromEq}:{},...a.fromLeveller===!0?{fromLeveller:!0}:{},...typeof a.presetAmount=="number"&&Number.isFinite(a.presetAmount)?{presetAmount:Math.min(1,Math.max(0,a.presetAmount))}:{},enabled:a.enabled!==!1,params:pn(a.type,a.params??void 0)}});return{version:Ws,nodes:r}}function hn(e){return e.nodes.filter(t=>t.enabled!==!1)}var Ht="data-automation",B1=Ht.slice(5),yr=1,Nm=512,tt=class extends Error{constructor(t){super(t),this.name="AudioAutomationError"}},Gt="volume";function bn(e){if(e===Gt)return{kind:"volume"};let t=e.split(".");if(t.length===3&&t[0]==="fx"&&t[1]===Lm){let i=t[2];return i?{kind:"preset",presetId:i}:null}if(t.length!==3||t[0]!=="fx")return null;let[,n,r]=t;return!n||!r?null:{kind:"fx",nodeId:n,param:r}}var Lm="preset";var Dm={min:0,max:1,step:.01,unit:"",label:"Amount",scale:"linear",default:1},vr={min:0,max:Oi,step:.01,unit:"",label:"Volume",scale:"linear",default:1};function Ui(e,t){let n=bn(e);if(!n)return null;if(n.kind==="volume")return vr;if(n.kind==="preset")return t?.nodes.some(l=>l.fromPreset===n.presetId)?{...Dm,label:`${n.presetId} \xB7 Amount`}:null;let r=t?.nodes.find(a=>a.id===n.nodeId);if(!r)return null;let i=mn(r.type),o=i?.params.find(a=>a.key===n.param);return!o||o.kind!=="number"?null:{min:o.min,max:o.max,step:o.step,unit:o.unit,label:`${i?.label??r.type} \xB7 ${o.label}`,scale:o.scale==="log"&&o.min>0?"log":"linear",default:o.default}}function gn(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(typeof e=="string"&&e.trim()!==""){let t=Number(e);return Number.isFinite(t)?t:null}return null}function Im(e){let t=gn(e);return t===null||t===0?0:Math.min(1,Math.max(-1,t))}function $s(e,t){let n=gn(e),r=gn(t);if(n===null||r===null)return null;let i=l=>Math.min(.999,Math.max(.001,l)),o=i(n),a=i(r);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function Pm(e){let t=Im(e?.curve),n=$s(e?.viaX,e?.viaY);return{...t?{curve:t}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function Om(e,t){let n=gn(e?.t),r=gn(e?.v);if(n===null||r===null)return null;let i=t?Math.min(t.max,Math.max(t.min,r)):r;return{t:Math.max(0,n),v:i,...Pm(e)}}function js(e,t){let n=e.map(i=>Om(i,t)).filter(i=>i!==null).sort((i,o)=>i.t-o.t),r=[];for(let i of n)r.length>0&&r[r.length-1].t===i.t?r[r.length-1]=i:r.push(i);return r.slice(0,Nm)}function Hm(e){let t=[];for(let n of e.lanes){if(!bn(n.target))continue;let r=n.target===Gt?vr:null,i=js(n.points??[],r);i.length>0&&t.push({target:n.target,points:i})}return{version:yr,lanes:t}}function Ks(e,t){let n=[];for(let r of e.lanes){let i=Ui(r.target,t);if(!i)continue;let o=js(r.points,i);o.length>0&&n.push({target:r.target,points:o})}return{version:yr,lanes:n}}function Sr(e){let t;try{t=JSON.parse(e)}catch(i){throw new tt(`Automation is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new tt("Automation must be a JSON object.");let n=t;if(n.version!==yr)throw new tt(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new tt("Automation is missing a `lanes` array.");let r=n.lanes.map((i,o)=>{if(typeof i!="object"||i===null)throw new tt(`Lane ${o} is not an object.`);let a=i;if(typeof a.target!="string"||!bn(a.target))throw new tt(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new tt(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Hm({version:yr,lanes:r})}function Gm(e,t){return t?Math.pow(e,Math.pow(2,2*t)):e}function Bm(e,t){let n=e-.5,r=t-.5,i=.999,o=1e6,a=n>0?n/(i-e):n<0?-n/(e-(1-i)):0,l=r>0?r/(i-t):r<0?-r/(t-(1-i)):0,s=Math.min(o,Math.max(1,a,l));return{cx:e+n/s,cy:t+r/s,w:s}}function Um(e,t,n){let{cx:r,cy:i,w:o}=Bm(t,n),a=2-2*o,l=e*a-1+2*o*r,s=-e*a-2*o*r,u=Wm(l,s,e),c=1-u,m=c*c+2*o*u*c+u*u;return m>0?(2*o*i*u*c+u*u)/m:e}function Wm(e,t,n){if(Math.abs(e)<1e-12)return Math.abs(t)<1e-12?n:-n/t;let r=Math.sqrt(Math.max(0,t*t-4*e*n)),i=(-t+r)/(2*e),o=(-t-r)/(2*e),a=l=>l>=-1e-9&&l<=1+1e-9;return a(i)?Math.min(1,Math.max(0,i)):a(o)?Math.min(1,Math.max(0,o)):n}function Vm(e,t){let n=$s(t.viaX,t.viaY);return n?Um(Math.min(1,Math.max(0,e)),n.x,n.y):Gm(e,t.curve)}function zm(e,t,n,r){return r==="log"&&e>0&&t>0?Math.exp(Math.log(e)+(Math.log(t)-Math.log(e))*n):e+(t-e)*n}function xn(e,t,n="linear"){let r=e.points;if(r.length===0)return 0;let i=r[0];if(t<=i.t)return i.v;let o=r[r.length-1];if(t>=o.t)return o.v;let a=0,l=r.length-1;for(;l-a>1;){let m=a+l>>1;r[m].t<=t?a=m:l=m}let s=r[a],u=r[l],c=u.t-s.t;return c<=0?u.v:zm(s.v,u.v,Vm((t-s.t)/c,s),n)}function Ys(e){return e.points.length<=1||e.points.every(t=>t.v===e.points[0].v)}function Xs(e,t,n,r,i="linear"){let o=Math.max(2,Math.floor(r)),a=new Float32Array(o),l=n-t;for(let s=0;s<o;s+=1)a[s]=xn(e,t+l*s/(o-1),i);return a}var Er=new Map,qm=64;function $m(e){let t=Er.get(e);if(t!==void 0)return t;let n=null;try{n=Sr(e).lanes.find(r=>r.target===Gt)??null}catch{n=null}return Er.size>qm&&Er.clear(),Er.set(e,n),n}function Js(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(Ht):null)??"";if(!n)return null;let r=$m(n);return!r||r.points.length===0?null:xn(r,t)}function Ke(e){return dn(e)}function Qs(e){let t=e.isVideo?e.explicitDuration??e.sourceDuration:e.sourceDuration,n=(e.isVideo?[t,e.hostRemaining]:[t,e.hostRemaining,e.explicitDuration]).filter(r=>r!=null&&Number.isFinite(r)&&r>=0);return n.length>0?Math.min(...n):null}function Zs(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(a=>e.shouldIncludeElement?.(a)):t.filter(a=>a.hasAttribute("data-start")),r=[],i=[],o=0;for(let a of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=Ke(a),u=Te(a),c=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<0)&&m!=null&&(f=Math.max(0,(m-s)/u));let p=Number.isFinite(f)&&f>=0,b=p?l+f:Number.POSITIVE_INFINITY,v=Number.parseFloat(a.dataset.volume??""),x={el:a,start:l,mediaStart:s,duration:p?f:Number.POSITIVE_INFINITY,end:b,volume:Number.isFinite(v)?v:null,playbackRate:u,loop:c,sourceDuration:m};r.push(x),a.tagName==="VIDEO"&&i.push(x),Number.isFinite(b)&&(o=Math.max(o,b))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var Vi=new WeakMap,yn=new WeakMap,zi=new WeakSet,Bt=new WeakSet;function jm(e){if(Bt.has(e))return;Bt.add(e);let t=()=>Bt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Km=3;function Ym(e){return e.error!=null||e.networkState===Km}var qi=new WeakMap;function Wi(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function $i(e){Vi.delete(e),yn.delete(e),zi.delete(e),qi.delete(e)}function el(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=o&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration;if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||l)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let j=n.sourceDuration-n.mediaStart;j>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%j)}let u=Wi(e.userVolume??1),c=Ge(n.volume??1),m=qi.get(r),f=Wi(r.volume),p,b=Js(r,e.timeSeconds-n.start);if(b!==null)p=Ge(b);else if(n.volumeKeyframes&&n.volumeKeyframes.length>0){let j=e.timeSeconds-n.start;p=Ge(Gs(n.volumeKeyframes,j))}else e.isWebAudioRouted?.(r)?p=c:m===void 0?p=c>1?c:f:Math.abs(f-m)>1e-4?p=f:p=c;let v=Wi(p*u);r.volume=v,qi.set(r,v),e.onElementVolume?.(r,v,p),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(j){L("runtime.media.site1",j)}let x=.04,w=2,R=r.currentTime||0,T=Math.abs(R-i),F=i-R,M=Vi.get(r);Vi.set(r,F);let A=M===void 0,S=!A&&Math.abs(F-M)>.5,E=T>3,_=a&&T>.001||r.ended&&l&&T>.001||T>.5&&(A||S||E),N=r.tagName==="VIDEO"&&!r.paused,D=M!==void 0&&Math.abs(F-M)<.004,H=!1;if(!N&&!_&&!A&&D&&T>x){let j=(yn.get(r)??0)+1;yn.set(r,j),j>=w&&(H=!0,yn.set(r,0))}else T<=x&&yn.set(r,0);let z=!N&&e.forceSync&&T>.02;if(_||H||z){if(!(r.tagName==="VIDEO"&&!!ut(r))){try{r.currentTime=i}catch(k){L("runtime.media.site2",k)}if(Math.abs(r.currentTime-i)>.5&&!zi.has(r)){zi.add(r),r.load();try{r.currentTime=i}catch(k){L("runtime.media.site3",k)}}}Bt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Bt.has(r)&&!Ym(r)?(jm(r),r.play().catch(j=>{Bt.delete(r),(j&&typeof j=="object"&&"name"in j?String(j.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}$i(r),r.paused||r.pause()}}var Xm="hf-proxy",tl="runtime_media_proxy_fallback",nl="runtime_media_proxy_unavailable",vn=new WeakSet,rl=new WeakSet;function Ar(e){return e.currentSrc||e.src}function ji(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:e instanceof HTMLVideoElement&&!!ut(e)}function Ki(e){let t=Ar(e);if(!t)return null;let n;try{n=new URL(t,document.baseURI)}catch{return null}if(n.origin!==window.location.origin)return null;try{return decodeURIComponent(n.pathname)}catch{return n.pathname}}function Jm(e,t){let n=null;for(let r of Object.keys(t))e.endsWith(r)&&(n===null||r.length>n.length)&&(n=r);return n?t[n]??null:null}function Qm(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function Yi(e,t){return t[e]??Jm(e,t)??Qm(e,t)}function Zm(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(Xm,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var ep={cross_origin:"video reports zero decodable width but its source is cross-origin; no local proxy can be served for it",proxy_playback_failed:"the authoring proxy itself failed to decode; render output is unaffected",browser_safe_codec:"the file errored but its codec is browser-decodable; a proxy cannot help (the file itself is likely corrupt)",invalid_source_url:"the media source URL is malformed and cannot be proxied"};function wt(e,t,n){if(rl.has(e))return;rl.add(e);let r=ep[t];ye({source:"hf-preview",type:"diagnostic",code:nl,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${nl}: "${n}" (${t}): ${r}`)}function Xi(e,t=null,n="reactive"){if(vn.has(e))return;let r=Ar(e),i;try{i=Zm(r,t)}catch(l){L("runtime.mediaProxy.swap",l),wt(e,"invalid_source_url",r);return}vn.add(e),$i(e),e.src=i,e.load();let o=t?.codecName??null;ye({source:"hf-preview",type:"diagnostic",code:tl,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${tl}: "${r}" uses a codec (${o??"unknown"}) this browser can't decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function il(e){if(ji(e)||!(e instanceof HTMLVideoElement)||vn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=Ki(e);if(n===null)return;let r=Yi(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||Xi(e,r,"proactive")}function ol(e){if(ji(e)||!(e instanceof HTMLVideoElement)||e.videoWidth!==0)return;let t=Ar(e);if(vn.has(e)){wt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=Ki(e);if(r===null){wt(e,"cross_origin",t);return}let i=Yi(r,n);if(i&&!i.browserHostile){wt(e,"browser_safe_codec",t);return}Xi(e,i,"reactive")}function al(e){if(ji(e)||!(e instanceof HTMLVideoElement))return;let t=Ar(e);if(vn.has(e)){wt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=Ki(e);if(r===null){wt(e,"cross_origin",t);return}let i=Yi(r,n);if(i&&!i.browserHostile){wt(e,"browser_safe_codec",t);return}Xi(e,i,"tertiary")}var Ee=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);ge(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},tp=[0,0,0],np=[1,1,1],Cr=64;function rp(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r==='"'&&(t=!t),r==="#"&&!t)return e.slice(0,n)}return e}function dt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Ee(`Invalid number "${e}"`,t);return n}function sl(e,t,n){if(e.length!==3)throw new Ee(`${t} expects three numbers`,n);return[dt(e[0],n),dt(e[1],n),dt(e[2],n)]}function ll(e,t,n){if(!e)throw new Ee(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new Ee(`${t} must be an integer greater than 1`,n);return r}function ip(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Ee("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function op(e){let t=/^TITLE\s+"([^"]*)"\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\s+(.+)\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function ap(e){return/^[+-]?(?:\d|\.\d)/.test(e)}function ul(e,t={}){let n=t.maxSize??Cr,r=null,i=tp,o=np,a=null,l=null,s=[],u=e.replace(/^\uFEFF/,"").split(/\r?\n/);for(let m=0;m<u.length;m++){let f=m+1,p=rp(u[m]??"").trim();if(!p)continue;let b=p.split(/\s+/),v=(b[0]??"").toUpperCase(),x=b.slice(1);if(v==="TITLE"){r=op(p);continue}if(v==="DOMAIN_MIN"){i=sl(x,v,f);continue}if(v==="DOMAIN_MAX"){o=sl(x,v,f);continue}if(v==="LUT_3D_INPUT_RANGE"){if(x.length!==2)throw new Ee(`${v} expects two numbers`,f);let w=dt(x[0],f),R=dt(x[1],f);if(R<=w)throw new Ee("LUT_3D_INPUT_RANGE max must exceed min",f);i=[w,w,w],o=[R,R,R];continue}if(v==="LUT_1D_SIZE"){a=ll(x[0],v,f);continue}if(v==="LUT_3D_SIZE"){if(l=ll(x[0],v,f),l>n)throw new Ee(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!ap(v)){if(v.startsWith("LUT_"))throw new Ee(`Unsupported cube keyword ${v}`,f);continue}if(!l)throw a?new Ee("1D cube LUTs are not supported yet",f):new Ee("LUT data appears before LUT_3D_SIZE",f);if(b.length!==3)throw new Ee("LUT data rows must contain three numbers",f);s.push(dt(b[0],f),dt(b[1],f),dt(b[2],f))}if(a&&l)throw new Ee("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new Ee("1D cube LUTs are not supported yet"):new Ee("Missing LUT_3D_SIZE");ip(i,o);let c=l*l*l;if(s.length!==c*3)throw new Ee(`Expected ${c} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function sp(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function Sn(e){return Math.round(sp(e)*255)}function Ji(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=Sn(e.data[s]??0),i[u+1]=Sn(e.data[s+1]??0),i[u+2]=Sn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var cl="rec709";var me={hueDegrees:{min:0,max:360,inclusiveMax:!1},unit:{min:0,max:1},signedUnit:{min:-1,max:1},secondaryHueRange:{min:0,max:180},secondaryHueSoftness:{min:0,max:180},secondaryHueCombinedMax:180,secondarySoftRangeSoftness:{min:0,max:.5},secondaryHueShift:{min:-180,max:180},effects:{asciiStyle:{min:0,max:7},bloom:{min:0,max:3},bloomRadius:{min:1,max:100},monoScreenShape:{min:0,max:4}}};var dl=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],fl=["shadows","midtones","highlights"],ml=["master","red","green","blue"],pl=["hueVsHue","hueVsSaturation","hueVsLuma"];var hl=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],gl=["blur","pixelate","chromaBleed","tapeDamage","tapeTracking","tapeNoise","tapeSpeed","filmArtifacts","halftone","halftoneSize","twoInkPrint","twoInkPrintSize","ascii","asciiSize","asciiInvert","asciiStyle","asciiColor","asciiRotation","dither","ditherSize","bloom","bloomRadius","monoScreen","monoScreenSize","monoScreenAngle","monoScreenSpread","monoScreenShape","monoScreenInvert","scanlines","scanlineCount","scanlineSoftness","chromaticAberration","chromaticAngle","crtCurvature","digitalGlitch","digitalGlitchColorSplit","digitalGlitchLineTear","digitalGlitchPixelate","digitalGlitchBlockAmount","digitalGlitchBlockDisplacement","digitalGlitchBlockOpacity","digitalGlitchSpeed","engraving","engravingSpacing","engravingMinThickness","engravingMaxThickness","engravingAngle","engravingContrast","engravingSharpness","engravingWave","engravingWaveFrequency","crosshatch","crosshatchSpacing","crosshatchThickness","crosshatchAngle","crosshatchContrast","crosshatchEdges","crosshatchLineWeight","crosshatchWave","crosshatchWaveFrequency","kuwahara","kuwaharaRadius","kuwaharaSharpness","kuwaharaSaturation"];var ov=me.unit,av=me.signedUnit,sv=me.effects;var Ye=1024,En=16;function bl(e,t,n,r){let i=((2*e+t)*n-e*r)/(e+t);return Math.sign(i)!==Math.sign(n)?0:Math.sign(n)!==Math.sign(r)&&Math.abs(i)>3*Math.abs(n)?3*n:i}function Ae(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function lp(e){let t=[],n=[],r=Ae(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=Ae(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=bl(Ae(t,0),Ae(t,1),i,Ae(n,1)),o[o.length-1]=bl(Ae(t,t.length-1),Ae(t,t.length-2),Ae(n,n.length-1),Ae(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=Ae(n,a-1),s=Ae(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=Ae(t,a-1),c=Ae(t,a),m=2*c+u,f=c+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function xl(e,t){if(e.length<2)throw new RangeError("A color curve requires at least two points");if(!Number.isInteger(t)||t<2)throw new RangeError("Curve LUT size must be at least 2");let n=Number.NEGATIVE_INFINITY;for(let[r,i]of e){if(!Number.isFinite(r)||!Number.isFinite(i))throw new TypeError("Color curve points must be finite");if(r<=n)throw new RangeError("Color curve inputs must be strictly increasing");n=r}}function up(e,t,n){if(!Number.isFinite(t)||!Number.isFinite(n)||t>=n)throw new RangeError("Curve output bounds must be finite and increasing");if(e.some(([,r])=>r<t||r>n))throw new RangeError(`Curve outputs must be between ${t} and ${n}`)}function cp(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function yl(e,t,n,r,i){up(e,r,i);let o=lp(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>Ae(e,l+1)[0];)l+=1;let c=Ae(e,l),m=Ae(e,l+1),f=cp(u,c,m,Ae(o,l),Ae(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Ut(e,t=Ye){if(xl(e,t),e.length>En)throw new RangeError(`A color curve supports at most ${En} points`);if(e.some(([n])=>n<0||n>1))throw new RangeError("Color curve inputs must be between 0 and 1");if(e[0]?.[0]!==0||e[e.length-1]?.[0]!==1)throw new RangeError("Color curves must include input endpoints 0 and 1");return yl(e,t,n=>n/(t-1),0,1)}function Zi(e,t,n,r=Ye){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>En)throw new RangeError(`A hue curve supports at most ${En} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return xl(l,r),yl(l,r,s=>s/r*360,t,n)}var An="data-color-grading",Cn="data-hf-color-grading-source-hidden",Tr="data-hf-authored-opacity",Cl="__hf_color_grading_",fp=cl,no={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},ro={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},io={blur:0,pixelate:0,chromaBleed:0,tapeDamage:0,tapeTracking:0,tapeNoise:1,tapeSpeed:.5,filmArtifacts:0,halftone:0,halftoneSize:0,twoInkPrint:0,twoInkPrintSize:0,ascii:0,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0,dither:0,ditherSize:0,bloom:0,bloomRadius:8,monoScreen:0,monoScreenSize:0,monoScreenAngle:0,monoScreenSpread:0,monoScreenShape:0,monoScreenInvert:0,scanlines:0,scanlineCount:0,scanlineSoftness:0,chromaticAberration:0,chromaticAngle:0,crtCurvature:0,digitalGlitch:0,digitalGlitchColorSplit:0,digitalGlitchLineTear:0,digitalGlitchPixelate:0,digitalGlitchBlockAmount:0,digitalGlitchBlockDisplacement:0,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:0,engraving:0,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9,crosshatch:0,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9,kuwahara:0,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5};var Rr=dl,_l=fl,wl=ml,Tl=pl,ao=hl,so=gl,vl={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},Sl={vignette:.18};function Ce(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...no,...n},details:{...ro,...r},effects:{...io,...i}}}var lo=[Ce("neutral","Neutral"),Ce("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ce("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ce("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ce("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ce("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ce("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ce("vintage-wash","Vintage Wash",vl,Sl),Ce("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ce("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ce("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ce("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ce("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Ce("creator-camcorder","Creator Camcorder",{contrast:.08,highlights:-.05,shadows:.02,whites:.03,blacks:-.04,temperature:-.03,tint:-.015,vibrance:-.03,saturation:-.06},{vignette:.06,grain:.08,grainSize:.18,grainRoughness:.58},{chromaBleed:.55},.72),Ce("vhs-playback","VHS Playback",{contrast:-.04,saturation:-.08},{grain:.16,grainSize:.12,grainRoughness:.72},{tapeDamage:.82,tapeTracking:.85,tapeNoise:.3,tapeSpeed:.5,chromaBleed:.5,chromaticAberration:.18,scanlines:.35,scanlineCount:.17,scanlineSoftness:1,digitalGlitch:.32,digitalGlitchLineTear:.08,digitalGlitchSpeed:.5}),Ce("home-movie-8mm","8mm Home Movie",vl,{...Sl,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Ce("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Ce("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],mp=new Map(lo.map(e=>[e.id,e])),pp=/^\$(?:\{([A-Za-z0-9_.:-]+)\}|([A-Za-z0-9_.:-]+))$/,hp={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},Wt={hue:0,amount:0,level:0},El={amount:me.unit,level:me.signedUnit},ft=[[0,0],[1,1]],Vt=[],gp={hueVsHue:me.secondaryHueShift,hueVsSaturation:me.signedUnit,hueVsLuma:me.signedUnit},eo={center:0,range:180,softness:0},to={min:0,max:1,softness:.05},bp={vignette:me.unit,vignetteMidpoint:me.unit,vignetteRoundness:me.signedUnit,vignetteFeather:me.unit,grain:me.unit,grainSize:me.unit,grainRoughness:me.unit},oo=me.unit,xp=me.effects,Rl=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var yp=lo.filter(e=>Rl.some(t=>e.effects[t]>1e-4)),hv=lo.filter(e=>!yp.includes(e)),gv={blur:{blur:.45},pixelate:{pixelate:.55},bloom:{bloom:.55,bloomRadius:8},chromaBleed:{chromaBleed:.55},tapeDamage:{tapeDamage:.65,tapeTracking:.55,tapeNoise:.25,tapeSpeed:.5},filmArtifacts:{filmArtifacts:.55},scanlines:{scanlines:.35,scanlineCount:.17,scanlineSoftness:1},chromaticAberration:{chromaticAberration:.15,chromaticAngle:0},crtCurvature:{crtCurvature:.2},digitalGlitch:{digitalGlitch:.55,digitalGlitchColorSplit:.25,digitalGlitchLineTear:.25,digitalGlitchPixelate:.15,digitalGlitchBlockAmount:.5,digitalGlitchBlockDisplacement:.25,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:.5},halftone:{halftone:.94,halftoneSize:.36},twoInkPrint:{twoInkPrint:1,twoInkPrintSize:.42},ascii:{ascii:1,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0},dither:{dither:1,ditherSize:.5},monoScreen:{monoScreen:1,monoScreenSize:.35,monoScreenAngle:.25,monoScreenSpread:.3,monoScreenShape:0,monoScreenInvert:0},engraving:{engraving:1,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9},crosshatch:{crosshatch:1,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9},kuwahara:{kuwahara:1,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5}},kl=[{path:"intensity",name:"--hf-color-grading-intensity",min:0,max:1},{path:"lut.intensity",name:"--hf-color-grading-lut-intensity",min:0,max:1},{path:"adjust.exposure",name:"--hf-color-grading-exposure",min:-2,max:2},{path:"effects.blur",name:"--hf-color-grading-blur",min:0,max:1},{path:"effects.bloom",name:"--hf-color-grading-bloom",min:0,max:3},{path:"effects.kuwahara",name:"--hf-color-grading-kuwahara",min:0,max:1},{path:"effects.pixelate",name:"--hf-color-grading-pixelate",min:0,max:1},{path:"effects.ascii",name:"--hf-color-grading-ascii",min:0,max:1},{path:"effects.dither",name:"--hf-color-grading-dither",min:0,max:1}];var vp=/^#[0-9a-f]{6}$/i;function Sp(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&vp.test(t))?null:e.map(t=>t.toLowerCase())}function Re(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function wr(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function Fl(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function ke(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?wr(n,t.min,t.max):0}function uo(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function Ep(e){let t=Re(e)?e:{};return _l.reduce((n,r)=>{let i=Re(t[r])?t[r]:{};return n[r]={hue:uo(i.hue,Wt.hue),amount:ke(i.amount??Wt.amount,El.amount),level:ke(i.level??Wt.level,El.level)},n},{shadows:{...Wt},midtones:{...Wt},highlights:{...Wt}})}function Ap(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[wr(t,0,1),wr(n,0,1)]:null}function Ml(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function Cp(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function _p(e){if(!Array.isArray(e)||e.length<2)return ft;let t=[];for(let n of e){let r=Ap(n);if(!r)return ft;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),Ml(t)||(Cp(t),t.length>16)?ft:t}function wp(e){let t=Re(e)?e:{};return wl.reduce((n,r)=>(n[r]=_p(t[r]),n),{master:ft,red:ft,green:ft,blue:ft})}function Tp(e,t){if(!Array.isArray(e)||e.length!==2)return null;let n=Number(e[0]),r=Number(e[1]);return Number.isFinite(n)&&Number.isFinite(r)?[uo(n),wr(r,t.min,t.max)]:null}function Rp(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Vt;let n=[];for(let r of e){let i=Tp(r,t);if(!i)return Vt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),Ml(n)?Vt:n}function kp(e){let t=Re(e)?e:{};return Tl.reduce((n,r)=>(n[r]=Rp(t[r],gp[r]),n),{hueVsHue:Vt,hueVsSaturation:Vt,hueVsLuma:Vt})}function Al(e){let t=Re(e)?e:{},n=ke(t.min??to.min,oo),r=ke(t.max??to.max,oo);return{min:Math.min(n,r),max:Math.max(n,r),softness:ke(t.softness??to.softness,me.secondarySoftRangeSoftness)}}function Fp(e){let t=Re(e)?e:{},n=ke(t.range??eo.range,me.secondaryHueRange);return{center:uo(t.center,eo.center),range:n,softness:ke(t.softness??eo.softness,{min:me.secondaryHueSoftness.min,max:me.secondaryHueCombinedMax-n})}}function Mp(e){return{hueShift:ke(e.hueShift??0,me.secondaryHueShift),saturation:ke(e.saturation??0,me.signedUnit),luma:ke(e.luma??0,me.signedUnit),temperature:ke(e.temperature??0,me.signedUnit),tint:ke(e.tint??0,me.signedUnit)}}function Np(e){return!Re(e)||!Re(e.key)||!Re(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:Fp(e.key.hue),saturation:Al(e.key.saturation),luma:Al(e.key.luma)},correction:Mp(e.correction)}}function Lp(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=Np(n);r&&t.push(r)}return t}function Dp(e){if(e==null)return null;let t=String(e).trim();return t||null}function Ip(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Re(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:Fl(e.intensity,1)}}function Pp(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Re(n)?n:null}catch{return null}return{preset:t}}return Re(e)?e:null}function Op(e,t){let n=e.trim().match(pp);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function _r(e,t){if(typeof e=="string"){let r=Op(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return _r(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>_r(r,t));if(!Re(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=_r(i,t);return n}function Hp(e){return e?mp.get(e)??null:null}function kr(e){let t=Pp(e);if(!t||t.enabled===!1)return null;let n=Dp(t.preset),r=Hp(n),i=r?.adjust??no,o=r?.details??ro,a=r?.effects??io,l=Re(t.adjust)?t.adjust:{},s=Re(t.details)?t.details:{},u=Re(t.effects)?t.effects:{},c=Rr.reduce((p,b)=>(p[b]=ke(l[b]??i[b],hp[b]),p),{...no}),m=ao.reduce((p,b)=>(p[b]=ke(s[b]??o[b],bp[b]),p),{...ro}),f=so.reduce((p,b)=>(p[b]=ke(u[b]??a[b],xp[b]??oo),p),{...io});return{enabled:!0,preset:n,intensity:Fl(t.intensity,r?.intensity??1),adjust:c,wheels:Ep(t.wheels),curves:wp(t.curves),hueCurves:kp(t.hueCurves),secondaries:Lp(t.secondaries),details:m,effects:f,palette:Sp(t.palette),lut:Ip(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():fp}}function Nl(e,t){return kr(_r(e,t))}function Gp(e){return _l.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function co(e){return wl.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function fo(e){return Tl.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function mo(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function Ll(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||Rl.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:Rr.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?Gp(e.wheels):!1)||(e.curves?co(e.curves):!1)||(e.hueCurves?fo(e.hueCurves):!1)||(e.secondaries?mo(e.secondaries):!1):!1}var Bp=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Up=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Dl(e){let t=!1,n=null,r=null,i=null,o=null;function a(S,E){try{window.dispatchEvent(new CustomEvent(S,{detail:E}))}catch(_){L("runtime.picker.site1",_)}}function l(S){i=S,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(S){o=S,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(S){let E=S.ownerDocument.defaultView;if(!E)return!1;let _=S;for(;_&&_!==document.body&&_!==document.documentElement;){let N=E.getComputedStyle(_);if(N.display==="none"||N.visibility==="hidden"||N.pointerEvents==="none")return!0;let D=Number.parseFloat(N.opacity);if(Number.isFinite(D)&&D<=.01&&!_.hasAttribute(Cn))return!0;_=_.parentElement}return!1}function c(S){if(!S||S===document.body||S===document.documentElement)return!1;let E=S.tagName.toLowerCase();return!(E==="script"||E==="style"||E==="link"||E==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Bp)||u(S))}function m(S){return!!S?.closest(Up)}function f(S){let E=S;if(E.id)return`#${CSS.escape(E.id)}`;let _=S.getAttribute("data-composition-id");if(_)return`[data-composition-id="${CSS.escape(_)}"]`;let N=S.getAttribute("data-composition-src");if(N)return`[data-composition-src="${CSS.escape(N)}"]`;let D=S.getAttribute("data-track-index");if(D)return`[data-track-index="${CSS.escape(D)}"]`;let H=S.tagName.toLowerCase(),z=S.parentElement;if(!z)return H;let j=z.querySelectorAll(`:scope > ${H}`);if(j.length===1)return H;for(let k=0;k<j.length;k+=1)if(j[k]===S)return`${H}:nth-of-type(${k+1})`;return H}function p(S){let E=S.tagName.toLowerCase(),_=(S.textContent??"").trim().replace(/\s+/g," "),N=(D,H)=>D.length>H?`${D.slice(0,H-1)}\u2026`:D;return E==="h1"||E==="h2"||E==="h3"?"Heading":E==="p"||E==="span"||E==="div"?_.length>0?N(_,56):"Text":E==="img"?"Image":E==="video"?"Video":E==="audio"?"Audio":E==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":E==="section"?"Section":`${E.charAt(0).toUpperCase()}${E.slice(1)}`}function b(S,E,_){let N=typeof _=="number"&&_>0?_:8,D=[];if(document.elementsFromPoint)D=document.elementsFromPoint(S,E);else if(document.elementFromPoint){let j=document.elementFromPoint(S,E);D=j?[j]:[]}if(m(D[0]??null))return[];let H={},z=[];for(let[j,k]of D.entries()){if(!c(k))continue;let B=`${k.tagName}::${k.id||""}::${j}`;if(!H[B]&&(H[B]=!0,z.push(k),z.length>=N))break}return z}function v(S){let E=S.getBoundingClientRect(),_={};for(let D of Array.from(S.attributes))D.name.startsWith("data-")&&(_[D.name]=D.value);return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:p(S),boundingBox:{x:E.left,y:E.top,width:E.width,height:E.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:_}}function x(S,E,_){return b(S,E,_).map(v)}function w(S){if(!t)return;let _=b(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!c(_)||n===_)return;n&&n.classList.remove("__hf-pick-highlight"),n=_,_.classList.add("__hf-pick-highlight");let N=v(_);l(N),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:N})}function R(S){if(!t)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let E=x(S.clientX,S.clientY,8);E.length!==0&&(l(E[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:E,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function T(S){S.key==="Escape"&&(M(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function F(){t||(t=!0,r=document.createElement("style"),r.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`
|
|
40
|
+
`),document.head.appendChild(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",T,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function M(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),r&&(r.remove(),r=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",T,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function A(){window.__HF_PICKER_API={enable:F,disable:M,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(S,E,_)=>Number.isFinite(S)&&Number.isFinite(E)?x(S,E,_):[],pickAtPoint:(S,E,_)=>{if(!Number.isFinite(S)||!Number.isFinite(E))return null;let N=x(S,E,8);if(!N.length)return null;let D=Math.max(0,Math.min(N.length-1,Number(_??0))),H=N[D]??null;return H?(s(H),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:H}),M(),H):null},pickManyAtPoint:(S,E,_)=>{if(!Number.isFinite(S)||!Number.isFinite(E))return[];let N=x(S,E,8);if(!N.length)return[];let D=[],H=Array.isArray(_)?_:[0];for(let z of H){let j=Math.max(0,Math.min(N.length-1,Math.floor(Number(z)))),k=N[j];if(!k)continue;D.some(ee=>ee.selector===k.selector&&ee.tagName===k.tagName)||D.push(k)}return D.length?(s(D[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:D}),M(),D):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:F,disablePickMode:M,installPickerApi:A}}var Wp=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function zt(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function Il(e,t,n=Wp){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function _n(e,t,n){let r=e?.[t];return typeof r=="function"?Number(r.call(e))||n:typeof r=="number"&&Number.isFinite(r)?r:(r!=null&&L("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function Ue(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&L("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function wn(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){L("runtime.player.site1",i)}}}function Pl(e,t,n,r){let i=zt(t,n),o=r?.suppressEvents===!0;return Ue(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function Vp(e,t,n,r,i){let o=[];wn(e,t,a=>{Ue(a,"play"),o.push(a)});try{return Pl(t,n,r,i)}finally{for(let a of o)try{Ue(a,"pause")}catch(l){L("runtime.player.site2",l)}}}function zp(e,t){wn(e,t,n=>{Ue(n,"play")})}function Ol(e){let t=e.transport;return t?{_timeline:null,play:()=>t.play(),pause:()=>t.pause(),seek:(n,r)=>t.seek(n,r),renderSeek:(n,r)=>t.renderSeek(n,r),getTime:()=>t.getTime(),getDuration:()=>t.getDuration(),isPlaying:()=>t.isPlaying(),setPlaybackRate:n=>t.setPlaybackRate(n),getPlaybackRate:()=>t.getPlaybackRate()}:{_timeline:null,play:()=>{let n=e.getTimeline();if(!n||e.getIsPlaying())return;let r=Math.max(0,Number(e.getSafeDuration?.()??_n(n,"duration",0))||0);r>0&&Math.max(0,_n(n,"time",0))>=r&&(Ue(n,"pause"),typeof n.seek=="function"&&n.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof n.timeScale=="function"&&n.timeScale(e.getPlaybackRate()),Ue(n,"play"),wn(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Ue(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;Ue(n,"pause"),wn(e.getTimelineRegistry?.(),n,i=>{Ue(i,"pause")});let r=Math.max(0,_n(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=Vp(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Ue(i,"play"),wn(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),Ue(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(zp(e.getTimelineRegistry?.(),i),Pl(i,n,o,r)):zt(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>_n(e.getTimeline(),"time",0),getDuration:()=>_n(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function Hl(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var qp=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function po(e){return e.id||e.getAttribute("data-hf-id")||null}function $p(e){return Se(e)}function jp(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let r=Number(t[n]?.duration?.());return Number.isFinite(r)&&r>0?r:null}function Kp(e){return!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration)?null:et(e,e.duration)}function Yp(e,t,n,r){let i=$p(e.getAttribute("data-duration"));return i!=null&&i>0?i:jp(e,t)??Kp(e)??Math.max(0,n-r)}function Xp(e){for(let[t,n]of e){let r=t.parentElement;for(;r;){let i=e.get(r);if(i){n.parentId=i.id,i.children.push(n);break}r=r.parentElement}}}function Gl(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||qp.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(Yp(l,n,r,s)<=0)continue;let u={id:po(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return Xp(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var ho="css:root",Bl=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],Jp=new Set([...Bl,"contain","isolation","mask-border","mix-blend-mode","opacity"]),Qp=new Set(["absolute","relative"]),Zp=new Set(["flex","inline-flex","grid","inline-grid"]),e0=new Set(["layout","paint","strict","content"]),t0=new Set(["size","inline-size"]);function n0(e){return e.position==="fixed"||e.position==="sticky"}function r0(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(Qp.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&Zp.has(n)}function i0(e){let t=Number.parseFloat(e.opacity);if(Number.isFinite(t)&&t<1||e.getPropertyValue("isolation")==="isolate")return!0;let n=e.getPropertyValue("mix-blend-mode");return n&&n!=="normal"?!0:Bl.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function o0(e){return e.getPropertyValue("contain").split(/\s+/).some(n=>e0.has(n))?!0:t0.has(e.getPropertyValue("container-type"))}function a0(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>Jp.has(t))}function s0(e,t){return n0(t)||r0(e,t)||i0(t)||o0(t)?!0:a0(t)}function l0(e){let t=[],n=e;for(;n?.parentElement;)t.push(Array.prototype.indexOf.call(n.parentElement.children,n)),n=n.parentElement;return`css:${t.reverse().join(".")}`}function Fr(e){let t=e.ownerDocument.defaultView;if(!t)return ho;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(s0(n,t.getComputedStyle(n)))return l0(n)}catch{return ho}n=n.parentElement}return ho}var u0="data-hf-authored-duration",c0="data-hf-authored-end";function d0(e){return Be(e.getAttribute("data-duration"))}function f0(e){return Be(e.getAttribute("data-end"))}function m0(e){return Be(e.getAttribute(u0))}function p0(e){return Be(e.getAttribute(c0))}function mt(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let p=r.getElementById(f);return p||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let p=f.ownerDocument.defaultView?.HTMLMediaElement;return p?f instanceof p:typeof HTMLMediaElement<"u"&&f instanceof HTMLMediaElement},u=f=>{let p=o.get(f);if(p!==void 0)return p;let b=null,v=d0(f)??(n?m0(f):null);if(v!=null&&v>0&&(b=v),b==null||b<=0){let x=f0(f)??(n?p0(f):null);if(x!=null){let w=m(f,0),R=x-w;Number.isFinite(R)&&R>0&&(b=R)}}if((b==null||b<=0)&&s(f)){let x=dn(f);Number.isFinite(f.duration)&&f.duration>x&&(b=(f.duration-x)/Te(f))}if(b==null||b<=0){let x=f.getAttribute("data-composition-id");if(x){let w=t[x]??null;if(w&&typeof w.duration=="function")try{let R=Number(w.duration());Number.isFinite(R)&&R>0&&(b=R)}catch(R){L("runtime.startResolver.site1",R)}}}return b!=null&&Number.isFinite(b)&&b>0?(o.set(f,b),b):(o.set(f,null),null)},c=(f,p)=>{if(f.hasAttribute("data-composition-id")){let v=f.parentElement?.closest("[data-composition-id]");return v?m(v,p):0}let b=f.closest("[data-composition-id]");return b?m(b,p):0},m=(f,p)=>{let b=i.get(f);if(b!==void 0)return b??p;if(a.has(f))return p;a.add(f);try{let v=Hi(f.getAttribute("data-start"));if(!v){if(f.hasAttribute("data-composition-id")){let F=f.parentElement;if(F&&(F.hasAttribute("data-composition-src")||F.hasAttribute("data-composition-id")||F.hasAttribute("data-composition-file"))){let M=m(F,p);return i.set(f,M),M}}return i.set(f,p),p}if(v.kind==="absolute"){let F=Math.max(0,v.value),M=Math.max(0,c(f,p)+F);return i.set(f,M),M}let x=l(v.refId);if(!x)return i.set(f,p),p;let w=m(x,0),R=u(x);if(R==null||R<=0){let F=Math.max(0,w+v.offset);return i.set(f,F),F}let T=Math.max(0,w+R+v.offset);return i.set(f,T),T}finally{a.delete(f)}};return{resolveStartForElement:(f,p=0)=>m(f,Math.max(0,p)),resolveDurationForElement:f=>u(f)}}function go(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var g0="data-hf-authored-duration",b0="data-hf-authored-end";function We(e){return Se(e)}function bo(e){return We(e.getAttribute("data-duration"))??We(e.getAttribute(g0))}function Ul(e){return We(e.getAttribute("data-end"))??We(e.getAttribute(b0))}function xo(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function yo(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function vo(e,t){let n=e.getAttribute("data-track-index")??e.getAttribute("data-track");if(n==null)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)?r:t}function Rn(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function Wl(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Rn(t);let n=e.getAttribute("data-composition-src");if(n)return Rn(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?Rn(r.getAttribute("src")):null}function x0(e){let t=e.className;return typeof t!="string"?null:t.split(/\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function y0(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\/]/).filter(Boolean).at(-1)??null}}function v0(e){let t=e.textContent?.replace(/\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function Tn(e){let t=e.replace(/\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return t?t.replace(/\b\w/g,n=>n.toUpperCase()):e}function S0(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return Tn(i);let o=e.id;if(o)return Tn(o);let a=x0(e);if(a)return Tn(a);let l=y0(Wl(e));if(l)return Tn(l);let s=v0(e);return s||`${Tn(t)} ${n+1}`}function Vl(e){let n=window.__timelines??{},r=mt({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=W=>{if(!W)return null;let P=n[W]??null;if(!P||typeof P.duration!="function")return null;try{let O=Number(P.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=W=>{let P=We(W.getAttribute("data-duration"));return P!=null&&P>0?P:Number.isFinite(W.duration)?et(W,W.duration):null},a=()=>{let W=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(W.length===0)return null;let P=0;for(let O of W){let ce=O.hasAttribute("data-hf-auto-start")?r.resolveStartForElement(O,0):Math.max(0,Number(O.getAttribute("data-start")??0)||0);if(!Number.isFinite(ce))continue;let se=o(O);se==null||se<=0||(P=Math.max(P,Math.max(0,ce)+se))}return P>0?P:null},l=(W,P)=>{let O=[],ce=null,se=null,J=null,K=W.parentElement;for(;K;){let Y=K.getAttribute("data-composition-id");Y&&(O.push(Y),!J&&K!==P&&(J=Y),ce==null&&(ce=r.resolveStartForElement(K,0)),se==null&&(se=We(K.getAttribute("data-duration"))??i(Y)??null)),K=K.parentElement}return{parentCompositionId:J,compositionAncestors:O.reverse(),inheritedStart:ce,inheritedDuration:se}},s=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=s?.getAttribute("data-composition-id")??null,m=s?r.resolveStartForElement(s,0):0,f=a(),p=f!=null?Math.max(0,f-Math.max(0,m)):null,b=i(c),v=bo(s??document.body),x=yo(...u.filter(W=>W!==s).map(W=>{let P=r.resolveStartForElement(W,0),O=r.resolveDurationForElement(W)??i(W.getAttribute("data-composition-id"))??null;return!Number.isFinite(P)||O==null||O<=0?null:Math.max(0,P)+O})),w=x!=null?Math.max(0,x-Math.max(0,m)):null,R=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,T=typeof v=="number"&&Number.isFinite(v)&&v>0?v:null,F=typeof p=="number"&&Number.isFinite(p)&&p>0?p:null,M=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,A=yo(F,M),S=R!=null&&A!=null&&R>A+1,_=T??(S?A:yo(R,F,M))??null,D=(_!=null?m+_:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),H=(W,P)=>!Number.isFinite(P)||P<=0?0:D==null||!Number.isFinite(D)?P:!Number.isFinite(W)||W>=D?0:Math.max(0,Math.min(P,D-W)),z=[],j=[],k=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),B=0;for(let[W,P]of k.entries()){if(P===s||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(P.tagName))continue;let O=l(P,s),ce=r.resolveStartForElement(P,O.inheritedStart??0),se=P.getAttribute("data-composition-id"),J=bo(P);if(J==null&&se&&se!==c&&(J=i(se)),J==null&&P instanceof HTMLMediaElement&&Number.isFinite(P.duration)&&(J=et(P,P.duration)),J==null){let xe=O.inheritedDuration;if(xe!=null&&xe>0){let Ie=(O.inheritedStart??0)+xe;J=Math.max(0,Ie-ce)}}if(J==null||J<=0||(J=H(ce,J),J<=0))continue;let K=ce+J;B=Math.max(B,K);let Y=P.tagName.toLowerCase(),qe=se&&se!==c?"composition":Y==="video"?"video":Y==="audio"?"audio":Y==="img"?"image":"element";z.push({id:po(P)??se??null,label:S0(P,qe,z.length),start:ce,duration:J,track:vo(P,W),zIndex:xo(P),stackingContextId:Fr(P),kind:qe,tagName:Y,compositionId:P.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:Rn(P.getAttribute("data-composition-src")),playbackStart:Ke(P),playbackRate:Te(P),assetUrl:Wl(P),timelineRole:P.getAttribute("data-timeline-role"),timelineLabel:P.getAttribute("data-timeline-label"),timelineGroup:P.getAttribute("data-timeline-group"),timelinePriority:We(P.getAttribute("data-timeline-priority"))})}let ee=new Set(z.map(W=>W.id)),U=s?.getAttribute("data-composition-id")??null,V=U?n[U]??null:null;if(V&&s){let W=V;if(typeof W.getChildren=="function")try{let P=W.getChildren(!0,!0,!1)??[],O=new Map;for(let J of s.children){let K=J;if(!K.id)continue;let Y=K.tagName.toLowerCase();Y==="script"||Y==="style"||Y==="link"||O.set(K,{id:K.id,start:1/0,end:-1/0})}let ce=J=>{let K=J;for(;K;){if(O.has(K))return K;if(K===s)return null;K=K.parentElement}return null};for(let J of P){if(typeof J.targets!="function"||typeof J.startTime!="function"||typeof J.duration!="function")continue;let K=J.startTime(),Y=J.parent;for(;Y&&Y!==V&&typeof Y.startTime=="function";)K+=Y.startTime(),Y=Y.parent;let qe=K+J.duration();if(!(!Number.isFinite(K)||!Number.isFinite(qe)))for(let xe of J.targets()){if(!(xe instanceof Element))continue;let Lt=ce(xe);if(!Lt)continue;let Ie=O.get(Lt);Ie&&(Ie.start=Math.min(Ie.start,K),Ie.end=Math.max(Ie.end,qe))}}let se=z.length>0?Math.max(...z.map(J=>J.track))+1:0;for(let[J,K]of O){if(K.start===1/0||K.end===-1/0)continue;let Y=J;if(ee.has(Y.id))continue;let qe=Math.max(0,K.end-K.start);if(qe<=0)continue;let xe=H(K.start,qe);xe<=0||(B=Math.max(B,K.start+xe),z.push({id:Y.id,label:Y.getAttribute("data-timeline-label")??Y.getAttribute("data-label")??Y.getAttribute("aria-label")??Y.id,start:K.start,duration:xe,track:vo(Y,se),zIndex:xo(Y),stackingContextId:Fr(Y),kind:"element",tagName:Y.tagName.toLowerCase(),compositionId:Y.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,playbackStart:Ke(Y),playbackRate:Te(Y),assetUrl:null,timelineRole:Y.getAttribute("data-timeline-role"),timelineLabel:Y.getAttribute("data-timeline-label"),timelineGroup:Y.getAttribute("data-timeline-group"),timelinePriority:We(Y.getAttribute("data-timeline-priority"))}),ee.add(Y.id))}}catch(P){L("runtime.timeline.site1",P)}}if(s&&_!=null&&_>0){let W=z.length>0?Math.max(...z.map(P=>P.track))+1:0;for(let P of s.children){let O=P;if(!O.id||ee.has(O.id))continue;let ce=O.getAttribute("data-timeline-role");if(ce!=="overlay"&&ce!=="persistent-overlay")continue;let se=O.tagName.toLowerCase();if(se==="script"||se==="style"||se==="link"||se==="meta"||window.getComputedStyle(O).display==="none")continue;let K=H(0,_);K<=0||(B=Math.max(B,K),z.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:K,track:vo(O,W),zIndex:xo(O),stackingContextId:Fr(O),kind:"element",tagName:se,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,playbackStart:Ke(O),playbackRate:Te(O),assetUrl:null,timelineRole:ce,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:We(O.getAttribute("data-timeline-priority"))}),ee.add(O.id))}}for(let W of u){if(W===s)continue;let P=W.getAttribute("data-composition-id");if(!P||!go(P))continue;let O=r.resolveStartForElement(W,0),ce=bo(W);if((ce==null||ce<=0)&&Ul(W)!=null){let Y=Ul(W);ce=Math.max(0,Y-O)}let se=i(P),J=ce&&ce>0?ce:se;if(J==null||J<=0)continue;let K=H(O,J);K<=0||j.push({id:P,label:W.getAttribute("data-label")??P,start:O,duration:K,thumbnailUrl:Rn(W.getAttribute("data-thumbnail-url")),avatarName:null})}let q=Math.max(1,B||1,_??0),X=S&&T==null,_e=X?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(q*Math.max(1,e.canonicalFps)));return{...dr(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:X?Number.POSITIVE_INFINITY:q,durationInFrames:_e,clips:z,scenes:j,compositionWidth:We(s?.getAttribute("data-width"))??1920,compositionHeight:We(s?.getAttribute("data-height"))??1080}}var So="data-composition-id",E0="data-composition-src",A0=`[${So}]`,eS=`[${E0}]`,zl="style",ql="script",C0='link[rel="stylesheet"], link[rel="preconnect"]';function qt(e){return e?Array.from(e):[]}function $l(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=qt(t.querySelectorAll(A0)),l=o?a.find(c=>c.getAttribute(So)===o)??null:a[0]??null,s=(l??a[0])?.getAttribute(So)?.trim()||"",u=i?null:n??null;return{innerRoot:l,authoredCompositionId:o||s||null,scriptCompositionId:s||o||null,authoredRootId:l?.getAttribute("id")?.trim()||null,styleSources:[...qt(u?.querySelectorAll(zl)),...qt(t.querySelectorAll(zl))],scriptSources:[...qt(u?.querySelectorAll(ql)),...qt(t.querySelectorAll(ql))],linkSources:qt(n?.querySelectorAll(C0)),variableDefaultCarriers:[r,l].filter(c=>c!=null)}}var pe=nm(bc(),1),xc=pe.default,VS=pe.default.stringify,zS=pe.default.fromJSON,qS=pe.default.plugin,$S=pe.default.parse,jS=pe.default.list,KS=pe.default.document,YS=pe.default.comment,XS=pe.default.atRule,JS=pe.default.rule,QS=pe.default.decl,ZS=pe.default.root,eE=pe.default.CssSyntaxError,tE=pe.default.Declaration,nE=pe.default.Container,rE=pe.default.Processor,iE=pe.default.Document,oE=pe.default.Comment,aE=pe.default.Warning,sE=pe.default.AtRule,lE=pe.default.Result,uE=pe.default.Input,cE=pe.default.Rule,dE=pe.default.Root,fE=pe.default.Node;var jo="data-hf-authored-id",yc="data-hf-inner-root";function Ko(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Yo(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function $h(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\${n}`).replace(/^-?\d/,n=>`\\${n}`)}function Sc(e){let t=e.trim();return t?Array.from(new Set([t,$h(t)])).filter(Boolean):[]}function jh(e){return!!e&&/[\w-]/.test(e)}function Kh(e,t,n){let r=Sc(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\"&&(a=null);continue}if(s==='"'||s==="'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let c=r.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!jh(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function Yh(e,t){let n=t?.trim();return n?Kh(e,n,`[${jo}="${Yo(n)}"]`):e}function vc(e){return`${e}:not(:has([${yc}])), ${e} > [${yc}]`}function Xh(e,t,n,r,i,o){let a=Yh(e,r),l=Jh(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?vc(t):e;let u=new RegExp(`\\[\\s*data-composition-id\\s*=\\s*(["'])${Ko(n)}\\1\\s*\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?vc(t):l.replace(u,t);let c=l.match(/^\s*/)?.[0]??"",m=l.match(/\s*$/)?.[0]??"";if(i){let f=r?`[${jo}="${Yo(r)}"]`:null;if(f&&s.startsWith(f)){let p=s.slice(f.length);return`${c}${t}${f}${p}${m}`}}return`${c}${t} ${s}${m}`}function Jh(e,t,n){let r=Ko(n),i=String.raw`\[\s*data-composition-id\s*=\s*(?:"${r}"|'${r}')\s*\]`,o=String.raw`\s*\[\s*data-(?:start|duration)\s*=\s*(?:"[^"]*"|'[^']*')\s*\]`;return e.replace(new RegExp(`${i}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${i}`,"g"),t)}var Qh=new Set(["keyframes","-webkit-keyframes","font-face"]);function Zh(e){return e?.type==="atrule"}function eg(e){let t=e.parent;for(;t;){if(Zh(t)&&Qh.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function tg(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function Ec(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${Yo(o)}"]`,l=xc.parse(e);return l.walkRules(s=>{eg(s)||tg(s)||(s.selectors=s.selectors.map(u=>Xh(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function rt(e){return JSON.stringify(e).replace(/</g,"\\u003c")}function Ac(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=rt(t),l=rt(i),s=rt(n),u=Ko(t),c=rt(o?.trim()||null),m=rt(r??null),f=rt(String.raw`\[\s*data-composition-id\s*=\s*(?:"${u}"|'${u}')\s*\]`),p=rt(String.raw`\s*\[\s*data-(?:start|duration)\s*=\s*(?:"[^"]*"|'[^']*')\s*\]`),b=rt(Sc(o?.trim()||""));return`(function(){
|
|
41
41
|
var __hfCompId = ${a};
|
|
42
42
|
var __hfTimelineCompId = ${l};
|
|
43
43
|
var __hfErrorLabel = ${s};
|
|
44
44
|
var __hfAuthoredRootId = ${c};
|
|
45
|
-
var __hfAuthoredRootAttr = ${
|
|
45
|
+
var __hfAuthoredRootAttr = ${rt(jo)};
|
|
46
46
|
var __hfEscapeAttr = function(value) {
|
|
47
47
|
return (value + "").replace(/\\\\/g, "\\\\\\\\").replace(/"/g, "\\\\\\"");
|
|
48
48
|
};
|
|
@@ -345,12 +345,12 @@ ${e.replace(/<\/(script)/gi,"<\\/$1")}
|
|
|
345
345
|
};
|
|
346
346
|
__hfFindRoot();
|
|
347
347
|
__hfRun();
|
|
348
|
-
})();`}var qh=["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 xc(e){let t=e.getAttribute("id")?.trim();for(let n of qh)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var $h=8e3,jh=/^(?![a-zA-Z][a-zA-Z\d+\-.]*:)(?!\/\/)(?!\/)(?!\.\.?\/).+/,Kh=/\burl\(\s*(["']?)([^)"']+)\1\s*\)/g,Yh=["src","href"];function Xh(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function vc(e,t){if(!t)return e;let n=e.trim();if(Xh(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function Ec(e,t){return!t||!e?e:e.replace(Kh,(n,r,i)=>{let o=vc(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function Jh(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of Yh){let i=n.getAttribute(r);if(i==null)continue;let o=vc(i,t);o!==i&&n.setAttribute(r,o)}}function Qh(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=Ec(r,t);i!==r&&n.setAttribute("style",i)}}function Zh(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=Ec(r,t);i!==r&&(n.textContent=i)}}function Ac(e,t){if(t){Jh(e,t),Qh(e,t),Zh(e,t);for(let n of Array.from(e.querySelectorAll("template")))Ac(n.content,t)}}function eg(e,t){return`${e}__hf${t}`}var tg=e=>new Promise(t=>{let n=!1,r=Date.now(),i=null,o=a=>{n||(n=!0,i!=null&&window.clearTimeout(i),t({status:a,elapsedMs:Math.max(0,Date.now()-r)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),i=window.setTimeout(()=>o("timeout"),$h)});function jo(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function yc(e){for(let t of Array.from(e.querySelectorAll("style, script")))t.remove()}function ng(e){let t=document.importNode(e,!0);xc(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function rg(e,t){let n=e.trim();if(!n)return e;try{return jh.test(n)&&!n.startsWith("#")&&!n.startsWith("?")?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function Sc(e,t){try{let n=new URL(e),r=new URL(t);return n.search="",n.hash="",r.search="",r.hash="",n.href===r.href}catch{return!1}}function qr(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function ig(e){let t=new Map;for(let n of e){let r=qr(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function Cc(e){let t=qr(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function og(e){return!!e.querySelector('[data-hf-inner-root="true"]')}function ag(e){return e.hasAttribute("data-composition-src")?!0:Cc(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:og(e):!1}function Yo(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:Cc(t))}function wc(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(Yo().map(n=>qr(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function _c(e,t=ig(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=qr(i),l=ag(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let c=s?(n.get(o)||0)+1:0;s&&n.set(o,c),u=s?eg(o,c):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function Ko(e){let t=Bl({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=t.innerRoot instanceof HTMLElement?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,l=t.authoredRootId,s=a?`[data-composition-id="${CSS.escape(a)}"]`:void 0;for(let f of t.linkSources){let p=(f.getAttribute("href")||"").trim();if(!p)continue;let b=e.compositionUrl?new URL(p,e.compositionUrl).href:p;if(e.compositionUrl&&Sc(b,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(b)}"]`))continue;let S=f.cloneNode(!0);S instanceof HTMLLinkElement&&(S.href=b,document.head.appendChild(S),e.injectedLinks.push(S))}(f=>{for(let p of f){let b=p.cloneNode(!0);b instanceof HTMLStyleElement&&(i&&(b.textContent=gc(b.textContent||"",i,s,l,{scopeRootSelectors:!0})),document.head.appendChild(b),e.injectedStyles.push(b))}})(t.styleSources);let c=f=>{let p=f.getAttribute("type")?.trim()??"",b=f.getAttribute("src")?.trim()??"";if(b){let x=rg(b,e.compositionUrl);return e.compositionUrl&&Sc(x,e.compositionUrl)?null:{kind:"external",src:x,type:p}}let S=f.textContent?.trim()??"";return S?{kind:"inline",content:S,type:p,scopeCompositionId:o}:null},m=t.scriptSources.map(c).filter(f=>f!==null);if(n){let f=n.getAttribute("data-width"),p=n.getAttribute("data-height"),b=e.parseDimensionPx(f),S=e.parseDimensionPx(p);f&&e.host.setAttribute("data-width",f),p&&e.host.setAttribute("data-height",p),b&&e.host instanceof HTMLElement&&(e.host.style.width=b),S&&e.host instanceof HTMLElement&&(e.host.style.height=S),n.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked","");let x=ng(n);!e.authoredCompositionId&&i&&x.setAttribute("data-composition-id",i),yc(x),e.host.appendChild(x)}else if(e.hasTemplate){let f=document.importNode(r,!0);yc(f),e.host.appendChild(f)}else e.host.innerHTML=e.fallbackBodyInnerHtml;a&&sg(e,r,a);for(let f of m){let p=document.createElement("script");if(f.type&&(p.type=f.type),p.async=!1,f.kind==="external"?p.src=f.src:f.type.toLowerCase()==="module"?p.textContent=f.content:f.scopeCompositionId?p.textContent=bc(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,a||f.scopeCompositionId,l):p.textContent=`(function(){${f.content}})();`,document.body.appendChild(p),e.injectedScripts.push(p),f.kind==="external"){let b=await tg(p);b.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:b.status,elapsedMs:b.elapsedMs}})}}}async function Tc(e){let t=Yo();if(wc(),t.length===0)return;let n=_c(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);jo(i),await Ko({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function Rc(e){let t=Yo();if(wc(),t.length===0)return;let n=_c(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}jo(i);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await Ko({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),b=new DOMParser().parseFromString(f,"text/html");Ac(b,u);let S=(l?b.querySelector(`template#${CSS.escape(l)}-template`):null)??b.querySelector("template"),x=S?S.content:b.body;await Ko({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:x,hasTemplate:!!S,fallbackBodyInnerHtml:b.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:b.head,declaredVariableDefaults:un(b.documentElement),variableDeclarer:b.documentElement,onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),jo(i)}}))}function sg(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?un(t):{}),...cs(e.host)};ki(e.variableDeclarer??(t instanceof Element?t:null),i,n),ls(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,Fi(e.host,{...ss(e.host,i,window),...fr()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function Xo(e){let n=e.vars.data?.captionState;return n==="dim"||n==="active"?n:void 0}function lg(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function ug(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!(r instanceof HTMLElement))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function cg(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function Jo(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=ug();for(let r of t){let i=null;if(r.wordId&&(i=lg(document.getElementById(r.wordId))),!i&&r.wordIndex!==void 0&&(i=n[r.wordIndex]??null),!i)continue;let o={},a={};if(r.x!==void 0&&(o.x=r.x),r.y!==void 0&&(o.y=r.y),r.scale!==void 0&&(o.scale=r.scale),r.rotation!==void 0&&(o.rotation=r.rotation),r.opacity!==void 0&&(a.opacity=r.opacity),r.fontSize!==void 0&&(a.fontSize=`${r.fontSize}px`),r.fontWeight!==void 0&&(a.fontWeight=r.fontWeight),r.fontFamily!==void 0&&(a.fontFamily=r.fontFamily),r.activeColor||r.dimColor){let s=e.getTweensOf(i).filter(m=>m.vars.color!==void 0).sort((m,f)=>m.startTime()-f.startTime()),u=s.find(m=>Xo(m)==="dim")??s.find(m=>Xo(m)===void 0),c=u?String(u.vars.color):"";for(let m of s)(Xo(m)??(String(m.vars.color)===c?"dim":"active"))==="dim"?r.dimColor&&(m.vars.color=r.dimColor):r.activeColor&&(m.vars.color=r.activeColor);r.dimColor&&e.set(i,{color:r.dimColor})}if(Object.keys(a).length>0&&e.set(i,a),Object.keys(o).length>0){let l=cg(i);e.set(l,o)}}}).catch(()=>{})}var Zo="data-hf-edit-base-x",ea="data-hf-edit-base-y",Xt="data-hf-edit-original-translate",$r=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},dg=e=>{let t=[],n=0,r="";for(let i of e.trim())i==="("&&(n+=1),i===")"&&(n=Math.max(0,n-1)),/\s/.test(i)&&n===0?(r&&t.push(r),r=""):r+=i;return r&&t.push(r),t},kc=/^-?(?:\d+(?:\.\d+)?|\.\d+)px$/,Qo=(e,t)=>kc.test(e)&&kc.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,fg=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=dg(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${Qo(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${Qo(r,t)} ${Qo(i,n)}${a}`},mg=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},pg=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,r=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return r==="none"?"":r}catch{return""}},ta=new WeakMap;function hg(e,t){let n=ta.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Le("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=$r(e.getAttribute("data-x"))-$r(e.getAttribute(Zo)),i=$r(e.getAttribute("data-y"))-$r(e.getAttribute(ea));e.hasAttribute(Xt)||e.setAttribute(Xt,pg(e)),n===void 0&&mg(e);let o=e.getAttribute(Xt)??"",a=fg(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),ta.set(e,e.style.getPropertyValue("translate"))}function jr(e,t){let n=e.defaultView?.HTMLElement,r=e.defaultView?.SVGElement,i=s=>n||r?n!==void 0&&s instanceof n||r!==void 0&&s instanceof r:typeof s.style?.setProperty=="function",o=e.querySelectorAll(`[${Xt}]:not([${Zo}]):not([${ea}])`);for(let s=0;s<o.length;s++){let u=o[s];if(u===void 0||!i(u))continue;let c=u.getAttribute(Xt)??"";c===""?u.style.removeProperty("translate"):u.style.setProperty("translate",c),u.removeAttribute(Xt),ta.delete(u)}let a=e.querySelectorAll(`[${Zo}], [${ea}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(hg(u,t),l+=1)}return l}var Fc="__hfPositionEditsSeekReapplyWrapped",Mc=new WeakSet,Lc=new WeakMap,Nc=new WeakMap;function Dc(e){let t=e,n=()=>{try{jr(t.document)}catch{}},r=m=>typeof m=="function"&&(Mc.has(m)||!!m[Fc]),i=m=>{Mc.add(m);try{Object.defineProperty(m,Fc,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...p){let b=m.apply(this,p);return n(),b};return i(f),f},a=(m,f)=>{let p=Lc.get(m);if(p?.has(f))return!0;let b=Object.getOwnPropertyDescriptor(m,f);if(b?.configurable===!1){let _=m[f];return typeof _=="function"&&(m[f]=o(_),n()),!1}let S=m[f],x=b?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>S,set:_=>{S=o(_),x?.call(m,_)}}),S=o(S),p??(p=new Set),p.add(f),Lc.set(m,p),n(),!0},l=(m,f)=>{let p=Nc.get(t),b=Object.getOwnPropertyDescriptor(t,m);if(!p?.has(m)){if(b?.configurable===!1){let _=t[m];return _?a(_,f):!1}let x=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>x,set:_=>{x=_,x&&a(x,f)}}),p??(p=new Set),p.add(m),Nc.set(t,p)}let S=t[m];return S?a(S,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,c=t.setInterval(()=>{if(s()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Kr(e){let t=window,r=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",i=r?t.__hfVariablesByComp?.[r]:void 0;if(i)return i;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Yr(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Ic=new Set(["img","video","audio","source"]);function gg(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function bg(e){let t=e.replace(/[\u0000-\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let r=n[1]?.toLowerCase();return r?r==="https"||r==="http"||r==="blob"?!0:r==="data"?/^data:image\//i.test(t):!1:!1}function xg(e){return e.replace(/[;{}<>\r\n]/g,"")}function yg(e){if(Yr(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function na(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=Kr(e);return t.set(n,i),i}function Sg(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let r of Array.from(e.childNodes))r.nodeType===Node.TEXT_NODE&&(r.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function vg(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Eg(e,t){let n=new Set,r=vg(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=na(i,t);for(let[a,l]of Object.entries(o)){let s=yg(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,xg(s))}}}function ra(e){let t=new Map;Eg(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!Ic.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Ic).join("/")}.`);continue}let i=gg(na(n,t)[r]);if(i!==null){if(!bg(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=na(n,t)[r];Yr(i)&&Sg(n,String(i))}}var rt=new Map,Ag="data-hf-color-grading-canvas",Cg="__hf_color_grading_canvas__";function $c(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{r instanceof HTMLElement&&(r.hasAttribute(_r)||r.setAttribute(_r,r.style.opacity))},n=r=>{if(r instanceof Element){r.matches("video, img")&&t(r);for(let i of r.querySelectorAll("video, img"))t(i)}};n(e),new MutationObserver(r=>{for(let i of r)for(let o of i.addedNodes)n(o)}).observe(e,{childList:!0,subtree:!0})}var wg=16,_g=4,Qt={enabled:!1,position:.5,softness:0,lineWidth:2},ia=["#000000","#ffffff"],Tg=["#1a1a1a","#f5f5dc"],Jn=3,Rg=Jn-1,kg=5,oa=`${Ke}.0`,Pc=`${Ke-1}.0`,Fg=`${Jn}.0`,Mg=`${(Rg+.5)/Jn}`;function Xr(e){let t=e.getAttribute(En);return t==null?null:_l(t,Kr(e))}var Lg=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`
|
|
349
|
-
`),Ng=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_bloomSource;","uniform sampler2D u_kuwaharaSource;","uniform sampler2D u_lut;","uniform sampler2D u_advanced;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_bloomReady;","uniform float u_kuwaharaReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform vec3 u_shadowWheel;","uniform vec3 u_midtoneWheel;","uniform vec3 u_highlightWheel;","uniform float u_rgbCurvesEnabled;","uniform float u_hueCurvesEnabled;","uniform float u_secondaryCount;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_effectTime;","uniform float u_blur;","uniform float u_bloom;","uniform float u_kuwahara;","uniform float u_pixelate;","uniform float u_chromaBleed;","uniform float u_tapeDamage;","uniform float u_tapeTracking;","uniform float u_tapeNoise;","uniform float u_tapeSpeed;","uniform float u_filmArtifacts;","uniform float u_halftone;","uniform float u_halftoneSize;","uniform float u_twoInkPrint;","uniform float u_twoInkPrintSize;","uniform float u_ascii;","uniform float u_asciiSize;","uniform float u_asciiInvert;","uniform float u_asciiStyle;","uniform float u_asciiColor;","uniform float u_asciiRotation;","uniform float u_dither;","uniform float u_ditherSize;","uniform float u_monoScreen;","uniform float u_monoScreenSize;","uniform float u_monoScreenAngle;","uniform float u_monoScreenSpread;","uniform float u_monoScreenShape;","uniform float u_monoScreenInvert;","uniform float u_scanlines;","uniform float u_scanlineCount;","uniform float u_scanlineSoftness;","uniform float u_chromaticAberration;","uniform float u_chromaticAngle;","uniform float u_crtCurvature;","uniform float u_digitalGlitch;","uniform float u_digitalGlitchColorSplit;","uniform float u_digitalGlitchLineTear;","uniform float u_digitalGlitchPixelate;","uniform float u_digitalGlitchBlockAmount;","uniform float u_digitalGlitchBlockDisplacement;","uniform float u_digitalGlitchBlockOpacity;","uniform float u_digitalGlitchSpeed;","uniform float u_engraving;","uniform float u_engravingSpacing;","uniform float u_engravingMinThickness;","uniform float u_engravingMaxThickness;","uniform float u_engravingAngle;","uniform float u_engravingContrast;","uniform float u_engravingSharpness;","uniform float u_engravingWave;","uniform float u_engravingWaveFrequency;","uniform float u_crosshatch;","uniform float u_crosshatchSpacing;","uniform float u_crosshatchThickness;","uniform float u_crosshatchAngle;","uniform float u_crosshatchContrast;","uniform float u_crosshatchEdges;","uniform float u_crosshatchLineWeight;","uniform float u_crosshatchWave;","uniform float u_crosshatchWaveFrequency;","uniform float u_paletteSize;","uniform vec3 u_palette0;","uniform vec3 u_palette1;","uniform vec3 u_palette2;","uniform vec3 u_palette3;","uniform vec3 u_palette4;","uniform vec3 u_palette5;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","const float PI = 3.14159265359;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float bt601Luma(vec3 c){ return dot(c, vec3(0.299, 0.587, 0.114)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float digitalHash(vec2 p){"," vec2 q = mod(floor(p), 251.0);"," float x = mod(q.x * q.x * 157.0 + q.x * 89.0, 251.0);"," float y = mod(q.y * q.y * 113.0 + q.y * 47.0, 251.0);"," float xy = mod(q.x * q.y * 71.0, 251.0);"," return mod(x + y + xy + 19.0, 251.0) / 251.0;","}","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec2 applyCrtWarp(vec2 uv){"," vec2 centered = uv * 2.0 - 1.0;"," float curvature = clamp(u_crtCurvature, 0.0, 1.0) * 0.5;"," float dist = dot(centered, centered);"," centered *= 1.0 + curvature * dist;"," return centered * 0.5 + 0.5;","}","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec3 sampleBloom(vec2 uv){ return texture2D(u_bloomSource, clampUv(uv)).rgb; }","vec3 sampleKuwahara(vec2 uv){"," vec2 displayUv = uv * u_uvScale + u_uvOffset;"," return texture2D(u_kuwaharaSource, clampUv(displayUv)).rgb;","}","vec4 samplePrepared(vec2 uv){"," vec4 base = sampleSource(uv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) base = mix(base, sampleBlur(uv), blur);"," float kuwahara = clamp(u_kuwahara, 0.0, 1.0);"," if (kuwahara > 0.0 && u_kuwaharaReady > 0.5) {"," base.rgb = mix(base.rgb, sampleKuwahara(uv), kuwahara);"," }"," return base;","}","float tapeTrackingBand(float y, float center, float width){"," float offset = fract(y - center + 0.5) - 0.5;"," float triangle = max(0.0, 1.0 - abs(offset) / max(width, 0.0001));"," return triangle * triangle * (3.0 - 2.0 * triangle);","}","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," float tapeDamage = clamp(u_tapeDamage, 0.0, 1.0);"," float tapeTracking = clamp(u_tapeTracking, 0.0, 1.0);"," float tapeNoise = clamp(u_tapeNoise, 0.0, 1.0);"," float tapeTime = u_effectTime * mix(0.0, 2.0, clamp(u_tapeSpeed, 0.0, 1.0));"," float tapeFrame = floor(tapeTime * 60.0);"," float tapeLine = floor(sampleUv.y * u_resolution.y * 0.5);"," float lineJitter = (digitalHash(vec2(tapeLine, floor(tapeFrame * 0.5))) - 0.5) * 1.8 * tapeNoise;"," float slowWobble = sin(sampleUv.y * 32.0 + tapeTime * 2.6) * 0.55;"," float headSwitch = smoothstep(0.88, 1.0, sampleUv.y) * sin(sampleUv.y * 240.0 + tapeTime * 8.0) * 4.0;"," float trackingShift = tapeTrackingBand(sampleUv.y, fract(0.08 + tapeTime * 0.083), 0.035);"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.28 + tapeTime * 0.061), 0.03) * 0.8;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.5 + tapeTime * 0.047), 0.04) * 0.75;"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.72 + tapeTime * 0.037), 0.028) * 0.65;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.89 + tapeTime * 0.029), 0.032) * 0.55;"," trackingShift *= tapeTracking * 48.0;"," float tapeShift = (lineJitter + slowWobble + headSwitch + trackingShift) * tapeDamage;"," float texelX = 1.0 / max(u_resolution.x * max(u_uvScale.x, 0.00001), 1.0);"," vec2 tapeUv = sampleUv + vec2(tapeShift * texelX, 0.0);"," vec4 base = samplePrepared(tapeUv);"," if (tapeDamage > 0.0) {"," vec2 lumaStep = vec2(texelX * mix(1.0, 3.5, tapeDamage), 0.0);"," vec3 leftTape = samplePrepared(tapeUv - lumaStep).rgb;"," vec3 rightTape = samplePrepared(tapeUv + lumaStep).rgb;"," float tapeLuma = (bt601Luma(leftTape) + bt601Luma(base.rgb) * 2.0 + bt601Luma(rightTape)) * 0.25;"," vec3 centerChroma = base.rgb - vec3(bt601Luma(base.rgb));"," vec3 tapeColor = vec3(tapeLuma) + centerChroma;"," vec3 ghost = samplePrepared(tapeUv - vec2(texelX * 12.0, 0.0)).rgb;"," tapeColor = mix(tapeColor, ghost, 0.045 * tapeDamage);"," float fineNoise = digitalHash(floor(gl_FragCoord.xy) + vec2(tapeFrame * 17.0, tapeFrame * 3.0)) - 0.5;"," float band = digitalHash(vec2(floor(sampleUv.y * 92.0), floor(tapeFrame / 3.0)));"," float dropout = smoothstep(0.985, 1.0, band) * (digitalHash(vec2(floor(sampleUv.x * 18.0), tapeLine)) - 0.5);"," tapeColor += (fineNoise * 0.035 + dropout * 0.12) * tapeDamage * tapeNoise;"," base.rgb = mix(base.rgb, clamp(tapeColor, 0.0, 1.0), tapeDamage);"," }"," float chromaBleed = clamp(u_chromaBleed, 0.0, 1.0);"," if (chromaBleed > 0.0) {"," float radius = mix(1.0, 4.0, chromaBleed);"," vec2 stepUv = vec2(texelX * radius, 0.0);"," vec3 c0 = base.rgb;"," vec3 c1 = samplePrepared(tapeUv - stepUv).rgb;"," vec3 c2 = samplePrepared(tapeUv + stepUv).rgb;"," vec3 c3 = samplePrepared(tapeUv - stepUv * 2.0).rgb;"," vec3 c4 = samplePrepared(tapeUv + stepUv * 2.0).rgb;"," float centerLuma = lumaOf(base.rgb);"," vec3 blurredChroma = ((c0 - vec3(lumaOf(c0))) * 6.0 + (c1 - vec3(lumaOf(c1))) * 4.0 + (c2 - vec3(lumaOf(c2))) * 4.0 + (c3 - vec3(lumaOf(c3))) + (c4 - vec3(lumaOf(c4)))) / 16.0;"," base.rgb = mix(base.rgb, clamp(vec3(centerLuma) + blurredChroma, 0.0, 1.0), chromaBleed);"," }"," return base;","}","vec4 sampleChromaticMedia(vec2 uv, vec4 center){"," float amount = clamp(u_chromaticAberration, 0.0, 1.0);"," if (amount <= 0.0) return center;"," float angle = clamp(u_chromaticAngle, 0.0, 1.0) * PI * 2.0;"," vec2 offset = vec2(cos(angle), sin(angle)) * amount * 0.02;"," vec4 positive = sampleMedia(uv + offset);"," vec4 negative = sampleMedia(uv - offset);"," vec3 split = vec3(positive.r, center.g, negative.b);"," return vec4(split, center.a);","}","vec3 sampleDigitalSplit(vec2 uv, vec2 block, float time, float amount){"," float split = amount * 0.06;"," float direction = digitalHash(block * 0.4 + vec2(floor(time * 3.7), floor(time * 5.3)));"," vec2 axis = direction > 0.66 ? vec2(1.0, 0.0) : direction > 0.33 ? vec2(0.0, 1.0) : vec2(0.7071);"," vec4 center = sampleMedia(uv);"," return vec3(sampleMedia(uv + axis * split).r, center.g, sampleMedia(uv - axis * split).b);","}","vec3 applyDigitalGlitch(vec2 uv, vec3 source){"," float amount = clamp(u_digitalGlitch, 0.0, 1.0);"," if (amount <= 0.0) return source;"," float colorSplit = clamp(u_digitalGlitchColorSplit, 0.0, 1.0) * 2.0;"," float lineTear = clamp(u_digitalGlitchLineTear, 0.0, 1.0) * 2.0;"," float pixelate = clamp(u_digitalGlitchPixelate, 0.0, 1.0) * 2.0;"," float blockAmount = clamp(u_digitalGlitchBlockAmount, 0.0, 1.0);"," float blockDisplacement = clamp(u_digitalGlitchBlockDisplacement, 0.0, 1.0) * 2.0;"," float blockOpacity = clamp(u_digitalGlitchBlockOpacity, 0.0, 1.0);"," float speed = clamp(u_digitalGlitchSpeed, 0.0, 1.0) * 2.0;"," float time = u_effectTime * speed;"," float blockCount = 8.0 + blockAmount * 60.0;"," vec2 block = floor(uv * blockCount);"," float randomA = digitalHash(block + vec2(floor(time * 7.3), floor(time * 11.1)));"," float randomB = digitalHash(block * 0.7 + vec2(17.3 + floor(time * 6.6), 29.1));"," float randomC = digitalHash(block + vec2(floor(time * 5.7) * 13.0, 41.0));"," float randomD = digitalHash(block * 1.3 + vec2(7.0, floor(time * 3.2) * 7.0));"," vec2 displaced = uv;"," if (blockDisplacement > 0.0 && blockOpacity > 0.0) {"," float threshold = 1.0 - blockDisplacement * 0.4;"," if (randomA > threshold) {"," displaced += vec2((randomB - 0.5) * blockDisplacement * 0.5, (randomC - 0.5) * blockDisplacement * 0.3);"," }"," if (randomD > 0.92 && blockDisplacement > 0.5) {"," displaced.x += (digitalHash(vec2(block.y, floor(time * 8.0))) - 0.5) * blockDisplacement;"," }"," displaced = mix(uv, displaced, blockOpacity);"," }"," if (lineTear > 0.0) {"," float row = floor(uv.y * (50.0 + lineTear * 150.0));"," float tearA = digitalHash(vec2(row * 7.3 + floor(time * 12.0 + row * 0.1) * 3.7, 13.0));"," float tearB = digitalHash(vec2(row * 13.7 + floor(time * 8.3) * 5.1, 31.0));"," if (tearA > 1.0 - lineTear * 0.5) displaced.x += (tearB - 0.5) * lineTear * 0.4;"," if (tearB > 0.95 && lineTear > 0.3) displaced.x += (tearA - 0.5) * lineTear * 0.8;"," }"," if (pixelate > 0.0) {"," float pixelRandom = digitalHash(block * 0.5 + vec2(floor(time * 4.9), 53.0));"," if (pixelRandom > 1.0 - pixelate * 0.35) {"," float cells = 4.0 + (1.0 - pixelRandom) * pixelate * 40.0;"," displaced = (floor(clampUv(displaced) * cells) + 0.5) / cells;"," }"," }"," displaced = clampUv(displaced);"," vec3 glitch = sampleDigitalSplit(displaced, block, time, colorSplit);"," if (blockDisplacement > 0.2 && blockOpacity > 0.0) {"," float corruption = digitalHash(block * 1.1 + vec2(floor(time * 11.9), 67.0));"," vec3 changed = glitch;"," if (corruption > 0.9) changed = 1.0 - glitch;"," else if (corruption > 0.85) changed = corruption > 0.875 ? glitch.gbr : glitch.brg;"," else if (corruption > 0.8) {"," float channel = digitalHash(block + vec2(73.0));"," if (channel > 0.66) changed.r = min(changed.r * 2.0, 1.0);"," else if (channel > 0.33) changed.g = min(changed.g * 2.0, 1.0);"," else changed.b = min(changed.b * 2.0, 1.0);"," }"," glitch = mix(glitch, changed, blockOpacity);"," }"," if (blockOpacity > 0.0) {"," float flash = digitalHash(block * 0.8 + vec2(floor(time * 14.7), 83.0));"," vec3 flashed = flash > 0.97 ? min(glitch * 1.8, vec3(1.0)) : flash > 0.94 ? glitch * 0.3 : glitch;"," glitch = mix(glitch, flashed, blockOpacity * 0.6);"," }"," if (lineTear > 0.1) {"," float interference = pow(sin(uv.y * (300.0 + randomA * 200.0) + time * 30.0) * 0.5 + 0.5, 6.0);"," glitch -= interference * 0.08 * lineTear;"," }"," return mix(source, clamp(glitch, 0.0, 1.0), amount);","}","float dustMask(vec2 uv, float frameBucket){"," vec2 grid = vec2(128.0, 72.0);"," vec2 cell = floor(uv * grid);"," vec2 local = fract(uv * grid) - 0.5;"," float chance = grainHash(cell + frameBucket * 19.13);"," float radius = mix(0.05, 0.34, grainHash(cell + 7.1));"," return step(0.9975, chance) * (1.0 - smoothstep(radius, radius + 0.08, length(local)));","}","float screenDot(vec2 p, float ink, float angle, float sharpness){"," float c = cos(angle);"," float s = sin(angle);"," vec2 q = mat2(c, -s, s, c) * p;"," vec2 d = fract(q) - 0.5;"," float radius = sqrt(clamp(ink, 0.0, 1.0)) * 0.68;"," float edge = mix(0.16, 0.025, sharpness);"," return 1.0 - smoothstep(radius - edge, radius + edge, length(d));","}","vec3 paletteColor(float index);","float monoScreenMask(vec2 local, float radius, float shape, float softness){"," vec2 centered = local - 0.5;"," float distanceToInk = length(centered);"," if (shape > 0.5 && shape < 1.5) distanceToInk = max(abs(centered.x), abs(centered.y));"," if (shape > 1.5 && shape < 2.5) distanceToInk = abs(centered.x) + abs(centered.y);"," if (shape > 2.5 && shape < 3.5) distanceToInk = max(abs(centered.x) * 0.86 + centered.y * 0.5, -centered.y);"," if (shape > 3.5) distanceToInk = abs(centered.y);"," float shapeRadius = shape > 3.5 ? radius * 0.45 : radius;"," return 1.0 - smoothstep(shapeRadius, shapeRadius + softness, distanceToInk);","}","vec3 applyMonoScreen(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float invert = step(0.5, u_monoScreenInvert);"," float coverage = mix(1.0 - lumaOf(source), lumaOf(source), invert);"," coverage = pow(clamp(coverage, 0.0, 1.0), mix(1.7, 0.58, clamp(u_monoScreenSpread, 0.0, 1.0)));"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellPx = mix(4.0, 18.0, clamp(u_monoScreenSize, 0.0, 1.0)) * scale;"," float angle = clamp(u_monoScreenAngle, 0.0, 1.0) * PI * 0.5;"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 point = mat2(cosine, -sine, sine, cosine) * gl_FragCoord.xy / max(cellPx, 1.0);"," float radius = sqrt(coverage) * 0.68;"," float inkMask = monoScreenMask(fract(point), radius, floor(u_monoScreenShape + 0.5), 0.035);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","vec3 applyEngraving(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(3.0, 20.0, clamp(u_engravingSpacing, 0.0, 1.0));"," float minThickness = mix(0.0, 2.0, clamp(u_engravingMinThickness, 0.0, 1.0));"," float maxThickness = mix(1.0, 8.0, clamp(u_engravingMaxThickness, 0.0, 1.0));"," float angle = clamp(u_engravingAngle, 0.0, 1.0) * PI;"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(gl_FragCoord.xy, alongAxis);"," float across = dot(gl_FragCoord.xy, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_engravingWaveFrequency, 0.0, 1.0));"," float wave = sin(along * frequency * 0.01);"," across += wave * clamp(u_engravingWave, 0.0, 1.0) * 3.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float lineDistance = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float contrast = mix(0.5, 2.0, clamp(u_engravingContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," float variation = mix(0.88, 1.12, digitalHash(vec2(lineIndex, 73.0)));"," float thickness = mix(minThickness, maxThickness, darkness) * variation;"," float edge = mix(1.0, 0.3, clamp(u_engravingSharpness, 0.0, 1.0));"," float inkMask = 1.0 - smoothstep(max(thickness * 0.5 - edge, 0.0), thickness * 0.5 + edge, lineDistance);"," inkMask *= smoothstep(0.015, 0.12, darkness);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","float crosshatchLine(vec2 pixel, float angle, float spacing, float thickness, float seed){"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(pixel, alongAxis);"," float across = dot(pixel, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_crosshatchWaveFrequency, 0.0, 1.0));"," across += sin(along * frequency * 0.02 + u_effectTime + seed) * clamp(u_crosshatchWave, 0.0, 1.0) * 5.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float distanceToLine = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float variation = mix(1.0, 0.5 + digitalHash(vec2(lineIndex, seed)), clamp(u_crosshatchLineWeight, 0.0, 1.0));"," float halfWidth = thickness * variation * 0.5;"," return 1.0 - smoothstep(max(halfWidth - 0.5, 0.0), halfWidth + 0.5, distanceToLine);","}","float crosshatchEdge(vec2 uv){"," vec2 texel = 1.0 / max(u_resolution * u_uvScale, vec2(1.0));"," float tl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, -1.0)).rgb);"," float tc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, -1.0)).rgb);"," float tr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, -1.0)).rgb);"," float ml = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 0.0)).rgb);"," float mr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 0.0)).rgb);"," float bl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 1.0)).rgb);"," float bc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, 1.0)).rgb);"," float br = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 1.0)).rgb);"," float gx = -tl - 2.0 * ml - bl + tr + 2.0 * mr + br;"," float gy = -tl - 2.0 * tc - tr + bl + 2.0 * bc + br;"," return length(vec2(gx, gy));","}","vec3 applyCrosshatch(vec2 uv, vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(5.0, 30.0, clamp(u_crosshatchSpacing, 0.0, 1.0));"," float thickness = mix(1.0, 5.0, clamp(u_crosshatchThickness, 0.0, 1.0));"," float baseAngle = -clamp(u_crosshatchAngle, 0.0, 1.0) * PI;"," float contrast = mix(0.5, 2.0, clamp(u_crosshatchContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," vec3 result = paper;"," float layer = crosshatchLine(gl_FragCoord.xy, baseAngle, spacing, thickness, 1.0) * smoothstep(0.2, 0.4, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.5, spacing * 0.95, thickness * 0.9, 2.0) * smoothstep(0.4, 0.6, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.25, spacing * 0.9, thickness * 0.8, 3.0) * smoothstep(0.6, 0.8, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle - PI * 0.25, spacing * 0.85, thickness * 0.7, 4.0) * smoothstep(0.75, 0.9, darkness);"," result = mix(result, ink, layer);"," result = mix(result, ink, smoothstep(0.9, 1.0, darkness) * 0.8);"," float edgeStrength = mix(0.0, 2.0, clamp(u_crosshatchEdges, 0.0, 1.0));"," float edge = smoothstep(0.1, 0.3, crosshatchEdge(uv)) * edgeStrength;"," result = mix(result, ink, clamp(edge, 0.0, 1.0));"," return mix(source, result, amount);","}","vec3 applyHalftone(vec3 source, float amount){"," if (amount <= 0.0) return source;"," vec3 cmy = 1.0 - source;"," float k = min(cmy.r, min(cmy.g, cmy.b));"," vec3 inks = max(cmy - vec3(k * 0.72), 0.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(5.0, 14.0, clamp(u_halftoneSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float cyan = screenDot(p, inks.r, 0.261799, 0.78);"," float magenta = screenDot(p, inks.g, 1.308997, 0.78);"," float yellow = screenDot(p, inks.b, 0.0, 0.78);"," float blackInk = screenDot(p, k, 0.785398, 0.82);"," vec3 printColor = vec3(0.975, 0.962, 0.925);"," printColor *= mix(vec3(1.0), vec3(0.05, 0.79, 0.86), cyan);"," printColor *= mix(vec3(1.0), vec3(0.91, 0.08, 0.48), magenta);"," printColor *= mix(vec3(1.0), vec3(0.98, 0.83, 0.08), yellow);"," printColor *= mix(vec3(1.0), vec3(0.035), blackInk * 0.92);"," return mix(source, printColor, amount);","}","vec3 applyTwoInkPrint(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float sourceLuma = lumaOf(source);"," float darkness = 1.0 - sourceLuma;"," float warmBias = clamp(source.r - (source.g + source.b) * 0.5, -0.35, 0.35);"," float coolBias = clamp((source.g + source.b) * 0.5 - source.r, -0.35, 0.35);"," float redTone = smoothstep(0.08, 0.72, darkness) * (1.0 - 0.68 * smoothstep(0.66, 1.0, darkness));"," float tealTone = smoothstep(0.30, 0.92, darkness);"," float redCoverage = clamp(redTone + warmBias * 1.35 - coolBias * 0.35, 0.0, 1.0);"," float tealCoverage = clamp(tealTone + coolBias * 1.1 - warmBias * 0.45, 0.0, 1.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(4.5, 12.0, clamp(u_twoInkPrintSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float redDot = screenDot(p, redCoverage, 0.261799, 0.84);"," float tealDot = screenDot(p + vec2(0.12, -0.08), tealCoverage, 1.308997, 0.84);"," float paperNoise = grainHash(floor(gl_FragCoord.xy * 0.5)) - 0.5;"," vec3 paper = vec3(0.955, 0.910, 0.795) + paperNoise * 0.018;"," vec3 vermilion = vec3(0.88, 0.13, 0.075);"," vec3 teal = vec3(0.035, 0.285, 0.355);"," vec3 overprint = vec3(0.045, 0.055, 0.052);"," vec3 printColor = paper * (1.0 - redDot) * (1.0 - tealDot);"," printColor += vermilion * redDot * (1.0 - tealDot);"," printColor += teal * (1.0 - redDot) * tealDot;"," printColor += overprint * redDot * tealDot;"," return mix(source, clamp(printColor, 0.0, 1.0), amount);","}","vec3 paletteColor(float index){"," if (index < 0.5) return u_palette0;"," if (index < 1.5) return u_palette1;"," if (index < 2.5) return u_palette2;"," if (index < 3.5) return u_palette3;"," if (index < 4.5) return u_palette4;"," return u_palette5;","}","float bayer4(vec2 point){"," vec2 cell = mod(floor(point), 4.0);"," if (cell.y < 0.5) {"," if (cell.x < 0.5) return 0.5 / 16.0;"," if (cell.x < 1.5) return 8.5 / 16.0;"," if (cell.x < 2.5) return 2.5 / 16.0;"," return 10.5 / 16.0;"," }"," if (cell.y < 1.5) {"," if (cell.x < 0.5) return 12.5 / 16.0;"," if (cell.x < 1.5) return 4.5 / 16.0;"," if (cell.x < 2.5) return 14.5 / 16.0;"," return 6.5 / 16.0;"," }"," if (cell.y < 2.5) {"," if (cell.x < 0.5) return 3.5 / 16.0;"," if (cell.x < 1.5) return 11.5 / 16.0;"," if (cell.x < 2.5) return 1.5 / 16.0;"," return 9.5 / 16.0;"," }"," if (cell.x < 0.5) return 15.5 / 16.0;"," if (cell.x < 1.5) return 7.5 / 16.0;"," if (cell.x < 2.5) return 13.5 / 16.0;"," return 5.5 / 16.0;","}","float standardAsciiSample(float brightness, vec2 grid){"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.3) return grid.x == 2.0 && (grid.y == 2.0 || grid.y == 4.0) ? 1.0 : 0.0;"," if (brightness < 0.4) return (grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) {"," bool cross = (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0);"," bool diagonals = (grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0);"," return cross || diagonals ? 1.0 : 0.0;"," }"," if (brightness < 0.6) {"," bool ring = ((grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y == 3.0);"," return ring ? 1.0 : 0.0;"," }"," bool outline = ((grid.y == 1.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 0.0 || grid.x == 4.0) && grid.y >= 2.0 && grid.y <= 4.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y >= 1.0 && grid.y <= 5.0);"," if (brightness < 0.7) return outline ? 1.0 : 0.0;"," if (brightness < 0.8) {"," bool slash = abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.x >= 1.0 && grid.x <= 3.0;"," return outline || slash ? 1.0 : 0.0;"," }"," if (brightness < 0.9) {"," bool loops = ((grid.y == 1.0 || grid.y == 3.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0));"," return loops ? 1.0 : 0.0;"," }"," return 1.0;","}","float asciiStyleSample(float style, float brightness, vec2 uv){"," vec2 grid = floor(uv * vec2(5.0, 7.0));"," if (style < 0.5) return standardAsciiSample(brightness, grid);"," if (style < 1.5) {"," float checker = mod(grid.x + grid.y, 2.0);"," float ruled = mod(grid.x, 2.0) == 0.0 || mod(grid.y, 2.0) == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return checker == 0.0 ? 0.5 : 0.0;"," if (brightness < 0.375) return ruled * 0.6;"," if (brightness < 0.5) return checker == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return ruled > 0.5 ? 1.0 : 0.3;"," if (brightness < 0.75) return checker == 0.0 ? 1.0 : 0.7;"," if (brightness < 0.875) return ruled > 0.5 ? 1.0 : 0.85;"," return 1.0;"," }"," if (style < 2.5) {"," if (brightness < 0.14) return 0.0;"," if (brightness < 0.28) return grid.x == 2.0 && grid.y == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.42) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.56) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.7) return (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0) ? 1.0 : 0.0;"," if (brightness < 0.84) return abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.y >= 2.0 && grid.y <= 4.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 3.5) return grid.y >= 6.0 - brightness * 7.0 ? 1.0 : 0.0;"," if (style < 4.5) {"," vec2 dots = floor(uv * vec2(2.0, 4.0));"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return dots.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return dots.y >= 2.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return dots.y >= 1.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return dots.y >= 1.0 || dots.x == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return 1.0;"," if (brightness < 0.875) return mod(grid.x + grid.y, 2.0) < 1.5 ? 1.0 : 0.7;"," return 1.0;"," }"," if (style < 5.5) {"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return grid.x == 2.0 && grid.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return grid.x + grid.y == 5.0 || grid.x + grid.y == 6.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return grid.x == 2.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return abs(grid.x - grid.y / 1.4) < 0.7 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.875) return grid.x == 2.0 || grid.y == 3.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 6.5) {"," bool top = grid.y == 0.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool topLeft = grid.x == 1.0 && grid.y <= 3.0;"," bool topRight = grid.x == 3.0 && grid.y <= 3.0;"," bool middle = grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool bottomLeft = grid.x == 1.0 && grid.y >= 3.0;"," bool bottomRight = grid.x == 3.0 && grid.y >= 3.0;"," bool bottom = grid.y == 6.0 && grid.x >= 1.0 && grid.x <= 3.0;"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.3) return top || topRight || middle || bottomLeft || bottom ? 1.0 : 0.0;"," if (brightness < 0.4) return top || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.5) return topLeft || middle || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.6) return top || topLeft || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.7) return top || topLeft || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.8) return top || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.9) return top || topLeft || topRight || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," return top || topLeft || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," }"," float slash = grid.x - grid.y;"," float backslash = grid.x + grid.y;"," if (brightness < 0.16) return 0.0;"," if (brightness < 0.33) return mod(slash, 3.0) < 0.5 ? 1.0 : 0.0;"," if (brightness < 0.5) return mod(slash, 2.0) < 0.5 ? 1.0 : 0.0;"," bool diagonalA = mod(slash, 2.0) < 0.5;"," bool diagonalB = mod(backslash, 2.0) < 0.5;"," if (brightness < 0.66) return diagonalA || diagonalB ? 1.0 : 0.0;"," if (brightness < 0.83) return mod(slash, 1.5) < 0.5 || mod(backslash, 1.5) < 0.5 ? 1.0 : 0.2;"," return mod(slash, 1.0) < 0.6 || mod(backslash, 1.0) < 0.6 ? 1.0 : 0.5;","}","vec3 rgbToHsv(vec3 color){"," float maximum = max(max(color.r, color.g), color.b);"," float minimum = min(min(color.r, color.g), color.b);"," float delta = maximum - minimum;"," float hue = 0.0;"," if (delta > 0.00001) {"," if (maximum == color.r) hue = mod((color.g - color.b) / delta, 6.0);"," else if (maximum == color.g) hue = (color.b - color.r) / delta + 2.0;"," else hue = (color.r - color.g) / delta + 4.0;"," hue = fract(hue / 6.0);"," }"," return vec3(hue, maximum > 0.00001 ? delta / maximum : 0.0, maximum);","}","vec3 hsvToRgb(vec3 color){"," vec3 bands = abs(fract(color.xxx + vec3(0.0, 0.6666667, 0.3333333)) * 6.0 - 3.0);"," return color.z * mix(vec3(1.0), clamp(bands - 1.0, 0.0, 1.0), color.y);","}","vec4 sampleAdvancedCurve(float coordinate, float row){",` float position = clamp(coordinate, 0.0, 1.0) * ${Pc};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Pc});`,` float y = (row + 0.5) / ${Fg};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${oa}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${oa}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${oa}, ${Mg}));`,"}","vec3 wheelDirection(float hue){"," vec3 direction = hsvToRgb(vec3(fract(hue), 1.0, 1.0));"," direction -= vec3(lumaOf(direction));"," return direction / max(max(max(abs(direction.r), abs(direction.g)), abs(direction.b)), 0.0001);","}","vec3 applyTonalWheels(vec3 color){"," float luma = lumaOf(color);"," float shadows = 1.0 - smoothstep(0.0, 0.6, luma);"," float highlights = smoothstep(0.4, 1.0, luma);"," float midtones = max(0.0, 1.0 - shadows - highlights);"," float total = max(shadows + midtones + highlights, 0.0001);"," vec3 weights = vec3(shadows, midtones, highlights) / total;"," color += wheelDirection(u_shadowWheel.x) * u_shadowWheel.y * weights.x * 0.18;"," color += wheelDirection(u_midtoneWheel.x) * u_midtoneWheel.y * weights.y * 0.18;"," color += wheelDirection(u_highlightWheel.x) * u_highlightWheel.y * weights.z * 0.18;"," color += u_shadowWheel.z * weights.x * 0.25;"," color += u_midtoneWheel.z * weights.y * 0.25;"," color += u_highlightWheel.z * weights.z * 0.25;"," return color;","}","vec3 applyRgbCurves(vec3 color){"," if (u_rgbCurvesEnabled < 0.5) return color;"," vec3 master = vec3("," sampleAdvancedCurve(color.r, 0.0).a,"," sampleAdvancedCurve(color.g, 0.0).a,"," sampleAdvancedCurve(color.b, 0.0).a"," );"," return vec3("," sampleAdvancedCurve(master.r, 0.0).r,"," sampleAdvancedCurve(master.g, 0.0).g,"," sampleAdvancedCurve(master.b, 0.0).b"," );","}","float decodeSigned(float value){ return (value * 255.0 - 128.0) / 127.0; }","vec3 applyHueCurves(vec3 color){"," if (u_hueCurvesEnabled < 0.5) return color;"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," vec3 curves = sampleAdvancedCurve(hsv.x, 1.0).rgb;"," float originalLuma = lumaOf(color);"," hsv.x = fract(hsv.x + decodeSigned(curves.r) * 0.5);"," hsv.y = clamp(hsv.y * max(0.0, 1.0 + decodeSigned(curves.g)), 0.0, 1.0);"," vec3 shifted = hsvToRgb(hsv);"," shifted += vec3(originalLuma - lumaOf(shifted) + decodeSigned(curves.b));"," return shifted;","}","float softRangeMask(float value, float minimum, float maximum, float softness){"," if (value < minimum) {"," if (softness <= 0.0) return 0.0;"," return smoothstep(minimum - softness, minimum, value);"," }"," if (value > maximum) {"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(maximum, maximum + softness, value);"," }"," return 1.0;","}","float hueRangeMask(float hue, float saturation, vec3 key){"," float distance = abs(fract(hue - key.x + 0.5) - 0.5) * 360.0;"," float range = key.y * 180.0;"," float softness = key.z * 180.0;"," if (range < 179.999 && saturation < 0.001) return 0.0;"," if (distance <= range) return 1.0;"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(range, range + softness, distance);","}","vec3 applySecondary(vec3 color, float index){"," float base = index * 5.0;"," vec4 hueKey = advancedConfig(base);"," vec4 saturationKey = advancedConfig(base + 1.0);"," vec4 lumaKey = advancedConfig(base + 2.0);"," vec4 correction = advancedConfig(base + 3.0);"," vec4 tintCorrection = advancedConfig(base + 4.0);"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," float luma = lumaOf(color);"," float mask = hueRangeMask(hsv.x, hsv.y, hueKey.rgb);"," mask *= softRangeMask(hsv.y, saturationKey.x, saturationKey.y, saturationKey.z * 0.5);"," mask *= softRangeMask(luma, lumaKey.x, lumaKey.y, lumaKey.z * 0.5);"," if (mask <= 0.0) return color;"," hsv.x = fract(hsv.x + decodeSigned(correction.x) * 0.5);"," vec3 corrected = hsvToRgb(hsv);"," float correctedLuma = lumaOf(corrected);"," corrected = mix(vec3(correctedLuma), corrected, max(0.0, 1.0 + decodeSigned(correction.y)));"," corrected += vec3(decodeSigned(correction.z));"," float temperature = decodeSigned(correction.w);"," float tint = decodeSigned(tintCorrection.x);"," corrected.r += temperature * 0.08 + tint * 0.04;"," corrected.b -= temperature * 0.08 - tint * 0.04;"," corrected.g -= tint * 0.08;"," return mix(color, corrected, mask);","}","vec3 applyAdvancedGrade(vec3 color){"," color = applyTonalWheels(color);"," color = applyRgbCurves(color);"," color = applyHueCurves(color);"," if (u_secondaryCount > 0.5) color = applySecondary(color, 0.0);"," if (u_secondaryCount > 1.5) color = applySecondary(color, 1.0);"," if (u_secondaryCount > 2.5) color = applySecondary(color, 2.0);"," if (u_secondaryCount > 3.5) color = applySecondary(color, 3.0);"," return color;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","vec3 applyPrimaryGrade(vec3 color){"," color *= pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," return color;","}","vec3 applyColorGrade(vec3 color){"," color = applyPrimaryGrade(color);"," color = applyAdvancedGrade(color);"," return clamp(applyLut(clamp(color, 0.0, 1.0)), 0.0, 1.0);","}","vec3 applyDither(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float pixelSize = mix(1.0, 5.0, clamp(u_ditherSize, 0.0, 1.0)) * scale;"," vec2 block = floor(gl_FragCoord.xy / max(pixelSize, 1.0));"," float levels = clamp(u_paletteSize, 2.0, 6.0);"," float index = floor(clamp(lumaOf(source) * (levels - 1.0) + bayer4(block), 0.0, levels - 1.0));"," return mix(source, paletteColor(index), amount);","}","vec2 asciiEdgeDirection(vec2 uv, vec2 stepUv){"," float topLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, -stepUv.y)).rgb);"," float top = bt601Luma(sampleMedia(uv + vec2(0.0, -stepUv.y)).rgb);"," float topRight = bt601Luma(sampleMedia(uv + vec2(stepUv.x, -stepUv.y)).rgb);"," float left = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, 0.0)).rgb);"," float right = bt601Luma(sampleMedia(uv + vec2(stepUv.x, 0.0)).rgb);"," float bottomLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, stepUv.y)).rgb);"," float bottom = bt601Luma(sampleMedia(uv + vec2(0.0, stepUv.y)).rgb);"," float bottomRight = bt601Luma(sampleMedia(uv + stepUv).rgb);"," float x = -topLeft - 2.0 * left - bottomLeft + topRight + 2.0 * right + bottomRight;"," float y = -topLeft - 2.0 * top - topRight + bottomLeft + 2.0 * bottom + bottomRight;"," return vec2(x, y);","}","vec2 rotateAsciiUv(vec2 uv, float angle){"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 centered = uv - 0.5;"," return vec2(centered.x * cosine - centered.y * sine, centered.x * sine + centered.y * cosine) + 0.5;","}","vec3 applyAscii(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellHeight = mix(4.0, 80.0, clamp(u_asciiSize, 0.0, 1.0)) * scale;"," vec2 cellSize = vec2(cellHeight);"," vec2 cell = floor(gl_FragCoord.xy / cellSize);"," vec2 cellVuv = (cell + 0.5) * cellSize / max(u_resolution, vec2(1.0));"," vec2 cellUv = (cellVuv - u_uvOffset) / u_uvScale;"," cellUv = applyCrtWarp(cellUv);"," vec3 cellColor = applyColorGrade(sampleMedia(cellUv).rgb);"," float brightness = bt601Luma(cellColor);"," float invert = step(0.5, u_asciiInvert);"," brightness = mix(brightness, 1.0 - brightness, invert);"," vec2 glyphUv = fract(gl_FragCoord.xy / cellSize);"," float rotation = clamp(u_asciiRotation, 0.0, 1.0);"," if (rotation > 0.0) {"," vec2 cellStepUv = cellSize / max(u_resolution * u_uvScale, vec2(1.0));"," vec2 edge = asciiEdgeDirection(cellUv, cellStepUv);"," if (length(edge) > 0.1) glyphUv = mix(glyphUv, rotateAsciiUv(glyphUv, atan(edge.y, edge.x)), rotation);"," }"," float ink = asciiStyleSample(floor(u_asciiStyle + 0.5), brightness, glyphUv);"," vec3 background = paletteColor(0.0);"," vec3 inkColor = mix(paletteColor(max(u_paletteSize - 1.0, 1.0)), cellColor, clamp(u_asciiColor, 0.0, 1.0));"," vec3 asciiColor = mix(background, inkColor, ink);"," return mix(source, asciiColor, amount);","}","vec3 applyScanlines(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float count = mix(50.0, 500.0, clamp(u_scanlineCount, 0.0, 1.0));"," float softness = clamp(u_scanlineSoftness, 0.0, 1.0);"," float wave = 0.5 + 0.5 * sin(v_uv.y * count * PI);"," float line = mix(1.0 - wave, pow(1.0 - wave, 2.2), softness);"," return source * (1.0 - line * amount);","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," uv = applyCrtWarp(uv);"," vec2 displayEdge = smoothstep(vec2(0.0), vec2(0.006), uv) * (1.0 - smoothstep(vec2(0.994), vec2(1.0), uv));"," float displayMask = displayEdge.x * displayEdge.y;"," vec4 sampleColor = sampleMedia(uv);"," sampleColor = sampleChromaticMedia(uv, sampleColor);"," sampleColor.rgb = applyDigitalGlitch(uv, sampleColor.rgb);"," vec3 original = originalSample.rgb;"," vec3 color = mix(sampleColor.rgb, applyColorGrade(sampleColor.rgb), u_intensity);"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," float filmArtifacts = clamp(u_filmArtifacts, 0.0, 1.0);"," if (filmArtifacts > 0.0) {"," float filmFrame = floor(u_grainSeed);"," float dust = dustMask(v_uv, floor(filmFrame / 3.0));"," float dustTone = grainHash(vec2(floor(filmFrame / 3.0), 8.0));"," color = mix(color, vec3(dustTone > 0.5 ? 0.95 : 0.02), dust * 0.72 * filmArtifacts);"," float scratchBucket = floor(filmFrame / 12.0);"," float scratchX = grainHash(vec2(scratchBucket, 4.2));"," float scratchLife = step(0.78, grainHash(vec2(scratchBucket, 8.4)));"," float scratch = (1.0 - smoothstep(0.0, 1.4 / max(u_resolution.x, 1.0), abs(v_uv.x - scratchX))) * scratchLife;"," color = mix(color, vec3(0.94, 0.88, 0.76), scratch * 0.28 * filmArtifacts);"," }"," color = applyMonoScreen(clamp(color, 0.0, 1.0), clamp(u_monoScreen, 0.0, 1.0));"," color = applyEngraving(clamp(color, 0.0, 1.0), clamp(u_engraving, 0.0, 1.0));"," color = applyCrosshatch(uv, clamp(color, 0.0, 1.0), clamp(u_crosshatch, 0.0, 1.0));"," color = applyHalftone(clamp(color, 0.0, 1.0), clamp(u_halftone, 0.0, 1.0));"," color = applyTwoInkPrint(clamp(color, 0.0, 1.0), clamp(u_twoInkPrint, 0.0, 1.0));"," color = applyDither(clamp(color, 0.0, 1.0), clamp(u_dither, 0.0, 1.0));"," color = applyAscii(clamp(color, 0.0, 1.0), clamp(u_ascii, 0.0, 1.0));"," if (u_bloomReady > 0.5 && u_bloom > 0.0) color += sampleBloom(uv) * u_bloom;"," color = applyScanlines(clamp(color, 0.0, 1.0), clamp(u_scanlines, 0.0, 1.0));"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float warpActive = step(0.0001, u_crtCurvature);"," color *= mix(1.0, displayMask, warpActive);"," vec3 graded = clamp(color, 0.0, 1.0);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`
|
|
350
|
-
`),
|
|
351
|
-
`)
|
|
352
|
-
`),
|
|
353
|
-
`);function Rt(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Oc(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function Hc(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(N("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function ti(e,t=Ng){let n=Hc(e,Lg,e.VERTEX_SHADER),r=Hc(e,t,e.FRAGMENT_SHADER);if(!n||!r)return n&&e.deleteShader(n),r&&e.deleteShader(r),null;let i=e.createProgram();return i?(e.attachShader(i,n),e.attachShader(i,r),e.linkProgram(i),e.deleteShader(n),e.deleteShader(r),e.getProgramParameter(i,e.LINK_STATUS)?i:(N("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function Jr(e,t=e.LINEAR,n=e.UNSIGNED_BYTE){let r=e.createTexture();return r?(e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,n,null),r):null}function Og(e,t){let n=ti(e,Dg);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius"),bloomPass:e.getUniformLocation(n,"u_bloomPass"),threshold:e.getUniformLocation(n,"u_threshold")}:null}function Hg(e,t){let n=ti(e,Ig);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),blurSource:e.getUniformLocation(n,"u_blurSource"),texel:e.getUniformLocation(n,"u_texel"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),blurReady:e.getUniformLocation(n,"u_blurReady"),blur:e.getUniformLocation(n,"u_blur"),radius:e.getUniformLocation(n,"u_kuwaharaRadius")}:null}function Gg(e,t){let n=ti(e,Pg);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),moments:e.getUniformLocation(n,"u_kuwaharaMoments"),texel:e.getUniformLocation(n,"u_texel"),radius:e.getUniformLocation(n,"u_kuwaharaRadius"),sharpness:e.getUniformLocation(n,"u_kuwaharaSharpness"),saturation:e.getUniformLocation(n,"u_kuwaharaSaturation")}:null}function Kn(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=Jr(e,n,t),i=e.createFramebuffer();if(!r||!i)return r&&e.deleteTexture(r),i&&e.deleteFramebuffer(i),null;e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);let o=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),o!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(r),e.deleteFramebuffer(i),null):{texture:r,framebuffer:i,type:t,width:1,height:1}}function Zr(e,t,n,r){t.width===n&&t.height===r||(t.width=n,t.height=r,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,t.type,null))}function aa(e,t,n){let r=[];for(let i of n){let o=e.getUniformLocation(t,`u_${i}`);o!==null&&r.push([i,o])}return r}function Gc(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function ca(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=ti(t),r=Jr(t),i=Jr(t,t.NEAREST),o=Jr(t,t.NEAREST);if(!n||!r||!i||!o)return Gc(t,n,[r,i,o]),null;let a=t.createBuffer();return a?(t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:r,lutTexture:i,advancedTexture:o,advancedSignature:null,quad:a,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),bloomSource:t.getUniformLocation(n,"u_bloomSource"),kuwaharaSource:t.getUniformLocation(n,"u_kuwaharaSource"),lut:t.getUniformLocation(n,"u_lut"),advanced:t.getUniformLocation(n,"u_advanced"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),bloomReady:t.getUniformLocation(n,"u_bloomReady"),kuwaharaReady:t.getUniformLocation(n,"u_kuwaharaReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),shadowWheel:t.getUniformLocation(n,"u_shadowWheel"),midtoneWheel:t.getUniformLocation(n,"u_midtoneWheel"),highlightWheel:t.getUniformLocation(n,"u_highlightWheel"),rgbCurvesEnabled:t.getUniformLocation(n,"u_rgbCurvesEnabled"),hueCurvesEnabled:t.getUniformLocation(n,"u_hueCurvesEnabled"),secondaryCount:t.getUniformLocation(n,"u_secondaryCount"),adjustUniforms:aa(t,n,Tr),detailUniforms:aa(t,n,ro),effectUniforms:aa(t,n,io),grainSeed:t.getUniformLocation(n,"u_grainSeed"),effectTime:t.getUniformLocation(n,"u_effectTime"),paletteSize:t.getUniformLocation(n,"u_paletteSize"),palette0:t.getUniformLocation(n,"u_palette0"),palette1:t.getUniformLocation(n,"u_palette1"),palette2:t.getUniformLocation(n,"u_palette2"),palette3:t.getUniformLocation(n,"u_palette3"),palette4:t.getUniformLocation(n,"u_palette4"),palette5:t.getUniformLocation(n,"u_palette5"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(Gc(t,n,[r,i,o]),null)}function Bg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ug(e){if(!Bg(e))return{...Qt};let t=(n,r,i,o)=>{let a=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(i,Number.isFinite(a)?a:r))};return{enabled:e.enabled===!0,position:t(e.position,Qt.position,0,1),softness:t(e.softness,Qt.softness,0,.25),lineWidth:t(e.lineWidth,Qt.lineWidth,0,12)}}function jc(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function ni(e){return e instanceof Error?e.message:"LUT failed to load"}function Wg(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function Kc(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return Wg(t)}function da(e){let t=jc(e);if("error"in t)return{state:"error",message:t.error};let n=rt.get(t.href);if(n)return n;let r=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>rl(o,{maxSize:Ar})),i={state:"pending",promise:r};for(;rt.size>=wg;){let o=rt.keys().next().value;if(!o)break;rt.delete(o)}return rt.set(t.href,i),r.then(o=>{rt.get(t.href)===i&&rt.set(t.href,{state:"ready",lut:o})},o=>{rt.get(t.href)===i&&rt.set(t.href,{state:"error",message:ni(o)})}),i}function Bc(e,t,n){if(e.lut?.src===t)return e.lut;let r=Ki(n),{gl:i,program:o}=e;try{return Yc(i,o.lutTexture,r),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(a){return e.lut=null,e.lutError=ni(a),e.lutLoadingSrc=null,N("runtime.colorGrading.uploadLut",a),null}}async function Vg(e){let t=da(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function Yc(e,t,n){e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)}function zg(e,t,n){let r=Ki(n),{gl:i,program:o}=e;return Yc(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Je(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function fa(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Je(e.gl,t.scratch),Je(e.gl,t.blur),t.bloom&&Je(e.gl,t.bloom),e.effectTargets=null)}function ma(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Je(e.gl,t.moments),Je(e.gl,t.output),e.kuwaharaTargets=null)}function Qr(e,t=!1){fa(e),ma(e),qg(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function qg(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function $g(e){let t=ca(e.canvas);return t?(Qr(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function ua(e){if(!e.sourceHidden)return;e.element.removeAttribute(An);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function jg(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=Og(t,e.program.quad),r=Kn(t),i=Kn(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Je(t,r),i&&Je(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function Kg(e,t){return t.bloom||(t.bloom=Kn(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Uc(e){let t=e.effectTargets;t?.bloom&&(Je(e.gl,t.bloom),t.bloom=null)}function Yg(e){if(e.kuwaharaTargets)return e.kuwaharaTargets;let{gl:t}=e,n=t.getExtension("OES_texture_half_float"),r=t.getExtension("EXT_color_buffer_half_float");if(!n||!r)return e.effectError="Kuwahara requires half-float framebuffer support",null;let i=Hg(t,e.program.quad),o=Gg(t,e.program.quad),a=Kn(t,n.HALF_FLOAT_OES,t.NEAREST),l=Kn(t);return!i||!o||!a||!l?(Xg(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function Xg(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Je(e,r),i&&Je(e,i)}function Xc(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Zr(e,t,o,a),Zr(e,n,o,a),{width:o,height:a}}function ei(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),Yn(e,t)}function Jg(e,t,n,r,i,o,a){let l=Xc(e,t.scratch,r,i/2,o/2),s=a/2;ei(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),ei(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function Qg(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)ei(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),ei(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function Yn(e,t){e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function Zg(e,t,n,r,i,o,a,l){Zr(e,t.moments,i.width,i.height),Zr(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),Yn(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),Yn(e,u)}function eb(e,t,n,r){if(n<=0)return!1;let i=Xc(e.gl,t.scratch,t.blur,r.width,r.height);return Qg(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function tb(e,t,n,r,i,o){if(n<=0)return Uc(e),null;o||Uc(e);let a=o?Kg(e,t):t.blur;return a?(Jg(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function nb(e,t,n,r){let{program:i}=e,o=t.effects.blur,a=t.effects.bloom;if(o<=0&&a<=0)return e.effectTargets&&r&&fa(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=jg(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=eb(e,l,o,n),u=tb(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function rb(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&ma(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=Yg(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(Zg(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function Jc(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=nb(e,t,n,o),l=rb(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function ib(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let r=jc(t);if("error"in r)return e.lut=null,e.lutLoadingSrc=null,e.lutError=r.error,null;if(e.lut?.src===r.href)return e.lut;e.lut=null;let i=da(t);return i.state==="ready"?Bc(e,r.href,i.lut):i.state==="error"?(e.lutError=i.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==r.href&&(e.lutLoadingSrc=r.href,e.lutError=null,i.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Bc(e,r.href,o),Ne(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=ni(o),e.lutLoadingSrc=null,Ne(e))})),null)}function $n(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&Rt(n))return n;try{let r=document.querySelector(t);return r&&Rt(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&Rt(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&Rt(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),r=t[n]??null;return r&&Rt(r)?r:null}catch{return null}}function Qc(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Zc(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function ed(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Zc(t)?t:null}function Wc(e){if(!(e instanceof HTMLVideoElement))return!1;let t=ed(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function ob(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function ab(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function td(e){if(e instanceof HTMLVideoElement){let t=ed(e);if(t)return t}return Zc(e)?e:null}function Vc(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let r=Number.parseFloat(n);return Number.isFinite(r)?r/100:null}return null}function sb(e){let t=e.trim().split(/\s+/).filter(Boolean),n=.5,r=.5;for(let i=0;i<t.length;i++){let o=t[i]??"",a=Vc(o,"x"),l=Vc(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function nd(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=sb(o||"center"),c=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:c,offsetY:m}}function lb(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function zc(e,t){return Math.max(0,Math.round(e>0?e:t))}function ub(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&lb(e,i);let o=window.getComputedStyle(t);kl(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=zc(n.offsetWidth,a.width),s=zc(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),c=Math.round(l*u),m=Math.round(s*u);return r.width!==c&&(r.width=c),r.height!==m&&(r.height=m),{width:c,height:m}}function Jt(e,t,n){e.uniform3f(t,Number.parseInt(n.slice(1,3),16)/255,Number.parseInt(n.slice(3,5),16)/255,Number.parseInt(n.slice(5,7),16)/255)}function kt(e,t,n,r){e.set(r,(t*Ke+n)*4)}function gt(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function sa(e,t,n){return e.length>=3?Xi(e,t,n):new Float32Array(Ke)}function Tt(e,t){return e[t]??0}function cb(e,t,n){let r=Bt(t.red),i=Bt(t.green),o=Bt(t.blue),a=Bt(t.master),l=sa(n.hueVsHue,-180,180),s=sa(n.hueVsSaturation,-1,1),u=sa(n.hueVsLuma,-1,1);for(let c=0;c<Ke;c+=1)kt(e,0,c,[Tt(r,c),Tt(i,c),Tt(o,c),Tt(a,c)]),kt(e,1,c,[gt(Tt(l,c),180),gt(Tt(s,c),1),gt(Tt(u,c),1),1])}function db(e,t,n){let r=n*kg;kt(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),kt(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),kt(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),kt(e,2,r+3,[gt(t.correction.hueShift,180),gt(t.correction.saturation,1),gt(t.correction.luma,1),gt(t.correction.temperature,1)]),kt(e,2,r+4,[gt(t.correction.tint,1),.5,.5,1])}function fb(e,t,n){let r=new Float32Array(Ke*Jn*4);cb(r,e,t);let i=0;for(let o of n)o.enabled&&(db(r,o,i),i+=1);return r}var qc=new WeakMap;function mb(e,t,n){let r=qc.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return qc.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function pb(e,t,n,r){let{curves:i,hueCurves:o}=n,a=mb(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(fb(i,o,r),Sn);e.activeTexture(e.TEXTURE5),e.bindTexture(e.TEXTURE_2D,t.advancedTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,Ke,Jn,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function la(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function rd(e,t,n,r,i,o,a,l,s,u,c,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:p,secondaries:b}=n,S=so(f),x=lo(p),_=uo(b)?b.reduce((F,M)=>F+Number(M.enabled),0):0;(S||x||_>0)&&pb(e,t,n,b),la(e,t.shadowWheel,n.wheels.shadows),la(e,t.midtoneWheel,n.wheels.midtones),la(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,S?1:0),e.uniform1f(t.hueCurvesEnabled,x?1:0),e.uniform1f(t.secondaryCount,_);for(let[F,M]of t.adjustUniforms)e.uniform1f(M,n.adjust[F]);for(let[F,M]of t.detailUniforms)e.uniform1f(M,n.details[F]);e.uniform1f(t.grainSeed,c),e.uniform1f(t.effectTime,m);for(let[F,M]of t.effectUniforms)e.uniform1f(M,n.effects[F]);let R=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?Tg:ia),T=R[R.length-1]??ia[1];e.uniform1f(t.paletteSize,R.length),Jt(e,t.palette0,R[0]??ia[0]),Jt(e,t.palette1,R[1]??T),Jt(e,t.palette2,R[2]??T),Jt(e,t.palette3,R[3]??T),Jt(e,t.palette4,R[4]??T),Jt(e,t.palette5,R[5]??T),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function hb(e){if(!e.sourceHidden){let t=e.element.getAttribute(_r);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(An,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function it(e){let t=Al.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var id=it("intensity"),od=it("lut.intensity"),ad=it("adjust.exposure"),sd=it("effects.kuwahara"),ld=[["blur",it("effects.blur")],["bloom",it("effects.bloom")],["kuwahara",sd],["pixelate",it("effects.pixelate")],["ascii",it("effects.ascii")],["dither",it("effects.dither")]],ud=[id,od,ad,...ld.map(([,e])=>e)];function Ft(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function jn(e,t){return t!==null&&(Tl(t)||ud.some(n=>Ft(e,n)!==null))}function gb(e,t){let n=null;for(let[r,i]of ld){let o=Ft(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function bb(e){let{element:t,grading:n}=e,r=Ft(t,id),i=Ft(t,od),o=Ft(t,ad),a=gb(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function cd(e,t,n){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}function dd(e,t,n){let r=[t.texture,n.blurTexture,t.lutTexture,n.kuwaharaTexture,n.bloomTexture,t.advancedTexture];for(let[i,o]of r.entries())e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,o)}function Ne(e){if(e.destroyed||e.contextLost)return!1;let t=td(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=Qc(t);if(!n)return!1;let r=t instanceof HTMLElement?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=ob(t);s&&ab(e,t);let u=window.getComputedStyle(s?t:e.element);(s||!a)&&(e.sourceOpacityForCanvas=u.opacity||"1"),e.sourceVisibleForCanvas=(s||l!=="hidden")&&u.visibility!=="hidden";let c=ub(e,r);if(!c)return!1;let m=window.getComputedStyle(r),f=nd(c.width,c.height,n.width,n.height,m.objectFit,m.objectPosition),{gl:p,program:b}=e;try{let S=bb(e),x=ib(e);cd(p,b.texture,t);let _=Ft(e.element,sd)!==null,R=Jc(e,S,c,f,{preserveKuwahara:_});p.bindFramebuffer(p.FRAMEBUFFER,null),p.viewport(0,0,c.width,c.height),p.useProgram(b.program),dd(p,b,R);let T=window.__player?.getTime?.(),F=typeof T=="number"&&Number.isFinite(T)?Math.max(0,T):e.element instanceof HTMLVideoElement?Math.max(0,e.element.currentTime):0,M=e.grainSeed+Math.floor(F*60);return rd(p,b,S,x,R.blurReady,R.bloomReady,R.kuwaharaReady,e.compare,c,f,M,F),Yn(p,b),hb(e),e.hasDrawn=!0,e.drawError=null,!0}catch(S){return e.drawError=S instanceof Error?S.message:"Shader draw failed",N("runtime.colorGrading.drawEntry",S),!1}}function xb(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function yb(){let e=document.createElement("canvas"),t=ca(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function Sb(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):e instanceof HTMLVideoElement?Math.max(0,e.currentTime):0}function vb(e,t,n,r){let i=td(t);if(!i)return null;let o=Qc(i);if(!o)return null;let a=xb(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=i instanceof HTMLElement?i:t,s=window.getComputedStyle(l),u=nd(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return cd(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:Sb(t,r),grainSeed:Kc(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function Eb(e,t,n,r,i=!1){let o=vb(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,c=[];for(let m of n.slice(0,32)){let f=Rr(m.grading);if(!f){c.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let p=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=zg(e,f.lut.src,await Vg(f.lut.src))),p=e.lut),c.push({id:m.id,dataUrl:Ab(e,f,p,a,l,s,u)})}catch(b){c.push({id:m.id,dataUrl:null,error:ni(b)})}}return{...a,images:c}}function Ab(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=Jc(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),dd(s,u,c),n||(e.lut=null),rd(s,u,t,n,c.blurReady,c.bloomReady,c.kuwaharaReady,Qt,r,i,o,a),Yn(s,u),l.toDataURL("image/png")}function Xe(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function Cb(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function Xn(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Ne(e),!e.destroyed&&!t.paused&&!t.ended&&Xn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Ne(e),!e.destroyed&&!t.paused&&!t.ended&&Xn(e)})}function wb(e){let t=()=>{Ne(e)};if(Xe(e,e.element,"load",t),Xe(e,e.element,"loadedmetadata",t),Xe(e,e.element,"loadeddata",t),Xe(e,e.element,"seeked",t),Xe(e,e.element,"timeupdate",t),Xe(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Xe(e,e.element,"play",()=>Xn(e)),Xe(e,e.element,"pause",t)),Xe(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",ua(e)}),Xe(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!$g(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",ua(e);return}e.drawError=null,Ne(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let a=e.element.style;return`${a.transform}|${a.translate}|${a.rotate}|${a.scale}|${a.left}|${a.top}|${a.width}|${a.height}`},r=n(),i=!1,o=new MutationObserver(()=>{i||n()!==r&&(i=!0,requestAnimationFrame(()=>{i=!1,r=n(),Ne(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function _b(e){if(e.destroyed)return null;e.destroyed=!0,Cb(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),fa(e),ma(e),ua(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition),{canvas:e.canvas,gl:e.gl,program:e.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}function fd(e,t){return e.removeAttribute("style"),t.id?e.id=`${xl}${t.id}`:e.removeAttribute("id"),e.className=Cg,e.setAttribute(Ag,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Tb(e){return fd(document.createElement("canvas"),e)}function md(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(A,v,E)=>{let w=e.get(A);if(w)return w.grading=v,w.source=E,Ne(w),A instanceof HTMLVideoElement&&!A.paused&&Xn(w),!0;let L=n.pop();if(L)fd(L.canvas,A);else{let H=Tb(A),z=ca(H);if(!z)return H.remove(),!1;L={canvas:H,gl:z.gl,program:z.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let D={element:A,...L,grading:v,compare:{...Qt},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:E,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(A).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(A).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:Kc(A),destroyed:!1};return e.set(A,D),t.add(A),wb(D),Ne(D),A instanceof HTMLVideoElement&&!A.paused&&Xn(D),!0},s=(A,v)=>{if(a)return!1;let E=$n(A);if(!E)return!1;let w=e.get(E);if(!w){let L=Xr(E);if(!jn(E,L)||!l(E,L,"attribute"))return!1;w=e.get(E)}return w?(w.compare=Ug(v),Ne(w),!0):!1},u=A=>{let v=e.get(A);if(!v)return;let E=_b(v);E&&(v.contextLost||n.length>=_g?Qr(E,!0):n.push(E)),e.delete(A),t.delete(A)},c=()=>{if(a)return 0;let A=new Set;document.querySelectorAll(`video[${En}], img[${En}]`).forEach(E=>{if(!Rt(E))return;A.add(E);let w=Xr(E);jn(E,w)&&(Oc(E)||Wc(E))?l(E,w,"attribute"):u(E)});for(let E of t){let w=e.get(E);w&&(!E.isConnected||w.source==="attribute"&&!A.has(E))&&u(E)}return t.size},m=()=>{if(a)return 0;let A=0;for(let v of t){let E=e.get(v);E&&Ne(E)&&(A+=1)}return A},f=async()=>{let A=new Set;for(let v of t){let E=e.get(v)?.grading.lut;if(!E?.src.trim()||(E.intensity??1)<=0)continue;let w=da(E.src);w.state==="pending"&&A.add(w.promise)}return A.size>0&&await Promise.allSettled(A),m(),A.size},p=()=>{if(a)return 0;let A=0;for(let v of t){let E=e.get(v);!E||!ud.some(L=>Ft(v,L)!==null)||v instanceof HTMLVideoElement&&!v.paused&&!v.ended||Ne(E)&&(A+=1)}return A},b=(A,v)=>{if(a)return!1;let E=$n(A);if(!E)return!1;let w=Rr(v);return jn(E,w)?l(E,w,"live"):(u(E),!0)},S=(A,v)=>{if(!Rt(A))return!1;let E=e.get(A);if(!E){if(!v)return!1;let w=Xr(A);return jn(A,w)&&l(A,w,"attribute")}return E.sourceVisibleForCanvas=v,!v&&E.source==="attribute"&&u(A),!0},x=A=>{let v=$n(A);if(!v)return{state:"missing",message:"Media not found"};let E=e.get(v);if(E)return E.effectError?{state:"unavailable",message:E.effectError}:E.drawError?{state:"unavailable",message:E.drawError}:E.lutError?{state:"unavailable",message:`LUT error: ${E.lutError}`}:E.grading.lut&&E.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:E.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:E.lut?"Shader + LUT active":"Shader active"};let w=Xr(v);return jn(v,w)?!Oc(v)&&!Wc(v)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},_=async(A,v,E)=>{let w=async()=>{if(a||v.length===0)return null;let D=$n(A);return!D||(i??(i=yb()),!i)?null:Eb(i,D,v,E?.maxDimension,E?.useMediaTime)},L=o.then(w,w);return o=L.then(()=>{},()=>{}),L},R=A=>{let v=$n(A);if(!(v instanceof HTMLVideoElement))return null;if(!v.paused)return()=>{};let E=v.currentTime,w=v.loop,L=v.muted;return v.loop=!0,v.muted=!0,(v.ended||Number.isFinite(v.duration)&&E>=v.duration)&&(v.currentTime=0),v.play().catch(()=>{}),()=>{v.pause(),v.loop=w,v.muted=L,v.currentTime=E}},T=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let A of t)u(A);for(let A of n)Qr(A,!0);n.length=0,i&&(Qr(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>c()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[En]}));let F={refresh:c,redraw:m,redrawAnimated:p,waitForActiveLuts:f,setGrading:b,setCompare:s,setSourceVisibility:S,getStatus:x,renderPreviews:_,startPreviewPlayback:R,destroy:T},M=window;return M.__hf=M.__hf||{},M.__hf.colorGrading=F,c(),F}var ri=class{constructor(t){ge(this,"_baseTime",0);ge(this,"_playStartMs",null);ge(this,"_rate",1);ge(this,"_duration",1/0);ge(this,"_nowMs");ge(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};var Rb=100,kb=8,Fb=4096,pa=e=>e;function Mb(e,t,n){return!(!!e.curve||e.viaX!==void 0&&e.viaY!==void 0)&&t==="linear"&&!n}function Lb(e){let t=Math.ceil(e*Rb);return Math.min(Fb,Math.max(kb,t))}function Nb(e,t,n,r,i){let{scheduledAt:o,elapsed:a,rate:l}=r,s=i??pa,u=R=>o+(R-a)/l,c=e.points[t],m=e.points[t+1],f=u(m.t);if(f<=o)return null;let p=Math.max(o,u(c.t)),b=f-p;if(b<=0)return null;if(Mb(c,n,i))return{kind:"ramp",time:f,value:s(m.v)};let S=Lb(b),x=zs(e,Math.max(c.t,a),m.t,S,n),_=new Float32Array(S);for(let R=0;R<S;R+=1)_[R]=s(x[R]??0);return{kind:"curve",time:p,duration:b,values:_}}function Db(e,t,n,r){let i=[];for(let a=0;a+1<e.points.length;a+=1){let l=Nb(e,a,t,n,r);l&&i.push(l)}let o=i[0];return o?.kind==="curve"&&o.time<=n.scheduledAt||i.unshift({kind:"set",time:n.scheduledAt,value:(r??pa)(bn(e,n.elapsed,t))}),i}function Ib(e,t){for(let n of t)if(n.kind==="set")e.setValueAtTime(n.value,n.time);else if(n.kind==="ramp")e.linearRampToValueAtTime(n.value,n.time);else try{e.setValueCurveAtTime(n.values,n.time,n.duration)}catch{let r=n.values[n.values.length-1]??0;e.linearRampToValueAtTime(r,n.time+n.duration)}}function ha(e){for(let t of e)t.param.cancelScheduledValues(0)}function Qn(e,t){for(let n of e)typeof n.param.cancelAndHoldAtTime=="function"?n.param.cancelAndHoldAtTime(t):n.param.cancelScheduledValues(t)}function ga(e,t,n,r){if(t.points.length!==0)for(let i of e){if(ha([i]),Vs(t)){let o=(i.map??pa)(t.points[0].v);i.param.setValueAtTime(o,r.scheduledAt);continue}Ib(i.param,Db(t,n,r,i.map))}}function pd(e,t,n,r,i){let o=new Map(n.filter(l=>l.id).map(l=>[l.id,l.handle])),a=[];for(let l of e.lanes){let s=gn(l.target);if(!s)continue;let u=s.kind==="preset"?i?.[s.presetId]:s.kind==="fx"?o.get(s.nodeId)?.automation?.[s.param]:void 0;if(!u||u.length===0)continue;let c=Gi(l.target,t);c&&(ga(u,l,c.scale,r),a.push(...u))}return a}function hd(e){return e.lanes.find(t=>t.target===Ot)??null}var Pb=`
|
|
348
|
+
})();`}var ng=["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 Cc(e){let t=e.getAttribute("id")?.trim();for(let n of ng)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var rg=8e3,ig=/^(?![a-zA-Z][a-zA-Z\d+\-.]*:)(?!\/\/)(?!\/)(?!\.\.?\/).+/,og=/\burl\(\s*(["']?)([^)"']+)\1\s*\)/g,ag=["src","href"];function sg(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function Tc(e,t){if(!t)return e;let n=e.trim();if(sg(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function Rc(e,t){return!t||!e?e:e.replace(og,(n,r,i)=>{let o=Tc(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function lg(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of ag){let i=n.getAttribute(r);if(i==null)continue;let o=Tc(i,t);o!==i&&n.setAttribute(r,o)}}function ug(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=Rc(r,t);i!==r&&n.setAttribute("style",i)}}function cg(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=Rc(r,t);i!==r&&(n.textContent=i)}}function kc(e,t){if(t){lg(e,t),ug(e,t),cg(e,t);for(let n of Array.from(e.querySelectorAll("template")))kc(n.content,t)}}function dg(e,t){return`${e}__hf${t}`}var fg=e=>new Promise(t=>{let n=!1,r=Date.now(),i=null,o=a=>{n||(n=!0,i!=null&&window.clearTimeout(i),t({status:a,elapsedMs:Math.max(0,Date.now()-r)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),i=window.setTimeout(()=>o("timeout"),rg)});function Xo(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function _c(e){for(let t of Array.from(e.querySelectorAll("style, script")))t.remove()}function mg(e){let t=document.importNode(e,!0);Cc(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function pg(e,t){let n=e.trim();if(!n)return e;try{return ig.test(n)&&!n.startsWith("#")&&!n.startsWith("?")?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function wc(e,t){try{let n=new URL(e),r=new URL(t);return n.search="",n.hash="",r.search="",r.hash="",n.href===r.href}catch{return!1}}function $r(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function hg(e){let t=new Map;for(let n of e){let r=$r(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function Fc(e){let t=$r(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function gg(e){return!!e.querySelector('[data-hf-inner-root="true"]')}function bg(e){return e.hasAttribute("data-composition-src")?!0:Fc(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:gg(e):!1}function Qo(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:Fc(t))}function Mc(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(Qo().map(n=>$r(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function Nc(e,t=hg(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=$r(i),l=bg(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let c=s?(n.get(o)||0)+1:0;s&&n.set(o,c),u=s?dg(o,c):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function Jo(e){let t=$l({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=t.innerRoot instanceof HTMLElement?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,l=t.authoredRootId,s=a?`[data-composition-id="${CSS.escape(a)}"]`:void 0;for(let f of t.linkSources){let p=(f.getAttribute("href")||"").trim();if(!p)continue;let b=e.compositionUrl?new URL(p,e.compositionUrl).href:p;if(e.compositionUrl&&wc(b,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(b)}"]`))continue;let v=f.cloneNode(!0);v instanceof HTMLLinkElement&&(v.href=b,document.head.appendChild(v),e.injectedLinks.push(v))}(f=>{for(let p of f){let b=p.cloneNode(!0);b instanceof HTMLStyleElement&&(i&&(b.textContent=Ec(b.textContent||"",i,s,l,{scopeRootSelectors:!0})),document.head.appendChild(b),e.injectedStyles.push(b))}})(t.styleSources);let c=f=>{let p=f.getAttribute("type")?.trim()??"",b=f.getAttribute("src")?.trim()??"";if(b){let x=pg(b,e.compositionUrl);return e.compositionUrl&&wc(x,e.compositionUrl)?null:{kind:"external",src:x,type:p}}let v=f.textContent?.trim()??"";return v?{kind:"inline",content:v,type:p,scopeCompositionId:o}:null},m=t.scriptSources.map(c).filter(f=>f!==null);if(n){let f=n.getAttribute("data-width"),p=n.getAttribute("data-height"),b=e.parseDimensionPx(f),v=e.parseDimensionPx(p);f&&e.host.setAttribute("data-width",f),p&&e.host.setAttribute("data-height",p),b&&e.host instanceof HTMLElement&&(e.host.style.width=b),v&&e.host instanceof HTMLElement&&(e.host.style.height=v),n.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked","");let x=mg(n);!e.authoredCompositionId&&i&&x.setAttribute("data-composition-id",i),_c(x),e.host.appendChild(x)}else if(e.hasTemplate){let f=document.importNode(r,!0);_c(f),e.host.appendChild(f)}else e.host.innerHTML=e.fallbackBodyInnerHtml;a&&xg(e,r,a);for(let f of m){let p=document.createElement("script");if(f.type&&(p.type=f.type),p.async=!1,f.kind==="external"?p.src=f.src:f.type.toLowerCase()==="module"?p.textContent=f.content:f.scopeCompositionId?p.textContent=Ac(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,a||f.scopeCompositionId,l):p.textContent=`(function(){${f.content}})();`,document.body.appendChild(p),e.injectedScripts.push(p),f.kind==="external"){let b=await fg(p);b.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:b.status,elapsedMs:b.elapsedMs}})}}}async function Lc(e){let t=Qo();if(Mc(),t.length===0)return;let n=Nc(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);Xo(i),await Jo({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function Dc(e){let t=Qo();if(Mc(),t.length===0)return;let n=Nc(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}Xo(i);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await Jo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),b=new DOMParser().parseFromString(f,"text/html");kc(b,u);let v=(l?b.querySelector(`template#${CSS.escape(l)}-template`):null)??b.querySelector("template"),x=v?v.content:b.body;await Jo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:x,hasTemplate:!!v,fallbackBodyInnerHtml:b.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:b.head,declaredVariableDefaults:cn(b.documentElement),variableDeclarer:b.documentElement,onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),Xo(i)}}))}function xg(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?cn(t):{}),...ms(e.host)};Fi(e.variableDeclarer??(t instanceof Element?t:null),i,n),ds(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,Mi(e.host,{...cs(e.host,i,window),...mr()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function Zo(e){let n=e.vars.data?.captionState;return n==="dim"||n==="active"?n:void 0}function yg(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function vg(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!(r instanceof HTMLElement))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function Sg(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function ea(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=vg();for(let r of t){let i=null;if(r.wordId&&(i=yg(document.getElementById(r.wordId))),!i&&r.wordIndex!==void 0&&(i=n[r.wordIndex]??null),!i)continue;let o={},a={};if(r.x!==void 0&&(o.x=r.x),r.y!==void 0&&(o.y=r.y),r.scale!==void 0&&(o.scale=r.scale),r.rotation!==void 0&&(o.rotation=r.rotation),r.opacity!==void 0&&(a.opacity=r.opacity),r.fontSize!==void 0&&(a.fontSize=`${r.fontSize}px`),r.fontWeight!==void 0&&(a.fontWeight=r.fontWeight),r.fontFamily!==void 0&&(a.fontFamily=r.fontFamily),r.activeColor||r.dimColor){let s=e.getTweensOf(i).filter(m=>m.vars.color!==void 0).sort((m,f)=>m.startTime()-f.startTime()),u=s.find(m=>Zo(m)==="dim")??s.find(m=>Zo(m)===void 0),c=u?String(u.vars.color):"";for(let m of s)(Zo(m)??(String(m.vars.color)===c?"dim":"active"))==="dim"?r.dimColor&&(m.vars.color=r.dimColor):r.activeColor&&(m.vars.color=r.activeColor);r.dimColor&&e.set(i,{color:r.dimColor})}if(Object.keys(a).length>0&&e.set(i,a),Object.keys(o).length>0){let l=Sg(i);e.set(l,o)}}}).catch(()=>{})}var na="data-hf-edit-base-x",ra="data-hf-edit-base-y",Jt="data-hf-edit-original-translate",jr=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},Eg=e=>{let t=[],n=0,r="";for(let i of e.trim())i==="("&&(n+=1),i===")"&&(n=Math.max(0,n-1)),/\s/.test(i)&&n===0?(r&&t.push(r),r=""):r+=i;return r&&t.push(r),t},Ic=/^-?(?:\d+(?:\.\d+)?|\.\d+)px$/,ta=(e,t)=>Ic.test(e)&&Ic.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,Ag=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=Eg(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${ta(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${ta(r,t)} ${ta(i,n)}${a}`},Cg=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},_g=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,r=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return r==="none"?"":r}catch{return""}},ia=new WeakMap;function wg(e,t){let n=ia.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Ne("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=jr(e.getAttribute("data-x"))-jr(e.getAttribute(na)),i=jr(e.getAttribute("data-y"))-jr(e.getAttribute(ra));e.hasAttribute(Jt)||e.setAttribute(Jt,_g(e)),n===void 0&&Cg(e);let o=e.getAttribute(Jt)??"",a=Ag(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),ia.set(e,e.style.getPropertyValue("translate"))}function Kr(e,t){let n=e.defaultView?.HTMLElement,r=e.defaultView?.SVGElement,i=s=>n||r?n!==void 0&&s instanceof n||r!==void 0&&s instanceof r:typeof s.style?.setProperty=="function",o=e.querySelectorAll(`[${Jt}]:not([${na}]):not([${ra}])`);for(let s=0;s<o.length;s++){let u=o[s];if(u===void 0||!i(u))continue;let c=u.getAttribute(Jt)??"";c===""?u.style.removeProperty("translate"):u.style.setProperty("translate",c),u.removeAttribute(Jt),ia.delete(u)}let a=e.querySelectorAll(`[${na}], [${ra}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(wg(u,t),l+=1)}return l}var Pc="__hfPositionEditsSeekReapplyWrapped",Oc=new WeakSet,Hc=new WeakMap,Gc=new WeakMap;function Bc(e){let t=e,n=()=>{try{Kr(t.document)}catch{}},r=m=>typeof m=="function"&&(Oc.has(m)||!!m[Pc]),i=m=>{Oc.add(m);try{Object.defineProperty(m,Pc,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...p){let b=m.apply(this,p);return n(),b};return i(f),f},a=(m,f)=>{let p=Hc.get(m);if(p?.has(f))return!0;let b=Object.getOwnPropertyDescriptor(m,f);if(b?.configurable===!1){let w=m[f];return typeof w=="function"&&(m[f]=o(w),n()),!1}let v=m[f],x=b?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>v,set:w=>{v=o(w),x?.call(m,w)}}),v=o(v),p??(p=new Set),p.add(f),Hc.set(m,p),n(),!0},l=(m,f)=>{let p=Gc.get(t),b=Object.getOwnPropertyDescriptor(t,m);if(!p?.has(m)){if(b?.configurable===!1){let w=t[m];return w?a(w,f):!1}let x=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>x,set:w=>{x=w,x&&a(x,f)}}),p??(p=new Set),p.add(m),Gc.set(t,p)}let v=t[m];return v?a(v,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,c=t.setInterval(()=>{if(s()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Yr(e){let t=window,r=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",i=r?t.__hfVariablesByComp?.[r]:void 0;if(i)return i;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Xr(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Uc=new Set(["img","video","audio","source"]);function Tg(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function Rg(e){let t=e.replace(/[\u0000-\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let r=n[1]?.toLowerCase();return r?r==="https"||r==="http"||r==="blob"?!0:r==="data"?/^data:image\//i.test(t):!1:!1}function kg(e){return e.replace(/[;{}<>\r\n]/g,"")}function Fg(e){if(Xr(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function oa(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=Yr(e);return t.set(n,i),i}function Mg(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let r of Array.from(e.childNodes))r.nodeType===Node.TEXT_NODE&&(r.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function Ng(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Lg(e,t){let n=new Set,r=Ng(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=oa(i,t);for(let[a,l]of Object.entries(o)){let s=Fg(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,kg(s))}}}function aa(e){let t=new Map;Lg(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!Uc.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Uc).join("/")}.`);continue}let i=Tg(oa(n,t)[r]);if(i!==null){if(!Rg(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=oa(n,t)[r];Xr(i)&&Mg(n,String(i))}}var it=new Map,Dg="data-hf-color-grading-canvas",Ig="__hf_color_grading_canvas__";function Qc(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{r instanceof HTMLElement&&(r.hasAttribute(Tr)||r.setAttribute(Tr,r.style.opacity))},n=r=>{if(r instanceof Element){r.matches("video, img")&&t(r);for(let i of r.querySelectorAll("video, img"))t(i)}};n(e),new MutationObserver(r=>{for(let i of r)for(let o of i.addedNodes)n(o)}).observe(e,{childList:!0,subtree:!0})}var Pg=16,Og=4,Zt={enabled:!1,position:.5,softness:0,lineWidth:2},sa=["#000000","#ffffff"],Hg=["#1a1a1a","#f5f5dc"],Qn=3,Gg=Qn-1,Bg=5,la=`${Ye}.0`,Wc=`${Ye-1}.0`,Ug=`${Qn}.0`,Wg=`${(Gg+.5)/Qn}`;function Jr(e){let t=e.getAttribute(An);return t==null?null:Nl(t,Yr(e))}var Vg=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`
|
|
349
|
+
`),zg=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_bloomSource;","uniform sampler2D u_kuwaharaSource;","uniform sampler2D u_lut;","uniform sampler2D u_advanced;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_bloomReady;","uniform float u_kuwaharaReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform vec3 u_shadowWheel;","uniform vec3 u_midtoneWheel;","uniform vec3 u_highlightWheel;","uniform float u_rgbCurvesEnabled;","uniform float u_hueCurvesEnabled;","uniform float u_secondaryCount;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_effectTime;","uniform float u_blur;","uniform float u_bloom;","uniform float u_kuwahara;","uniform float u_pixelate;","uniform float u_chromaBleed;","uniform float u_tapeDamage;","uniform float u_tapeTracking;","uniform float u_tapeNoise;","uniform float u_tapeSpeed;","uniform float u_filmArtifacts;","uniform float u_halftone;","uniform float u_halftoneSize;","uniform float u_twoInkPrint;","uniform float u_twoInkPrintSize;","uniform float u_ascii;","uniform float u_asciiSize;","uniform float u_asciiInvert;","uniform float u_asciiStyle;","uniform float u_asciiColor;","uniform float u_asciiRotation;","uniform float u_dither;","uniform float u_ditherSize;","uniform float u_monoScreen;","uniform float u_monoScreenSize;","uniform float u_monoScreenAngle;","uniform float u_monoScreenSpread;","uniform float u_monoScreenShape;","uniform float u_monoScreenInvert;","uniform float u_scanlines;","uniform float u_scanlineCount;","uniform float u_scanlineSoftness;","uniform float u_chromaticAberration;","uniform float u_chromaticAngle;","uniform float u_crtCurvature;","uniform float u_digitalGlitch;","uniform float u_digitalGlitchColorSplit;","uniform float u_digitalGlitchLineTear;","uniform float u_digitalGlitchPixelate;","uniform float u_digitalGlitchBlockAmount;","uniform float u_digitalGlitchBlockDisplacement;","uniform float u_digitalGlitchBlockOpacity;","uniform float u_digitalGlitchSpeed;","uniform float u_engraving;","uniform float u_engravingSpacing;","uniform float u_engravingMinThickness;","uniform float u_engravingMaxThickness;","uniform float u_engravingAngle;","uniform float u_engravingContrast;","uniform float u_engravingSharpness;","uniform float u_engravingWave;","uniform float u_engravingWaveFrequency;","uniform float u_crosshatch;","uniform float u_crosshatchSpacing;","uniform float u_crosshatchThickness;","uniform float u_crosshatchAngle;","uniform float u_crosshatchContrast;","uniform float u_crosshatchEdges;","uniform float u_crosshatchLineWeight;","uniform float u_crosshatchWave;","uniform float u_crosshatchWaveFrequency;","uniform float u_paletteSize;","uniform vec3 u_palette0;","uniform vec3 u_palette1;","uniform vec3 u_palette2;","uniform vec3 u_palette3;","uniform vec3 u_palette4;","uniform vec3 u_palette5;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","const float PI = 3.14159265359;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float bt601Luma(vec3 c){ return dot(c, vec3(0.299, 0.587, 0.114)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float digitalHash(vec2 p){"," vec2 q = mod(floor(p), 251.0);"," float x = mod(q.x * q.x * 157.0 + q.x * 89.0, 251.0);"," float y = mod(q.y * q.y * 113.0 + q.y * 47.0, 251.0);"," float xy = mod(q.x * q.y * 71.0, 251.0);"," return mod(x + y + xy + 19.0, 251.0) / 251.0;","}","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec2 applyCrtWarp(vec2 uv){"," vec2 centered = uv * 2.0 - 1.0;"," float curvature = clamp(u_crtCurvature, 0.0, 1.0) * 0.5;"," float dist = dot(centered, centered);"," centered *= 1.0 + curvature * dist;"," return centered * 0.5 + 0.5;","}","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec3 sampleBloom(vec2 uv){ return texture2D(u_bloomSource, clampUv(uv)).rgb; }","vec3 sampleKuwahara(vec2 uv){"," vec2 displayUv = uv * u_uvScale + u_uvOffset;"," return texture2D(u_kuwaharaSource, clampUv(displayUv)).rgb;","}","vec4 samplePrepared(vec2 uv){"," vec4 base = sampleSource(uv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) base = mix(base, sampleBlur(uv), blur);"," float kuwahara = clamp(u_kuwahara, 0.0, 1.0);"," if (kuwahara > 0.0 && u_kuwaharaReady > 0.5) {"," base.rgb = mix(base.rgb, sampleKuwahara(uv), kuwahara);"," }"," return base;","}","float tapeTrackingBand(float y, float center, float width){"," float offset = fract(y - center + 0.5) - 0.5;"," float triangle = max(0.0, 1.0 - abs(offset) / max(width, 0.0001));"," return triangle * triangle * (3.0 - 2.0 * triangle);","}","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," float tapeDamage = clamp(u_tapeDamage, 0.0, 1.0);"," float tapeTracking = clamp(u_tapeTracking, 0.0, 1.0);"," float tapeNoise = clamp(u_tapeNoise, 0.0, 1.0);"," float tapeTime = u_effectTime * mix(0.0, 2.0, clamp(u_tapeSpeed, 0.0, 1.0));"," float tapeFrame = floor(tapeTime * 60.0);"," float tapeLine = floor(sampleUv.y * u_resolution.y * 0.5);"," float lineJitter = (digitalHash(vec2(tapeLine, floor(tapeFrame * 0.5))) - 0.5) * 1.8 * tapeNoise;"," float slowWobble = sin(sampleUv.y * 32.0 + tapeTime * 2.6) * 0.55;"," float headSwitch = smoothstep(0.88, 1.0, sampleUv.y) * sin(sampleUv.y * 240.0 + tapeTime * 8.0) * 4.0;"," float trackingShift = tapeTrackingBand(sampleUv.y, fract(0.08 + tapeTime * 0.083), 0.035);"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.28 + tapeTime * 0.061), 0.03) * 0.8;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.5 + tapeTime * 0.047), 0.04) * 0.75;"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.72 + tapeTime * 0.037), 0.028) * 0.65;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.89 + tapeTime * 0.029), 0.032) * 0.55;"," trackingShift *= tapeTracking * 48.0;"," float tapeShift = (lineJitter + slowWobble + headSwitch + trackingShift) * tapeDamage;"," float texelX = 1.0 / max(u_resolution.x * max(u_uvScale.x, 0.00001), 1.0);"," vec2 tapeUv = sampleUv + vec2(tapeShift * texelX, 0.0);"," vec4 base = samplePrepared(tapeUv);"," if (tapeDamage > 0.0) {"," vec2 lumaStep = vec2(texelX * mix(1.0, 3.5, tapeDamage), 0.0);"," vec3 leftTape = samplePrepared(tapeUv - lumaStep).rgb;"," vec3 rightTape = samplePrepared(tapeUv + lumaStep).rgb;"," float tapeLuma = (bt601Luma(leftTape) + bt601Luma(base.rgb) * 2.0 + bt601Luma(rightTape)) * 0.25;"," vec3 centerChroma = base.rgb - vec3(bt601Luma(base.rgb));"," vec3 tapeColor = vec3(tapeLuma) + centerChroma;"," vec3 ghost = samplePrepared(tapeUv - vec2(texelX * 12.0, 0.0)).rgb;"," tapeColor = mix(tapeColor, ghost, 0.045 * tapeDamage);"," float fineNoise = digitalHash(floor(gl_FragCoord.xy) + vec2(tapeFrame * 17.0, tapeFrame * 3.0)) - 0.5;"," float band = digitalHash(vec2(floor(sampleUv.y * 92.0), floor(tapeFrame / 3.0)));"," float dropout = smoothstep(0.985, 1.0, band) * (digitalHash(vec2(floor(sampleUv.x * 18.0), tapeLine)) - 0.5);"," tapeColor += (fineNoise * 0.035 + dropout * 0.12) * tapeDamage * tapeNoise;"," base.rgb = mix(base.rgb, clamp(tapeColor, 0.0, 1.0), tapeDamage);"," }"," float chromaBleed = clamp(u_chromaBleed, 0.0, 1.0);"," if (chromaBleed > 0.0) {"," float radius = mix(1.0, 4.0, chromaBleed);"," vec2 stepUv = vec2(texelX * radius, 0.0);"," vec3 c0 = base.rgb;"," vec3 c1 = samplePrepared(tapeUv - stepUv).rgb;"," vec3 c2 = samplePrepared(tapeUv + stepUv).rgb;"," vec3 c3 = samplePrepared(tapeUv - stepUv * 2.0).rgb;"," vec3 c4 = samplePrepared(tapeUv + stepUv * 2.0).rgb;"," float centerLuma = lumaOf(base.rgb);"," vec3 blurredChroma = ((c0 - vec3(lumaOf(c0))) * 6.0 + (c1 - vec3(lumaOf(c1))) * 4.0 + (c2 - vec3(lumaOf(c2))) * 4.0 + (c3 - vec3(lumaOf(c3))) + (c4 - vec3(lumaOf(c4)))) / 16.0;"," base.rgb = mix(base.rgb, clamp(vec3(centerLuma) + blurredChroma, 0.0, 1.0), chromaBleed);"," }"," return base;","}","vec4 sampleChromaticMedia(vec2 uv, vec4 center){"," float amount = clamp(u_chromaticAberration, 0.0, 1.0);"," if (amount <= 0.0) return center;"," float angle = clamp(u_chromaticAngle, 0.0, 1.0) * PI * 2.0;"," vec2 offset = vec2(cos(angle), sin(angle)) * amount * 0.02;"," vec4 positive = sampleMedia(uv + offset);"," vec4 negative = sampleMedia(uv - offset);"," vec3 split = vec3(positive.r, center.g, negative.b);"," return vec4(split, center.a);","}","vec3 sampleDigitalSplit(vec2 uv, vec2 block, float time, float amount){"," float split = amount * 0.06;"," float direction = digitalHash(block * 0.4 + vec2(floor(time * 3.7), floor(time * 5.3)));"," vec2 axis = direction > 0.66 ? vec2(1.0, 0.0) : direction > 0.33 ? vec2(0.0, 1.0) : vec2(0.7071);"," vec4 center = sampleMedia(uv);"," return vec3(sampleMedia(uv + axis * split).r, center.g, sampleMedia(uv - axis * split).b);","}","vec3 applyDigitalGlitch(vec2 uv, vec3 source){"," float amount = clamp(u_digitalGlitch, 0.0, 1.0);"," if (amount <= 0.0) return source;"," float colorSplit = clamp(u_digitalGlitchColorSplit, 0.0, 1.0) * 2.0;"," float lineTear = clamp(u_digitalGlitchLineTear, 0.0, 1.0) * 2.0;"," float pixelate = clamp(u_digitalGlitchPixelate, 0.0, 1.0) * 2.0;"," float blockAmount = clamp(u_digitalGlitchBlockAmount, 0.0, 1.0);"," float blockDisplacement = clamp(u_digitalGlitchBlockDisplacement, 0.0, 1.0) * 2.0;"," float blockOpacity = clamp(u_digitalGlitchBlockOpacity, 0.0, 1.0);"," float speed = clamp(u_digitalGlitchSpeed, 0.0, 1.0) * 2.0;"," float time = u_effectTime * speed;"," float blockCount = 8.0 + blockAmount * 60.0;"," vec2 block = floor(uv * blockCount);"," float randomA = digitalHash(block + vec2(floor(time * 7.3), floor(time * 11.1)));"," float randomB = digitalHash(block * 0.7 + vec2(17.3 + floor(time * 6.6), 29.1));"," float randomC = digitalHash(block + vec2(floor(time * 5.7) * 13.0, 41.0));"," float randomD = digitalHash(block * 1.3 + vec2(7.0, floor(time * 3.2) * 7.0));"," vec2 displaced = uv;"," if (blockDisplacement > 0.0 && blockOpacity > 0.0) {"," float threshold = 1.0 - blockDisplacement * 0.4;"," if (randomA > threshold) {"," displaced += vec2((randomB - 0.5) * blockDisplacement * 0.5, (randomC - 0.5) * blockDisplacement * 0.3);"," }"," if (randomD > 0.92 && blockDisplacement > 0.5) {"," displaced.x += (digitalHash(vec2(block.y, floor(time * 8.0))) - 0.5) * blockDisplacement;"," }"," displaced = mix(uv, displaced, blockOpacity);"," }"," if (lineTear > 0.0) {"," float row = floor(uv.y * (50.0 + lineTear * 150.0));"," float tearA = digitalHash(vec2(row * 7.3 + floor(time * 12.0 + row * 0.1) * 3.7, 13.0));"," float tearB = digitalHash(vec2(row * 13.7 + floor(time * 8.3) * 5.1, 31.0));"," if (tearA > 1.0 - lineTear * 0.5) displaced.x += (tearB - 0.5) * lineTear * 0.4;"," if (tearB > 0.95 && lineTear > 0.3) displaced.x += (tearA - 0.5) * lineTear * 0.8;"," }"," if (pixelate > 0.0) {"," float pixelRandom = digitalHash(block * 0.5 + vec2(floor(time * 4.9), 53.0));"," if (pixelRandom > 1.0 - pixelate * 0.35) {"," float cells = 4.0 + (1.0 - pixelRandom) * pixelate * 40.0;"," displaced = (floor(clampUv(displaced) * cells) + 0.5) / cells;"," }"," }"," displaced = clampUv(displaced);"," vec3 glitch = sampleDigitalSplit(displaced, block, time, colorSplit);"," if (blockDisplacement > 0.2 && blockOpacity > 0.0) {"," float corruption = digitalHash(block * 1.1 + vec2(floor(time * 11.9), 67.0));"," vec3 changed = glitch;"," if (corruption > 0.9) changed = 1.0 - glitch;"," else if (corruption > 0.85) changed = corruption > 0.875 ? glitch.gbr : glitch.brg;"," else if (corruption > 0.8) {"," float channel = digitalHash(block + vec2(73.0));"," if (channel > 0.66) changed.r = min(changed.r * 2.0, 1.0);"," else if (channel > 0.33) changed.g = min(changed.g * 2.0, 1.0);"," else changed.b = min(changed.b * 2.0, 1.0);"," }"," glitch = mix(glitch, changed, blockOpacity);"," }"," if (blockOpacity > 0.0) {"," float flash = digitalHash(block * 0.8 + vec2(floor(time * 14.7), 83.0));"," vec3 flashed = flash > 0.97 ? min(glitch * 1.8, vec3(1.0)) : flash > 0.94 ? glitch * 0.3 : glitch;"," glitch = mix(glitch, flashed, blockOpacity * 0.6);"," }"," if (lineTear > 0.1) {"," float interference = pow(sin(uv.y * (300.0 + randomA * 200.0) + time * 30.0) * 0.5 + 0.5, 6.0);"," glitch -= interference * 0.08 * lineTear;"," }"," return mix(source, clamp(glitch, 0.0, 1.0), amount);","}","float dustMask(vec2 uv, float frameBucket){"," vec2 grid = vec2(128.0, 72.0);"," vec2 cell = floor(uv * grid);"," vec2 local = fract(uv * grid) - 0.5;"," float chance = grainHash(cell + frameBucket * 19.13);"," float radius = mix(0.05, 0.34, grainHash(cell + 7.1));"," return step(0.9975, chance) * (1.0 - smoothstep(radius, radius + 0.08, length(local)));","}","float screenDot(vec2 p, float ink, float angle, float sharpness){"," float c = cos(angle);"," float s = sin(angle);"," vec2 q = mat2(c, -s, s, c) * p;"," vec2 d = fract(q) - 0.5;"," float radius = sqrt(clamp(ink, 0.0, 1.0)) * 0.68;"," float edge = mix(0.16, 0.025, sharpness);"," return 1.0 - smoothstep(radius - edge, radius + edge, length(d));","}","vec3 paletteColor(float index);","float monoScreenMask(vec2 local, float radius, float shape, float softness){"," vec2 centered = local - 0.5;"," float distanceToInk = length(centered);"," if (shape > 0.5 && shape < 1.5) distanceToInk = max(abs(centered.x), abs(centered.y));"," if (shape > 1.5 && shape < 2.5) distanceToInk = abs(centered.x) + abs(centered.y);"," if (shape > 2.5 && shape < 3.5) distanceToInk = max(abs(centered.x) * 0.86 + centered.y * 0.5, -centered.y);"," if (shape > 3.5) distanceToInk = abs(centered.y);"," float shapeRadius = shape > 3.5 ? radius * 0.45 : radius;"," return 1.0 - smoothstep(shapeRadius, shapeRadius + softness, distanceToInk);","}","vec3 applyMonoScreen(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float invert = step(0.5, u_monoScreenInvert);"," float coverage = mix(1.0 - lumaOf(source), lumaOf(source), invert);"," coverage = pow(clamp(coverage, 0.0, 1.0), mix(1.7, 0.58, clamp(u_monoScreenSpread, 0.0, 1.0)));"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellPx = mix(4.0, 18.0, clamp(u_monoScreenSize, 0.0, 1.0)) * scale;"," float angle = clamp(u_monoScreenAngle, 0.0, 1.0) * PI * 0.5;"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 point = mat2(cosine, -sine, sine, cosine) * gl_FragCoord.xy / max(cellPx, 1.0);"," float radius = sqrt(coverage) * 0.68;"," float inkMask = monoScreenMask(fract(point), radius, floor(u_monoScreenShape + 0.5), 0.035);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","vec3 applyEngraving(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(3.0, 20.0, clamp(u_engravingSpacing, 0.0, 1.0));"," float minThickness = mix(0.0, 2.0, clamp(u_engravingMinThickness, 0.0, 1.0));"," float maxThickness = mix(1.0, 8.0, clamp(u_engravingMaxThickness, 0.0, 1.0));"," float angle = clamp(u_engravingAngle, 0.0, 1.0) * PI;"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(gl_FragCoord.xy, alongAxis);"," float across = dot(gl_FragCoord.xy, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_engravingWaveFrequency, 0.0, 1.0));"," float wave = sin(along * frequency * 0.01);"," across += wave * clamp(u_engravingWave, 0.0, 1.0) * 3.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float lineDistance = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float contrast = mix(0.5, 2.0, clamp(u_engravingContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," float variation = mix(0.88, 1.12, digitalHash(vec2(lineIndex, 73.0)));"," float thickness = mix(minThickness, maxThickness, darkness) * variation;"," float edge = mix(1.0, 0.3, clamp(u_engravingSharpness, 0.0, 1.0));"," float inkMask = 1.0 - smoothstep(max(thickness * 0.5 - edge, 0.0), thickness * 0.5 + edge, lineDistance);"," inkMask *= smoothstep(0.015, 0.12, darkness);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","float crosshatchLine(vec2 pixel, float angle, float spacing, float thickness, float seed){"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(pixel, alongAxis);"," float across = dot(pixel, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_crosshatchWaveFrequency, 0.0, 1.0));"," across += sin(along * frequency * 0.02 + u_effectTime + seed) * clamp(u_crosshatchWave, 0.0, 1.0) * 5.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float distanceToLine = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float variation = mix(1.0, 0.5 + digitalHash(vec2(lineIndex, seed)), clamp(u_crosshatchLineWeight, 0.0, 1.0));"," float halfWidth = thickness * variation * 0.5;"," return 1.0 - smoothstep(max(halfWidth - 0.5, 0.0), halfWidth + 0.5, distanceToLine);","}","float crosshatchEdge(vec2 uv){"," vec2 texel = 1.0 / max(u_resolution * u_uvScale, vec2(1.0));"," float tl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, -1.0)).rgb);"," float tc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, -1.0)).rgb);"," float tr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, -1.0)).rgb);"," float ml = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 0.0)).rgb);"," float mr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 0.0)).rgb);"," float bl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 1.0)).rgb);"," float bc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, 1.0)).rgb);"," float br = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 1.0)).rgb);"," float gx = -tl - 2.0 * ml - bl + tr + 2.0 * mr + br;"," float gy = -tl - 2.0 * tc - tr + bl + 2.0 * bc + br;"," return length(vec2(gx, gy));","}","vec3 applyCrosshatch(vec2 uv, vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(5.0, 30.0, clamp(u_crosshatchSpacing, 0.0, 1.0));"," float thickness = mix(1.0, 5.0, clamp(u_crosshatchThickness, 0.0, 1.0));"," float baseAngle = -clamp(u_crosshatchAngle, 0.0, 1.0) * PI;"," float contrast = mix(0.5, 2.0, clamp(u_crosshatchContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," vec3 result = paper;"," float layer = crosshatchLine(gl_FragCoord.xy, baseAngle, spacing, thickness, 1.0) * smoothstep(0.2, 0.4, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.5, spacing * 0.95, thickness * 0.9, 2.0) * smoothstep(0.4, 0.6, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.25, spacing * 0.9, thickness * 0.8, 3.0) * smoothstep(0.6, 0.8, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle - PI * 0.25, spacing * 0.85, thickness * 0.7, 4.0) * smoothstep(0.75, 0.9, darkness);"," result = mix(result, ink, layer);"," result = mix(result, ink, smoothstep(0.9, 1.0, darkness) * 0.8);"," float edgeStrength = mix(0.0, 2.0, clamp(u_crosshatchEdges, 0.0, 1.0));"," float edge = smoothstep(0.1, 0.3, crosshatchEdge(uv)) * edgeStrength;"," result = mix(result, ink, clamp(edge, 0.0, 1.0));"," return mix(source, result, amount);","}","vec3 applyHalftone(vec3 source, float amount){"," if (amount <= 0.0) return source;"," vec3 cmy = 1.0 - source;"," float k = min(cmy.r, min(cmy.g, cmy.b));"," vec3 inks = max(cmy - vec3(k * 0.72), 0.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(5.0, 14.0, clamp(u_halftoneSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float cyan = screenDot(p, inks.r, 0.261799, 0.78);"," float magenta = screenDot(p, inks.g, 1.308997, 0.78);"," float yellow = screenDot(p, inks.b, 0.0, 0.78);"," float blackInk = screenDot(p, k, 0.785398, 0.82);"," vec3 printColor = vec3(0.975, 0.962, 0.925);"," printColor *= mix(vec3(1.0), vec3(0.05, 0.79, 0.86), cyan);"," printColor *= mix(vec3(1.0), vec3(0.91, 0.08, 0.48), magenta);"," printColor *= mix(vec3(1.0), vec3(0.98, 0.83, 0.08), yellow);"," printColor *= mix(vec3(1.0), vec3(0.035), blackInk * 0.92);"," return mix(source, printColor, amount);","}","vec3 applyTwoInkPrint(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float sourceLuma = lumaOf(source);"," float darkness = 1.0 - sourceLuma;"," float warmBias = clamp(source.r - (source.g + source.b) * 0.5, -0.35, 0.35);"," float coolBias = clamp((source.g + source.b) * 0.5 - source.r, -0.35, 0.35);"," float redTone = smoothstep(0.08, 0.72, darkness) * (1.0 - 0.68 * smoothstep(0.66, 1.0, darkness));"," float tealTone = smoothstep(0.30, 0.92, darkness);"," float redCoverage = clamp(redTone + warmBias * 1.35 - coolBias * 0.35, 0.0, 1.0);"," float tealCoverage = clamp(tealTone + coolBias * 1.1 - warmBias * 0.45, 0.0, 1.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(4.5, 12.0, clamp(u_twoInkPrintSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float redDot = screenDot(p, redCoverage, 0.261799, 0.84);"," float tealDot = screenDot(p + vec2(0.12, -0.08), tealCoverage, 1.308997, 0.84);"," float paperNoise = grainHash(floor(gl_FragCoord.xy * 0.5)) - 0.5;"," vec3 paper = vec3(0.955, 0.910, 0.795) + paperNoise * 0.018;"," vec3 vermilion = vec3(0.88, 0.13, 0.075);"," vec3 teal = vec3(0.035, 0.285, 0.355);"," vec3 overprint = vec3(0.045, 0.055, 0.052);"," vec3 printColor = paper * (1.0 - redDot) * (1.0 - tealDot);"," printColor += vermilion * redDot * (1.0 - tealDot);"," printColor += teal * (1.0 - redDot) * tealDot;"," printColor += overprint * redDot * tealDot;"," return mix(source, clamp(printColor, 0.0, 1.0), amount);","}","vec3 paletteColor(float index){"," if (index < 0.5) return u_palette0;"," if (index < 1.5) return u_palette1;"," if (index < 2.5) return u_palette2;"," if (index < 3.5) return u_palette3;"," if (index < 4.5) return u_palette4;"," return u_palette5;","}","float bayer4(vec2 point){"," vec2 cell = mod(floor(point), 4.0);"," if (cell.y < 0.5) {"," if (cell.x < 0.5) return 0.5 / 16.0;"," if (cell.x < 1.5) return 8.5 / 16.0;"," if (cell.x < 2.5) return 2.5 / 16.0;"," return 10.5 / 16.0;"," }"," if (cell.y < 1.5) {"," if (cell.x < 0.5) return 12.5 / 16.0;"," if (cell.x < 1.5) return 4.5 / 16.0;"," if (cell.x < 2.5) return 14.5 / 16.0;"," return 6.5 / 16.0;"," }"," if (cell.y < 2.5) {"," if (cell.x < 0.5) return 3.5 / 16.0;"," if (cell.x < 1.5) return 11.5 / 16.0;"," if (cell.x < 2.5) return 1.5 / 16.0;"," return 9.5 / 16.0;"," }"," if (cell.x < 0.5) return 15.5 / 16.0;"," if (cell.x < 1.5) return 7.5 / 16.0;"," if (cell.x < 2.5) return 13.5 / 16.0;"," return 5.5 / 16.0;","}","float standardAsciiSample(float brightness, vec2 grid){"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.3) return grid.x == 2.0 && (grid.y == 2.0 || grid.y == 4.0) ? 1.0 : 0.0;"," if (brightness < 0.4) return (grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) {"," bool cross = (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0);"," bool diagonals = (grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0);"," return cross || diagonals ? 1.0 : 0.0;"," }"," if (brightness < 0.6) {"," bool ring = ((grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y == 3.0);"," return ring ? 1.0 : 0.0;"," }"," bool outline = ((grid.y == 1.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 0.0 || grid.x == 4.0) && grid.y >= 2.0 && grid.y <= 4.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y >= 1.0 && grid.y <= 5.0);"," if (brightness < 0.7) return outline ? 1.0 : 0.0;"," if (brightness < 0.8) {"," bool slash = abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.x >= 1.0 && grid.x <= 3.0;"," return outline || slash ? 1.0 : 0.0;"," }"," if (brightness < 0.9) {"," bool loops = ((grid.y == 1.0 || grid.y == 3.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0));"," return loops ? 1.0 : 0.0;"," }"," return 1.0;","}","float asciiStyleSample(float style, float brightness, vec2 uv){"," vec2 grid = floor(uv * vec2(5.0, 7.0));"," if (style < 0.5) return standardAsciiSample(brightness, grid);"," if (style < 1.5) {"," float checker = mod(grid.x + grid.y, 2.0);"," float ruled = mod(grid.x, 2.0) == 0.0 || mod(grid.y, 2.0) == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return checker == 0.0 ? 0.5 : 0.0;"," if (brightness < 0.375) return ruled * 0.6;"," if (brightness < 0.5) return checker == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return ruled > 0.5 ? 1.0 : 0.3;"," if (brightness < 0.75) return checker == 0.0 ? 1.0 : 0.7;"," if (brightness < 0.875) return ruled > 0.5 ? 1.0 : 0.85;"," return 1.0;"," }"," if (style < 2.5) {"," if (brightness < 0.14) return 0.0;"," if (brightness < 0.28) return grid.x == 2.0 && grid.y == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.42) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.56) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.7) return (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0) ? 1.0 : 0.0;"," if (brightness < 0.84) return abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.y >= 2.0 && grid.y <= 4.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 3.5) return grid.y >= 6.0 - brightness * 7.0 ? 1.0 : 0.0;"," if (style < 4.5) {"," vec2 dots = floor(uv * vec2(2.0, 4.0));"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return dots.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return dots.y >= 2.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return dots.y >= 1.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return dots.y >= 1.0 || dots.x == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return 1.0;"," if (brightness < 0.875) return mod(grid.x + grid.y, 2.0) < 1.5 ? 1.0 : 0.7;"," return 1.0;"," }"," if (style < 5.5) {"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return grid.x == 2.0 && grid.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return grid.x + grid.y == 5.0 || grid.x + grid.y == 6.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return grid.x == 2.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return abs(grid.x - grid.y / 1.4) < 0.7 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.875) return grid.x == 2.0 || grid.y == 3.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 6.5) {"," bool top = grid.y == 0.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool topLeft = grid.x == 1.0 && grid.y <= 3.0;"," bool topRight = grid.x == 3.0 && grid.y <= 3.0;"," bool middle = grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool bottomLeft = grid.x == 1.0 && grid.y >= 3.0;"," bool bottomRight = grid.x == 3.0 && grid.y >= 3.0;"," bool bottom = grid.y == 6.0 && grid.x >= 1.0 && grid.x <= 3.0;"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.3) return top || topRight || middle || bottomLeft || bottom ? 1.0 : 0.0;"," if (brightness < 0.4) return top || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.5) return topLeft || middle || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.6) return top || topLeft || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.7) return top || topLeft || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.8) return top || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.9) return top || topLeft || topRight || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," return top || topLeft || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," }"," float slash = grid.x - grid.y;"," float backslash = grid.x + grid.y;"," if (brightness < 0.16) return 0.0;"," if (brightness < 0.33) return mod(slash, 3.0) < 0.5 ? 1.0 : 0.0;"," if (brightness < 0.5) return mod(slash, 2.0) < 0.5 ? 1.0 : 0.0;"," bool diagonalA = mod(slash, 2.0) < 0.5;"," bool diagonalB = mod(backslash, 2.0) < 0.5;"," if (brightness < 0.66) return diagonalA || diagonalB ? 1.0 : 0.0;"," if (brightness < 0.83) return mod(slash, 1.5) < 0.5 || mod(backslash, 1.5) < 0.5 ? 1.0 : 0.2;"," return mod(slash, 1.0) < 0.6 || mod(backslash, 1.0) < 0.6 ? 1.0 : 0.5;","}","vec3 rgbToHsv(vec3 color){"," float maximum = max(max(color.r, color.g), color.b);"," float minimum = min(min(color.r, color.g), color.b);"," float delta = maximum - minimum;"," float hue = 0.0;"," if (delta > 0.00001) {"," if (maximum == color.r) hue = mod((color.g - color.b) / delta, 6.0);"," else if (maximum == color.g) hue = (color.b - color.r) / delta + 2.0;"," else hue = (color.r - color.g) / delta + 4.0;"," hue = fract(hue / 6.0);"," }"," return vec3(hue, maximum > 0.00001 ? delta / maximum : 0.0, maximum);","}","vec3 hsvToRgb(vec3 color){"," vec3 bands = abs(fract(color.xxx + vec3(0.0, 0.6666667, 0.3333333)) * 6.0 - 3.0);"," return color.z * mix(vec3(1.0), clamp(bands - 1.0, 0.0, 1.0), color.y);","}","vec4 sampleAdvancedCurve(float coordinate, float row){",` float position = clamp(coordinate, 0.0, 1.0) * ${Wc};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Wc});`,` float y = (row + 0.5) / ${Ug};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${la}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${la}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${la}, ${Wg}));`,"}","vec3 wheelDirection(float hue){"," vec3 direction = hsvToRgb(vec3(fract(hue), 1.0, 1.0));"," direction -= vec3(lumaOf(direction));"," return direction / max(max(max(abs(direction.r), abs(direction.g)), abs(direction.b)), 0.0001);","}","vec3 applyTonalWheels(vec3 color){"," float luma = lumaOf(color);"," float shadows = 1.0 - smoothstep(0.0, 0.6, luma);"," float highlights = smoothstep(0.4, 1.0, luma);"," float midtones = max(0.0, 1.0 - shadows - highlights);"," float total = max(shadows + midtones + highlights, 0.0001);"," vec3 weights = vec3(shadows, midtones, highlights) / total;"," color += wheelDirection(u_shadowWheel.x) * u_shadowWheel.y * weights.x * 0.18;"," color += wheelDirection(u_midtoneWheel.x) * u_midtoneWheel.y * weights.y * 0.18;"," color += wheelDirection(u_highlightWheel.x) * u_highlightWheel.y * weights.z * 0.18;"," color += u_shadowWheel.z * weights.x * 0.25;"," color += u_midtoneWheel.z * weights.y * 0.25;"," color += u_highlightWheel.z * weights.z * 0.25;"," return color;","}","vec3 applyRgbCurves(vec3 color){"," if (u_rgbCurvesEnabled < 0.5) return color;"," vec3 master = vec3("," sampleAdvancedCurve(color.r, 0.0).a,"," sampleAdvancedCurve(color.g, 0.0).a,"," sampleAdvancedCurve(color.b, 0.0).a"," );"," return vec3("," sampleAdvancedCurve(master.r, 0.0).r,"," sampleAdvancedCurve(master.g, 0.0).g,"," sampleAdvancedCurve(master.b, 0.0).b"," );","}","float decodeSigned(float value){ return (value * 255.0 - 128.0) / 127.0; }","vec3 applyHueCurves(vec3 color){"," if (u_hueCurvesEnabled < 0.5) return color;"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," vec3 curves = sampleAdvancedCurve(hsv.x, 1.0).rgb;"," float originalLuma = lumaOf(color);"," hsv.x = fract(hsv.x + decodeSigned(curves.r) * 0.5);"," hsv.y = clamp(hsv.y * max(0.0, 1.0 + decodeSigned(curves.g)), 0.0, 1.0);"," vec3 shifted = hsvToRgb(hsv);"," shifted += vec3(originalLuma - lumaOf(shifted) + decodeSigned(curves.b));"," return shifted;","}","float softRangeMask(float value, float minimum, float maximum, float softness){"," if (value < minimum) {"," if (softness <= 0.0) return 0.0;"," return smoothstep(minimum - softness, minimum, value);"," }"," if (value > maximum) {"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(maximum, maximum + softness, value);"," }"," return 1.0;","}","float hueRangeMask(float hue, float saturation, vec3 key){"," float distance = abs(fract(hue - key.x + 0.5) - 0.5) * 360.0;"," float range = key.y * 180.0;"," float softness = key.z * 180.0;"," if (range < 179.999 && saturation < 0.001) return 0.0;"," if (distance <= range) return 1.0;"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(range, range + softness, distance);","}","vec3 applySecondary(vec3 color, float index){"," float base = index * 5.0;"," vec4 hueKey = advancedConfig(base);"," vec4 saturationKey = advancedConfig(base + 1.0);"," vec4 lumaKey = advancedConfig(base + 2.0);"," vec4 correction = advancedConfig(base + 3.0);"," vec4 tintCorrection = advancedConfig(base + 4.0);"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," float luma = lumaOf(color);"," float mask = hueRangeMask(hsv.x, hsv.y, hueKey.rgb);"," mask *= softRangeMask(hsv.y, saturationKey.x, saturationKey.y, saturationKey.z * 0.5);"," mask *= softRangeMask(luma, lumaKey.x, lumaKey.y, lumaKey.z * 0.5);"," if (mask <= 0.0) return color;"," hsv.x = fract(hsv.x + decodeSigned(correction.x) * 0.5);"," vec3 corrected = hsvToRgb(hsv);"," float correctedLuma = lumaOf(corrected);"," corrected = mix(vec3(correctedLuma), corrected, max(0.0, 1.0 + decodeSigned(correction.y)));"," corrected += vec3(decodeSigned(correction.z));"," float temperature = decodeSigned(correction.w);"," float tint = decodeSigned(tintCorrection.x);"," corrected.r += temperature * 0.08 + tint * 0.04;"," corrected.b -= temperature * 0.08 - tint * 0.04;"," corrected.g -= tint * 0.08;"," return mix(color, corrected, mask);","}","vec3 applyAdvancedGrade(vec3 color){"," color = applyTonalWheels(color);"," color = applyRgbCurves(color);"," color = applyHueCurves(color);"," if (u_secondaryCount > 0.5) color = applySecondary(color, 0.0);"," if (u_secondaryCount > 1.5) color = applySecondary(color, 1.0);"," if (u_secondaryCount > 2.5) color = applySecondary(color, 2.0);"," if (u_secondaryCount > 3.5) color = applySecondary(color, 3.0);"," return color;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","vec3 applyPrimaryGrade(vec3 color){"," color *= pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," return color;","}","vec3 applyColorGrade(vec3 color){"," color = applyPrimaryGrade(color);"," color = applyAdvancedGrade(color);"," return clamp(applyLut(clamp(color, 0.0, 1.0)), 0.0, 1.0);","}","vec3 applyDither(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float pixelSize = mix(1.0, 5.0, clamp(u_ditherSize, 0.0, 1.0)) * scale;"," vec2 block = floor(gl_FragCoord.xy / max(pixelSize, 1.0));"," float levels = clamp(u_paletteSize, 2.0, 6.0);"," float index = floor(clamp(lumaOf(source) * (levels - 1.0) + bayer4(block), 0.0, levels - 1.0));"," return mix(source, paletteColor(index), amount);","}","vec2 asciiEdgeDirection(vec2 uv, vec2 stepUv){"," float topLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, -stepUv.y)).rgb);"," float top = bt601Luma(sampleMedia(uv + vec2(0.0, -stepUv.y)).rgb);"," float topRight = bt601Luma(sampleMedia(uv + vec2(stepUv.x, -stepUv.y)).rgb);"," float left = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, 0.0)).rgb);"," float right = bt601Luma(sampleMedia(uv + vec2(stepUv.x, 0.0)).rgb);"," float bottomLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, stepUv.y)).rgb);"," float bottom = bt601Luma(sampleMedia(uv + vec2(0.0, stepUv.y)).rgb);"," float bottomRight = bt601Luma(sampleMedia(uv + stepUv).rgb);"," float x = -topLeft - 2.0 * left - bottomLeft + topRight + 2.0 * right + bottomRight;"," float y = -topLeft - 2.0 * top - topRight + bottomLeft + 2.0 * bottom + bottomRight;"," return vec2(x, y);","}","vec2 rotateAsciiUv(vec2 uv, float angle){"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 centered = uv - 0.5;"," return vec2(centered.x * cosine - centered.y * sine, centered.x * sine + centered.y * cosine) + 0.5;","}","vec3 applyAscii(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellHeight = mix(4.0, 80.0, clamp(u_asciiSize, 0.0, 1.0)) * scale;"," vec2 cellSize = vec2(cellHeight);"," vec2 cell = floor(gl_FragCoord.xy / cellSize);"," vec2 cellVuv = (cell + 0.5) * cellSize / max(u_resolution, vec2(1.0));"," vec2 cellUv = (cellVuv - u_uvOffset) / u_uvScale;"," cellUv = applyCrtWarp(cellUv);"," vec3 cellColor = applyColorGrade(sampleMedia(cellUv).rgb);"," float brightness = bt601Luma(cellColor);"," float invert = step(0.5, u_asciiInvert);"," brightness = mix(brightness, 1.0 - brightness, invert);"," vec2 glyphUv = fract(gl_FragCoord.xy / cellSize);"," float rotation = clamp(u_asciiRotation, 0.0, 1.0);"," if (rotation > 0.0) {"," vec2 cellStepUv = cellSize / max(u_resolution * u_uvScale, vec2(1.0));"," vec2 edge = asciiEdgeDirection(cellUv, cellStepUv);"," if (length(edge) > 0.1) glyphUv = mix(glyphUv, rotateAsciiUv(glyphUv, atan(edge.y, edge.x)), rotation);"," }"," float ink = asciiStyleSample(floor(u_asciiStyle + 0.5), brightness, glyphUv);"," vec3 background = paletteColor(0.0);"," vec3 inkColor = mix(paletteColor(max(u_paletteSize - 1.0, 1.0)), cellColor, clamp(u_asciiColor, 0.0, 1.0));"," vec3 asciiColor = mix(background, inkColor, ink);"," return mix(source, asciiColor, amount);","}","vec3 applyScanlines(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float count = mix(50.0, 500.0, clamp(u_scanlineCount, 0.0, 1.0));"," float softness = clamp(u_scanlineSoftness, 0.0, 1.0);"," float wave = 0.5 + 0.5 * sin(v_uv.y * count * PI);"," float line = mix(1.0 - wave, pow(1.0 - wave, 2.2), softness);"," return source * (1.0 - line * amount);","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," uv = applyCrtWarp(uv);"," vec2 displayEdge = smoothstep(vec2(0.0), vec2(0.006), uv) * (1.0 - smoothstep(vec2(0.994), vec2(1.0), uv));"," float displayMask = displayEdge.x * displayEdge.y;"," vec4 sampleColor = sampleMedia(uv);"," sampleColor = sampleChromaticMedia(uv, sampleColor);"," sampleColor.rgb = applyDigitalGlitch(uv, sampleColor.rgb);"," vec3 original = originalSample.rgb;"," vec3 color = mix(sampleColor.rgb, applyColorGrade(sampleColor.rgb), u_intensity);"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," float filmArtifacts = clamp(u_filmArtifacts, 0.0, 1.0);"," if (filmArtifacts > 0.0) {"," float filmFrame = floor(u_grainSeed);"," float dust = dustMask(v_uv, floor(filmFrame / 3.0));"," float dustTone = grainHash(vec2(floor(filmFrame / 3.0), 8.0));"," color = mix(color, vec3(dustTone > 0.5 ? 0.95 : 0.02), dust * 0.72 * filmArtifacts);"," float scratchBucket = floor(filmFrame / 12.0);"," float scratchX = grainHash(vec2(scratchBucket, 4.2));"," float scratchLife = step(0.78, grainHash(vec2(scratchBucket, 8.4)));"," float scratch = (1.0 - smoothstep(0.0, 1.4 / max(u_resolution.x, 1.0), abs(v_uv.x - scratchX))) * scratchLife;"," color = mix(color, vec3(0.94, 0.88, 0.76), scratch * 0.28 * filmArtifacts);"," }"," color = applyMonoScreen(clamp(color, 0.0, 1.0), clamp(u_monoScreen, 0.0, 1.0));"," color = applyEngraving(clamp(color, 0.0, 1.0), clamp(u_engraving, 0.0, 1.0));"," color = applyCrosshatch(uv, clamp(color, 0.0, 1.0), clamp(u_crosshatch, 0.0, 1.0));"," color = applyHalftone(clamp(color, 0.0, 1.0), clamp(u_halftone, 0.0, 1.0));"," color = applyTwoInkPrint(clamp(color, 0.0, 1.0), clamp(u_twoInkPrint, 0.0, 1.0));"," color = applyDither(clamp(color, 0.0, 1.0), clamp(u_dither, 0.0, 1.0));"," color = applyAscii(clamp(color, 0.0, 1.0), clamp(u_ascii, 0.0, 1.0));"," if (u_bloomReady > 0.5 && u_bloom > 0.0) color += sampleBloom(uv) * u_bloom;"," color = applyScanlines(clamp(color, 0.0, 1.0), clamp(u_scanlines, 0.0, 1.0));"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float warpActive = step(0.0001, u_crtCurvature);"," color *= mix(1.0, displayMask, warpActive);"," vec3 graded = clamp(color, 0.0, 1.0);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`
|
|
350
|
+
`),qg=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","uniform float u_bloomPass;","uniform float u_threshold;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," if (u_bloomPass > 0.5) {"," float luminance = dot(color.rgb, vec3(0.299, 0.587, 0.114));"," if (u_threshold >= 0.0 && luminance <= u_threshold) color.rgb = vec3(0.0);"," return vec4(color.rgb, 1.0);"," }"," color.rgb *= color.a;"," return color;","}","void main(){"," if (u_bloomPass > 0.5) {"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) * 0.5;"," vec4 bloom = readSource(v_uv) * 0.227027;"," bloom += readSource(v_uv + stepUv) * 0.1945946;"," bloom += readSource(v_uv - stepUv) * 0.1945946;"," bloom += readSource(v_uv + stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv - stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv + stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv - stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv + stepUv * 4.0) * 0.016216;"," bloom += readSource(v_uv - stepUv * 4.0) * 0.016216;"," gl_FragColor = bloom;"," return;"," }"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`
|
|
351
|
+
`),$g=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform vec2 u_texel;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_blur;","uniform float u_kuwaharaRadius;","vec3 readPrepared(vec2 displayUv){"," vec2 uv = (displayUv - u_uvOffset) / u_uvScale;"," vec3 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," if (u_blurReady > 0.5 && u_blur > 0.0) {"," vec3 blurred = texture2D(u_blurSource, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," color = mix(color, blurred, clamp(u_blur, 0.0, 1.0));"," }"," return color;","}","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec3 sum = vec3(0.0);"," float sumSquares = 0.0;"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec3 color = readPrepared(v_uv + vec2(float(offset), 0.0) * u_texel);"," sum += color;"," sumSquares += dot(color, color) / 3.0;"," count += 1.0;"," }"," gl_FragColor = vec4(sum / count, sumSquares / count);","}"].join(`
|
|
352
|
+
`),jg=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_kuwaharaMoments;","uniform vec2 u_texel;","uniform float u_kuwaharaRadius;","uniform float u_kuwaharaSharpness;","uniform float u_kuwaharaSaturation;","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec2 origins[4];"," origins[0] = vec2(-radius, -radius);"," origins[1] = vec2(0.0, -radius);"," origins[2] = vec2(-radius, 0.0);"," origins[3] = vec2(0.0, 0.0);"," vec3 means[4];"," float variances[4];"," float minVariance = 1.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," vec4 moment = vec4(0.0);"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec2 sampleOffset = origins[quadrant] + vec2(0.0, float(offset));"," moment += texture2D(u_kuwaharaMoments, clamp(v_uv + sampleOffset * u_texel, vec2(0.0), vec2(1.0)));"," count += 1.0;"," }"," moment /= count;"," vec3 mean = moment.rgb;"," float meanSquare = moment.a * 3.0;"," float variance = max(meanSquare - dot(mean, mean), 0.0);"," means[quadrant] = mean;"," variances[quadrant] = variance;"," minVariance = min(minVariance, variance);"," }"," float exponent = 1.0 + clamp(u_kuwaharaSharpness, 0.0, 1.0) * 8.0;"," vec3 result = vec3(0.0);"," float totalWeight = 0.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," float weight = pow((minVariance + 0.0001) / (variances[quadrant] + 0.0001), exponent);"," result += means[quadrant] * weight;"," totalWeight += weight;"," }"," result /= max(totalWeight, 0.0001);"," float luma = dot(result, vec3(0.2126, 0.7152, 0.0722));"," float saturation = clamp(u_kuwaharaSaturation, 0.0, 1.0) * 2.0;"," gl_FragColor = vec4(clamp(mix(vec3(luma), result, saturation), 0.0, 1.0), 1.0);","}"].join(`
|
|
353
|
+
`);function Ft(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Vc(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function zc(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(L("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function ni(e,t=zg){let n=zc(e,Vg,e.VERTEX_SHADER),r=zc(e,t,e.FRAGMENT_SHADER);if(!n||!r)return n&&e.deleteShader(n),r&&e.deleteShader(r),null;let i=e.createProgram();return i?(e.attachShader(i,n),e.attachShader(i,r),e.linkProgram(i),e.deleteShader(n),e.deleteShader(r),e.getProgramParameter(i,e.LINK_STATUS)?i:(L("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function Qr(e,t=e.LINEAR,n=e.UNSIGNED_BYTE){let r=e.createTexture();return r?(e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,n,null),r):null}function Kg(e,t){let n=ni(e,qg);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius"),bloomPass:e.getUniformLocation(n,"u_bloomPass"),threshold:e.getUniformLocation(n,"u_threshold")}:null}function Yg(e,t){let n=ni(e,$g);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),blurSource:e.getUniformLocation(n,"u_blurSource"),texel:e.getUniformLocation(n,"u_texel"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),blurReady:e.getUniformLocation(n,"u_blurReady"),blur:e.getUniformLocation(n,"u_blur"),radius:e.getUniformLocation(n,"u_kuwaharaRadius")}:null}function Xg(e,t){let n=ni(e,jg);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),moments:e.getUniformLocation(n,"u_kuwaharaMoments"),texel:e.getUniformLocation(n,"u_texel"),radius:e.getUniformLocation(n,"u_kuwaharaRadius"),sharpness:e.getUniformLocation(n,"u_kuwaharaSharpness"),saturation:e.getUniformLocation(n,"u_kuwaharaSaturation")}:null}function Yn(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=Qr(e,n,t),i=e.createFramebuffer();if(!r||!i)return r&&e.deleteTexture(r),i&&e.deleteFramebuffer(i),null;e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);let o=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),o!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(r),e.deleteFramebuffer(i),null):{texture:r,framebuffer:i,type:t,width:1,height:1}}function ei(e,t,n,r){t.width===n&&t.height===r||(t.width=n,t.height=r,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,t.type,null))}function ua(e,t,n){let r=[];for(let i of n){let o=e.getUniformLocation(t,`u_${i}`);o!==null&&r.push([i,o])}return r}function qc(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function ma(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=ni(t),r=Qr(t),i=Qr(t,t.NEAREST),o=Qr(t,t.NEAREST);if(!n||!r||!i||!o)return qc(t,n,[r,i,o]),null;let a=t.createBuffer();return a?(t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:r,lutTexture:i,advancedTexture:o,advancedSignature:null,quad:a,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),bloomSource:t.getUniformLocation(n,"u_bloomSource"),kuwaharaSource:t.getUniformLocation(n,"u_kuwaharaSource"),lut:t.getUniformLocation(n,"u_lut"),advanced:t.getUniformLocation(n,"u_advanced"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),bloomReady:t.getUniformLocation(n,"u_bloomReady"),kuwaharaReady:t.getUniformLocation(n,"u_kuwaharaReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),shadowWheel:t.getUniformLocation(n,"u_shadowWheel"),midtoneWheel:t.getUniformLocation(n,"u_midtoneWheel"),highlightWheel:t.getUniformLocation(n,"u_highlightWheel"),rgbCurvesEnabled:t.getUniformLocation(n,"u_rgbCurvesEnabled"),hueCurvesEnabled:t.getUniformLocation(n,"u_hueCurvesEnabled"),secondaryCount:t.getUniformLocation(n,"u_secondaryCount"),adjustUniforms:ua(t,n,Rr),detailUniforms:ua(t,n,ao),effectUniforms:ua(t,n,so),grainSeed:t.getUniformLocation(n,"u_grainSeed"),effectTime:t.getUniformLocation(n,"u_effectTime"),paletteSize:t.getUniformLocation(n,"u_paletteSize"),palette0:t.getUniformLocation(n,"u_palette0"),palette1:t.getUniformLocation(n,"u_palette1"),palette2:t.getUniformLocation(n,"u_palette2"),palette3:t.getUniformLocation(n,"u_palette3"),palette4:t.getUniformLocation(n,"u_palette4"),palette5:t.getUniformLocation(n,"u_palette5"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(qc(t,n,[r,i,o]),null)}function Jg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Qg(e){if(!Jg(e))return{...Zt};let t=(n,r,i,o)=>{let a=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(i,Number.isFinite(a)?a:r))};return{enabled:e.enabled===!0,position:t(e.position,Zt.position,0,1),softness:t(e.softness,Zt.softness,0,.25),lineWidth:t(e.lineWidth,Zt.lineWidth,0,12)}}function Zc(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function ri(e){return e instanceof Error?e.message:"LUT failed to load"}function Zg(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function ed(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return Zg(t)}function pa(e){let t=Zc(e);if("error"in t)return{state:"error",message:t.error};let n=it.get(t.href);if(n)return n;let r=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>ul(o,{maxSize:Cr})),i={state:"pending",promise:r};for(;it.size>=Pg;){let o=it.keys().next().value;if(!o)break;it.delete(o)}return it.set(t.href,i),r.then(o=>{it.get(t.href)===i&&it.set(t.href,{state:"ready",lut:o})},o=>{it.get(t.href)===i&&it.set(t.href,{state:"error",message:ri(o)})}),i}function $c(e,t,n){if(e.lut?.src===t)return e.lut;let r=Ji(n),{gl:i,program:o}=e;try{return td(i,o.lutTexture,r),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(a){return e.lut=null,e.lutError=ri(a),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",a),null}}async function eb(e){let t=pa(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function td(e,t,n){e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)}function tb(e,t,n){let r=Ji(n),{gl:i,program:o}=e;return td(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Qe(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function ha(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Qe(e.gl,t.scratch),Qe(e.gl,t.blur),t.bloom&&Qe(e.gl,t.bloom),e.effectTargets=null)}function ga(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Qe(e.gl,t.moments),Qe(e.gl,t.output),e.kuwaharaTargets=null)}function Zr(e,t=!1){ha(e),ga(e),nb(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function nb(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function rb(e){let t=ma(e.canvas);return t?(Zr(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function fa(e){if(!e.sourceHidden)return;e.element.removeAttribute(Cn);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function ib(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=Kg(t,e.program.quad),r=Yn(t),i=Yn(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Qe(t,r),i&&Qe(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function ob(e,t){return t.bloom||(t.bloom=Yn(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function jc(e){let t=e.effectTargets;t?.bloom&&(Qe(e.gl,t.bloom),t.bloom=null)}function ab(e){if(e.kuwaharaTargets)return e.kuwaharaTargets;let{gl:t}=e,n=t.getExtension("OES_texture_half_float"),r=t.getExtension("EXT_color_buffer_half_float");if(!n||!r)return e.effectError="Kuwahara requires half-float framebuffer support",null;let i=Yg(t,e.program.quad),o=Xg(t,e.program.quad),a=Yn(t,n.HALF_FLOAT_OES,t.NEAREST),l=Yn(t);return!i||!o||!a||!l?(sb(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function sb(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Qe(e,r),i&&Qe(e,i)}function nd(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return ei(e,t,o,a),ei(e,n,o,a),{width:o,height:a}}function ti(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),Xn(e,t)}function lb(e,t,n,r,i,o,a){let l=nd(e,t.scratch,r,i/2,o/2),s=a/2;ti(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),ti(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function ub(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)ti(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),ti(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function Xn(e,t){e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function cb(e,t,n,r,i,o,a,l){ei(e,t.moments,i.width,i.height),ei(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),Xn(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),Xn(e,u)}function db(e,t,n,r){if(n<=0)return!1;let i=nd(e.gl,t.scratch,t.blur,r.width,r.height);return ub(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function fb(e,t,n,r,i,o){if(n<=0)return jc(e),null;o||jc(e);let a=o?ob(e,t):t.blur;return a?(lb(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function mb(e,t,n,r){let{program:i}=e,o=t.effects.blur,a=t.effects.bloom;if(o<=0&&a<=0)return e.effectTargets&&r&&ha(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=ib(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=db(e,l,o,n),u=fb(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function pb(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&ga(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=ab(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(cb(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function rd(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=mb(e,t,n,o),l=pb(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function hb(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let r=Zc(t);if("error"in r)return e.lut=null,e.lutLoadingSrc=null,e.lutError=r.error,null;if(e.lut?.src===r.href)return e.lut;e.lut=null;let i=pa(t);return i.state==="ready"?$c(e,r.href,i.lut):i.state==="error"?(e.lutError=i.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==r.href&&(e.lutLoadingSrc=r.href,e.lutError=null,i.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||($c(e,r.href,o),Le(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=ri(o),e.lutLoadingSrc=null,Le(e))})),null)}function jn(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&Ft(n))return n;try{let r=document.querySelector(t);return r&&Ft(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&Ft(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&Ft(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),r=t[n]??null;return r&&Ft(r)?r:null}catch{return null}}function id(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function od(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function ad(e){let t=ut(e);return t&&od(t)?t:null}function Kc(e){if(!(e instanceof HTMLVideoElement))return!1;let t=ad(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function gb(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function bb(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function sd(e){if(e instanceof HTMLVideoElement){let t=ad(e);if(t)return t}return od(e)?e:null}function Yc(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let r=Number.parseFloat(n);return Number.isFinite(r)?r/100:null}return null}function xb(e){let t=e.trim().split(/\s+/).filter(Boolean),n=.5,r=.5;for(let i=0;i<t.length;i++){let o=t[i]??"",a=Yc(o,"x"),l=Yc(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function ld(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=xb(o||"center"),c=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:c,offsetY:m}}function yb(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Xc(e,t){return Math.max(0,Math.round(e>0?e:t))}function vb(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&yb(e,i);let o=window.getComputedStyle(t);Il(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=Xc(n.offsetWidth,a.width),s=Xc(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),c=Math.round(l*u),m=Math.round(s*u);return r.width!==c&&(r.width=c),r.height!==m&&(r.height=m),{width:c,height:m}}function Qt(e,t,n){e.uniform3f(t,Number.parseInt(n.slice(1,3),16)/255,Number.parseInt(n.slice(3,5),16)/255,Number.parseInt(n.slice(5,7),16)/255)}function Mt(e,t,n,r){e.set(r,(t*Ye+n)*4)}function xt(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function ca(e,t,n){return e.length>=3?Zi(e,t,n):new Float32Array(Ye)}function kt(e,t){return e[t]??0}function Sb(e,t,n){let r=Ut(t.red),i=Ut(t.green),o=Ut(t.blue),a=Ut(t.master),l=ca(n.hueVsHue,-180,180),s=ca(n.hueVsSaturation,-1,1),u=ca(n.hueVsLuma,-1,1);for(let c=0;c<Ye;c+=1)Mt(e,0,c,[kt(r,c),kt(i,c),kt(o,c),kt(a,c)]),Mt(e,1,c,[xt(kt(l,c),180),xt(kt(s,c),1),xt(kt(u,c),1),1])}function Eb(e,t,n){let r=n*Bg;Mt(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),Mt(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),Mt(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),Mt(e,2,r+3,[xt(t.correction.hueShift,180),xt(t.correction.saturation,1),xt(t.correction.luma,1),xt(t.correction.temperature,1)]),Mt(e,2,r+4,[xt(t.correction.tint,1),.5,.5,1])}function Ab(e,t,n){let r=new Float32Array(Ye*Qn*4);Sb(r,e,t);let i=0;for(let o of n)o.enabled&&(Eb(r,o,i),i+=1);return r}var Jc=new WeakMap;function Cb(e,t,n){let r=Jc.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return Jc.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function _b(e,t,n,r){let{curves:i,hueCurves:o}=n,a=Cb(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(Ab(i,o,r),Sn);e.activeTexture(e.TEXTURE5),e.bindTexture(e.TEXTURE_2D,t.advancedTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,Ye,Qn,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function da(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function ud(e,t,n,r,i,o,a,l,s,u,c,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:p,secondaries:b}=n,v=co(f),x=fo(p),w=mo(b)?b.reduce((F,M)=>F+Number(M.enabled),0):0;(v||x||w>0)&&_b(e,t,n,b),da(e,t.shadowWheel,n.wheels.shadows),da(e,t.midtoneWheel,n.wheels.midtones),da(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,v?1:0),e.uniform1f(t.hueCurvesEnabled,x?1:0),e.uniform1f(t.secondaryCount,w);for(let[F,M]of t.adjustUniforms)e.uniform1f(M,n.adjust[F]);for(let[F,M]of t.detailUniforms)e.uniform1f(M,n.details[F]);e.uniform1f(t.grainSeed,c),e.uniform1f(t.effectTime,m);for(let[F,M]of t.effectUniforms)e.uniform1f(M,n.effects[F]);let R=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?Hg:sa),T=R[R.length-1]??sa[1];e.uniform1f(t.paletteSize,R.length),Qt(e,t.palette0,R[0]??sa[0]),Qt(e,t.palette1,R[1]??T),Qt(e,t.palette2,R[2]??T),Qt(e,t.palette3,R[3]??T),Qt(e,t.palette4,R[4]??T),Qt(e,t.palette5,R[5]??T),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function wb(e){if(!e.sourceHidden){let t=e.element.getAttribute(Tr);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(Cn,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function ot(e){let t=kl.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var cd=ot("intensity"),dd=ot("lut.intensity"),fd=ot("adjust.exposure"),md=ot("effects.kuwahara"),pd=[["blur",ot("effects.blur")],["bloom",ot("effects.bloom")],["kuwahara",md],["pixelate",ot("effects.pixelate")],["ascii",ot("effects.ascii")],["dither",ot("effects.dither")]],hd=[cd,dd,fd,...pd.map(([,e])=>e)];function Nt(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function Kn(e,t){return t!==null&&(Ll(t)||hd.some(n=>Nt(e,n)!==null))}function Tb(e,t){let n=null;for(let[r,i]of pd){let o=Nt(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function Rb(e){let{element:t,grading:n}=e,r=Nt(t,cd),i=Nt(t,dd),o=Nt(t,fd),a=Tb(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function gd(e,t,n){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}function bd(e,t,n){let r=[t.texture,n.blurTexture,t.lutTexture,n.kuwaharaTexture,n.bloomTexture,t.advancedTexture];for(let[i,o]of r.entries())e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,o)}function Le(e){if(e.destroyed||e.contextLost)return!1;let t=sd(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=id(t);if(!n)return!1;let r=t instanceof HTMLElement?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=gb(t);s&&bb(e,t);let u=window.getComputedStyle(s?t:e.element);(s||!a)&&(e.sourceOpacityForCanvas=u.opacity||"1"),e.sourceVisibleForCanvas=(s||l!=="hidden")&&u.visibility!=="hidden";let c=vb(e,r);if(!c)return!1;let m=window.getComputedStyle(r),f=ld(c.width,c.height,n.width,n.height,m.objectFit,m.objectPosition),{gl:p,program:b}=e;try{let v=Rb(e),x=hb(e);gd(p,b.texture,t);let w=Nt(e.element,md)!==null,R=rd(e,v,c,f,{preserveKuwahara:w});p.bindFramebuffer(p.FRAMEBUFFER,null),p.viewport(0,0,c.width,c.height),p.useProgram(b.program),bd(p,b,R);let T=window.__player?.getTime?.(),F=typeof T=="number"&&Number.isFinite(T)?Math.max(0,T):e.element instanceof HTMLVideoElement?Math.max(0,e.element.currentTime):0,M=e.grainSeed+Math.floor(F*60);return ud(p,b,v,x,R.blurReady,R.bloomReady,R.kuwaharaReady,e.compare,c,f,M,F),Xn(p,b),wb(e),e.hasDrawn=!0,e.drawError=null,!0}catch(v){return e.drawError=v instanceof Error?v.message:"Shader draw failed",L("runtime.colorGrading.drawEntry",v),!1}}function kb(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function Fb(){let e=document.createElement("canvas"),t=ma(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function Mb(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):e instanceof HTMLVideoElement?Math.max(0,e.currentTime):0}function Nb(e,t,n,r){let i=sd(t);if(!i)return null;let o=id(i);if(!o)return null;let a=kb(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=i instanceof HTMLElement?i:t,s=window.getComputedStyle(l),u=ld(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return gd(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:Mb(t,r),grainSeed:ed(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function Lb(e,t,n,r,i=!1){let o=Nb(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,c=[];for(let m of n.slice(0,32)){let f=kr(m.grading);if(!f){c.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let p=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=tb(e,f.lut.src,await eb(f.lut.src))),p=e.lut),c.push({id:m.id,dataUrl:Db(e,f,p,a,l,s,u)})}catch(b){c.push({id:m.id,dataUrl:null,error:ri(b)})}}return{...a,images:c}}function Db(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=rd(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),bd(s,u,c),n||(e.lut=null),ud(s,u,t,n,c.blurReady,c.bloomReady,c.kuwaharaReady,Zt,r,i,o,a),Xn(s,u),l.toDataURL("image/png")}function Je(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function Ib(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function Jn(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Le(e),!e.destroyed&&!t.paused&&!t.ended&&Jn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Le(e),!e.destroyed&&!t.paused&&!t.ended&&Jn(e)})}function Pb(e){let t=()=>{Le(e)};if(Je(e,e.element,"load",t),Je(e,e.element,"loadedmetadata",t),Je(e,e.element,"loadeddata",t),Je(e,e.element,"seeked",t),Je(e,e.element,"timeupdate",t),Je(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Je(e,e.element,"play",()=>Jn(e)),Je(e,e.element,"pause",t)),Je(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",fa(e)}),Je(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!rb(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",fa(e);return}e.drawError=null,Le(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let a=e.element.style;return`${a.transform}|${a.translate}|${a.rotate}|${a.scale}|${a.left}|${a.top}|${a.width}|${a.height}`},r=n(),i=!1,o=new MutationObserver(()=>{i||n()!==r&&(i=!0,requestAnimationFrame(()=>{i=!1,r=n(),Le(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ob(e){if(e.destroyed)return null;e.destroyed=!0,Ib(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),ha(e),ga(e),fa(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition),{canvas:e.canvas,gl:e.gl,program:e.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}function xd(e,t){return e.removeAttribute("style"),t.id?e.id=`${Cl}${t.id}`:e.removeAttribute("id"),e.className=Ig,e.setAttribute(Dg,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Hb(e){return xd(document.createElement("canvas"),e)}function yd(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(A,S,E)=>{let _=e.get(A);if(_)return _.grading=S,_.source=E,Le(_),A instanceof HTMLVideoElement&&!A.paused&&Jn(_),!0;let N=n.pop();if(N)xd(N.canvas,A);else{let H=Hb(A),z=ma(H);if(!z)return H.remove(),!1;N={canvas:H,gl:z.gl,program:z.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let D={element:A,...N,grading:S,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:E,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(A).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(A).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:ed(A),destroyed:!1};return e.set(A,D),t.add(A),Pb(D),Le(D),A instanceof HTMLVideoElement&&!A.paused&&Jn(D),!0},s=(A,S)=>{if(a)return!1;let E=jn(A);if(!E)return!1;let _=e.get(E);if(!_){let N=Jr(E);if(!Kn(E,N)||!l(E,N,"attribute"))return!1;_=e.get(E)}return _?(_.compare=Qg(S),Le(_),!0):!1},u=A=>{let S=e.get(A);if(!S)return;let E=Ob(S);E&&(S.contextLost||n.length>=Og?Zr(E,!0):n.push(E)),e.delete(A),t.delete(A)},c=()=>{if(a)return 0;let A=new Set;document.querySelectorAll(`video[${An}], img[${An}]`).forEach(E=>{if(!Ft(E))return;A.add(E);let _=Jr(E);Kn(E,_)&&(Vc(E)||Kc(E))?l(E,_,"attribute"):u(E)});for(let E of t){let _=e.get(E);_&&(!E.isConnected||_.source==="attribute"&&!A.has(E))&&u(E)}return t.size},m=()=>{if(a)return 0;let A=0;for(let S of t){let E=e.get(S);E&&Le(E)&&(A+=1)}return A},f=async()=>{let A=new Set;for(let S of t){let E=e.get(S)?.grading.lut;if(!E?.src.trim()||(E.intensity??1)<=0)continue;let _=pa(E.src);_.state==="pending"&&A.add(_.promise)}return A.size>0&&await Promise.allSettled(A),m(),A.size},p=()=>{if(a)return 0;let A=0;for(let S of t){let E=e.get(S);!E||!hd.some(N=>Nt(S,N)!==null)||S instanceof HTMLVideoElement&&!S.paused&&!S.ended||Le(E)&&(A+=1)}return A},b=(A,S)=>{if(a)return!1;let E=jn(A);if(!E)return!1;let _=kr(S);return Kn(E,_)?l(E,_,"live"):(u(E),!0)},v=(A,S)=>{if(!Ft(A))return!1;let E=e.get(A);if(!E){if(!S)return!1;let _=Jr(A);return Kn(A,_)&&l(A,_,"attribute")}return E.sourceVisibleForCanvas=S,!S&&E.source==="attribute"&&u(A),!0},x=A=>{let S=jn(A);if(!S)return{state:"missing",message:"Media not found"};let E=e.get(S);if(E)return E.effectError?{state:"unavailable",message:E.effectError}:E.drawError?{state:"unavailable",message:E.drawError}:E.lutError?{state:"unavailable",message:`LUT error: ${E.lutError}`}:E.grading.lut&&E.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:E.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:E.lut?"Shader + LUT active":"Shader active"};let _=Jr(S);return Kn(S,_)?!Vc(S)&&!Kc(S)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},w=async(A,S,E)=>{let _=async()=>{if(a||S.length===0)return null;let D=jn(A);return!D||(i??(i=Fb()),!i)?null:Lb(i,D,S,E?.maxDimension,E?.useMediaTime)},N=o.then(_,_);return o=N.then(()=>{},()=>{}),N},R=A=>{let S=jn(A);if(!(S instanceof HTMLVideoElement))return null;if(!S.paused)return()=>{};let E=S.currentTime,_=S.loop,N=S.muted;return S.loop=!0,S.muted=!0,(S.ended||Number.isFinite(S.duration)&&E>=S.duration)&&(S.currentTime=0),S.play().catch(()=>{}),()=>{S.pause(),S.loop=_,S.muted=N,S.currentTime=E}},T=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let A of t)u(A);for(let A of n)Zr(A,!0);n.length=0,i&&(Zr(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>c()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[An]}));let F={refresh:c,redraw:m,redrawAnimated:p,waitForActiveLuts:f,setGrading:b,setCompare:s,setSourceVisibility:v,getStatus:x,renderPreviews:w,startPreviewPlayback:R,destroy:T},M=window;return M.__hf=M.__hf||{},M.__hf.colorGrading=F,c(),F}var ii=class{constructor(t){ge(this,"_baseTime",0);ge(this,"_playStartMs",null);ge(this,"_rate",1);ge(this,"_duration",1/0);ge(this,"_nowMs");ge(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};var Gb=100,Bb=8,Ub=4096,ba=e=>e;function Wb(e,t,n){return!(!!e.curve||e.viaX!==void 0&&e.viaY!==void 0)&&t==="linear"&&!n}function Vb(e){let t=Math.ceil(e*Gb);return Math.min(Ub,Math.max(Bb,t))}function zb(e,t,n,r,i){let{scheduledAt:o,elapsed:a,rate:l}=r,s=i??ba,u=R=>o+(R-a)/l,c=e.points[t],m=e.points[t+1],f=u(m.t);if(f<=o)return null;let p=Math.max(o,u(c.t)),b=f-p;if(b<=0)return null;if(Wb(c,n,i))return{kind:"ramp",time:f,value:s(m.v)};let v=Vb(b),x=Xs(e,Math.max(c.t,a),m.t,v,n),w=new Float32Array(v);for(let R=0;R<v;R+=1)w[R]=s(x[R]??0);return{kind:"curve",time:p,duration:b,values:w}}function qb(e,t,n,r){let i=[];for(let a=0;a+1<e.points.length;a+=1){let l=zb(e,a,t,n,r);l&&i.push(l)}let o=i[0];return o?.kind==="curve"&&o.time<=n.scheduledAt||i.unshift({kind:"set",time:n.scheduledAt,value:(r??ba)(xn(e,n.elapsed,t))}),i}function $b(e,t){for(let n of t)if(n.kind==="set")e.setValueAtTime(n.value,n.time);else if(n.kind==="ramp")e.linearRampToValueAtTime(n.value,n.time);else try{e.setValueCurveAtTime(n.values,n.time,n.duration)}catch{let r=n.values[n.values.length-1]??0;e.linearRampToValueAtTime(r,n.time+n.duration)}}function xa(e){for(let t of e)t.param.cancelScheduledValues(0)}function Zn(e,t){for(let n of e)typeof n.param.cancelAndHoldAtTime=="function"?n.param.cancelAndHoldAtTime(t):n.param.cancelScheduledValues(t)}function ya(e,t,n,r){if(t.points.length!==0)for(let i of e){if(xa([i]),Ys(t)){let o=(i.map??ba)(t.points[0].v);i.param.setValueAtTime(o,r.scheduledAt);continue}$b(i.param,qb(t,n,r,i.map))}}function vd(e,t,n,r,i){let o=new Map(n.filter(l=>l.id).map(l=>[l.id,l.handle])),a=[];for(let l of e.lanes){let s=bn(l.target);if(!s)continue;let u=s.kind==="preset"?i?.[s.presetId]:s.kind==="fx"?o.get(s.nodeId)?.automation?.[s.param]:void 0;if(!u||u.length===0)continue;let c=Ui(l.target,t);c&&(ya(u,l,c.scale,r),a.push(...u))}return a}function Sd(e){return e.lanes.find(t=>t.target===Gt)??null}var jb=`
|
|
354
354
|
const dbToLin = (db) => Math.pow(10, db / 20);
|
|
355
355
|
|
|
356
356
|
/**
|
|
@@ -560,9 +560,9 @@ class HfBitcrush extends AudioWorkletProcessor {
|
|
|
560
560
|
}
|
|
561
561
|
}
|
|
562
562
|
registerProcessor("hf-bitcrush", HfBitcrush);
|
|
563
|
-
`,ba=new WeakMap;function xa(e){return gd.has(e)}var gd=new WeakSet;function ya(e){let t=ba.get(e);return t||(t=(async()=>{if(!e.audioWorklet)throw new Error("AudioWorklet is unavailable \u2014 the page needs a secure context (https, localhost or file://)");let n=`data:text/javascript;base64,${btoa(String.fromCharCode(...new TextEncoder().encode(Pb)))}`;await e.audioWorklet.addModule(n),gd.add(e)})().catch(n=>{throw ba.delete(e),n}),ba.set(e,t)),t}function Ob(e,t,n){let r=.6+Math.max(0,Math.min(1,t))*2.6,i=Math.max(1,Math.floor(e*r)),o=new Float32Array(i),a=Math.round(t*1e3)*2654435761+Math.round(n*1e3)*40503>>>0,l=()=>(a=a*1664525+1013904223>>>0,a/4294967295*2-1),s=Math.max(.001,1-Math.max(0,Math.min(1,n))),u=0,c=0;for(let f=0;f<i;f++){u+=s*(l()-u);let p=u*Math.pow(1-f/i,2.5);o[f]=p,c+=p*p}let m=Math.sqrt(c);if(m>0)for(let f=0;f<i;f++)o[f]=(o[f]??0)/m;return o}var ue=e=>typeof e=="number"?e:Number(e??0),Sa=e=>e/1e3;function Sd(e,t,n,r){let i=Math.max(1,Math.round(e.sampleRate)),o=e.createBuffer(1,i,e.sampleRate),a=o.getChannelData(0);for(let u=0;u<i;u++){let c=u/i;a[u]=t==="sine"?Math.sin(2*Math.PI*c):4*Math.abs((c+.75)%1-.5)-1}let l=e.createBufferSource();l.buffer=o,l.loop=!0,l.playbackRate.value=n;let s=(r*n%1+1)%1*(i/e.sampleRate);return l.start(typeof e.currentTime=="number"?e.currentTime:0,s),l}function vd(e){try{e.stop()}catch{}e.disconnect()}function va(e,t){return[{param:e},{param:t,map:n=>1-n}]}function Ed(e,t,n){e.gain.value=n,t.gain.value=1-n}function Ea(e,t,n){return{input:e,output:e,update:t,automation:n,dispose:()=>e.disconnect()}}var Hb=new Set(["peaking","highpass","lowpass"]),bd=e=>Math.pow(10,e/20),Gb=(e,t)=>{let n=e.createGain(),r=i=>{n.gain.value=bd(ue(i.gain))};return r(t),Ea(n,r,{gain:[{param:n.gain,map:bd}]})};function Zn(e,t){return(n,r)=>{let i=n.createBiquadFilter();i.type=e;let o=a=>{i.frequency.value=ue(a.frequency),a.q!==void 0&&(i.Q.value=ue(a.q)),t&&(i.gain.value=ue(a.gain))};return o(r),Ea(i,o,{frequency:[{param:i.frequency}],...Hb.has(e)?{q:[{param:i.Q}]}:{},...t?{gain:[{param:i.gain}]}:{}})}}function Bb(e){return(t,n)=>{let r=Math.tan(Math.PI*ue(n.frequency)/t.sampleRate),i=e==="highpass"?t.createIIRFilter([1/(1+r),-1/(1+r)],[1,(r-1)/(r+1)]):t.createIIRFilter([r/(1+r),r/(1+r)],[1,(r-1)/(r+1)]);return Ea(i,()=>{})}}function ii(e){return(t,n)=>{let r=new AudioWorkletNode(t,e,{processorOptions:{...n}});return{input:r,output:r,update:i=>r.port.postMessage({...i}),dispose:()=>{r.port.postMessage({__hfDispose:!0}),r.disconnect()}}}}var Ub={tanh:Math.tanh,atan:e=>2/Math.PI*Math.atan(Math.PI/2*e),cubic:e=>Math.abs(e)>=1?Math.sign(e):e-e**3/3,exp:e=>Math.sign(e)*(1-Math.exp(-Math.abs(e))),alg:e=>e/Math.sqrt(1+e*e),quintic:e=>Math.abs(e)>=1?Math.sign(e):e-e**5/5,sin:e=>Math.abs(e)>=1?Math.sign(e):Math.sin(Math.PI/2*e),erf:e=>Math.tanh(1.20211*e),hard:e=>Math.max(-1,Math.min(1,e))},Wb=(e,t)=>{let n=e.createWaveShaper(),r=e.createGain(),i=e.createGain();r.connect(n).connect(i);let o=a=>{let l=Ub[String(a.type)]??Math.tanh,s=Math.pow(10,ue(a.threshold)/20),u=8192,c=new Float32Array(u);for(let m=0;m<u;m++){let f=m/(u-1)*2-1;c[m]=l(f/Math.max(1e-6,s))*s}n.curve=c,n.oversample=ue(a.oversample)>=4?"4x":ue(a.oversample)>=2?"2x":"none",i.gain.value=Math.pow(10,ue(a.output)/20)};return o(t),{input:r,output:i,update:o,automation:{output:[{param:i.gain,map:a=>Math.pow(10,a/20)}]},dispose:()=>{r.disconnect(),n.disconnect(),i.disconnect()}}},Vb=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createDelay(5),o=e.createGain(),a=e.createGain(),l=e.createGain();n.connect(i),i.connect(o),o.connect(i),i.connect(a).connect(r),n.connect(l).connect(r);let s=u=>{i.delayTime.value=Math.min(5,ue(u.time)/1e3),o.gain.value=ue(u.feedback),Ed(a,l,ue(u.mix))};return s(t),{input:n,output:r,update:s,automation:{time:[{param:i.delayTime,map:u=>Math.min(5,Sa(u))}],feedback:[{param:o.gain}],mix:va(a.gain,l.gain)},dispose:()=>[n,r,i,o,a,l].forEach(u=>u.disconnect())}},zb=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createDelay(.5),a=Sd(e,"sine",ue(t.speed),n),l=e.createGain(),s=e.createGain(),u=e.createGain();a.connect(l).connect(o.delayTime),r.connect(o).connect(s).connect(i),r.connect(u).connect(i);let c=m=>{o.delayTime.value=ue(m.delay)/1e3,l.gain.value=ue(m.depth)/1e3,a.playbackRate.value=ue(m.speed),Ed(s,u,ue(m.mix))};return c(t),{input:r,output:i,update:c,automation:{delay:[{param:o.delayTime,map:Sa}],depth:[{param:l.gain,map:Sa}],speed:[{param:a.playbackRate}],mix:va(s.gain,u.gain)},dispose:()=>{vd(a),[r,i,o,l,s,u].forEach(m=>m.disconnect())}}},qb=6,$b=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createGain(),a=e.createGain(),l=Sd(e,String(t.type)==="1"?"sine":"triangle",ue(t.speed),n),s=e.createGain(),u=e.createGain(),c=e.createGain(),m=[];r.connect(o);let f=o;for(let b=0;b<qb;b++){let S=e.createBiquadFilter();S.type="allpass",S.Q.value=.7071,s.connect(S.frequency),f.connect(S),f=S,m.push(S)}l.connect(s),f.connect(u).connect(a),o.connect(c).connect(a),a.connect(i);let p=b=>{let S=1e3/Math.max(.1,ue(b.delay));for(let x of m)x.frequency.value=S;s.gain.value=S*ue(b.decay),l.playbackRate.value=ue(b.speed),o.gain.value=ue(b.in_gain),a.gain.value=ue(b.out_gain),u.gain.value=1,c.gain.value=1};return p(t),{input:r,output:i,update:p,automation:{speed:[{param:l.playbackRate}],in_gain:[{param:o.gain}],out_gain:[{param:a.gain}]},dispose:()=>{vd(l),[r,i,o,a,s,u,c,...m].forEach(b=>b.disconnect())}}},jb=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createConvolver(),o=e.createGain(),a=e.createGain();i.normalize=!1,n.connect(i).connect(o).connect(r),n.connect(a).connect(r);let l="",s=u=>{let c=`${ue(u.size)}:${ue(u.damping)}`;if(c!==l){let m=Ob(e.sampleRate,ue(u.size),ue(u.damping)),f=e.createBuffer(1,m.length,e.sampleRate);f.getChannelData(0).set(m),i.buffer=f,l=c}o.gain.value=ue(u.wet),a.gain.value=ue(u.dry)};return s(t),{input:n,output:r,update:s,automation:{wet:[{param:o.gain}],dry:[{param:a.gain}]},dispose:()=>[n,r,i,o,a].forEach(u=>u.disconnect())}},Kb={"gain-node":Gb,"biquad-peaking":Zn("peaking",!0),"biquad-lowshelf":Zn("lowshelf",!0),"biquad-highshelf":Zn("highshelf",!0),"biquad-highpass":Zn("highpass",!1),"biquad-lowpass":Zn("lowpass",!1),"worklet-compressor":ii("hf-compressor"),"worklet-limiter":ii("hf-limiter"),"worklet-gate":ii("hf-gate"),"worklet-bitcrush":ii("hf-bitcrush"),waveshaper:Wb,"delay-feedback":Vb,"chorus-lfo":zb,"allpass-phaser":$b,convolver:jb};function Ad(e){return e.nodes.some(t=>fn(t.type)?.web.startsWith("worklet-")??!1)}function Yb(e,t,n,r=0){let i=fn(t);if(!i)throw new Error(`Unknown effect type: ${t}`);let o=mn(t,n);if((t==="highpass"||t==="lowpass")&&String(o.poles)==="1")return Bb(t)(e,o,r);let a=Kb[i.web];if(!a)throw new Error(`No Web Audio builder for ${i.web}`);return a(e,o,r)}function xd(e){let t=[];for(let n of e){let r=n.fromPreset,i=t.at(-1);if(i&&i.preset===r)i.nodes.push(n);else{let o=typeof n.presetAmount=="number"?n.presetAmount:1;t.push({...r?{preset:r}:{},amount:Math.min(1,Math.max(0,o)),nodes:[n]})}}return t}function yd(e){return pn(e).map(t=>{let n=mn(t.type,t.params),r=n.poles!==void 0?`:${n.poles}`:"",i=String(n.poles)==="1"?`@${n.frequency}`:"",o=t.type==="phaser"?`~${n.type}`:"",a=t.fromPreset?`%${t.fromPreset}`:"";return`${t.type}${r}${i}${o}${a}`}).join("|")}function Cd(e,t,n=0){var m;let r=e.createGain(),i=e.createGain(),o=[],a=[],l=xd(pn(t)),s=r;for(let f of l){let p=null;if(f.preset){let b=e.createGain(),S=e.createGain(),x=e.createGain(),_=e.createGain();x.gain.value=f.amount,S.gain.value=1-f.amount,s.connect(b),b.connect(S).connect(_),p={entry:b,wet:x,dry:S,join:_},s=b}for(let b of f.nodes){let S=Yb(e,b.type,b.params??{},n);s.connect(S.input),s=S.output,o.push({...b.id?{id:b.id}:{},type:b.type,handle:S})}p&&f.preset&&(s.connect(p.wet).connect(p.join),a.push({id:f.preset,...p}),s=p.join)}s.connect(i);let u=yd(t),c={};for(let f of a)(c[m=f.id]??(c[m]=[])).push(...va(f.wet.gain,f.dry.gain));return{input:r,output:i,presets:c,nodes:o,update(f){if(yd(f)!==u)return!1;pn(f).forEach((b,S)=>{let x=o[S];x&&(x.handle.update(mn(b.type,b.params)),b.id===void 0?delete x.id:x.id=b.id)});let p=0;for(let b of xd(pn(f))){if(!b.preset)continue;let S=a[p++];!S||S.id!==b.preset||(S.wet.gain.value=b.amount,S.dry.gain.value=1-b.amount)}return!0},dispose(){for(let{handle:f}of o)f.dispose();for(let{entry:f,wet:p,dry:b,join:S}of a)f.disconnect(),p.disconnect(),b.disconnect(),S.disconnect();r.disconnect(),i.disconnect()}}}var wd={version:1,nodes:[]},_d={version:1,lanes:[]};function Td(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(Pt):null)??"";if(!n)return _d;try{return Ws(Sr(n),t)}catch{return _d}}function er(e){let t=(typeof e.getAttribute=="function"?e.getAttribute(br):null)??"";if(!t)return{chain:wd,raw:""};try{return{chain:Gs(t),raw:t}}catch{return{chain:wd,raw:""}}}function Rd(e){return Td(e,er(e).chain)}function Aa(e,t,n,r,i){let{chain:o}=er(t),a=null,l=[],s=!1,u=0,c=()=>{try{a?(n.disconnect(a.input),a.output.disconnect(r),a.dispose()):n.disconnect(r)}catch{}a=null},m=(T,F)=>{if(T.nodes.length===0){n.connect(r);return}if(Ad(T)&&!xa(e)){n.connect(r);let M=++u;ya(e).then(()=>{s||M!==u||x(er(t).chain)}).catch(()=>{});return}try{let M=Cd(e,T,F);n.connect(M.input),M.output.connect(r),a=M}catch{n.connect(r)}},f=(T,F)=>{l=F&&a?pd(Td(t,T),T,a.nodes,F,a.presets):[]},p=i?{...i}:null;m(o,p?.elapsed??0),f(o,p);let b=()=>{if(!p)return null;let T=typeof e.currentTime=="number"?e.currentTime:p.scheduledAt;return{scheduledAt:T,elapsed:p.elapsed+(T-p.scheduledAt)*p.rate,rate:p.rate}},S=T=>{let F=b();F&&(Qn(l,F.scheduledAt),f(T,F))},x=T=>{let F=b();Qn(l,F?.scheduledAt??0),c(),m(T,F?.elapsed??0),f(T,F)},_=null,R=t;return typeof MutationObserver<"u"&&typeof R?.nodeType=="number"&&(_=new MutationObserver(()=>{let T=er(t);l.length>0&&ha(l),!a||!a.update(T.chain)?x(T.chain):S(T.chain)}),_.observe(R,{attributes:!0,attributeFilter:[br,Pt]})),{setRate:T=>{let F=b();s||!F||!Number.isFinite(T)||T<=0||T===F.rate||(p={...F,rate:T},Qn(l,F.scheduledAt),f(er(t).chain,p))},dispose:()=>{s=!0,_?.disconnect(),l.length>0&&Qn(l,typeof e.currentTime=="number"?e.currentTime:0),a?.dispose()}}}function Ca(e){return!Number.isFinite(e)||e<=0?1:e}function Xb(e,t){t||e.paused||!ur().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Jb(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,globalRate:o,mediaRate:a,clipDuration:l}=t,s=Number.isFinite(l)&&l>0,u=l*a;if(n>=0){let m=n*a,f=u-m;return s&&f<=0?!1:(s?e.start(0,m+r,f):e.start(0,m+r),!0)}let c=-n/o;return s?e.start(i+c,r,u):e.start(i+c,r),!0}function kd(e,t,n){let r=hd(Rd(e));r&&ga([{param:t.gain}],r,yr.scale,n)}function tr(e){return e.sourceKind==="buffer"}var oi=class{constructor(){ge(this,"_ctx",null);ge(this,"_bufferCache",new Map);ge(this,"_failedSrcs",new Set);ge(this,"_mediaElementSources",new WeakMap);ge(this,"_activeSources",[]);ge(this,"_masterGain",null);ge(this,"_masterVolume",1);ge(this,"_masterMuted",!1);ge(this,"_rateAnchorCtx",0);ge(this,"_rateAnchorComp",0);ge(this,"_rate",1);ge(this,"_paused",!0);ge(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),this.applyMasterGain(),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return N("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return N("webAudioTransport.fetch",i),null}try{let i=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,i),i}catch(i){return this._failedSrcs.add(n),N("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async scheduleMediaElementPlayback(t,n,r,i,o,a,l=1){if(!this._ctx||!this._masterGain||a!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),a!==this._playGeneration)return null;let s=this._mediaElementSources.get(t);s||(s=this._ctx.createMediaElementSource(t),this._mediaElementSources.set(t,s));let u=Ca(l),c=this._ctx.createGain();c.gain.value=o;let m=this._ctx.currentTime,f=i-n,p={scheduledAt:m,elapsed:f,rate:u},b=Aa(this._ctx,t,s,c,p);c.connect(this._masterGain),kd(t,c,p),this._rate=u,this._rateAnchorCtx=m,this._rateAnchorComp=i;let S={fx:b,el:t,sourceNode:s,sourceKind:"media-element",gainNode:c,compositionStart:n,mediaStart:r,scheduledAt:m,priorMuted:t.muted,priorVolume:t.volume,mediaPlaybackRate:Te(t),bounded:!1};return t.volume=1,this._activeSources.push(S),this._paused=!1,S}catch(s){return N("webAudioTransport.mediaElementSource",s),null}}async schedulePlayback(t,n,r,i,o,a,l,s=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=Ca(s),m=Te(t),f=c*m,p=this._ctx.createBufferSource();p.buffer=n,p.playbackRate.value=f;let b=this._ctx.createGain();b.gain.value=a;let S=o-r,x=this._ctx.currentTime,_={scheduledAt:x,elapsed:S,rate:c},R=Aa(this._ctx,t,p,b,_);if(b.connect(this._masterGain),kd(t,b,_),this._rate=c,this._rateAnchorCtx=x,this._rateAnchorComp=o,!Jb(p,{elapsed:S,mediaStart:i,scheduledAt:x,globalRate:c,mediaRate:m,clipDuration:u}))return p.disconnect(),R?.dispose(),b.disconnect(),null;let T=t.muted;t.muted=!0,Xb(t,T);let F={fx:R,el:t,sourceNode:p,sourceKind:"buffer",gainNode:b,compositionStart:r,mediaStart:i,scheduledAt:x,priorMuted:T,priorVolume:t.volume,mediaPlaybackRate:m,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(F),this._paused=!1,p.addEventListener("ended",()=>{let M=this._activeSources.indexOf(F);if(M!==-1){this._activeSources.splice(M,1),t.muted=T;try{p.disconnect(),R?.dispose(),b.disconnect()}catch{}this._activeSources.length===0&&(this._paused=!0)}}),F}catch(c){return N("webAudioTransport.schedule",c),null}}setRate(t){let n=Ca(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let r of this._activeSources)try{tr(r)&&(r.sourceNode.playbackRate.value=n*r.mediaPlaybackRate),r.fx?.setRate(n)}catch(i){N("webAudioTransport.setRate",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>tr(t)&&t.bounded)}stopAll(){for(let t of this._activeSources){try{tr(t)&&t.sourceNode.stop(),t.sourceNode.disconnect(),t.fx?.dispose(),t.gainNode.disconnect()}catch{}tr(t)?t.el.muted=t.priorMuted:t.el.volume=t.priorVolume}this._activeSources=[],this._paused=!0}setVolume(t){this._masterVolume=Math.max(0,Math.min(1,t)),this.applyMasterGain()}setElementVolume(t,n){let r=Math.max(0,Math.min(1,n));for(let i of this._activeSources)if(i.el===t)try{i.sourceKind==="media-element"&&(i.el.volume=1),i.gainNode.gain.value=r}catch(o){N("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterMuted=t,this.applyMasterGain()}applyMasterGain(){this._masterGain&&(this._masterGain.gain.value=this._masterMuted?0:this._masterVolume)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t&&tr(n))}routesElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._mediaElementSources=new WeakMap,this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null,this._masterVolume=1,this._masterMuted=!1}};var Fd="data-hf-studio-manual-edit-gesture";function Md(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var Qb=/^\s*spring\(\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+))\s*\)\s*$/;function Ld(e){return Math.max(0,Math.min(1,e))}function Nd(e){let t=Qb.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?Ld(n):null}function Dd(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=Ld(t),r=12-n*6,i=Math.PI*2*(1+n*1.5),o=1-Math.exp(-r)*Math.cos(i);return(1-Math.exp(-r*e)*Math.cos(i*e))/o}var Zb=/^\s*wiggle\(\s*(\d+)\s*,\s*(easeOut|easeInOut|anticipate|uniform)\s*(?:,\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?)\s*)?\)\s*$/,ex=Math.PI*2;function tx(e){let t=Zb.exec(e);if(!t)return null;let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)return null;let r=t[2];if(r!=="easeOut"&&r!=="easeInOut"&&r!=="anticipate"&&r!=="uniform")return null;if(t[3]===void 0)return{wiggles:n,type:r};let i=Number(t[3]);return!Number.isFinite(i)||i<0||i>1?null:{wiggles:n,type:r,amplitude:i}}function nx(e,t,n,r){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let i=r??(n==="easeInOut"?.08:n==="uniform"?.14:n==="anticipate"?.12:.16),o=n==="easeInOut"?i*Math.sin(Math.PI*e):n==="uniform"?i:i*(1-e);return e+(n==="anticipate"?-1:1)*o*Math.sin(ex*t*e)}function Id(e,t){let n=tx(e);if(!n)return null;let r=`${n.wiggles}:${n.type}:${n.amplitude??"default"}`,i=t?.get(r);if(i)return i;let o=a=>nx(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var rx=24,Pd=e=>e>=1?1:0,ix=e=>e,ai=String.raw`([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)`,ox=new RegExp(String.raw`^\s*M\s*0\s*,\s*0\s+C\s*${ai}\s*,\s*${ai}\s+${ai}\s*,\s*${ai}\s+1\s*,\s*1\s*$`,"i");function Od(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function ax(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<rx;l+=1){let s=(o+a)/2;Od(s,t,r)<e?o=s:a=s}return Od((o+a)/2,n,i)}function sx(e){let t=ox.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=Number(t[4]);return Math.min(n,i)<0||Math.max(n,i)>1?null:a=>ax(a,n,r,i,o)}function lx(e,t){if(!e.startsWith("spring("))return null;let n=Nd(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>Dd(o,n);return t.set(n,i),i}function ux(e,t){if(!e.startsWith("custom(")||!e.endsWith(")"))return null;let n=e.slice(7,-1),r=t.get(n);if(r)return r;let i=sx(n);return i&&t.set(n,i),i}function Hd(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?Pd:Id(s,i)??lx(s,r)??ux(s,n),a=(s,u,c=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\(|$)/.test(s.trim())&&Le("custom_ease_parse_failed",{ease:s}),t.call(u,s,...c)??ix)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",Pd);let s=u=>{let c=m=>m;c.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,c)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var wa="data-hf-authored-duration",_a="data-hf-authored-end",Gd=!1;function ot(e){if(e){if(typeof e.pause!="function"){Gd||(Gd=!0,Le("timeline_missing_pause",{}));return}try{e.pause()}catch(t){N("runtime.timeline.pause",t)}}}function cx(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,r=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(r)||r<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:r,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function Bd(){let e=Ll();ns(ye),jr(document),ra(document);let t=cx();e.canonicalFps=t.fps??e.canonicalFps,es(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,r=null,i=null,o=[],a=new Set,l=null,s=new Set,u=(d,g,h)=>{s.has(d)||(s.add(d),Le(g,h))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){N("runtime.init.site1",d)}let c=new ri;e.transportClock=c;let m=new oi,f=!1;m.init().then(d=>{f=d});let p=()=>{let d=window.gsap,g=window;if(!(!d?.registerPlugin||g.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),g.__hfAutoNoopRegistered=!0}catch(h){u("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),N("runtime.autoMarker.install",h)}},b=()=>{let d=window.gsap;if(!d){u("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{Hd(d)||u("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(g){u("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),N("runtime.customEase.install",g)}};p(),b(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{us(document)}catch(d){N("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let S=()=>{let d=document.querySelector('[data-composition-id][data-root="true"]');if(d instanceof HTMLElement)return d;let g=Array.from(document.querySelectorAll("[data-composition-id]"));return g.find(h=>!h.parentElement?.closest("[data-composition-id]"))??g[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,g=S()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[g]=d[0];else for(let y=0;y<d.length;y++)h[`tl-${y}`]=d[y];window.__timelines=h}let x=S();x&&!x.hasAttribute("data-start")&&x.setAttribute("data-start","0");let _=d=>{o.push(d)},R=(d,g,h)=>{let y=h??`${d}:${JSON.stringify(g)}`;a.has(y)||(a.add(y),ye({source:"hf-preview",type:"diagnostic",code:d,details:g}))},T=d=>{let g={scale:1,focusX:960,focusY:540},h=[],y=[],C={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:()=>g,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:()=>y,getRenderState:()=>({...C,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},F=1/60,M=.75,A=.05,v=100,E=240,w=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??"")}},L=d=>{let g=d.toLowerCase();return g.includes("cannot read properties of null")||g.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:g.includes("failed to execute 'queryselector'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:g.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},D=d=>{if(d==null||d.trim()==="")return null;let g=Number.parseFloat(d);return!Number.isFinite(g)||g<=0?null:`${g}px`},H=()=>S(),z=()=>{let d=H();if(!d)return;let g=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));g&&(d.style.width=g),h&&(d.style.height=h),g&&d.style.setProperty("--comp-width",g),h&&d.style.setProperty("--comp-height",h)},j=()=>{let d=H(),g=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of g){if(d&&h===d)continue;let y=h.getAttribute("data-duration"),C=h.getAttribute("data-end");y!=null&&!h.hasAttribute(wa)&&h.setAttribute(wa,y),C!=null&&!h.hasAttribute(_a)&&h.setAttribute(_a,C),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},k=()=>{let d=H();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let g=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));g&&(d.style.width=g),h&&(d.style.height=h);let y=Array.from(d.children);for(let C of y){let I=C.tagName.toLowerCase();if(I==="script"||I==="style"||I==="link"||I==="meta"||!C.hasAttribute("data-start")||C.hasAttribute("data-hf-autostamped"))continue;let G=(C.style.top==="0px"||C.style.top==="0")&&(C.style.left==="0px"||C.style.left==="0")&&C.style.width==="100%"&&C.style.height==="100%",Z=/translate\(\s*-50%\s*,\s*-50%\s*\)/.test(C.style.transform);if(G&&Z&&!C.hasAttribute("data-width")&&!C.hasAttribute("data-height")){let Se=C.style.top,sn=C.style.left,_e=C.style.width,ln=C.style.height;C.style.top="",C.style.left="",C.style.width="",C.style.height="";let oe=window.getComputedStyle(C);oe.top!=="auto"||oe.bottom!=="auto"||oe.left!=="auto"||oe.right!=="auto"||oe.width!=="0px"||oe.height!=="0px"||(C.style.top=Se,C.style.left=sn,C.style.width=_e,C.style.height=ln)}let $=window.getComputedStyle(C),de=$.position;if(de!=="absolute"&&de!=="fixed"&&(C.style.position="absolute"),!!C.style.top||!!C.style.bottom||$.top!=="auto"||$.bottom!=="auto"||(C.style.top="0"),!!C.style.left||!!C.style.right||$.left!=="auto"||$.right!=="auto"||(C.style.left="0"),I!=="audio"){let Se=D(C.getAttribute("data-width")),sn=D(C.getAttribute("data-height")),_e=$.width!=="0px"&&$.width!=="auto",ln=$.height!=="0px"&&$.height!=="auto";Se?!C.style.width&&!_e&&(C.style.width=Se):!C.style.width&&$.width==="0px"&&(C.style.width="100%"),sn?!C.style.height&&!ln&&(C.style.height=sn):!C.style.height&&$.height==="0px"&&(C.style.height="100%")}}},B=(d,g=0,h)=>dt({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,g),ee=(d,g)=>dt({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:g?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),U=d=>{let g=d.closest("[data-composition-id]"),h=g?B(g,0):null,y=g?ee(g,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:g,inheritedStart:h,inheritedDuration:y}},V=d=>{let g=U(d),h=g.inheritedStart??0,y=Ge(d.getAttribute("data-start"));if(d.hasAttribute("data-hf-auto-start")||y==null||h<=0)return B(d,h);let C=ve(d.getAttribute("data-duration")),I=g.inheritedDuration,G=I!=null&&I>0?h+I:null,Z=C!=null&&C>0?y+C:y;return(G==null?y>=h:y<G&&(Z>h||y===h))?y:h+y};window.__hfResolveMediaStartSeconds=V,o.push(()=>{window.__hfResolveMediaStartSeconds===V&&delete window.__hfResolveMediaStartSeconds});let q=(d,g)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let C=h==="video"||h==="audio"?V(d):B(d,0),I=ee(d),G=d.getAttribute("data-composition-id");if(G){let $=(window.__timelines??{})[G],de=null;if($&&typeof $.duration=="function"){let ie=Number($.duration());Number.isFinite(ie)&&ie>0&&(de=ie)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(wa)||d.hasAttribute(_a))&&(I==null||I<=0)&&de!=null&&(I=de)}let Z=I!=null&&I>0?C+I:Number.POSITIVE_INFINITY;return g>=C&&(Number.isFinite(Z)?g<Z:!0)},X=!!document.querySelector("[data-composition-src]"),we=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let g of d){let h=g.getAttribute("data-composition-id");if(h&&g.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){we=!0;break}}}let W=!X&&!we,P=d=>{if(!d||typeof d.duration!="function")return null;try{let g=Number(d.duration());return Number.isFinite(g)?Math.max(0,g):null}catch{return null}},O=d=>typeof d=="number"&&Number.isFinite(d)&&d>F,ce=d=>{let g=ve(d.getAttribute("data-duration"));return g!=null&&g>0?g:Number.isFinite(d.duration)?Ze(d,d.duration):null},se=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let g=0;for(let h of d){let y=V(h);if(!Number.isFinite(y))continue;let C=ce(h);C==null||C<=F||(g=Math.max(g,Math.max(0,y)+C))}return g>F?g:null},J=()=>{let d=H();if(!d)return null;let g=window.__timelines??{},h=dt({timelineRegistry:g,includeAuthoredTimingAttrs:!0}),y=0,C=ve(d.getAttribute("data-duration"));C!=null&&C>0&&(y=C);let I=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let G of I){if(!(G instanceof Element)||G.parentElement?.closest("[data-composition-id]")!==d)continue;let $=h.resolveStartForElement(G,0),de=h.resolveDurationForElement(G);!Number.isFinite($)||de==null||de<=0||(y=Math.max(y,Math.max(0,$)+de))}return y>F?y:null},K=()=>{let d=se();return typeof d!="number"||!Number.isFinite(d)||d<=F?null:d},Y=d=>O(d)?Math.max(F,d*M):F,ze=()=>{let d=0;for(let g of e.deterministicAdapters){let h=g.getInferredDurationSeconds;if(typeof h!="function")continue;let y=null;try{y=h()}catch(C){N("runtime.init.adapterDuration",C)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(d=Math.max(d,y))}return d>F?d:null},xe=(d,g=0)=>{let h=P(d),y=K(),C=J(),I=ze(),G=Math.max(y??0,C??0,I??0),Z=Number.isFinite(g)&&g>F?g:0,$=0;return O(h)?$=Math.max(h,G,Z):O(G)?$=Math.max(G,Z):$=Z,$>0?Math.max(0,$):0},Mt=()=>{let d=window.__timelines??{},g=oe=>{let ne=Object.entries(d).filter(ae=>!!ae[1]&&typeof ae[1].play=="function"&&typeof ae[1].pause=="function");if(ne.length!==1)return{timeline:null};let he=ne[0];if(!he)return{timeline:null};let[be,fe]=he;return{timeline:fe,selectedTimelineIds:[be],selectedDurationSeconds:P(fe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:oe,soleTimelineId:be}}}},h=dt({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),y=K(),C=J(),I=Math.max(y??0,C??0)||null,G=Y(I),Z=oe=>{let ne=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return ne?h.resolveStartForElement(ne,0):0},$=oe=>{let ne=window.gsap;if(!ne||typeof ne.timeline!="function")return null;let he=ne.timeline({paused:!0});for(let be of oe)he.add(be.timeline,Z(be.compositionId));return he},de=(oe,ne)=>{if(!O(oe))return null;let he=window.gsap;if(!he||typeof he.timeline!="function")return null;let be=he.timeline({paused:!0});if(ne)try{be.add(ne,0)}catch(ae){N("runtime.init.site2",ae)}let fe=be;if(typeof fe.to=="function")try{fe.to({},{duration:oe})}catch(ae){N("runtime.init.site3",ae)}return be},Me=(oe,ne)=>{let he=oe;if(typeof he.getChildren!="function")return[];try{let be=he.getChildren(!0,!0,!0)??[];if(!Array.isArray(be))return[];let fe=[];for(let ae of ne)if(!be.some(Qe=>Qe===ae.timeline))try{let Qe=Z(ae.compositionId);oe.add(ae.timeline,Qe),fe.push(ae.compositionId)}catch(Qe){N("runtime.init.site4",Qe)}return fe}catch{return[]}},ie=H(),te=ie?.getAttribute("data-composition-id")??null;if(!te)return g("root_missing_composition_id");let Se=d[te]??null,_e=(()=>{if(!ie)return[];let oe=new Set,ne=Array.from(ie.querySelectorAll("[data-composition-id]")),he=[];for(let be of ne){let fe=be.getAttribute("data-composition-id");if(!fe||fe===te||oe.has(fe))continue;oe.add(fe);let ae=d[fe]??null;if(!ae||typeof ae.play!="function"||typeof ae.pause!="function")continue;let st=P(ae);he.push({compositionId:fe,timeline:ae,durationSeconds:st??0})}return he})(),ln=oe=>{for(let ne of oe){let he=ne.timeline;if(typeof he.paused=="function")try{he.paused(!1)}catch(be){N("runtime.init.site5",be)}}};if(_e.length>0&&ln(_e),Se){let oe=_e.length>0?Me(Se,_e):[];if((_e.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id='"+te+"'])"))&&(Ie=!0),oe.length>0)try{let fe=Se.time();Se.seek(fe,!1)}catch{}let ne=P(Se);if(!O(ne)&&_e.length>0){let fe=_e.map(Wf=>Wf.compositionId),ae=$(_e),st=P(ae);if(ae&&O(st))return{timeline:ae,selectedTimelineIds:fe,selectedDurationSeconds:st,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:te,rootDurationSeconds:ne,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:G,selectedDurationSeconds:st,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:C,selectedTimelineIds:fe,autoNestedChildren:oe}}};let Qe=de(I??0,Se),Ci=P(Qe);if(Qe&&O(Ci))return{timeline:Qe,selectedTimelineIds:[te],selectedDurationSeconds:Ci,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:ne,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:Ci,selectedTimelineIds:[te],autoNestedChildren:oe}}}}if(!O(ne)&&_e.length===0){let fe=de(I??0,Se),ae=P(fe);if(fe&&O(ae))return{timeline:fe,selectedTimelineIds:[te],selectedDurationSeconds:ae,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:ne,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:ae,selectedTimelineIds:[te]}}}}let he=ve(ie?.getAttribute("data-duration")),be=Math.max(O(he)?he:0,C??0);if(be>0&&O(be)&&O(ne)&&be>=ne+.5){let fe=Se;if(typeof fe.to=="function")try{fe.to({},{duration:0},be)}catch(st){N("runtime.init.site6",st)}let ae=P(Se);if(O(ae))return{timeline:Se,selectedTimelineIds:[te],selectedDurationSeconds:ae,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:te,rootDurationSeconds:ne,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:C,newDur:ae}}}}return{timeline:Se,selectedTimelineIds:[te],selectedDurationSeconds:ne,mediaDurationFloorSeconds:y,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:te,selectedDurationSeconds:ne,autoNestedChildren:oe}}:void 0}}if(_e.length>0){let oe=_e.map(be=>be.compositionId),ne=$(_e),he=P(ne);if(ne)return{timeline:ne,selectedTimelineIds:oe,selectedDurationSeconds:he,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:te,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:G,selectedDurationSeconds:he,mediaDurationFloorSeconds:y,selectedTimelineIds:oe}}}}return g("root_composition_id_unmatched_in_registry")},Ie=!1,Ef=d=>{let g=window.gsap,h=d;if(!(!h||typeof h.getChildren!="function"||!g||typeof g.parseEase!="function"))for(let y of h.getChildren(!0,!0,!0)){let C=y,I=C.timeline;if(!I||!("_ease"in I)||typeof I._ease=="function")continue;let G=C.vars?.keyframes,$=(G&&!Array.isArray(G)?G.ease:void 0)??C.vars?.ease??"none";try{let de=g.parseEase($);typeof de=="function"&&(I._ease=de)}catch(de){Le("keyframe_ease_repair_failed",{ease:typeof $=="string"?$:String($)}),N("runtime.keyframeEase.repair",de)}}},tn=()=>{if(b(),!W)return!1;let d=e.capturedTimeline,g=P(d),h=O(g);if(d&&h&&Ie)return!1;let y=Mt();if(!y.timeline)return!1;if(d&&d===y.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),Ef(e.capturedTimeline);let C=xe(e.capturedTimeline,0);if(C<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),ot(e.capturedTimeline)),C>0){try{c.setDuration(C)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let G=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(G,!1),ot(e.capturedTimeline)}let I=window.__hfStudioManualEditsApply;typeof I=="function"&&I(),jr(document)}if(y.diagnostics&&ye({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),ye({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let I=H(),G=C>0?C:0,Z=String(G>0?G:1),$=new Set,de=new Set(document.querySelectorAll("[data-start]")),Me=ie=>{let te=ie.parentElement;for(;te&&te!==I;){if(de.has(te))return!0;te=te.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ie of e.capturedTimeline.getChildren(!0))if(typeof ie.targets=="function")for(let te of ie.targets())te instanceof HTMLElement&&te!==I&&(te.hasAttribute("data-start")||Me(te)||$.has(te)||($.add(te),te.setAttribute("data-start","0"),te.setAttribute("data-duration",Z),te.setAttribute("data-hf-autostamped","1")))}catch{}if(I instanceof HTMLElement)for(let ie of I.querySelectorAll("[id]"))ie instanceof HTMLElement&&ie!==I&&(ie.hasAttribute("data-start")||Me(ie)||$.has(ie)||ie.tagName==="SCRIPT"||ie.tagName==="STYLE"||ie.tagName==="LINK"||($.add(ie),ie.setAttribute("data-start","0"),ie.setAttribute("data-duration",Z),ie.setAttribute("data-hf-autostamped","1")))}for(let I of nn)ir.delete(I),Ba(I);return!0};window.__hfForceTimelineRebind=()=>{Ie=!1,tn(),xi(e.currentTime)};let Af=()=>{let d=H();if(!(d instanceof HTMLElement))return;let g=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),y=Number(d.getAttribute("data-height")),C=window.getComputedStyle(d),I=Number.isFinite(h)&&h>0&&Number.isFinite(y)&&y>0,G=g.width<=0||g.height<=0||d.clientWidth<=0||d.clientHeight<=0;!I||!G||R("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:y,rectWidth:Math.round(g.width),rectHeight:Math.round(g.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:C.display,visibility:C.visibility,overflow:C.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Cf=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,Af()}))},wf=()=>{r=d=>{let g=w(d.error??d.message).slice(0,E);if(!g)return;let h=L(g);ye({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:g,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let g=w(d.reason).slice(0,E);if(!g)return;let h=L(g);ye({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:g}})},window.addEventListener("error",r),window.addEventListener("unhandledrejection",i)},_f=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel='stylesheet']"));for(let h of d){let y=()=>{if(!(h instanceof Element))return;let C=h.tagName.toLowerCase(),I=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,G=C==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";R(G,{tagName:C,assetUrl:I,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${G}:${C}:${I??"unknown"}`)};h.addEventListener("error",y),_(()=>{h.removeEventListener("error",y)})}let g=document.fonts;g&&g.ready.then(()=>{if(e.tornDown)return;let h=Array.from(g).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);h.length!==0&&R("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(g).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Tf=(d,g)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let y=Math.max(0,e.currentTime||0),C=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{ot(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(y,!1),C&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(I){N("runtime.init.site7",I)}return ye({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:g,previousTime:y,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},St=null,Pa=!1,Oa=!1,nn=new Set,ir=new WeakMap,or=()=>{e.tornDown||(St!=null&&window.clearTimeout(St),St=window.setTimeout(()=>{if(e.tornDown||(St=null,Oa&&window.__HF_EXPORT_RENDER_SEEK_CONFIG))return;let d=Mt();if(!d.timeline||!O(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){tn()&&(vt(),Fe(!0));return}if(Pa)return;let h=P(e.capturedTimeline),y=d.selectedDurationSeconds??P(d.timeline);O(y)&&(!O(h)||y>=h+A)&&Tf(d,"manual")&&(Pa=!0,ye({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:y??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),vt(),Fe(!0))},v))},Ha=d=>{d.currentTarget instanceof HTMLMediaElement&&Zs(d.currentTarget)},Ga=d=>{d.currentTarget instanceof HTMLMediaElement&&el(d.currentTarget)},Rf=()=>{for(let d of nn)d.removeEventListener("loadedmetadata",or),d.removeEventListener("durationchange",or),d.removeEventListener("loadedmetadata",Ha),d.removeEventListener("error",Ga);nn.clear()},pi=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let g of d){if(nn.has(g))continue;nn.add(g);let h=Number.parseFloat(g.dataset.volume??"");Number.isFinite(h)&&(g.volume=Math.max(0,Math.min(1,h))),g.addEventListener("loadedmetadata",or),g.addEventListener("durationchange",or),g.addEventListener("loadedmetadata",Ha),g.addEventListener("error",Ga),Qs(g),g.preload!=="auto"&&(g.preload="auto"),g.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&g.load(),Ba(g)}},Ba=d=>{ir.has(d)||Is(d,e.capturedTimeline,xe(e.capturedTimeline,0),ir,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},hi=new WeakMap,Ua=d=>{let g=hi.get(d);if(g!==void 0)return g;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return hi.set(d,y),y},gi=new WeakMap,kf=d=>{let g=gi.get(d);if(g!==void 0)return g;let h=d.querySelector("[data-start]")===null;return gi.set(d,h),h},Ff=()=>{hi=new WeakMap,gi=new WeakMap},bi=new WeakMap,ar=new WeakSet,xi=(d,g=Array.from(document.querySelectorAll("[data-start]")))=>{let h=H();for(let y of g){if(!(y instanceof HTMLElement))continue;if(y.hasAttribute("data-hidden")){ar.has(y)||(bi.set(y,y.style.getPropertyValue("display")),ar.add(y)),y.style.display="none",(y instanceof HTMLVideoElement||y instanceof HTMLImageElement)&&n?.setSourceVisibility(y,!1);continue}if(ar.has(y)){let I=bi.get(y);I?y.style.display=I:y.style.removeProperty("display"),bi.delete(y),ar.delete(y)}let C=q(y,d);if(C){let I=y.parentElement;for(;I&&I!==h;){if(I instanceof HTMLElement&&I.hasAttribute("data-start")&&!q(I,d)){C=!1;break}I=I.parentElement}}y.style.visibility=C?"visible":"hidden",(y instanceof HTMLVideoElement||y instanceof HTMLImageElement)&&n?.setSourceVisibility(y,C),C?Ua(y)&&y.style.removeProperty("display"):Ua(y)&&kf(y)&&(y.style.display="none")}},Pe=()=>{let d=js({shouldIncludeElement:h=>h.hasAttribute("data-start")||!!U(h).compositionRoot,resolveStartSeconds:h=>V(h),resolveDurationSeconds:h=>{let y=U(h),C=V(h),I=y.inheritedStart!=null&&y.inheritedDuration!=null&&y.inheritedDuration>0?Math.max(0,y.inheritedStart+y.inheritedDuration-C):null,G=Number.isFinite(h.duration)?Ze(h,h.duration):null,Z=ve(h.dataset.duration),$=Z!=null&&Z>0?Z:null;return $s({isVideo:h.tagName==="VIDEO",sourceDuration:G,hostRemaining:I,explicitDuration:$})}});for(let h of d.mediaClips){let y=ir.get(h.el);y&&(h.volumeKeyframes=y)}let g=e.mediaForceSyncNextTick;g&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||Ks({clips:d.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted,userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:g,onElementVolume:(h,y,C)=>m.setElementVolume(h,C),isWebAudioOwned:h=>m.ownsElement(h),isWebAudioRouted:h=>m.routesElement(h),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,ye({source:"hf-preview",type:"media-autoplay-blocked"}))}}),xi(e.currentTime)},Fe=d=>{let g=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||g!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=g,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,ye({source:"hf-preview",type:"state",frame:g,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},yi="",Wa=0,Mf=()=>{let d="";for(let g of document.querySelectorAll("[data-start]"))d+=`${g.id}:${g.tagName}|`;return d},vt=()=>{j(),z(),k();let d=H();if(d){let y=D(d.getAttribute("data-width")),C=D(d.getAttribute("data-height")),I=y?parseInt(y,10):0,G=C?parseInt(C,10):0;I>0&&G>0&&ye({source:"hf-preview",type:"stage-size",width:I,height:G})}tn();let g=Ol({canonicalFps:e.canonicalFps});window.__clipManifest=g;let h=Mf();if(yi!==h&&Ff(),!window.__clipTree||yi!==h){let y=window;window.__clipTree=Nl({startResolver:dt({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:g.durationInFrames/e.canonicalFps}),yi=h}ye(g),Cf()},Si=d=>typeof d=="number"&&Number.isFinite(d)&&d>0?d:0,Lf=d=>{let g=Si(Number(d));if(g<=0)return;let h=H(),y=Si(ve(h?.getAttribute("data-duration"))),C=Math.max(Wa,Si(c.getDuration()),y);g<=C||(Wa=g,h?.setAttribute("data-duration",String(g)),c.setDuration(g),vt(),Fe(!0))},Oe=(d,g=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(y){N("runtime.init.site8",y)}if(d==="discover")try{h.seek({time:g,suppressEvents:!0})}catch(y){N("runtime.init.site9",y)}}},Et=()=>{window.__renderReady=!1},rn=null,on=!0,Nf=()=>{let d=[];for(let g of e.deterministicAdapters){let h=g.getReadyPromise;if(typeof h=="function")try{let y=h();y&&d.push(y)}catch(y){N("runtime.init.adapterReady",y)}}return d},Df=()=>{let d=Nf();if(d.length===0)return rn=null,on=!0,!0;let g=d[0];if(!g)return!0;let h=d.length===1?g:Promise.all(d);return h!==rn&&(rn=h,on=!1,Promise.resolve(h).then(()=>{rn===h&&(on=!0,Et())},y=>{rn===h&&(on=!0,N("runtime.init.adapterReady",y),Et())})),on};if(W)Jo();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:D,onDiagnostic:({code:g,details:h})=>{ye({source:"hf-preview",type:"diagnostic",code:g,details:h})}};Rc(d).then(()=>Tc(d)).finally(()=>{W=!0,pi(),_f(),Jo(),ra(document),Et()})}let sr=Rl({postMessage:d=>ye(d)});sr.installPickerApi(),xi(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let qe=md();n=qe,_(()=>{qe.destroy(),n=null});let vi=d=>{let g=Number(d);!Number.isFinite(g)||g<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,g)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let y of h)if(y instanceof HTMLMediaElement)try{y.playbackRate=e.playbackRate}catch(C){N("runtime.init.site10",C)}},Va={play:()=>{let d=e.capturedTimeline;if(c.isPlaying())return;let g=xe(d,0);if(g>0)c.setDuration(g),c.reachedEnd()&&(c.seek(0),e.currentTime=0,At(0));else{let h=H(),y=Number(h?.getAttribute("data-duration")??0);y>0&&c.setDuration(y)}ot(d),c.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Ya(c.now()),f&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Xa(),Oe("play"),Pe(),qe.redraw(),Fe(!0))},pause:()=>{if(!c.isPlaying())return;m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1,e.currentTime=c.now(),e.mediaForceSyncNextTick=!0,Ya(e.currentTime);let d=e.capturedTimeline;ot(d),Oe("pause"),Pe(),qe.redraw(),Fe(!0)},seek:(d,g)=>{let h=Vt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource();let y=c.isPlaying();y&&c.pause(),c.seek(h),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let C=e.capturedTimeline;if(ot(C),At(e.currentTime),Oe("pause"),g?.keepPlaying&&y){Va.play();return}Pe(),qe.redraw(),Fe(!0)},renderSeek:(d,g)=>{Oa=!0;let h=Vt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource(),c.isPlaying()&&c.pause(),c.seek(h),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,At(e.currentTime,{activateChildren:!0,suppressEvents:g?.suppressEvents}),Oe("pause"),Pe(),qe.redraw(),Fe(!0)},getTime:()=>c.now(),getDuration:()=>{let d=c.getDuration();return Number.isFinite(d)?d:0},isPlaying:()=>c.isPlaying(),setPlaybackRate:d=>{vi(d),c.setRate(e.playbackRate),Ja()},getPlaybackRate:()=>e.playbackRate},za=xe(e.capturedTimeline,0);za>0&&c.setDuration(za);let He=Ml({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:vi,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,g)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==g&&(e.mediaForceSyncNextTick=!0),e.isPlaying=g,Pe()},onStatePost:Fe,onDeterministicSeek:(d,g)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:g?.suppressEvents})}catch(y){N("runtime.init.site11",y)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{qe.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>xe(e.capturedTimeline,0),transport:Va});window.__player=T(He),window.__playerReady=!0,Le("composition_loaded",{duration:He.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[Rs(),ds({resolveStartSeconds:d=>B(d,0)}),ms(),hs(),xs(),ys(),Ss(),vs(),Es(),As(),Cs(),fs({getTimeline:()=>e.capturedTimeline})],_s(),Ts(),window.__hfReseekGpu=d=>{let g=Math.max(0,Number(d)||0);window.__hfThreeTime=g,window.__hfTypegpuTime=g,hr(g)},window.__hfWaitForSeekCompletion=Ii,o.push(()=>{window.__hfWaitForSeekCompletion===Ii&&delete window.__hfWaitForSeekCompletion}),wf(),pi(),Oe("discover");let If=()=>{let d=e.capturedTimeline,g=tn();e.capturedTimeline&&(g||e.capturedTimeline!==d||!He._timeline)&&(He._timeline=e.capturedTimeline);let h=xe(e.capturedTimeline,0);if(h>0&&c.setDuration(h),Oe("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},C=Object.keys(y).filter(I=>y[I]);if(C.length>0){let G=H()?.getAttribute("data-composition-id")??null;R("root_timeline_unbound_registry_present",{reason:G?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:G,registeredTimelineKeys:C},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \u2014 render will freeze at t=0. "+(G?`Root data-composition-id is "${G}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${C.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${G??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,vt(),Fe(!0)},Lt=null,Pf=()=>{if(Lt)return;let d=()=>{window.removeEventListener("hf-timelines-built",d),Lt=null,Et()};Lt=d,window.addEventListener("hf-timelines-built",d)};_(()=>{Lt&&(window.removeEventListener("hf-timelines-built",Lt),Lt=null)}),Et=()=>{if(!W){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,Pf();return}if(Oe("discover",e.currentTime),!Df()){window.__renderReady=!1;return}If()},Et(),W&&setTimeout(()=>{Et()},0);let lr=0,Ei=!1,Of=(d,g,h,y)=>{try{let C=y?.suppressEvents===!0;ot(d),typeof d.totalTime=="function"?d.totalTime(g,C):d.seek(g,C)}catch(C){N(h,C)}},Hf=(d,g)=>{let h=window.__timelines??{},y=H()?.getAttribute("data-composition-id")??null;for(let[C,I]of Object.entries(h)){if(!I||C===y)continue;let G=document.querySelector(`[data-composition-id="${CSS.escape(C)}"]`);if(!G)continue;let Z=B(G,0);if(!Number.isFinite(Z))continue;let $=P(I),de=je(G)+Math.max(0,d-Z)*Te(G),Me=Math.max(0,$!=null&&$>0?Math.min($,de):de);Of(I,Me,"runtime.init.transport.childTimeline",g)}},qa=d=>{let g=window.__timelines??{};for(let h of Object.values(g))if(!(!h||h===d))try{h.play()}catch(y){N("runtime.init.activateSiblings",y)}},$a=d=>typeof d=="object"&&d!==null,an=new WeakMap,Gf=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],ja=(d,g)=>{let h=d[g];if(typeof h!="function")return null;try{let y=Number(h.call(d));return Number.isFinite(y)?y:null}catch(y){return N("runtime.init.gsapCallbackDuration",y),null}},Bf=d=>{let g=an.get(d);if(g!=null)return g;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(y){return N("runtime.init.gsapCallbackChildren",y),an.set(d,!1),!1}if(!Array.isArray(h))return an.set(d,!1),!1;for(let y of h){if(!$a(y))continue;let C=y.vars;if(!$a(C)||!Gf.some($=>typeof C[$]=="function"))continue;let Z=ja(y,"totalDuration")??ja(y,"duration");if(Z!=null&&Z<=1e-6)return an.set(d,!0),!0}return an.set(d,!1),!1};function At(d,g){let h=e.capturedTimeline,y=g?.suppressEvents===!0;if(h){g?.activateChildren&&qa(h);let C=h,I=d;if(typeof C.totalDuration=="function")try{let G=Number(C.totalDuration());Number.isFinite(G)&&G>0&&d>G&&(I=G)}catch(G){N("runtime.init.transport.clampDuration",G)}try{typeof h.totalTime=="function"?(h.totalTime(I,y),!y&&!Bf(h)&&(h.totalTime(I+.001,!0),h.totalTime(I,!0))):h.seek(I,y)}catch(G){N("runtime.init.transport.seek",G)}}Hf(d,g),h&&g?.activateChildren&&qa(h);for(let C of e.deterministicAdapters)if(!(C.name==="gsap"&&h))try{C.seek({time:d,suppressEvents:y})}catch(I){N("runtime.init.transport.adapter",I)}}let Uf=()=>{try{return document.querySelector(`[${Fd}]`)!=null}catch{return!1}},Ka=()=>{if(!(e.tornDown||Ei)){Ei=!0;try{if(e.transportRafId=window.requestAnimationFrame(Ka),lr+=1,Md({tick:lr,isPlaying:c.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:c.now()})){let g=e.capturedTimeline;if(tn()){e.capturedTimeline&&!He._timeline&&(He._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==g&&ot(e.capturedTimeline);let h=xe(e.capturedTimeline,0);h>0&&c.setDuration(h),vt()}}if(lr%20===0&&vt(),lr%30===0&&pi(),e.capturedTimeline){let g=xe(e.capturedTimeline,0);g>0&&(!c.isPlaying()||g>=c.getDuration())&&c.setDuration(g)}if(c.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.isActive()&&m.context){let g=m.getTime();g>=0&&c.attachAudioSource({currentTimeSeconds:g})}else{let g=document.querySelectorAll("audio[data-start]"),h=!1;for(let y of g){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let C=Number.parseFloat(y.dataset.start??""),I=ve(y.dataset.duration),G=I!=null&&I>0?C+I:1/0,Z=je(y);if(Number.isFinite(C)&&e.currentTime>=C&&e.currentTime<G){y.paused?!y.error&&y.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(c.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(c.attachAudioSource({el:y,compositionStart:C,mediaStart:Z}),h=!0);break}}!h&&c.hasAudioSource()&&c.detachAudioSource()}else c.hasAudioSource()&&c.detachAudioSource();let d=c.now();if(e.currentTime=d,(c.isPlaying()||!Uf())&&At(d),c.isPlaying()&&qe.redrawAnimated(),c.isPlaying()&&c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let g=c.getDuration();Number.isFinite(g)&&(c.seek(g),e.currentTime=g,At(g)),Oe("pause"),Pe(),Fe(!0);return}c.isPlaying()&&Pe(),Fe(!1)}finally{Ei=!1}}},Ya=d=>{let g=document.querySelectorAll("video, audio");for(let h of g){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let C=ve(h.dataset.duration),I=C!=null&&C>0?y+C:1/0;if(d<y||d>=I)continue;let G=je(h),Z=d-y+G;if(Z>=0)try{h.currentTime=Z}catch{}}},Xa=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=m.startGeneration(),g=document.querySelectorAll("audio[data-start]");for(let h of g){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let C=je(h),I=Number.parseFloat(h.dataset.volume??""),G=Number.isFinite(I)?I:1,Z=ve(h.dataset.duration),$=Z!=null&&Z>0?Z:Number.POSITIVE_INFINITY,de=h.closest("[data-composition-id]");if(de){let Me=B(de,0),ie=ee(de,{includeAuthoredTimingAttrs:!0});ie!=null&&ie>0&&($=Math.min($,Math.max(0,Me+ie-y)))}m.scheduleMediaElementPlayback(h,y,C,c.now(),G,d,e.playbackRate).then(Me=>{if(Me||!c.isPlaying())return;let ie=e.playbackRate*Te(h),te=h.hasAttribute("data-fx-chain")||h.hasAttribute("data-automation");if(Math.abs(ie-1)>1e-9){te&&(h.muted=!0);return}m.decodeAudioElement(h).then(Se=>{!Se||!c.isPlaying()||m.schedulePlayback(h,Se,y,C,c.now(),G,d,e.playbackRate,$)})})}};function Ja(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f&&c.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),Xa())}if(e.capturedTimeline){let d=xe(e.capturedTimeline,0);d>0&&c.setDuration(d),ot(e.capturedTimeline)}Dc(window),e.transportRafId=window.requestAnimationFrame(Ka),vt(),Fe(!0),e.controlBridgeHandler=ts({onPlay:()=>{He.play(),Le("composition_played",{time:He.getTime()})},onPause:()=>{He.pause(),Le("composition_paused",{time:He.getTime()})},onStopMedia:()=>{m.stopAll();let d=document.querySelectorAll("video, audio");for(let g of d)g instanceof HTMLMediaElement&&!g.paused&&g.pause()},onSeek:(d,g)=>{He.seek(d),Le("composition_seeked",{time:d})},onSetMuted:d=>{e.bridgeMuted=d;let g=d||e.mediaOutputMuted;m.setMuted(g);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=g||y.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,m.setVolume(d);let g=document.querySelectorAll("video, audio");for(let h of g){if(!(h instanceof HTMLMediaElement))continue;let y=parseFloat(h.dataset.volume??""),C=Number.isFinite(y)?y:1;h.volume=C*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let g=d||e.bridgeMuted;m.setMuted(g);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=g||y.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(m.stopAll(),c.detachAudioSource()):Pe())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(m.stopAll(),c.detachAudioSource()),Pe())},onSetPlaybackRate:d=>{vi(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),Ja()},onSetRootDuration:Lf,onSetColorGrading:(d,g)=>{qe.setGrading(d,g)},onSetColorGradingCompare:(d,g)=>{qe.setCompare(d,g)},onTick:()=>{if(e.tornDown||!c.isPlaying())return;let d=c.now();if(e.currentTime=d,At(d),c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let g=c.getDuration();Number.isFinite(g)&&(c.seek(g),e.currentTime=g,At(g)),Oe("pause"),Pe(),Fe(!0)}},onEnablePickMode:()=>sr.enablePickMode(),onDisablePickMode:()=>sr.disablePickMode(),getCanonicalFps:()=>e.canonicalFps});let Ai=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,m.destroy(),St!=null&&(window.clearTimeout(St),St=null),l!=null&&(window.cancelAnimationFrame(l),l=null),Rf(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),r&&(window.removeEventListener("error",r),r=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),sr.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(g){N("runtime.init.site12",g)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(g){N("runtime.init.site13",g)}for(let d of e.injectedCompStyles)try{d.remove()}catch(g){N("runtime.init.site14",g)}e.injectedCompStyles=[];for(let d of e.injectedCompLinks)try{d.remove()}catch(g){N("runtime.init.site15",g)}e.injectedCompLinks=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(g){N("runtime.init.site16",g)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===Ai&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Ai,e.beforeUnloadHandler=Ai,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var Ud=["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"],Ta=[[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 dx(e){if(e<=255)return Ud[e];let t=0,n=Ta.length-1;for(;t<=n;){let r=t+n>>1,i=Ta[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function fx(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let b=e.charCodeAt(u+1);b>=56320&&b<=57343&&(m=(c-55296<<10)+(b-56320)+65536,f=2)}let p=dx(m);(p==="R"||p==="AL"||p==="AN")&&(r=!0);for(let b=0;b<f;b++)n[u+b]=p;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){i=0;break}if(c==="R"||c==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(s=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="L"?"L":"EN":(c==="R"||c==="L")&&(s=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,p=m!=="L"?"R":"L";if(p===(f!=="L"?"R":"L"))for(let S=u;S<c;S++)n[S]=p;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function Wd(e,t){let n=fx(e);if(n===null)return null;let r=new Int8Array(t.length);for(let i=0;i<t.length;i++)r[i]=n[t[i]];return r}var mx=/[ \t\n\r\f]+/g,px=/[\t\n\r\f]| {2,}|^ | $/;function hx(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function gx(e){if(!px.test(e))return e;let t=e.replace(mx," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function bx(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
|
|
563
|
+
`,va=new WeakMap;function Sa(e){return Ed.has(e)}var Ed=new WeakSet;function Ea(e){let t=va.get(e);return t||(t=(async()=>{if(!e.audioWorklet)throw new Error("AudioWorklet is unavailable \u2014 the page needs a secure context (https, localhost or file://)");let n=`data:text/javascript;base64,${btoa(String.fromCharCode(...new TextEncoder().encode(jb)))}`;await e.audioWorklet.addModule(n),Ed.add(e)})().catch(n=>{throw va.delete(e),n}),va.set(e,t)),t}function Kb(e,t,n){let r=.6+Math.max(0,Math.min(1,t))*2.6,i=Math.max(1,Math.floor(e*r)),o=new Float32Array(i),a=Math.round(t*1e3)*2654435761+Math.round(n*1e3)*40503>>>0,l=()=>(a=a*1664525+1013904223>>>0,a/4294967295*2-1),s=Math.max(.001,1-Math.max(0,Math.min(1,n))),u=0,c=0;for(let f=0;f<i;f++){u+=s*(l()-u);let p=u*Math.pow(1-f/i,2.5);o[f]=p,c+=p*p}let m=Math.sqrt(c);if(m>0)for(let f=0;f<i;f++)o[f]=(o[f]??0)/m;return o}var ue=e=>typeof e=="number"?e:Number(e??0),Aa=e=>e/1e3;function wd(e,t,n,r){let i=Math.max(1,Math.round(e.sampleRate)),o=e.createBuffer(1,i,e.sampleRate),a=o.getChannelData(0);for(let u=0;u<i;u++){let c=u/i;a[u]=t==="sine"?Math.sin(2*Math.PI*c):4*Math.abs((c+.75)%1-.5)-1}let l=e.createBufferSource();l.buffer=o,l.loop=!0,l.playbackRate.value=n;let s=(r*n%1+1)%1*(i/e.sampleRate);return l.start(typeof e.currentTime=="number"?e.currentTime:0,s),l}function Td(e){try{e.stop()}catch{}e.disconnect()}function Ca(e,t){return[{param:e},{param:t,map:n=>1-n}]}function Rd(e,t,n){e.gain.value=n,t.gain.value=1-n}function _a(e,t,n){return{input:e,output:e,update:t,automation:n,dispose:()=>e.disconnect()}}var Yb=new Set(["peaking","highpass","lowpass"]),Ad=e=>Math.pow(10,e/20),Xb=(e,t)=>{let n=e.createGain(),r=i=>{n.gain.value=Ad(ue(i.gain))};return r(t),_a(n,r,{gain:[{param:n.gain,map:Ad}]})};function er(e,t){return(n,r)=>{let i=n.createBiquadFilter();i.type=e;let o=a=>{i.frequency.value=ue(a.frequency),a.q!==void 0&&(i.Q.value=ue(a.q)),t&&(i.gain.value=ue(a.gain))};return o(r),_a(i,o,{frequency:[{param:i.frequency}],...Yb.has(e)?{q:[{param:i.Q}]}:{},...t?{gain:[{param:i.gain}]}:{}})}}function Jb(e){return(t,n)=>{let r=Math.tan(Math.PI*ue(n.frequency)/t.sampleRate),i=e==="highpass"?t.createIIRFilter([1/(1+r),-1/(1+r)],[1,(r-1)/(r+1)]):t.createIIRFilter([r/(1+r),r/(1+r)],[1,(r-1)/(r+1)]);return _a(i,()=>{})}}function oi(e){return(t,n)=>{let r=new AudioWorkletNode(t,e,{processorOptions:{...n}});return{input:r,output:r,update:i=>r.port.postMessage({...i}),dispose:()=>{r.port.postMessage({__hfDispose:!0}),r.disconnect()}}}}var Qb={tanh:Math.tanh,atan:e=>2/Math.PI*Math.atan(Math.PI/2*e),cubic:e=>Math.abs(e)>=1?Math.sign(e):e-e**3/3,exp:e=>Math.sign(e)*(1-Math.exp(-Math.abs(e))),alg:e=>e/Math.sqrt(1+e*e),quintic:e=>Math.abs(e)>=1?Math.sign(e):e-e**5/5,sin:e=>Math.abs(e)>=1?Math.sign(e):Math.sin(Math.PI/2*e),erf:e=>Math.tanh(1.20211*e),hard:e=>Math.max(-1,Math.min(1,e))},Zb=(e,t)=>{let n=e.createWaveShaper(),r=e.createGain(),i=e.createGain();r.connect(n).connect(i);let o=a=>{let l=Qb[String(a.type)]??Math.tanh,s=Math.pow(10,ue(a.threshold)/20),u=8192,c=new Float32Array(u);for(let m=0;m<u;m++){let f=m/(u-1)*2-1;c[m]=l(f/Math.max(1e-6,s))*s}n.curve=c,n.oversample=ue(a.oversample)>=4?"4x":ue(a.oversample)>=2?"2x":"none",i.gain.value=Math.pow(10,ue(a.output)/20)};return o(t),{input:r,output:i,update:o,automation:{output:[{param:i.gain,map:a=>Math.pow(10,a/20)}]},dispose:()=>{r.disconnect(),n.disconnect(),i.disconnect()}}},ex=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createDelay(5),o=e.createGain(),a=e.createGain(),l=e.createGain();n.connect(i),i.connect(o),o.connect(i),i.connect(a).connect(r),n.connect(l).connect(r);let s=u=>{i.delayTime.value=Math.min(5,ue(u.time)/1e3),o.gain.value=ue(u.feedback),Rd(a,l,ue(u.mix))};return s(t),{input:n,output:r,update:s,automation:{time:[{param:i.delayTime,map:u=>Math.min(5,Aa(u))}],feedback:[{param:o.gain}],mix:Ca(a.gain,l.gain)},dispose:()=>[n,r,i,o,a,l].forEach(u=>u.disconnect())}},tx=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createDelay(.5),a=wd(e,"sine",ue(t.speed),n),l=e.createGain(),s=e.createGain(),u=e.createGain();a.connect(l).connect(o.delayTime),r.connect(o).connect(s).connect(i),r.connect(u).connect(i);let c=m=>{o.delayTime.value=ue(m.delay)/1e3,l.gain.value=ue(m.depth)/1e3,a.playbackRate.value=ue(m.speed),Rd(s,u,ue(m.mix))};return c(t),{input:r,output:i,update:c,automation:{delay:[{param:o.delayTime,map:Aa}],depth:[{param:l.gain,map:Aa}],speed:[{param:a.playbackRate}],mix:Ca(s.gain,u.gain)},dispose:()=>{Td(a),[r,i,o,l,s,u].forEach(m=>m.disconnect())}}},nx=6,rx=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createGain(),a=e.createGain(),l=wd(e,String(t.type)==="1"?"sine":"triangle",ue(t.speed),n),s=e.createGain(),u=e.createGain(),c=e.createGain(),m=[];r.connect(o);let f=o;for(let b=0;b<nx;b++){let v=e.createBiquadFilter();v.type="allpass",v.Q.value=.7071,s.connect(v.frequency),f.connect(v),f=v,m.push(v)}l.connect(s),f.connect(u).connect(a),o.connect(c).connect(a),a.connect(i);let p=b=>{let v=1e3/Math.max(.1,ue(b.delay));for(let x of m)x.frequency.value=v;s.gain.value=v*ue(b.decay),l.playbackRate.value=ue(b.speed),o.gain.value=ue(b.in_gain),a.gain.value=ue(b.out_gain),u.gain.value=1,c.gain.value=1};return p(t),{input:r,output:i,update:p,automation:{speed:[{param:l.playbackRate}],in_gain:[{param:o.gain}],out_gain:[{param:a.gain}]},dispose:()=>{Td(l),[r,i,o,a,s,u,c,...m].forEach(b=>b.disconnect())}}},ix=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createConvolver(),o=e.createGain(),a=e.createGain();i.normalize=!1,n.connect(i).connect(o).connect(r),n.connect(a).connect(r);let l="",s=u=>{let c=`${ue(u.size)}:${ue(u.damping)}`;if(c!==l){let m=Kb(e.sampleRate,ue(u.size),ue(u.damping)),f=e.createBuffer(1,m.length,e.sampleRate);f.getChannelData(0).set(m),i.buffer=f,l=c}o.gain.value=ue(u.wet),a.gain.value=ue(u.dry)};return s(t),{input:n,output:r,update:s,automation:{wet:[{param:o.gain}],dry:[{param:a.gain}]},dispose:()=>[n,r,i,o,a].forEach(u=>u.disconnect())}},ox={"gain-node":Xb,"biquad-peaking":er("peaking",!0),"biquad-lowshelf":er("lowshelf",!0),"biquad-highshelf":er("highshelf",!0),"biquad-highpass":er("highpass",!1),"biquad-lowpass":er("lowpass",!1),"worklet-compressor":oi("hf-compressor"),"worklet-limiter":oi("hf-limiter"),"worklet-gate":oi("hf-gate"),"worklet-bitcrush":oi("hf-bitcrush"),waveshaper:Zb,"delay-feedback":ex,"chorus-lfo":tx,"allpass-phaser":rx,convolver:ix};function kd(e){return e.nodes.some(t=>mn(t.type)?.web.startsWith("worklet-")??!1)}function ax(e,t,n,r=0){let i=mn(t);if(!i)throw new Error(`Unknown effect type: ${t}`);let o=pn(t,n);if((t==="highpass"||t==="lowpass")&&String(o.poles)==="1")return Jb(t)(e,o,r);let a=ox[i.web];if(!a)throw new Error(`No Web Audio builder for ${i.web}`);return a(e,o,r)}function Cd(e){let t=[];for(let n of e){let r=n.fromPreset,i=t.at(-1);if(i&&i.preset===r)i.nodes.push(n);else{let o=typeof n.presetAmount=="number"?n.presetAmount:1;t.push({...r?{preset:r}:{},amount:Math.min(1,Math.max(0,o)),nodes:[n]})}}return t}function _d(e){return hn(e).map(t=>{let n=pn(t.type,t.params),r=n.poles!==void 0?`:${n.poles}`:"",i=String(n.poles)==="1"?`@${n.frequency}`:"",o=t.type==="phaser"?`~${n.type}`:"",a=t.fromPreset?`%${t.fromPreset}`:"";return`${t.type}${r}${i}${o}${a}`}).join("|")}function Fd(e,t,n=0){var m;let r=e.createGain(),i=e.createGain(),o=[],a=[],l=Cd(hn(t)),s=r;for(let f of l){let p=null;if(f.preset){let b=e.createGain(),v=e.createGain(),x=e.createGain(),w=e.createGain();x.gain.value=f.amount,v.gain.value=1-f.amount,s.connect(b),b.connect(v).connect(w),p={entry:b,wet:x,dry:v,join:w},s=b}for(let b of f.nodes){let v=ax(e,b.type,b.params??{},n);s.connect(v.input),s=v.output,o.push({...b.id?{id:b.id}:{},type:b.type,handle:v})}p&&f.preset&&(s.connect(p.wet).connect(p.join),a.push({id:f.preset,...p}),s=p.join)}s.connect(i);let u=_d(t),c={};for(let f of a)(c[m=f.id]??(c[m]=[])).push(...Ca(f.wet.gain,f.dry.gain));return{input:r,output:i,presets:c,nodes:o,update(f){if(_d(f)!==u)return!1;hn(f).forEach((b,v)=>{let x=o[v];x&&(x.handle.update(pn(b.type,b.params)),b.id===void 0?delete x.id:x.id=b.id)});let p=0;for(let b of Cd(hn(f))){if(!b.preset)continue;let v=a[p++];!v||v.id!==b.preset||(v.wet.gain.value=b.amount,v.dry.gain.value=1-b.amount)}return!0},dispose(){for(let{handle:f}of o)f.dispose();for(let{entry:f,wet:p,dry:b,join:v}of a)f.disconnect(),p.disconnect(),b.disconnect(),v.disconnect();r.disconnect(),i.disconnect()}}}var Md={version:1,nodes:[]},Nd={version:1,lanes:[]};function Ld(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(Ht):null)??"";if(!n)return Nd;try{return Ks(Sr(n),t)}catch{return Nd}}function tr(e){let t=(typeof e.getAttribute=="function"?e.getAttribute(xr):null)??"";if(!t)return{chain:Md,raw:""};try{return{chain:qs(t),raw:t}}catch{return{chain:Md,raw:""}}}function Dd(e){return Ld(e,tr(e).chain)}function wa(e,t,n,r,i){let{chain:o}=tr(t),a=null,l=[],s=!1,u=0,c=()=>{try{a?(n.disconnect(a.input),a.output.disconnect(r),a.dispose()):n.disconnect(r)}catch{}a=null},m=(T,F)=>{if(T.nodes.length===0){n.connect(r);return}if(kd(T)&&!Sa(e)){n.connect(r);let M=++u;Ea(e).then(()=>{s||M!==u||x(tr(t).chain)}).catch(()=>{});return}try{let M=Fd(e,T,F);n.connect(M.input),M.output.connect(r),a=M}catch{n.connect(r)}},f=(T,F)=>{l=F&&a?vd(Ld(t,T),T,a.nodes,F,a.presets):[]},p=i?{...i}:null;m(o,p?.elapsed??0),f(o,p);let b=()=>{if(!p)return null;let T=typeof e.currentTime=="number"?e.currentTime:p.scheduledAt;return{scheduledAt:T,elapsed:p.elapsed+(T-p.scheduledAt)*p.rate,rate:p.rate}},v=T=>{let F=b();F&&(Zn(l,F.scheduledAt),f(T,F))},x=T=>{let F=b();Zn(l,F?.scheduledAt??0),c(),m(T,F?.elapsed??0),f(T,F)},w=null,R=t;return typeof MutationObserver<"u"&&typeof R?.nodeType=="number"&&(w=new MutationObserver(()=>{let T=tr(t);l.length>0&&xa(l),!a||!a.update(T.chain)?x(T.chain):v(T.chain)}),w.observe(R,{attributes:!0,attributeFilter:[xr,Ht]})),{setRate:T=>{let F=b();s||!F||!Number.isFinite(T)||T<=0||T===F.rate||(p={...F,rate:T},Zn(l,F.scheduledAt),f(tr(t).chain,p))},dispose:()=>{s=!0,w?.disconnect(),l.length>0&&Zn(l,typeof e.currentTime=="number"?e.currentTime:0),a?.dispose()}}}function Ta(e){return!Number.isFinite(e)||e<=0?1:e}function sx(e,t){t||e.paused||!cr().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function lx(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,globalRate:o,mediaRate:a,clipDuration:l}=t,s=Number.isFinite(l)&&l>0,u=l*a;if(n>=0){let m=n*a,f=u-m;return s&&f<=0?!1:(s?e.start(0,m+r,f):e.start(0,m+r),!0)}let c=-n/o;return s?e.start(i+c,r,u):e.start(i+c,r),!0}function Id(e,t,n){let r=Sd(Dd(e));r&&ya([{param:t.gain}],r,vr.scale,n)}function nr(e){return e.sourceKind==="buffer"}var ai=class{constructor(){ge(this,"_ctx",null);ge(this,"_bufferCache",new Map);ge(this,"_failedSrcs",new Set);ge(this,"_mediaElementSources",new WeakMap);ge(this,"_activeSources",[]);ge(this,"_masterGain",null);ge(this,"_masterVolume",1);ge(this,"_masterMuted",!1);ge(this,"_rateAnchorCtx",0);ge(this,"_rateAnchorComp",0);ge(this,"_rate",1);ge(this,"_paused",!0);ge(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),this.applyMasterGain(),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return L("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return L("webAudioTransport.fetch",i),null}try{let i=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,i),i}catch(i){return this._failedSrcs.add(n),L("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async scheduleMediaElementPlayback(t,n,r,i,o,a,l=1){if(!this._ctx||!this._masterGain||a!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),a!==this._playGeneration)return null;let s=this._mediaElementSources.get(t);s||(s=this._ctx.createMediaElementSource(t),this._mediaElementSources.set(t,s));let u=Ta(l),c=this._ctx.createGain();c.gain.value=o;let m=this._ctx.currentTime,f=i-n,p={scheduledAt:m,elapsed:f,rate:u},b=wa(this._ctx,t,s,c,p);c.connect(this._masterGain),Id(t,c,p),this._rate=u,this._rateAnchorCtx=m,this._rateAnchorComp=i;let v={fx:b,el:t,sourceNode:s,sourceKind:"media-element",gainNode:c,compositionStart:n,mediaStart:r,scheduledAt:m,priorMuted:t.muted,priorVolume:t.volume,mediaPlaybackRate:Te(t),bounded:!1};return t.volume=1,this._activeSources.push(v),this._paused=!1,v}catch(s){return L("webAudioTransport.mediaElementSource",s),null}}async schedulePlayback(t,n,r,i,o,a,l,s=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=Ta(s),m=Te(t),f=c*m,p=this._ctx.createBufferSource();p.buffer=n,p.playbackRate.value=f;let b=this._ctx.createGain();b.gain.value=a;let v=o-r,x=this._ctx.currentTime,w={scheduledAt:x,elapsed:v,rate:c},R=wa(this._ctx,t,p,b,w);if(b.connect(this._masterGain),Id(t,b,w),this._rate=c,this._rateAnchorCtx=x,this._rateAnchorComp=o,!lx(p,{elapsed:v,mediaStart:i,scheduledAt:x,globalRate:c,mediaRate:m,clipDuration:u}))return p.disconnect(),R?.dispose(),b.disconnect(),null;let T=t.muted;t.muted=!0,sx(t,T);let F={fx:R,el:t,sourceNode:p,sourceKind:"buffer",gainNode:b,compositionStart:r,mediaStart:i,scheduledAt:x,priorMuted:T,priorVolume:t.volume,mediaPlaybackRate:m,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(F),this._paused=!1,p.addEventListener("ended",()=>{let M=this._activeSources.indexOf(F);if(M!==-1){this._activeSources.splice(M,1),t.muted=T;try{p.disconnect(),R?.dispose(),b.disconnect()}catch{}this._activeSources.length===0&&(this._paused=!0)}}),F}catch(c){return L("webAudioTransport.schedule",c),null}}setRate(t){let n=Ta(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let r of this._activeSources)try{nr(r)&&(r.sourceNode.playbackRate.value=n*r.mediaPlaybackRate),r.fx?.setRate(n)}catch(i){L("webAudioTransport.setRate",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>nr(t)&&t.bounded)}stopAll(){for(let t of this._activeSources){try{nr(t)&&t.sourceNode.stop(),t.sourceNode.disconnect(),t.fx?.dispose(),t.gainNode.disconnect()}catch{}nr(t)?t.el.muted=t.priorMuted:t.el.volume=t.priorVolume}this._activeSources=[],this._paused=!0}setVolume(t){this._masterVolume=Math.max(0,Math.min(1,t)),this.applyMasterGain()}setElementVolume(t,n){let r=Ge(n);for(let i of this._activeSources)if(i.el===t)try{i.sourceKind==="media-element"&&(i.el.volume=1),i.gainNode.gain.value=r}catch(o){L("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterMuted=t,this.applyMasterGain()}applyMasterGain(){this._masterGain&&(this._masterGain.gain.value=this._masterMuted?0:this._masterVolume)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t&&nr(n))}routesElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._mediaElementSources=new WeakMap,this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null,this._masterVolume=1,this._masterMuted=!1}};var Pd="data-hf-studio-manual-edit-gesture";function Od(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var ux=/^\s*spring\(\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+))\s*\)\s*$/;function Hd(e){return Math.max(0,Math.min(1,e))}function Gd(e){let t=ux.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?Hd(n):null}function Bd(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=Hd(t),r=12-n*6,i=Math.PI*2*(1+n*1.5),o=1-Math.exp(-r)*Math.cos(i);return(1-Math.exp(-r*e)*Math.cos(i*e))/o}var cx=/^\s*wiggle\(\s*(\d+)\s*,\s*(easeOut|easeInOut|anticipate|uniform)\s*(?:,\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?)\s*)?\)\s*$/,dx=Math.PI*2;function fx(e){let t=cx.exec(e);if(!t)return null;let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)return null;let r=t[2];if(r!=="easeOut"&&r!=="easeInOut"&&r!=="anticipate"&&r!=="uniform")return null;if(t[3]===void 0)return{wiggles:n,type:r};let i=Number(t[3]);return!Number.isFinite(i)||i<0||i>1?null:{wiggles:n,type:r,amplitude:i}}function mx(e,t,n,r){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let i=r??(n==="easeInOut"?.08:n==="uniform"?.14:n==="anticipate"?.12:.16),o=n==="easeInOut"?i*Math.sin(Math.PI*e):n==="uniform"?i:i*(1-e);return e+(n==="anticipate"?-1:1)*o*Math.sin(dx*t*e)}function Ud(e,t){let n=fx(e);if(!n)return null;let r=`${n.wiggles}:${n.type}:${n.amplitude??"default"}`,i=t?.get(r);if(i)return i;let o=a=>mx(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var px=24,Wd=e=>e>=1?1:0,hx=e=>e,si=String.raw`([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)`,gx=new RegExp(String.raw`^\s*M\s*0\s*,\s*0\s+C\s*${si}\s*,\s*${si}\s+${si}\s*,\s*${si}\s+1\s*,\s*1\s*$`,"i");function Vd(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function bx(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<px;l+=1){let s=(o+a)/2;Vd(s,t,r)<e?o=s:a=s}return Vd((o+a)/2,n,i)}function xx(e){let t=gx.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=Number(t[4]);return Math.min(n,i)<0||Math.max(n,i)>1?null:a=>bx(a,n,r,i,o)}function yx(e,t){if(!e.startsWith("spring("))return null;let n=Gd(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>Bd(o,n);return t.set(n,i),i}function vx(e,t){if(!e.startsWith("custom(")||!e.endsWith(")"))return null;let n=e.slice(7,-1),r=t.get(n);if(r)return r;let i=xx(n);return i&&t.set(n,i),i}function zd(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?Wd:Ud(s,i)??yx(s,r)??vx(s,n),a=(s,u,c=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\(|$)/.test(s.trim())&&Ne("custom_ease_parse_failed",{ease:s}),t.call(u,s,...c)??hx)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",Wd);let s=u=>{let c=m=>m;c.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,c)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var Ra="data-hf-authored-duration",ka="data-hf-authored-end",qd=!1;function at(e){if(e){if(typeof e.pause!="function"){qd||(qd=!0,Ne("timeline_missing_pause",{}));return}try{e.pause()}catch(t){L("runtime.timeline.pause",t)}}}function Sx(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,r=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(r)||r<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:r,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function $d(){let e=Hl();os(ye),Kr(document),aa(document);let t=Sx();e.canonicalFps=t.fps??e.canonicalFps,rs(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,r=null,i=null,o=[],a=new Set,l=null,s=new Set,u=(d,g,h)=>{s.has(d)||(s.add(d),Ne(g,h))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){L("runtime.init.site1",d)}let c=new ii;e.transportClock=c;let m=new ai,f=!1;m.init().then(d=>{f=d});let p=()=>{let d=window.gsap,g=window;if(!(!d?.registerPlugin||g.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),g.__hfAutoNoopRegistered=!0}catch(h){u("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),L("runtime.autoMarker.install",h)}},b=()=>{let d=window.gsap;if(!d){u("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{zd(d)||u("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(g){u("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),L("runtime.customEase.install",g)}};p(),b(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{fs(document)}catch(d){L("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let v=()=>{let d=document.querySelector('[data-composition-id][data-root="true"]');if(d instanceof HTMLElement)return d;let g=Array.from(document.querySelectorAll("[data-composition-id]"));return g.find(h=>!h.parentElement?.closest("[data-composition-id]"))??g[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,g=v()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[g]=d[0];else for(let y=0;y<d.length;y++)h[`tl-${y}`]=d[y];window.__timelines=h}let x=v();x&&!x.hasAttribute("data-start")&&x.setAttribute("data-start","0");let w=d=>{o.push(d)},R=(d,g,h)=>{let y=h??`${d}:${JSON.stringify(g)}`;a.has(y)||(a.add(y),ye({source:"hf-preview",type:"diagnostic",code:d,details:g}))},T=d=>{let g={scale:1,focusX:960,focusY:540},h=[],y=[],C={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:()=>g,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:()=>y,getRenderState:()=>({...C,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},F=1/60,M=.75,A=.05,S=100,E=240,_=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},N=d=>{let g=d.toLowerCase();return g.includes("cannot read properties of null")||g.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:g.includes("failed to execute 'queryselector'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:g.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},D=d=>{if(d==null||d.trim()==="")return null;let g=Number.parseFloat(d);return!Number.isFinite(g)||g<=0?null:`${g}px`},H=()=>v(),z=()=>{let d=H();if(!d)return;let g=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));g&&(d.style.width=g),h&&(d.style.height=h),g&&d.style.setProperty("--comp-width",g),h&&d.style.setProperty("--comp-height",h)},j=()=>{let d=H(),g=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of g){if(d&&h===d)continue;let y=h.getAttribute("data-duration"),C=h.getAttribute("data-end");y!=null&&!h.hasAttribute(Ra)&&h.setAttribute(Ra,y),C!=null&&!h.hasAttribute(ka)&&h.setAttribute(ka,C),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},k=()=>{let d=H();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let g=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));g&&(d.style.width=g),h&&(d.style.height=h);let y=Array.from(d.children);for(let C of y){let I=C.tagName.toLowerCase();if(I==="script"||I==="style"||I==="link"||I==="meta"||!C.hasAttribute("data-start")||C.hasAttribute("data-hf-autostamped"))continue;let G=(C.style.top==="0px"||C.style.top==="0")&&(C.style.left==="0px"||C.style.left==="0")&&C.style.width==="100%"&&C.style.height==="100%",Z=/translate\(\s*-50%\s*,\s*-50%\s*\)/.test(C.style.transform);if(G&&Z&&!C.hasAttribute("data-width")&&!C.hasAttribute("data-height")){let ve=C.style.top,ln=C.style.left,we=C.style.width,un=C.style.height;C.style.top="",C.style.left="",C.style.width="",C.style.height="";let oe=window.getComputedStyle(C);oe.top!=="auto"||oe.bottom!=="auto"||oe.left!=="auto"||oe.right!=="auto"||oe.width!=="0px"||oe.height!=="0px"||(C.style.top=ve,C.style.left=ln,C.style.width=we,C.style.height=un)}let $=window.getComputedStyle(C),de=$.position;if(de!=="absolute"&&de!=="fixed"&&(C.style.position="absolute"),!!C.style.top||!!C.style.bottom||$.top!=="auto"||$.bottom!=="auto"||(C.style.top="0"),!!C.style.left||!!C.style.right||$.left!=="auto"||$.right!=="auto"||(C.style.left="0"),I!=="audio"){let ve=D(C.getAttribute("data-width")),ln=D(C.getAttribute("data-height")),we=$.width!=="0px"&&$.width!=="auto",un=$.height!=="0px"&&$.height!=="auto";ve?!C.style.width&&!we&&(C.style.width=ve):!C.style.width&&$.width==="0px"&&(C.style.width="100%"),ln?!C.style.height&&!un&&(C.style.height=ln):!C.style.height&&$.height==="0px"&&(C.style.height="100%")}}},B=(d,g=0,h)=>mt({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,g),ee=(d,g)=>mt({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:g?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),U=d=>{let g=d.closest("[data-composition-id]"),h=g?B(g,0):null,y=g?ee(g,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:g,inheritedStart:h,inheritedDuration:y}},V=d=>{let g=U(d),h=g.inheritedStart??0,y=Be(d.getAttribute("data-start"));if(d.hasAttribute("data-hf-auto-start")||y==null||h<=0)return B(d,h);let C=Se(d.getAttribute("data-duration")),I=g.inheritedDuration,G=I!=null&&I>0?h+I:null,Z=C!=null&&C>0?y+C:y;return(G==null?y>=h:y<G&&(Z>h||y===h))?y:h+y};window.__hfResolveMediaStartSeconds=V,o.push(()=>{window.__hfResolveMediaStartSeconds===V&&delete window.__hfResolveMediaStartSeconds});let q=(d,g)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let C=h==="video"||h==="audio"?V(d):B(d,0),I=ee(d),G=d.getAttribute("data-composition-id");if(G){let $=(window.__timelines??{})[G],de=null;if($&&typeof $.duration=="function"){let ie=Number($.duration());Number.isFinite(ie)&&ie>0&&(de=ie)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Ra)||d.hasAttribute(ka))&&(I==null||I<=0)&&de!=null&&(I=de)}let Z=I!=null&&I>0?C+I:Number.POSITIVE_INFINITY;return g>=C&&(Number.isFinite(Z)?g<Z:!0)},X=!!document.querySelector("[data-composition-src]"),_e=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let g of d){let h=g.getAttribute("data-composition-id");if(h&&g.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){_e=!0;break}}}let W=!X&&!_e,P=d=>{if(!d||typeof d.duration!="function")return null;try{let g=Number(d.duration());return Number.isFinite(g)?Math.max(0,g):null}catch{return null}},O=d=>typeof d=="number"&&Number.isFinite(d)&&d>F,ce=d=>{let g=Se(d.getAttribute("data-duration"));return g!=null&&g>0?g:Number.isFinite(d.duration)?et(d,d.duration):null},se=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let g=0;for(let h of d){let y=V(h);if(!Number.isFinite(y))continue;let C=ce(h);C==null||C<=F||(g=Math.max(g,Math.max(0,y)+C))}return g>F?g:null},J=()=>{let d=H();if(!d)return null;let g=window.__timelines??{},h=mt({timelineRegistry:g,includeAuthoredTimingAttrs:!0}),y=0,C=Se(d.getAttribute("data-duration"));C!=null&&C>0&&(y=C);let I=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let G of I){if(!(G instanceof Element)||G.parentElement?.closest("[data-composition-id]")!==d)continue;let $=h.resolveStartForElement(G,0),de=h.resolveDurationForElement(G);!Number.isFinite($)||de==null||de<=0||(y=Math.max(y,Math.max(0,$)+de))}return y>F?y:null},K=()=>{let d=se();return typeof d!="number"||!Number.isFinite(d)||d<=F?null:d},Y=d=>O(d)?Math.max(F,d*M):F,qe=()=>{let d=0;for(let g of e.deterministicAdapters){let h=g.getInferredDurationSeconds;if(typeof h!="function")continue;let y=null;try{y=h()}catch(C){L("runtime.init.adapterDuration",C)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(d=Math.max(d,y))}return d>F?d:null},xe=(d,g=0)=>{let h=P(d),y=K(),C=J(),I=qe(),G=Math.max(y??0,C??0,I??0),Z=Number.isFinite(g)&&g>F?g:0,$=0;return O(h)?$=Math.max(h,G,Z):O(G)?$=Math.max(G,Z):$=Z,$>0?Math.max(0,$):0},Lt=()=>{let d=window.__timelines??{},g=oe=>{let ne=Object.entries(d).filter(ae=>!!ae[1]&&typeof ae[1].play=="function"&&typeof ae[1].pause=="function");if(ne.length!==1)return{timeline:null};let he=ne[0];if(!he)return{timeline:null};let[be,fe]=he;return{timeline:fe,selectedTimelineIds:[be],selectedDurationSeconds:P(fe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:oe,soleTimelineId:be}}}},h=mt({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),y=K(),C=J(),I=Math.max(y??0,C??0)||null,G=Y(I),Z=oe=>{let ne=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return ne?h.resolveStartForElement(ne,0):0},$=oe=>{let ne=window.gsap;if(!ne||typeof ne.timeline!="function")return null;let he=ne.timeline({paused:!0});for(let be of oe)he.add(be.timeline,Z(be.compositionId));return he},de=(oe,ne)=>{if(!O(oe))return null;let he=window.gsap;if(!he||typeof he.timeline!="function")return null;let be=he.timeline({paused:!0});if(ne)try{be.add(ne,0)}catch(ae){L("runtime.init.site2",ae)}let fe=be;if(typeof fe.to=="function")try{fe.to({},{duration:oe})}catch(ae){L("runtime.init.site3",ae)}return be},Me=(oe,ne)=>{let he=oe;if(typeof he.getChildren!="function")return[];try{let be=he.getChildren(!0,!0,!0)??[];if(!Array.isArray(be))return[];let fe=[];for(let ae of ne)if(!be.some(Ze=>Ze===ae.timeline))try{let Ze=Z(ae.compositionId);oe.add(ae.timeline,Ze),fe.push(ae.compositionId)}catch(Ze){L("runtime.init.site4",Ze)}return fe}catch{return[]}},ie=H(),te=ie?.getAttribute("data-composition-id")??null;if(!te)return g("root_missing_composition_id");let ve=d[te]??null,we=(()=>{if(!ie)return[];let oe=new Set,ne=Array.from(ie.querySelectorAll("[data-composition-id]")),he=[];for(let be of ne){let fe=be.getAttribute("data-composition-id");if(!fe||fe===te||oe.has(fe))continue;oe.add(fe);let ae=d[fe]??null;if(!ae||typeof ae.play!="function"||typeof ae.pause!="function")continue;let lt=P(ae);he.push({compositionId:fe,timeline:ae,durationSeconds:lt??0})}return he})(),un=oe=>{for(let ne of oe){let he=ne.timeline;if(typeof he.paused=="function")try{he.paused(!1)}catch(be){L("runtime.init.site5",be)}}};if(we.length>0&&un(we),ve){let oe=we.length>0?Me(ve,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id='"+te+"'])"))&&(Ie=!0),oe.length>0)try{let fe=ve.time();ve.seek(fe,!1)}catch{}let ne=P(ve);if(!O(ne)&&we.length>0){let fe=we.map(Kf=>Kf.compositionId),ae=$(we),lt=P(ae);if(ae&&O(lt))return{timeline:ae,selectedTimelineIds:fe,selectedDurationSeconds:lt,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:te,rootDurationSeconds:ne,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:G,selectedDurationSeconds:lt,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:C,selectedTimelineIds:fe,autoNestedChildren:oe}}};let Ze=de(I??0,ve),_i=P(Ze);if(Ze&&O(_i))return{timeline:Ze,selectedTimelineIds:[te],selectedDurationSeconds:_i,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:ne,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:_i,selectedTimelineIds:[te],autoNestedChildren:oe}}}}if(!O(ne)&&we.length===0){let fe=de(I??0,ve),ae=P(fe);if(fe&&O(ae))return{timeline:fe,selectedTimelineIds:[te],selectedDurationSeconds:ae,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:ne,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:ae,selectedTimelineIds:[te]}}}}let he=Se(ie?.getAttribute("data-duration")),be=Math.max(O(he)?he:0,C??0);if(be>0&&O(be)&&O(ne)&&be>=ne+.5){let fe=ve;if(typeof fe.to=="function")try{fe.to({},{duration:0},be)}catch(lt){L("runtime.init.site6",lt)}let ae=P(ve);if(O(ae))return{timeline:ve,selectedTimelineIds:[te],selectedDurationSeconds:ae,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:te,rootDurationSeconds:ne,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:C,newDur:ae}}}}return{timeline:ve,selectedTimelineIds:[te],selectedDurationSeconds:ne,mediaDurationFloorSeconds:y,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:te,selectedDurationSeconds:ne,autoNestedChildren:oe}}:void 0}}if(we.length>0){let oe=we.map(be=>be.compositionId),ne=$(we),he=P(ne);if(ne)return{timeline:ne,selectedTimelineIds:oe,selectedDurationSeconds:he,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:te,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:G,selectedDurationSeconds:he,mediaDurationFloorSeconds:y,selectedTimelineIds:oe}}}}return g("root_composition_id_unmatched_in_registry")},Ie=!1,Rf=d=>{let g=window.gsap,h=d;if(!(!h||typeof h.getChildren!="function"||!g||typeof g.parseEase!="function"))for(let y of h.getChildren(!0,!0,!0)){let C=y,I=C.timeline;if(!I||!("_ease"in I)||typeof I._ease=="function")continue;let G=C.vars?.keyframes,$=(G&&!Array.isArray(G)?G.ease:void 0)??C.vars?.ease??"none";try{let de=g.parseEase($);typeof de=="function"&&(I._ease=de)}catch(de){Ne("keyframe_ease_repair_failed",{ease:typeof $=="string"?$:String($)}),L("runtime.keyframeEase.repair",de)}}},nn=()=>{if(b(),!W)return!1;let d=e.capturedTimeline,g=P(d),h=O(g);if(d&&h&&Ie)return!1;let y=Lt();if(!y.timeline)return!1;if(d&&d===y.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),Rf(e.capturedTimeline);let C=xe(e.capturedTimeline,0);if(C<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),at(e.capturedTimeline)),C>0){try{c.setDuration(C)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let G=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(G,!1),at(e.capturedTimeline)}let I=window.__hfStudioManualEditsApply;typeof I=="function"&&I(),Kr(document)}if(y.diagnostics&&ye({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),ye({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let I=H(),G=C>0?C:0,Z=String(G>0?G:1),$=new Set,de=new Set(document.querySelectorAll("[data-start]")),Me=ie=>{let te=ie.parentElement;for(;te&&te!==I;){if(de.has(te))return!0;te=te.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ie of e.capturedTimeline.getChildren(!0))if(typeof ie.targets=="function")for(let te of ie.targets())te instanceof HTMLElement&&te!==I&&(te.hasAttribute("data-start")||Me(te)||$.has(te)||($.add(te),te.setAttribute("data-start","0"),te.setAttribute("data-duration",Z),te.setAttribute("data-hf-autostamped","1")))}catch{}if(I instanceof HTMLElement)for(let ie of I.querySelectorAll("[id]"))ie instanceof HTMLElement&&ie!==I&&(ie.hasAttribute("data-start")||Me(ie)||$.has(ie)||ie.tagName==="SCRIPT"||ie.tagName==="STYLE"||ie.tagName==="LINK"||($.add(ie),ie.setAttribute("data-start","0"),ie.setAttribute("data-duration",Z),ie.setAttribute("data-hf-autostamped","1")))}for(let I of rn)or.delete(I),Va(I);return!0};window.__hfForceTimelineRebind=()=>{Ie=!1,nn(),yi(e.currentTime)};let kf=()=>{let d=H();if(!(d instanceof HTMLElement))return;let g=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),y=Number(d.getAttribute("data-height")),C=window.getComputedStyle(d),I=Number.isFinite(h)&&h>0&&Number.isFinite(y)&&y>0,G=g.width<=0||g.height<=0||d.clientWidth<=0||d.clientHeight<=0;!I||!G||R("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:y,rectWidth:Math.round(g.width),rectHeight:Math.round(g.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:C.display,visibility:C.visibility,overflow:C.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ff=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,kf()}))},Mf=()=>{r=d=>{let g=_(d.error??d.message).slice(0,E);if(!g)return;let h=N(g);ye({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:g,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let g=_(d.reason).slice(0,E);if(!g)return;let h=N(g);ye({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:g}})},window.addEventListener("error",r),window.addEventListener("unhandledrejection",i)},Nf=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel='stylesheet']"));for(let h of d){let y=()=>{if(!(h instanceof Element))return;let C=h.tagName.toLowerCase(),I=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,G=C==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";R(G,{tagName:C,assetUrl:I,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${G}:${C}:${I??"unknown"}`)};h.addEventListener("error",y),w(()=>{h.removeEventListener("error",y)})}let g=document.fonts;g&&g.ready.then(()=>{if(e.tornDown)return;let h=Array.from(g).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);h.length!==0&&R("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(g).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Lf=(d,g)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let y=Math.max(0,e.currentTime||0),C=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{at(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(y,!1),C&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(I){L("runtime.init.site7",I)}return ye({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:g,previousTime:y,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Et=null,Ga=!1,Ba=!1,rn=new Set,or=new WeakMap,ar=()=>{e.tornDown||(Et!=null&&window.clearTimeout(Et),Et=window.setTimeout(()=>{if(e.tornDown||(Et=null,Ba&&window.__HF_EXPORT_RENDER_SEEK_CONFIG))return;let d=Lt();if(!d.timeline||!O(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){nn()&&(At(),Fe(!0));return}if(Ga)return;let h=P(e.capturedTimeline),y=d.selectedDurationSeconds??P(d.timeline);O(y)&&(!O(h)||y>=h+A)&&Lf(d,"manual")&&(Ga=!0,ye({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:y??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),At(),Fe(!0))},S))},Ua=d=>{d.currentTarget instanceof HTMLMediaElement&&ol(d.currentTarget)},Wa=d=>{d.currentTarget instanceof HTMLMediaElement&&al(d.currentTarget)},Df=()=>{for(let d of rn)d.removeEventListener("loadedmetadata",ar),d.removeEventListener("durationchange",ar),d.removeEventListener("loadedmetadata",Ua),d.removeEventListener("error",Wa);rn.clear()},hi=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let g of d){if(rn.has(g))continue;rn.add(g);let h=Number.parseFloat(g.dataset.volume??"");Number.isFinite(h)&&(g.volume=Math.max(0,Math.min(1,h))),g.addEventListener("loadedmetadata",ar),g.addEventListener("durationchange",ar),g.addEventListener("loadedmetadata",Ua),g.addEventListener("error",Wa),il(g),g.preload!=="auto"&&(g.preload="auto"),g.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&g.load(),Va(g)}},Va=d=>{or.has(d)||Us(d,e.capturedTimeline,xe(e.capturedTimeline,0),or,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},gi=new WeakMap,za=d=>{let g=gi.get(d);if(g!==void 0)return g;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return gi.set(d,y),y},bi=new WeakMap,If=d=>{let g=bi.get(d);if(g!==void 0)return g;let h=d.querySelector("[data-start]")===null;return bi.set(d,h),h},Pf=()=>{gi=new WeakMap,bi=new WeakMap},xi=new WeakMap,sr=new WeakSet,yi=(d,g=Array.from(document.querySelectorAll("[data-start]")))=>{let h=H();for(let y of g){if(!(y instanceof HTMLElement))continue;if(y.hasAttribute("data-hidden")){sr.has(y)||(xi.set(y,y.style.getPropertyValue("display")),sr.add(y)),y.style.display="none",(y instanceof HTMLVideoElement||y instanceof HTMLImageElement)&&n?.setSourceVisibility(y,!1);continue}if(sr.has(y)){let I=xi.get(y);I?y.style.display=I:y.style.removeProperty("display"),xi.delete(y),sr.delete(y)}let C=q(y,d);if(C){let I=y.parentElement;for(;I&&I!==h;){if(I instanceof HTMLElement&&I.hasAttribute("data-start")&&!q(I,d)){C=!1;break}I=I.parentElement}}y.style.visibility=C?"visible":"hidden",(y instanceof HTMLVideoElement||y instanceof HTMLImageElement)&&n?.setSourceVisibility(y,C),C?za(y)&&y.style.removeProperty("display"):za(y)&&If(y)&&(y.style.display="none")}},Pe=()=>{let d=Zs({shouldIncludeElement:h=>h.hasAttribute("data-start")||!!U(h).compositionRoot,resolveStartSeconds:h=>V(h),resolveDurationSeconds:h=>{let y=U(h),C=V(h),I=y.inheritedStart!=null&&y.inheritedDuration!=null&&y.inheritedDuration>0?Math.max(0,y.inheritedStart+y.inheritedDuration-C):null,G=Number.isFinite(h.duration)?et(h,h.duration):null,Z=Se(h.dataset.duration),$=Z!=null&&Z>0?Z:null;return Qs({isVideo:h.tagName==="VIDEO",sourceDuration:G,hostRemaining:I,explicitDuration:$})}});for(let h of d.mediaClips){let y=or.get(h.el);y&&(h.volumeKeyframes=y)}let g=e.mediaForceSyncNextTick;g&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||el({clips:d.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted,userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:g,onElementVolume:(h,y,C)=>m.setElementVolume(h,C),isWebAudioOwned:h=>m.ownsElement(h),isWebAudioRouted:h=>m.routesElement(h),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,ye({source:"hf-preview",type:"media-autoplay-blocked"}))}}),yi(e.currentTime)},Fe=d=>{let g=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||g!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=g,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,ye({source:"hf-preview",type:"state",frame:g,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},vi="",qa=0,Of=()=>{let d="";for(let g of document.querySelectorAll("[data-start]"))d+=`${g.id}:${g.tagName}|`;return d},At=()=>{j(),z(),k();let d=H();if(d){let y=D(d.getAttribute("data-width")),C=D(d.getAttribute("data-height")),I=y?parseInt(y,10):0,G=C?parseInt(C,10):0;I>0&&G>0&&ye({source:"hf-preview",type:"stage-size",width:I,height:G})}nn();let g=Vl({canonicalFps:e.canonicalFps});window.__clipManifest=g;let h=Of();if(vi!==h&&Pf(),!window.__clipTree||vi!==h){let y=window;window.__clipTree=Gl({startResolver:mt({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:g.durationInFrames/e.canonicalFps}),vi=h}ye(g),Ff()},Si=d=>typeof d=="number"&&Number.isFinite(d)&&d>0?d:0,Hf=d=>{let g=Si(Number(d));if(g<=0)return;let h=H(),y=Si(Se(h?.getAttribute("data-duration"))),C=Math.max(qa,Si(c.getDuration()),y);g<=C||(qa=g,h?.setAttribute("data-duration",String(g)),c.setDuration(g),At(),Fe(!0))},Oe=(d,g=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(y){L("runtime.init.site8",y)}if(d==="discover")try{h.seek({time:g,suppressEvents:!0})}catch(y){L("runtime.init.site9",y)}}},Ct=()=>{window.__renderReady=!1},on=null,an=!0,Gf=()=>{let d=[];for(let g of e.deterministicAdapters){let h=g.getReadyPromise;if(typeof h=="function")try{let y=h();y&&d.push(y)}catch(y){L("runtime.init.adapterReady",y)}}return d},Bf=()=>{let d=Gf();if(d.length===0)return on=null,an=!0,!0;let g=d[0];if(!g)return!0;let h=d.length===1?g:Promise.all(d);return h!==on&&(on=h,an=!1,Promise.resolve(h).then(()=>{on===h&&(an=!0,Ct())},y=>{on===h&&(an=!0,L("runtime.init.adapterReady",y),Ct())})),an};if(W)ea();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:D,onDiagnostic:({code:g,details:h})=>{ye({source:"hf-preview",type:"diagnostic",code:g,details:h})}};Dc(d).then(()=>Lc(d)).finally(()=>{W=!0,hi(),Nf(),ea(),aa(document),Ct()})}let lr=Dl({postMessage:d=>ye(d)});lr.installPickerApi(),yi(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let $e=yd();n=$e,w(()=>{$e.destroy(),n=null});let Ei=d=>{let g=Number(d);!Number.isFinite(g)||g<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,g)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let y of h)if(y instanceof HTMLMediaElement)try{y.playbackRate=e.playbackRate}catch(C){L("runtime.init.site10",C)}},$a={play:()=>{let d=e.capturedTimeline;if(c.isPlaying())return;let g=xe(d,0);if(g>0)c.setDuration(g),c.reachedEnd()&&(c.seek(0),e.currentTime=0,_t(0));else{let h=H(),y=Number(h?.getAttribute("data-duration")??0);y>0&&c.setDuration(y)}at(d),c.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Qa(c.now()),f&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Za(),Oe("play"),Pe(),$e.redraw(),Fe(!0))},pause:()=>{if(!c.isPlaying())return;m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1,e.currentTime=c.now(),e.mediaForceSyncNextTick=!0,Qa(e.currentTime);let d=e.capturedTimeline;at(d),Oe("pause"),Pe(),$e.redraw(),Fe(!0)},seek:(d,g)=>{let h=zt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource();let y=c.isPlaying();y&&c.pause(),c.seek(h),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let C=e.capturedTimeline;if(at(C),_t(e.currentTime),Oe("pause"),g?.keepPlaying&&y){$a.play();return}Pe(),$e.redraw(),Fe(!0)},renderSeek:(d,g)=>{Ba=!0;let h=zt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource(),c.isPlaying()&&c.pause(),c.seek(h),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,_t(e.currentTime,{activateChildren:!0,suppressEvents:g?.suppressEvents}),Oe("pause"),Pe(),$e.redraw(),Fe(!0)},getTime:()=>c.now(),getDuration:()=>{let d=c.getDuration();return Number.isFinite(d)?d:0},isPlaying:()=>c.isPlaying(),setPlaybackRate:d=>{Ei(d),c.setRate(e.playbackRate),es()},getPlaybackRate:()=>e.playbackRate},ja=xe(e.capturedTimeline,0);ja>0&&c.setDuration(ja);let He=Ol({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:Ei,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,g)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==g&&(e.mediaForceSyncNextTick=!0),e.isPlaying=g,Pe()},onStatePost:Fe,onDeterministicSeek:(d,g)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:g?.suppressEvents})}catch(y){L("runtime.init.site11",y)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{$e.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>xe(e.capturedTimeline,0),transport:$a});window.__player=T(He),window.__playerReady=!0,Ne("composition_loaded",{duration:He.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[Ns(),ps({resolveStartSeconds:d=>B(d,0)}),gs(),xs(),Ss(),Es(),As(),Cs(),_s(),ws(),Ts(),hs({getTimeline:()=>e.capturedTimeline})],Fs(),Ms(),window.__hfReseekGpu=d=>{let g=Math.max(0,Number(d)||0);window.__hfThreeTime=g,window.__hfTypegpuTime=g,gr(g)},window.__hfWaitForSeekCompletion=Pi,o.push(()=>{window.__hfWaitForSeekCompletion===Pi&&delete window.__hfWaitForSeekCompletion}),Mf(),hi(),Oe("discover");let Uf=()=>{let d=e.capturedTimeline,g=nn();e.capturedTimeline&&(g||e.capturedTimeline!==d||!He._timeline)&&(He._timeline=e.capturedTimeline);let h=xe(e.capturedTimeline,0);if(h>0&&c.setDuration(h),Oe("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},C=Object.keys(y).filter(I=>y[I]);if(C.length>0){let G=H()?.getAttribute("data-composition-id")??null;R("root_timeline_unbound_registry_present",{reason:G?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:G,registeredTimelineKeys:C},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \u2014 render will freeze at t=0. "+(G?`Root data-composition-id is "${G}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${C.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${G??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,At(),Fe(!0)},Dt=null,Wf=()=>{if(Dt)return;let d=()=>{window.removeEventListener("hf-timelines-built",d),Dt=null,Ct()};Dt=d,window.addEventListener("hf-timelines-built",d)};w(()=>{Dt&&(window.removeEventListener("hf-timelines-built",Dt),Dt=null)}),Ct=()=>{if(!W){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,Wf();return}if(Oe("discover",e.currentTime),!Bf()){window.__renderReady=!1;return}Uf()},Ct(),W&&setTimeout(()=>{Ct()},0);let ur=0,Ai=!1,Vf=(d,g,h,y)=>{try{let C=y?.suppressEvents===!0;at(d),typeof d.totalTime=="function"?d.totalTime(g,C):d.seek(g,C)}catch(C){L(h,C)}},zf=(d,g)=>{let h=window.__timelines??{},y=H()?.getAttribute("data-composition-id")??null;for(let[C,I]of Object.entries(h)){if(!I||C===y)continue;let G=document.querySelector(`[data-composition-id="${CSS.escape(C)}"]`);if(!G)continue;let Z=B(G,0);if(!Number.isFinite(Z))continue;let $=P(I),de=Ke(G)+Math.max(0,d-Z)*Te(G),Me=Math.max(0,$!=null&&$>0?Math.min($,de):de);Vf(I,Me,"runtime.init.transport.childTimeline",g)}},Ka=d=>{let g=window.__timelines??{};for(let h of Object.values(g))if(!(!h||h===d))try{h.play()}catch(y){L("runtime.init.activateSiblings",y)}},Ya=d=>typeof d=="object"&&d!==null,sn=new WeakMap,qf=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Xa=(d,g)=>{let h=d[g];if(typeof h!="function")return null;try{let y=Number(h.call(d));return Number.isFinite(y)?y:null}catch(y){return L("runtime.init.gsapCallbackDuration",y),null}},$f=d=>{let g=sn.get(d);if(g!=null)return g;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(y){return L("runtime.init.gsapCallbackChildren",y),sn.set(d,!1),!1}if(!Array.isArray(h))return sn.set(d,!1),!1;for(let y of h){if(!Ya(y))continue;let C=y.vars;if(!Ya(C)||!qf.some($=>typeof C[$]=="function"))continue;let Z=Xa(y,"totalDuration")??Xa(y,"duration");if(Z!=null&&Z<=1e-6)return sn.set(d,!0),!0}return sn.set(d,!1),!1};function _t(d,g){let h=e.capturedTimeline,y=g?.suppressEvents===!0;if(h){g?.activateChildren&&Ka(h);let C=h,I=d;if(typeof C.totalDuration=="function")try{let G=Number(C.totalDuration());Number.isFinite(G)&&G>0&&d>G&&(I=G)}catch(G){L("runtime.init.transport.clampDuration",G)}try{typeof h.totalTime=="function"?(h.totalTime(I,y),!y&&!$f(h)&&(h.totalTime(I+.001,!0),h.totalTime(I,!0))):h.seek(I,y)}catch(G){L("runtime.init.transport.seek",G)}}zf(d,g),h&&g?.activateChildren&&Ka(h);for(let C of e.deterministicAdapters)if(!(C.name==="gsap"&&h))try{C.seek({time:d,suppressEvents:y})}catch(I){L("runtime.init.transport.adapter",I)}}let jf=()=>{try{return document.querySelector(`[${Pd}]`)!=null}catch{return!1}},Ja=()=>{if(!(e.tornDown||Ai)){Ai=!0;try{if(e.transportRafId=window.requestAnimationFrame(Ja),ur+=1,Od({tick:ur,isPlaying:c.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:c.now()})){let g=e.capturedTimeline;if(nn()){e.capturedTimeline&&!He._timeline&&(He._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==g&&at(e.capturedTimeline);let h=xe(e.capturedTimeline,0);h>0&&c.setDuration(h),At()}}if(ur%20===0&&At(),ur%30===0&&hi(),e.capturedTimeline){let g=xe(e.capturedTimeline,0);g>0&&(!c.isPlaying()||g>=c.getDuration())&&c.setDuration(g)}if(c.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.isActive()&&m.context){let g=m.getTime();g>=0&&c.attachAudioSource({currentTimeSeconds:g})}else{let g=document.querySelectorAll("audio[data-start]"),h=!1;for(let y of g){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let C=Number.parseFloat(y.dataset.start??""),I=Se(y.dataset.duration),G=I!=null&&I>0?C+I:1/0,Z=Ke(y);if(Number.isFinite(C)&&e.currentTime>=C&&e.currentTime<G){y.paused?!y.error&&y.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(c.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(c.attachAudioSource({el:y,compositionStart:C,mediaStart:Z}),h=!0);break}}!h&&c.hasAudioSource()&&c.detachAudioSource()}else c.hasAudioSource()&&c.detachAudioSource();let d=c.now();if(e.currentTime=d,(c.isPlaying()||!jf())&&_t(d),c.isPlaying()&&$e.redrawAnimated(),c.isPlaying()&&c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let g=c.getDuration();Number.isFinite(g)&&(c.seek(g),e.currentTime=g,_t(g)),Oe("pause"),Pe(),Fe(!0);return}c.isPlaying()&&Pe(),Fe(!1)}finally{Ai=!1}}},Qa=d=>{let g=document.querySelectorAll("video, audio");for(let h of g){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let C=Se(h.dataset.duration),I=C!=null&&C>0?y+C:1/0;if(d<y||d>=I)continue;let G=Ke(h),Z=d-y+G;if(Z>=0)try{h.currentTime=Z}catch{}}},Za=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=m.startGeneration(),g=document.querySelectorAll("audio[data-start]");for(let h of g){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let C=Ke(h),I=Number.parseFloat(h.dataset.volume??""),G=Number.isFinite(I)?I:1,Z=Se(h.dataset.duration),$=Z!=null&&Z>0?Z:Number.POSITIVE_INFINITY,de=h.closest("[data-composition-id]");if(de){let Me=B(de,0),ie=ee(de,{includeAuthoredTimingAttrs:!0});ie!=null&&ie>0&&($=Math.min($,Math.max(0,Me+ie-y)))}m.scheduleMediaElementPlayback(h,y,C,c.now(),G,d,e.playbackRate).then(Me=>{if(Me||!c.isPlaying())return;let ie=e.playbackRate*Te(h),te=h.hasAttribute("data-fx-chain")||h.hasAttribute("data-automation");if(Math.abs(ie-1)>1e-9){te&&(h.muted=!0);return}m.decodeAudioElement(h).then(ve=>{!ve||!c.isPlaying()||m.schedulePlayback(h,ve,y,C,c.now(),G,d,e.playbackRate,$)})})}};function es(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f&&c.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),Za())}if(e.capturedTimeline){let d=xe(e.capturedTimeline,0);d>0&&c.setDuration(d),at(e.capturedTimeline)}Bc(window),e.transportRafId=window.requestAnimationFrame(Ja),At(),Fe(!0),e.controlBridgeHandler=is({onPlay:()=>{He.play(),Ne("composition_played",{time:He.getTime()})},onPause:()=>{He.pause(),Ne("composition_paused",{time:He.getTime()})},onStopMedia:()=>{m.stopAll();let d=document.querySelectorAll("video, audio");for(let g of d)g instanceof HTMLMediaElement&&!g.paused&&g.pause()},onSeek:(d,g)=>{He.seek(d),Ne("composition_seeked",{time:d})},onSetMuted:d=>{e.bridgeMuted=d;let g=d||e.mediaOutputMuted;m.setMuted(g);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=g||y.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,m.setVolume(d);let g=document.querySelectorAll("video, audio");for(let h of g){if(!(h instanceof HTMLMediaElement))continue;let y=parseFloat(h.dataset.volume??""),C=Number.isFinite(y)?y:1;h.volume=C*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let g=d||e.bridgeMuted;m.setMuted(g);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=g||y.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(m.stopAll(),c.detachAudioSource()):Pe())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(m.stopAll(),c.detachAudioSource()),Pe())},onSetPlaybackRate:d=>{Ei(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),es()},onSetRootDuration:Hf,onSetColorGrading:(d,g)=>{$e.setGrading(d,g)},onSetColorGradingCompare:(d,g)=>{$e.setCompare(d,g)},onTick:()=>{if(e.tornDown||!c.isPlaying())return;let d=c.now();if(e.currentTime=d,_t(d),c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let g=c.getDuration();Number.isFinite(g)&&(c.seek(g),e.currentTime=g,_t(g)),Oe("pause"),Pe(),Fe(!0)}},onEnablePickMode:()=>lr.enablePickMode(),onDisablePickMode:()=>lr.disablePickMode(),getCanonicalFps:()=>e.canonicalFps});let Ci=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,m.destroy(),Et!=null&&(window.clearTimeout(Et),Et=null),l!=null&&(window.cancelAnimationFrame(l),l=null),Df(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),r&&(window.removeEventListener("error",r),r=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),lr.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(g){L("runtime.init.site12",g)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(g){L("runtime.init.site13",g)}for(let d of e.injectedCompStyles)try{d.remove()}catch(g){L("runtime.init.site14",g)}e.injectedCompStyles=[];for(let d of e.injectedCompLinks)try{d.remove()}catch(g){L("runtime.init.site15",g)}e.injectedCompLinks=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(g){L("runtime.init.site16",g)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===Ci&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Ci,e.beforeUnloadHandler=Ci,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var jd=["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"],Fa=[[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 Ex(e){if(e<=255)return jd[e];let t=0,n=Fa.length-1;for(;t<=n;){let r=t+n>>1,i=Fa[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function Ax(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let b=e.charCodeAt(u+1);b>=56320&&b<=57343&&(m=(c-55296<<10)+(b-56320)+65536,f=2)}let p=Ex(m);(p==="R"||p==="AL"||p==="AN")&&(r=!0);for(let b=0;b<f;b++)n[u+b]=p;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){i=0;break}if(c==="R"||c==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(s=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="L"?"L":"EN":(c==="R"||c==="L")&&(s=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,p=m!=="L"?"R":"L";if(p===(f!=="L"?"R":"L"))for(let v=u;v<c;v++)n[v]=p;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function Kd(e,t){let n=Ax(e);if(n===null)return null;let r=new Int8Array(t.length);for(let i=0;i<t.length;i++)r[i]=n[t[i]];return r}var Cx=/[ \t\n\r\f]+/g,_x=/[\t\n\r\f]| {2,}|^ | $/;function wx(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Tx(e){if(!_x.test(e))return e;let t=e.replace(Cx," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Rx(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
|
|
564
564
|
`).replace(/[\r\f]/g,`
|
|
565
565
|
`):e.replace(/\r\n/g,`
|
|
566
|
-
`)}var
|
|
567
|
-
`)return"hard-break"}return e===" "?"space":e==="\xA0"||e==="\u202F"||e==="\u2060"||e==="\uFEFF"?"glue":e==="\u200B"?"zero-width-break":e==="\xAD"?"soft-hyphen":"text"}var Px=/[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;function De(e){return e.length===1?e[0]:e.join("")}function Ox(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),De(n)}function Hx(e,t,n,r){if(!Px.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let c of e){let m=Ix(c,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(c),u+=c.length;continue}o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),o=m,a=[c],l=n+u,s=f,u+=c.length}return o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),i}function ka(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Gx=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Bx(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Gx.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function Ux(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function Wx(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let a=0;a<e.len;a++){if(r[a]!=="text"||!Bx(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!ka(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=De(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function Vx(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o]),!Ux(a))continue;let l=o+1;if(l>=e.len||ka(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!ka(e.kinds[c]);)s.push(e.texts[c]),c++;s.length>0&&(t.push(De(s)),n.push(!0),r.push("text"),i.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var zx=new Set([":","-","/","\xD7",",",".","+","\u2013","\u2014"]),jd=/^[A-Za-z0-9_]+[,:;]*$/,Kd=/[,:;]+$/;function Qd(e){for(let t of e)if(Xd.test(t))return!0;return!1}function nr(e){if(e.length===0)return!1;for(let t of e)if(!(Xd.test(t)||zx.has(t)))return!1;return!0}function qx(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&nr(a)&&Qd(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&nr(e.texts[u]);)s.push(e.texts[u]),u++;t.push(De(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function $x(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&jd.test(a)){let u=[a],c=Kd.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&jd.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Kd.test(f),m++}t.push(De(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function jx(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!s)break;(c.length===0||!Qd(c)||!nr(c))&&(s=!1)}if(s){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Kx(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let c=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=De(c);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=De(c);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(De(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Yx(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let o=0;o<t.length-1;o++){if(r[o]!=="text"||r[o+1]!=="text"||!Ve(t[o])||!Ve(t[o+1]))continue;let a=Mx(t[o]);a!==null&&(t[o]=a.head,t[o+1]=a.tail+t[o+1],i[o+1]=i[o]+a.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Yd(e,t,n){let r=yx(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],p=[],b=[],S=[],x=[];for(let A of r.segment(e))for(let v of Hx(A.segment,A.isWordLike??!1,A.index,n)){let B=function(){c[k]!==null&&(a[k]=[qd(o,c,m,k)],c[k]=null),a[k].push(v.text),l[k]=l[k]||v.isWordLike,f[k]=f[k]||L,p[k]=p[k]||D,b[k]=z,S[k]=j,x[k]=$d(p[k],H)},E=v.kind==="text",w=Lx(v.text,v.isWordLike,v.kind),L=Ve(v.text),D=Vd(v.text),H=ci(v.text),z=di(v.text),j=Nx(v.text),k=i-1;t.carryCJKAfterClosingQuote&&E&&i>0&&s[k]==="text"&&L&&f[k]&&b[k]||E&&i>0&&s[k]==="text"&&kx(v.text)&&f[k]||E&&i>0&&s[k]==="text"&&S[k]?B():E&&i>0&&s[k]==="text"&&v.isWordLike&&D&&x[k]?(B(),l[k]=!0):w!==null&&i>0&&s[k]==="text"&&c[k]===w?m[k]=(m[k]??1)+1:E&&!v.isWordLike&&i>0&&s[k]==="text"&&(Rx(v.text)||v.text==="-"&&l[k])?B():(o[i]=v.text,a[i]=[v.text],l[i]=v.isWordLike,s[i]=v.kind,u[i]=v.start,c[i]=w,m[i]=w===null?0:1,f[i]=L,p[i]=D,b[i]=z,S[i]=j,x[i]=$d(D,H),i++)}for(let A=0;A<i;A++){if(c[A]!==null){o[A]=qd(o,c,m,A);continue}o[A]=De(a[A])}for(let A=1;A<i;A++)s[A]==="text"&&!l[A]&&Ma(o[A])&&s[A-1]==="text"&&(o[A-1]+=o[A],l[A-1]=l[A-1]||l[A],o[A]="");let _=Array.from({length:i},()=>null),R=-1;for(let A=i-1;A>=0;A--){let v=o[A];if(v.length!==0){if(s[A]==="text"&&!l[A]&&Fx(v)&&R>=0&&s[R]==="text"){let E=_[R]??[];E.push(v),_[R]=E,u[R]=u[A],o[A]="";continue}R=A}}for(let A=0;A<i;A++){let v=_[A];v!=null&&(o[A]=Ox(v,o[A]))}let T=0;for(let A=0;A<i;A++){let v=o[A];v.length!==0&&(T!==A&&(o[T]=v,l[T]=l[A],s[T]=s[A],u[T]=u[A]),T++)}o.length=T,l.length=T,s.length=T,u.length=T;let F=Kx({len:T,texts:o,isWordLike:l,kinds:s,starts:u}),M=Yx($x(jx(qx(Vx(Wx(F))))));for(let A=0;A<M.len-1;A++){let v=Dx(M.texts[A]);v!==null&&(M.kinds[A]!=="space"&&M.kinds[A]!=="preserved-space"||M.kinds[A+1]!=="text"||!Vd(M.texts[A+1])||(M.texts[A]=v.space,M.isWordLike[A]=!1,M.kinds[A]=M.kinds[A]==="preserved-space"?"preserved-space":"space",M.texts[A+1]=v.marks+M.texts[A+1],M.starts[A+1]=M.starts[A]+v.space.length))}return M}function Xx(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],r=0;for(let i=0;i<e.len;i++)e.kinds[i]==="hard-break"&&(n.push({startSegmentIndex:r,endSegmentIndex:i,consumedEndSegmentIndex:i+1}),r=i+1);return r<e.len&&n.push({startSegmentIndex:r,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function Jx(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function c(){o!==null&&(t.push(De(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],p=e.kinds[m],b=e.isWordLike[m],S=e.starts[m];if(p==="text"){let x=Ax(f),_=li(f);if(o!==null&&s&&u){o.push(f),a=a||b,s=s||x,u=_;continue}c(),o=[f],a=b,l=S,s=x,u=_;continue}c(),t.push(f),n.push(b),r.push(p),i.push(S)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Zd(e,t,n="normal",r="normal"){let i=hx(n),o=i.mode==="pre-wrap"?bx(e):gx(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?Jx(Yd(o,t,i)):Yd(o,t,i);return{normalized:o,chunks:Xx(a,i),...a}}var Zt=null,ef=new Map,en=null,Qx=96,Zx=/\p{Emoji_Presentation}/u,ey=/[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u,La=null,tf=new Map;function Na(){if(Zt!==null)return Zt;if(typeof OffscreenCanvas<"u")return Zt=new OffscreenCanvas(1,1).getContext("2d"),Zt;if(typeof document<"u")return Zt=document.createElement("canvas").getContext("2d"),Zt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function ty(e){let t=ef.get(e);return t||(t=new Map,ef.set(e,t)),t}function at(e,t){let n=t.get(e);return n===void 0&&(n={width:Na().measureText(e).width,containsCJK:Ve(e)},t.set(e,n)),n}function yt(){if(en!==null)return en;if(typeof navigator>"u")return en={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},en;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),r=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return en={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},en}function ny(e){let t=e.match(/(\d+(?:\.\d+)?)\s*px/);return t?parseFloat(t[1]):16}function nf(){return La===null&&(La=new Intl.Segmenter(void 0,{granularity:"grapheme"})),La}function ry(e){return Zx.test(e)||e.includes("\uFE0F")}function rf(e){return ey.test(e)}function iy(e,t){let n=tf.get(e);if(n!==void 0)return n;let r=Na();r.font=e;let i=r.measureText("\u{1F600}").width;if(n=0,i>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\u{1F600}",document.body.appendChild(o);let a=o.getBoundingClientRect().width;document.body.removeChild(o),i-a>.5&&(n=i-a)}return tf.set(e,n),n}function oy(e){let t=0,n=nf();for(let r of n.segment(e))ry(r.segment)&&t++;return t}function ay(e,t){return t.emojiCount===void 0&&(t.emojiCount=oy(e)),t.emojiCount}function xt(e,t,n){return n===0?t.width:t.width-ay(e,t)*n}function of(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=nf(),a=[];for(let c of o.segment(e))a.push(c.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let c=[];for(let m of a){let f=at(m,n);c.push(xt(m,f,r))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(i==="pair-context"||a.length>Qx){let c=[],m=null,f=0;for(let p of a){let b=at(p,n),S=xt(p,b,r);if(m===null)c.push(S);else{let x=m+p,_=at(x,n);c.push(xt(x,_,r)-f)}m=p,f=S}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],s="",u=0;for(let c of a){s+=c;let m=at(s,n),f=xt(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function af(e,t){let n=Na();n.font=e;let r=ty(e),i=ny(e),o=t?iy(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function sy(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function sf(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function lf(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function ly(e,t){let n=0,r=e.chunks.length;for(;n<r;){let i=Math.floor((n+r)/2);t<e.chunks[i].consumedEndSegmentIndex?r=i:n=i+1}return n<e.chunks.length?n:-1}function uf(e,t,n){let r=n.segmentIndex;if(n.graphemeIndex>0)return t;let i=e.chunks[t];if(i.startSegmentIndex===i.endSegmentIndex&&r===i.startSegmentIndex)return n.segmentIndex=r,n.graphemeIndex=0,t;for(r<i.startSegmentIndex&&(r=i.startSegmentIndex);r<i.endSegmentIndex;){let o=e.kinds[r];if(o!=="space"&&o!=="zero-width-break"&&o!=="soft-hyphen")return n.segmentIndex=r,n.graphemeIndex=0,t;r++}return i.consumedEndSegmentIndex>=e.widths.length?-1:(n.segmentIndex=i.consumedEndSegmentIndex,n.graphemeIndex=0,t+1)}function cf(e,t){if(t.segmentIndex>=e.widths.length)return-1;let n=ly(e,t.segmentIndex);return n<0?-1:uf(e,n,t)}function uy(e,t,n){if(n.segmentIndex>=e.widths.length)return-1;let r=t;for(;r<e.chunks.length&&n.segmentIndex>=e.chunks[r].consumedEndSegmentIndex;)r++;return r>=e.chunks.length?-1:uf(e,r,n)}function df(e,t){return e.simpleLineWalkFastPath?ff(e,t):Da(e,t)}function ff(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=yt().lineFitEpsilon,s=t+l,u=0,c=0,m=!1,f=0,p=0,b=0,S=0,x=-1,_=0;function R(){x=-1,_=0}function T(w=b,L=S,D=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:p,endSegmentIndex:w,endGraphemeIndex:L,width:D}),c=0,m=!1,R()}function F(w,L){m=!0,f=w,p=0,b=w+1,S=0,c=L}function M(w,L,D){m=!0,f=w,p=L,b=w,S=L+1,c=D}function A(w,L){if(!m){F(w,L);return}c+=L,b=w+1,S=0}function v(w,L){let D=o[w];for(let H=L;H<D.length;H++){let z=D[H];m?c+z>s?(T(),M(w,H,z)):(c+=z,b=w,S=H+1):M(w,H,z)}m&&b===w&&S===D.length&&(b=w+1,S=0)}let E=0;for(;E<r.length&&!(!m&&(E=sy(e,E),E>=r.length));){let w=r[E],L=i[E],D=L==="space"||L==="preserved-space"||L==="tab"||L==="zero-width-break"||L==="soft-hyphen";if(!m){w>t&&o[E]!==null?v(E,0):F(E,w),D&&(x=E+1,_=c-w),E++;continue}if(c+w>s){if(D){A(E,w),T(E+1,0,c-w),E++;continue}if(x>=0){if(b>x||b===x&&S>0){T();continue}T(x,0,_);continue}if(w>t&&o[E]!==null){T(),v(E,0),E++;continue}T();continue}A(E,w),D&&(x=E+1,_=c-w),E++}return m&&T(),u}function Da(e,t,n){if(e.simpleLineWalkFastPath)return ff(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:c}=e;if(r.length===0||c.length===0)return 0;let m=yt(),f=m.lineFitEpsilon,p=t+f,b=0,S=0,x=!1,_=0,R=0,T=0,F=0,M=-1,A=0,v=0,E=null;function w(){M=-1,A=0,v=0,E=null}function L(U=T,V=F,q=S){b++,n?.({startSegmentIndex:_,startGraphemeIndex:R,endSegmentIndex:U,endGraphemeIndex:V,width:q}),S=0,x=!1,w()}function D(U,V){x=!0,_=U,R=0,T=U+1,F=0,S=V}function H(U,V,q){x=!0,_=U,R=V,T=U,F=V+1,S=q}function z(U,V){if(!x){D(U,V);return}S+=V,T=U+1,F=0}function j(U,V,q,X){if(!V)return;let we=U==="tab"?0:i[q],W=U==="tab"?X:o[q];M=q+1,A=S-X+we,v=S-X+W,E=U}function k(U,V){let q=l[U];for(let X=V;X<q.length;X++){let we=q[X];x?S+we>p?(L(),H(U,X,we)):(S+=we,T=U,F=X+1):H(U,X,we)}x&&T===U&&F===q.length&&(T=U+1,F=0)}function B(U){if(E!=="soft-hyphen")return!1;let V=l[U];if(V==null)return!1;let{fitCount:q,fittedWidth:X}=lf(V,S,t,f,s);return q===0?!1:(S=X,T=U,F=q,w(),q===V.length?(T=U+1,F=0,!0):(L(U,q,X+s),k(U,q),!0))}function ee(U){b++,n?.({startSegmentIndex:U.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:U.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),w()}for(let U=0;U<c.length;U++){let V=c[U];if(V.startSegmentIndex===V.endSegmentIndex){ee(V);continue}x=!1,S=0,_=V.startSegmentIndex,R=0,T=V.startSegmentIndex,F=0,w();let q=V.startSegmentIndex;for(;q<V.endSegmentIndex;){let X=a[q],we=X==="space"||X==="preserved-space"||X==="tab"||X==="zero-width-break"||X==="soft-hyphen",W=X==="tab"?sf(S,u):r[q];if(X==="soft-hyphen"){x&&(T=q+1,F=0,M=q+1,A=S+s,v=S+s,E=X),q++;continue}if(!x){W>t&&l[q]!==null?k(q,0):D(q,W),j(X,we,q,W),q++;continue}if(S+W>p){let O=S+(X==="tab"?0:i[q]),ce=S+(X==="tab"?W:o[q]);if(E==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&A<=p){L(M,0,v);continue}if(E==="soft-hyphen"&&B(q)){q++;continue}if(we&&O<=p){z(q,W),L(q+1,0,ce),q++;continue}if(M>=0&&A<=p){if(T>M||T===M&&F>0){L();continue}let se=M;L(se,0,v),q=se;continue}if(W>t&&l[q]!==null){L(),k(q,0),q++;continue}L();continue}z(q,W),j(X,we,q,W),q++}if(x){let X=M===V.consumedEndSegmentIndex?v:S;L(V.consumedEndSegmentIndex,0,X)}}return b}function mf(e,t,n,r){let i=e.chunks[n];if(i.startSegmentIndex===i.endSegmentIndex)return t.segmentIndex=i.consumedEndSegmentIndex,t.graphemeIndex=0,0;let{widths:o,lineEndFitAdvances:a,lineEndPaintAdvances:l,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:c,tabStopAdvance:m}=e,f=yt(),p=f.lineFitEpsilon,b=r+p,S=0,x=!1,_=t.segmentIndex,R=t.graphemeIndex,T=-1,F=0,M=0,A=null;function v(){T=-1,F=0,M=0,A=null}function E(k=_,B=R,ee=S){return x?(t.segmentIndex=k,t.graphemeIndex=B,ee):null}function w(k,B){x=!0,_=k+1,R=0,S=B}function L(k,B,ee){x=!0,_=k,R=B+1,S=ee}function D(k,B){if(!x){w(k,B);return}S+=B,_=k+1,R=0}function H(k,B,ee,U){if(!B)return;let V=k==="tab"?0:a[ee],q=k==="tab"?U:l[ee];T=ee+1,F=S-U+V,M=S-U+q,A=k}function z(k,B){let ee=u[k];for(let U=B;U<ee.length;U++){let V=ee[U];if(!x)L(k,U,V);else{if(S+V>b)return E();S+=V,_=k,R=U+1}}return x&&_===k&&R===ee.length&&(_=k+1,R=0),null}function j(k){if(A!=="soft-hyphen"||T<0)return null;let B=u[k]??null;if(B!==null){let{fitCount:ee,fittedWidth:U}=lf(B,S,r,p,c);if(ee===B.length)return S=U,_=k+1,R=0,v(),null;if(ee>0)return E(k,ee,U+c)}return F<=b?E(T,0,M):null}for(let k=t.segmentIndex;k<i.endSegmentIndex;k++){let B=s[k],ee=B==="space"||B==="preserved-space"||B==="tab"||B==="zero-width-break"||B==="soft-hyphen",U=k===t.segmentIndex?t.graphemeIndex:0,V=B==="tab"?sf(S,m):o[k];if(B==="soft-hyphen"&&U===0){x&&(_=k+1,R=0,T=k+1,F=S+c,M=S+c,A=B);continue}if(!x){if(U>0){let X=z(k,U);if(X!==null)return X}else if(V>r&&u[k]!==null){let X=z(k,0);if(X!==null)return X}else w(k,V);H(B,ee,k,V);continue}if(S+V>b){let X=S+(B==="tab"?0:a[k]),we=S+(B==="tab"?V:l[k]);if(A==="soft-hyphen"&&f.preferEarlySoftHyphenBreak&&F<=b)return E(T,0,M);let W=j(k);if(W!==null)return W;if(ee&&X<=b)return D(k,V),E(k+1,0,we);if(T>=0&&F<=b)return _>T||_===T&&R>0?E():E(T,0,M);if(V>r&&u[k]!==null){let P=E();if(P!==null)return P;let O=z(k,0);if(O!==null)return O}return E()}D(k,V),H(B,ee,k,V)}return T===i.consumedEndSegmentIndex&&R===0?E(i.consumedEndSegmentIndex,0,M):E(i.consumedEndSegmentIndex,0,S)}function cy(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e,l=yt().lineFitEpsilon,s=n+l,u=0,c=!1,m=t.segmentIndex,f=t.graphemeIndex,p=-1,b=0;for(let S=t.segmentIndex;S<r.length;S++){let x=r[S],_=i[S],R=_==="space"||_==="preserved-space"||_==="tab"||_==="zero-width-break"||_==="soft-hyphen",T=S===t.segmentIndex?t.graphemeIndex:0,F=o[S];if(!c){if(T>0||x>n&&F!==null){let M=F,A=M[T];c=!0,u=A,m=S,f=T+1;for(let v=T+1;v<M.length;v++){let E=M[v];if(u+E>s)return t.segmentIndex=m,t.graphemeIndex=f,u;u+=E,m=S,f=v+1}m===S&&f===M.length&&(m=S+1,f=0)}else c=!0,u=x,m=S+1,f=0;R&&(p=S+1,b=u-x);continue}if(u+x>s)return R?(t.segmentIndex=S+1,t.graphemeIndex=0,u):p>=0?m>p||m===p&&f>0?(t.segmentIndex=m,t.graphemeIndex=f,u):(t.segmentIndex=p,t.graphemeIndex=0,b):(t.segmentIndex=m,t.graphemeIndex=f,u);u+=x,m=S+1,f=0,R&&(p=S+1,b=u-x)}return c?(t.segmentIndex=m,t.graphemeIndex=f,u):null}function dy(e,t,n){let r=cf(e,t);return r<0?null:e.simpleLineWalkFastPath?cy(e,t,n):mf(e,t,r,n)}function pf(e,t){if(e.widths.length===0)return{lineCount:0,maxLineWidth:0};let n={segmentIndex:0,graphemeIndex:0},r=0,i=0;if(!e.simpleLineWalkFastPath){let o=cf(e,n);for(;o>=0;){let a=mf(e,n,o,t);if(a===null)return{lineCount:r,maxLineWidth:i};r++,a>i&&(i=a),o=uy(e,o,n)}return{lineCount:r,maxLineWidth:i}}for(;;){let o=dy(e,n,t);if(o===null)return{lineCount:r,maxLineWidth:i};r++,o>i&&(i=o)}}var Ia=null;function fy(){return Ia===null&&(Ia=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ia}function my(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function py(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,p){r=[m],i=f,o=p,a=di(m),l=rr.has(m)}function c(m,f){r.push(m),o=o||f;let p=di(m);m.length===1&&bt.has(m)?a=a||p:a=p,l=!1}for(let m of fy().segment(e)){let f=m.segment,p=Ve(f);if(r.length===0){u(f,m.index,p);continue}if(l||ui.has(f)||bt.has(f)||t.carryCJKAfterClosingQuote&&p&&a){c(f,p);continue}if(!o&&!p){c(f,p);continue}s(),u(f,m.index,p)}return s(),n}function hy(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=Ve(e[0].text),o=li(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=Ve(s.text),c=li(s.text);if(i&&o){n.push(s.text),i=i||u,o=c;continue}a(),n=[s.text],r=s.start,i=u,o=c}return a(),t}function gy(e,t,n,r){let i=yt(),{cache:o,emojiCorrection:a}=af(t,rf(e.normalized)),l=xt("-",at("-",o),a),u=xt(" ",at(" ",o),a)*8;if(e.len===0)return my(n);let c=[],m=[],f=[],p=[],b=e.chunks.length<=1,S=n?[]:null,x=[],_=n?[]:null,R=Array.from({length:e.len});function T(v,E,w,L,D,H,z){D!=="text"&&D!=="space"&&D!=="zero-width-break"&&(b=!1),c.push(E),m.push(w),f.push(L),p.push(D),S?.push(H),x.push(z),_!==null&&_.push(v)}function F(v,E,w,L,D){let H=at(v,o),z=xt(v,H,a),j=E==="space"||E==="preserved-space"||E==="zero-width-break"?0:z,k=E==="space"||E==="zero-width-break"?0:z;if(D&&L&&v.length>1){let B="sum-graphemes";nr(v)?B="pair-context":i.preferPrefixWidthsForBreakableRuns&&(B="segment-prefixes");let ee=of(v,H,o,a,B);T(v,z,j,k,E,w,ee);return}T(v,z,j,k,E,w,null)}for(let v=0;v<e.len;v++){R[v]=c.length;let E=e.texts[v],w=e.isWordLike[v],L=e.kinds[v],D=e.starts[v];if(L==="soft-hyphen"){T(E,0,l,l,L,D,null);continue}if(L==="hard-break"){T(E,0,0,0,L,D,null);continue}if(L==="tab"){T(E,0,0,0,L,D,null);continue}let H=at(E,o);if(L==="text"&&H.containsCJK){let z=py(E,i),j=r==="keep-all"?hy(z):z;for(let k=0;k<j.length;k++){let B=j[k];F(B.text,"text",D+B.start,w,r==="keep-all"||!Ve(B.text))}continue}F(E,L,D,w,!0)}let M=by(e.chunks,R,c.length),A=S===null?null:Wd(e.normalized,S);return _!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:p,simpleLineWalkFastPath:b,segLevels:A,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:M,segments:_}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:p,simpleLineWalkFastPath:b,segLevels:A,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:M}}function by(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function hf(e,t,n,r){let i=r?.wordBreak??"normal",o=Zd(e,yt(),r?.whiteSpace,i);return gy(o,t,n,i)}function fi(e,t,n){return hf(e,t,!1,n)}function gf(e,t,n){return hf(e,t,!0,n)}function mi(e,t,n){let r=df(e,t);return{lineCount:r,height:r*n}}function xy(e){return{width:e.width,start:{segmentIndex:e.startSegmentIndex,graphemeIndex:e.startGraphemeIndex},end:{segmentIndex:e.endSegmentIndex,graphemeIndex:e.endGraphemeIndex}}}function yy(e,t,n){return e.widths.length===0?0:Da(e,t,r=>{n(xy(r))})}function bf(e,t){return pf(e,t)}function xf(e){let t=0;return yy(e,Number.POSITIVE_INFINITY,n=>{n.width>t&&(t=n.width)}),t}var Sy={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function yf(e,t){let n={...Sy,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=fi(e,o),{lineCount:l}=mi(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}var Sf={prepare:fi,layout:mi,prepareWithSegments:gf,measureLineStats:bf,measureNaturalWidth:xf};window.__timelines=window.__timelines||{};$c();window.__hyperframes={fitTextFontSize:yf,getVariables:os,pretext:Sf};function vf(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Bd())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",vf,{once:!0}):vf();})();
|
|
566
|
+
`)}var Ma=null,kx;function Fx(){return Ma===null&&(Ma=new Intl.Segmenter(kx,{granularity:"word"})),Ma}var Mx=/\p{Script=Arabic}/u,li=/\p{M}/u,nf=/\p{Nd}/u;function Yd(e){return Mx.test(e)}function Xd(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function ze(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let r=e.charCodeAt(t+1);if(r>=56320&&r<=57343){let i=(n-55296<<10)+(r-56320)+65536;if(Xd(i))return!0;t++;continue}}if(Xd(n))return!0}}return!1}function Nx(e){let t=di(e);return t!==null&&(ci.has(t)||yt.has(t))}var Lx=new Set(["\xA0","\u202F","\u2060","\uFEFF"]);function Dx(e){return ze(e)}function Ix(e){let t=di(e);return t!==null&&Lx.has(t)}function ui(e){return!Nx(e)&&!Ix(e)}var ci=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"]),ir=new Set(['"',"(","[","{","\u201C","\u2018","\xAB","\u2039","\uFF08","\u3014","\u3008","\u300A","\u300C","\u300E","\u3010","\u3016","\u3018","\u301A"]),La=new Set(["'","\u2019"]),yt=new Set([".",",","!","?",":",";","\u060C","\u061B","\u061F","\u0964","\u0965","\u104A","\u104B","\u104C","\u104D","\u104F",")","]","}","%",'"',"\u201D","\u2019","\xBB","\u203A","\u2026"]),Px=new Set([":",".","\u060C","\u061B"]),Ox=new Set(["\u104F"]),Hx=new Set(["\u201D","\u2019","\xBB","\u203A","\u300D","\u300F","\u3011","\u300B","\u3009","\u3015","\uFF09"]);function Gx(e){if(Da(e))return!0;let t=!1;for(let n of e){if(yt.has(n)){t=!0;continue}if(!(t&&li.test(n)))return!1}return t}function Bx(e){for(let t of e)if(!ci.has(t)&&!yt.has(t))return!1;return e.length>0}function Ux(e){if(Da(e))return!0;for(let t of e)if(!ir.has(t)&&!La.has(t)&&!li.test(t))return!1;return e.length>0}function Da(e){let t=!1;for(let n of e)if(!(n==="\\"||li.test(n))){if(ir.has(n)||yt.has(n)||La.has(n)){t=!0;continue}return!1}return t}function rf(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let r=e.charCodeAt(n);if(r<56320||r>57343)return n;let i=n-1;if(i<0)return n;let o=e.charCodeAt(i);return o>=55296&&o<=56319?i:n}function di(e){if(e.length===0)return null;let t=rf(e,e.length);return e.slice(t)}function Wx(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(li.test(r)){n--;continue}if(ir.has(r)||La.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function Vx(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\u2014"?e:null}function Jd(e,t,n,r){let i=t[r],o=e[r];if(i==null)return o;let a=n[r];if(o.length===a)return o;let l=i.repeat(a);return e[r]=l,l}function Qd(e,t){return e&&t!==null&&Px.has(t)}function zx(e){let t=di(e);return t!==null&&Ox.has(t)}function qx(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function fi(e){let t=e.length;for(;t>0;){let n=rf(e,t),r=e.slice(n,t);if(Hx.has(r))return!0;if(!yt.has(r))return!1;t=n}return!1}function $x(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`
|
|
567
|
+
`)return"hard-break"}return e===" "?"space":e==="\xA0"||e==="\u202F"||e==="\u2060"||e==="\uFEFF"?"glue":e==="\u200B"?"zero-width-break":e==="\xAD"?"soft-hyphen":"text"}var jx=/[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;function De(e){return e.length===1?e[0]:e.join("")}function Kx(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),De(n)}function Yx(e,t,n,r){if(!jx.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let c of e){let m=$x(c,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(c),u+=c.length;continue}o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),o=m,a=[c],l=n+u,s=f,u+=c.length}return o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),i}function Na(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Xx=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Jx(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Xx.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function Qx(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function Zx(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let a=0;a<e.len;a++){if(r[a]!=="text"||!Jx(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!Na(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=De(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function ey(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o]),!Qx(a))continue;let l=o+1;if(l>=e.len||Na(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!Na(e.kinds[c]);)s.push(e.texts[c]),c++;s.length>0&&(t.push(De(s)),n.push(!0),r.push("text"),i.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var ty=new Set([":","-","/","\xD7",",",".","+","\u2013","\u2014"]),Zd=/^[A-Za-z0-9_]+[,:;]*$/,ef=/[,:;]+$/;function of(e){for(let t of e)if(nf.test(t))return!0;return!1}function rr(e){if(e.length===0)return!1;for(let t of e)if(!(nf.test(t)||ty.has(t)))return!1;return!0}function ny(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&rr(a)&&of(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&rr(e.texts[u]);)s.push(e.texts[u]),u++;t.push(De(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function ry(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&Zd.test(a)){let u=[a],c=ef.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Zd.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=ef.test(f),m++}t.push(De(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function iy(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!s)break;(c.length===0||!of(c)||!rr(c))&&(s=!1)}if(s){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function oy(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let c=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=De(c);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=De(c);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(De(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function ay(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let o=0;o<t.length-1;o++){if(r[o]!=="text"||r[o+1]!=="text"||!ze(t[o])||!ze(t[o+1]))continue;let a=Wx(t[o]);a!==null&&(t[o]=a.head,t[o+1]=a.tail+t[o+1],i[o+1]=i[o]+a.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function tf(e,t,n){let r=Fx(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],p=[],b=[],v=[],x=[];for(let A of r.segment(e))for(let S of Yx(A.segment,A.isWordLike??!1,A.index,n)){let B=function(){c[k]!==null&&(a[k]=[Jd(o,c,m,k)],c[k]=null),a[k].push(S.text),l[k]=l[k]||S.isWordLike,f[k]=f[k]||N,p[k]=p[k]||D,b[k]=z,v[k]=j,x[k]=Qd(p[k],H)},E=S.kind==="text",_=Vx(S.text,S.isWordLike,S.kind),N=ze(S.text),D=Yd(S.text),H=di(S.text),z=fi(S.text),j=zx(S.text),k=i-1;t.carryCJKAfterClosingQuote&&E&&i>0&&s[k]==="text"&&N&&f[k]&&b[k]||E&&i>0&&s[k]==="text"&&Bx(S.text)&&f[k]||E&&i>0&&s[k]==="text"&&v[k]?B():E&&i>0&&s[k]==="text"&&S.isWordLike&&D&&x[k]?(B(),l[k]=!0):_!==null&&i>0&&s[k]==="text"&&c[k]===_?m[k]=(m[k]??1)+1:E&&!S.isWordLike&&i>0&&s[k]==="text"&&(Gx(S.text)||S.text==="-"&&l[k])?B():(o[i]=S.text,a[i]=[S.text],l[i]=S.isWordLike,s[i]=S.kind,u[i]=S.start,c[i]=_,m[i]=_===null?0:1,f[i]=N,p[i]=D,b[i]=z,v[i]=j,x[i]=Qd(D,H),i++)}for(let A=0;A<i;A++){if(c[A]!==null){o[A]=Jd(o,c,m,A);continue}o[A]=De(a[A])}for(let A=1;A<i;A++)s[A]==="text"&&!l[A]&&Da(o[A])&&s[A-1]==="text"&&(o[A-1]+=o[A],l[A-1]=l[A-1]||l[A],o[A]="");let w=Array.from({length:i},()=>null),R=-1;for(let A=i-1;A>=0;A--){let S=o[A];if(S.length!==0){if(s[A]==="text"&&!l[A]&&Ux(S)&&R>=0&&s[R]==="text"){let E=w[R]??[];E.push(S),w[R]=E,u[R]=u[A],o[A]="";continue}R=A}}for(let A=0;A<i;A++){let S=w[A];S!=null&&(o[A]=Kx(S,o[A]))}let T=0;for(let A=0;A<i;A++){let S=o[A];S.length!==0&&(T!==A&&(o[T]=S,l[T]=l[A],s[T]=s[A],u[T]=u[A]),T++)}o.length=T,l.length=T,s.length=T,u.length=T;let F=oy({len:T,texts:o,isWordLike:l,kinds:s,starts:u}),M=ay(ry(iy(ny(ey(Zx(F))))));for(let A=0;A<M.len-1;A++){let S=qx(M.texts[A]);S!==null&&(M.kinds[A]!=="space"&&M.kinds[A]!=="preserved-space"||M.kinds[A+1]!=="text"||!Yd(M.texts[A+1])||(M.texts[A]=S.space,M.isWordLike[A]=!1,M.kinds[A]=M.kinds[A]==="preserved-space"?"preserved-space":"space",M.texts[A+1]=S.marks+M.texts[A+1],M.starts[A+1]=M.starts[A]+S.space.length))}return M}function sy(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],r=0;for(let i=0;i<e.len;i++)e.kinds[i]==="hard-break"&&(n.push({startSegmentIndex:r,endSegmentIndex:i,consumedEndSegmentIndex:i+1}),r=i+1);return r<e.len&&n.push({startSegmentIndex:r,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function ly(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function c(){o!==null&&(t.push(De(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],p=e.kinds[m],b=e.isWordLike[m],v=e.starts[m];if(p==="text"){let x=Dx(f),w=ui(f);if(o!==null&&s&&u){o.push(f),a=a||b,s=s||x,u=w;continue}c(),o=[f],a=b,l=v,s=x,u=w;continue}c(),t.push(f),n.push(b),r.push(p),i.push(v)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function af(e,t,n="normal",r="normal"){let i=wx(n),o=i.mode==="pre-wrap"?Rx(e):Tx(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?ly(tf(o,t,i)):tf(o,t,i);return{normalized:o,chunks:sy(a,i),...a}}var en=null,sf=new Map,tn=null,uy=96,cy=/\p{Emoji_Presentation}/u,dy=/[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u,Ia=null,lf=new Map;function Pa(){if(en!==null)return en;if(typeof OffscreenCanvas<"u")return en=new OffscreenCanvas(1,1).getContext("2d"),en;if(typeof document<"u")return en=document.createElement("canvas").getContext("2d"),en;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function fy(e){let t=sf.get(e);return t||(t=new Map,sf.set(e,t)),t}function st(e,t){let n=t.get(e);return n===void 0&&(n={width:Pa().measureText(e).width,containsCJK:ze(e)},t.set(e,n)),n}function St(){if(tn!==null)return tn;if(typeof navigator>"u")return tn={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},tn;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),r=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return tn={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},tn}function my(e){let t=e.match(/(\d+(?:\.\d+)?)\s*px/);return t?parseFloat(t[1]):16}function uf(){return Ia===null&&(Ia=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ia}function py(e){return cy.test(e)||e.includes("\uFE0F")}function cf(e){return dy.test(e)}function hy(e,t){let n=lf.get(e);if(n!==void 0)return n;let r=Pa();r.font=e;let i=r.measureText("\u{1F600}").width;if(n=0,i>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\u{1F600}",document.body.appendChild(o);let a=o.getBoundingClientRect().width;document.body.removeChild(o),i-a>.5&&(n=i-a)}return lf.set(e,n),n}function gy(e){let t=0,n=uf();for(let r of n.segment(e))py(r.segment)&&t++;return t}function by(e,t){return t.emojiCount===void 0&&(t.emojiCount=gy(e)),t.emojiCount}function vt(e,t,n){return n===0?t.width:t.width-by(e,t)*n}function df(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=uf(),a=[];for(let c of o.segment(e))a.push(c.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let c=[];for(let m of a){let f=st(m,n);c.push(vt(m,f,r))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(i==="pair-context"||a.length>uy){let c=[],m=null,f=0;for(let p of a){let b=st(p,n),v=vt(p,b,r);if(m===null)c.push(v);else{let x=m+p,w=st(x,n);c.push(vt(x,w,r)-f)}m=p,f=v}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],s="",u=0;for(let c of a){s+=c;let m=st(s,n),f=vt(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function ff(e,t){let n=Pa();n.font=e;let r=fy(e),i=my(e),o=t?hy(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function xy(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function mf(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function pf(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function yy(e,t){let n=0,r=e.chunks.length;for(;n<r;){let i=Math.floor((n+r)/2);t<e.chunks[i].consumedEndSegmentIndex?r=i:n=i+1}return n<e.chunks.length?n:-1}function hf(e,t,n){let r=n.segmentIndex;if(n.graphemeIndex>0)return t;let i=e.chunks[t];if(i.startSegmentIndex===i.endSegmentIndex&&r===i.startSegmentIndex)return n.segmentIndex=r,n.graphemeIndex=0,t;for(r<i.startSegmentIndex&&(r=i.startSegmentIndex);r<i.endSegmentIndex;){let o=e.kinds[r];if(o!=="space"&&o!=="zero-width-break"&&o!=="soft-hyphen")return n.segmentIndex=r,n.graphemeIndex=0,t;r++}return i.consumedEndSegmentIndex>=e.widths.length?-1:(n.segmentIndex=i.consumedEndSegmentIndex,n.graphemeIndex=0,t+1)}function gf(e,t){if(t.segmentIndex>=e.widths.length)return-1;let n=yy(e,t.segmentIndex);return n<0?-1:hf(e,n,t)}function vy(e,t,n){if(n.segmentIndex>=e.widths.length)return-1;let r=t;for(;r<e.chunks.length&&n.segmentIndex>=e.chunks[r].consumedEndSegmentIndex;)r++;return r>=e.chunks.length?-1:hf(e,r,n)}function bf(e,t){return e.simpleLineWalkFastPath?xf(e,t):Oa(e,t)}function xf(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=St().lineFitEpsilon,s=t+l,u=0,c=0,m=!1,f=0,p=0,b=0,v=0,x=-1,w=0;function R(){x=-1,w=0}function T(_=b,N=v,D=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:p,endSegmentIndex:_,endGraphemeIndex:N,width:D}),c=0,m=!1,R()}function F(_,N){m=!0,f=_,p=0,b=_+1,v=0,c=N}function M(_,N,D){m=!0,f=_,p=N,b=_,v=N+1,c=D}function A(_,N){if(!m){F(_,N);return}c+=N,b=_+1,v=0}function S(_,N){let D=o[_];for(let H=N;H<D.length;H++){let z=D[H];m?c+z>s?(T(),M(_,H,z)):(c+=z,b=_,v=H+1):M(_,H,z)}m&&b===_&&v===D.length&&(b=_+1,v=0)}let E=0;for(;E<r.length&&!(!m&&(E=xy(e,E),E>=r.length));){let _=r[E],N=i[E],D=N==="space"||N==="preserved-space"||N==="tab"||N==="zero-width-break"||N==="soft-hyphen";if(!m){_>t&&o[E]!==null?S(E,0):F(E,_),D&&(x=E+1,w=c-_),E++;continue}if(c+_>s){if(D){A(E,_),T(E+1,0,c-_),E++;continue}if(x>=0){if(b>x||b===x&&v>0){T();continue}T(x,0,w);continue}if(_>t&&o[E]!==null){T(),S(E,0),E++;continue}T();continue}A(E,_),D&&(x=E+1,w=c-_),E++}return m&&T(),u}function Oa(e,t,n){if(e.simpleLineWalkFastPath)return xf(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:c}=e;if(r.length===0||c.length===0)return 0;let m=St(),f=m.lineFitEpsilon,p=t+f,b=0,v=0,x=!1,w=0,R=0,T=0,F=0,M=-1,A=0,S=0,E=null;function _(){M=-1,A=0,S=0,E=null}function N(U=T,V=F,q=v){b++,n?.({startSegmentIndex:w,startGraphemeIndex:R,endSegmentIndex:U,endGraphemeIndex:V,width:q}),v=0,x=!1,_()}function D(U,V){x=!0,w=U,R=0,T=U+1,F=0,v=V}function H(U,V,q){x=!0,w=U,R=V,T=U,F=V+1,v=q}function z(U,V){if(!x){D(U,V);return}v+=V,T=U+1,F=0}function j(U,V,q,X){if(!V)return;let _e=U==="tab"?0:i[q],W=U==="tab"?X:o[q];M=q+1,A=v-X+_e,S=v-X+W,E=U}function k(U,V){let q=l[U];for(let X=V;X<q.length;X++){let _e=q[X];x?v+_e>p?(N(),H(U,X,_e)):(v+=_e,T=U,F=X+1):H(U,X,_e)}x&&T===U&&F===q.length&&(T=U+1,F=0)}function B(U){if(E!=="soft-hyphen")return!1;let V=l[U];if(V==null)return!1;let{fitCount:q,fittedWidth:X}=pf(V,v,t,f,s);return q===0?!1:(v=X,T=U,F=q,_(),q===V.length?(T=U+1,F=0,!0):(N(U,q,X+s),k(U,q),!0))}function ee(U){b++,n?.({startSegmentIndex:U.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:U.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),_()}for(let U=0;U<c.length;U++){let V=c[U];if(V.startSegmentIndex===V.endSegmentIndex){ee(V);continue}x=!1,v=0,w=V.startSegmentIndex,R=0,T=V.startSegmentIndex,F=0,_();let q=V.startSegmentIndex;for(;q<V.endSegmentIndex;){let X=a[q],_e=X==="space"||X==="preserved-space"||X==="tab"||X==="zero-width-break"||X==="soft-hyphen",W=X==="tab"?mf(v,u):r[q];if(X==="soft-hyphen"){x&&(T=q+1,F=0,M=q+1,A=v+s,S=v+s,E=X),q++;continue}if(!x){W>t&&l[q]!==null?k(q,0):D(q,W),j(X,_e,q,W),q++;continue}if(v+W>p){let O=v+(X==="tab"?0:i[q]),ce=v+(X==="tab"?W:o[q]);if(E==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&A<=p){N(M,0,S);continue}if(E==="soft-hyphen"&&B(q)){q++;continue}if(_e&&O<=p){z(q,W),N(q+1,0,ce),q++;continue}if(M>=0&&A<=p){if(T>M||T===M&&F>0){N();continue}let se=M;N(se,0,S),q=se;continue}if(W>t&&l[q]!==null){N(),k(q,0),q++;continue}N();continue}z(q,W),j(X,_e,q,W),q++}if(x){let X=M===V.consumedEndSegmentIndex?S:v;N(V.consumedEndSegmentIndex,0,X)}}return b}function yf(e,t,n,r){let i=e.chunks[n];if(i.startSegmentIndex===i.endSegmentIndex)return t.segmentIndex=i.consumedEndSegmentIndex,t.graphemeIndex=0,0;let{widths:o,lineEndFitAdvances:a,lineEndPaintAdvances:l,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:c,tabStopAdvance:m}=e,f=St(),p=f.lineFitEpsilon,b=r+p,v=0,x=!1,w=t.segmentIndex,R=t.graphemeIndex,T=-1,F=0,M=0,A=null;function S(){T=-1,F=0,M=0,A=null}function E(k=w,B=R,ee=v){return x?(t.segmentIndex=k,t.graphemeIndex=B,ee):null}function _(k,B){x=!0,w=k+1,R=0,v=B}function N(k,B,ee){x=!0,w=k,R=B+1,v=ee}function D(k,B){if(!x){_(k,B);return}v+=B,w=k+1,R=0}function H(k,B,ee,U){if(!B)return;let V=k==="tab"?0:a[ee],q=k==="tab"?U:l[ee];T=ee+1,F=v-U+V,M=v-U+q,A=k}function z(k,B){let ee=u[k];for(let U=B;U<ee.length;U++){let V=ee[U];if(!x)N(k,U,V);else{if(v+V>b)return E();v+=V,w=k,R=U+1}}return x&&w===k&&R===ee.length&&(w=k+1,R=0),null}function j(k){if(A!=="soft-hyphen"||T<0)return null;let B=u[k]??null;if(B!==null){let{fitCount:ee,fittedWidth:U}=pf(B,v,r,p,c);if(ee===B.length)return v=U,w=k+1,R=0,S(),null;if(ee>0)return E(k,ee,U+c)}return F<=b?E(T,0,M):null}for(let k=t.segmentIndex;k<i.endSegmentIndex;k++){let B=s[k],ee=B==="space"||B==="preserved-space"||B==="tab"||B==="zero-width-break"||B==="soft-hyphen",U=k===t.segmentIndex?t.graphemeIndex:0,V=B==="tab"?mf(v,m):o[k];if(B==="soft-hyphen"&&U===0){x&&(w=k+1,R=0,T=k+1,F=v+c,M=v+c,A=B);continue}if(!x){if(U>0){let X=z(k,U);if(X!==null)return X}else if(V>r&&u[k]!==null){let X=z(k,0);if(X!==null)return X}else _(k,V);H(B,ee,k,V);continue}if(v+V>b){let X=v+(B==="tab"?0:a[k]),_e=v+(B==="tab"?V:l[k]);if(A==="soft-hyphen"&&f.preferEarlySoftHyphenBreak&&F<=b)return E(T,0,M);let W=j(k);if(W!==null)return W;if(ee&&X<=b)return D(k,V),E(k+1,0,_e);if(T>=0&&F<=b)return w>T||w===T&&R>0?E():E(T,0,M);if(V>r&&u[k]!==null){let P=E();if(P!==null)return P;let O=z(k,0);if(O!==null)return O}return E()}D(k,V),H(B,ee,k,V)}return T===i.consumedEndSegmentIndex&&R===0?E(i.consumedEndSegmentIndex,0,M):E(i.consumedEndSegmentIndex,0,v)}function Sy(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e,l=St().lineFitEpsilon,s=n+l,u=0,c=!1,m=t.segmentIndex,f=t.graphemeIndex,p=-1,b=0;for(let v=t.segmentIndex;v<r.length;v++){let x=r[v],w=i[v],R=w==="space"||w==="preserved-space"||w==="tab"||w==="zero-width-break"||w==="soft-hyphen",T=v===t.segmentIndex?t.graphemeIndex:0,F=o[v];if(!c){if(T>0||x>n&&F!==null){let M=F,A=M[T];c=!0,u=A,m=v,f=T+1;for(let S=T+1;S<M.length;S++){let E=M[S];if(u+E>s)return t.segmentIndex=m,t.graphemeIndex=f,u;u+=E,m=v,f=S+1}m===v&&f===M.length&&(m=v+1,f=0)}else c=!0,u=x,m=v+1,f=0;R&&(p=v+1,b=u-x);continue}if(u+x>s)return R?(t.segmentIndex=v+1,t.graphemeIndex=0,u):p>=0?m>p||m===p&&f>0?(t.segmentIndex=m,t.graphemeIndex=f,u):(t.segmentIndex=p,t.graphemeIndex=0,b):(t.segmentIndex=m,t.graphemeIndex=f,u);u+=x,m=v+1,f=0,R&&(p=v+1,b=u-x)}return c?(t.segmentIndex=m,t.graphemeIndex=f,u):null}function Ey(e,t,n){let r=gf(e,t);return r<0?null:e.simpleLineWalkFastPath?Sy(e,t,n):yf(e,t,r,n)}function vf(e,t){if(e.widths.length===0)return{lineCount:0,maxLineWidth:0};let n={segmentIndex:0,graphemeIndex:0},r=0,i=0;if(!e.simpleLineWalkFastPath){let o=gf(e,n);for(;o>=0;){let a=yf(e,n,o,t);if(a===null)return{lineCount:r,maxLineWidth:i};r++,a>i&&(i=a),o=vy(e,o,n)}return{lineCount:r,maxLineWidth:i}}for(;;){let o=Ey(e,n,t);if(o===null)return{lineCount:r,maxLineWidth:i};r++,o>i&&(i=o)}}var Ha=null;function Ay(){return Ha===null&&(Ha=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ha}function Cy(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function _y(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,p){r=[m],i=f,o=p,a=fi(m),l=ir.has(m)}function c(m,f){r.push(m),o=o||f;let p=fi(m);m.length===1&&yt.has(m)?a=a||p:a=p,l=!1}for(let m of Ay().segment(e)){let f=m.segment,p=ze(f);if(r.length===0){u(f,m.index,p);continue}if(l||ci.has(f)||yt.has(f)||t.carryCJKAfterClosingQuote&&p&&a){c(f,p);continue}if(!o&&!p){c(f,p);continue}s(),u(f,m.index,p)}return s(),n}function wy(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=ze(e[0].text),o=ui(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=ze(s.text),c=ui(s.text);if(i&&o){n.push(s.text),i=i||u,o=c;continue}a(),n=[s.text],r=s.start,i=u,o=c}return a(),t}function Ty(e,t,n,r){let i=St(),{cache:o,emojiCorrection:a}=ff(t,cf(e.normalized)),l=vt("-",st("-",o),a),u=vt(" ",st(" ",o),a)*8;if(e.len===0)return Cy(n);let c=[],m=[],f=[],p=[],b=e.chunks.length<=1,v=n?[]:null,x=[],w=n?[]:null,R=Array.from({length:e.len});function T(S,E,_,N,D,H,z){D!=="text"&&D!=="space"&&D!=="zero-width-break"&&(b=!1),c.push(E),m.push(_),f.push(N),p.push(D),v?.push(H),x.push(z),w!==null&&w.push(S)}function F(S,E,_,N,D){let H=st(S,o),z=vt(S,H,a),j=E==="space"||E==="preserved-space"||E==="zero-width-break"?0:z,k=E==="space"||E==="zero-width-break"?0:z;if(D&&N&&S.length>1){let B="sum-graphemes";rr(S)?B="pair-context":i.preferPrefixWidthsForBreakableRuns&&(B="segment-prefixes");let ee=df(S,H,o,a,B);T(S,z,j,k,E,_,ee);return}T(S,z,j,k,E,_,null)}for(let S=0;S<e.len;S++){R[S]=c.length;let E=e.texts[S],_=e.isWordLike[S],N=e.kinds[S],D=e.starts[S];if(N==="soft-hyphen"){T(E,0,l,l,N,D,null);continue}if(N==="hard-break"){T(E,0,0,0,N,D,null);continue}if(N==="tab"){T(E,0,0,0,N,D,null);continue}let H=st(E,o);if(N==="text"&&H.containsCJK){let z=_y(E,i),j=r==="keep-all"?wy(z):z;for(let k=0;k<j.length;k++){let B=j[k];F(B.text,"text",D+B.start,_,r==="keep-all"||!ze(B.text))}continue}F(E,N,D,_,!0)}let M=Ry(e.chunks,R,c.length),A=v===null?null:Kd(e.normalized,v);return w!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:p,simpleLineWalkFastPath:b,segLevels:A,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:M,segments:w}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:p,simpleLineWalkFastPath:b,segLevels:A,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:M}}function Ry(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function Sf(e,t,n,r){let i=r?.wordBreak??"normal",o=af(e,St(),r?.whiteSpace,i);return Ty(o,t,n,i)}function mi(e,t,n){return Sf(e,t,!1,n)}function Ef(e,t,n){return Sf(e,t,!0,n)}function pi(e,t,n){let r=bf(e,t);return{lineCount:r,height:r*n}}function ky(e){return{width:e.width,start:{segmentIndex:e.startSegmentIndex,graphemeIndex:e.startGraphemeIndex},end:{segmentIndex:e.endSegmentIndex,graphemeIndex:e.endGraphemeIndex}}}function Fy(e,t,n){return e.widths.length===0?0:Oa(e,t,r=>{n(ky(r))})}function Af(e,t){return vf(e,t)}function Cf(e){let t=0;return Fy(e,Number.POSITIVE_INFINITY,n=>{n.width>t&&(t=n.width)}),t}var My={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function _f(e,t){let n={...My,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=mi(e,o),{lineCount:l}=pi(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}var wf={prepare:mi,layout:pi,prepareWithSegments:Ef,measureLineStats:Af,measureNaturalWidth:Cf};window.__timelines=window.__timelines||{};Qc();window.__hyperframes={fitTextFontSize:_f,getVariables:ls,pretext:wf};function Tf(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,$d())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Tf,{once:!0}):Tf();})();
|
|
568
568
|
|