route-graphics 1.44.0 → 1.44.1

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.
@@ -1665,7 +1665,7 @@ void main(void)
1665
1665
  `),r)};var Du=Symbol.for("routeGraphics.timelineTextUnits"),nx=new WeakMap,ox=new WeakMap,Aie=Object.freeze(["pointerover","pointerout","pointerdown","pointerupoutside","pointerup","rightdown","rightclick","rightup","rightupoutside","wheel"]),Q4=(t,e)=>{e.x=t.x??0,e.y=t.y??0,e.scale?.set?.(t.scale?.x??1,t.scale?.y??1),e.pivot?.set?.(t.pivot?.x??0,t.pivot?.y??0),e.skew?.set?.(t.skew?.x??0,t.skew?.y??0),e.rotation=t.rotation??0,e.alpha=t.alpha??1,e.zIndex=t.zIndex??0,e.visible=t.visible},Mie=t=>[t?.fontFamily,t?.fontSize,t?.fontWeight,t?.fontStyle,t?.letterSpacing,t?.lineHeight,t?.align,t?.wordWrap,t?.wordWrapWidth].join("\0"),KC=(t,e,r)=>WH(PP(new TextEncoder().encode([t,Mie(e),r.unit,r.order,r.segmentation.version].join("")))),Pie=(t,e)=>{let r=0;for(let i=0;i<e;i++)t[i]===`
1666
1666
  `&&r++;return r},Cie=(t,e)=>t.length===0?0:St.measureText(t,e).maxLineWidth,QC=(t,e)=>{if(t.length===0)return 0;let r=St._context;r.font=hs(e),"letterSpacing"in r&&(r.letterSpacing="0px"),"textLetterSpacing"in r&&(r.textLetterSpacing="0px");let i=St.graphemeSegmenter(t).length;return r.measureText(t).width+Math.max(0,i-1)*Number(e?.letterSpacing??0)},Iie=/[\u0590-\u08ff\u0900-\u0fff\u1780-\u18af\ufb1d-\ufdff\ufe70-\ufefc]/u,Rie=(t,e,r,i)=>{if(r.length<=1)return;if(e?.wordWrap)throw new Error(`Text element "${i}" cannot animate text units with automatic wrapping because Pixi cannot preserve the shaped line layout.`);if(Iie.test(t))throw new Error(`Text element "${i}" uses contextual or bidirectional shaping that cannot be preserved by independent Pixi text units.`);let n=Number(e?.letterSpacing??0);for(let o of r){let s=t.lastIndexOf(`
1667
1667
  `,Math.max(0,o.start-1))+1,a=t.slice(s,o.start),l=t.slice(s,o.end),c=QC(l,e)-QC(a,e),u=QC(o.segment,e)+(a.length>0&&o.segment.length>0?n:0),d=Math.max(.01,Math.abs(c)*1e-6);if(Math.abs(c-u)>d)throw new Error(`Text element "${i}" has kerning or ligature shaping across text-unit boundaries that Pixi cannot preserve.`)}},kie=(t,e)=>{let r=t.handle,i=r[Du],n=String(i?.originalText??r.text??""),o=KC(n,r.style,e);if(i?.fingerprint===o)return i;let s=nx.get(r);if(s){if(s.fingerprint!==o)throw new Error(`Text element "${e.elementId}" cannot bind incompatible text-unit queries in one activation.`);return s}let a=K4(n,e.unit,e.order);Rie(n,r.style,a,e.elementId);let l=St.measureText(n,r.style),c=new xe({label:`__timeline-text-units:${e.elementId}`});Q4(r,c);let u=r.getLocalBounds?.().rectangle??r.getLocalBounds?.()??{x:0,y:0},d=l.lineHeight,h=v=>{let T=l.maxLineWidth-l.lineWidths[v];return r.style?.align==="center"?T/2:r.style?.align==="right"?T:0},f=a.map((v,T)=>{let E=n.lastIndexOf(`
1668
- `,Math.max(0,v.start-1))+1,P=Pie(n,v.start),C=new gi({text:v.segment,style:r.style,label:`__timeline-text-unit:${e.elementId}:${T}`});return C.x=(u.x??0)+h(P)+Cie(n.slice(E,v.start),r.style),C.y=(u.y??0)+P*d,c.addChild(C),{handle:C,identity:`${e.elementId}:${o}:${v.start}-${v.end}`,stableId:`${e.elementId}:${v.start}-${v.end}`,targetState:{x:C.x,y:C.y,scaleX:C.scale.x,scaleY:C.scale.y,rotation:0,alpha:1,width:C.width,height:C.height},subject:{x:C.x,y:C.y,width:C.width,height:C.height}}}),m=!1,p=null,g=null,_=r.renderable,x=r.filters,b=()=>{if(m&&KC(n,r.style,e)!==o){w.destroy();return}Q4(r,c),c.eventMode=r.eventMode,c.cursor=r.cursor;for(let T of f)!T.handle.destroyed&&T.handle.style!==r.style&&(T.handle.style=r.style);let v=Ao(r);v&&At(c,v)},w={fingerprint:o,originalText:n,container:c,targets:f,commit:()=>{if(m)return;let v=r[Du];if(v&&v!==w&&v.destroy(),!r.parent)throw new Error(`Text element "${e.elementId}" must be attached before text-unit activation.`);let T=r.parent,E=T.getChildIndex?T.getChildIndex(r):T.children.indexOf(r);r.renderable=!1,x?.length&&(r.filters=[],c.filters=x),typeof T.addChildAt=="function"?T.addChildAt(c,E):(T.addChild(c),T.setChildIndex?.(c,E)),r[Du]=w;for(let P of Aie)c.on(P,(...C)=>{r.emit(P,...C),w.sync()});p=r.destroy,g=function(...C){return w.destroy({sourceDestroying:!0}),p.apply(this,C)},r.destroy=g,nx.delete(r),m=!0,b()},rollback:()=>{if(m){w.destroy();return}nx.delete(r),c.destroy({children:!0})},matches:(v,T)=>KC(String(v??""),T,e)===o,sync:b,destroy:({sourceDestroying:v=!1}={})=>{nx.delete(r),r.destroy===g&&p&&(r.destroy=p),x?.length&&(c.filters=[]),c.destroyed||c.destroy({children:!0}),r[Du]===w&&delete r[Du],ox.get(r)===w&&ox.delete(r),r.destroyed||(v||(r.renderable=_),x?.length&&(r.filters=x))}};for(let v of f)ox.set(v.handle,w);return ox.set(r,w),nx.set(r,w),w},sx=t=>{let e=FH(t),r=t?.[Du]??ox.get(t);return r?{beforeApplyFrame:e.beforeApplyFrame,afterApplyFrame:()=>{let i;try{e.afterApplyFrame?.()}catch(n){i=n}try{r.sync()}catch(n){i??=n}if(i)throw i}}:e},Bie=Object.freeze({"transform.x":"x","transform.y":"y","transform.scale.x":"scaleX","transform.scale.y":"scaleY","transform.rotation.degrees":"rotation","appearance.alpha":"alpha","effect.blur.x":"blurX","effect.blur.y":"blurY","geometry.width":"width","geometry.height":"height"}),J4=(t,e)=>{if(!t)return null;if(t.label===e)return t;for(let r of t.children??[]){let i=J4(r,e);if(i)return i}return null},JC=new WeakMap,Fie=1,Oie=t=>(JC.has(t)||JC.set(t,Fie++),JC.get(t)),ZC=(t,e)=>`${e}@${Oie(t)}`,Die=(t,e,r)=>({handle:t,identity:ZC(t,e),stableId:e,subject:vn(t),targetState:r}),Lie=(t,e)=>{for(let r of e?.filters??[]){let i=r.parameters??r.uniforms,n=Array.isArray(i)?i.map(o=>[o.key,o.value]):Object.entries(i??{}).map(([o,s])=>[o,s?.value??s]);for(let[o,s]of n)t[`filter.${r.id}.parameter.${o}`]=s}},Uie=(t,e=Ao(t))=>{if(!e)return;let r={...e,...rt(e,{alpha:e.alpha}),...Ir(e),...rr(e),...t?.[As]?Ea(e):{}};return Lie(r,e),r},Nie=t=>{let e=/^filter\.([^.]+)\.parameter\.(.+)$/.exec(t);return e?{filterId:e[1],parameter:e[2]}:null},eI=({program:t,ownerElement:e,ownerTargetState:r,targetStates:i,animationId:n=t.programId,activationOrdinal:o=0,resolveTextUnits:s})=>{let a=new Map,l=new Set,c=new WeakMap,u=new WeakMap,d=p=>{if(a.has(p))return a.get(p);let g=J4(e,p);if(!g)return null;let _=i instanceof Map?i.get(p):i?.[p],x=p===t.ownerId?r:Uie(g,_),b=Die(g,p,x);return a.set(p,b),b},h=p=>(u.has(p)||u.set(p,sx(p)),u.get(p)),f=(p,g)=>{let _=c.get(p.handle);if(_||(_=new Map,c.set(p.handle,_)),_.has(g))return _.get(g);let x=Nie(g),b;if(x){let w=jh(p.handle,x.filterId,n);b={property:x.parameter,getTargetStateValue:v=>v?.[`filter.${x.filterId}.parameter.${x.parameter}`]??v?.[x.parameter],get:()=>w[x.parameter],apply:(v,T)=>{w[x.parameter]=T}}}else{if(g.startsWith("geometry.rect.")&&!p.handle?.[As])return null;let w=g.startsWith("geometry.rect.")?g.slice(9):Bie[g];if(!w)return null;b={property:w,getTargetStateValue:v=>v&&Object.prototype.hasOwnProperty.call(v,w)?v[w]:void 0,group:h(p.handle),get:()=>zh(p.handle,w,Vn),apply:(v,T)=>wa({object:p.handle,property:w,propertyPathMap:Vn,subjectState:p.subject,value:T})}}return _.set(g,b),b},m=new Set(t.requirements);return{activationOrdinal:o,capabilities:m,resolveTargetQuery:(p,g)=>{if(p.kind==="element"){let _=d(p.elementId);if(!_)throw new Error(`Target query "${g}" cannot find element "${p.elementId}" in owner "${t.ownerId}".`);return[_]}if(p.kind==="elements")return p.elementIds.map(_=>{let x=d(_);if(!x)throw new Error(`Target query "${g}" cannot find element "${_}" in owner "${t.ownerId}".`);return x});if(p.kind==="textUnits"){let _=d(p.elementId);if(!_)throw new Error(`Target query "${g}" cannot find text element "${p.elementId}".`);if(s){let w=s(_,p);if(w.length===0&&!p.allowEmpty)throw new Error(`Target query "${g}" resolved no text units.`);return w}if(typeof _.handle?.text!="string")throw new Error(`Target query "${g}" requires a plain Pixi text element.`);let x=_.handle[Du],b=kie(_,p);if(b!==x&&l.add(b),b.targets.length===0&&!p.allowEmpty)throw new Error(`Target query "${g}" resolved no text units.`);return b.targets}throw new Error(`Target query "${g}" is not valid for a Pixi update animation.`)},channelRegistry:{resolve:f},commit:()=>{for(let p of l)p.commit()},rollback:()=>{for(let p of l)p.rollback()}}},Z4=t=>!!t?.handle&&t.handle.destroyed!==!0;var gf=1,Gie=!1,tI=(t={})=>Object.keys(t).some($l),$ie=(t,e)=>{let r=[];for(let i of t)try{i.beforeApplyFrame?.(),r.push(i)}catch{}try{e()}finally{for(let i=r.length-1;i>=0;i--)try{r[i].afterApplyFrame?.()}catch{}}},Vie=(t,e,r)=>{if(!t||!Object.prototype.hasOwnProperty.call(t,e))throw new Error(`Animation "${r}" cannot auto-resolve property "${e}" from targetState.`);return t[e]},Hie=t=>t==="translateX"?"x":t==="translateY"?"y":t,zie=(t,e,r)=>({...t,properties:Object.fromEntries(Object.entries(t.properties).filter(([i,n])=>{if(!n.auto||r)return!0;let o=lP({object:t.element,property:i,propertyPathMap:t.propertyPathMap,subjectState:t.subjectState,defaultValue:0}),s=Vie(t.targetState,i,e);return o!==s}))}),rI=({id:t,targetId:e,propertyGroups:r,playbackSpeed:i,loop:n,repeat:o,repeatDelay:s,yoyo:a})=>{let l=n||o==="infinite"||Number.isSafeInteger(o)&&o>0,c=r.map(x=>{let b=x.subjectState??x.animationBaseState??(tI(x.properties)?vn(x.element):null);return{...x,propertyPathMap:x.propertyPathMap??Vn,subjectState:b,getSubjectState:x.getSubjectState??(()=>(b||(b=vn(x.element)),b))}}).map(x=>zie(x,t,l)).filter(x=>Object.keys(x.properties).length>0);if(c.length===0)return null;let u=c.find(x=>!x.filterId),d=c.filter(x=>x.filterId),h={id:t,targetId:e??u?.element?.label??t,type:"update",...u?{tween:u.properties}:{},...d.length>0?{filterTweens:Object.fromEntries(d.map(x=>[x.filterId,x.properties]))}:{},playback:{...i===void 0?{}:{speed:i},...n?{loop:!0}:{},...o===void 0?{}:{repeat:o},...s===void 0?{}:{repeatDelay:s},...a===void 0?{}:{yoyo:a}}},f=NP(h,{sourcePath:`animationBus.${t}`}),m=new Map;for(let x of c)for(let[b,w]of Object.entries(x.properties)){let v=w.initialValue??w.keyframes?.[0]?.value??0,T=Pa({property:b,filterId:x.filterId,sampleValue:v}),E=Hie(b);m.set(T.channel,{property:b,valueType:T.valueType,group:x,get:()=>x.filterId?x.element[b]:lP({object:x.element,property:E,propertyPathMap:x.propertyPathMap,subjectState:x.subjectState,defaultValue:0}),apply:(P,C)=>{if(x.filterId){x.element[b]=C;return}wa({object:x.element,property:E,propertyPathMap:x.propertyPathMap,subjectState:x.subjectState,value:C})}})}let p=u?.element??c[0].element,g=u?.subjectState??(u&&tI(u.properties)?u.getSubjectState():{x:0,y:0,width:0,height:0}),_=Xl(f,{capabilities:new Set(f.requirements),targetRegistry:{[f.ownerId]:{handle:p,identity:ZC(p,f.ownerId),subject:g,targetState:u?.targetState}},channelRegistry:{resolve:(x,b)=>m.get(b)}});return{program:f,instance:_,groups:c}},eW=()=>{let t=[],e=new Map,r=new Map,i=new Map,n=0,o=null,s=!1,a=(D,j)=>Math.min(Math.max(D,0),Math.max(j??0,0)),l=(D,j)=>(D%j+j)%j,c=(D,j)=>{let ie=j*D.playbackSpeed,ae=D.loop?l(ie,D.duration):a(ie,D.duration);return D.currentTime=ae,D.applyFrame(ae),!D.loop&&ae>=D.duration},u=(D,j)=>{if(D==null)return gf;if(typeof D!="number"||!Number.isFinite(D)||D<=0)throw new Error(`Animation "${j}" playback speed must be a finite number greater than 0.`);return D},d=(D,j)=>{if(D==null)return Gie;if(typeof D!="boolean")throw new Error(`Animation "${j}" playback loop must be a boolean.`);return D},h=(D,j)=>{i.get(D)?.forEach(ie=>{try{ie(j)}catch{}})},f=D=>{if(h("completed",{id:D.id}),D.onComplete)try{D.onComplete()}catch{}},m=D=>{if(h("reverseCompleted",{id:D.id}),D.onReverseComplete)try{D.onReverseComplete()}catch{}},p=(D,j={})=>(D.animationType=j.animationType??D.animationType,D.targetId=j.targetId??D.targetId,D.signature=j.signature??D.signature,D.continuity=j.continuity??D.continuity??"render",D.playbackSpeed=u(j.playbackSpeed??D.playbackSpeed,D.id),D.loop=d(j.loop??D.loop,D.id),D.onContinuationUpdate=j.onContinuationUpdate??D.onContinuationUpdate,D.paused=D.paused??!1,D.playDirection=D.playDirection??1,D.controlSpeed=D.controlSpeed??1,D.emittedTimelineEvents??=new Set,D.emittedTimelineOccurrences??=new Set,D),g=(D,j,ie,{seek:ae=!1,replay:He=!1,includeInitial:ze=!1}={})=>{if(!D.instance?.events?.length)return;let Pt=_z(D.instance,j,ie,{seek:ae,replay:He,emittedOnce:D.emittedTimelineEvents,emittedOccurrences:D.emittedTimelineOccurrences,includeInitial:ze});for(let yt of Pt)yt.occurrence==="once"?D.emittedTimelineEvents.add(yt.onceKey):D.emittedTimelineOccurrences.add(yt.occurrenceKey),h("timelineEvent",{id:D.id,event:yt.name,payload:yt.payload,time:yt.resolvedTime,direction:yt.actualDirection,iteration:yt.iterationTuple})},_=D=>({id:D.id,type:D.animationType??null,targetId:D.targetId??null,signature:D.signature??null,continuity:D.continuity??"render",pending:D.pending===!0}),x=D=>{if(!(!D||D.disposed===!0)){D.disposed=!0;try{D.dispose?.()}catch{}}},b=D=>{if(D.loop&&(!Number.isFinite(D.duration)||D.duration<=0))throw new Error(`Animation "${D.id}" must have a finite duration greater than 0 when playback loop is enabled.`);try{D.applyFrame(0)}catch(ie){throw x(D),ie}r.delete(D.id),e.set(D.id,D);let j=o!==null&&c(D,o);h("started",{id:D.id}),o===null&&g(D,0,0,{includeInitial:!0}),j&&(f(D),x(D),e.delete(D.id))},w=D=>{let{id:j,element:ie,properties:ae,targetState:He,onComplete:ze,onCancel:Pt,onReverseComplete:yt,propertyPathMap:cn=Vn,animationBaseState:Li}=D,ii={...D,playbackSpeed:u(D.playbackSpeed,j),loop:d(D.loop,j)},Fo=(D.propertyGroups??[{element:ie,properties:ae,targetState:He,propertyPathMap:cn,animationBaseState:Li}]).map(dt=>{let dn=dt.animationBaseState??(tI(dt.properties)?vn(dt.element):null);return{...dt,propertyPathMap:dt.propertyPathMap??Vn,subjectState:dn,getSubjectState:()=>(dn||(dn=vn(dt.element)),dn)}});for(let dt of Fo)if(dt.validateProperty!==!1){for(let dn of Object.keys(dt.properties))if(!Mv(dn))throw new Error(`${dn} is not a supported property for animation.`)}let un;try{un=D.preparedTimeline??rI({id:j,targetId:ii.targetId,propertyGroups:Fo,playbackSpeed:ii.playbackSpeed,loop:ii.loop,repeat:ii.repeat,repeatDelay:ii.repeatDelay,yoyo:ii.yoyo})}catch(dt){throw ii.loop&&dt instanceof Error&&dt.message.includes("zero-duration")?new Error(`Animation "${j}" must have a finite duration greater than 0 when playback loop is enabled.`):dt}if(!un){f({id:j,onComplete:ze});return}let tl=rx(un.instance),Sc={id:j,kind:"timeline",element:ie,program:un.program,instance:un.instance,duration:un.instance.duration,currentTime:0,playbackSpeed:gf,deferCompletionUntilNextFrame:D.deferCompletionUntilNextFrame===!0,pendingCompletion:!1,stateVersion:n,targetState:He,onComplete:ze,onCancel:Pt,onReverseComplete:yt,animationBackend:tl.backend,applyFrame:tl.apply,dispose:tl.destroy,applyTargetState:()=>{$ie(Fo,()=>{for(let dt of Fo)if(!(!dt.element||dt.element.destroyed)){if(dt.targetState===null){dt.element.destroy?.();continue}if(dt.targetState)for(let[dn,L_]of Object.entries(dt.targetState))try{wa({object:dt.element,property:dn,propertyPathMap:dt.propertyPathMap,subjectState:$l(dn)?dt.getSubjectState():dt.subjectState,value:L_})}catch{}}})},isValid:()=>Fo.every(dt=>!!dt.element&&!dt.element.destroyed&&(dt.isValid?.()??!0)),getPublicPlaybackState:()=>{let dt=un.instance.domains.root;return{currentTime:Jh(dt,Sc.currentTime).localTime,duration:dt.cycleDuration,playbackSpeed:dt.rate}}};b(p(Sc,{...ii,playbackSpeed:gf,loop:!1}))},v=D=>{let j={id:D.id,kind:"custom",program:D.program,instance:D.instance,duration:D.duration??0,currentTime:0,playbackSpeed:gf,deferCompletionUntilNextFrame:D.deferCompletionUntilNextFrame===!0,pendingCompletion:!1,stateVersion:n,onComplete:D.onComplete,onCancel:D.onCancel,onReverseComplete:D.onReverseComplete,animationBackend:D.animationBackend,dispose:D.dispose,applyFrame:D.applyFrame??(()=>{}),applyTargetState:D.applyTargetState??(()=>{}),isValid:D.isValid??(()=>!0)};b(p(j,D))},T=D=>{let j=D.instance??Xl(D.program,D.bindingContext),ie=rx(j),ae={id:D.id,kind:"timeline",program:D.program,instance:j,duration:j.duration,currentTime:0,playbackSpeed:gf,deferCompletionUntilNextFrame:D.deferCompletionUntilNextFrame===!0,pendingCompletion:!1,stateVersion:n,onComplete:D.onComplete,onCancel:D.onCancel,onReverseComplete:D.onReverseComplete,animationBackend:ie.backend,dispose:ie.destroy,applyFrame:D.applyFrame??ie.apply,applyTargetState:D.applyTargetState??(()=>{}),isValid:D.isValid??(()=>j.tracks.every(He=>Z4(He.target)))};b(p(ae,{...D,playbackSpeed:gf,loop:!1}))},E=D=>{if(D.driver==="custom"){v(D);return}if(D.driver==="timeline"){T(D);return}w(D)},P=D=>{try{D.applyTargetState?.()}catch{}if(D.onCancel)try{D.onCancel()}catch{}x(D)},C=D=>{let j=r.get(D);j&&(P(j),r.delete(D),h("cancelled",{id:D}))},F=D=>{switch(D.type){case"START":E(D.payload);break;case"CANCEL":$(D.id);break}},O=()=>{let D=t.splice(0),j=new Map(e),ie=new Map([...e].filter(([,He])=>He.instance).map(([He,ze])=>[He,ze.instance])),ae=new Set;try{for(let He of D){if(He.type==="CANCEL"){ie.delete(He.id);continue}if(He.type!=="START")continue;let ze=He.payload.instance??He.payload.preparedTimeline?.instance;ze&&(ie.delete(He.payload.id),Ly([...ie.values(),ze]),ie.set(He.payload.id,ze),He.payload.bindingContext&&ae.add(He.payload.bindingContext))}for(let He of ae)He.commit?.()}catch(He){for(let ze of ae)ze.rollback?.();throw He}try{for(let He of D)F(He)}catch(He){for(let ze=D.length-1;ze>=0;ze--){let Pt=D[ze];if(Pt.type!=="START")continue;let yt=Pt.payload.instance??Pt.payload.preparedTimeline?.instance;if(yt)try{Wl(Dy(yt))}catch{}if(j.has(Pt.payload.id)){let cn=e.get(Pt.payload.id);cn!==j.get(Pt.payload.id)&&x(cn),e.set(Pt.payload.id,j.get(Pt.payload.id))}else x(e.get(Pt.payload.id)),e.delete(Pt.payload.id)}for(let ze of ae)ze.rollback?.();throw He}},G=()=>{o===null||s||(s=!0,queueMicrotask(()=>{s=!1,o!==null&&O()}))},$=D=>{let j=e.get(D);if(!j){C(D);return}P(j),e.delete(D),h("cancelled",{id:D})},Q=D=>{t.push(D),G()},U=()=>{for(let[D,j]of e)P(j),h("cancelled",{id:D});for(let[D,j]of r)P(j),h("cancelled",{id:D});e.clear(),r.clear(),n++},V=(D=new Set)=>{let j=D instanceof Set?D:new Set(D??[]);for(let[ie,ae]of e)j.has(ie)||(P(ae),e.delete(ie),h("cancelled",{id:ie}));for(let[ie,ae]of r)j.has(ie)||(P(ae),r.delete(ie),h("cancelled",{id:ie}))},z=D=>{if(O(),typeof D!="number"||!Number.isFinite(D)||D<0)throw new Error("Animation tick delta must be a non-negative finite number.");let j=[];for(let[ie,ae]of e){if(ae.stateVersion!==n){j.push(ie);continue}if(!ae.isValid()){P(ae),h("cancelled",{id:ie,reason:"invalid-target"}),j.push(ie);continue}if(ae.paused)continue;if(ae.pendingCompletion){f(ae),j.push(ie);continue}let He=ae.currentTime,ze=ae.currentTime+D*ae.playbackSpeed*ae.controlSpeed*ae.playDirection;if(ae.currentTime=ae.loop?l(ze,ae.duration):a(ze,ae.duration),!ae.loop&&ae.playDirection>0&&ae.currentTime>=ae.duration){try{ae.applyFrame(ae.duration),g(ae,He,ae.duration)}catch(Pt){P(ae),h("failed",{id:ie,error:Pt}),j.push(ie);continue}if(ae.deferCompletionUntilNextFrame===!0&&ae.duration>0){ae.pendingCompletion=!0;continue}f(ae),j.push(ie);continue}if(!ae.loop&&ae.playDirection<0&&ae.currentTime<=0){try{ae.applyFrame(0),g(ae,He,0)}catch(Pt){P(ae),h("failed",{id:ie,error:Pt}),j.push(ie);continue}m(ae),j.push(ie);continue}try{ae.applyFrame(ae.currentTime),g(ae,He,ae.currentTime)}catch(Pt){P(ae),h("failed",{id:ie,error:Pt}),j.push(ie)}}for(let ie of j)x(e.get(ie)),e.delete(ie)},Y=D=>{o=D,O();let j=[];for(let[ie,ae]of e){if(ae.stateVersion!==n){j.push(ie);continue}if(!ae.isValid()){P(ae),h("cancelled",{id:ie,reason:"invalid-target"}),j.push(ie);continue}try{c(ae,D)&&(f(ae),j.push(ie))}catch(He){P(ae),h("failed",{id:ie,error:He}),j.push(ie)}}for(let ie of j)x(e.get(ie)),e.delete(ie)},W=()=>{o=null},R=D=>(O(),e.get(D)??null),L=D=>{let j=R(D);return j?(j.paused=!0,!0):!1},N=D=>{let j=R(D);return j?(j.paused=!1,!0):!1},q=(D,j=!0)=>{let ie=R(D);if(!ie)return!1;if(j&&ie.animationType==="transition")throw new Error(`Transition animation "${D}" does not support player-controlled reverse playback.`);return ie.playDirection=j?-1:1,ie.paused=!1,!0},ee=(D,j)=>{if(typeof j!="number"||!Number.isFinite(j)||j<=0)throw new Error("Animation control speed must be a positive finite number.");let ie=R(D);return ie?(ie.controlSpeed=j,!0):!1},re=(D,j,{emitEvents:ie=!1}={})=>{if(typeof j!="number"||!Number.isFinite(j))throw new Error("Animation seek time must be finite.");let ae=R(D);if(!ae)return!1;let He=ae.currentTime,ze=ae.loop?l(j,ae.duration):a(j,ae.duration);return ae.applyFrame(ze),ae.currentTime=ze,ze<ae.duration&&(ae.pendingCompletion=!1),g(ae,He,ze,{seek:!0,replay:ie}),!0},ce=(D,j,ie)=>{if(typeof j!="number"||!Number.isFinite(j))throw new Error("Animation progress must be finite.");let ae=R(D);return!ae||!Number.isFinite(ae.duration)?!1:re(D,Math.min(Math.max(j,0),1)*ae.duration,ie)},fe=()=>{O()},Ae=(D,j)=>(i.has(D)||i.set(D,new Set),i.get(D).add(j),()=>te(D,j)),te=(D,j)=>{i.get(D)?.delete(j)};return{dispatch:Q,cancelAll:U,cancelAllExcept:V,flush:fe,tick:z,setTime:Y,clearTime:W,pause:L,resume:N,reverse:q,seek:re,setProgress:ce,setSpeed:ee,on:Ae,off:te,registerPending:D=>{let j=p({id:D.id,kind:"pending",pending:!0,applyTargetState:D.applyTargetState??(()=>{}),onCancel:D.onCancel},D);r.set(j.id,j)},activatePending:(D,j)=>{let ie=r.get(D);return ie?(r.delete(D),E({...j,id:D,animationType:ie.animationType,targetId:ie.targetId,signature:ie.signature,continuity:ie.continuity,playbackSpeed:j.playbackSpeed??ie.playbackSpeed,loop:j.loop??ie.loop,onContinuationUpdate:j.onContinuationUpdate??ie.onContinuationUpdate}),!0):!1},removePending:D=>{r.delete(D)},getContinuableAnimations:()=>{let D=new Map;for(let[j,ie]of r)ie.continuity==="persistent"&&D.set(j,_(ie));for(let[j,ie]of e)ie.continuity==="persistent"&&D.set(j,_(ie));return D},getState:()=>({stateVersion:n,activeCount:e.size,pendingCount:r.size,animations:Array.from(e.entries()).map(([D,j])=>{let ie=j.getPublicPlaybackState?.()??j;return{id:D,currentTime:ie.currentTime,duration:ie.duration,playbackSpeed:ie.playbackSpeed,progress:ie.duration>0&&Number.isFinite(ie.duration)?ie.currentTime/ie.duration:0,paused:j.paused,direction:j.playDirection<0?"reverse":"forward",controlSpeed:j.controlSpeed,backend:j.animationBackend??null}})}),isAnimating:D=>e.has(D),hasContext:D=>e.has(D)||r.has(D),updateContinuation:(D,j)=>{let ie=e.get(D)??r.get(D);if(ie?.onContinuationUpdate)try{ie.onContinuationUpdate(j)}catch{}},destroy:()=>{U(),i.clear()}}};var Wie=t=>t==="translateX"?"x":t==="translateY"?"y":t,Xie=t=>t.some(e=>Object.keys(e.tween??{}).some($l)),iI=(t,e)=>{if(!t)return null;if(t.label===e)return t;for(let r of t.children??[]){let i=iI(r,e);if(i)return i}return null},tW=(t,e,r=new Set)=>{if(r.has(e))return new Set;let i=t.targetQueries[e];if(!i)return new Set;if(i.kind==="element")return new Set([i.elementId]);if(i.kind==="elements")return new Set(i.elementIds);if(i.kind!=="union")return new Set;let n=new Set(r).add(e),o=new Set;for(let s of i.aliases)for(let a of tW(t,s,n))o.add(a);return o},Yie=t=>{let e=new Map;for(let r of t.clipTemplates)for(let i of tW(t,r.targets))e.set(`${i}\0${r.channel}`,{elementId:i,channel:r.channel});return[...e.values()]},jie=t=>{let e=/^filter\.([^.]+)\.parameter\.(.+)$/.exec(t);return e?{filterId:e[1],parameter:e[2]}:null},qie=t=>{let e=t?.parent,r=t?.label;return()=>{if(!t?.destroyed||!e||r==null)return t;let i=e.getChildByLabel?.(r),n=i&&i!==t&&!i.destroyed?i:e.children?.find(o=>o!==t&&!o.destroyed&&o.label===r);return n&&!n.destroyed?n:t}},Kie=(t,e,r=Vn,i=new Map)=>{let n=new Map,o=(a,l,c)=>{let u=Wie(c),d=`property:${l??"@owner"}:${u}`;if(n.has(d))return;let h=zh(a,u,r);h!==void 0&&n.set(d,{kind:"property",elementId:l,property:u,value:zt(h)})},s=(a,l,c,u,d)=>{let h=`filter:${l??"@owner"}:${c}:${u}`;if(n.has(h))return;let f=jh(a,c,d);n.set(h,{kind:"filter",elementId:l,filterId:c,parameter:u,animationId:d,value:zt(f[u])})};for(let a of e){for(let c of Object.keys(a.tween??{}))o(t,null,c);for(let[c,u]of Object.entries(a.filterTweens??{}))for(let d of Object.keys(u))s(t,null,c,d,a.id);let l=i.get(a.id);if(l)for(let{elementId:c,channel:u}of Yie(l)){let d=iI(t,c);if(!d)continue;let h=lz(u);if(h){o(d,c,h);continue}let f=jie(u);f&&s(d,c,f.filterId,f.parameter,a.id)}}return[...n.values()]},Qie=(t,e,r=Vn)=>{if(!t||t.destroyed)return;let i=[],n=new WeakMap,o=s=>(n.has(s)||n.set(s,sx(s)),n.get(s));for(let s of e){let a=s.elementId?iI(t,s.elementId):t;if(!a||a.destroyed)continue;let l=o(a);if(s.kind==="filter"){let c=jh(a,s.filterId,s.animationId);i.push({target:a,value:zt(s.value),binding:{group:l,get:()=>c[s.parameter],apply:(u,d)=>{c[s.parameter]=d}}});continue}i.push({target:a,value:zt(s.value),binding:{group:l,get:()=>zh(a,s.property,r),apply:(c,u)=>wa({object:a,property:s.property,propertyPathMap:r,value:u})}})}i.length>0&&Wl({values:i})},Jie=t=>{let e=[];for(let r of t.tracks){let i=r.target.targetState;if(i==null)continue;let n=r.binding.getTargetStateValue?r.binding.getTargetStateValue(i):Object.prototype.hasOwnProperty.call(i,r.binding.property)?i[r.binding.property]:void 0;n!==void 0&&e.push({target:r.target.handle,targetIdentity:r.target.identity,channel:r.channel,value:zt(n),binding:r.binding})}e.length>0&&Wl({values:e})},Zie=({animations:t,element:e,targetState:r,onComplete:i,compiledGsapPrograms:n,isInfiniteAnimation:o=s=>s.playback?.loop===!0||s.playback?.repeat==="infinite"})=>{let s=t.find(o);if(!s||r==null||!i)return{didSettle:!1,element:e};let a=qie(e),l=Kie(e,t,Vn,n),c=e,u=()=>{c=a(),Qie(c,l)},d;try{d=i(s)}finally{u()}return d&&typeof d.then=="function"&&d.then(u,u),{didSettle:!0,element:c}},rW=(t,e,r=Vn,i,n,o)=>{let s=i,a=new Map;for(let c of e){TP(t,c);for(let[u,d]of Object.entries(c.tween??{})){if(!Mv(u))throw new Error(`${u} is not a supported property for animation.`);d.initialValue!==void 0&&(!s&&$l(u)&&(s=vn(t)),wa({object:t,property:u,propertyPathMap:r,subjectState:s,value:d.initialValue}))}for(let[u,d]of Object.entries(c.filterTweens??{})){let h=bP(t,u,c.id,d);for(let[f,m]of Object.entries(d))m.initialValue!==void 0&&(h[f]=m.initialValue)}if(c.gsap){let u=Ia(c),d=eI({program:u,ownerElement:t,ownerTargetState:n,targetStates:o,animationId:c.id});try{let h=Xl(u,d);a.set(c.id,{program:u,bindingContext:d,instance:h})}catch(h){throw d.rollback?.(),h}}}let l=[...a.values()];try{Ly(l.map(({instance:c})=>c));for(let{bindingContext:c,instance:u}of l)c.commit?.(),Wl(tz(u,0))}catch(c){for(let{bindingContext:u}of l)u.rollback?.();throw c}return a},Aw=({animations:t,animationBus:e,completionTracker:r,element:i,targetState:n,targetStates:o,onComplete:s,animationBaseState:a,preparedGsap:l=new Map})=>{let c=t.filter(x=>typeof e?.hasContext!="function"||!e.hasContext(x.id)),u=new Map(l),d=new Map([...u].map(([x,b])=>[x,b.program])),h=new Set(c.map(x=>x.id));for(let[x,b]of u)h.has(x)||(b.bindingContext.rollback?.(),u.delete(x));for(let x of c){if(x.gsap){d.has(x.id)||d.set(x.id,Ia(x));continue}TP(i,x);for(let[b,w]of Object.entries(x.tween??{}))if(w.auto&&(!n||!Object.prototype.hasOwnProperty.call(n,b)))throw new Error(`Animation "${x.id}" cannot auto-resolve property "${b}" from targetState.`)}let f=Zie({animations:c,element:i,targetState:n,onComplete:s,compiledGsapPrograms:d,isInfiniteAnimation:x=>x.playback?.loop===!0||x.playback?.repeat==="infinite"||d.get(x.id)?.duration==="infinite"}),m=f.element,p=f.didSettle&&Xie(c)?vn(m):a,g=new Map,_=[];try{for(let x of c){if(x.gsap){if(u.has(x.id)){_.push(u.get(x.id).bindingContext);continue}let v=d.get(x.id),T=eI({program:v,ownerElement:m,ownerTargetState:n,targetStates:o,animationId:x.id});_.push(T);let E=Xl(v,T);u.set(x.id,{program:v,bindingContext:T,instance:E});continue}let b=[{element:m,properties:x.tween??{},targetState:n,animationBaseState:p,...sx(m)}];for(let[v,T]of Object.entries(x.filterTweens??{}))b.push({filterId:v,element:bP(m,v,x.id,T),properties:T,propertyPathMap:{},validateProperty:!1});let w=rI({id:x.id,targetId:x.targetId,propertyGroups:b,playbackSpeed:x.playback?.speed,loop:x.playback?.loop===!0,repeat:x.playback?.repeat,repeatDelay:x.playback?.repeatDelay,yoyo:x.playback?.yoyo});g.set(x.id,{propertyGroups:b,timeline:w})}Ly([...[...u.values()].map(({instance:x})=>x),...[...g.values()].map(({timeline:x})=>x?.instance).filter(Boolean)])}catch(x){for(let b of _)b.rollback?.();throw x}for(let x of c){let b=x.gsap?u.get(x.id)?.instance:g.get(x.id)?.timeline?.instance,w=x.playback?.loop===!0||b?.duration===1/0,v=x.playback?.continuity!=="persistent"&&!w,T=v?r.getVersion():null;v&&r.track(T);let E=!1,P=()=>{E||(E=!0,v&&r.complete(T))},C=()=>{P(),f.didSettle||s?.(x)};if(x.gsap){let{program:G,bindingContext:$,instance:Q}=u.get(x.id),U=sx(m);e.dispatch({type:"START",payload:{driver:"timeline",id:x.id,animationType:x.type,targetId:x.targetId,continuity:x.playback?.continuity??"render",signature:x.signature??Cy(G),program:G,bindingContext:$,instance:Q,applyTargetState:()=>{if(Jie(Q),!(!m||m.destroyed||!n)){U.beforeApplyFrame?.();try{for(let[V,z]of Object.entries(n))try{wa({object:m,property:V,propertyPathMap:Vn,subjectState:vn(m),value:z})}catch{}}finally{U.afterApplyFrame?.()}}},onComplete:C,onCancel:P,onReverseComplete:P}});continue}let{propertyGroups:F,timeline:O}=g.get(x.id);e.dispatch({type:"START",payload:{id:x.id,animationType:x.type,targetId:x.targetId,continuity:x.playback?.continuity??"render",playbackSpeed:x.playback?.speed,loop:x.playback?.loop===!0,signature:x.signature??JSON.stringify({type:x.type,tween:x.tween,filterTweens:x.filterTweens??null,playback:x.playback??null}),element:m,properties:x.tween??{},propertyGroups:F,preparedTimeline:O,targetState:n,animationBaseState:p,repeat:x.playback?.repeat,repeatDelay:x.playback?.repeatDelay,yoyo:x.playback?.yoyo,onComplete:C,onCancel:P,onReverseComplete:P}})}};var ene=t=>{if(!t?.dropShadow||typeof t.clone!="function")return t;let e=t.clone();return e.dropShadow=null,e};function Mw(t,e){let r=t.text.substring(0,e),n=St.measureText(r,ene(t.style)).width;return t.x+n}var tne=async(t,e)=>new Promise((r,i)=>{if(e?.aborted)return i(new DOMException("The operation was aborted.","AbortError"));let n,o=()=>{n&&e?.removeEventListener("abort",n)},s=setTimeout(()=>{o(),r()},t);n=()=>{clearTimeout(s),o(),i(e.reason)},e?.addEventListener("abort",n,{once:!0})}),Pw=tne;var rne=(t,e)=>{let r=Number(t);if(Number.isFinite(r))return r;let i=Number(e);return Number.isFinite(i)?i:100},Ft=(t,e=100)=>{let r=rne(t??e,e);return Math.min(Math.max(r,0),100)/100};var ax={softness:1.25,easing:"linear",lineOverlap:0,lineDelay:0},ine=18,nne=64,oI={linear:t=>t,easeOutCubic:t=>1-(1-t)**3},one=(t,e,r)=>Math.max(e,Math.min(r,t)),nI=(t,e)=>typeof t=="number"&&Number.isFinite(t)?t:e,Lu=(t={})=>{let e=t&&typeof t=="object"?t:{};return{softness:Math.max(0,nI(e.softness,ax.softness)),easing:Object.prototype.hasOwnProperty.call(oI,e.easing)?e.easing:ax.easing,lineOverlap:one(nI(e.lineOverlap,ax.lineOverlap),0,.95),lineDelay:Math.max(0,nI(e.lineDelay,ax.lineDelay))}},sI=t=>oI[t]??oI[ax.easing],aI=({maxLineHeight:t,softWipe:e})=>Math.max(ine,Math.min(nne,Math.round(t*e.softness)));var yf=(t,e,r,i)=>{if(!r)return;let n=o=>{let s=Number(o?.detail?.frameIndex);o?.detail?.elementId===e&&Number.isInteger(s)&&(t.gotoAndStop(s),i?.())};window.addEventListener("snapShotAnimatedSpriteFrame",n),t._snapShotKeyFrameHandler=n},Uu=t=>{t._snapShotKeyFrameHandler&&(window.removeEventListener("snapShotAnimatedSpriteFrame",t._snapShotKeyFrameHandler),delete t._snapShotKeyFrameHandler)};var iW=(t={})=>{if(t.frame){let s=t.frame.w??0,a=t.frame.h??0,l=t.sourceSize?.w??s,c=t.sourceSize?.h??a,u={frame:{x:t.frame.x??0,y:t.frame.y??0,w:s,h:a},rotated:t.rotated??!1,trimmed:t.trimmed??!1,spriteSourceSize:{x:t.spriteSourceSize?.x??0,y:t.spriteSourceSize?.y??0,w:t.spriteSourceSize?.w??s,h:t.spriteSourceSize?.h??a},sourceSize:{w:l,h:c}};return t.anchor?u.anchor={x:t.anchor.x??0,y:t.anchor.y??0}:t.pivot&&(u.anchor={x:t.pivot.x??0,y:t.pivot.y??0}),t.borders&&(u.borders={...t.borders}),u}let e=t.width??t.w??0,r=t.height??t.h??0,i=t.sourceWidth??e,n=t.sourceHeight??r,o={frame:{x:t.x??0,y:t.y??0,w:e,h:r},rotated:t.rotated??!1,trimmed:t.trimmed??!1,spriteSourceSize:{x:t.offsetX??0,y:t.offsetY??0,w:e,h:r},sourceSize:{w:i,h:n}};return t.anchor?o.anchor={x:t.anchor.x??0,y:t.anchor.y??0}:t.pivot&&(o.anchor={x:t.pivot.x??0,y:t.pivot.y??0}),t.borders&&(o.borders={...t.borders}),o},lI=(t={})=>!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).map(([e,r])=>[e,Array.isArray(r)?r.map(i=>String(i)):[]])),sne=(t,e={})=>{let r=Math.max(0,Number(e.from??0)),i=Math.min(t.length-1,Number(e.to??r));if(!Number.isFinite(r)||!Number.isFinite(i)||i<r)return[];let n=t.slice(r,i+1),o=String(e.direction??"forward").toLowerCase();if(o==="reverse"||o==="backward")return[...n].reverse();if(o==="pingpong")return[...n,...n.slice(1,-1).reverse()];if(o==="pingpong_reverse"){let s=[...n].reverse();return[...s,...s.slice(1,-1).reverse()]}return n},ane=(t=[],e=[])=>!Array.isArray(t)||e.length===0?{}:Object.fromEntries(t.map(r=>{let i=typeof r?.name=="string"?r.name:"";return i?[i,sne(e,r)]:null}).filter(Boolean)),zo=(t={})=>{let e=t??{},r=lI(e.animations);return{frames:Array.isArray(e.frames)?Object.fromEntries(e.frames.map(n=>{let o=n?.filename??n?.name;return typeof o!="string"||o.length===0?null:[o,iW(n)]}).filter(Boolean)):Object.fromEntries(Object.entries(e.frames??{}).map(([n,o])=>[n,iW(o)])),...Object.keys(r).length>0?{animations:r}:{},meta:{...e.meta??{},scale:String(e.scale??e.meta?.scale??1),...e.width!=null||e.height!=null?{size:{w:e.width??e.meta?.size?.w??0,h:e.height??e.meta?.size?.h??0}}:{}}}},Wo=(t={},e={},r={},i=[])=>({...ane(r?.frameTags,i),...lI(e),...lI(t)}),lne=(t,e)=>{if(!Array.isArray(e?.frames))return[];let r=Object.keys(t.frames??{});return e.frames.map(i=>typeof i=="number"?r[i]:String(i)).filter(Boolean)},Mo=({atlas:t={frames:{}},clips:e={},playback:r,legacyAnimation:i})=>{let n=r??i??{},o={fps:n.fps??null,loop:n.loop??!0,autoplay:n.autoplay??!0};return typeof n.clip=="string"&&n.clip.length>0&&(o.clip=n.clip),Array.isArray(n.frames)?o.frames=n.frames.map(s=>typeof s=="number"?Object.keys(t.frames??{})[s]:String(s)).filter(Boolean):o.clip||(o.frames=lne(t,i)),o.fps==null&&(typeof n.animationSpeed=="number"?o.fps=n.animationSpeed*60:o.fps=30),o.clip&&(!Array.isArray(o.frames)||o.frames.length===0)&&(o.frames=Array.isArray(e[o.clip])?[...e[o.clip]]:[]),Array.isArray(o.frames)||(o.frames=[]),o},xf=({spritesheet:t,atlas:e,clips:r={},playback:i,legacyAnimation:n})=>{let o=Mo({atlas:e,clips:r,playback:i,legacyAnimation:n});return{frameTextures:o.frames.map(a=>t.textures[a]),playback:o}},_f=t=>typeof t=="number"?t/60:.5;var Da=Symbol("textRevealRuntime"),Iw=Symbol("textRevealSnapshot"),bf=Symbol("textRevealIndicator"),lW=Symbol("textRevealIndicatorPlayback"),cne="__route_graphics_text_reveal_sound__",dI=50,une=0,pI=100,cI=pI-1,nW=10,cW=120,dne=.9,hne=360,fne=1.2,uI=20,pne=16,mne=0,gne=(t,e,r)=>Math.max(e,Math.min(r,t)),uW=(t=dI)=>typeof t!="number"||!Number.isFinite(t)?dI:Math.max(une,Math.min(pI,t)),yne=t=>uW(t)>=pI,mI=(t,{maxRate:e=cW,curve:r=dne}={})=>{let i=Math.min(uW(t),cI),o=(cI>0?i/cI:0)**r;return nW*(e/nW)**o},xne=t=>mI(t,{maxRate:hne,curve:fne}),_ne=t=>{let e=1e3/t;return e>=uI||t<=cW?{stepDelay:Math.max(1,Math.floor(e)),charactersPerStep:1}:{stepDelay:uI,charactersPerStep:Math.max(2,Math.round(t*uI/1e3))}},bne=t=>t?.revealEffect==="softWipe"?"softWipe":"typewriter",gI=t=>{let e=t?.initialRevealedCharacters;return typeof e!="number"||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))},dW=t=>(t?.content??[]).reduce((e,r)=>e+(r.lineParts??[]).reduce((i,n)=>i+(n.text?.length??0),0),0),vne=t=>`${cne}:${t.id}`,wne=()=>globalThis.window?.RTGL_AUDIO_DEBUG===!0||globalThis.window?.RTGL_VT_DEBUG===!0,Cw=(t,e={})=>{wne()&&console.log(`[TextRevealSound] ${t}`,e)},hW=({app:t,element:e})=>{let r=e?.revealSound;if(!r?.src)return()=>{};if(!t?.audioStage)return Cw("skipped: audioStage unavailable",{elementId:e?.id,src:r.src}),()=>{};let i=vne(e),n=Ft(r.volume,100),o="active";return Cw("start",{elementId:e.id,soundId:i,src:r.src,loop:r.loop??!0,configuredVolume:r.volume,normalizedVolume:n}),t.audioStage.add({id:i,url:r.src,loop:r.loop??!0,volume:n}),t.audioStage.tick?.(),Cw("registered",{elementId:e.id,soundId:i,directAudio:t.audioStage.getById?.(i)??null}),({completed:s=!1}={})=>{if(o==="stopped")return!1;if(o==="finishing"&&s)return!0;let a=o==="active"&&s&&(r.stopTiming??"loopEnd")==="loopEnd";return Cw("stop",{elementId:e.id,soundId:i,src:r.src,finishPlayback:a}),a&&typeof t.audioStage.finish=="function"?(o="finishing",t.audioStage.finish(i),!0):(o="stopped",t.audioStage.remove(i),t.audioStage.tick?.(),!1)}},fW=(t,e)=>{t?.[Da]===e&&delete t[Da]},vf=t=>t?.revealEffect==="none"||yne(t?.speed??dI),hI=t=>t!==null&&typeof t=="object"&&typeof t.then=="function",yI=(t={})=>t.kind??(t.atlas!==void 0||t.clips!==void 0||t.playback!==void 0?"spritesheet":"image"),Sne=t=>["revealing","complete"].some(e=>yI(t?.indicator?.[e])==="spritesheet"&&!!t?.indicator?.[e]?.src),pW=t=>`${t.id}-indicator`,mW=(t,e,r)=>{typeof e?.width=="number"?t.width=e.width:r?.width&&(t.width=r.width),typeof e?.height=="number"?t.height=e.height:r?.height&&(t.height=r.height)},gW=(t={})=>{let e=t?.src?X.from(t.src):X.EMPTY,r=new wt(e);return mW(r,t,e),r},Tne=(t={},{app:e,element:r})=>{if(!t?.src)return gW(t);let i=zo(t.atlas),n=Wo(t.clips,t.atlas?.animations,t.atlas?.meta,Object.keys(i.frames??{})),o=Mo({atlas:i,clips:n,playback:t.playback});return(async()=>{let s=new is(X.from(t.src),i);await s.parse();let{frameTextures:a}=xf({spritesheet:s,atlas:i,clips:n,playback:o}),l=new ps(a.length>0?a:[X.EMPTY]);return l.animationSpeed=_f(o.fps),l.loop=o.loop,l[lW]=o,mW(l,t,a[0]),e?.debug&&yf(l,pW(r),e.debug,()=>{typeof e.render=="function"&&e.render()}),l})()},oW=(t,e)=>yI(t)==="spritesheet"?Tne(t,e):gW(t),sW=(t,e)=>{t instanceof ps&&!e?.debug&&t[lW]?.autoplay!==!1&&t.play()},yW=t=>{!t||t.destroyed||(Uu(t),typeof t.stop=="function"&&t.stop(),t.destroy({children:!0}))},fI=t=>{let e=t?.[bf];if(e){for(let r of e.displays)Uu(r);for(let r of e.displays)r?.parent!==t&&yW(r);delete t[bf]}t.destroy({children:!0})},Ene=({element:t,app:e,revealingDisplay:r,completeDisplay:i})=>{let n=new xe({label:pW(t)}),o=new Set([r]);return i&&o.add(i),n.addChild(r),n[bf]={displays:o,currentDisplay:r,completeDisplay:i,start(){sW(this.currentDisplay,e)},showComplete(){if(!this.completeDisplay||this.currentDisplay===this.completeDisplay)return;let s=this.currentDisplay;s?.parent===n&&n.removeChild(s),yW(s),o.delete(s),this.currentDisplay=this.completeDisplay,n.addChild(this.completeDisplay),sW(this.completeDisplay,e)}},n},Ane=(t,{app:e}={})=>{let r=t?.indicator?.revealing??{},i=t?.indicator?.complete,n=oW(r,{app:e,element:t}),o=i?.src||yI(i)==="spritesheet"?oW(i,{app:e,element:t}):null,s=(a,l)=>Ene({element:t,app:e,revealingDisplay:a,completeDisplay:l});return hI(n)||hI(o)?Promise.all([n,o]).then(([a,l])=>s(a,l)):s(n,o)},Mne=t=>{t?.[bf]?.showComplete()},wf=(t,e="revealing")=>{let r=t?.indicator?.[e]??{};return{x:r.offsetX??t?.indicator?.offsetX??pne,y:r.offsetY??t?.indicator?.offsetY??mne}},Pne=(t,e)=>{if(!e)return 0;let r=Math.max(0,e.lineMaxHeight??0),i=Math.max(0,t?.height??0);return e.y+Math.max(0,r-i)},La=(t,e,r)=>{t.x=r.x,t.y=Pne(t,e)+r.y},xW=(t,e,r)=>{if(!e||e.text.length===0){t.x=r.x;return}t.x=Mw(e,e.text.length-1)+r.x},ic=(t,e,r,i)=>{Mne(t);let n=wf(i,"complete");La(t,e,n),xW(t,r,n)},_W=(t,e)=>{if(t[Da]){let r=t[Da];delete t[Da],r()}t[Da]=e},Cne=t=>t?.[Iw]??null,lx=(t,e)=>t?e?(t[Iw]=e,e):(delete t[Iw],null):null,bW=t=>{let e=Cne(t);return!e||e.mode!=="typewriter"||e.completed===!0?null:e},vW=t=>!!bW(t),xI=t=>{if(t[Da]){let r=t[Da];delete t[Da],r()}delete t[Iw],t.onRender=void 0,t.removeChildren().forEach(r=>{if(r?.[bf]){fI(r);return}r.destroy({children:!0})})},_I=(t,e="",r="")=>{let i=new Dt(yi(t.textStyle)),n=new gi({text:e,style:i,x:Math.round(t.x),y:Math.round(t.y)}),o=null;if(t.furigana){let s=new Dt(yi(t.furigana.textStyle));o=new gi({text:r,style:s,x:Math.round(t.furigana.x),y:Math.round(t.furigana.y)})}return{text:n,furiganaText:o}},bI=(t,e)=>{let r=null,i=null,n=0,o=0,s=[];for(let a=0;a<e.content.length;a++){let l=e.content[a],c=new xe({label:`${e.id}-line-${a}`}),u=[],d=null,h=0;t.addChild(c),i=l,o=Math.max(o,l.lineMaxHeight??0);for(let f=0;f<l.lineParts.length;f++){let m=l.lineParts[f],{text:p,furiganaText:g}=_I(m,m.text,m.furigana?.text||"");g&&(c.addChild(g),u.push(g)),c.addChild(p),u.push(p),r=p,d=p,n+=m.text.length,h+=m.text.length}if(u.length>0){let f=c.getLocalBounds();s.push({chunk:l,container:c,lastTextObject:d,totalCharacters:h,bounds:{x:f.x,y:f.y,width:f.width,height:f.height}})}else c.destroy()}return{lines:s,lastTextObject:r,lastChunk:i,totalCharacters:n,maxLineHeight:o,bounds:t.getLocalBounds()}},aW=({contentContainer:t,indicatorSprite:e,element:r})=>{let{lastTextObject:i,lastChunk:n}=bI(t,r);ic(e,n,i,r)},Ine=({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i})=>{let n=wf(r),o=r.content[0]??null,s=dW(r),a=Math.min(i,Math.max(0,s)),l=null,c=null;if(a<=0){La(e,o,n);return}e:for(let u=0;u<r.content.length;u++){let d=r.content[u];for(let h=0;h<d.lineParts.length;h++){let f=d.lineParts[h],m=Math.min(f.text.length,a);if(m<=0)break e;let p=f.furigana?.text||"",g=p.length,_=f.text.length>0?Math.round(m/f.text.length*g):0,{text:x,furiganaText:b}=_I(f,f.text.substring(0,m),p.substring(0,_));if(b&&t.addChild(b),t.addChild(x),l=x,c=d,a-=m,m<f.text.length)break e}}c?(La(e,c,n),xW(e,l,n)):La(e,o,n),i>=s&&ic(e,c??o,l,r)},Rne=({contentContainer:t,indicatorSprite:e,element:r})=>{let i=gI(r);if(i<=0){let n=wf(r),o=r.content[0]??null;La(e,o,n);return}r.revealEffect==="softWipe"?Dne({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i}):Ine({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i})},kne=async({contentContainer:t,indicatorSprite:e,element:r,signal:i,startAtCharacter:n=0,snapshot:o=null})=>{let s=xne(r.speed??50),a=wf(r),{stepDelay:l,charactersPerStep:c}=_ne(s),u=Math.max(l,Math.floor(4e3/s)),d=Math.max(0,Math.floor(n)),h=!1,f=null,m=null;o&&(o.revealedCharacters=d,o.completed=!1);for(let p=0;p<r.content.length;p++){if(i?.aborted||t.destroyed)return!1;let g=r.content[p],_=!1;La(e,g,a);for(let x=0;x<g.lineParts.length;x++){if(i?.aborted||t.destroyed)return!1;let b=g.lineParts[x],{text:w,furiganaText:v}=_I(b);v&&t.addChild(v),t.addChild(w);let T=b.text,E=b.furigana?.text||"";T.length>0&&(f=w,m=g);let P=E.length,C=Math.min(T.length,d),F=T.length>0?Math.round(C/T.length*P):0;w.text=T.substring(0,C),v&&(v.text=E.substring(0,F)),d-=C,C>0&&(e.x=Mw(w,C-1)+a.x);let O=C;for(;O<T.length;){if(i?.aborted||t.destroyed)return!1;let G=Math.min(T.length,O+c),$=G-1;if(w.text=T.substring(0,G),e.x=Mw(w,$)+a.x,_=!0,h=!0,o&&(o.revealedCharacters+=G-O),v){let Q=Math.round(G/T.length*P);v.text=E.substring(0,Q)}O=G,O<T.length&&await Pw(l,i)}}p<r.content.length-1&&_&&await Pw(u,i)}return h&&(await Pw(l,i),i?.aborted||t.destroyed)?!1:(ic(e,m,f,r),o&&(o.completed=!0),!0)},wW=({lines:t,edgeWidth:e,baseDuration:r,softWipe:i})=>{let n=t.map(c=>{let u=Math.max(1,c.totalCharacters),d=1+e/Math.max(1,c.bounds.width);return u*d}),o=n.reduce((c,u)=>c+u,0),s=[],a=0,l=0;for(let c=0;c<t.length;c++){let u=n[c],d=o>0?Math.max(1,r*u/o):r,h=Math.max(0,a),f=h+d;s.push({...t[c],startTime:h,endTime:f,duration:d}),l=Math.max(l,f),a=f-d*i.lineOverlap+i.lineDelay}return{timedLines:s,duration:Math.max(1,Math.ceil(l))}},Bne=({currentTime:t,line:e,easing:r})=>{let i=e.duration>0?(t-e.startTime)/e.duration:1;return r(Math.max(0,Math.min(i,1)))},Fne=({progress:t,easingName:e})=>{let r=gne(t,0,1);return e==="easeOutCubic"?1-Math.cbrt(1-r):r},SW=({timedLines:t,initialRevealedCharacters:e,softWipe:r,easingName:i})=>{let n=Math.max(0,Math.floor(e)),o=n<=0,s=0,a=0;return{timedLines:t.map(c=>{let u=Math.max(0,c.totalCharacters??0),d=0,h=!1;if(!o&&n>0)if(u<=0||n>=u)n-=u,d=1,h=!0;else{let p=n/u;d=Fne({progress:p,easingName:i}),n=0,o=!0}if(h)return{...c,startTime:-c.duration,endTime:0};o=!0;let f=d>0?-d*c.duration:Math.max(0,s),m=f+c.duration;return a=Math.max(a,m),s=m-c.duration*r.lineOverlap+r.lineDelay,{...c,startTime:f,endTime:m}}),duration:Math.max(1,Math.ceil(a))}},One=t=>{t.forEach(e=>{e&&(e.line.container.mask===e.sprite&&(e.line.container.mask=null),e.sprite.parent&&e.sprite.parent.removeChild(e.sprite),e.sprite.destroy(),e.texture.destroy(!0))})},TW=({contentContainer:t,timedLines:e,edgeWidth:r})=>{let i=e.map(n=>{let o=document.createElement("canvas");o.width=Math.max(1,Math.ceil(n.bounds.width+r)),o.height=Math.max(1,Math.ceil(n.bounds.height));let s=o.getContext("2d");if(!s)return null;let a=jc(o),l=new wt(a);return l.x=Math.floor(n.bounds.x-r),l.y=Math.floor(n.bounds.y),n.container.mask=l,t.addChild(l),{canvas:o,context:s,texture:a,sprite:l,line:n,edgeWidth:r}});return i.some(n=>n===null)?(One(i),null):i},EW=({timedLines:t,lineMasks:e,easing:r,indicatorSprite:i,indicatorOffsets:n,currentTime:o})=>{let s=t[0],a=s.bounds.x;for(let l=0;l<t.length;l++){let c=t[l],u=e[l],d=Bne({currentTime:o,line:c,easing:r}),{context:h,canvas:f,texture:m}=u;if(h.clearRect(0,0,f.width,f.height),d<=0){m.source.update();continue}let p=0,g=c.bounds.width+u.edgeWidth,_=u.edgeWidth,x=_+d*g,b=Math.max(_,x-u.edgeWidth);b>_&&(h.fillStyle="#ffffff",h.fillRect(_,p,Math.min(b-_,c.bounds.width),c.bounds.height));let w=Math.max(_,x-u.edgeWidth),v=Math.min(_+c.bounds.width,x);if(v>w){let T=h.createLinearGradient(w,0,v,0);T.addColorStop(0,"rgba(255, 255, 255, 1)"),T.addColorStop(1,"rgba(255, 255, 255, 0)"),h.fillStyle=T,h.fillRect(w,p,v-w,c.bounds.height)}m.source.update(),s=c,a=c.bounds.x+Math.min(g,Math.max(0,x-_))}La(i,s.chunk,n),i.x=a+n.x},Dne=({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i})=>{let n=wf(r),{lines:o,lastTextObject:s,lastChunk:a,totalCharacters:l,maxLineHeight:c}=bI(t,r);if(La(e,a,n),o.length===0||l===0||i>=l||!o.some(x=>x.bounds.width>0&&x.bounds.height>0)||!globalThis.document){ic(e,a,s,r);return}let u=Lu(r.softWipe),d=sI(u.easing),h=aI({maxLineHeight:c,softWipe:u}),f=mI(r.speed??50),m=Math.max(1,Math.round(l/f*1e3)),p=wW({lines:o,edgeWidth:h,baseDuration:m,softWipe:u}),{timedLines:g}=SW({timedLines:p.timedLines,initialRevealedCharacters:i,softWipe:u,easingName:u.easing}),_=TW({contentContainer:t,timedLines:g,edgeWidth:h});if(!_){ic(e,a,s,r);return}EW({timedLines:g,lineMasks:_,easing:d,indicatorSprite:e,indicatorOffsets:n,currentTime:0})},Lne=({container:t,contentContainer:e,indicatorSprite:r,element:i,animationBus:n,completionTracker:o,app:s})=>{let a=wf(i),l=mI(i.speed??50),{lines:c,lastTextObject:u,lastChunk:d,totalCharacters:h,maxLineHeight:f}=bI(e,i),m=gI(i);if(La(r,d,a),c.length===0||h===0||m>=h||!c.some($=>$.bounds.width>0&&$.bounds.height>0)||!globalThis.document||!n)return ic(r,d,u,i),!1;let p=Lu(i.softWipe),g=sI(p.easing),_=aI({maxLineHeight:f,softWipe:p}),x=Math.max(1,Math.round(h/l*1e3)),b=wW({lines:c,edgeWidth:_,baseDuration:x,softWipe:p}),{timedLines:w,duration:v}=SW({timedLines:b.timedLines,initialRevealedCharacters:m,softWipe:p,easingName:p.easing}),T=o.getVersion(),E=`${i.id}-soft-wipe`,P=TW({contentContainer:e,timedLines:w,edgeWidth:_});if(!P)return ic(r,d,u,i),!1;let C=!1,F=hW({app:s,element:i}),O=$=>{if(C)return;C=!0,F({completed:$})||fW(t,G),P.forEach(U=>{U.line.container.mask===U.sprite&&(U.line.container.mask=null),U.sprite.parent&&U.sprite.parent.removeChild(U.sprite),U.sprite.destroy(),U.texture.destroy(!0)}),$&&ic(r,d,u,i)},G=()=>{if(C){F();return}n.dispatch({type:"CANCEL",id:E}),O(!1)};return _W(t,G),o.track(T),n.dispatch({type:"START",payload:{id:E,driver:"custom",duration:v,applyFrame:$=>{EW({timedLines:w,lineMasks:P,easing:g,indicatorSprite:r,indicatorOffsets:a,currentTime:Math.min(v,$)})},applyTargetState:()=>{O(!1)},onComplete:()=>{o.complete(T),O(!0)},onCancel:()=>{o.complete(T),O(!1)},isValid:()=>!!t&&!t.destroyed&&!e.destroyed&&!r.destroyed}}),!0},Ua=async({container:t,element:e,completionTracker:r,animationBus:i,zIndex:n,signal:o,app:s,playback:a="autoplay",onLayoutMounted:l})=>{if(o?.aborted||t.destroyed)return;let c=vf(e),u=a==="resume"?bW(t):null,d=gI(e);if(a==="resume"&&!u)return;let h=r?.getVersion?.(),f=Sne(e),m=!1,p=()=>{!f||m||(r?.track?.(h),m=!0)},g=()=>{m&&(m=!1,r?.complete?.(h))};p(),xI(t),t.zIndex=n;let _=new xe({label:`${e.id}-content`}),x;try{let b=Ane(e,{app:s});if(x=hI(b)?await b:b,o?.aborted||t.destroyed){fI(x),g();return}if(t.addChild(_),t.addChild(x),x?.[bf]?.start(),a==="paused-initial"){c||lx(t,{mode:bne(e),revealedCharacters:d,completed:!1}),c?(lx(t,{mode:"none",completed:!0}),aW({contentContainer:_,indicatorSprite:x,element:e})):Rne({contentContainer:_,indicatorSprite:x,element:e}),l?.(),g();return}let w=r.getVersion(),v=!1;if(c)r.track(w),g(),lx(t,{mode:"none",completed:!0}),aW({contentContainer:_,indicatorSprite:x,element:e}),l?.(),v=!0;else if(e.revealEffect==="softWipe"){lx(t,{mode:"softWipe",revealedCharacters:d,completed:!1});let T=Lne({container:t,contentContainer:_,indicatorSprite:x,element:e,animationBus:i,completionTracker:r,app:s});if(l?.(),!T&&!o?.aborted&&!t.destroyed)r.track(w),g(),v=!0;else{g();return}}else{r.track(w),g();let T=u?.revealedCharacters??d,E=dW(e),P=lx(t,{mode:"typewriter",revealedCharacters:T,completed:!1}),C=T<E,F=C?hW({app:s,element:e}):()=>{},O=({completed:G=!1}={})=>F({completed:G});C&&_W(t,O);try{let G=kne({contentContainer:_,indicatorSprite:x,element:e,signal:o,startAtCharacter:T,snapshot:P});l?.(),v=await G}finally{O({completed:v&&!o?.aborted&&!t.destroyed})||fW(t,O)}}v&&!o?.aborted&&!t.destroyed&&r.complete(w)}catch(b){if(g(),x&&!x.destroyed&&!x.parent&&fI(x),b?.name!=="AbortError"&&!o?.aborted)throw b}};var Rw=({suppressAnimations:t=!1,deferredMountOperations:e=[]}={})=>({suppressAnimations:t,deferredMountOperations:e}),AW=t=>{switch(t?.type){case"play-animated-sprite":t.animatedSprite?.destroyed||t.animatedSprite?.play();return;case"play-video":t.video?.play();return;case"start-particles":if(t.app?.debug){let e=r=>{if(t.emitter.destroyed){window.removeEventListener("snapShotKeyFrame",e);return}r?.detail?.deltaMS&&(t.emitter.update(Number(r.detail.deltaMS)/1e3),typeof t.app?.render=="function"&&t.app.render())};window.addEventListener("snapShotKeyFrame",e),t.container.customTickerHandler=e;return}t.app.ticker.add(t.tickerCallback);return;case"autoplay-text-reveal":Ua({container:t.container,element:t.element,completionTracker:t.completionTracker,animationBus:t.animationBus,zIndex:t.zIndex,signal:t.signal,app:t.app,playback:"autoplay",onLayoutMounted:t.onLayoutMounted});return;case"start-update-animations":if(!t.element||t.element.destroyed){MW(t);return}Aw({animations:t.animations,animationBus:t.animationBus,completionTracker:t.completionTracker,element:t.element,targetState:t.targetState,targetStates:t.targetStates,animationBaseState:t.animationBaseState,preparedGsap:t.preparedGsap});return}},MW=t=>{if(t?.type==="start-update-animations")for(let e of t.preparedGsap?.values?.()??[])e.bindingContext?.rollback?.()},cx=(t,e)=>{if(e?.type){if(!t?.suppressAnimations){AW(e);return}t.deferredMountOperations.push(e)}},Sf=t=>{if(!t?.deferredMountOperations)return;let e=t.deferredMountOperations.splice(0);for(let r of e)MW(r)},PW=(t,e)=>cx(t,{type:"play-animated-sprite",animatedSprite:e}),CW=(t,e)=>cx(t,{type:"play-video",video:e}),IW=(t,{app:e,emitter:r,container:i,tickerCallback:n})=>cx(t,{type:"start-particles",app:e,emitter:r,container:i,tickerCallback:n}),kw=(t,{app:e,container:r,element:i,completionTracker:n,animationBus:o,zIndex:s,signal:a,onLayoutMounted:l})=>cx(t,{type:"autoplay-text-reveal",app:e,container:r,element:i,completionTracker:n,animationBus:o,zIndex:s,signal:a,onLayoutMounted:l}),RW=(t,{animations:e,animationBus:r,completionTracker:i,element:n,targetState:o,animationBaseState:s,preparedGsap:a})=>cx(t,{type:"start-update-animations",animations:e,animationBus:r,completionTracker:i,element:n,targetState:o,animationBaseState:s,preparedGsap:a}),vI=(t,e=()=>!0)=>{if(!t?.deferredMountOperations?.length)return;let r=t.deferredMountOperations.splice(0),i=[];for(let n of r)e(n)?AW(n):i.push(n);i.length>0&&t.deferredMountOperations.push(...i)};var Nu=t=>{let e=new Set;if(t.id&&e.add(t.id),t.children&&Array.isArray(t.children))for(let r of t.children)for(let i of Nu(r))e.add(i);return e};var BW=(t=[])=>{if(t instanceof Map)return t;let e=new Map;for(let r of t)e.has(r.targetId)||e.set(r.targetId,[]),e.get(r.targetId).push(r);return e},Bw=(t,e)=>t?t instanceof Map?t.get(e)??[]:t.filter(r=>r.targetId===e):[],FW=(t,e)=>Bw(t,e).filter(r=>r.type==="update"),Fw=(t,e)=>Bw(t,e).find(r=>r.type==="transition")??null,kW=(t=[])=>t.some(e=>Object.keys(e.tween??{}).some($l)),ux=(t=[],e,r=[])=>{for(let i of t){if(i?.id===e)return{element:i,ancestorIds:r};if(Array.isArray(i?.children)){let n=ux(i.children,e,[...r,i.id]);if(n)return n}}return null},OW=(t,e)=>je(t?.ancestorIds??null,e?.ancestorIds??null),Une=({subtreeRoot:t,nextAnimations:e,continuingAnimationId:r})=>{if(!t)return!1;let i=Nu(t);for(let n of e??[])if(!(!n||n.id===r)&&i.has(n.targetId))return!0;return!1},wI=(t={})=>t.type==="update"?t.gsap?Cy(Ia(t)):JSON.stringify({type:t.type,tween:t.tween,filterTweens:t.filterTweens??null,playback:t.playback??null}):JSON.stringify({type:t.type,prev:t.prev??null,next:t.next??null,mask:t.mask??null,compositor:t.compositor??null,gsap:t.gsap??null,playback:t.playback??null}),Nne=({prevState:t,nextState:e,animation:r})=>{let i=ux(t?.elements,r.targetId),n=ux(e?.elements,r.targetId);return i!==null&&n!==null&&OW(i,n)&&je(i.element,n.element)},Gne=({prevState:t,nextState:e,animation:r})=>{let i=ux(t?.elements,r.targetId),n=ux(e?.elements,r.targetId);return i===null&&n===null?!0:i===null||n===null||!OW(i,n)||!je(i.element,n.element)?!1:!Une({subtreeRoot:n.element,nextAnimations:e?.animations,continuingAnimationId:r.id})},DW=({prevState:t,nextState:e,activeAnimations:r})=>{let i=new Set,n=r instanceof Map?r:new Map(r?.map(o=>[o.id,o])??[]);for(let o of e?.animations??[]){if(o?.playback?.continuity!=="persistent")continue;let s=n.get(o.id);if(s&&!(s.type!==o.type||s.targetId!==o.targetId||s.signature!==wI(o))){if(o.type==="update"){Nne({prevState:t,nextState:e,animation:o})&&i.add(o.id);continue}Gne({prevState:t,nextState:e,animation:o})&&i.add(o.id)}}return{continuedAnimationIds:i}},$ne=({animations:t,targetId:e,animationBus:r,completionTracker:i,element:n,targetState:o,targetStates:s,onComplete:a,renderContext:l})=>{let c=FW(t,e),u=c.filter(h=>typeof r?.hasContext=="function"?r.hasContext(h.id):!1),d=c.filter(h=>!u.includes(h));if(c.length===0)return!1;if(d.length===0)return!0;if(l?.suppressAnimations){if(a)throw new Error("Deferred update animations do not support onComplete hooks.");let h=kW(d)?vn(n):void 0,f=rW(n,d,void 0,h,o,s);return RW(l,{animations:d,animationBus:r,completionTracker:i,element:n,targetState:o,targetStates:s,animationBaseState:h,preparedGsap:f}),!0}return Aw({animations:d,animationBus:r,completionTracker:i,element:n,targetState:o,targetStates:s,onComplete:a,animationBaseState:kW(d)?vn(n):void 0}),!0},Bs=FW;var Se=$ne;var LW=t=>!!t&&typeof t=="object"&&!Array.isArray(t),Vne=(t,e)=>e===void 0?t:e===null||e===!1?null:LW(e)?{...LW(t)?t:{},...e}:e,nc=(t={},e={})=>{if(!e)return{...t};let r={...t,...e};return Object.prototype.hasOwnProperty.call(e,"shadow")&&(r.shadow=Vne(t?.shadow,e.shadow)),r};var GW=Symbol("routeGraphicsTextAnchorRatios"),oc=Symbol("routeGraphicsTextLayoutState"),SI=Symbol("routeGraphicsTextTransformState"),UW=(t,e)=>typeof t!="number"||t===0?0:e/t,$W=t=>t?.align??$t.align,dx=t=>t.__layoutWidth??t.width,TI=t=>{let e=t[oc];return e?.fixedWidth&&typeof e.layoutWidth=="number"?e.layoutWidth:typeof e?.measuredWidth=="number"?e.measuredWidth:t.width},NW=(t,e)=>{let r=St.measureText(String(t??""),new Dt(yi(e,{includeShadow:!1})));return{width:r.width,height:r.height}},VW=t=>t?.shadow!==void 0&&t.shadow!==null&&t.shadow!==!1,EI=(t,e)=>{if(VW(e))return NW(t.text,e);let r=Math.abs(t.scale?.x),i=Math.abs(t.scale?.y);return!(r>0)||!(i>0)?NW(t.text,e):{width:Math.abs(t.width)/r,height:Math.abs(t.height)/i}},Ow=t=>{let e=t[oc];return typeof e?.measuredWidth=="number"?e.measuredWidth:t.width},AI=t=>{let e=t[oc];return typeof e?.measuredHeight=="number"?e.measuredHeight:t.height},HW=(t,e,r)=>{let i=!!e.__fixedWidth,n=r??EI(t,e.textStyle),o=n.width??e.measuredWidth??e.width,s=n.height??e.height??t.height;t[oc]={fixedWidth:i,layoutWidth:i?dx(e):o,measuredWidth:o,measuredHeight:s}},zW=(t,e,r)=>{let i=Math.max(0,t-e);return r==="center"?i/2:r==="right"?i:0},WW=(t,e,{layoutWidth:r=TI(t),measuredWidth:i=Ow(t),measuredHeight:n=AI(t),originX:o=e.originX??0,originY:s=e.originY??0,positionX:a,positionY:l,rotation:c=e.rotation}={})=>{let u=zW(r,i,$W(t.style??e.textStyle)),d={...e,x:a===void 0?e.x:a-o,y:l===void 0?e.y:l-s,originX:o,originY:s,rotation:c};ct(t,d,{localOriginX:o-u,localOriginY:s,scaleMode:"full"}),t[SI]={textComputedNode:e,layoutWidth:r,measuredWidth:i,measuredHeight:n}},Hne=t=>{if(!t[oc])return null;let r=TI(t),i=Ow(t);return{x:-zW(r,i,$W(t.style)),y:0,width:r,height:AI(t)}};var Dw=(t,e)=>{let r=EI(t,e.textStyle),i=e.__fixedWidth&&typeof dx(e)=="number"?dx(e):r.width,n=r.height,o=typeof e.__anchorXRatio=="number"?e.__anchorXRatio:UW(i,e.originX),s=typeof e.__anchorYRatio=="number"?e.__anchorYRatio:UW(n,e.originY);t[GW]={x:o,y:s},HW(t,e,r),t[SI]={textComputedNode:e,layoutWidth:i,measuredWidth:r.width,measuredHeight:r.height},mf(t,Hne)},zne=t=>typeof t?.fontSize!="number"||t.fontSize===0||typeof t?.lineHeight!="number"?$t.lineHeight:t.lineHeight/t.fontSize,MI=(t,e)=>{if(!e)return t;let r=nc(t,e);if(e.fontSize!==void 0||e.lineHeight!==void 0){let i=e.lineHeight??zne(t);r.lineHeight=Math.round(r.fontSize*i)}return r},XW=(t,e,r)=>{let i=t[GW],n=TI(t),o=MI(e,r);if(!i){Ss(t,o);return}let s=t[SI],a=t.x,l=t.y,c=gy(t.rotation);Ss(t,o);let u=EI(t,o),h=t[oc]?.fixedWidth===!0?n:u.width;t[oc]={...t[oc],layoutWidth:h,measuredWidth:u.width,measuredHeight:u.height};let f=s?.textComputedNode;if(f){let m=f.__explicitOriginX===!0?f.originX:h*i.x,p=f.__explicitOriginY===!0?f.originY:u.height*i.y;WW(t,f,{layoutWidth:h,measuredWidth:u.width,measuredHeight:u.height,originX:m,originY:p,positionX:a,positionY:l,rotation:c})}},Lw=(t,e)=>{HW(t,e);let r=VW(e.textStyle)?e.measuredWidth??Ow(t):Ow(t);WW(t,e,{layoutWidth:e.__fixedWidth&&typeof dx(e)=="number"?dx(e):r,measuredWidth:r,measuredHeight:AI(t)})};var YW=t=>{if(!(!t||typeof t!="object")){if(typeof t.button=="number")return t.button;if(typeof t.data?.button=="number")return t.data.button;if(typeof t.nativeEvent?.button=="number")return t.nativeEvent.button}},ki=t=>{let e=YW(t);return e===void 0||e===0},jW=t=>YW(t)===2;var PI=Symbol.for("routeGraphics.setInheritedHover"),qW=Symbol.for("routeGraphics.treeInheritedHoverActive"),CI=Symbol.for("routeGraphics.setInheritedPress"),KW=Symbol.for("routeGraphics.treeInheritedPressActive"),II=Symbol.for("routeGraphics.setInheritedRightPress"),QW=Symbol.for("routeGraphics.treeInheritedRightPressActive"),Tf=t=>Array.isArray(t?.children)?t.children:[],RI=({displayObject:t,symbol:e,source:r,isActive:i})=>{let n=t?.[e];typeof n=="function"&&n(r,i)},Uw=({displayObject:t,symbol:e})=>{t&&e in t&&delete t[e]},kI=({displayObject:t,symbol:e,onStateChange:r})=>{let i=!1,n=new Set,o=({nextDirectActive:s=i,onInheritedChange:a})=>{let l=i||n.size>0;i=s,a?.(n);let c=i||n.size>0;return l!==c&&r(c),c};return t[e]=(s,a)=>o({onInheritedChange:l=>{if(s){if(a){l.add(s);return}l.delete(s)}}}),{setDirectState:s=>o({nextDirectActive:s}),isActive:()=>i||n.size>0,destroy:()=>{Uw({displayObject:t,symbol:e})}}},Ef=t=>Uw({displayObject:t,symbol:PI}),Nw=t=>Uw({displayObject:t,symbol:CI}),Gw=t=>Uw({displayObject:t,symbol:II}),Fs=({displayObject:t,onHoverChange:e})=>{let r=kI({displayObject:t,symbol:PI,onStateChange:e});return{setDirectHover:r.setDirectState,isHovering:r.isActive,destroy:r.destroy}},sc=({displayObject:t,onPressChange:e})=>{let r=kI({displayObject:t,symbol:CI,onStateChange:e});return{setDirectPress:r.setDirectState,isPressed:r.isActive,destroy:r.destroy}},ac=({displayObject:t,onPressChange:e})=>{let r=kI({displayObject:t,symbol:II,onStateChange:e});return{setDirectPress:r.setDirectState,isPressed:r.isActive,destroy:r.destroy}},BI=t=>t?.[qW]===!0,FI=t=>t?.[KW]===!0,OI=t=>t?.[QW]===!0,Af=({root:t,isHovered:e})=>{if(!t)return;t[qW]=e;let r=[...Tf(t)];for(;r.length>0;){let i=r.pop();RI({displayObject:i,symbol:PI,source:t,isActive:e}),r.push(...Tf(i))}},Gu=({root:t,isPressed:e})=>{if(!t)return;t[KW]=e;let r=[...Tf(t)];for(;r.length>0;){let i=r.pop();RI({displayObject:i,symbol:CI,source:t,isActive:e}),r.push(...Tf(i))}},Na=({root:t,isPressed:e})=>{if(!t)return;t[QW]=e;let r=[...Tf(t)];for(;r.length>0;){let i=r.pop();RI({displayObject:i,symbol:II,source:t,isActive:e}),r.push(...Tf(i))}};var JW="__rtglScrollHandled",ZW=t=>t?.payload&&typeof t.payload=="object"?t.payload:{},Os=({canvas:t,displayObject:e,width:r,height:i,scrollUpEvent:n,scrollDownEvent:o,eventHandler:s})=>{if(!n&&!o)return;let a=!1,l=Number.isFinite(r)&&Number.isFinite(i)&&r>0&&i>0;e.eventMode="static",l&&(e.hitArea=new be(0,0,Math.round(r),Math.round(i)));let c=(m,p)=>{p?.[JW]||(p&&(p[JW]=!0),m<0&&n&&s?s("scrollUp",{_event:{id:e.label},...ZW(n)}):m>0&&o&&s&&s("scrollDown",{_event:{id:e.label},...ZW(o)}))},u=()=>{a=!0},d=()=>{a=!1},h=m=>{m.preventDefault?.(),c(m.deltaY,m.nativeEvent)},f=m=>{a&&(m.preventDefault(),c(m.deltaY,m))};e.on("pointerover",u),e.on("pointerout",d),e.on("wheel",h),t?.addEventListener("wheel",f,{passive:!1}),e._cleanupScrollInteraction=()=>{a=!1,e.off("pointerover",u),e.off("pointerout",d),e.off("wheel",h),t?.removeEventListener("wheel",f),l&&(e.hitArea=null),delete e._cleanupScrollInteraction}},DI=({root:t})=>{t?._cleanupScrollInteraction?.(),t?.children?.forEach(e=>{DI({root:e})})};var Mf=t=>{t._cleanupScrollInteraction?.(),t.removeAllListeners("pointerover"),t.removeAllListeners("pointerout"),t.removeAllListeners("pointerdown"),t.removeAllListeners("pointerupoutside"),t.removeAllListeners("pointerup"),t.removeAllListeners("rightdown"),t.removeAllListeners("rightclick"),t.removeAllListeners("rightup"),t.removeAllListeners("rightupoutside"),t.removeAllListeners("wheel"),Ef(t),Nw(t),Gw(t),t.cursor="auto",t.eventMode="auto"},hx=({app:t,displayObject:e,textComputedNode:r,eventHandler:i,applyStyle:n})=>{let o=r?.hover,s=r?.click,a=r?.rightClick,l=r?.scrollUp,c=r?.scrollDown,u=null,d=null,h=null,f=()=>{let m=u?.isHovering()??!1,p=d?.isPressed()??!1;(h?.isPressed()??!1)&&a?.textStyle?n(a.textStyle):p&&s?.textStyle?n(s.textStyle):m&&o?.textStyle?n(o.textStyle):n()};if(o){let{cursor:m,soundSrc:p,soundVolume:g,payload:_}=o;e.eventMode="static",u=Fs({displayObject:e,onHoverChange:f});let x=()=>{u.setDirectHover(!0),_&&i&&i("hover",{_event:{id:e.label},..._}),m&&(e.cursor=m),p&&t.audioStage.add({id:`hover-${Date.now()}`,url:p,loop:!1,volume:Ft(g)})},b=()=>{u.setDirectHover(!1),e.cursor="auto"};e.on("pointerover",x),e.on("pointerout",b)}if(s){let{soundSrc:m,soundVolume:p,payload:g}=s;e.eventMode="static",d=sc({displayObject:e,onPressChange:f});let _=w=>{ki(w)&&d.setDirectPress(!0)},x=w=>{ki(w)&&(d.setDirectPress(!1),g&&i&&i("click",{_event:{id:e.label},...g}),m&&t.audioStage.add({id:`click-${Date.now()}`,url:m,loop:!1,volume:Ft(p)}))},b=()=>{d.setDirectPress(!1)};e.on("pointerdown",_),e.on("pointerup",x),e.on("pointerupoutside",b)}if(a){let{soundSrc:m,payload:p}=a;e.eventMode="static",h=ac({displayObject:e,onPressChange:f});let g=()=>{h.setDirectPress(!0)},_=()=>{h.setDirectPress(!1)},x=()=>{h.setDirectPress(!1),p&&i&&i("rightClick",{_event:{id:e.label},...p}),m&&t.audioStage.add({id:`rightClick-${Date.now()}`,url:m,loop:!1})},b=()=>{h.setDirectPress(!1)};e.on("rightdown",g),e.on("rightup",_),e.on("rightclick",x),e.on("rightupoutside",b)}(l||c)&&Os({canvas:t.canvas,displayObject:e,scrollUpEvent:l,scrollDownEvent:c,eventHandler:i})};var r5=Symbol("routeGraphicsRichTextDisplay"),Wne=t=>t?.align??$t.align,Xne=(t,e,r)=>{let i=Math.max(0,t-e.width),n=0;return r==="center"?n=i/2:r==="right"&&(n=i),n-e.x},Yne=t=>{t.removeChildren().forEach(r=>{r.destroy({children:!0})})},e5=({text:t,style:e,x:r,y:i})=>new gi({text:t,style:new Dt(yi(e)),x:Math.round(r),y:Math.round(i)}),t5=(t,e)=>e?MI(t,e):t,jne=(t,e,r)=>{let i=t.getLocalBounds(),n=Math.min(0,i.x),o=Math.min(0,i.y),s=Math.max(e,i.x+i.width),a=Math.max(r,i.y+i.height);return new be(n,o,s-n,a-o)},Pf=t=>Array.isArray(t?.content),i5=t=>!!t?.[r5];var fx=(t,e,r,{preserveTransform:i=!1}={})=>{Yne(t),t.label=e.id,i||(t.alpha=e.alpha??1);let n=e.__layoutWidth??e.width??e.measuredWidth??0;for(let a=0;a<e.content.length;a++){let l=e.content[a],c=new xe({label:`${e.id}-line-${a}`});for(let d of l.lineParts??[])d.furigana&&c.addChild(e5({text:d.furigana.text,style:t5(d.furigana.textStyle,r),x:d.furigana.x,y:d.furigana.y})),c.addChild(e5({text:d.text,style:t5(d.textStyle,r),x:d.x,y:d.y}));let u=c.getLocalBounds();c.x=Xne(n,u,Wne(e.textStyle)),t.addChild(c)}let o=Math.max(0,n),s=Math.max(0,e.__layoutHeight??e.height??0);t.hitArea=new be(0,0,o,s),i?hu(t,e):ct(t,e,{scaleMode:"full"}),mf(t,a=>jne(a,o,s))},n5=(t,e)=>{let r=new xe({label:t.id});return r[r5]=!0,r.zIndex=e,fx(r,t),r};var LI=t=>({...rt(t),...t.scaleX!==void 0&&{scaleX:t.scaleX},...t.scaleY!==void 0&&{scaleY:t.scaleY},alpha:t.alpha}),UI=(t,e)=>{if(Pf(t))return n5(t,e);let r=new gi({label:t.id});return r.zIndex=e,r.text=t.content,Ss(r,t.textStyle),Dw(r,t),r.alpha=t.alpha,Lw(r,t),Ye(r,t.filters,{width:t.width,height:t.height}),r},$w=(t,e,r)=>{if(Pf(e)){fx(t,e,r,{preserveTransform:!0});return}XW(t,e.textStyle,r)},o5=({app:t,parent:e,element:r,animations:i,eventHandler:n,animationBus:o,completionTracker:s,renderContext:a,zIndex:l})=>{let c=UI(r,l),u=hr(i,r.id);Ye(c,r.filters,{width:r.width,height:r.height,force:u}),hx({app:t,displayObject:c,textComputedNode:r,eventHandler:n,applyStyle:d=>$w(c,r,d)}),e.addChild(c),Se({animations:i,targetId:r.id,animationBus:o,completionTracker:s,element:c,targetState:{...LI(r),...rr(r,{force:u})},renderContext:a})};var qne=(t,e)=>i5(t)!==Pf(e),Kne=({app:t,parent:e,displayObject:r,textComputedNode:i,eventHandler:n,zIndex:o})=>{Mf(r);let s=UI(i,o);return hx({app:t,displayObject:s,textComputedNode:i,eventHandler:n,applyStyle:a=>$w(s,i,a)}),e.addChild(s),r.destroy({children:!0}),s},Qne=(t,e)=>{Ss(t,e.textStyle);let r=t[Symbol.for("routeGraphics.timelineTextUnits")];r?.matches(e.content,t.style)?r.originalText=String(e.content??""):(r?.destroy(),t.text=e.content),Dw(t,e),Lw(t,e),t.alpha=e.alpha,r?.matches(e.content,t.style)&&r.sync()},NI=t=>t[Symbol.for("routeGraphics.timelineTextUnits")]?.sync?.(),Jne=({displayObject:t,textComputedNode:e,app:r,eventHandler:i})=>{Pf(e)?fx(t,e):Qne(t,e),Mf(t),hx({app:r,displayObject:t,textComputedNode:e,eventHandler:i,applyStyle:n=>$w(t,e,n)}),NI(t)},s5=({app:t,parent:e,prevElement:r,nextElement:i,eventHandler:n,animations:o,animationBus:s,completionTracker:a,zIndex:l,deferRenderStateCommit:c,commitRenderState:u})=>{let d=e.children.find(p=>p.label===r.id);if(!d)return;d.zIndex=l;let h=hr(o,r.id);h?Ye(d,r.filters,{width:r.width,height:r.height,force:!0,animations:o,targetId:r.id}):xo(d),$r({displayObject:d,element:i,animations:o,targetId:r.id});let f=()=>{if(je(r,i)){At(d,i),NI(d),u?.(d);return}if(qne(d,i)){d=Kne({app:t,parent:e,displayObject:d,textComputedNode:i,eventHandler:n,zIndex:l}),Ye(d,i.filters,{width:i.width,height:i.height,force:h,animations:o,targetId:r.id}),At(d,i),u?.(d);return}Jne({displayObject:d,textComputedNode:i,app:t,eventHandler:n}),Ye(d,i.filters,{width:i.width,height:i.height,force:h,animations:o,targetId:r.id}),At(d,i),NI(d),u?.(d)};Se({animations:o,targetId:r.id,animationBus:s,completionTracker:a,element:d,targetState:{...LI(i),...rr(i,{force:h})},onComplete:()=>{f()}})?c?.():f()};var a5=({parent:t,element:e,animations:r,animationBus:i,completionTracker:n})=>{let o=t.getChildByLabel(e.id);if(!o)return;Se({animations:r,targetId:e.id,animationBus:i,completionTracker:n,element:o,targetState:null,onComplete:()=>{o&&!o.destroyed&&(Mf(o),o.destroy({children:!0}))}})||(Mf(o),o.destroy({children:!0}))};var l5=({positionX:t=0,positionY:e=0,width:r,height:i,anchorX:n=0,anchorY:o=0})=>{if(typeof r!="number"||typeof i!="number")throw new Error("Input Error: Width or height is missing");let s={x:r*n,y:i*o},a=t-s.x,l=e-s.y;return{x:a,y:l,originX:s.x,originY:s.y}};var Zne=new Set(Object.values(Nl)),vr=(t,{scaleMode:e="baked"}={})=>{if(!Number.isFinite(t.width)||!Number.isFinite(t.height))throw new Error("Input Error: Width or height is missing");if(!Object.values(Nl).includes(t.type))throw new Error("Input Error: Type must be one of "+Object.values(Nl).join(", "));if(!t.id)throw new Error("Input Error: Id is missing");let r=t.scaleX??1,i=t.scaleY??1;if(!Number.isFinite(r)||!Number.isFinite(i))throw new Error("Input Error: scaleX and scaleY must be finite numbers");let n=Math.abs(r*t.width),o=Math.abs(i*t.height),s=Math.sign(r)*n,a=Math.sign(i)*o;t.type===Nl.CONTAINER?(n=Math.abs(t.width),o=Math.abs(t.height),s=Math.sign(r)*n,a=Math.sign(i)*o):e==="live"&&(n=Math.abs(t.width),o=Math.abs(t.height),s=r*n,a=i*o);let{x:l,y:c,originX:u,originY:d}=l5({positionX:t.x,positionY:t.y,width:s,height:a,anchorX:t.anchorX,anchorY:t.anchorY}),h=typeof t.originX=="number"?t.originX:u,f=typeof t.originY=="number"?t.originY:d,m={id:t.id,type:t.type,width:Math.round(n),height:Math.round(o),x:Math.round(l),y:Math.round(c),originX:Math.round(h),originY:Math.round(f),alpha:t.alpha??1,rotation:t.rotation??0,...t.scaleX!==void 0?{scaleX:r}:{},...t.scaleY!==void 0?{scaleY:i}:{}};if(t.hover&&(m.hover=t.hover),t.click&&(m.click=t.click),t.filters!==void 0){if(!Zne.has(t.type))throw new Error(`Input Error: filters are not supported on ${t.type} elements`);m.filters=yH(t.filters)}return m};var eoe=t=>typeof t!="number"||!Number.isFinite(t)?0:Math.max(0,Math.floor(t)),toe="top",roe=2,u5=["top","bottom"],ioe=new Set(u5),noe=16,ooe=0,d5=["image","spritesheet"],soe=new Set(d5),aoe=100,loe=!0,coe="loopEnd",h5=["loopEnd","immediate"],uoe=new Set(h5),doe=(t,e)=>{if(t===void 0)return toe;if(ioe.has(t))return t;throw new Error(`Input Error: ${e}.placement must be one of ${u5.join(", ")}.`)},hoe=(t,e)=>{if(t===void 0)return 0;if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return t;throw new Error(`Input Error: ${e}.gap must be a finite number >= 0.`)},foe=(t={})=>t.kind??(t.atlas!==void 0||t.clips!==void 0||t.playback!==void 0?"spritesheet":"image"),c5=(t={},e)=>{let r=foe(t);if(!soe.has(r))throw new Error(`Input Error: ${e}.kind must be one of ${d5.join(", ")}.`);let i={kind:r,src:t.src??"",width:t.width??12,height:t.height??12};if(t.offsetX!==void 0&&(i.offsetX=t.offsetX),t.offsetY!==void 0&&(i.offsetY=t.offsetY),r==="image")return i;let n=t.atlas,o=zo(n),s=Wo(t.clips,n?.animations,n?.meta,Object.keys(o.frames??{})),a=Mo({atlas:o,clips:s,playback:t.playback});return{...i,atlas:o,clips:s,playback:a}},poe=(t,e)=>{if(t===void 0)return aoe;if(typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=100)return t;throw new Error(`Input Error: ${e}.volume must be a finite number between 0 and 100.`)},moe=(t,e)=>{if(t===void 0)return loe;if(typeof t=="boolean")return t;throw new Error(`Input Error: ${e}.loop must be a boolean.`)},goe=(t,e)=>{if(t===void 0)return coe;if(uoe.has(t))return t;throw new Error(`Input Error: ${e}.stopTiming must be one of ${h5.join(", ")}.`)},yoe=(t,e="revealSound")=>{if(t==null)return null;if(typeof t!="object"||Array.isArray(t))throw new Error(`Input Error: ${e} must be an object.`);if(typeof t.src!="string"||t.src.length===0)throw new Error(`Input Error: ${e}.src must be a non-empty string.`);return{src:t.src,volume:poe(t.volume,e),loop:moe(t.loop,e),stopTiming:goe(t.stopTiming,e)}},xoe=({placement:t,gap:e,x:r,y:i,partWidth:n,partHeight:o,furiganaWidth:s,furiganaHeight:a})=>{let l=Math.round(r+(n-s)/2);return t==="bottom"?{x:l,y:i+o+e}:{x:l,y:i-a+roe-e}},_oe=t=>t===`
1668
+ `,Math.max(0,v.start-1))+1,P=Pie(n,v.start),C=new gi({text:v.segment,style:r.style,label:`__timeline-text-unit:${e.elementId}:${T}`});return C.x=(u.x??0)+h(P)+Cie(n.slice(E,v.start),r.style),C.y=(u.y??0)+P*d,c.addChild(C),{handle:C,identity:`${e.elementId}:${o}:${v.start}-${v.end}`,stableId:`${e.elementId}:${v.start}-${v.end}`,targetState:{x:C.x,y:C.y,scaleX:C.scale.x,scaleY:C.scale.y,rotation:0,alpha:1,width:C.width,height:C.height},subject:{x:C.x,y:C.y,width:C.width,height:C.height}}}),m=!1,p=null,g=null,_=r.renderable,x=r.filters,b=()=>{if(m&&KC(n,r.style,e)!==o){w.destroy();return}Q4(r,c),c.eventMode=r.eventMode,c.cursor=r.cursor;for(let T of f)!T.handle.destroyed&&T.handle.style!==r.style&&(T.handle.style=r.style);let v=Ao(r);v&&At(c,v)},w={fingerprint:o,originalText:n,container:c,targets:f,commit:()=>{if(m)return;let v=r[Du];if(v&&v!==w&&v.destroy(),!r.parent)throw new Error(`Text element "${e.elementId}" must be attached before text-unit activation.`);let T=r.parent,E=T.getChildIndex?T.getChildIndex(r):T.children.indexOf(r);r.renderable=!1,x?.length&&(r.filters=[],c.filters=x),typeof T.addChildAt=="function"?T.addChildAt(c,E):(T.addChild(c),T.setChildIndex?.(c,E)),r[Du]=w;for(let P of Aie)c.on(P,(...C)=>{r.emit(P,...C),w.sync()});p=r.destroy,g=function(...C){return w.destroy({sourceDestroying:!0}),p.apply(this,C)},r.destroy=g,nx.delete(r),m=!0,b()},rollback:()=>{if(m){w.destroy();return}nx.delete(r),c.destroy({children:!0})},matches:(v,T)=>KC(String(v??""),T,e)===o,sync:b,destroy:({sourceDestroying:v=!1}={})=>{nx.delete(r),r.destroy===g&&p&&(r.destroy=p),x?.length&&(c.filters=[]),c.destroyed||c.destroy({children:!0}),r[Du]===w&&delete r[Du],ox.get(r)===w&&ox.delete(r),r.destroyed||(v||(r.renderable=_),x?.length&&(r.filters=x))}};for(let v of f)ox.set(v.handle,w);return ox.set(r,w),nx.set(r,w),w},sx=t=>{let e=FH(t),r=t?.[Du]??ox.get(t);return r?{beforeApplyFrame:e.beforeApplyFrame,afterApplyFrame:()=>{let i;try{e.afterApplyFrame?.()}catch(n){i=n}try{r.sync()}catch(n){i??=n}if(i)throw i}}:e},Bie=Object.freeze({"transform.x":"x","transform.y":"y","transform.scale.x":"scaleX","transform.scale.y":"scaleY","transform.rotation.degrees":"rotation","appearance.alpha":"alpha","effect.blur.x":"blurX","effect.blur.y":"blurY","geometry.width":"width","geometry.height":"height"}),J4=(t,e)=>{if(!t)return null;if(t.label===e)return t;for(let r of t.children??[]){let i=J4(r,e);if(i)return i}return null},JC=new WeakMap,Fie=1,Oie=t=>(JC.has(t)||JC.set(t,Fie++),JC.get(t)),ZC=(t,e)=>`${e}@${Oie(t)}`,Die=(t,e,r)=>({handle:t,identity:ZC(t,e),stableId:e,subject:vn(t),targetState:r}),Lie=(t,e)=>{for(let r of e?.filters??[]){let i=r.parameters??r.uniforms,n=Array.isArray(i)?i.map(o=>[o.key,o.value]):Object.entries(i??{}).map(([o,s])=>[o,s?.value??s]);for(let[o,s]of n)t[`filter.${r.id}.parameter.${o}`]=s}},Uie=(t,e=Ao(t))=>{if(!e)return;let r={...e,...rt(e,{alpha:e.alpha}),...Ir(e),...rr(e),...t?.[As]?Ea(e):{}};return Lie(r,e),r},Nie=t=>{let e=/^filter\.([^.]+)\.parameter\.(.+)$/.exec(t);return e?{filterId:e[1],parameter:e[2]}:null},eI=({program:t,ownerElement:e,ownerTargetState:r,targetStates:i,animationId:n=t.programId,activationOrdinal:o=0,resolveTextUnits:s})=>{let a=new Map,l=new Set,c=new WeakMap,u=new WeakMap,d=p=>{if(a.has(p))return a.get(p);let g=J4(e,p);if(!g)return null;let _=i instanceof Map?i.get(p):i?.[p],x=p===t.ownerId?r:Uie(g,_),b=Die(g,p,x);return a.set(p,b),b},h=p=>(u.has(p)||u.set(p,sx(p)),u.get(p)),f=(p,g)=>{let _=c.get(p.handle);if(_||(_=new Map,c.set(p.handle,_)),_.has(g))return _.get(g);let x=Nie(g),b;if(x){let w=jh(p.handle,x.filterId,n);b={property:x.parameter,getTargetStateValue:v=>v?.[`filter.${x.filterId}.parameter.${x.parameter}`]??v?.[x.parameter],get:()=>w[x.parameter],apply:(v,T)=>{w[x.parameter]=T}}}else{if(g.startsWith("geometry.rect.")&&!p.handle?.[As])return null;let w=g.startsWith("geometry.rect.")?g.slice(9):Bie[g];if(!w)return null;b={property:w,getTargetStateValue:v=>v&&Object.prototype.hasOwnProperty.call(v,w)?v[w]:void 0,group:h(p.handle),get:()=>zh(p.handle,w,Vn),apply:(v,T)=>wa({object:p.handle,property:w,propertyPathMap:Vn,subjectState:p.subject,value:T})}}return _.set(g,b),b},m=new Set(t.requirements);return{activationOrdinal:o,capabilities:m,resolveTargetQuery:(p,g)=>{if(p.kind==="element"){let _=d(p.elementId);if(!_)throw new Error(`Target query "${g}" cannot find element "${p.elementId}" in owner "${t.ownerId}".`);return[_]}if(p.kind==="elements")return p.elementIds.map(_=>{let x=d(_);if(!x)throw new Error(`Target query "${g}" cannot find element "${_}" in owner "${t.ownerId}".`);return x});if(p.kind==="textUnits"){let _=d(p.elementId);if(!_)throw new Error(`Target query "${g}" cannot find text element "${p.elementId}".`);if(s){let w=s(_,p);if(w.length===0&&!p.allowEmpty)throw new Error(`Target query "${g}" resolved no text units.`);return w}if(typeof _.handle?.text!="string")throw new Error(`Target query "${g}" requires a plain Pixi text element.`);let x=_.handle[Du],b=kie(_,p);if(b!==x&&l.add(b),b.targets.length===0&&!p.allowEmpty)throw new Error(`Target query "${g}" resolved no text units.`);return b.targets}throw new Error(`Target query "${g}" is not valid for a Pixi update animation.`)},channelRegistry:{resolve:f},commit:()=>{for(let p of l)p.commit()},rollback:()=>{for(let p of l)p.rollback()}}},Z4=t=>!!t?.handle&&t.handle.destroyed!==!0;var gf=1,Gie=!1,tI=(t={})=>Object.keys(t).some($l),$ie=(t,e)=>{let r=[];for(let i of t)try{i.beforeApplyFrame?.(),r.push(i)}catch{}try{e()}finally{for(let i=r.length-1;i>=0;i--)try{r[i].afterApplyFrame?.()}catch{}}},Vie=(t,e,r)=>{if(!t||!Object.prototype.hasOwnProperty.call(t,e))throw new Error(`Animation "${r}" cannot auto-resolve property "${e}" from targetState.`);return t[e]},Hie=t=>t==="translateX"?"x":t==="translateY"?"y":t,zie=(t,e,r)=>({...t,properties:Object.fromEntries(Object.entries(t.properties).filter(([i,n])=>{if(!n.auto||r)return!0;let o=lP({object:t.element,property:i,propertyPathMap:t.propertyPathMap,subjectState:t.subjectState,defaultValue:0}),s=Vie(t.targetState,i,e);return o!==s}))}),rI=({id:t,targetId:e,propertyGroups:r,playbackSpeed:i,loop:n,repeat:o,repeatDelay:s,yoyo:a})=>{let l=n||o==="infinite"||Number.isSafeInteger(o)&&o>0,c=r.map(x=>{let b=x.subjectState??x.animationBaseState??(tI(x.properties)?vn(x.element):null);return{...x,propertyPathMap:x.propertyPathMap??Vn,subjectState:b,getSubjectState:x.getSubjectState??(()=>(b||(b=vn(x.element)),b))}}).map(x=>zie(x,t,l)).filter(x=>Object.keys(x.properties).length>0);if(c.length===0)return null;let u=c.find(x=>!x.filterId),d=c.filter(x=>x.filterId),h={id:t,targetId:e??u?.element?.label??t,type:"update",...u?{tween:u.properties}:{},...d.length>0?{filterTweens:Object.fromEntries(d.map(x=>[x.filterId,x.properties]))}:{},playback:{...i===void 0?{}:{speed:i},...n?{loop:!0}:{},...o===void 0?{}:{repeat:o},...s===void 0?{}:{repeatDelay:s},...a===void 0?{}:{yoyo:a}}},f=NP(h,{sourcePath:`animationBus.${t}`}),m=new Map;for(let x of c)for(let[b,w]of Object.entries(x.properties)){let v=w.initialValue??w.keyframes?.[0]?.value??0,T=Pa({property:b,filterId:x.filterId,sampleValue:v}),E=Hie(b);m.set(T.channel,{property:b,valueType:T.valueType,group:x,get:()=>x.filterId?x.element[b]:lP({object:x.element,property:E,propertyPathMap:x.propertyPathMap,subjectState:x.subjectState,defaultValue:0}),apply:(P,C)=>{if(x.filterId){x.element[b]=C;return}wa({object:x.element,property:E,propertyPathMap:x.propertyPathMap,subjectState:x.subjectState,value:C})}})}let p=u?.element??c[0].element,g=u?.subjectState??(u&&tI(u.properties)?u.getSubjectState():{x:0,y:0,width:0,height:0}),_=Xl(f,{capabilities:new Set(f.requirements),targetRegistry:{[f.ownerId]:{handle:p,identity:ZC(p,f.ownerId),subject:g,targetState:u?.targetState}},channelRegistry:{resolve:(x,b)=>m.get(b)}});return{program:f,instance:_,groups:c}},eW=()=>{let t=[],e=new Map,r=new Map,i=new Map,n=0,o=null,s=!1,a=(D,j)=>Math.min(Math.max(D,0),Math.max(j??0,0)),l=(D,j)=>(D%j+j)%j,c=(D,j)=>{let ie=j*D.playbackSpeed,ae=D.loop?l(ie,D.duration):a(ie,D.duration);return D.currentTime=ae,D.applyFrame(ae),!D.loop&&ae>=D.duration},u=(D,j)=>{if(D==null)return gf;if(typeof D!="number"||!Number.isFinite(D)||D<=0)throw new Error(`Animation "${j}" playback speed must be a finite number greater than 0.`);return D},d=(D,j)=>{if(D==null)return Gie;if(typeof D!="boolean")throw new Error(`Animation "${j}" playback loop must be a boolean.`);return D},h=(D,j)=>{i.get(D)?.forEach(ie=>{try{ie(j)}catch{}})},f=D=>{if(h("completed",{id:D.id}),D.onComplete)try{D.onComplete()}catch{}},m=D=>{if(h("reverseCompleted",{id:D.id}),D.onReverseComplete)try{D.onReverseComplete()}catch{}},p=(D,j={})=>(D.animationType=j.animationType??D.animationType,D.targetId=j.targetId??D.targetId,D.signature=j.signature??D.signature,D.continuity=j.continuity??D.continuity??"render",D.playbackSpeed=u(j.playbackSpeed??D.playbackSpeed,D.id),D.loop=d(j.loop??D.loop,D.id),D.onContinuationUpdate=j.onContinuationUpdate??D.onContinuationUpdate,D.paused=D.paused??!1,D.playDirection=D.playDirection??1,D.controlSpeed=D.controlSpeed??1,D.emittedTimelineEvents??=new Set,D.emittedTimelineOccurrences??=new Set,D),g=(D,j,ie,{seek:ae=!1,replay:He=!1,includeInitial:ze=!1}={})=>{if(!D.instance?.events?.length)return;let Pt=_z(D.instance,j,ie,{seek:ae,replay:He,emittedOnce:D.emittedTimelineEvents,emittedOccurrences:D.emittedTimelineOccurrences,includeInitial:ze});for(let yt of Pt)yt.occurrence==="once"?D.emittedTimelineEvents.add(yt.onceKey):D.emittedTimelineOccurrences.add(yt.occurrenceKey),h("timelineEvent",{id:D.id,event:yt.name,payload:yt.payload,time:yt.resolvedTime,direction:yt.actualDirection,iteration:yt.iterationTuple})},_=D=>({id:D.id,type:D.animationType??null,targetId:D.targetId??null,signature:D.signature??null,continuity:D.continuity??"render",pending:D.pending===!0}),x=D=>{if(!(!D||D.disposed===!0)){D.disposed=!0;try{D.dispose?.()}catch{}}},b=D=>{if(D.loop&&(!Number.isFinite(D.duration)||D.duration<=0))throw new Error(`Animation "${D.id}" must have a finite duration greater than 0 when playback loop is enabled.`);try{D.applyFrame(0)}catch(ie){throw x(D),ie}r.delete(D.id),e.set(D.id,D);let j=o!==null&&c(D,o);h("started",{id:D.id}),o===null&&g(D,0,0,{includeInitial:!0}),j&&(f(D),x(D),e.delete(D.id))},w=D=>{let{id:j,element:ie,properties:ae,targetState:He,onComplete:ze,onCancel:Pt,onReverseComplete:yt,propertyPathMap:cn=Vn,animationBaseState:Li}=D,ii={...D,playbackSpeed:u(D.playbackSpeed,j),loop:d(D.loop,j)},Fo=(D.propertyGroups??[{element:ie,properties:ae,targetState:He,propertyPathMap:cn,animationBaseState:Li}]).map(dt=>{let dn=dt.animationBaseState??(tI(dt.properties)?vn(dt.element):null);return{...dt,propertyPathMap:dt.propertyPathMap??Vn,subjectState:dn,getSubjectState:()=>(dn||(dn=vn(dt.element)),dn)}});for(let dt of Fo)if(dt.validateProperty!==!1){for(let dn of Object.keys(dt.properties))if(!Mv(dn))throw new Error(`${dn} is not a supported property for animation.`)}let un;try{un=D.preparedTimeline??rI({id:j,targetId:ii.targetId,propertyGroups:Fo,playbackSpeed:ii.playbackSpeed,loop:ii.loop,repeat:ii.repeat,repeatDelay:ii.repeatDelay,yoyo:ii.yoyo})}catch(dt){throw ii.loop&&dt instanceof Error&&dt.message.includes("zero-duration")?new Error(`Animation "${j}" must have a finite duration greater than 0 when playback loop is enabled.`):dt}if(!un){f({id:j,onComplete:ze});return}let tl=rx(un.instance),Sc={id:j,kind:"timeline",element:ie,program:un.program,instance:un.instance,duration:un.instance.duration,currentTime:0,playbackSpeed:gf,deferCompletionUntilNextFrame:D.deferCompletionUntilNextFrame===!0,pendingCompletion:!1,stateVersion:n,targetState:He,onComplete:ze,onCancel:Pt,onReverseComplete:yt,animationBackend:tl.backend,applyFrame:tl.apply,dispose:tl.destroy,applyTargetState:()=>{$ie(Fo,()=>{for(let dt of Fo)if(!(!dt.element||dt.element.destroyed)){if(dt.targetState===null){dt.element.destroy?.();continue}if(dt.targetState)for(let[dn,L_]of Object.entries(dt.targetState))try{wa({object:dt.element,property:dn,propertyPathMap:dt.propertyPathMap,subjectState:$l(dn)?dt.getSubjectState():dt.subjectState,value:L_})}catch{}}})},isValid:()=>Fo.every(dt=>!!dt.element&&!dt.element.destroyed&&(dt.isValid?.()??!0)),getPublicPlaybackState:()=>{let dt=un.instance.domains.root;return{currentTime:Jh(dt,Sc.currentTime).localTime,duration:dt.cycleDuration,playbackSpeed:dt.rate}}};b(p(Sc,{...ii,playbackSpeed:gf,loop:!1}))},v=D=>{let j={id:D.id,kind:"custom",program:D.program,instance:D.instance,duration:D.duration??0,currentTime:0,playbackSpeed:gf,deferCompletionUntilNextFrame:D.deferCompletionUntilNextFrame===!0,pendingCompletion:!1,stateVersion:n,onComplete:D.onComplete,onCancel:D.onCancel,onReverseComplete:D.onReverseComplete,animationBackend:D.animationBackend,dispose:D.dispose,applyFrame:D.applyFrame??(()=>{}),applyTargetState:D.applyTargetState??(()=>{}),isValid:D.isValid??(()=>!0)};b(p(j,D))},T=D=>{let j=D.instance??Xl(D.program,D.bindingContext),ie=rx(j),ae={id:D.id,kind:"timeline",program:D.program,instance:j,duration:j.duration,currentTime:0,playbackSpeed:gf,deferCompletionUntilNextFrame:D.deferCompletionUntilNextFrame===!0,pendingCompletion:!1,stateVersion:n,onComplete:D.onComplete,onCancel:D.onCancel,onReverseComplete:D.onReverseComplete,animationBackend:ie.backend,dispose:ie.destroy,applyFrame:D.applyFrame??ie.apply,applyTargetState:D.applyTargetState??(()=>{}),isValid:D.isValid??(()=>j.tracks.every(He=>Z4(He.target)))};b(p(ae,{...D,playbackSpeed:gf,loop:!1}))},E=D=>{if(D.driver==="custom"){v(D);return}if(D.driver==="timeline"){T(D);return}w(D)},P=D=>{try{D.applyTargetState?.()}catch{}if(D.onCancel)try{D.onCancel()}catch{}x(D)},C=D=>{let j=r.get(D);j&&(P(j),r.delete(D),h("cancelled",{id:D}))},F=D=>{switch(D.type){case"START":E(D.payload);break;case"CANCEL":$(D.id);break}},O=()=>{let D=t.splice(0),j=new Map(e),ie=new Map([...e].filter(([,He])=>He.instance).map(([He,ze])=>[He,ze.instance])),ae=new Set;try{for(let He of D){if(He.type==="CANCEL"){ie.delete(He.id);continue}if(He.type!=="START")continue;let ze=He.payload.instance??He.payload.preparedTimeline?.instance;ze&&(ie.delete(He.payload.id),Ly([...ie.values(),ze]),ie.set(He.payload.id,ze),He.payload.bindingContext&&ae.add(He.payload.bindingContext))}for(let He of ae)He.commit?.()}catch(He){for(let ze of ae)ze.rollback?.();throw He}try{for(let He of D)F(He)}catch(He){for(let ze=D.length-1;ze>=0;ze--){let Pt=D[ze];if(Pt.type!=="START")continue;let yt=Pt.payload.instance??Pt.payload.preparedTimeline?.instance;if(yt)try{Wl(Dy(yt))}catch{}if(j.has(Pt.payload.id)){let cn=e.get(Pt.payload.id);cn!==j.get(Pt.payload.id)&&x(cn),e.set(Pt.payload.id,j.get(Pt.payload.id))}else x(e.get(Pt.payload.id)),e.delete(Pt.payload.id)}for(let ze of ae)ze.rollback?.();throw He}},G=()=>{o===null||s||(s=!0,queueMicrotask(()=>{s=!1,o!==null&&O()}))},$=D=>{let j=e.get(D);if(!j){C(D);return}P(j),e.delete(D),h("cancelled",{id:D})},Q=D=>{t.push(D),G()},U=()=>{for(let[D,j]of e)P(j),h("cancelled",{id:D});for(let[D,j]of r)P(j),h("cancelled",{id:D});e.clear(),r.clear(),n++},V=(D=new Set)=>{let j=D instanceof Set?D:new Set(D??[]);for(let[ie,ae]of e)j.has(ie)||(P(ae),e.delete(ie),h("cancelled",{id:ie}));for(let[ie,ae]of r)j.has(ie)||(P(ae),r.delete(ie),h("cancelled",{id:ie}))},z=D=>{if(O(),typeof D!="number"||!Number.isFinite(D)||D<0)throw new Error("Animation tick delta must be a non-negative finite number.");let j=[];for(let[ie,ae]of e){if(ae.stateVersion!==n){j.push(ie);continue}if(!ae.isValid()){P(ae),h("cancelled",{id:ie,reason:"invalid-target"}),j.push(ie);continue}if(ae.paused)continue;if(ae.pendingCompletion){f(ae),j.push(ie);continue}let He=ae.currentTime,ze=ae.currentTime+D*ae.playbackSpeed*ae.controlSpeed*ae.playDirection;if(ae.currentTime=ae.loop?l(ze,ae.duration):a(ze,ae.duration),!ae.loop&&ae.playDirection>0&&ae.currentTime>=ae.duration){try{ae.applyFrame(ae.duration),g(ae,He,ae.duration)}catch(Pt){P(ae),h("failed",{id:ie,error:Pt}),j.push(ie);continue}if(ae.deferCompletionUntilNextFrame===!0&&ae.duration>0){ae.pendingCompletion=!0;continue}f(ae),j.push(ie);continue}if(!ae.loop&&ae.playDirection<0&&ae.currentTime<=0){try{ae.applyFrame(0),g(ae,He,0)}catch(Pt){P(ae),h("failed",{id:ie,error:Pt}),j.push(ie);continue}m(ae),j.push(ie);continue}try{ae.applyFrame(ae.currentTime),g(ae,He,ae.currentTime)}catch(Pt){P(ae),h("failed",{id:ie,error:Pt}),j.push(ie)}}for(let ie of j)x(e.get(ie)),e.delete(ie)},Y=D=>{o=D,O();let j=[];for(let[ie,ae]of e){if(ae.stateVersion!==n){j.push(ie);continue}if(!ae.isValid()){P(ae),h("cancelled",{id:ie,reason:"invalid-target"}),j.push(ie);continue}try{c(ae,D)&&(f(ae),j.push(ie))}catch(He){P(ae),h("failed",{id:ie,error:He}),j.push(ie)}}for(let ie of j)x(e.get(ie)),e.delete(ie)},W=()=>{o=null},R=D=>(O(),e.get(D)??null),L=D=>{let j=R(D);return j?(j.paused=!0,!0):!1},N=D=>{let j=R(D);return j?(j.paused=!1,!0):!1},q=(D,j=!0)=>{let ie=R(D);if(!ie)return!1;if(j&&ie.animationType==="transition")throw new Error(`Transition animation "${D}" does not support player-controlled reverse playback.`);return ie.playDirection=j?-1:1,ie.paused=!1,!0},ee=(D,j)=>{if(typeof j!="number"||!Number.isFinite(j)||j<=0)throw new Error("Animation control speed must be a positive finite number.");let ie=R(D);return ie?(ie.controlSpeed=j,!0):!1},re=(D,j,{emitEvents:ie=!1}={})=>{if(typeof j!="number"||!Number.isFinite(j))throw new Error("Animation seek time must be finite.");let ae=R(D);if(!ae)return!1;let He=ae.currentTime,ze=ae.loop?l(j,ae.duration):a(j,ae.duration);return ae.applyFrame(ze),ae.currentTime=ze,ze<ae.duration&&(ae.pendingCompletion=!1),g(ae,He,ze,{seek:!0,replay:ie}),!0},ce=(D,j,ie)=>{if(typeof j!="number"||!Number.isFinite(j))throw new Error("Animation progress must be finite.");let ae=R(D);return!ae||!Number.isFinite(ae.duration)?!1:re(D,Math.min(Math.max(j,0),1)*ae.duration,ie)},fe=()=>{O()},Ae=(D,j)=>(i.has(D)||i.set(D,new Set),i.get(D).add(j),()=>te(D,j)),te=(D,j)=>{i.get(D)?.delete(j)};return{dispatch:Q,cancelAll:U,cancelAllExcept:V,flush:fe,tick:z,setTime:Y,clearTime:W,pause:L,resume:N,reverse:q,seek:re,setProgress:ce,setSpeed:ee,on:Ae,off:te,registerPending:D=>{let j=p({id:D.id,kind:"pending",pending:!0,applyTargetState:D.applyTargetState??(()=>{}),onCancel:D.onCancel},D);r.set(j.id,j)},activatePending:(D,j)=>{let ie=r.get(D);return ie?(r.delete(D),E({...j,id:D,animationType:ie.animationType,targetId:ie.targetId,signature:ie.signature,continuity:ie.continuity,playbackSpeed:j.playbackSpeed??ie.playbackSpeed,loop:j.loop??ie.loop,onContinuationUpdate:j.onContinuationUpdate??ie.onContinuationUpdate}),!0):!1},removePending:D=>{r.delete(D)},getContinuableAnimations:()=>{let D=new Map;for(let[j,ie]of r)ie.continuity==="persistent"&&D.set(j,_(ie));for(let[j,ie]of e)ie.continuity==="persistent"&&D.set(j,_(ie));return D},getState:()=>({stateVersion:n,activeCount:e.size,pendingCount:r.size,animations:Array.from(e.entries()).map(([D,j])=>{let ie=j.getPublicPlaybackState?.()??j;return{id:D,currentTime:ie.currentTime,duration:ie.duration,playbackSpeed:ie.playbackSpeed,progress:ie.duration>0&&Number.isFinite(ie.duration)?ie.currentTime/ie.duration:0,paused:j.paused,direction:j.playDirection<0?"reverse":"forward",controlSpeed:j.controlSpeed,backend:j.animationBackend??null}})}),isAnimating:D=>e.has(D),hasContext:D=>e.has(D)||r.has(D),updateContinuation:(D,j)=>{let ie=e.get(D)??r.get(D);if(ie?.onContinuationUpdate)try{ie.onContinuationUpdate(j)}catch{}},destroy:()=>{U(),i.clear()}}};var Wie=t=>t==="translateX"?"x":t==="translateY"?"y":t,Xie=t=>t.some(e=>Object.keys(e.tween??{}).some($l)),iI=(t,e)=>{if(!t)return null;if(t.label===e)return t;for(let r of t.children??[]){let i=iI(r,e);if(i)return i}return null},tW=(t,e,r=new Set)=>{if(r.has(e))return new Set;let i=t.targetQueries[e];if(!i)return new Set;if(i.kind==="element")return new Set([i.elementId]);if(i.kind==="elements")return new Set(i.elementIds);if(i.kind!=="union")return new Set;let n=new Set(r).add(e),o=new Set;for(let s of i.aliases)for(let a of tW(t,s,n))o.add(a);return o},Yie=t=>{let e=new Map;for(let r of t.clipTemplates)for(let i of tW(t,r.targets))e.set(`${i}\0${r.channel}`,{elementId:i,channel:r.channel});return[...e.values()]},jie=t=>{let e=/^filter\.([^.]+)\.parameter\.(.+)$/.exec(t);return e?{filterId:e[1],parameter:e[2]}:null},qie=t=>{let e=t?.parent,r=t?.label;return()=>{if(!t?.destroyed||!e||r==null)return t;let i=e.getChildByLabel?.(r),n=i&&i!==t&&!i.destroyed?i:e.children?.find(o=>o!==t&&!o.destroyed&&o.label===r);return n&&!n.destroyed?n:t}},Kie=(t,e,r=Vn,i=new Map)=>{let n=new Map,o=(a,l,c)=>{let u=Wie(c),d=`property:${l??"@owner"}:${u}`;if(n.has(d))return;let h=zh(a,u,r);h!==void 0&&n.set(d,{kind:"property",elementId:l,property:u,value:zt(h)})},s=(a,l,c,u,d)=>{let h=`filter:${l??"@owner"}:${c}:${u}`;if(n.has(h))return;let f=jh(a,c,d);n.set(h,{kind:"filter",elementId:l,filterId:c,parameter:u,animationId:d,value:zt(f[u])})};for(let a of e){for(let c of Object.keys(a.tween??{}))o(t,null,c);for(let[c,u]of Object.entries(a.filterTweens??{}))for(let d of Object.keys(u))s(t,null,c,d,a.id);let l=i.get(a.id);if(l)for(let{elementId:c,channel:u}of Yie(l)){let d=iI(t,c);if(!d)continue;let h=lz(u);if(h){o(d,c,h);continue}let f=jie(u);f&&s(d,c,f.filterId,f.parameter,a.id)}}return[...n.values()]},Qie=(t,e,r=Vn)=>{if(!t||t.destroyed)return;let i=[],n=new WeakMap,o=s=>(n.has(s)||n.set(s,sx(s)),n.get(s));for(let s of e){let a=s.elementId?iI(t,s.elementId):t;if(!a||a.destroyed)continue;let l=o(a);if(s.kind==="filter"){let c=jh(a,s.filterId,s.animationId);i.push({target:a,value:zt(s.value),binding:{group:l,get:()=>c[s.parameter],apply:(u,d)=>{c[s.parameter]=d}}});continue}i.push({target:a,value:zt(s.value),binding:{group:l,get:()=>zh(a,s.property,r),apply:(c,u)=>wa({object:a,property:s.property,propertyPathMap:r,value:u})}})}i.length>0&&Wl({values:i})},Jie=t=>{let e=[];for(let r of t.tracks){let i=r.target.targetState;if(i==null)continue;let n=r.binding.getTargetStateValue?r.binding.getTargetStateValue(i):Object.prototype.hasOwnProperty.call(i,r.binding.property)?i[r.binding.property]:void 0;n!==void 0&&e.push({target:r.target.handle,targetIdentity:r.target.identity,channel:r.channel,value:zt(n),binding:r.binding})}e.length>0&&Wl({values:e})},Zie=({animations:t,element:e,targetState:r,onComplete:i,compiledGsapPrograms:n,isInfiniteAnimation:o=s=>s.playback?.loop===!0||s.playback?.repeat==="infinite"})=>{let s=t.find(o);if(!s||r==null||!i)return{didSettle:!1,element:e};let a=qie(e),l=Kie(e,t,Vn,n),c=e,u=()=>{c=a(),Qie(c,l)},d;try{d=i(s)}finally{u()}return d&&typeof d.then=="function"&&d.then(u,u),{didSettle:!0,element:c}},rW=(t,e,r=Vn,i,n,o)=>{let s=i,a=new Map;for(let c of e){TP(t,c);for(let[u,d]of Object.entries(c.tween??{})){if(!Mv(u))throw new Error(`${u} is not a supported property for animation.`);d.initialValue!==void 0&&(!s&&$l(u)&&(s=vn(t)),wa({object:t,property:u,propertyPathMap:r,subjectState:s,value:d.initialValue}))}for(let[u,d]of Object.entries(c.filterTweens??{})){let h=bP(t,u,c.id,d);for(let[f,m]of Object.entries(d))m.initialValue!==void 0&&(h[f]=m.initialValue)}if(c.gsap){let u=Ia(c),d=eI({program:u,ownerElement:t,ownerTargetState:n,targetStates:o,animationId:c.id});try{let h=Xl(u,d);a.set(c.id,{program:u,bindingContext:d,instance:h})}catch(h){throw d.rollback?.(),h}}}let l=[...a.values()];try{Ly(l.map(({instance:c})=>c));for(let{bindingContext:c,instance:u}of l)c.commit?.(),Wl(tz(u,0))}catch(c){for(let{bindingContext:u}of l)u.rollback?.();throw c}return a},Aw=({animations:t,animationBus:e,completionTracker:r,element:i,targetState:n,targetStates:o,onComplete:s,animationBaseState:a,preparedGsap:l=new Map})=>{let c=t.filter(x=>typeof e?.hasContext!="function"||!e.hasContext(x.id)),u=new Map(l),d=new Map([...u].map(([x,b])=>[x,b.program])),h=new Set(c.map(x=>x.id));for(let[x,b]of u)h.has(x)||(b.bindingContext.rollback?.(),u.delete(x));for(let x of c){if(x.gsap){d.has(x.id)||d.set(x.id,Ia(x));continue}TP(i,x);for(let[b,w]of Object.entries(x.tween??{}))if(w.auto&&(!n||!Object.prototype.hasOwnProperty.call(n,b)))throw new Error(`Animation "${x.id}" cannot auto-resolve property "${b}" from targetState.`)}let f=Zie({animations:c,element:i,targetState:n,onComplete:s,compiledGsapPrograms:d,isInfiniteAnimation:x=>x.playback?.loop===!0||x.playback?.repeat==="infinite"||d.get(x.id)?.duration==="infinite"}),m=f.element,p=f.didSettle&&Xie(c)?vn(m):a,g=new Map,_=[];try{for(let x of c){if(x.gsap){if(u.has(x.id)){_.push(u.get(x.id).bindingContext);continue}let v=d.get(x.id),T=eI({program:v,ownerElement:m,ownerTargetState:n,targetStates:o,animationId:x.id});_.push(T);let E=Xl(v,T);u.set(x.id,{program:v,bindingContext:T,instance:E});continue}let b=[{element:m,properties:x.tween??{},targetState:n,animationBaseState:p,...sx(m)}];for(let[v,T]of Object.entries(x.filterTweens??{}))b.push({filterId:v,element:bP(m,v,x.id,T),properties:T,propertyPathMap:{},validateProperty:!1});let w=rI({id:x.id,targetId:x.targetId,propertyGroups:b,playbackSpeed:x.playback?.speed,loop:x.playback?.loop===!0,repeat:x.playback?.repeat,repeatDelay:x.playback?.repeatDelay,yoyo:x.playback?.yoyo});g.set(x.id,{propertyGroups:b,timeline:w})}Ly([...[...u.values()].map(({instance:x})=>x),...[...g.values()].map(({timeline:x})=>x?.instance).filter(Boolean)])}catch(x){for(let b of _)b.rollback?.();throw x}for(let x of c){let b=x.gsap?u.get(x.id)?.instance:g.get(x.id)?.timeline?.instance,w=x.playback?.loop===!0||b?.duration===1/0,v=x.playback?.continuity!=="persistent"&&!w,T=v?r.getVersion():null;v&&r.track(T);let E=!1,P=()=>{E||(E=!0,v&&r.complete(T))},C=()=>{P(),f.didSettle||s?.(x)};if(x.gsap){let{program:G,bindingContext:$,instance:Q}=u.get(x.id),U=sx(m);e.dispatch({type:"START",payload:{driver:"timeline",id:x.id,animationType:x.type,targetId:x.targetId,continuity:x.playback?.continuity??"render",signature:x.signature??Cy(G),program:G,bindingContext:$,instance:Q,applyTargetState:()=>{if(Jie(Q),!(!m||m.destroyed||!n)){U.beforeApplyFrame?.();try{for(let[V,z]of Object.entries(n))try{wa({object:m,property:V,propertyPathMap:Vn,subjectState:vn(m),value:z})}catch{}}finally{U.afterApplyFrame?.()}}},onComplete:C,onCancel:P,onReverseComplete:P}});continue}let{propertyGroups:F,timeline:O}=g.get(x.id);e.dispatch({type:"START",payload:{id:x.id,animationType:x.type,targetId:x.targetId,continuity:x.playback?.continuity??"render",playbackSpeed:x.playback?.speed,loop:x.playback?.loop===!0,signature:x.signature??JSON.stringify({type:x.type,tween:x.tween,filterTweens:x.filterTweens??null,playback:x.playback??null}),element:m,properties:x.tween??{},propertyGroups:F,preparedTimeline:O,targetState:n,animationBaseState:p,repeat:x.playback?.repeat,repeatDelay:x.playback?.repeatDelay,yoyo:x.playback?.yoyo,onComplete:C,onCancel:P,onReverseComplete:P}})}};var ene=t=>{if(!t?.dropShadow||typeof t.clone!="function")return t;let e=t.clone();return e.dropShadow=null,e};function Mw(t,e){let r=t.text.substring(0,e),n=St.measureText(r,ene(t.style)).width;return t.x+n}var tne=async(t,e)=>new Promise((r,i)=>{if(e?.aborted)return i(new DOMException("The operation was aborted.","AbortError"));let n,o=()=>{n&&e?.removeEventListener("abort",n)},s=setTimeout(()=>{o(),r()},t);n=()=>{clearTimeout(s),o(),i(e.reason)},e?.addEventListener("abort",n,{once:!0})}),Pw=tne;var rne=(t,e)=>{let r=Number(t);if(Number.isFinite(r))return r;let i=Number(e);return Number.isFinite(i)?i:100},Ft=(t,e=100)=>{let r=rne(t??e,e);return Math.min(Math.max(r,0),100)/100};var ax={softness:1.25,easing:"linear",lineOverlap:0,lineDelay:0},ine=18,nne=64,oI={linear:t=>t,easeOutCubic:t=>1-(1-t)**3},one=(t,e,r)=>Math.max(e,Math.min(r,t)),nI=(t,e)=>typeof t=="number"&&Number.isFinite(t)?t:e,Lu=(t={})=>{let e=t&&typeof t=="object"?t:{};return{softness:Math.max(0,nI(e.softness,ax.softness)),easing:Object.prototype.hasOwnProperty.call(oI,e.easing)?e.easing:ax.easing,lineOverlap:one(nI(e.lineOverlap,ax.lineOverlap),0,.95),lineDelay:Math.max(0,nI(e.lineDelay,ax.lineDelay))}},sI=t=>oI[t]??oI[ax.easing],aI=({maxLineHeight:t,softWipe:e})=>Math.max(ine,Math.min(nne,Math.round(t*e.softness)));var yf=(t,e,r,i)=>{if(!r)return;let n=o=>{let s=Number(o?.detail?.frameIndex);o?.detail?.elementId===e&&Number.isInteger(s)&&(t.gotoAndStop(s),i?.())};window.addEventListener("snapShotAnimatedSpriteFrame",n),t._snapShotKeyFrameHandler=n},Uu=t=>{t._snapShotKeyFrameHandler&&(window.removeEventListener("snapShotAnimatedSpriteFrame",t._snapShotKeyFrameHandler),delete t._snapShotKeyFrameHandler)};var iW=(t={})=>{if(t.frame){let s=t.frame.w??0,a=t.frame.h??0,l=t.sourceSize?.w??s,c=t.sourceSize?.h??a,u={frame:{x:t.frame.x??0,y:t.frame.y??0,w:s,h:a},rotated:t.rotated??!1,trimmed:t.trimmed??!1,spriteSourceSize:{x:t.spriteSourceSize?.x??0,y:t.spriteSourceSize?.y??0,w:t.spriteSourceSize?.w??s,h:t.spriteSourceSize?.h??a},sourceSize:{w:l,h:c}};return t.anchor?u.anchor={x:t.anchor.x??0,y:t.anchor.y??0}:t.pivot&&(u.anchor={x:t.pivot.x??0,y:t.pivot.y??0}),t.borders&&(u.borders={...t.borders}),u}let e=t.width??t.w??0,r=t.height??t.h??0,i=t.sourceWidth??e,n=t.sourceHeight??r,o={frame:{x:t.x??0,y:t.y??0,w:e,h:r},rotated:t.rotated??!1,trimmed:t.trimmed??!1,spriteSourceSize:{x:t.offsetX??0,y:t.offsetY??0,w:e,h:r},sourceSize:{w:i,h:n}};return t.anchor?o.anchor={x:t.anchor.x??0,y:t.anchor.y??0}:t.pivot&&(o.anchor={x:t.pivot.x??0,y:t.pivot.y??0}),t.borders&&(o.borders={...t.borders}),o},lI=(t={})=>!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).map(([e,r])=>[e,Array.isArray(r)?r.map(i=>String(i)):[]])),sne=(t,e={})=>{let r=Math.max(0,Number(e.from??0)),i=Math.min(t.length-1,Number(e.to??r));if(!Number.isFinite(r)||!Number.isFinite(i)||i<r)return[];let n=t.slice(r,i+1),o=String(e.direction??"forward").toLowerCase();if(o==="reverse"||o==="backward")return[...n].reverse();if(o==="pingpong")return[...n,...n.slice(1,-1).reverse()];if(o==="pingpong_reverse"){let s=[...n].reverse();return[...s,...s.slice(1,-1).reverse()]}return n},ane=(t=[],e=[])=>!Array.isArray(t)||e.length===0?{}:Object.fromEntries(t.map(r=>{let i=typeof r?.name=="string"?r.name:"";return i?[i,sne(e,r)]:null}).filter(Boolean)),zo=(t={})=>{let e=t??{},r=lI(e.animations);return{frames:Array.isArray(e.frames)?Object.fromEntries(e.frames.map(n=>{let o=n?.filename??n?.name;return typeof o!="string"||o.length===0?null:[o,iW(n)]}).filter(Boolean)):Object.fromEntries(Object.entries(e.frames??{}).map(([n,o])=>[n,iW(o)])),...Object.keys(r).length>0?{animations:r}:{},meta:{...e.meta??{},scale:String(e.scale??e.meta?.scale??1),...e.width!=null||e.height!=null?{size:{w:e.width??e.meta?.size?.w??0,h:e.height??e.meta?.size?.h??0}}:{}}}},Wo=(t={},e={},r={},i=[])=>({...ane(r?.frameTags,i),...lI(e),...lI(t)}),lne=(t,e)=>{if(!Array.isArray(e?.frames))return[];let r=Object.keys(t.frames??{});return e.frames.map(i=>typeof i=="number"?r[i]:String(i)).filter(Boolean)},Mo=({atlas:t={frames:{}},clips:e={},playback:r,legacyAnimation:i})=>{let n=r??i??{},o={fps:n.fps??null,loop:n.loop??!0,autoplay:n.autoplay??!0};return typeof n.clip=="string"&&n.clip.length>0&&(o.clip=n.clip),Array.isArray(n.frames)?o.frames=n.frames.map(s=>typeof s=="number"?Object.keys(t.frames??{})[s]:String(s)).filter(Boolean):o.clip||(o.frames=lne(t,i)),o.fps==null&&(typeof n.animationSpeed=="number"?o.fps=n.animationSpeed*60:o.fps=30),o.clip&&(!Array.isArray(o.frames)||o.frames.length===0)&&(o.frames=Array.isArray(e[o.clip])?[...e[o.clip]]:[]),Array.isArray(o.frames)||(o.frames=[]),o},xf=({spritesheet:t,atlas:e,clips:r={},playback:i,legacyAnimation:n})=>{let o=Mo({atlas:e,clips:r,playback:i,legacyAnimation:n});return{frameTextures:o.frames.map(a=>t.textures[a]),playback:o}},_f=t=>typeof t=="number"?t/60:.5;var Da=Symbol("textRevealRuntime"),Iw=Symbol("textRevealSnapshot"),bf=Symbol("textRevealIndicator"),lW=Symbol("textRevealIndicatorPlayback"),cne="__route_graphics_text_reveal_sound__",dI=50,une=0,pI=100,cI=pI-1,nW=10,cW=120,dne=.9,hne=360,fne=1.2,uI=20,pne=16,mne=0,gne=(t,e,r)=>Math.max(e,Math.min(r,t)),uW=(t=dI)=>typeof t!="number"||!Number.isFinite(t)?dI:Math.max(une,Math.min(pI,t)),yne=t=>uW(t)>=pI,mI=(t,{maxRate:e=cW,curve:r=dne}={})=>{let i=Math.min(uW(t),cI),o=(cI>0?i/cI:0)**r;return nW*(e/nW)**o},xne=t=>mI(t,{maxRate:hne,curve:fne}),_ne=t=>{let e=1e3/t;return e>=uI||t<=cW?{stepDelay:Math.max(1,Math.floor(e)),charactersPerStep:1}:{stepDelay:uI,charactersPerStep:Math.max(2,Math.round(t*uI/1e3))}},bne=t=>t?.revealEffect==="softWipe"?"softWipe":"typewriter",gI=t=>{let e=t?.initialRevealedCharacters;return typeof e!="number"||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))},dW=t=>(t?.content??[]).reduce((e,r)=>e+(r.lineParts??[]).reduce((i,n)=>i+(n.text?.length??0),0),0),vne=t=>`${cne}:${t.id}`,wne=()=>globalThis.window?.RTGL_AUDIO_DEBUG===!0||globalThis.window?.RTGL_VT_DEBUG===!0,Cw=(t,e={})=>{wne()&&console.log(`[TextRevealSound] ${t}`,e)},hW=({app:t,element:e})=>{let r=e?.revealSound;if(!r?.src)return()=>{};if(!t?.audioStage)return Cw("skipped: audioStage unavailable",{elementId:e?.id,src:r.src}),()=>{};let i=vne(e),n=Ft(r.volume,100),o="active";return Cw("start",{elementId:e.id,soundId:i,src:r.src,loop:r.loop??!0,configuredVolume:r.volume,normalizedVolume:n}),t.audioStage.add({id:i,url:r.src,loop:r.loop??!0,volume:n}),t.audioStage.tick?.(),Cw("registered",{elementId:e.id,soundId:i,directAudio:t.audioStage.getById?.(i)??null}),({completed:s=!1}={})=>{if(o==="stopped")return!1;if(o==="finishing"&&s)return!0;let a=o==="active"&&s&&(r.stopTiming??"loopEnd")==="loopEnd";return Cw("stop",{elementId:e.id,soundId:i,src:r.src,finishPlayback:a}),a&&typeof t.audioStage.finish=="function"?(o="finishing",t.audioStage.finish(i),!0):(o="stopped",t.audioStage.remove(i),t.audioStage.tick?.(),!1)}},fW=(t,e)=>{t?.[Da]===e&&delete t[Da]},vf=t=>t?.revealEffect==="none"||yne(t?.speed??dI),hI=t=>t!==null&&typeof t=="object"&&typeof t.then=="function",yI=(t={})=>t.kind??(t.atlas!==void 0||t.clips!==void 0||t.playback!==void 0?"spritesheet":"image"),Sne=t=>["revealing","complete"].some(e=>yI(t?.indicator?.[e])==="spritesheet"&&!!t?.indicator?.[e]?.src),pW=t=>`${t.id}-indicator`,mW=(t,e,r)=>{typeof e?.width=="number"?t.width=e.width:r?.width&&(t.width=r.width),typeof e?.height=="number"?t.height=e.height:r?.height&&(t.height=r.height)},gW=(t={})=>{let e=t?.src?X.from(t.src):X.EMPTY,r=new wt(e);return mW(r,t,e),r},Tne=(t={},{app:e,element:r})=>{if(!t?.src)return gW(t);let i=zo(t.atlas),n=Wo(t.clips,t.atlas?.animations,t.atlas?.meta,Object.keys(i.frames??{})),o=Mo({atlas:i,clips:n,playback:t.playback});return(async()=>{let s=new is(X.from(t.src),i);await s.parse();let{frameTextures:a}=xf({spritesheet:s,atlas:i,clips:n,playback:o}),l=new ps(a.length>0?a:[X.EMPTY]);return l.animationSpeed=_f(o.fps),l.loop=o.loop,l[lW]=o,mW(l,t,a[0]),e?.debug&&yf(l,pW(r),e.debug,()=>{typeof e.render=="function"&&e.render()}),l})()},oW=(t,e)=>yI(t)==="spritesheet"?Tne(t,e):gW(t),sW=(t,e)=>{t instanceof ps&&!e?.debug&&t[lW]?.autoplay!==!1&&t.play()},yW=t=>{!t||t.destroyed||(Uu(t),typeof t.stop=="function"&&t.stop(),t.destroy({children:!0}))},fI=t=>{let e=t?.[bf];if(e){for(let r of e.displays)Uu(r);for(let r of e.displays)r?.parent!==t&&yW(r);delete t[bf]}t.destroy({children:!0})},Ene=({element:t,app:e,revealingDisplay:r,completeDisplay:i})=>{let n=new xe({label:pW(t)}),o=new Set([r]);return i&&o.add(i),n.addChild(r),n[bf]={displays:o,currentDisplay:r,completeDisplay:i,start(){sW(this.currentDisplay,e)},showComplete(){if(!this.completeDisplay||this.currentDisplay===this.completeDisplay)return;let s=this.currentDisplay;s?.parent===n&&n.removeChild(s),yW(s),o.delete(s),this.currentDisplay=this.completeDisplay,n.addChild(this.completeDisplay),sW(this.completeDisplay,e)}},n},Ane=(t,{app:e}={})=>{let r=t?.indicator?.revealing??{},i=t?.indicator?.complete,n=oW(r,{app:e,element:t}),o=i?.src||yI(i)==="spritesheet"?oW(i,{app:e,element:t}):null,s=(a,l)=>Ene({element:t,app:e,revealingDisplay:a,completeDisplay:l});return hI(n)||hI(o)?Promise.all([n,o]).then(([a,l])=>s(a,l)):s(n,o)},Mne=t=>{t?.[bf]?.showComplete()},wf=(t,e="revealing")=>{let r=t?.indicator?.[e]??{};return{x:r.offsetX??t?.indicator?.offsetX??pne,y:r.offsetY??t?.indicator?.offsetY??mne}},Pne=(t,e)=>{if(!e)return 0;let r=Math.max(0,e.lineMaxHeight??0),i=Math.max(0,t?.height??0);return e.y+Math.max(0,r-i)},La=(t,e,r)=>{t.x=r.x,t.y=Pne(t,e)+r.y},xW=(t,e,r)=>{if(!e||e.text.length===0){t.x=r.x;return}t.x=Mw(e,e.text.length-1)+r.x},ic=(t,e,r,i)=>{Mne(t);let n=wf(i,"complete");La(t,e,n),xW(t,r,n)},_W=(t,e)=>{if(t[Da]){let r=t[Da];delete t[Da],r()}t[Da]=e},Cne=t=>t?.[Iw]??null,lx=(t,e)=>t?e?(t[Iw]=e,e):(delete t[Iw],null):null,bW=t=>{let e=Cne(t);return!e||e.mode!=="typewriter"||e.completed===!0?null:e},vW=t=>!!bW(t),xI=t=>{if(t[Da]){let r=t[Da];delete t[Da],r()}delete t[Iw],t.onRender=void 0,t.removeChildren().forEach(r=>{if(r?.[bf]){fI(r);return}r.destroy({children:!0})})},_I=(t,e="",r="")=>{let i=new Dt(yi(t.textStyle)),n=new gi({text:e,style:i,x:Math.round(t.x),y:Math.round(t.y)}),o=null;if(t.furigana){let s=new Dt(yi(t.furigana.textStyle));o=new gi({text:r,style:s,x:Math.round(t.furigana.x),y:Math.round(t.furigana.y)})}return{text:n,furiganaText:o}},bI=(t,e)=>{let r=null,i=null,n=0,o=0,s=[];for(let a=0;a<e.content.length;a++){let l=e.content[a],c=new xe({label:`${e.id}-line-${a}`}),u=[],d=null,h=0;t.addChild(c),i=l,o=Math.max(o,l.lineMaxHeight??0);for(let f=0;f<l.lineParts.length;f++){let m=l.lineParts[f],{text:p,furiganaText:g}=_I(m,m.text,m.furigana?.text||"");g&&(c.addChild(g),u.push(g)),c.addChild(p),u.push(p),r=p,d=p,n+=m.text.length,h+=m.text.length}if(u.length>0){let f=c.getLocalBounds();s.push({chunk:l,container:c,lastTextObject:d,totalCharacters:h,bounds:{x:f.x,y:f.y,width:f.width,height:f.height}})}else c.destroy()}return{lines:s,lastTextObject:r,lastChunk:i,totalCharacters:n,maxLineHeight:o,bounds:t.getLocalBounds()}},aW=({contentContainer:t,indicatorSprite:e,element:r})=>{let{lastTextObject:i,lastChunk:n}=bI(t,r);ic(e,n,i,r)},Ine=({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i})=>{let n=wf(r),o=r.content[0]??null,s=dW(r),a=Math.min(i,Math.max(0,s)),l=null,c=null;if(a<=0){La(e,o,n);return}e:for(let u=0;u<r.content.length;u++){let d=r.content[u];for(let h=0;h<d.lineParts.length;h++){let f=d.lineParts[h],m=Math.min(f.text.length,a);if(m<=0)break e;let p=f.furigana?.text||"",g=p.length,_=f.text.length>0?Math.round(m/f.text.length*g):0,{text:x,furiganaText:b}=_I(f,f.text.substring(0,m),p.substring(0,_));if(b&&t.addChild(b),t.addChild(x),l=x,c=d,a-=m,m<f.text.length)break e}}c?(La(e,c,n),xW(e,l,n)):La(e,o,n),i>=s&&ic(e,c??o,l,r)},Rne=({contentContainer:t,indicatorSprite:e,element:r})=>{let i=gI(r);if(i<=0){let n=wf(r),o=r.content[0]??null;La(e,o,n);return}r.revealEffect==="softWipe"?Dne({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i}):Ine({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i})},kne=async({contentContainer:t,indicatorSprite:e,element:r,signal:i,startAtCharacter:n=0,snapshot:o=null})=>{let s=xne(r.speed??50),a=wf(r),{stepDelay:l,charactersPerStep:c}=_ne(s),u=Math.max(l,Math.floor(4e3/s)),d=Math.max(0,Math.floor(n)),h=!1,f=null,m=null;o&&(o.revealedCharacters=d,o.completed=!1);for(let p=0;p<r.content.length;p++){if(i?.aborted||t.destroyed)return!1;let g=r.content[p],_=!1;La(e,g,a);for(let x=0;x<g.lineParts.length;x++){if(i?.aborted||t.destroyed)return!1;let b=g.lineParts[x],{text:w,furiganaText:v}=_I(b);v&&t.addChild(v),t.addChild(w);let T=b.text,E=b.furigana?.text||"";T.length>0&&(f=w,m=g);let P=E.length,C=Math.min(T.length,d),F=T.length>0?Math.round(C/T.length*P):0;w.text=T.substring(0,C),v&&(v.text=E.substring(0,F)),d-=C,C>0&&(e.x=Mw(w,C-1)+a.x);let O=C;for(;O<T.length;){if(i?.aborted||t.destroyed)return!1;let G=Math.min(T.length,O+c),$=G-1;if(w.text=T.substring(0,G),e.x=Mw(w,$)+a.x,_=!0,h=!0,o&&(o.revealedCharacters+=G-O),v){let Q=Math.round(G/T.length*P);v.text=E.substring(0,Q)}O=G,O<T.length&&await Pw(l,i)}}p<r.content.length-1&&_&&await Pw(u,i)}return h&&(await Pw(l,i),i?.aborted||t.destroyed)?!1:(ic(e,m,f,r),o&&(o.completed=!0),!0)},wW=({lines:t,edgeWidth:e,baseDuration:r,softWipe:i})=>{let n=t.map(c=>{let u=Math.max(1,c.totalCharacters),d=1+e/Math.max(1,c.bounds.width);return u*d}),o=n.reduce((c,u)=>c+u,0),s=[],a=0,l=0;for(let c=0;c<t.length;c++){let u=n[c],d=o>0?Math.max(1,r*u/o):r,h=Math.max(0,a),f=h+d;s.push({...t[c],startTime:h,endTime:f,duration:d}),l=Math.max(l,f),a=f-d*i.lineOverlap+i.lineDelay}return{timedLines:s,duration:Math.max(1,Math.ceil(l))}},Bne=({currentTime:t,line:e,easing:r})=>{let i=e.duration>0?(t-e.startTime)/e.duration:1;return r(Math.max(0,Math.min(i,1)))},Fne=({progress:t,easingName:e})=>{let r=gne(t,0,1);return e==="easeOutCubic"?1-Math.cbrt(1-r):r},SW=({timedLines:t,initialRevealedCharacters:e,softWipe:r,easingName:i})=>{let n=Math.max(0,Math.floor(e)),o=n<=0,s=0,a=0;return{timedLines:t.map(c=>{let u=Math.max(0,c.totalCharacters??0),d=0,h=!1;if(!o&&n>0)if(u<=0||n>=u)n-=u,d=1,h=!0;else{let p=n/u;d=Fne({progress:p,easingName:i}),n=0,o=!0}if(h)return{...c,startTime:-c.duration,endTime:0};o=!0;let f=d>0?-d*c.duration:Math.max(0,s),m=f+c.duration;return a=Math.max(a,m),s=m-c.duration*r.lineOverlap+r.lineDelay,{...c,startTime:f,endTime:m}}),duration:Math.max(1,Math.ceil(a))}},One=t=>{t.forEach(e=>{e&&(e.line.container.mask===e.sprite&&(e.line.container.mask=null),e.sprite.parent&&e.sprite.parent.removeChild(e.sprite),e.sprite.destroy(),e.texture.destroy(!0))})},TW=({contentContainer:t,timedLines:e,edgeWidth:r})=>{let i=e.map(n=>{let o=document.createElement("canvas");o.width=Math.max(1,Math.ceil(n.bounds.width+r)),o.height=Math.max(1,Math.ceil(n.bounds.height));let s=o.getContext("2d");if(!s)return null;let a=jc(o),l=new wt(a);return l.x=Math.floor(n.bounds.x-r),l.y=Math.floor(n.bounds.y),n.container.mask=l,t.addChild(l),{canvas:o,context:s,texture:a,sprite:l,line:n,edgeWidth:r}});return i.some(n=>n===null)?(One(i),null):i},EW=({timedLines:t,lineMasks:e,easing:r,indicatorSprite:i,indicatorOffsets:n,currentTime:o})=>{let s=t[0],a=s.bounds.x;for(let l=0;l<t.length;l++){let c=t[l],u=e[l],d=Bne({currentTime:o,line:c,easing:r}),{context:h,canvas:f,texture:m}=u;if(h.clearRect(0,0,f.width,f.height),d<=0){m.source.update();continue}let p=0,g=c.bounds.width+u.edgeWidth,_=u.edgeWidth,x=_+d*g,b=Math.max(_,x-u.edgeWidth);b>_&&(h.fillStyle="#ffffff",h.fillRect(_,p,Math.min(b-_,c.bounds.width),c.bounds.height));let w=Math.max(_,x-u.edgeWidth),v=Math.min(_+c.bounds.width,x);if(v>w){let T=h.createLinearGradient(w,0,v,0);T.addColorStop(0,"rgba(255, 255, 255, 1)"),T.addColorStop(1,"rgba(255, 255, 255, 0)"),h.fillStyle=T,h.fillRect(w,p,v-w,c.bounds.height)}m.source.update(),s=c,a=c.bounds.x+Math.min(g,Math.max(0,x-_))}La(i,s.chunk,n),i.x=a+n.x},Dne=({contentContainer:t,indicatorSprite:e,element:r,revealedCharacters:i})=>{let n=wf(r),{lines:o,lastTextObject:s,lastChunk:a,totalCharacters:l,maxLineHeight:c}=bI(t,r);if(La(e,a,n),o.length===0||l===0||i>=l||!o.some(x=>x.bounds.width>0&&x.bounds.height>0)||!globalThis.document){ic(e,a,s,r);return}let u=Lu(r.softWipe),d=sI(u.easing),h=aI({maxLineHeight:c,softWipe:u}),f=mI(r.speed??50),m=Math.max(1,Math.round(l/f*1e3)),p=wW({lines:o,edgeWidth:h,baseDuration:m,softWipe:u}),{timedLines:g}=SW({timedLines:p.timedLines,initialRevealedCharacters:i,softWipe:u,easingName:u.easing}),_=TW({contentContainer:t,timedLines:g,edgeWidth:h});if(!_){ic(e,a,s,r);return}EW({timedLines:g,lineMasks:_,easing:d,indicatorSprite:e,indicatorOffsets:n,currentTime:0})},Lne=({container:t,contentContainer:e,indicatorSprite:r,element:i,animationBus:n,completionTracker:o,app:s})=>{let a=wf(i),l=mI(i.speed??50),{lines:c,lastTextObject:u,lastChunk:d,totalCharacters:h,maxLineHeight:f}=bI(e,i),m=gI(i);if(La(r,d,a),c.length===0||h===0||m>=h||!c.some($=>$.bounds.width>0&&$.bounds.height>0)||!globalThis.document||!n)return ic(r,d,u,i),!1;let p=Lu(i.softWipe),g=sI(p.easing),_=aI({maxLineHeight:f,softWipe:p}),x=Math.max(1,Math.round(h/l*1e3)),b=wW({lines:c,edgeWidth:_,baseDuration:x,softWipe:p}),{timedLines:w,duration:v}=SW({timedLines:b.timedLines,initialRevealedCharacters:m,softWipe:p,easingName:p.easing}),T=o.getVersion(),E=`${i.id}-soft-wipe`,P=TW({contentContainer:e,timedLines:w,edgeWidth:_});if(!P)return ic(r,d,u,i),!1;let C=!1,F=hW({app:s,element:i}),O=$=>{if(C)return;C=!0,F({completed:$})||fW(t,G),P.forEach(U=>{U.line.container.mask===U.sprite&&(U.line.container.mask=null),U.sprite.parent&&U.sprite.parent.removeChild(U.sprite),U.sprite.destroy(),U.texture.destroy(!0)}),$&&ic(r,d,u,i)},G=()=>{if(C){F();return}n.dispatch({type:"CANCEL",id:E}),O(!1)};return _W(t,G),o.track(T),n.dispatch({type:"START",payload:{id:E,driver:"custom",duration:v,applyFrame:$=>{EW({timedLines:w,lineMasks:P,easing:g,indicatorSprite:r,indicatorOffsets:a,currentTime:Math.min(v,$)})},applyTargetState:()=>{O(!1)},onComplete:()=>{o.complete(T),O(!0)},onCancel:()=>{o.complete(T),O(!1)},isValid:()=>!!t&&!t.destroyed&&!e.destroyed&&!r.destroyed}}),!0},Ua=async({container:t,element:e,completionTracker:r,animationBus:i,zIndex:n,signal:o,app:s,playback:a="autoplay",onLayoutMounted:l})=>{if(o?.aborted||t.destroyed)return;let c=vf(e),u=a==="resume"?bW(t):null,d=gI(e);if(a==="resume"&&!u)return;let h=r?.getVersion?.(),f=Sne(e),m=!1,p=()=>{!f||m||(r?.track?.(h),m=!0)},g=()=>{m&&(m=!1,r?.complete?.(h))};p(),xI(t),t.zIndex=n;let _=new xe({label:`${e.id}-content`}),x;try{let b=Ane(e,{app:s});if(x=hI(b)?await b:b,o?.aborted||t.destroyed){fI(x),g();return}if(t.addChild(_),t.addChild(x),x?.[bf]?.start(),a==="paused-initial"){c||lx(t,{mode:bne(e),revealedCharacters:d,completed:!1}),c?(lx(t,{mode:"none",completed:!0}),aW({contentContainer:_,indicatorSprite:x,element:e})):Rne({contentContainer:_,indicatorSprite:x,element:e}),l?.(),g();return}let w=r.getVersion(),v=!1;if(c)r.track(w),g(),lx(t,{mode:"none",completed:!0}),aW({contentContainer:_,indicatorSprite:x,element:e}),l?.(),v=!0;else if(e.revealEffect==="softWipe"){lx(t,{mode:"softWipe",revealedCharacters:d,completed:!1});let T=Lne({container:t,contentContainer:_,indicatorSprite:x,element:e,animationBus:i,completionTracker:r,app:s});if(l?.(),!T&&!o?.aborted&&!t.destroyed)r.track(w),g(),v=!0;else{g();return}}else{r.track(w),g();let T=u?.revealedCharacters??d,E=dW(e),P=lx(t,{mode:"typewriter",revealedCharacters:T,completed:!1}),C=T<E,F=C?hW({app:s,element:e}):()=>{},O=({completed:G=!1}={})=>F({completed:G});C&&_W(t,O);try{let G=kne({contentContainer:_,indicatorSprite:x,element:e,signal:o,startAtCharacter:T,snapshot:P});l?.(),v=await G}finally{O({completed:v&&!o?.aborted&&!t.destroyed})||fW(t,O)}}v&&!o?.aborted&&!t.destroyed&&r.complete(w)}catch(b){if(g(),x&&!x.destroyed&&!x.parent&&fI(x),b?.name!=="AbortError"&&!o?.aborted)throw b}};var Rw=({suppressAnimations:t=!1,deferredMountOperations:e=[]}={})=>({suppressAnimations:t,deferredMountOperations:e}),AW=t=>{switch(t?.type){case"play-animated-sprite":t.animatedSprite?.destroyed||t.animatedSprite?.play();return;case"play-video":t.video?.play();return;case"start-particles":if(t.app?.debug){let e=r=>{if(t.emitter.destroyed){window.removeEventListener("snapShotKeyFrame",e);return}r?.detail?.deltaMS&&(t.emitter.update(Number(r.detail.deltaMS)/1e3),typeof t.app?.render=="function"&&t.app.render())};window.addEventListener("snapShotKeyFrame",e),t.container.customTickerHandler=e;return}t.app.ticker.add(t.tickerCallback);return;case"autoplay-text-reveal":Ua({container:t.container,element:t.element,completionTracker:t.completionTracker,animationBus:t.animationBus,zIndex:t.zIndex,signal:t.signal,app:t.app,playback:"autoplay",onLayoutMounted:t.onLayoutMounted});return;case"start-update-animations":if(!t.element||t.element.destroyed){MW(t);return}Aw({animations:t.animations,animationBus:t.animationBus,completionTracker:t.completionTracker,element:t.element,targetState:t.targetState,targetStates:t.targetStates,animationBaseState:t.animationBaseState,preparedGsap:t.preparedGsap});return}},MW=t=>{if(t?.type==="start-update-animations")for(let e of t.preparedGsap?.values?.()??[])e.bindingContext?.rollback?.()},cx=(t,e)=>{if(e?.type){if(!t?.suppressAnimations){AW(e);return}t.deferredMountOperations.push(e)}},Sf=t=>{if(!t?.deferredMountOperations)return;let e=t.deferredMountOperations.splice(0);for(let r of e)MW(r)},PW=(t,e)=>cx(t,{type:"play-animated-sprite",animatedSprite:e}),CW=(t,e)=>cx(t,{type:"play-video",video:e}),IW=(t,{app:e,emitter:r,container:i,tickerCallback:n})=>cx(t,{type:"start-particles",app:e,emitter:r,container:i,tickerCallback:n}),kw=(t,{app:e,container:r,element:i,completionTracker:n,animationBus:o,zIndex:s,signal:a,onLayoutMounted:l})=>cx(t,{type:"autoplay-text-reveal",app:e,container:r,element:i,completionTracker:n,animationBus:o,zIndex:s,signal:a,onLayoutMounted:l}),RW=(t,{animations:e,animationBus:r,completionTracker:i,element:n,targetState:o,animationBaseState:s,preparedGsap:a})=>cx(t,{type:"start-update-animations",animations:e,animationBus:r,completionTracker:i,element:n,targetState:o,animationBaseState:s,preparedGsap:a}),vI=(t,e=()=>!0)=>{if(!t?.deferredMountOperations?.length)return;let r=t.deferredMountOperations.splice(0),i=[];for(let n of r)e(n)?AW(n):i.push(n);i.length>0&&t.deferredMountOperations.push(...i)};var Nu=t=>{let e=new Set;if(t.id&&e.add(t.id),t.children&&Array.isArray(t.children))for(let r of t.children)for(let i of Nu(r))e.add(i);return e};var BW=(t=[])=>{if(t instanceof Map)return t;let e=new Map;for(let r of t)e.has(r.targetId)||e.set(r.targetId,[]),e.get(r.targetId).push(r);return e},Bw=(t,e)=>t?t instanceof Map?t.get(e)??[]:t.filter(r=>r.targetId===e):[],FW=(t,e)=>Bw(t,e).filter(r=>r.type==="update"),Fw=(t,e)=>Bw(t,e).find(r=>r.type==="transition")??null,kW=(t=[])=>t.some(e=>Object.keys(e.tween??{}).some($l)),ux=(t=[],e,r=[])=>{for(let i of t){if(i?.id===e)return{element:i,ancestorIds:r};if(Array.isArray(i?.children)){let n=ux(i.children,e,[...r,i.id]);if(n)return n}}return null},OW=(t,e)=>je(t?.ancestorIds??null,e?.ancestorIds??null),Une=({subtreeRoot:t,nextAnimations:e,continuingAnimationId:r})=>{if(!t)return!1;let i=Nu(t);for(let n of e??[])if(!(!n||n.id===r)&&i.has(n.targetId))return!0;return!1},wI=(t={})=>t.type==="update"?t.gsap?Cy(Ia(t)):JSON.stringify({type:t.type,tween:t.tween,filterTweens:t.filterTweens??null,playback:t.playback??null}):JSON.stringify({type:t.type,prev:t.prev??null,next:t.next??null,mask:t.mask??null,compositor:t.compositor??null,gsap:t.gsap??null,playback:t.playback??null}),Nne=({prevState:t,nextState:e,animation:r})=>{let i=ux(t?.elements,r.targetId),n=ux(e?.elements,r.targetId);return i!==null&&n!==null&&OW(i,n)&&je(i.element,n.element)},Gne=({prevState:t,nextState:e,animation:r})=>{let i=ux(t?.elements,r.targetId),n=ux(e?.elements,r.targetId);return i===null&&n===null?!0:i===null||n===null||!OW(i,n)||!je(i.element,n.element)?!1:!Une({subtreeRoot:n.element,nextAnimations:e?.animations,continuingAnimationId:r.id})},DW=({prevState:t,nextState:e,activeAnimations:r})=>{let i=new Set,n=r instanceof Map?r:new Map(r?.map(o=>[o.id,o])??[]);for(let o of e?.animations??[]){if(o?.playback?.continuity!=="persistent")continue;let s=n.get(o.id);if(s&&!(s.type!==o.type||s.targetId!==o.targetId||s.signature!==wI(o))){if(o.type==="update"){Nne({prevState:t,nextState:e,animation:o})&&i.add(o.id);continue}Gne({prevState:t,nextState:e,animation:o})&&i.add(o.id)}}return{continuedAnimationIds:i}},$ne=({animations:t,targetId:e,animationBus:r,completionTracker:i,element:n,targetState:o,targetStates:s,onComplete:a,renderContext:l})=>{let c=FW(t,e),u=c.filter(h=>typeof r?.hasContext=="function"?r.hasContext(h.id):!1),d=c.filter(h=>!u.includes(h));if(c.length===0)return!1;if(d.length===0)return!0;if(l?.suppressAnimations){if(a)throw new Error("Deferred update animations do not support onComplete hooks.");let h=kW(d)?vn(n):void 0,f=rW(n,d,void 0,h,o,s);return RW(l,{animations:d,animationBus:r,completionTracker:i,element:n,targetState:o,targetStates:s,animationBaseState:h,preparedGsap:f}),!0}return Aw({animations:d,animationBus:r,completionTracker:i,element:n,targetState:o,targetStates:s,onComplete:a,animationBaseState:kW(d)?vn(n):void 0}),!0},Bs=FW;var Se=$ne;var LW=t=>!!t&&typeof t=="object"&&!Array.isArray(t),Vne=(t,e)=>e===void 0?t:e===null||e===!1?null:LW(e)?{...LW(t)?t:{},...e}:e,nc=(t={},e={})=>{if(!e)return{...t};let r={...t,...e};return Object.prototype.hasOwnProperty.call(e,"shadow")&&(r.shadow=Vne(t?.shadow,e.shadow)),r};var GW=Symbol("routeGraphicsTextAnchorRatios"),oc=Symbol("routeGraphicsTextLayoutState"),SI=Symbol("routeGraphicsTextTransformState"),UW=(t,e)=>typeof t!="number"||t===0?0:e/t,$W=t=>t?.align??$t.align,dx=t=>t.__layoutWidth??t.width,TI=t=>{let e=t[oc];return e?.fixedWidth&&typeof e.layoutWidth=="number"?e.layoutWidth:typeof e?.measuredWidth=="number"?e.measuredWidth:t.width},NW=(t,e)=>{let r=St.measureText(String(t??""),new Dt(yi(e,{includeShadow:!1})));return{width:r.width,height:r.height}},VW=t=>t?.shadow!==void 0&&t.shadow!==null&&t.shadow!==!1,EI=(t,e)=>{if(VW(e))return NW(t.text,e);let r=Math.abs(t.scale?.x),i=Math.abs(t.scale?.y);return!(r>0)||!(i>0)?NW(t.text,e):{width:Math.abs(t.width)/r,height:Math.abs(t.height)/i}},Ow=t=>{let e=t[oc];return typeof e?.measuredWidth=="number"?e.measuredWidth:t.width},AI=t=>{let e=t[oc];return typeof e?.measuredHeight=="number"?e.measuredHeight:t.height},HW=(t,e,r)=>{let i=!!e.__fixedWidth,n=r??EI(t,e.textStyle),o=n.width??e.measuredWidth??e.width,s=n.height??e.height??t.height;t[oc]={fixedWidth:i,layoutWidth:i?dx(e):o,measuredWidth:o,measuredHeight:s}},zW=(t,e,r)=>{let i=Math.max(0,t-e);return r==="center"?i/2:r==="right"?i:0},WW=(t,e,{layoutWidth:r=TI(t),measuredWidth:i=Ow(t),measuredHeight:n=AI(t),originX:o=e.originX??0,originY:s=e.originY??0,positionX:a,positionY:l,rotation:c=e.rotation}={})=>{let u=zW(r,i,$W(t.style??e.textStyle)),d={...e,x:a===void 0?e.x:a-o,y:l===void 0?e.y:l-s,originX:o,originY:s,rotation:c},h=Number.isFinite(d.scaleX)&&d.scaleX!==0?d.scaleX:1;ct(t,d,{localOriginX:o-u*h,localOriginY:s,scaleMode:"full"}),t[SI]={textComputedNode:e,layoutWidth:r,measuredWidth:i,measuredHeight:n}},Hne=t=>{if(!t[oc])return null;let r=TI(t),i=Ow(t);return{x:-zW(r,i,$W(t.style)),y:0,width:r,height:AI(t)}};var Dw=(t,e)=>{let r=EI(t,e.textStyle),i=e.__fixedWidth&&typeof dx(e)=="number"?dx(e):r.width,n=r.height,o=typeof e.__anchorXRatio=="number"?e.__anchorXRatio:UW(i,e.originX),s=typeof e.__anchorYRatio=="number"?e.__anchorYRatio:UW(n,e.originY);t[GW]={x:o,y:s},HW(t,e,r),t[SI]={textComputedNode:e,layoutWidth:i,measuredWidth:r.width,measuredHeight:r.height},mf(t,Hne)},zne=t=>typeof t?.fontSize!="number"||t.fontSize===0||typeof t?.lineHeight!="number"?$t.lineHeight:t.lineHeight/t.fontSize,MI=(t,e)=>{if(!e)return t;let r=nc(t,e);if(e.fontSize!==void 0||e.lineHeight!==void 0){let i=e.lineHeight??zne(t);r.lineHeight=Math.round(r.fontSize*i)}return r},XW=(t,e,r)=>{let i=t[GW],n=TI(t),o=MI(e,r);if(!i){Ss(t,o);return}let s=t[SI],a=t.x,l=t.y,c=gy(t.rotation);Ss(t,o);let u=EI(t,o),h=t[oc]?.fixedWidth===!0?n:u.width;t[oc]={...t[oc],layoutWidth:h,measuredWidth:u.width,measuredHeight:u.height};let f=s?.textComputedNode;if(f){let m=f.__explicitOriginX===!0?f.originX:h*i.x,p=f.__explicitOriginY===!0?f.originY:u.height*i.y;WW(t,f,{layoutWidth:h,measuredWidth:u.width,measuredHeight:u.height,originX:m,originY:p,positionX:a,positionY:l,rotation:c})}},Lw=(t,e)=>{HW(t,e);let r=VW(e.textStyle)?e.measuredWidth??Ow(t):Ow(t);WW(t,e,{layoutWidth:e.__fixedWidth&&typeof dx(e)=="number"?dx(e):r,measuredWidth:r,measuredHeight:AI(t)})};var YW=t=>{if(!(!t||typeof t!="object")){if(typeof t.button=="number")return t.button;if(typeof t.data?.button=="number")return t.data.button;if(typeof t.nativeEvent?.button=="number")return t.nativeEvent.button}},ki=t=>{let e=YW(t);return e===void 0||e===0},jW=t=>YW(t)===2;var PI=Symbol.for("routeGraphics.setInheritedHover"),qW=Symbol.for("routeGraphics.treeInheritedHoverActive"),CI=Symbol.for("routeGraphics.setInheritedPress"),KW=Symbol.for("routeGraphics.treeInheritedPressActive"),II=Symbol.for("routeGraphics.setInheritedRightPress"),QW=Symbol.for("routeGraphics.treeInheritedRightPressActive"),Tf=t=>Array.isArray(t?.children)?t.children:[],RI=({displayObject:t,symbol:e,source:r,isActive:i})=>{let n=t?.[e];typeof n=="function"&&n(r,i)},Uw=({displayObject:t,symbol:e})=>{t&&e in t&&delete t[e]},kI=({displayObject:t,symbol:e,onStateChange:r})=>{let i=!1,n=new Set,o=({nextDirectActive:s=i,onInheritedChange:a})=>{let l=i||n.size>0;i=s,a?.(n);let c=i||n.size>0;return l!==c&&r(c),c};return t[e]=(s,a)=>o({onInheritedChange:l=>{if(s){if(a){l.add(s);return}l.delete(s)}}}),{setDirectState:s=>o({nextDirectActive:s}),isActive:()=>i||n.size>0,destroy:()=>{Uw({displayObject:t,symbol:e})}}},Ef=t=>Uw({displayObject:t,symbol:PI}),Nw=t=>Uw({displayObject:t,symbol:CI}),Gw=t=>Uw({displayObject:t,symbol:II}),Fs=({displayObject:t,onHoverChange:e})=>{let r=kI({displayObject:t,symbol:PI,onStateChange:e});return{setDirectHover:r.setDirectState,isHovering:r.isActive,destroy:r.destroy}},sc=({displayObject:t,onPressChange:e})=>{let r=kI({displayObject:t,symbol:CI,onStateChange:e});return{setDirectPress:r.setDirectState,isPressed:r.isActive,destroy:r.destroy}},ac=({displayObject:t,onPressChange:e})=>{let r=kI({displayObject:t,symbol:II,onStateChange:e});return{setDirectPress:r.setDirectState,isPressed:r.isActive,destroy:r.destroy}},BI=t=>t?.[qW]===!0,FI=t=>t?.[KW]===!0,OI=t=>t?.[QW]===!0,Af=({root:t,isHovered:e})=>{if(!t)return;t[qW]=e;let r=[...Tf(t)];for(;r.length>0;){let i=r.pop();RI({displayObject:i,symbol:PI,source:t,isActive:e}),r.push(...Tf(i))}},Gu=({root:t,isPressed:e})=>{if(!t)return;t[KW]=e;let r=[...Tf(t)];for(;r.length>0;){let i=r.pop();RI({displayObject:i,symbol:CI,source:t,isActive:e}),r.push(...Tf(i))}},Na=({root:t,isPressed:e})=>{if(!t)return;t[QW]=e;let r=[...Tf(t)];for(;r.length>0;){let i=r.pop();RI({displayObject:i,symbol:II,source:t,isActive:e}),r.push(...Tf(i))}};var JW="__rtglScrollHandled",ZW=t=>t?.payload&&typeof t.payload=="object"?t.payload:{},Os=({canvas:t,displayObject:e,width:r,height:i,scrollUpEvent:n,scrollDownEvent:o,eventHandler:s})=>{if(!n&&!o)return;let a=!1,l=Number.isFinite(r)&&Number.isFinite(i)&&r>0&&i>0;e.eventMode="static",l&&(e.hitArea=new be(0,0,Math.round(r),Math.round(i)));let c=(m,p)=>{p?.[JW]||(p&&(p[JW]=!0),m<0&&n&&s?s("scrollUp",{_event:{id:e.label},...ZW(n)}):m>0&&o&&s&&s("scrollDown",{_event:{id:e.label},...ZW(o)}))},u=()=>{a=!0},d=()=>{a=!1},h=m=>{m.preventDefault?.(),c(m.deltaY,m.nativeEvent)},f=m=>{a&&(m.preventDefault(),c(m.deltaY,m))};e.on("pointerover",u),e.on("pointerout",d),e.on("wheel",h),t?.addEventListener("wheel",f,{passive:!1}),e._cleanupScrollInteraction=()=>{a=!1,e.off("pointerover",u),e.off("pointerout",d),e.off("wheel",h),t?.removeEventListener("wheel",f),l&&(e.hitArea=null),delete e._cleanupScrollInteraction}},DI=({root:t})=>{t?._cleanupScrollInteraction?.(),t?.children?.forEach(e=>{DI({root:e})})};var Mf=t=>{t._cleanupScrollInteraction?.(),t.removeAllListeners("pointerover"),t.removeAllListeners("pointerout"),t.removeAllListeners("pointerdown"),t.removeAllListeners("pointerupoutside"),t.removeAllListeners("pointerup"),t.removeAllListeners("rightdown"),t.removeAllListeners("rightclick"),t.removeAllListeners("rightup"),t.removeAllListeners("rightupoutside"),t.removeAllListeners("wheel"),Ef(t),Nw(t),Gw(t),t.cursor="auto",t.eventMode="auto"},hx=({app:t,displayObject:e,textComputedNode:r,eventHandler:i,applyStyle:n})=>{let o=r?.hover,s=r?.click,a=r?.rightClick,l=r?.scrollUp,c=r?.scrollDown,u=null,d=null,h=null,f=()=>{let m=u?.isHovering()??!1,p=d?.isPressed()??!1;(h?.isPressed()??!1)&&a?.textStyle?n(a.textStyle):p&&s?.textStyle?n(s.textStyle):m&&o?.textStyle?n(o.textStyle):n()};if(o){let{cursor:m,soundSrc:p,soundVolume:g,payload:_}=o;e.eventMode="static",u=Fs({displayObject:e,onHoverChange:f});let x=()=>{u.setDirectHover(!0),_&&i&&i("hover",{_event:{id:e.label},..._}),m&&(e.cursor=m),p&&t.audioStage.add({id:`hover-${Date.now()}`,url:p,loop:!1,volume:Ft(g)})},b=()=>{u.setDirectHover(!1),e.cursor="auto"};e.on("pointerover",x),e.on("pointerout",b)}if(s){let{soundSrc:m,soundVolume:p,payload:g}=s;e.eventMode="static",d=sc({displayObject:e,onPressChange:f});let _=w=>{ki(w)&&d.setDirectPress(!0)},x=w=>{ki(w)&&(d.setDirectPress(!1),g&&i&&i("click",{_event:{id:e.label},...g}),m&&t.audioStage.add({id:`click-${Date.now()}`,url:m,loop:!1,volume:Ft(p)}))},b=()=>{d.setDirectPress(!1)};e.on("pointerdown",_),e.on("pointerup",x),e.on("pointerupoutside",b)}if(a){let{soundSrc:m,payload:p}=a;e.eventMode="static",h=ac({displayObject:e,onPressChange:f});let g=()=>{h.setDirectPress(!0)},_=()=>{h.setDirectPress(!1)},x=()=>{h.setDirectPress(!1),p&&i&&i("rightClick",{_event:{id:e.label},...p}),m&&t.audioStage.add({id:`rightClick-${Date.now()}`,url:m,loop:!1})},b=()=>{h.setDirectPress(!1)};e.on("rightdown",g),e.on("rightup",_),e.on("rightclick",x),e.on("rightupoutside",b)}(l||c)&&Os({canvas:t.canvas,displayObject:e,scrollUpEvent:l,scrollDownEvent:c,eventHandler:i})};var r5=Symbol("routeGraphicsRichTextDisplay"),Wne=t=>t?.align??$t.align,Xne=(t,e,r)=>{let i=Math.max(0,t-e.width),n=0;return r==="center"?n=i/2:r==="right"&&(n=i),n-e.x},Yne=t=>{t.removeChildren().forEach(r=>{r.destroy({children:!0})})},e5=({text:t,style:e,x:r,y:i})=>new gi({text:t,style:new Dt(yi(e)),x:Math.round(r),y:Math.round(i)}),t5=(t,e)=>e?MI(t,e):t,jne=(t,e,r)=>{let i=t.getLocalBounds(),n=Math.min(0,i.x),o=Math.min(0,i.y),s=Math.max(e,i.x+i.width),a=Math.max(r,i.y+i.height);return new be(n,o,s-n,a-o)},Pf=t=>Array.isArray(t?.content),i5=t=>!!t?.[r5];var fx=(t,e,r,{preserveTransform:i=!1}={})=>{Yne(t),t.label=e.id,i||(t.alpha=e.alpha??1);let n=e.__layoutWidth??e.width??e.measuredWidth??0;for(let a=0;a<e.content.length;a++){let l=e.content[a],c=new xe({label:`${e.id}-line-${a}`});for(let d of l.lineParts??[])d.furigana&&c.addChild(e5({text:d.furigana.text,style:t5(d.furigana.textStyle,r),x:d.furigana.x,y:d.furigana.y})),c.addChild(e5({text:d.text,style:t5(d.textStyle,r),x:d.x,y:d.y}));let u=c.getLocalBounds();c.x=Xne(n,u,Wne(e.textStyle)),t.addChild(c)}let o=Math.max(0,n),s=Math.max(0,e.__layoutHeight??e.height??0);t.hitArea=new be(0,0,o,s),i?hu(t,e):ct(t,e,{scaleMode:"full"}),mf(t,a=>jne(a,o,s))},n5=(t,e)=>{let r=new xe({label:t.id});return r[r5]=!0,r.zIndex=e,fx(r,t),r};var LI=t=>({...rt(t),...t.scaleX!==void 0&&{scaleX:t.scaleX},...t.scaleY!==void 0&&{scaleY:t.scaleY},alpha:t.alpha}),UI=(t,e)=>{if(Pf(t))return n5(t,e);let r=new gi({label:t.id});return r.zIndex=e,r.text=t.content,Ss(r,t.textStyle),Dw(r,t),r.alpha=t.alpha,Lw(r,t),Ye(r,t.filters,{width:t.width,height:t.height}),r},$w=(t,e,r)=>{if(Pf(e)){fx(t,e,r,{preserveTransform:!0});return}XW(t,e.textStyle,r)},o5=({app:t,parent:e,element:r,animations:i,eventHandler:n,animationBus:o,completionTracker:s,renderContext:a,zIndex:l})=>{let c=UI(r,l),u=hr(i,r.id);Ye(c,r.filters,{width:r.width,height:r.height,force:u}),hx({app:t,displayObject:c,textComputedNode:r,eventHandler:n,applyStyle:d=>$w(c,r,d)}),e.addChild(c),Se({animations:i,targetId:r.id,animationBus:o,completionTracker:s,element:c,targetState:{...LI(r),...rr(r,{force:u})},renderContext:a})};var qne=(t,e)=>i5(t)!==Pf(e),Kne=({app:t,parent:e,displayObject:r,textComputedNode:i,eventHandler:n,zIndex:o})=>{Mf(r);let s=UI(i,o);return hx({app:t,displayObject:s,textComputedNode:i,eventHandler:n,applyStyle:a=>$w(s,i,a)}),e.addChild(s),r.destroy({children:!0}),s},Qne=(t,e)=>{Ss(t,e.textStyle);let r=t[Symbol.for("routeGraphics.timelineTextUnits")];r?.matches(e.content,t.style)?r.originalText=String(e.content??""):(r?.destroy(),t.text=e.content),Dw(t,e),Lw(t,e),t.alpha=e.alpha,r?.matches(e.content,t.style)&&r.sync()},NI=t=>t[Symbol.for("routeGraphics.timelineTextUnits")]?.sync?.(),Jne=({displayObject:t,textComputedNode:e,app:r,eventHandler:i})=>{Pf(e)?fx(t,e):Qne(t,e),Mf(t),hx({app:r,displayObject:t,textComputedNode:e,eventHandler:i,applyStyle:n=>$w(t,e,n)}),NI(t)},s5=({app:t,parent:e,prevElement:r,nextElement:i,eventHandler:n,animations:o,animationBus:s,completionTracker:a,zIndex:l,deferRenderStateCommit:c,commitRenderState:u})=>{let d=e.children.find(p=>p.label===r.id);if(!d)return;d.zIndex=l;let h=hr(o,r.id);h?Ye(d,r.filters,{width:r.width,height:r.height,force:!0,animations:o,targetId:r.id}):xo(d),$r({displayObject:d,element:i,animations:o,targetId:r.id});let f=()=>{if(je(r,i)){At(d,i),NI(d),u?.(d);return}if(qne(d,i)){d=Kne({app:t,parent:e,displayObject:d,textComputedNode:i,eventHandler:n,zIndex:l}),Ye(d,i.filters,{width:i.width,height:i.height,force:h,animations:o,targetId:r.id}),At(d,i),u?.(d);return}Jne({displayObject:d,textComputedNode:i,app:t,eventHandler:n}),Ye(d,i.filters,{width:i.width,height:i.height,force:h,animations:o,targetId:r.id}),At(d,i),NI(d),u?.(d)};Se({animations:o,targetId:r.id,animationBus:s,completionTracker:a,element:d,targetState:{...LI(i),...rr(i,{force:h})},onComplete:()=>{f()}})?c?.():f()};var a5=({parent:t,element:e,animations:r,animationBus:i,completionTracker:n})=>{let o=t.getChildByLabel(e.id);if(!o)return;Se({animations:r,targetId:e.id,animationBus:i,completionTracker:n,element:o,targetState:null,onComplete:()=>{o&&!o.destroyed&&(Mf(o),o.destroy({children:!0}))}})||(Mf(o),o.destroy({children:!0}))};var l5=({positionX:t=0,positionY:e=0,width:r,height:i,anchorX:n=0,anchorY:o=0})=>{if(typeof r!="number"||typeof i!="number")throw new Error("Input Error: Width or height is missing");let s={x:r*n,y:i*o},a=t-s.x,l=e-s.y;return{x:a,y:l,originX:s.x,originY:s.y}};var Zne=new Set(Object.values(Nl)),vr=(t,{scaleMode:e="baked"}={})=>{if(!Number.isFinite(t.width)||!Number.isFinite(t.height))throw new Error("Input Error: Width or height is missing");if(!Object.values(Nl).includes(t.type))throw new Error("Input Error: Type must be one of "+Object.values(Nl).join(", "));if(!t.id)throw new Error("Input Error: Id is missing");let r=t.scaleX??1,i=t.scaleY??1;if(!Number.isFinite(r)||!Number.isFinite(i))throw new Error("Input Error: scaleX and scaleY must be finite numbers");let n=Math.abs(r*t.width),o=Math.abs(i*t.height),s=Math.sign(r)*n,a=Math.sign(i)*o;t.type===Nl.CONTAINER?(n=Math.abs(t.width),o=Math.abs(t.height),s=Math.sign(r)*n,a=Math.sign(i)*o):e==="live"&&(n=Math.abs(t.width),o=Math.abs(t.height),s=r*n,a=i*o);let{x:l,y:c,originX:u,originY:d}=l5({positionX:t.x,positionY:t.y,width:s,height:a,anchorX:t.anchorX,anchorY:t.anchorY}),h=typeof t.originX=="number"?t.originX:u,f=typeof t.originY=="number"?t.originY:d,m={id:t.id,type:t.type,width:Math.round(n),height:Math.round(o),x:Math.round(l),y:Math.round(c),originX:Math.round(h),originY:Math.round(f),alpha:t.alpha??1,rotation:t.rotation??0,...t.scaleX!==void 0?{scaleX:r}:{},...t.scaleY!==void 0?{scaleY:i}:{}};if(t.hover&&(m.hover=t.hover),t.click&&(m.click=t.click),t.filters!==void 0){if(!Zne.has(t.type))throw new Error(`Input Error: filters are not supported on ${t.type} elements`);m.filters=yH(t.filters)}return m};var eoe=t=>typeof t!="number"||!Number.isFinite(t)?0:Math.max(0,Math.floor(t)),toe="top",roe=2,u5=["top","bottom"],ioe=new Set(u5),noe=16,ooe=0,d5=["image","spritesheet"],soe=new Set(d5),aoe=100,loe=!0,coe="loopEnd",h5=["loopEnd","immediate"],uoe=new Set(h5),doe=(t,e)=>{if(t===void 0)return toe;if(ioe.has(t))return t;throw new Error(`Input Error: ${e}.placement must be one of ${u5.join(", ")}.`)},hoe=(t,e)=>{if(t===void 0)return 0;if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return t;throw new Error(`Input Error: ${e}.gap must be a finite number >= 0.`)},foe=(t={})=>t.kind??(t.atlas!==void 0||t.clips!==void 0||t.playback!==void 0?"spritesheet":"image"),c5=(t={},e)=>{let r=foe(t);if(!soe.has(r))throw new Error(`Input Error: ${e}.kind must be one of ${d5.join(", ")}.`);let i={kind:r,src:t.src??"",width:t.width??12,height:t.height??12};if(t.offsetX!==void 0&&(i.offsetX=t.offsetX),t.offsetY!==void 0&&(i.offsetY=t.offsetY),r==="image")return i;let n=t.atlas,o=zo(n),s=Wo(t.clips,n?.animations,n?.meta,Object.keys(o.frames??{})),a=Mo({atlas:o,clips:s,playback:t.playback});return{...i,atlas:o,clips:s,playback:a}},poe=(t,e)=>{if(t===void 0)return aoe;if(typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=100)return t;throw new Error(`Input Error: ${e}.volume must be a finite number between 0 and 100.`)},moe=(t,e)=>{if(t===void 0)return loe;if(typeof t=="boolean")return t;throw new Error(`Input Error: ${e}.loop must be a boolean.`)},goe=(t,e)=>{if(t===void 0)return coe;if(uoe.has(t))return t;throw new Error(`Input Error: ${e}.stopTiming must be one of ${h5.join(", ")}.`)},yoe=(t,e="revealSound")=>{if(t==null)return null;if(typeof t!="object"||Array.isArray(t))throw new Error(`Input Error: ${e} must be an object.`);if(typeof t.src!="string"||t.src.length===0)throw new Error(`Input Error: ${e}.src must be a non-empty string.`);return{src:t.src,volume:poe(t.volume,e),loop:moe(t.loop,e),stopTiming:goe(t.stopTiming,e)}},xoe=({placement:t,gap:e,x:r,y:i,partWidth:n,partHeight:o,furiganaWidth:s,furiganaHeight:a})=>{let l=Math.round(r+(n-s)/2);return t==="bottom"?{x:l,y:i+o+e}:{x:l,y:i-a+roe-e}},_oe=t=>t===`
1669
1669
  `||t==="\r",boe=t=>typeof t=="string"&&St.isBreakingSpace(t),voe=(t,e,r)=>{let i=0,n=0;for(;i<t.length&&n<e.length&&t[i]===e[n];)i+=1,n+=1;if(n<e.length){let a=Math.min(t.length,e.length);return{remainingText:t.slice(a),consumedExplicitNewline:!1}}let o=i,s=o;for(;s<t.length&&boe(t[s]);)s+=1;if(_oe(t[s])){let a=s+1;return t[s]==="\r"&&t[s+1]===`
1670
1670
  `&&(a+=1),{remainingText:t.slice(a),consumedExplicitNewline:!0}}return r?{remainingText:t.slice(s),consumedExplicitNewline:!1}:{remainingText:t.slice(o),consumedExplicitNewline:!1}},GI=(t,e,{minimumWidth:r=e}={})=>{let i=[],n=[],o=0,s=0,a=0,l=0,c=0,u=[...t],d=new WeakSet,h=Math.max(10,t.reduce((p,g)=>p+(g?.text?.length??0),0)*4),f=()=>{i.push({lineParts:[...n],y:s,lineMaxHeight:a}),o=0,s+=a,a=0,n=[]};for(;u.length>0;){if(c+=1,c>h)throw new Error("[parseTextRevealing] Failed to make progress while wrapping text.");let p=u[0];if(!p.text||p.text.length===0){u.shift();continue}let g=p.text,_=Math.max(1,Math.round(e-o)),x=p.textStyle.wordWrap?{...p.textStyle,wordWrapWidth:_}:p.textStyle,b=St.measureText(p.text,new Dt(yi(x,{includeShadow:!1})));if(b.lineWidths[0]>_&&n.length>0){f();continue}let w=b.lines[0]??"",v=b.lines.length>1,T="",E=!1;if(b.lines.length===1&&p.text.endsWith(" ")&&!w.endsWith(" ")&&(w+=" "),w.length>0){let O=voe(g,w,v);T=O.remainingText,E=O.consumedExplicitNewline}if(w.length===0&&g.length>0){let O=g.match(/^\s+/)?.[0]??"";w=O.length>0?O:g[0],T=g.slice(w.length)}if(T===g){let O=g.match(/^\s+/)?.[0]??g[0]??"";if(O.length===0)throw new Error("[parseTextRevealing] Failed to consume text while wrapping.");w=O,T=g.slice(O.length)}let P=St.measureText(w,new Dt({...yi(p.textStyle,{includeShadow:!1}),wordWrap:!1,breakWords:!1})),C=Math.max(0,Math.round(P.width??b.lineWidths[0]??0)),F={text:w,textStyle:x,height:P.height,x:o,y:s};if(p.furigana&&!d.has(p)){d.add(p);let O=St.measureText(p.furigana.text,new Dt(yi(p.furigana.textStyle,{includeShadow:!1}))),G=xoe({placement:p.furigana.placement,gap:p.furigana.gap,x:o,y:s,partWidth:C,partHeight:P.height,furiganaWidth:O.width,furiganaHeight:O.height}),$={text:p.furigana.text,textStyle:p.furigana.textStyle,x:G.x,y:G.y};F.furigana=$}n.push(F),a=Math.max(a,P.height),o+=C,l=Math.max(l,o),T&&T.length>0?p.text=T:u.shift(),(v||E)&&o>0&&f()}n.length>0&&i.push({lineParts:n,y:s,lineMaxHeight:a});for(let p=0;p<i.length;p++){let g=i[p].lineMaxHeight;i[p].lineParts=i[p].lineParts.map(_=>{let x=_.height;_.height&&delete _.height;let b=_.y+(g-x),w=_.furigana;return w&&(w.y=w.y-_.y+b),{..._,...w&&{furigana:w},y:b}})}let m=i.length>0?i[i.length-1].y+i[i.length-1].lineMaxHeight:0;return{chunks:i,width:Math.max(l,r),height:m}},$I=({content:t,defaultTextStyle:e,width:r})=>(t||[]).map((i,n)=>{let o=nc(e,i.textStyle);o.lineHeight=Math.round(o.lineHeight*o.fontSize),typeof r=="number"&&(o.wordWrapWidth=r,o.wordWrap=!0);let s=null;if(i.furigana){let l=nc(e,i.furigana.textStyle);l.lineHeight=Math.round(l.lineHeight*l.fontSize),typeof r=="number"&&(l.wordWrapWidth=r,l.wordWrap=!0),s={text:String(i.furigana.text),textStyle:l,placement:doe(i.furigana.placement,`content[${n}].furigana`),gap:hoe(i.furigana.gap,`content[${n}].furigana`)}}return{text:String(i.text).replace(/ +$/,l=>"\xA0".repeat(l.length)),textStyle:o,...s&&{furigana:s}}}),f5=({state:t})=>{let e=yoe(t.revealSound),r=nc({...$t,wordWrap:!0},t.textStyle),i=$I({content:t.content,defaultTextStyle:r,width:t.width||void 0}),n=t.width||500,{chunks:o,width:s,height:a}=GI(i,n),l=t.width||s,u=vr({...t,width:l,height:a});if(u.alpha=t.alpha??1,t.indicator){let d=t.indicator;if(d.offset!==void 0)throw new Error("Input Error: indicator.offset is no longer supported. Use offsetX and offsetY.");u.indicator={revealing:c5(d.revealing,"indicator.revealing"),complete:c5(d.complete,"indicator.complete"),offsetX:d.offsetX??noe,offsetY:d.offsetY??ooe}}return{...u,content:o,textStyle:{...r},speed:t.speed??50,revealEffect:t.revealEffect??"typewriter",...t.softWipe!==void 0&&{softWipe:Lu(t.softWipe)},...t.initialRevealedCharacters!==void 0&&{initialRevealedCharacters:eoe(t.initialRevealedCharacters)},...e&&{revealSound:e},...t.scaleX!==void 0&&{scaleX:t.scaleX},...t.scaleY!==void 0&&{scaleY:t.scaleY},...t.complete&&{complete:t.complete}}};var woe=1e5,Soe=(t,e)=>typeof t.width=="number"?t.width:e.wordWrap&&typeof e.wordWrapWidth=="number"&&Number.isFinite(e.wordWrapWidth)&&e.wordWrapWidth>0?e.wordWrapWidth:woe,p5=({state:t})=>{let e=Array.isArray(t.content),r=nc($t,t.textStyle),i={...r};if(i.lineHeight=Math.round(i.fontSize*i.lineHeight),typeof t.width=="number"&&(i.wordWrapWidth=t.width,i.wordWrap=!0),e){let h=Soe(t,r),f=$I({content:t.content,defaultTextStyle:r,width:typeof t.width=="number"?t.width:void 0}),{chunks:m,width:p,height:g}=GI(f,h,{minimumWidth:0}),_=Math.round(p),x=Math.round(g),b=typeof t.width=="number"?Math.round(t.width):_,v={...vr({...t,width:b,height:x}),content:m,measuredWidth:_,textStyle:{...i},...t.hover&&{hover:t.hover},...t.click&&{click:t.click},...t.rightClick&&{rightClick:t.rightClick},...t.scrollUp&&{scrollUp:t.scrollUp},...t.scrollDown&&{scrollDown:t.scrollDown}};return Object.defineProperties(v,{__anchorXRatio:{value:t.anchorX??0,enumerable:!1},__anchorYRatio:{value:t.anchorY??0,enumerable:!1},__fixedWidth:{value:typeof t.width=="number",enumerable:!1},__layoutWidth:{value:b,enumerable:!1},__layoutHeight:{value:x,enumerable:!1},...typeof t.originX=="number"&&{__explicitOriginX:{value:!0,enumerable:!0}},...typeof t.originY=="number"&&{__explicitOriginY:{value:!0,enumerable:!0}}}),v}let n=String(t.content??""),{width:o,height:s}=St.measureText(n,new Dt(yi(i,{includeShadow:!1}))),a=Math.round(o),l=Math.round(s),c=typeof t.width=="number"?Math.round(t.width):a,d={...vr({...t,width:c,height:l}),content:n,measuredWidth:a,textStyle:{...i},...t.hover&&{hover:t.hover},...t.click&&{click:t.click},...t.rightClick&&{rightClick:t.rightClick},...t.scrollUp&&{scrollUp:t.scrollUp},...t.scrollDown&&{scrollDown:t.scrollDown}};return Object.defineProperties(d,{__anchorXRatio:{value:t.anchorX??0,enumerable:!1},__anchorYRatio:{value:t.anchorY??0,enumerable:!1},__fixedWidth:{value:typeof t.width=="number",enumerable:!1},__layoutWidth:{value:c,enumerable:!1},__layoutHeight:{value:l,enumerable:!1},...typeof t.originX=="number"&&{__explicitOriginX:{value:!0,enumerable:!0}},...typeof t.originY=="number"&&{__explicitOriginY:{value:!0,enumerable:!0}}}),d};var Toe=Or({type:"text",add:o5,update:s5,delete:a5,parse:p5,shouldUpdateUnchanged:_o});var Vw=Symbol("routeGraphicsRectInteractions"),Eoe=["pointerover","pointerout","pointerup","rightclick","wheel","pointerdown","globalpointermove","pointerupoutside","rightdown","rightup","rightupoutside"],Aoe=t=>t?.payload&&typeof t.payload=="object"?t.payload:{},Moe=t=>!!(t.hover||t.click||t.rightClick||t.scrollUp||t.scrollDown||t.drag),Cf=(t,e,r,i,n={})=>{t?.(e,{_event:{id:r.label,...n},...Aoe(i)})},VI=(t,e,r)=>{r?.soundSrc&&t.audioStage.add({id:`${e}-${Date.now()}`,url:r.soundSrc,loop:!1,volume:Ft(r.soundVolume)})},Poe=t=>{Ts(t.rect,"hover",t.hoverController.isHovering()),Ts(t.rect,"click",t.pressController.isPressed()),Ts(t.rect,"rightClick",t.rightPressController.isPressed())},Coe=({app:t,rect:e,element:r,eventHandler:i})=>{let n={app:t,rect:e,element:r,eventHandler:i,hoverController:null,pressController:null,rightPressController:null};n.hoverController=Fs({displayObject:e,onHoverChange:a=>Ts(e,"hover",a)}),n.pressController=sc({displayObject:e,onPressChange:a=>Ts(e,"click",a)}),n.rightPressController=ac({displayObject:e,onPressChange:a=>Ts(e,"rightClick",a)}),e.on("pointerover",()=>{let a=n.element.hover;a&&(n.hoverController.setDirectHover(!0),Cf(n.eventHandler,"hover",e,a),a.cursor&&(e.cursor=a.cursor),VI(n.app,"hover",a))}),e.on("pointerout",()=>{n.hoverController.setDirectHover(!1),e.cursor="auto"}),e.on("pointerdown",a=>{if(!ki(a))return;n.element.click&&n.pressController.setDirectPress(!0);let l=n.element.drag?.start;n.element.drag&&(e._isDragging=!0,l&&Cf(n.eventHandler,"dragStart",e,l))});let o=(a,{outside:l=!1}={})=>{if(!ki(a))return;n.pressController.setDirectPress(!1);let c=n.element.click;if(!l&&c&&(Cf(n.eventHandler,"click",e,c),VI(n.app,"click",c)),e._isDragging){e._isDragging=!1;let u=n.element.drag?.end;u&&Cf(n.eventHandler,"dragEnd",e,u)}};e.on("pointerup",a=>o(a)),e.on("pointerupoutside",a=>o(a,{outside:!0})),e.on("globalpointermove",a=>{let l=n.element.drag?.move;!l||!e._isDragging||Cf(n.eventHandler,"dragMove",e,l,{x:a.global.x,y:a.global.y})}),e.on("rightdown",()=>{n.element.rightClick&&n.rightPressController.setDirectPress(!0)});let s=()=>{n.rightPressController.setDirectPress(!1)};return e.on("rightup",s),e.on("rightupoutside",s),e.on("rightclick",()=>{s();let a=n.element.rightClick;a&&(Cf(n.eventHandler,"rightClick",e,a),VI(n.app,"rightClick",a))}),n},Ioe=(t,{app:e,element:r,eventHandler:i})=>{t.app=e,t.element=r,t.eventHandler=i,r.hover||t.hoverController.setDirectHover(!1),t.rect.cursor=r.hover&&t.hoverController.isHovering()?r.hover.cursor??"auto":"auto",r.click||t.pressController.setDirectPress(!1),r.rightClick||t.rightPressController.setDirectPress(!1),r.drag||(t.rect._isDragging=!1),Poe(t),t.rect._cleanupScrollInteraction?.(),t.rect.eventMode="static",(r.scrollUp||r.scrollDown)&&Os({canvas:e.canvas,displayObject:t.rect,width:r.width,height:r.height,scrollUpEvent:r.scrollUp,scrollDownEvent:r.scrollDown,eventHandler:i})},HI=t=>{t._cleanupScrollInteraction?.();let e=t[Vw];e?.hoverController.destroy(),e?.pressController.destroy(),e?.rightPressController.destroy();for(let r of Eoe)t.removeAllListeners(r);delete t[Vw],Ts(t,"hover",!1),Ts(t,"click",!1),Ts(t,"rightClick",!1),t.eventMode="auto",t.cursor="auto",t.hitArea=null,t._isDragging=!1},px=({app:t,rect:e,element:r,eventHandler:i})=>{let n=e[Vw];if(!Moe(r)){n&&HI(e);return}n||(n=Coe({app:t,rect:e,element:r,eventHandler:i}),e[Vw]=n),Ioe(n,{app:t,element:r,eventHandler:i})};var m5=({app:t,parent:e,element:r,animations:i,animationBus:n,eventHandler:o,zIndex:s,completionTracker:a,renderContext:l})=>{let{id:c,width:u,height:d,alpha:h,scaleX:f,scaleY:m}=r,p=Vr(i,c),g=hr(i,c),_=new er;_.label=c,_.zIndex=s,_.on("destroyed",()=>{Gl(_)});let x=Py(_,r,(v,T)=>{Dv(_),(v==="rect.width"||v==="rect.height"||v?.has?.("rect.width")||v?.has?.("rect.height"))&&Ye(_,T.element.filters,{width:T.state.width,height:T.state.height,force:g,animations:i,targetId:c})});by(_,r,x);let b=rt(r,{alpha:h});f!==void 0&&(b.scaleX=f),m!==void 0&&(b.scaleY=m),(()=>{_.scale.x=1,_.scale.y=1,ct(_,r),or(_,r.blur,{force:p}),Ye(_,r.filters,{width:u,height:d,force:g})})(),px({app:t,rect:_,element:r,eventHandler:o}),e.addChild(_),Se({animations:i,targetId:c,animationBus:n,completionTracker:a,element:_,targetState:{...b,...Ea(r),...Ir(r,{force:p}),...rr(r,{force:g})},renderContext:l})};var g5=t=>({hover:t.hover,click:t.click,rightClick:t.rightClick,drag:t.drag,scrollUp:t.scrollUp,scrollDown:t.scrollDown}),y5=({parent:t,nextElement:e})=>{let r=t.children.find(n=>n.label===e.id);if(!r)return!1;let i=r[As];return r.scale.x!==Math.sign(e.scaleX??1)||r.scale.y!==Math.sign(e.scaleY??1)||i!==void 0&&(i.state.width!==e.width||i.state.height!==e.height)},x5=({app:t,parent:e,prevElement:r,nextElement:i,animations:n,animationBus:o,eventHandler:s,zIndex:a,completionTracker:l,deferRenderStateCommit:c,commitRenderState:u})=>{let d=e.children.find(L=>L.label===r.id);if(!d)return;let h=!je(g5(r),g5(i));d.zIndex=a;let{width:f,height:m,alpha:p,scaleX:g,scaleY:_}=i,x=Vr(n,r.id);x&&or(d,r.blur,{force:!0});let b=hr(n,r.id);b?Ye(d,r.filters,{width:r.width,height:r.height,force:!0,animations:n,targetId:r.id}):xo(d),$r({displayObject:d,element:i,animations:n,targetId:r.id});let w=Bs(n,r.id),v=w.some(L=>L.tween?.scaleX!==void 0),T=w.some(L=>L.tween?.scaleY!==void 0),E=Ea(i,{liveScaleX:v,liveScaleY:T}),P=Py(d,r,(L,N)=>{Dv(d),(L==="rect.width"||L==="rect.height"||L?.has?.("rect.width")||L?.has?.("rect.height"))&&Ye(d,N.element.filters,{width:N.state.width,height:N.state.height,force:b,animations:n,targetId:r.id})});by(d,r,P);let C=Ea(r,{liveScaleX:v,liveScaleY:T}),F=r.scaleX??1,O=r.scaleY??1,G=Math.sign(F),$=Math.sign(O),Q=v&&Math.abs(F)>0&&P.state.width===r.width&&P.state.width!==C["rect.width"],U=T&&Math.abs(O)>0&&P.state.height===r.height&&P.state.height!==C["rect.height"],V=!v&&(P.state.width!==r.width||d.scale.x!==G),z=!T&&(P.state.height!==r.height||d.scale.y!==$);(Q||U||V||z)&&(P.beginBatch(),V?(d.scale.x=G,P["rect.width"]=r.width):Q&&(d.scale.x*=Math.abs(F),P["rect.width"]=C["rect.width"]),z?(d.scale.y=$,P["rect.height"]=r.height):U&&(d.scale.y*=Math.abs(O),P["rect.height"]=C["rect.height"]),P.endBatch(),hu(d,r,{baseScaleX:v?F:G,baseScaleY:T?O:$}));let Y=rt(i,{alpha:p});g!==void 0&&(Y.scaleX=g),_!==void 0&&(Y.scaleY=_);let W=()=>{if(!je(r,i)){let L=BH(d,i);WV(d,i,L),d.scale.x=1,d.scale.y=1,ct(d,i),or(d,i.blur,{force:x}),Ye(d,i.filters,{width:f,height:m,force:b,animations:n,targetId:r.id}),px({app:t,rect:d,element:i,eventHandler:s})}At(d,i),u?.(d)};Se({animations:n,targetId:r.id,animationBus:o,completionTracker:l,element:d,targetState:{...Y,...E,...Ir(i,{force:x}),...rr(i,{force:b})},onComplete:()=>{W()}})?(h&&(XV(d,i),px({app:t,rect:d,element:i,eventHandler:s})),c?.()):W()};var _5=({parent:t,element:e,animations:r,animationBus:i,completionTracker:n})=>{let o=t.getChildByLabel(e.id);if(!o)return;HI(o),Se({animations:r,targetId:e.id,animationBus:i,completionTracker:n,element:o,targetState:null,onComplete:()=>{o&&!o.destroyed&&(aP(o),Gl(o),o.destroy())}})||(aP(o),Gl(o),o.destroy())};var b5=({state:t})=>{$V(t);let e=vr(t),r=t.border===void 0?void 0:{alpha:t.border.alpha??1,color:t.border.color??"black",width:t.border.width??0};return{...e,...t.fill!==void 0?{fill:t.fill}:{},...r!==void 0?{border:r}:{},...t.scaleX!==void 0?{scaleX:t.scaleX}:{},...t.scaleY!==void 0?{scaleY:t.scaleY}:{},...t.cornerRadius!==void 0?{cornerRadius:fu(t.cornerRadius)}:{},...t.blur!==void 0&&{blur:ks(t.blur)},rotation:t.rotation??0,...t.drag&&{drag:t.drag},...t.rightClick&&{rightClick:t.rightClick},...t.scrollUp&&{scrollUp:t.scrollUp},...t.scrollDown&&{scrollDown:t.scrollDown}}};var Roe=Or({type:"rect",add:m5,update:x5,delete:_5,parse:b5,shouldUpdateUnchanged:t=>y5(t)||_o(t)});var v5=({app:t,parent:e,element:r,animations:i,eventHandler:n,animationBus:o,completionTracker:s,renderContext:a,zIndex:l})=>{let{id:c,width:u,height:d,src:h,alpha:f}=r,m=h?X.from(h):X.EMPTY,p=new wt(m);p.label=c,p.zIndex=l,p.width=Math.round(u),p.height=Math.round(d),p.alpha=f,ct(p,r,{preserveScaleMagnitude:!0});let g=Vr(i,c);or(p,r.blur,{force:g});let _=hr(i,c);Ye(p,r.filters,{width:u,height:d,force:_});let x=r?.hover,b=r?.click,w=r?.rightClick,v=r?.scrollUp,T=r?.scrollDown,E=null,P=null,C=null,F=()=>{let O=E?.isHovering()??!1,G=P?.isPressed()??!1;if((C?.isPressed()??!1)&&w?.src){let Q=X.from(w.src);p.texture=Q}else if(G&&b?.src){let Q=X.from(b.src);p.texture=Q}else if(O&&x?.src){let Q=X.from(x.src);p.texture=Q}else p.texture=m};if(x){let{cursor:O,soundSrc:G,soundVolume:$,payload:Q}=x;p.eventMode="static",E=Fs({displayObject:p,onHoverChange:F});let U=()=>{E.setDirectHover(!0),Q&&n&&n("hover",{_event:{id:p.label},...Q}),O&&(p.cursor=O),G&&t.audioStage.add({id:`hover-${Date.now()}`,url:G,loop:!1,volume:Ft($)})},V=()=>{E.setDirectHover(!1),p.cursor="auto"};p.on("pointerover",U),p.on("pointerout",V)}if(b){let{soundSrc:O,soundVolume:G,payload:$}=b;p.eventMode="static",P=sc({displayObject:p,onPressChange:F});let Q=z=>{ki(z)&&P.setDirectPress(!0)},U=z=>{ki(z)&&(P.setDirectPress(!1),$&&n&&n("click",{_event:{id:p.label},...$}),O&&t.audioStage.add({id:`click-${Date.now()}`,url:O,loop:!1,volume:Ft(G)}))},V=()=>{P.setDirectPress(!1)};p.on("pointerdown",Q),p.on("pointerup",U),p.on("pointerupoutside",V)}if(w){let{soundSrc:O,payload:G}=w;p.eventMode="static",C=ac({displayObject:p,onPressChange:F});let $=()=>{C.setDirectPress(!0)},Q=()=>{C.setDirectPress(!1)},U=()=>{C.setDirectPress(!1),G&&n&&n("rightClick",{_event:{id:p.label},...G}),O&&t.audioStage.add({id:`rightClick-${Date.now()}`,url:O,loop:!1})},V=()=>{C.setDirectPress(!1)};p.on("rightdown",$),p.on("rightup",Q),p.on("rightclick",U),p.on("rightupoutside",V)}(v||T)&&Os({canvas:t.canvas,displayObject:p,scrollUpEvent:v,scrollDownEvent:T,eventHandler:n}),e.addChild(p),Se({animations:i,targetId:c,animationBus:o,completionTracker:s,element:p,targetState:{...rt(r),...bn(p,r,{width:u,height:d}),width:u,height:d,alpha:f,...Ir(r,{force:g}),...rr(r,{force:_})},renderContext:a})};var w5=({app:t,parent:e,prevElement:r,nextElement:i,animations:n,animationBus:o,completionTracker:s,eventHandler:a,zIndex:l,deferRenderStateCommit:c,commitRenderState:u})=>{let d=e.children.find(F=>F.label===r.id);if(!d)return;d.zIndex=l;let{width:h,height:f,src:m,alpha:p}=i,g=Vr(n,r.id);g&&or(d,r.blur,{force:!0});let _=hr(n,r.id);_?Ye(d,r.filters,{width:r.width,height:r.height,force:!0,animations:n,targetId:r.id}):xo(d),$r({displayObject:d,element:i,animations:n,targetId:r.id});let x=!1,b=Bs(n,r.id),w=b.length>0,v=F=>b.some(O=>Object.prototype.hasOwnProperty.call(O.tween??{},F)),T=F=>{d._cleanupScrollInteraction?.(),d.removeAllListeners("pointerover"),d.removeAllListeners("pointerout"),d.removeAllListeners("pointerdown"),d.removeAllListeners("pointerupoutside"),d.removeAllListeners("pointerup"),d.removeAllListeners("rightdown"),d.removeAllListeners("rightclick"),d.removeAllListeners("rightup"),d.removeAllListeners("rightupoutside"),d.removeAllListeners("wheel"),Ef(d),Nw(d),Gw(d);let O=i?.hover,G=i?.click,$=i?.rightClick,Q=i?.scrollUp,U=i?.scrollDown,V=null,z=null,Y=null,W=()=>{let R=V?.isHovering()??!1,L=z?.isPressed()??!1;if((Y?.isPressed()??!1)&&$?.src){let q=X.from($.src);d.texture=q}else if(L&&G?.src){let q=X.from(G.src);d.texture=q}else if(R&&O?.src){let q=X.from(O.src);d.texture=q}else d.texture=F};if(O){let{cursor:R,soundSrc:L,soundVolume:N,payload:q}=O;d.eventMode="static",V=Fs({displayObject:d,onHoverChange:W});let ee=()=>{V.setDirectHover(!0),q&&a&&a("hover",{_event:{id:d.label},...q}),R&&(d.cursor=R),L&&t.audioStage.add({id:`hover-${Date.now()}`,url:L,loop:!1,volume:Ft(N)})},re=()=>{V.setDirectHover(!1),d.cursor="auto"};d.on("pointerover",ee),d.on("pointerout",re)}if(G){let{soundSrc:R,soundVolume:L,payload:N}=G;d.eventMode="static",z=sc({displayObject:d,onPressChange:W});let q=ce=>{ki(ce)&&z.setDirectPress(!0)},ee=ce=>{ki(ce)&&(z.setDirectPress(!1),N&&a&&a("click",{_event:{id:d.label},...N}),R&&t.audioStage.add({id:`click-${Date.now()}`,url:R,loop:!1,volume:Ft(L)}))},re=()=>{z.setDirectPress(!1)};d.on("pointerdown",q),d.on("pointerup",ee),d.on("pointerupoutside",re)}if($){let{soundSrc:R,payload:L}=$;d.eventMode="static",Y=ac({displayObject:d,onPressChange:W});let N=()=>{Y.setDirectPress(!0)},q=()=>{Y.setDirectPress(!1)},ee=()=>{Y.setDirectPress(!1),L&&a&&a("rightClick",{_event:{id:d.label},...L}),R&&t.audioStage.add({id:`rightClick-${Date.now()}`,url:R,loop:!1})},re=()=>{Y.setDirectPress(!1)};d.on("rightdown",N),d.on("rightup",q),d.on("rightclick",ee),d.on("rightupoutside",re)}(Q||U)&&Os({canvas:t.canvas,displayObject:d,scrollUpEvent:Q,scrollDownEvent:U,eventHandler:a})},E=({preserveWidth:F=!1,preserveHeight:O=!1}={})=>{let G=d.width,$=d.height,Q=m?X.from(m):X.EMPTY;d.texture=Q,d.width=Math.round(F?G:h),d.height=Math.round(O?$:f),T(Q)},P=()=>{je(r,i)||(x||E(),d.width=Math.round(h),d.height=Math.round(f),d.alpha=p,ct(d,i,{preserveScaleMagnitude:!0}),or(d,i.blur,{force:g}),Ye(d,i.filters,{width:h,height:f,force:_,animations:n,targetId:r.id})),At(d,i),u?.(d)};r.src!==i.src&&w&&(E({preserveWidth:v("width"),preserveHeight:v("height")}),x=!0),Se({animations:n,targetId:r.id,animationBus:o,completionTracker:s,element:d,targetState:{...rt(i),...bn(d,i,{width:h,height:f}),width:h,height:f,alpha:p,...Ir(i,{force:g}),...rr(i,{force:_})},onComplete:()=>{P()}})?c?.():P()};var S5=({parent:t,element:e,animations:r,animationBus:i,completionTracker:n})=>{let o=t.children.find(a=>a.label===e.id);if(!o)return;Se({animations:r,targetId:e.id,animationBus:i,completionTracker:n,element:o,targetState:null,onComplete:()=>{o&&!o.destroyed&&(o._cleanupScrollInteraction?.(),o.destroy())}})||(o._cleanupScrollInteraction?.(),o.destroy())};var T5=({state:t})=>({...vr(t),src:t.src??"",alpha:t.alpha??1,rotation:t.rotation??0,...t.blur!==void 0&&{blur:ks(t.blur)},...t.hover&&{hover:t.hover},...t.click&&{click:t.click},...t.rightClick&&{rightClick:t.rightClick},...t.scrollUp&&{scrollUp:t.scrollUp},...t.scrollDown&&{scrollDown:t.scrollDown}});var koe=Or({type:"sprite",add:v5,update:w5,delete:S5,parse:T5,shouldUpdateUnchanged:_o});var Boe=t=>!t||t.ended||t.error||typeof t.NETWORK_NO_SOURCE=="number"&&t.networkState===t.NETWORK_NO_SOURCE?!0:Number.isFinite(t.duration)&&t.duration>0&&t.currentTime>=t.duration,mx=({videoElement:t,video:e})=>{e&&t?._videoEndedListener&&e.removeEventListener("ended",t._videoEndedListener),e&&t?._videoErrorListener&&e.removeEventListener("error",t._videoErrorListener),t&&(t._videoEndedListener=void 0,t._videoErrorListener=void 0,t._playbackStateVersion=null)},Hw=({videoElement:t,video:e,loop:r,completionTracker:i})=>{if(mx({videoElement:t,video:e}),(r??!1)||Boe(e))return;let n=i.getVersion();i.track(n);let o=()=>{i.complete(n)};e.addEventListener("ended",o),e.addEventListener("error",o),t._videoEndedListener=o,t._videoErrorListener=o,t._playbackStateVersion=n};var lc="__routeGraphicsManagedVideoSprites",zI=new WeakMap,Foe=t=>t?(t[lc]||(t[lc]=new Set),t[lc]):null,zw=t=>{let e=t?.texture?.source,r=Foe(e);r&&(r.add(t),typeof t.once=="function"&&t.once("destroyed",()=>{e?.[lc]?.delete(t)}))},Ww=(t,e)=>{t&&(typeof e=="function"?zI.set(t,e):zI.delete(t))},gx=t=>t?.texture?.source?.__routeGraphicsVideoTextureRuntime?.requestUpdate?.()??!1,If=t=>{let e=t?.texture,r=e?.source,i=r?.resource,n=e?.orig?.width??r?.width,o=e?.orig?.height??r?.height;return i!=null&&("videoWidth"in Object(i)||"videoHeight"in Object(i))?Number.isFinite(i.videoWidth)&&i.videoWidth>0&&Number.isFinite(i.videoHeight)&&i.videoHeight>0&&n===i.videoWidth&&o===i.videoHeight:Number.isFinite(n)&&n>0&&Number.isFinite(o)&&o>0},Xw=(t,e=t?.texture?.source)=>{e?.[lc]?.delete(t)},E5=t=>{let e=t?.[lc];e&&e.clear(),t&&(t[lc]=void 0)},A5=t=>{let e=t?.[lc];if(!e?.size)return null;let r=new Map;for(let i of e){if(!i||i.destroyed||i.texture?.source!==t){e.delete(i);continue}let n=i.width,o=i.height;Number.isFinite(n)&&Number.isFinite(o)&&r.set(i,{width:n,height:o})}return r.size>0?r:null},M5=t=>{if(t)for(let[e,r]of t)!e||e.destroyed||(Number.isFinite(r.width)&&(e.width=r.width),Number.isFinite(r.height)&&(e.height=r.height),zI.get(e)?.())};var P5=({parent:t,element:e,animations:r,animationBus:i,renderContext:n,completionTracker:o,zIndex:s,signal:a})=>{let{id:l,width:c,height:u,src:d,volume:h,loop:f,alpha:m}=e,p=X.from(d),g=p.source.resource;g.pause(),g.currentTime=0,g.loop=f??!1,g.volume=Ft(h),g.muted=!1;let _=new wt(p);_.label=l,_.zIndex=s,_._videoEndedListener=void 0,_._videoErrorListener=void 0,_._playbackStateVersion=null,_.width=Math.round(c),_.height=Math.round(u),ct(_,e,{preserveScaleMagnitude:!0});let x={...rt(e),...bn(_,e,{width:c,height:u}),width:c,height:u,alpha:m??1},b=!1,w,v=()=>{Object.assign(x,bn(_,e,{width:c,height:u}))},T=()=>{b&&(b=!1,a?.removeEventListener?.("abort",E),g.removeEventListener?.("error",E),o?.complete?.(w))},E=()=>{T()},P=()=>{if(a?.aborted||_.destroyed)return T(),!1;v(),Object.assign(x,Ir(e,{force:C}),rr(e,{force:F}));try{return Se({animations:r,targetId:l,animationBus:i,completionTracker:o,element:_,targetState:x,renderContext:n})}finally{T()}};Ww(_,()=>{du(_,e,{preserveScaleMagnitude:!0}),v(),b&&If(_)&&P()}),zw(_),_.alpha=m??1;let C=Vr(r,l);or(_,e.blur,{force:C});let F=hr(r,l);if(Ye(_,e.filters,{width:c,height:u,force:F}),Hw({videoElement:_,video:g,loop:f,completionTracker:o}),t.addChild(_),gx(_),CW(n,g),Bs(r,l).some(G=>G.tween?.scaleX?.auto!==void 0||G.tween?.scaleY?.auto!==void 0)&&!If(_)){b=!0,w=o?.getVersion?.(),o?.track?.(w),a?.addEventListener?.("abort",E,{once:!0}),g.addEventListener?.("error",E,{once:!0}),_.once?.("destroyed",E);return}P()};var C5=({parent:t,prevElement:e,nextElement:r,animations:i,animationBus:n,completionTracker:o,zIndex:s,deferRenderStateCommit:a,commitRenderState:l,signal:c})=>{let u=t.children.find(R=>R.label===e.id);if(!u)return;u.zIndex=s;let d=e,h=()=>{};Ww(u,()=>{du(u,d,{preserveScaleMagnitude:!0}),h()});let{width:f,height:m,alpha:p}=r,g=Vr(i,e.id);g&&or(u,e.blur,{force:!0});let _=hr(i,e.id);_?Ye(u,e.filters,{width:e.width,height:e.height,force:!0,animations:i,targetId:e.id}):xo(u),$r({displayObject:u,element:r,animations:i,targetId:e.id});let x=e.src,b=!1,w=Bs(i,e.id),v=w.length>0,T=R=>w.some(L=>Object.prototype.hasOwnProperty.call(L.tween??{},R)),E=w.some(R=>R.tween?.scaleX?.auto!==void 0||R.tween?.scaleY?.auto!==void 0),P=()=>{let R=u.texture.source.resource,L=x!==r.src;if(L){let N=R,q=u.texture?.source;mx({videoElement:u,video:N}),N&&N.pause();let ee=X.from(r.src);u.texture=ee,du(u,d,{preserveScaleMagnitude:!0}),Xw(u,q),zw(u),R=ee.source.resource,R.muted=!1,R.pause(),R.currentTime=0,x=r.src,gx(u)}Hw({videoElement:u,video:R,loop:r.loop,completionTracker:o}),R.volume=Ft(r.volume),R.loop=r.loop??!1,L&&R.play()},C=()=>{d=r,je(e,r)||(u.width=Math.round(f),u.height=Math.round(m),ct(u,r,{preserveScaleMagnitude:!0}),u.alpha=p??1,or(u,r.blur,{force:g}),Ye(u,r.filters,{width:f,height:m,force:_,animations:i,targetId:e.id}),b||P()),At(u,r),l?.(u)};if(e.src!==r.src&&v){let R=u.width,L=u.height;P(),u.width=Math.round(T("width")?R:f),u.height=Math.round(T("height")?L:m),du(u,d,{preserveScaleMagnitude:!0}),b=!0}let F={...rt(r),...bn(u,r,{width:f,height:m}),width:f,height:m,alpha:p??1,...Ir(r,{force:g}),...rr(r,{force:_})},O=!1,G,$=u.texture?.source?.resource,Q=()=>{Object.assign(F,bn(u,r,{width:f,height:m}))},U=()=>{O&&(O=!1,c?.removeEventListener?.("abort",V),$?.removeEventListener?.("error",z),o?.complete?.(G))},V=()=>{U()},z=()=>{try{!c?.aborted&&!u.destroyed&&C()}finally{U()}},Y=()=>{if(c?.aborted||u.destroyed)return U(),!1;Q();try{return Se({animations:i,targetId:e.id,animationBus:n,completionTracker:o,element:u,targetState:F,onComplete:C})}finally{U()}};if(h=()=>{Q(),O&&If(u)&&Y()},gx(u),E&&!If(u)){O=!0,G=o?.getVersion?.(),o?.track?.(G),c?.addEventListener?.("abort",V,{once:!0}),$?.addEventListener?.("error",z,{once:!0}),u.once?.("destroyed",V),a?.();return}Y()?a?.():C()};var I5=({parent:t,element:e,animations:r,animationBus:i,completionTracker:n})=>{let o=t.children.find(l=>l.label===e.id);if(!o)return;let s=()=>{if(o&&!o.destroyed){o._playbackStateVersion!==null&&n.complete(o._playbackStateVersion);let l=o.texture.source.resource;l&&(mx({videoElement:o,video:l}),l.pause()),Xw(o),t.removeChild(o),o.destroy()}};Se({animations:r,targetId:e.id,animationBus:i,completionTracker:n,element:o,targetState:null,onComplete:s})||s()};var R5=({state:t})=>({...vr(t),src:t.src,volume:t.volume??100,loop:t.loop??!1,...t.blur!==void 0&&{blur:ks(t.blur)}});var Ooe=Or({type:"video",add:P5,update:C5,delete:I5,parse:R5,shouldUpdateUnchanged:_o});var k5=0,B5=16,Rf=Symbol("routeGraphicsSliderRuntime"),Doe=(t,e)=>t!==null&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,e),YI=t=>Math.max(0,Math.min(1,t)),F5=t=>t.initialValue??t.min,WI=t=>{if(!(!t||typeof t!="object")){if(typeof t.pointerId=="number")return t.pointerId;if(typeof t.nativeEvent?.pointerId=="number")return t.nativeEvent.pointerId;if(typeof t.data?.pointerId=="number")return t.data.pointerId}},Loe=t=>{if(!t||typeof t!="object")return null;if(typeof t.clientX=="number"&&typeof t.clientY=="number")return{x:t.clientX,y:t.clientY};let e=t.changedTouches?.[0]??t.touches?.[0];return e&&typeof e.clientX=="number"&&typeof e.clientY=="number"?{x:e.clientX,y:e.clientY}:null},O5=t=>typeof globalThis.addEventListener=="function"&&typeof globalThis.removeEventListener=="function"&&typeof globalThis.document?.addEventListener=="function"&&typeof globalThis.document?.removeEventListener=="function"&&typeof t?.renderer?.events?.mapPositionToPoint=="function",Uoe=({app:t,nativeEvent:e})=>{let r=Loe(e);if(!r)return null;let i={x:0,y:0};return t.renderer.events.mapPositionToPoint(i,r.x,r.y),i},D5=t=>{t.removeNativeDragListeners?.(),t.removeNativeDragListeners=null},Noe=({runtime:t,moveListener:e,upListener:r})=>{if(!O5(t.app)||t.removeNativeDragListeners)return;let i=[],n=(o,s,a)=>{o.addEventListener(s,a,!0),i.push([o,s,a])};typeof globalThis.PointerEvent=="function"?(n(globalThis.document,"pointermove",e),n(globalThis,"pointerup",r),n(globalThis,"pointercancel",r)):(n(globalThis.document,"mousemove",e),n(globalThis,"mouseup",r),"ontouchstart"in globalThis&&(n(globalThis.document,"touchmove",e),n(globalThis,"touchend",r),n(globalThis,"touchcancel",r))),t.removeNativeDragListeners=()=>{for(let[o,s,a]of i)o.removeEventListener(s,a,!0)}},$u=t=>t?X.from(t):X.EMPTY,kf=t=>({bar:`${t}-bar`,inactiveBar:`${t}-inactive-bar`,barMask:`${t}-bar-mask`,thumb:`${t}-thumb`}),L5=({sliderContainer:t,fromId:e,toId:r})=>{if(e===r)return;let i=kf(e),n=kf(r);for(let[o,s]of Object.entries(i)){let a=t.getChildByLabel(s);a&&(a.label=n[o])}},Bf=({sliderContainer:t,id:e})=>{let r=kf(e);return{bar:t.getChildByLabel(r.bar),inactiveBar:t.getChildByLabel(r.inactiveBar),barMask:t.getChildByLabel(r.barMask),thumb:t.getChildByLabel(r.thumb)}},XI=({baseValue:t,override:e,key:r})=>Doe(e,r)?e[r]??"":t??"",Goe=(t,e=null)=>({thumbSrc:XI({baseValue:t.thumbSrc,override:e,key:"thumbSrc"}),barSrc:XI({baseValue:t.barSrc,override:e,key:"barSrc"}),inactiveBarSrc:XI({baseValue:t.inactiveBarSrc,override:e,key:"inactiveBarSrc"})}),$oe=t=>{let e=new wt(X.EMPTY);return e.label=t,e.eventMode="static",e.zIndex=0,e},Voe=t=>{let e=new er;return e.label=t,e.zIndex=0,e},Hoe=({sliderContainer:t,id:e,bar:r})=>{let i=kf(e),{inactiveBar:n,barMask:o}=Bf({sliderContainer:t,id:e});return n||(n=$oe(i.inactiveBar),t.addChild(n)),o||(o=Voe(i.barMask),t.addChild(o)),r.mask=o,{inactiveBar:n,barMask:o}},zoe=({sliderContainer:t,id:e,bar:r})=>{let{inactiveBar:i,barMask:n}=Bf({sliderContainer:t,id:e});r?.mask===n&&(r.mask=null),i&&(t.removeChild(i),i.destroy()),n&&(t.removeChild(n),n.destroy())},U5=({currentValue:t,min:e,max:r})=>{let i=r-e;return i<=0?0:YI((t-e)/i)},Woe=({barMask:t,direction:e,width:r,height:i,currentValue:n,min:o,max:s})=>{if(!t)return;let a=U5({currentValue:n,min:o,max:s}),l=Math.round(e==="horizontal"?r*a:r),c=Math.round(e==="horizontal"?i:i*a);t.clear(),!(l<=0||c<=0)&&t.rect(0,0,l,c).fill({color:16777215,alpha:0})},Xoe=({thumb:t,direction:e,currentValue:r,min:i,max:n,trackWidth:o,trackHeight:s})=>{let a=U5({currentValue:r,min:i,max:n});if(e==="horizontal"){t.x=a*(o-t.width),t.y=(s-t.height)/2;return}t.x=(o-t.width)/2,t.y=a*(s-t.height)},jw=({thumb:t,thumbSrc:e,direction:r,trackWidth:i,trackHeight:n})=>{let o=r==="horizontal"?n-k5*2:i-k5*2,s=$u(e),a=s.width||B5,l=s.height||B5,c=o/a,u=o/l,d=Math.min(c,u);t.width=a*d,t.height=l*d},Yoe=({sliderContainer:t,sliderComputedNode:e,thumb:r,currentValue:i,hoverOverride:n=null})=>{let{id:o,width:s,height:a,direction:l,min:c,max:u}=e,{barSrc:d,inactiveBarSrc:h,thumbSrc:f}=Goe(e,n),{bar:m}=Bf({sliderContainer:t,id:o});if(m){if(m.texture=$u(d),m.width=s,m.height=a,r.texture=$u(f),h){let{inactiveBar:p,barMask:g}=Hoe({sliderContainer:t,id:o,bar:m});p.texture=$u(h),p.width=s,p.height=a,Woe({barMask:g,direction:l,width:s,height:a,currentValue:i,min:c,max:u})}else zoe({sliderContainer:t,id:o,bar:m});Xoe({thumb:r,direction:l,currentValue:i,min:c,max:u,trackWidth:s,trackHeight:a})}},joe=({position:t,thumb:e,direction:r,min:i,max:n,step:o,trackWidth:s,trackHeight:a})=>{let l=n-i,c;if(r==="horizontal"){let d=t.x-e.width/2,h=Math.max(s-e.width,1);c=YI(d/h)}else{let d=t.y-e.height/2,h=Math.max(a-e.height,1);c=YI(d/h)}let u=i+c*l;return o>0&&(u=Math.round((u-i)/o)*o+i,u=Math.max(i,Math.min(n,u))),u},N5=({sliderContainer:t,sliderComputedNode:e,cursor:r})=>{let i=r??"auto",{bar:n,inactiveBar:o,thumb:s}=Bf({sliderContainer:t,id:e.id});t.cursor=i,n&&(n.cursor=i),o&&(o.cursor=i),s&&(s.cursor=i)},yx=t=>{Yoe({sliderContainer:t.sliderContainer,sliderComputedNode:t.sliderComputedNode,thumb:t.thumb,currentValue:t.currentValue,hoverOverride:t.sliderComputedNode.hover&&t.hoverController?.isHovering()?t.sliderComputedNode.hover:null})},Yw=t=>{let e=t.hoverController?.isHovering()===!0?t.sliderComputedNode.hover?.cursor:null;N5({sliderContainer:t.sliderContainer,sliderComputedNode:t.sliderComputedNode,cursor:e})},G5=({app:t,sliderContainer:e,sliderComputedNode:r,thumb:i,eventHandler:n})=>{let o=e[Rf];return o||(Ef(e),o={app:t,sliderContainer:e,sliderComputedNode:r,thumb:i,eventHandler:n,currentValue:F5(r),isDragging:!1,activePointerId:void 0,listenersBound:!1,hoverController:null,removeNativeDragListeners:null},o.hoverController=Fs({displayObject:e,onHoverChange:()=>{yx(o),Yw(o)}}),e[Rf]=o),o.app=t,o.sliderContainer=e,o.sliderComputedNode=r,o.thumb=i,o.eventHandler=n,o},qw=({app:t,sliderContainer:e,sliderComputedNode:r,thumb:i,eventHandler:n,adoptExternalValue:o=!0})=>{let s=G5({app:t,sliderContainer:e,sliderComputedNode:r,thumb:i,eventHandler:n});return o&&(s.currentValue=F5(r)),yx(s),Yw(s),s},$5=({sliderContainer:t})=>{let e=t?.[Rf];e&&(D5(e),e.hoverController?.destroy?.(),delete t[Rf])},V5=({app:t,sliderContainer:e,sliderComputedNode:r,thumb:i,eventHandler:n})=>{let o=G5({app:t,sliderContainer:e,sliderComputedNode:r,thumb:i,eventHandler:n});if(o.listenersBound)return;o.listenersBound=!0;let s=m=>{let{sliderComputedNode:p}=o,g=o.sliderContainer.toLocal(m),_=joe({position:g,thumb:o.thumb,direction:p.direction,min:p.min,max:p.max,step:p.step,trackWidth:p.width,trackHeight:p.height});_!==o.currentValue&&(o.currentValue=_,yx(o),p.change?.payload&&o.eventHandler&&o.eventHandler("change",{_event:{id:p.id,value:o.currentValue},...p.change.payload}))},a=m=>{m?.global&&s(m.global)},l=m=>{let p=WI(m);o.activePointerId!==void 0&&p!==void 0&&p!==o.activePointerId||o.isDragging&&(o.isDragging=!1,o.activePointerId=void 0,D5(o))},c=m=>{if(!o.isDragging)return;let p=WI(m);if(o.activePointerId!==void 0&&p!==void 0&&p!==o.activePointerId)return;let g=Uoe({app:o.app,nativeEvent:m});g&&s(g)},u=m=>{o.isDragging=!0,o.activePointerId=WI(m),Noe({runtime:o,moveListener:c,upListener:l}),a(m)},d=m=>{o.isDragging&&a(m)};e.on("pointerdown",u),O5(t)||e.on("globalpointermove",d),e.on("pointerup",l),e.on("pointerupoutside",l);let h=()=>{o.hoverController?.setDirectHover(!0),yx(o),Yw(o);let m=o.sliderComputedNode.hover;m&&(N5({sliderContainer:o.sliderContainer,sliderComputedNode:o.sliderComputedNode,cursor:m.cursor}),m.soundSrc&&o.app?.audioStage?.add({id:`hover-${Date.now()}`,url:m.soundSrc,loop:!1,volume:Ft(m.soundVolume)}))},f=()=>{o.isDragging||(o.hoverController?.setDirectHover(!1),yx(o),Yw(o))};e.on("pointerover",h),e.on("pointerout",f),e.on("pointerupoutside",f)};var H5=({app:t,parent:e,element:r,animations:i,animationBus:n,completionTracker:o,eventHandler:s,renderContext:a,zIndex:l})=>{let{id:c,width:u,height:d,alpha:h,thumbSrc:f,barSrc:m}=r,p=new xe;p.label=c,p.zIndex=l,p.alpha=h,ct(p,r),p.sortableChildren=!0,p.eventMode="static";let g=kf(c),_=new wt($u(m));_.label=g.bar,_.eventMode="static",_.zIndex=1;let x=new wt($u(f));x.label=g.thumb,x.eventMode="static",x.zIndex=2,jw({thumb:x,thumbSrc:f,direction:r.direction,trackWidth:u,trackHeight:d}),p.addChild(_),p.addChild(x),V5({app:t,sliderContainer:p,sliderComputedNode:r,thumb:x,eventHandler:s}),qw({app:t,sliderContainer:p,sliderComputedNode:r,thumb:x,eventHandler:s}),e.addChild(p),Ye(p,r.filters,{width:u,height:d}),Se({animations:i,targetId:c,animationBus:n,completionTracker:o,element:p,targetState:rt(r,{alpha:h}),renderContext:a})};var z5=({app:t,parent:e,prevElement:r,nextElement:i,animations:n,animationBus:o,completionTracker:s,eventHandler:a,zIndex:l,deferRenderStateCommit:c,commitRenderState:u})=>{let d=e.children.find(p=>p.label===r.id);if(!d)return;d.zIndex=l,$r({displayObject:d,element:i,animations:n,targetId:r.id});let h=()=>{if(!je(r,i)){d.alpha=i.alpha,d.label=i.id,ct(d,i),L5({sliderContainer:d,fromId:r.id,toId:i.id});let{bar:p,thumb:g}=Bf({sliderContainer:d,id:i.id});if(p&&g&&jw({thumb:g,thumbSrc:i.thumbSrc,direction:i.direction,trackWidth:i.width,trackHeight:i.height}),!p||!g){At(d,i),u?.(d);return}let _=d[Rf]?.isDragging!==!0||r.initialValue!==i.initialValue;qw({app:t,sliderContainer:d,sliderComputedNode:i,thumb:g,eventHandler:a,adoptExternalValue:_})}At(d,i),u?.(d)},{alpha:f}=i;Se({animations:n,targetId:r.id,animationBus:o,completionTracker:s,element:d,targetState:rt(i,{alpha:f}),onComplete:h})?c?.():h()};var W5=({app:t,parent:e,element:r,animations:i,animationBus:n,completionTracker:o})=>{let s=e.getChildByLabel(r.id);if(!s)return;let a=()=>{s&&!s.destroyed&&($5({sliderContainer:s}),s.destroy({children:!0}))};Se({animations:i,targetId:r.id,animationBus:n,completionTracker:o,element:s,targetState:null,onComplete:a})||a()};var qoe=(t,e,r)=>Math.max(e,Math.min(r,t)),X5=({state:t})=>{let e=vr(t),r=t.min??0,i=t.max??100;if(i<=r)throw new Error("Input error: the max value of a slider must be larger than the min value");if(t.initialValue===void 0)throw new Error("Input error: slider initialValue is required");if(typeof t.initialValue!="number"||Number.isNaN(t.initialValue))throw new Error("Input error: slider initialValue must be a valid number");let n=qoe(t.initialValue,r,i);return{...e,direction:t.direction??"horizontal",thumbSrc:t.thumbSrc??"",barSrc:t.barSrc??"",...t.inactiveBarSrc!==void 0&&{inactiveBarSrc:t.inactiveBarSrc??""},alpha:t.alpha??1,min:r,max:i,step:t.step??1,initialValue:n,...t.hover&&{hover:t.hover},...t.change&&{change:t.change}}};var Koe=Or({type:"slider",add:H5,update:z5,delete:W5,parse:X5});var Of=Symbol("routeGraphicsInputRuntime"),Kw={top:10,right:12,bottom:10,left:12},qI="#FFFFFF",KI={color:"#2E2E2E",width:1,alpha:1},QI={color:"#4A89FF",width:2,alpha:1},Y5={fill:"#4A89FF",alpha:.3},jI={fill:"#111111",width:2},Qoe=(t={})=>{let e=t.fontSize??$t.fontSize,r=t.lineHeight??$t.lineHeight;return typeof r!="number"?Math.round(e*$t.lineHeight):r>8?Math.round(r):Math.round(e*r)},eS=(t={},e={})=>({...$t,...t,align:t.align??"left",lineHeight:Qoe(t),wordWrap:!1,breakWords:!1,wordWrapWidth:e.wordWrapWidth??0,whiteSpace:"pre"}),JI=t=>typeof t=="number"?{top:t,right:t,bottom:t,left:t}:Array.isArray(t)?{top:t[0]??0,right:t[1]??t[0]??0,bottom:t[2]??t[0]??0,left:t[3]??t[1]??t[0]??0}:{top:t?.top??Kw.top,right:t?.right??Kw.right,bottom:t?.bottom??Kw.bottom,left:t?.left??Kw.left},Joe=(t,e)=>typeof t!="number"||!Number.isFinite(t)?e:Math.max(0,Math.round(t)),Zoe=(t,e)=>typeof t=="number"&&Number.isFinite(t)?t:e,ZI=(t,e)=>({color:t?.color??e.color,width:Joe(t?.width,e.width),alpha:Zoe(t?.alpha,e.alpha)}),Ff=t=>String(t??"").replace(/\r\n/g,`
1671
1671
  `).replace(/\r/g,`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "route-graphics",
3
- "version": "1.44.0",
3
+ "version": "1.44.1",
4
4
  "description": "A 2D graphics rendering interface that takes JSON input and renders pixels using PixiJS",
5
5
  "main": "dist/RouteGraphics.js",
6
6
  "type": "module",