@editframe/elements 0.5.0-beta.4 β 0.5.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/editor/msToTimeCode.mjs +15 -0
- package/dist/editor/util/EncodedAsset/EncodedAsset.mjs +537 -0
- package/dist/editor/util/MP4File.mjs +161 -0
- package/dist/elements/elements/CrossUpdateController.mjs +16 -0
- package/dist/elements/elements/EFAudio.mjs +37 -0
- package/dist/elements/elements/EFCaptions.mjs +172 -0
- package/dist/elements/elements/EFImage.mjs +67 -0
- package/dist/elements/elements/EFMedia.mjs +255 -0
- package/dist/elements/elements/EFSourceMixin.mjs +57 -0
- package/dist/elements/elements/EFTemporal.mjs +186 -0
- package/dist/elements/elements/EFTimegroup.mjs +230 -0
- package/dist/elements/elements/EFTimeline.mjs +12 -0
- package/dist/elements/elements/EFVideo.mjs +123 -0
- package/dist/elements/elements/EFWaveform.mjs +203 -0
- package/dist/elements/elements/FetchMixin.mjs +30 -0
- package/dist/elements/elements/TimegroupController.mjs +20 -0
- package/dist/elements/elements/durationConverter.mjs +8 -0
- package/dist/elements/elements/parseTimeToMs.mjs +13 -0
- package/dist/elements/elements/util.mjs +11 -0
- package/dist/elements/elements.css.mjs +1 -0
- package/dist/elements/elements.mjs +11 -0
- package/dist/elements/gui/EFFilmstrip.mjs +680 -0
- package/dist/elements/gui/EFWorkbench.mjs +234 -0
- package/dist/elements/gui/TWMixin.css.mjs +4 -0
- package/dist/elements/gui/TWMixin.mjs +27 -0
- package/dist/style.css +754 -0
- package/dist/util/awaitMicrotask.mjs +8 -0
- package/dist/util/memoize.mjs +15 -0
- package/package.json +11 -4
- package/dist/editframe-elements.css +0 -1
- package/dist/editframe-elements.mjs +0 -9089
- package/dist/editframe-elements.umd.js +0 -288
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
(function(gt){typeof define=="function"&&define.amd?define(gt):gt()})(function(){"use strict";/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2019 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
-
*/const gt=globalThis,je=gt.ShadowRoot&&(gt.ShadyCSS===void 0||gt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,We=Symbol(),Fr=new WeakMap;let $r=class{constructor(e,n,s){if(this._$cssResult$=!0,s!==We)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o;const n=this.t;if(je&&e===void 0){const s=n!==void 0&&n.length===1;s&&(e=Fr.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&Fr.set(n,e))}return e}toString(){return this.cssText}};const es=r=>new $r(typeof r=="string"?r:r+"",void 0,We),ot=(r,...e)=>{const n=r.length===1?r[0]:e.reduce((s,l,c)=>s+(d=>{if(d._$cssResult$===!0)return d.cssText;if(typeof d=="number")return d;throw Error("Value passed to 'css' function must be a 'css' function result: "+d+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(l)+r[c+1],r[0]);return new $r(n,r,We)},rs=(r,e)=>{if(je)r.adoptedStyleSheets=e.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(const n of e){const s=document.createElement("style"),l=gt.litNonce;l!==void 0&&s.setAttribute("nonce",l),s.textContent=n.cssText,r.appendChild(s)}},Lr=je?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let n="";for(const s of e.cssRules)n+=s.cssText;return es(n)})(r):r;/**
|
|
6
|
-
* @license
|
|
7
|
-
* Copyright 2017 Google LLC
|
|
8
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
9
|
-
*/const{is,defineProperty:ns,getOwnPropertyDescriptor:ss,getOwnPropertyNames:os,getOwnPropertySymbols:as,getPrototypeOf:ls}=Object,ge=globalThis,Rr=ge.trustedTypes,hs=Rr?Rr.emptyScript:"",cs=ge.reactiveElementPolyfillSupport,Ot=(r,e)=>r,me={toAttribute(r,e){switch(e){case Boolean:r=r?hs:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let n=r;switch(e){case Boolean:n=r!==null;break;case Number:n=r===null?null:Number(r);break;case Object:case Array:try{n=JSON.parse(r)}catch{n=null}}return n}},we=(r,e)=>!is(r,e),Nr={attribute:!0,type:String,converter:me,reflect:!1,hasChanged:we};Symbol.metadata??=Symbol("metadata"),ge.litPropertyMetadata??=new WeakMap;class It extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=Nr){if(n.state&&(n.attribute=!1),this._$Ei(),this.elementProperties.set(e,n),!n.noAccessor){const s=Symbol(),l=this.getPropertyDescriptor(e,s,n);l!==void 0&&ns(this.prototype,e,l)}}static getPropertyDescriptor(e,n,s){const{get:l,set:c}=ss(this.prototype,e)??{get(){return this[n]},set(d){this[n]=d}};return{get(){return l?.call(this)},set(d){const o=l?.call(this);c.call(this,d),this.requestUpdate(e,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Nr}static _$Ei(){if(this.hasOwnProperty(Ot("elementProperties")))return;const e=ls(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Ot("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Ot("properties"))){const n=this.properties,s=[...os(n),...as(n)];for(const l of s)this.createProperty(l,n[l])}const e=this[Symbol.metadata];if(e!==null){const n=litPropertyMetadata.get(e);if(n!==void 0)for(const[s,l]of n)this.elementProperties.set(s,l)}this._$Eh=new Map;for(const[n,s]of this.elementProperties){const l=this._$Eu(n,s);l!==void 0&&this._$Eh.set(l,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const n=[];if(Array.isArray(e)){const s=new Set(e.flat(1/0).reverse());for(const l of s)n.unshift(Lr(l))}else e!==void 0&&n.push(Lr(e));return n}static _$Eu(e,n){const s=n.attribute;return s===!1?void 0:typeof s=="string"?s:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,n=this.constructor.elementProperties;for(const s of n.keys())this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return rs(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,n,s){this._$AK(e,s)}_$EC(e,n){const s=this.constructor.elementProperties.get(e),l=this.constructor._$Eu(e,s);if(l!==void 0&&s.reflect===!0){const c=(s.converter?.toAttribute!==void 0?s.converter:me).toAttribute(n,s.type);this._$Em=e,c==null?this.removeAttribute(l):this.setAttribute(l,c),this._$Em=null}}_$AK(e,n){const s=this.constructor,l=s._$Eh.get(e);if(l!==void 0&&this._$Em!==l){const c=s.getPropertyOptions(l),d=typeof c.converter=="function"?{fromAttribute:c.converter}:c.converter?.fromAttribute!==void 0?c.converter:me;this._$Em=l,this[l]=d.fromAttribute(n,c.type),this._$Em=null}}requestUpdate(e,n,s){if(e!==void 0){if(s??=this.constructor.getPropertyOptions(e),!(s.hasChanged??we)(this[e],n))return;this.P(e,n,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,n,s){this._$AL.has(e)||this._$AL.set(e,n),s.reflect===!0&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[l,c]of this._$Ep)this[l]=c;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[l,c]of s)c.wrapped!==!0||this._$AL.has(l)||this[l]===void 0||this.P(l,this[l],c)}let e=!1;const n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(n)):this._$EU()}catch(s){throw e=!1,this._$EU(),s}e&&this._$AE(n)}willUpdate(e){}_$AE(e){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach(n=>this._$EC(n,this[n])),this._$EU()}updated(e){}firstUpdated(e){}}It.elementStyles=[],It.shadowRootOptions={mode:"open"},It[Ot("elementProperties")]=new Map,It[Ot("finalized")]=new Map,cs?.({ReactiveElement:It}),(ge.reactiveElementVersions??=[]).push("2.0.4");/**
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright 2017 Google LLC
|
|
12
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
|
-
*/const Xe=globalThis,ye=Xe.trustedTypes,Dr=ye?ye.createPolicy("lit-html",{createHTML:r=>r}):void 0,Or="$lit$",at=`lit$${(Math.random()+"").slice(9)}$`,Hr="?"+at,ds=`<${Hr}>`,mt=document,Ht=()=>mt.createComment(""),Gt=r=>r===null||typeof r!="object"&&typeof r!="function",Gr=Array.isArray,ps=r=>Gr(r)||typeof r?.[Symbol.iterator]=="function",Ke=`[
|
|
14
|
-
\f\r]`,Yt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Yr=/-->/g,qr=/>/g,wt=RegExp(`>|${Ke}(?:([^\\s"'>=/]+)(${Ke}*=${Ke}*(?:[^
|
|
15
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),Vr=/'/g,jr=/"/g,Wr=/^(?:script|style|textarea|title)$/i,fs=r=>(e,...n)=>({_$litType$:r,strings:e,values:n}),E=fs(1),yt=Symbol.for("lit-noChange"),z=Symbol.for("lit-nothing"),Xr=new WeakMap,vt=mt.createTreeWalker(mt,129);function Kr(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Dr!==void 0?Dr.createHTML(e):e}const us=(r,e)=>{const n=r.length-1,s=[];let l,c=e===2?"<svg>":"",d=Yt;for(let o=0;o<n;o++){const f=r[o];let u,g,y=-1,t=0;for(;t<f.length&&(d.lastIndex=t,g=d.exec(f),g!==null);)t=d.lastIndex,d===Yt?g[1]==="!--"?d=Yr:g[1]!==void 0?d=qr:g[2]!==void 0?(Wr.test(g[2])&&(l=RegExp("</"+g[2],"g")),d=wt):g[3]!==void 0&&(d=wt):d===wt?g[0]===">"?(d=l??Yt,y=-1):g[1]===void 0?y=-2:(y=d.lastIndex-g[2].length,u=g[1],d=g[3]===void 0?wt:g[3]==='"'?jr:Vr):d===jr||d===Vr?d=wt:d===Yr||d===qr?d=Yt:(d=wt,l=void 0);const i=d===wt&&r[o+1].startsWith("/>")?" ":"";c+=d===Yt?f+ds:y>=0?(s.push(u),f.slice(0,y)+Or+f.slice(y)+at+i):f+at+(y===-2?o:i)}return[Kr(r,c+(r[n]||"<?>")+(e===2?"</svg>":"")),s]};class qt{constructor({strings:e,_$litType$:n},s){let l;this.parts=[];let c=0,d=0;const o=e.length-1,f=this.parts,[u,g]=us(e,n);if(this.el=qt.createElement(u,s),vt.currentNode=this.el.content,n===2){const y=this.el.content.firstChild;y.replaceWith(...y.childNodes)}for(;(l=vt.nextNode())!==null&&f.length<o;){if(l.nodeType===1){if(l.hasAttributes())for(const y of l.getAttributeNames())if(y.endsWith(Or)){const t=g[d++],i=l.getAttribute(y).split(at),a=/([.?@])?(.*)/.exec(t);f.push({type:1,index:c,name:a[2],strings:i,ctor:a[1]==="."?ms:a[1]==="?"?ws:a[1]==="@"?ys:ve}),l.removeAttribute(y)}else y.startsWith(at)&&(f.push({type:6,index:c}),l.removeAttribute(y));if(Wr.test(l.tagName)){const y=l.textContent.split(at),t=y.length-1;if(t>0){l.textContent=ye?ye.emptyScript:"";for(let i=0;i<t;i++)l.append(y[i],Ht()),vt.nextNode(),f.push({type:2,index:++c});l.append(y[t],Ht())}}}else if(l.nodeType===8)if(l.data===Hr)f.push({type:2,index:c});else{let y=-1;for(;(y=l.data.indexOf(at,y+1))!==-1;)f.push({type:7,index:c}),y+=at.length-1}c++}}static createElement(e,n){const s=mt.createElement("template");return s.innerHTML=e,s}}function Mt(r,e,n=r,s){if(e===yt)return e;let l=s!==void 0?n._$Co?.[s]:n._$Cl;const c=Gt(e)?void 0:e._$litDirective$;return l?.constructor!==c&&(l?._$AO?.(!1),c===void 0?l=void 0:(l=new c(r),l._$AT(r,n,s)),s!==void 0?(n._$Co??=[])[s]=l:n._$Cl=l),l!==void 0&&(e=Mt(r,l._$AS(r,e.values),l,s)),e}class gs{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:n},parts:s}=this._$AD,l=(e?.creationScope??mt).importNode(n,!0);vt.currentNode=l;let c=vt.nextNode(),d=0,o=0,f=s[0];for(;f!==void 0;){if(d===f.index){let u;f.type===2?u=new Vt(c,c.nextSibling,this,e):f.type===1?u=new f.ctor(c,f.name,f.strings,this,e):f.type===6&&(u=new vs(c,this,e)),this._$AV.push(u),f=s[++o]}d!==f?.index&&(c=vt.nextNode(),d++)}return vt.currentNode=mt,l}p(e){let n=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(e,s,n),n+=s.strings.length-2):s._$AI(e[n])),n++}}class Vt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,n,s,l){this.type=2,this._$AH=z,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=s,this.options=l,this._$Cv=l?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&e?.nodeType===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=Mt(this,e,n),Gt(e)?e===z||e==null||e===""?(this._$AH!==z&&this._$AR(),this._$AH=z):e!==this._$AH&&e!==yt&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):ps(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==z&&Gt(this._$AH)?this._$AA.nextSibling.data=e:this.T(mt.createTextNode(e)),this._$AH=e}$(e){const{values:n,_$litType$:s}=e,l=typeof s=="number"?this._$AC(e):(s.el===void 0&&(s.el=qt.createElement(Kr(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===l)this._$AH.p(n);else{const c=new gs(l,this),d=c.u(this.options);c.p(n),this.T(d),this._$AH=c}}_$AC(e){let n=Xr.get(e.strings);return n===void 0&&Xr.set(e.strings,n=new qt(e)),n}k(e){Gr(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let s,l=0;for(const c of e)l===n.length?n.push(s=new Vt(this.S(Ht()),this.S(Ht()),this,this.options)):s=n[l],s._$AI(c),l++;l<n.length&&(this._$AR(s&&s._$AB.nextSibling,l),n.length=l)}_$AR(e=this._$AA.nextSibling,n){for(this._$AP?.(!1,!0,n);e&&e!==this._$AB;){const s=e.nextSibling;e.remove(),e=s}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}}class ve{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,n,s,l,c){this.type=1,this._$AH=z,this._$AN=void 0,this.element=e,this.name=n,this._$AM=l,this.options=c,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=z}_$AI(e,n=this,s,l){const c=this.strings;let d=!1;if(c===void 0)e=Mt(this,e,n,0),d=!Gt(e)||e!==this._$AH&&e!==yt,d&&(this._$AH=e);else{const o=e;let f,u;for(e=c[0],f=0;f<c.length-1;f++)u=Mt(this,o[s+f],n,f),u===yt&&(u=this._$AH[f]),d||=!Gt(u)||u!==this._$AH[f],u===z?e=z:e!==z&&(e+=(u??"")+c[f+1]),this._$AH[f]=u}d&&!l&&this.j(e)}j(e){e===z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class ms extends ve{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===z?void 0:e}}class ws extends ve{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==z)}}class ys extends ve{constructor(e,n,s,l,c){super(e,n,s,l,c),this.type=5}_$AI(e,n=this){if((e=Mt(this,e,n,0)??z)===yt)return;const s=this._$AH,l=e===z&&s!==z||e.capture!==s.capture||e.once!==s.once||e.passive!==s.passive,c=e!==z&&(s===z||l);l&&this.element.removeEventListener(this.name,this,s),c&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class vs{constructor(e,n,s){this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(e){Mt(this,e)}}const bs=Xe.litHtmlPolyfillSupport;bs?.(qt,Vt),(Xe.litHtmlVersions??=[]).push("3.1.2");const _s=(r,e,n)=>{const s=n?.renderBefore??e;let l=s._$litPart$;if(l===void 0){const c=n?.renderBefore??null;s._$litPart$=l=new Vt(e.insertBefore(Ht(),c),c,void 0,n??{})}return l._$AI(r),l};/**
|
|
16
|
-
* @license
|
|
17
|
-
* Copyright 2017 Google LLC
|
|
18
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
19
|
-
*/let L=class extends It{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=_s(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return yt}};L._$litElement$=!0,L.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:L});const xs=globalThis.litElementPolyfillSupport;xs?.({LitElement:L}),(globalThis.litElementVersions??=[]).push("4.0.4");/**
|
|
20
|
-
* @license
|
|
21
|
-
* Copyright 2021 Google LLC
|
|
22
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
23
|
-
*/let Zr=class extends Event{constructor(e,n,s){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.callback=n,this.subscribe=s??!1}};/**
|
|
24
|
-
* @license
|
|
25
|
-
* Copyright 2021 Google LLC
|
|
26
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
-
*/function Yc(r){return r}/**
|
|
28
|
-
* @license
|
|
29
|
-
* Copyright 2021 Google LLC
|
|
30
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
31
|
-
*/let Qr=class{constructor(e,n,s,l){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(c,d)=>{this.unsubscribe&&(this.unsubscribe!==d&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=c,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(c,d)),this.unsubscribe=d},this.host=e,n.context!==void 0){const c=n;this.context=c.context,this.callback=c.callback,this.subscribe=c.subscribe??!1}else this.context=n,this.callback=s,this.subscribe=l??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new Zr(this.context,this.t,this.subscribe))}};/**
|
|
32
|
-
* @license
|
|
33
|
-
* Copyright 2021 Google LLC
|
|
34
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
35
|
-
*/let Ss=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,n=!1){const s=n||!Object.is(e,this.o);this.o=e,s&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(const[n,{disposer:s}]of this.subscriptions)n(this.o,s)},e!==void 0&&(this.value=e)}addCallback(e,n,s){if(!s)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:n});const{disposer:l}=this.subscriptions.get(e);e(this.value,l)}clearCallbacks(){this.subscriptions.clear()}};/**
|
|
36
|
-
* @license
|
|
37
|
-
* Copyright 2021 Google LLC
|
|
38
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
39
|
-
*/let ks=class extends Event{constructor(e){super("context-provider",{bubbles:!0,composed:!0}),this.context=e}},Jr=class extends Ss{constructor(e,n,s){super(n.context!==void 0?n.initialValue:s),this.onContextRequest=l=>{const c=l.composedPath()[0];l.context===this.context&&c!==this.host&&(l.stopPropagation(),this.addCallback(l.callback,c,l.subscribe))},this.onProviderRequest=l=>{const c=l.composedPath()[0];if(l.context!==this.context||c===this.host)return;const d=new Set;for(const[o,{consumerHost:f}]of this.subscriptions)d.has(o)||(d.add(o),f.dispatchEvent(new Zr(this.context,o,!0)));l.stopPropagation()},this.host=e,n.context!==void 0?this.context=n.context:this.context=n,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new ks(this.context))}};/**
|
|
40
|
-
* @license
|
|
41
|
-
* Copyright 2017 Google LLC
|
|
42
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
43
|
-
*/function jt({context:r}){return(e,n)=>{const s=new WeakMap;if(typeof n=="object")return n.addInitializer(function(){s.set(this,new Jr(this,{context:r}))}),{get(){return e.get.call(this)},set(l){return s.get(this)?.setValue(l),e.set.call(this,l)},init(l){return s.get(this)?.setValue(l),l}};{e.constructor.addInitializer(d=>{s.set(d,new Jr(d,{context:r}))});const l=Object.getOwnPropertyDescriptor(e,n);let c;if(l===void 0){const d=new WeakMap;c={get:function(){return d.get(this)},set:function(o){s.get(this).setValue(o),d.set(this,o)},configurable:!0,enumerable:!0}}else{const d=l.set;c={...l,set:function(o){s.get(this).setValue(o),d?.call(this,o)}}}return void Object.defineProperty(e,n,c)}}}/**
|
|
44
|
-
* @license
|
|
45
|
-
* Copyright 2022 Google LLC
|
|
46
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
47
|
-
*/function lt({context:r,subscribe:e}){return(n,s)=>{typeof s=="object"?s.addInitializer(function(){new Qr(this,{context:r,callback:l=>{this[s.name]=l},subscribe:e})}):n.constructor.addInitializer(l=>{new Qr(l,{context:r,callback:c=>{l[s]=c},subscribe:e})})}}/**
|
|
48
|
-
* @license
|
|
49
|
-
* Copyright 2017 Google LLC
|
|
50
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
51
|
-
*/const B=r=>(e,n)=>{n!==void 0?n.addInitializer(()=>{customElements.define(r,e)}):customElements.define(r,e)};/**
|
|
52
|
-
* @license
|
|
53
|
-
* Copyright 2017 Google LLC
|
|
54
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
55
|
-
*/const Us={attribute:!0,type:String,converter:me,reflect:!1,hasChanged:we},Es=(r=Us,e,n)=>{const{kind:s,metadata:l}=n;let c=globalThis.litPropertyMetadata.get(l);if(c===void 0&&globalThis.litPropertyMetadata.set(l,c=new Map),c.set(n.name,r),s==="accessor"){const{name:d}=n;return{set(o){const f=e.get.call(this);e.set.call(this,o),this.requestUpdate(d,f,r)},init(o){return o!==void 0&&this.P(d,void 0,r),o}}}if(s==="setter"){const{name:d}=n;return function(o){const f=this[d];e.call(this,o),this.requestUpdate(d,f,r)}}throw Error("Unsupported decorator location: "+s)};function P(r){return(e,n)=>typeof n=="object"?Es(r,e,n):((s,l,c)=>{const d=l.hasOwnProperty(c);return l.constructor.createProperty(c,d?{...s,wrapped:!0}:s),d?Object.getOwnPropertyDescriptor(l,c):void 0})(r,e,n)}/**
|
|
56
|
-
* @license
|
|
57
|
-
* Copyright 2017 Google LLC
|
|
58
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
59
|
-
*/function ht(r){return P({...r,state:!0,attribute:!1})}/**
|
|
60
|
-
* @license
|
|
61
|
-
* Copyright 2017 Google LLC
|
|
62
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
63
|
-
*/function be(r){return(e,n)=>{const s=typeof e=="function"?e:e[n];Object.assign(s,r)}}const As=r=>{if(r.endsWith("ms"))return parseFloat(r);if(r.endsWith("s"))return parseFloat(r)*1e3;throw new Error("Time must be in milliseconds or seconds (10s, 10000ms)")},ti={fromAttribute:r=>As(r),toAttribute:r=>`${r}s`};/**
|
|
64
|
-
* @license
|
|
65
|
-
* Copyright 2017 Google LLC
|
|
66
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
67
|
-
*/const ei={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},Ts=Symbol();let $=class{get taskComplete(){return this.t||(this.status===1?this.t=new Promise((e,n)=>{this.i=e,this.o=n}):this.status===3?this.t=Promise.reject(this.h):this.t=Promise.resolve(this.l)),this.t}constructor(e,n,s){this.u=0,this.status=0,(this.p=e).addController(this);const l=typeof n=="object"?n:{task:n,args:s};this._=l.task,this.v=l.args,this.j=l.argsEqual??Cs,this.m=l.onComplete,this.g=l.onError,this.autoRun=l.autoRun??!0,"initialValue"in l&&(this.l=l.initialValue,this.status=2,this.k=this.A?.())}hostUpdate(){this.autoRun===!0&&this.O()}hostUpdated(){this.autoRun==="afterUpdate"&&this.O()}A(){if(this.v===void 0)return;const e=this.v();if(!Array.isArray(e))throw Error("The args function must return an array");return e}async O(){const e=this.A(),n=this.k;this.k=e,e===n||e===void 0||n!==void 0&&this.j(n,e)||await this.run(e)}async run(e){let n,s;e??=this.A(),this.k=e,this.status===1?this.T?.abort():(this.t=void 0,this.i=void 0,this.o=void 0),this.status=1,this.autoRun==="afterUpdate"?queueMicrotask(()=>this.p.requestUpdate()):this.p.requestUpdate();const l=++this.u;this.T=new AbortController;let c=!1;try{n=await this._(e,{signal:this.T.signal})}catch(d){c=!0,s=d}if(this.u===l){if(n===Ts)this.status=0;else{if(c===!1){try{this.m?.(n)}catch{}this.status=2,this.i?.(n)}else{try{this.g?.(s)}catch{}this.status=3,this.o?.(s)}this.l=n,this.h=s}this.p.requestUpdate()}}abort(e){this.status===1&&this.T?.abort(e)}get value(){return this.l}get error(){return this.h}render(e){switch(this.status){case 0:return e.initial?.();case 1:return e.pending?.();case 2:return e.complete?.(this.value);case 3:return e.error?.(this.error);default:throw Error("Unexpected status: "+this.status)}}};const Cs=(r,e)=>r===e||r.length===e.length&&r.every((n,s)=>!we(n,e[s]));var zs=Object.defineProperty,Bs=Object.getOwnPropertyDescriptor,_e=(r,e,n,s)=>{for(var l=s>1?void 0:s?Bs(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&zs(e,n,l),l};const ri=Symbol("timeGroupContext"),Ze=r=>r[ii],ii=Symbol("EF_TEMPORAL"),ni=(r,e=[])=>{for(const n of r.children)Ze(n)&&e.push(n),ni(n,e);return e},Qe=(r,e=[])=>{for(const n of r.children)Ze(n)?e.push(n):Qe(n,e);return e},si=(r,e=[])=>{for(const n of r.children)n instanceof R?e.push(n):si(n,e);return e};class Ps{constructor(e,n){this.host=e,this.temporal=n,e.addController(this)}hostUpdated(){this.temporal.requestUpdate("ownCurrentTimeMs")}remove(){this.host.removeController(this)}}const Wt=r=>{class e extends r{constructor(){super(...arguments),this._offsetMs=0,this.rootTimegroup=this.getRootTimegroup(),this.frameTask=new $(this,{autoRun:!1,args:()=>[this.ownCurrentTimeMs],task:async([],{signal:s})=>{}})}#t;set parentTimegroup(s){this.#t=s,this.ownCurrentTimeController?.remove(),this.rootTimegroup=this.getRootTimegroup(),this.rootTimegroup&&(this.ownCurrentTimeController=new Ps(this.rootTimegroup,this))}get parentTimegroup(){return this.#t}get offsetAppliesToDuration(){return this.parentTimegroup?.mode!=="sequence"}getRootTimegroup(){let s=this instanceof R?this:this.parentTimegroup;for(;s?.parentTimegroup;)s=s.parentTimegroup;return s}get hasOwnDuration(){return!1}get durationMs(){return this._durationMs||this.parentTimegroup?.durationMs||0||0}get offsetMs(){return this._offsetMs||0}get startTimeMs(){const s=this.parentTimegroup;if(!s)return 0;switch(s.mode){case"sequence":{const l=Qe(s),c=l.indexOf(this);if(c===0)return s.startTimeMs;const d=l[c-1];if(!d)throw new Error("Previous temporal element not found");return d.startTimeMs+d.durationMs}case"contain":case"fixed":return s.startTimeMs+this.offsetMs;default:throw new Error(`Invalid time mode: ${s.mode}`)}}get endTimeMs(){return this.startTimeMs+this.durationMs}get ownCurrentTimeMs(){return this.rootTimegroup?Math.min(Math.max(0,this.rootTimegroup.currentTimeMs-this.startTimeMs),this.durationMs):0}}return _e([lt({context:ri,subscribe:!0}),P({attribute:!1})],e.prototype,"parentTimegroup",1),_e([P({type:String,attribute:"offset",converter:ti})],e.prototype,"_offsetMs",2),_e([P({type:Number,attribute:"duration",converter:ti})],e.prototype,"_durationMs",2),_e([ht()],e.prototype,"rootTimegroup",2),Object.defineProperty(e.prototype,ii,{value:!0}),e};class oi{constructor(e,n){this.host=e,this.child=n,this.host.addController(this)}remove(){this.host.removeController(this)}hostDisconnected(){this.host.removeController(this)}hostUpdated(){this.child.requestUpdate(),this.child.currentTimeMs=this.host.currentTimeMs-(this.child.startTimeMs??0)}}var Is=Object.defineProperty,Ms=Object.getOwnPropertyDescriptor,Xt=(r,e,n,s)=>{for(var l=s>1?void 0:s?Ms(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&Is(e,n,l),l},ai=(r,e,n)=>{if(!e.has(r))throw TypeError("Cannot "+n)},Fs=(r,e,n)=>(ai(r,e,"read from private field"),n?n.call(r):e.get(r)),$s=(r,e,n)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,n)},li=(r,e,n,s)=>(ai(r,e,"write to private field"),s?s.call(r,n):e.set(r,n),n),Kt;let R=class extends Wt(L){constructor(){super(...arguments),this._timeGroupContext=this,$s(this,Kt,0),this.mode="sequence",this.crossoverMs=0}set currentTime(r){li(this,Kt,Math.max(0,Math.min(r,this.durationMs/1e3)));try{this.id&&this.isConnected&&localStorage.setItem(this.storageKey,r.toString())}catch(e){console.warn("Failed to save time to localStorage",e)}}get currentTime(){return Fs(this,Kt)}get currentTimeMs(){return this.currentTime*1e3}set currentTimeMs(r){this.currentTime=r/1e3}render(){return E`<slot></slot> `}maybeLoadTimeFromLocalStorage(){if(this.id)try{return parseFloat(localStorage.getItem(this.storageKey)||"0")}catch(r){console.warn("Failed to load time from localStorage",r)}return 0}connectedCallback(){super.connectedCallback(),this.id&&li(this,Kt,this.maybeLoadTimeFromLocalStorage()),this.parentTimegroup&&new oi(this.parentTimegroup,this)}get storageKey(){if(!this.id)throw new Error("Timegroup must have an id to use localStorage.");return`ef-timegroup-${this.id}`}get crossoverStartMs(){const r=this.parentTimegroup;return!r||!this.previousElementSibling?0:r.crossoverMs}get crossoverEndMs(){const r=this.parentTimegroup;return!r||!this.nextElementSibling?0:r.crossoverMs}get durationMs(){switch(this.mode){case"fixed":return super.durationMs||0;case"sequence":let r=0;return this.childTemporals.forEach(n=>{r+=n.durationMs}),r;case"contain":let e=0;return this.childTemporals.forEach(n=>{n.hasOwnDuration&&(e=Math.max(e,n.durationMs))}),e;default:throw new Error(`Invalid time mode: ${this.mode}`)}}get childTemporals(){return Qe(this)}updated(r){if(super.updated(r),r.has("currentTime")||r.has("ownCurrentTimeMs")){const e=this.getAnimations({subtree:!0});this.style.setProperty("--ef-duration",`${this.durationMs+this.crossoverEndMs+this.crossoverStartMs}ms`),e.forEach(n=>{n.playState==="running"&&n.pause();const s=n.effect;if(!(s&&s instanceof KeyframeEffect))return;const l=s.target;if(Ze(l)){const c=s.getTiming(),d=Number(c.duration)??0,o=Number(c.delay),f=Math.floor(Math.min(l.ownCurrentTimeMs,d-1+o));if(Number.isNaN(f))return;n.currentTime=f}else if(l){const c=l.closest("ef-timegroup");if(!c)return;const d=s.getTiming(),o=Number(d.duration)??0,f=Number(d.delay),u=Math.floor(Math.min(c.ownCurrentTimeMs,o-1+f));if(Number.isNaN(u))return;n.currentTime=u}})}}get hasOwnDuration(){return!0}};Kt=new WeakMap,R.styles=ot`
|
|
68
|
-
:host {
|
|
69
|
-
display: block;
|
|
70
|
-
width: 100%;
|
|
71
|
-
height: 100%;
|
|
72
|
-
position: relative;
|
|
73
|
-
top: 0;
|
|
74
|
-
}
|
|
75
|
-
`,Xt([jt({context:ri})],R.prototype,"_timeGroupContext",2),Xt([P({type:String,attribute:"mode"})],R.prototype,"mode",2),Xt([P({type:Number})],R.prototype,"currentTime",1),Xt([P({attribute:"crossover",converter:{fromAttribute:r=>{if(r.endsWith("ms"))return parseFloat(r);if(r.endsWith("s"))return parseFloat(r)*1e3;throw new Error("`crossover` MUST be in milliseconds or seconds (10s, 10000ms)")},toAttribute:r=>`${r}ms`}})],R.prototype,"crossoverMs",2),R=Xt([B("ef-timegroup")],R);class Ls extends HTMLElement{get durationMs(){let e=0;return this.childNodes.forEach(n=>{"durationMs"in n&&typeof n.durationMs=="number"&&(e+=n.durationMs)}),e}}window.customElements.define("ef-timeline",Ls);/**
|
|
76
|
-
* @license
|
|
77
|
-
* Copyright 2020 Google LLC
|
|
78
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
79
|
-
*/const Rs=r=>r.strings===void 0;/**
|
|
80
|
-
* @license
|
|
81
|
-
* Copyright 2017 Google LLC
|
|
82
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
83
|
-
*/const hi={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ci=r=>(...e)=>({_$litDirective$:r,values:e});let di=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,s){this._$Ct=e,this._$AM=n,this._$Ci=s}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};/**
|
|
84
|
-
* @license
|
|
85
|
-
* Copyright 2017 Google LLC
|
|
86
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
87
|
-
*/const Zt=(r,e)=>{const n=r._$AN;if(n===void 0)return!1;for(const s of n)s._$AO?.(e,!1),Zt(s,e);return!0},xe=r=>{let e,n;do{if((e=r._$AM)===void 0)break;n=e._$AN,n.delete(r),r=e}while(n?.size===0)},pi=r=>{for(let e;e=r._$AM;r=e){let n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(r))break;n.add(r),Os(e)}};function Ns(r){this._$AN!==void 0?(xe(this),this._$AM=r,pi(this)):this._$AM=r}function Ds(r,e=!1,n=0){const s=this._$AH,l=this._$AN;if(l!==void 0&&l.size!==0)if(e)if(Array.isArray(s))for(let c=n;c<s.length;c++)Zt(s[c],!1),xe(s[c]);else s!=null&&(Zt(s,!1),xe(s));else Zt(this,r)}const Os=r=>{r.type==hi.CHILD&&(r._$AP??=Ds,r._$AQ??=Ns)};let Hs=class extends di{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,n,s){super._$AT(e,n,s),pi(this),this.isConnected=e._$AU}_$AO(e,n=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),n&&(Zt(this,e),xe(this))}setValue(e){if(Rs(this._$Ct))this._$Ct._$AI(e,this);else{const n=[...this._$Ct._$AH];n[this._$Ci]=e,this._$Ct._$AI(n,this,0)}}disconnected(){}reconnected(){}};/**
|
|
88
|
-
* @license
|
|
89
|
-
* Copyright 2020 Google LLC
|
|
90
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
91
|
-
*/const ct=()=>new Gs;class Gs{}const Je=new WeakMap,dt=ci(class extends Hs{render(r){return z}update(r,[e]){const n=e!==this.Y;return n&&this.Y!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=e,this.ht=r.options?.host,this.rt(this.ct=r.element)),z}rt(r){if(typeof this.Y=="function"){const e=this.ht??globalThis;let n=Je.get(e);n===void 0&&(n=new WeakMap,Je.set(e,n)),n.get(this.Y)!==void 0&&this.Y.call(this.ht,void 0),n.set(this.Y,r),r!==void 0&&this.Y.call(this.ht,r)}else this.Y.value=r}get lt(){return typeof this.Y=="function"?Je.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Ys=`*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:1.5rem;padding-left:1.5rem}@media (min-width: 320px){.container{max-width:320px}}@media (min-width: 480px){.container{max-width:480px}}@media (min-width: 640px){.container{max-width:640px;padding-right:1.5rem;padding-left:1.5rem}}@media (min-width: 768px){.container{max-width:768px;padding-right:2rem;padding-left:2rem}}@media (min-width: 1024px){.container{max-width:1024px;padding-right:2.5rem;padding-left:2.5rem}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.aspect-h-9{--tw-aspect-h: 9}.aspect-w-16{position:relative;padding-bottom:calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);--tw-aspect-w: 16}.aspect-w-16>*{position:absolute;height:100%;width:100%;inset:0}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"β""β""β""β";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"\`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;text-align:start;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-slate{--tw-prose-body: #334155;--tw-prose-headings: #0f172a;--tw-prose-lead: #475569;--tw-prose-links: #0f172a;--tw-prose-bold: #0f172a;--tw-prose-counters: #64748b;--tw-prose-bullets: #cbd5e1;--tw-prose-hr: #e2e8f0;--tw-prose-quotes: #0f172a;--tw-prose-quote-borders: #e2e8f0;--tw-prose-captions: #64748b;--tw-prose-kbd: #0f172a;--tw-prose-kbd-shadows: 15 23 42;--tw-prose-code: #0f172a;--tw-prose-pre-code: #e2e8f0;--tw-prose-pre-bg: #1e293b;--tw-prose-th-borders: #cbd5e1;--tw-prose-td-borders: #e2e8f0;--tw-prose-invert-body: #cbd5e1;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #94a3b8;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #94a3b8;--tw-prose-invert-bullets: #475569;--tw-prose-invert-hr: #334155;--tw-prose-invert-quotes: #f1f5f9;--tw-prose-invert-quote-borders: #334155;--tw-prose-invert-captions: #94a3b8;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #cbd5e1;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #475569;--tw-prose-invert-td-borders: #334155}.prose-invert{--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-px{inset:-1px}.inset-0{inset:0}.-inset-x-4{left:-1rem;right:-1rem}.-inset-y-6{top:-1.5rem;bottom:-1.5rem}.inset-x-0{left:0;right:0}.inset-x-\\[-32\\%\\]{left:-32%;right:-32%}.inset-x-px{left:1px;right:1px}.inset-y-0{top:0;bottom:0}.inset-y-\\[-50\\%\\]{top:-50%;bottom:-50%}.-bottom-px{bottom:-1px}.-top-px{top:-1px}.bottom-0{bottom:0}.left-0{left:0}.left-1\\/2{left:50%}.left-11{left:2.75rem}.left-20{left:5rem}.right-0{right:0}.right-11{right:2.75rem}.right-20{right:5rem}.right-full{right:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\\/2{top:50%}.top-16{top:4rem}.top-28{top:7rem}.top-36{top:9rem}.top-8{top:2rem}.top-\\[4\\.5rem\\]{top:4.5rem}.top-full{top:100%}.top-px{top:1px}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-first{order:-9999}.col-span-2{grid-column:span 2 / span 2}.-m-1{margin:-.25rem}.-m-1\\.5{margin:-.375rem}.-m-2{margin:-.5rem}.-m-2\\.5{margin:-.625rem}.-m-3{margin:-.75rem}.m-0{margin:0}.m-auto{margin:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-1\\.5{margin-top:-.375rem;margin-bottom:-.375rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.mx-0{margin-left:0;margin-right:0}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.my-16{margin-top:4rem;margin-bottom:4rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-px{margin-top:1px;margin-bottom:1px}.-ml-0{margin-left:-0px}.-ml-0\\.5{margin-left:-.125rem}.-ml-1{margin-left:-.25rem}.-ml-1\\.5{margin-left:-.375rem}.-ml-px{margin-left:-1px}.-mr-1{margin-right:-.25rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.mb-\\[1px\\]{margin-bottom:1px}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\\.5{margin-right:.375rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-2\\.5{margin-top:.625rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-36{margin-top:9rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.flow-root{display:flow-root}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0{height:0px}.h-0\\.5{height:.125rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[--header-height\\]{height:var(--header-height)}.h-\\[1\\.25rem\\]{height:1.25rem}.h-\\[1400\\%\\]{height:1400%}.h-\\[200\\%\\]{height:200%}.h-\\[25rem\\]{height:25rem}.h-\\[29rem\\]{height:29rem}.h-\\[5px\\]{height:5px}.h-\\[64rem\\]{height:64rem}.h-\\[calc\\(100vh-4\\.5rem\\)\\]{height:calc(100vh - 4.5rem)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\[150vh\\]{max-height:150vh}.max-h-\\[calc\\(100vh-9rem\\)\\]{max-height:calc(100vh - 9rem)}.min-h-\\[2\\.25rem\\]{min-height:2.25rem}.min-h-\\[80vh\\]{min-height:80vh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-0\\.5{width:.125rem}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-3\\/4{width:75%}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\\[100\\%\\]{width:100%}.w-\\[140\\%\\]{width:140%}.w-\\[2px\\]{width:2px}.w-\\[50vw\\]{width:50vw}.w-\\[52\\.75rem\\]{width:52.75rem}.w-\\[57rem\\]{width:57rem}.w-\\[64rem\\]{width:64rem}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-0{flex-basis:0px}.origin-center{transform-origin:center}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.skew-y-\\[-14deg\\]{--tw-skew-y: -14deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.skew-y-\\[-18deg\\]{--tw-skew-y: -18deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\\[\\.84\\]{--tw-scale-x: .84;--tw-scale-y: .84;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-fade-in{animation:fade-in .5s linear forwards}.animate-marquee-x{animation:marquee-x var(--marquee-duration) linear infinite}.animate-marquee-y{animation:marquee-y var(--marquee-duration) linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0px}.gap-0\\.5{gap:.125rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-10{row-gap:2.5rem}.gap-y-16{row-gap:4rem}.gap-y-8{row-gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(209 213 219 / var(--tw-divide-opacity))}.divide-gray-500\\/25>:not([hidden])~:not([hidden]){border-color:#6b728040}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[0\\.625rem\\]{border-radius:.625rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-tl-lg{border-top-left-radius:var(--radius)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-100\\/50{border-color:#f3f4f680}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-50{--tw-border-opacity: 1;border-color:rgb(249 250 251 / var(--tw-border-opacity))}.border-gray-900\\/10{border-color:#1118271a}.border-martinique-300{--tw-border-opacity: 1;border-color:rgb(166 154 202 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-slate-300\\/5{border-color:#cbd5e10d}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-white\\/10{border-color:#ffffff1a}.border-white\\/20{border-color:#fff3}.border-white\\/5{border-color:#ffffff0d}.border-zinc-900\\/5{border-color:#18181b0d}.border-b-slate-600{--tw-border-opacity: 1;border-bottom-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-t-gray-50{--tw-border-opacity: 1;border-top-color:rgb(249 250 251 / var(--tw-border-opacity))}.bg-\\[\\#0A101F\\]\\/80{background-color:#0a101fcc}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}.bg-black\\/20{background-color:#0003}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-editframe-100{--tw-bg-opacity: 1;background-color:rgb(233 234 234 / var(--tw-bg-opacity))}.bg-editframe-800{--tw-bg-opacity: 1;background-color:rgb(15 18 21 / var(--tw-bg-opacity))}.bg-editframe-900{--tw-bg-opacity: 1;background-color:rgb(10 12 14 / var(--tw-bg-opacity))}.bg-editframe-900\\/25{background-color:#0a0c0e40}.bg-editframe-900\\/40{background-color:#0a0c0e66}.bg-editframe-900\\/50{background-color:#0a0c0e80}.bg-editframe-900\\/75{background-color:#0a0c0ebf}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-martinique-300{--tw-bg-opacity: 1;background-color:rgb(166 154 202 / var(--tw-bg-opacity))}.bg-martinique-50{--tw-bg-opacity: 1;background-color:rgb(225 221 237 / var(--tw-bg-opacity))}.bg-martinique-500{--tw-bg-opacity: 1;background-color:rgb(119 100 174 / var(--tw-bg-opacity))}.bg-martinique-600{--tw-bg-opacity: 1;background-color:rgb(99 80 153 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\\/10{background-color:#ffffff1a}.bg-white\\/5{background-color:#ffffff0d}.bg-white\\/95{background-color:#fffffff2}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.bg-zinc-100{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity))}.bg-zinc-200{--tw-bg-opacity: 1;background-color:rgb(228 228 231 / var(--tw-bg-opacity))}.bg-zinc-500{--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity))}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-opacity-20{--tw-bg-opacity: .2}.bg-opacity-75{--tw-bg-opacity: .75}.bg-opacity-\\[0\\.1\\]{--tw-bg-opacity: .1}.bg-opacity-\\[0\\.2\\]{--tw-bg-opacity: .2}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-\\[\\#7764AE\\]\\/30{--tw-gradient-from: rgb(119 100 174 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(119 100 174 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-200{--tw-gradient-from: #bfdbfe var(--tw-gradient-from-position);--tw-gradient-to: rgb(191 219 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400\\/0{--tw-gradient-from: rgb(96 165 250 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-editframe-900{--tw-gradient-from: #0A0C0E var(--tw-gradient-from-position);--tw-gradient-to: rgb(10 12 14 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-martinique-200{--tw-gradient-from: #BEB4D8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(190 180 216 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-300{--tw-gradient-from: #7dd3fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(125 211 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-300\\/0{--tw-gradient-from: rgb(125 211 252 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(125 211 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-400\\/30{--tw-gradient-from: rgb(56 189 248 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-800{--tw-gradient-from: #1e293b var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-blue-400{--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #60a5fa var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-500{--tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #6b7280 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-sky-300\\/70{--tw-gradient-to: rgb(125 211 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(125 211 252 / .7) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-sky-400{--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #38bdf8 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\\[\\#7f62b5\\]\\/30{--tw-gradient-to: rgb(127 98 181 / .3) var(--tw-gradient-to-position)}.to-blue-300{--tw-gradient-to: #93c5fd var(--tw-gradient-to-position)}.to-blue-400\\/0{--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position)}.to-gray-800{--tw-gradient-to: #1f2937 var(--tw-gradient-to-position)}.to-martinique-900{--tw-gradient-to: #2F2649 var(--tw-gradient-to-position)}.to-sky-300\\/0{--tw-gradient-to: rgb(125 211 252 / 0) var(--tw-gradient-to-position)}.to-sky-400\\/30{--tw-gradient-to: rgb(56 189 248 / .3) var(--tw-gradient-to-position)}.fill-\\[var\\(--icon-background\\)\\]{fill:var(--icon-background)}.fill-\\[var\\(--icon-foreground\\)\\]{fill:var(--icon-foreground)}.fill-current{fill:currentColor}.fill-martinique-400{fill:#8f7fbc}.fill-slate-400{fill:#94a3b8}.fill-slate-900{fill:#0f172a}.stroke-\\[color\\:var\\(--icon-foreground\\)\\]{stroke:var(--icon-foreground)}.stroke-current{stroke:currentColor}.stroke-slate-500{stroke:#64748b}.stroke-white\\/5{stroke:#ffffff0d}.stroke-zinc-500{stroke:#71717a}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\\[1px\\],.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\\[10vh\\]{padding-bottom:10vh}.pb-\\[33vh\\]{padding-bottom:33vh}.pl-0{padding-left:0}.pl-0\\.5{padding-left:.125rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-3\\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-9{padding-left:2.25rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-2\\.5{padding-top:.625rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.font-mono{font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:1.333}.text-3xl{font-size:1.875rem;line-height:1.2}.text-4xl{font-size:2.25rem;line-height:1.111}.text-5xl{font-size:3rem;line-height:1.083}.text-\\[10px\\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5}.text-lg{font-size:1.125rem;line-height:1.556}.text-sm{font-size:.875rem;line-height:1.425}.text-xl{font-size:1.25rem;line-height:1.556}.text-xs{font-size:.75rem;line-height:1.333}.font-bold{font-weight:700}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.\\!leading-\\[1\\.12\\]{line-height:1.12!important}.leading-10{line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-\\[1\\.125\\]{line-height:1.125}.leading-loose{line-height:2}.leading-none{line-height:1}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))}.text-editframe-700{--tw-text-opacity: 1;color:rgb(20 25 28 / var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-martinique-400{--tw-text-opacity: 1;color:rgb(143 127 188 / var(--tw-text-opacity))}.text-martinique-500{--tw-text-opacity: 1;color:rgb(119 100 174 / var(--tw-text-opacity))}.text-martinique-600{--tw-text-opacity: 1;color:rgb(99 80 153 / var(--tw-text-opacity))}.text-martinique-700{--tw-text-opacity: 1;color:rgb(82 66 127 / var(--tw-text-opacity))}.text-martinique-800{--tw-text-opacity: 1;color:rgb(64 52 100 / var(--tw-text-opacity))}.text-martinique-900{--tw-text-opacity: 1;color:rgb(47 38 73 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\\/80{color:#fffc}.text-white\\/90{color:#ffffffe6}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.text-zinc-100{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity))}.text-zinc-200{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity: 1;color:rgb(39 39 42 / var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-black{text-decoration-color:#000}.decoration-gray-200{text-decoration-color:#e5e7eb}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.mix-blend-screen{mix-blend-mode:screen}.mix-blend-overlay{mix-blend-mode:overlay}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\\/5{--tw-shadow-color: rgb(0 0 0 / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-martinique-400\\/10{--tw-shadow-color: rgb(143 127 188 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-martinique-600\\/50{--tw-shadow-color: rgb(99 80 153 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-300{--tw-shadow-color: #cbd5e1;--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-600{--tw-shadow-color: #475569;--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-900\\/5{--tw-shadow-color: rgb(15 23 42 / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-zinc-800\\/5{--tw-shadow-color: rgb(39 39 42 / .05);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-black\\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-red-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity))}.ring-slate-500\\/10{--tw-ring-color: rgb(100 116 139 / .1)}.ring-slate-900\\/5{--tw-ring-color: rgb(15 23 42 / .05)}.ring-white\\/10{--tw-ring-color: rgb(255 255 255 / .1)}.ring-yellow-600\\/20{--tw-ring-color: rgb(202 138 4 / .2)}.ring-zinc-900\\/10{--tw-ring-color: rgb(24 24 27 / .1)}.ring-zinc-900\\/5{--tw-ring-color: rgb(24 24 27 / .05)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-lg{--tw-blur: blur(16px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.brightness-125{--tw-brightness: brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.saturate-0{--tw-saturate: saturate(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[--header-height\\:theme\\(spacing\\.16\\)\\]{--header-height: 4rem}.\\[--icon-background\\:theme\\(colors\\.amber\\.100\\)\\]{--icon-background: #fef3c7}.\\[--icon-background\\:theme\\(colors\\.white\\)\\]{--icon-background: #fff}.\\[--icon-foreground\\:theme\\(colors\\.amber\\.900\\)\\]{--icon-foreground: #78350f}.\\[--icon-foreground\\:theme\\(colors\\.slate\\.900\\)\\]{--icon-foreground: #0f172a}.\\[--nav-width\\:theme\\(spacing\\.72\\)\\]{--nav-width: 18rem}.\\[--tw-prose-background\\:theme\\(colors\\.amber\\.50\\)\\]{--tw-prose-background: #fffbeb}.\\[--tw-prose-background\\:theme\\(colors\\.martinique\\.50\\)\\]{--tw-prose-background: #E1DDED}.\\[--tw-prose-background\\:theme\\(colors\\.slate\\.900\\)\\]{--tw-prose-background: #0f172a}.\\[--tw-prose-underline\\:theme\\(colors\\.amber\\.400\\)\\]{--tw-prose-underline: #fbbf24}.\\[background\\:linear-gradient\\(var\\(--link-grid-hover-bg\\,theme\\(colors\\.martinique\\.50\\)\\)\\,var\\(--link-grid-hover-bg\\,theme\\(colors\\.martinique\\.50\\)\\)\\)_padding-box\\,linear-gradient\\(to_top\\,theme\\(colors\\.indigo\\.400\\)\\,theme\\(colors\\.cyan\\.400\\)\\,theme\\(colors\\.martinique\\.500\\)\\)_border-box\\]{background:linear-gradient(var(--link-grid-hover-bg,#E1DDED),var(--link-grid-hover-bg,#E1DDED)) padding-box,linear-gradient(to top,#818cf8,#22d3ee,#7764ae) border-box}.\\[background\\:linear-gradient\\(var\\(--quick-links-hover-bg\\,theme\\(colors\\.blue\\.50\\)\\)\\,var\\(--quick-links-hover-bg\\,theme\\(colors\\.blue\\.50\\)\\)\\)_padding-box\\,linear-gradient\\(to_top\\,theme\\(colors\\.indigo\\.400\\)\\,theme\\(colors\\.cyan\\.400\\)\\,theme\\(colors\\.blue\\.500\\)\\)_border-box\\]{background:linear-gradient(var(--quick-links-hover-bg,#eff6ff),var(--quick-links-hover-bg,#eff6ff)) padding-box,linear-gradient(to top,#818cf8,#22d3ee,#3b82f6) border-box}.\\[mask-image\\:linear-gradient\\(white\\,transparent\\)\\]{-webkit-mask-image:linear-gradient(white,transparent);mask-image:linear-gradient(white,transparent)}.\\[mask-image\\:radial-gradient\\(closest-side\\,white\\,transparent\\)\\]{-webkit-mask-image:radial-gradient(closest-side,white,transparent);mask-image:radial-gradient(closest-side,white,transparent)}.\\[mask-image\\:radial-gradient\\(farthest-side_at_top\\,white\\,transparent\\)\\]{-webkit-mask-image:radial-gradient(farthest-side at top,white,transparent);mask-image:radial-gradient(farthest-side at top,white,transparent)}@media (min-width: 640px){.sm\\:container{width:100%;margin-right:auto;margin-left:auto;padding-right:1.5rem;padding-left:1.5rem}@media (min-width: 320px){.sm\\:container{max-width:320px}}@media (min-width: 480px){.sm\\:container{max-width:480px}}.sm\\:container{max-width:640px;padding-right:1.5rem;padding-left:1.5rem}@media (min-width: 768px){.sm\\:container{max-width:768px;padding-right:2rem;padding-left:2rem}}@media (min-width: 1024px){.sm\\:container{max-width:1024px;padding-right:2.5rem;padding-left:2.5rem}}@media (min-width: 1280px){.sm\\:container{max-width:1280px}}@media (min-width: 1536px){.sm\\:container{max-width:1536px}}}.selection\\:bg-blue-200 *::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.selection\\:bg-blue-200 *::selection{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.selection\\:text-black *::-moz-selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.selection\\:text-black *::selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.selection\\:bg-blue-200::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.selection\\:bg-blue-200::selection{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.selection\\:text-black::-moz-selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.selection\\:text-black::selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.placeholder\\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.before\\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:-left-1:before{content:var(--tw-content);left:-.25rem}.before\\:bottom-0:before{content:var(--tw-content);bottom:0}.before\\:left-0:before{content:var(--tw-content);left:0}.before\\:top-1\\/2:before{content:var(--tw-content);top:50%}.before\\:hidden:before{content:var(--tw-content);display:none}.before\\:h-1:before{content:var(--tw-content);height:.25rem}.before\\:h-1\\.5:before{content:var(--tw-content);height:.375rem}.before\\:h-\\[500\\%\\]:before{content:var(--tw-content);height:500%}.before\\:w-1:before{content:var(--tw-content);width:.25rem}.before\\:w-1\\.5:before{content:var(--tw-content);width:.375rem}.before\\:w-full:before{content:var(--tw-content);width:100%}.before\\:-translate-y-1\\/2:before{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\\:bg-editframe-300:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(167 169 172 / var(--tw-bg-opacity))}.before\\:bg-inherit:before{content:var(--tw-content);background-color:inherit}.before\\:bg-martinique-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(119 100 174 / var(--tw-bg-opacity))}.focus-within\\:z-10:focus-within{z-index:10}.focus-within\\:border-indigo-500:focus-within{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}.focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-inset:focus-within{--tw-ring-inset: inset}.focus-within\\:ring-indigo-500:focus-within{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}.focus-within\\:ring-indigo-600:focus-within{--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}.hover\\:scale-90:hover{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.hover\\:bg-blue-200\\/50:hover{background-color:#bfdbfe80}.hover\\:bg-editframe-700:hover{--tw-bg-opacity: 1;background-color:rgb(20 25 28 / var(--tw-bg-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\\:bg-gray-400\\/10:hover{background-color:#9ca3af1a}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\\:bg-martinique-200:hover{--tw-bg-opacity: 1;background-color:rgb(190 180 216 / var(--tw-bg-opacity))}.hover\\:bg-martinique-500:hover{--tw-bg-opacity: 1;background-color:rgb(119 100 174 / var(--tw-bg-opacity))}.hover\\:bg-martinique-900\\/80:hover{background-color:#2f2649cc}.hover\\:bg-red-400:hover{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity))}.hover\\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.hover\\:bg-slate-400:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.hover\\:bg-zinc-200:hover{--tw-bg-opacity: 1;background-color:rgb(228 228 231 / var(--tw-bg-opacity))}.hover\\:bg-zinc-700:hover{--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity))}.hover\\:font-bold:hover{font-weight:700}.hover\\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.hover\\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\\:text-indigo-500:hover{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity))}.hover\\:text-indigo-900:hover{--tw-text-opacity: 1;color:rgb(49 46 129 / var(--tw-text-opacity))}.hover\\:text-martinique-600:hover{--tw-text-opacity: 1;color:rgb(99 80 153 / var(--tw-text-opacity))}.hover\\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.hover\\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.hover\\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.hover\\:text-zinc-900:hover{--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:ring-white\\/20:hover{--tw-ring-color: rgb(255 255 255 / .2)}.hover\\:before\\:block:hover:before{content:var(--tw-content);display:block}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-inset:focus{--tw-ring-inset: inset}.focus\\:ring-indigo-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}.focus-visible\\:text-gray-100:focus-visible{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.focus-visible\\:outline:focus-visible{outline-style:solid}.focus-visible\\:outline-2:focus-visible{outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-black:focus-visible{outline-color:#000}.focus-visible\\:outline-indigo-600:focus-visible{outline-color:#4f46e5}.focus-visible\\:outline-martinique-300\\/50:focus-visible{outline-color:#a69aca80}.focus-visible\\:outline-martinique-600:focus-visible{outline-color:#635099}.focus-visible\\:outline-white:focus-visible{outline-color:#fff}.focus-visible\\:outline-white\\/50:focus-visible{outline-color:#ffffff80}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\\:ring-blue-800:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity))}.active\\:bg-gray-100:active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.active\\:bg-martinique-500:active{--tw-bg-opacity: 1;background-color:rgb(119 100 174 / var(--tw-bg-opacity))}.active\\:text-slate-400:active{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.group[open] .group-open\\:block{display:block}.group[open] .group-open\\:hidden{display:none}.group:hover .group-hover\\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\\:fill-slate-500{fill:#64748b}.group:hover .group-hover\\:stroke-zinc-700{stroke:#3f3f46}.group:hover .group-hover\\:opacity-100{opacity:1}.peer:hover~.peer-hover\\:border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.peer:hover~.peer-hover\\:bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.has-\\[\\:focus-visible\\]\\:ring-2:has(:focus-visible){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.has-\\[\\:focus-visible\\]\\:ring-inset:has(:focus-visible){--tw-ring-inset: inset}.has-\\[\\:focus-visible\\]\\:ring-blue-800:has(:focus-visible){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity))}.data-\\[focused\\]\\:bg-slate-400[data-focused]{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.peer[data-focused]~.peer-data-\\[focused\\]\\:border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.peer[data-focused]~.peer-data-\\[focused\\]\\:bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.prose-headings\\:scroll-mt-28 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){scroll-margin-top:7rem}.prose-headings\\:font-display :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.prose-headings\\:font-normal :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:400}.prose-headings\\:text-slate-100 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.prose-h1\\:text-3xl :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.875rem;line-height:1.2}.prose-a\\:font-semibold :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:600}.prose-a\\:text-amber-900 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.prose-a\\:text-martinique-400 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(143 127 188 / var(--tw-text-opacity))}.prose-a\\:text-martinique-900 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(47 38 73 / var(--tw-text-opacity))}.prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:none}.prose-a\\:shadow-\\[inset_0_calc\\(-1\\*var\\(--tw-prose-underline-size\\,2px\\)\\)_0_0_var\\(--tw-prose-underline\\,theme\\(colors\\.martinique\\.800\\)\\)\\] :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-shadow: inset 0 calc(-1 * var(--tw-prose-underline-size,2px)) 0 0 var(--tw-prose-underline,#403464);--tw-shadow-colored: inset 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:prose-a\\:\\[--tw-prose-underline-size\\:6px\\] :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{--tw-prose-underline-size: 6px}.prose-strong\\:text-slate-100 :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.prose-code\\:text-amber-900 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.prose-code\\:text-martinique-900 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(47 38 73 / var(--tw-text-opacity))}.prose-code\\:text-slate-300 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.prose-code\\:text-white :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.prose-pre\\:rounded-xl :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.75rem}.prose-pre\\:bg-editframe-900 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity: 1;background-color:rgb(10 12 14 / var(--tw-bg-opacity))}.prose-pre\\:shadow-none :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.prose-pre\\:ring-1 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.prose-pre\\:ring-slate-300\\/10 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-ring-color: rgb(203 213 225 / .1)}.prose-hr\\:border-slate-800 :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.prose-lead\\:text-slate-200 :is(:where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.sm\\:left-full{left:100%}.sm\\:col-span-2{grid-column:span 2 / span 2}.sm\\:col-span-3{grid-column:span 3 / span 3}.sm\\:col-span-4{grid-column:span 4 / span 4}.sm\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\\:mx-0{margin-left:0;margin-right:0}.sm\\:mx-auto{margin-left:auto;margin-right:auto}.sm\\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\\:-ml-80{margin-left:-20rem}.sm\\:mb-8{margin-bottom:2rem}.sm\\:ml-16{margin-left:4rem}.sm\\:ml-3{margin-left:.75rem}.sm\\:ml-4{margin-left:1rem}.sm\\:mr-8{margin-right:2rem}.sm\\:mt-0{margin-top:0}.sm\\:mt-20{margin-top:5rem}.sm\\:mt-4{margin-top:1rem}.sm\\:block{display:block}.sm\\:inline{display:inline}.sm\\:flex{display:flex}.sm\\:table-cell{display:table-cell}.sm\\:grid{display:grid}.sm\\:h-10{height:2.5rem}.sm\\:w-10{width:2.5rem}.sm\\:w-auto{width:auto}.sm\\:w-full{width:100%}.sm\\:max-w-lg{max-width:32rem}.sm\\:max-w-md{max-width:28rem}.sm\\:max-w-sm{max-width:24rem}.sm\\:max-w-xs{max-width:20rem}.sm\\:flex-auto{flex:1 1 auto}.sm\\:flex-none{flex:none}.sm\\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:flex-row-reverse{flex-direction:row-reverse}.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-center{justify-content:center}.sm\\:gap-2{gap:.5rem}.sm\\:gap-4{gap:1rem}.sm\\:gap-8{gap:2rem}.sm\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\\:rounded-2xl{border-radius:1rem}.sm\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.sm\\:p-0{padding:0}.sm\\:p-6{padding:1.5rem}.sm\\:px-0{padding-left:0;padding-right:0}.sm\\:px-16{padding-left:4rem;padding-right:4rem}.sm\\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:px-8{padding-left:2rem;padding-right:2rem}.sm\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\\:pb-20{padding-bottom:5rem}.sm\\:pb-24{padding-bottom:6rem}.sm\\:pb-28{padding-bottom:7rem}.sm\\:pb-6{padding-bottom:1.5rem}.sm\\:pl-0{padding-left:0}.sm\\:pr-0{padding-right:0}.sm\\:pt-10{padding-top:2.5rem}.sm\\:pt-32{padding-top:8rem}.sm\\:pt-48{padding-top:12rem}.sm\\:text-left{text-align:left}.sm\\:text-3xl{font-size:1.875rem;line-height:1.2}.sm\\:text-4xl{font-size:2.25rem;line-height:1.111}.sm\\:text-5xl{font-size:3rem;line-height:1.083}.sm\\:text-6xl{font-size:4rem;line-height:1.0625}.sm\\:text-sm{font-size:.875rem;line-height:1.425}.sm\\:font-extralight{font-weight:200}.sm\\:leading-6{line-height:1.5rem}.sm\\:tracking-tight{letter-spacing:-.025em}.sm\\:ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.sm\\:ring-gray-900\\/10{--tw-ring-color: rgb(17 24 39 / .1)}}@media (min-width: 768px){.md\\:left-0{left:0}.md\\:col-span-2{grid-column:span 2 / span 2}.md\\:col-span-4{grid-column:span 4 / span 4}.md\\:col-span-7{grid-column:span 7 / span 7}.md\\:col-start-9{grid-column-start:9}.md\\:mx-0{margin-left:0;margin-right:0}.md\\:my-0{margin-top:0;margin-bottom:0}.md\\:mb-8{margin-bottom:2rem}.md\\:ml-6{margin-left:1.5rem}.md\\:mr-0{margin-right:0}.md\\:mt-0{margin-top:0}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:grid{display:grid}.md\\:hidden{display:none}.md\\:h-7{height:1.75rem}.md\\:h-8{height:2rem}.md\\:w-auto{width:auto}.md\\:grow{flex-grow:1}.md\\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:justify-between{justify-content:space-between}.md\\:justify-items-start{justify-items:start}.md\\:gap-0{gap:0px}.md\\:gap-x-11{-moz-column-gap:2.75rem;column-gap:2.75rem}.md\\:rounded-md{border-radius:calc(var(--radius) - 2px)}.md\\:p-3{padding:.75rem}.md\\:pt-12{padding-top:3rem}.md\\:pt-24{padding-top:6rem}.md\\:text-left{text-align:left}.md\\:text-2xl{font-size:1.5rem;line-height:1.333}.md\\:text-5xl{font-size:3rem;line-height:1.083}.md\\:text-lg{font-size:1.125rem;line-height:1.556}.md\\:text-sm{font-size:.875rem;line-height:1.425}.md\\:font-semibold{font-weight:600}.md\\:leading-4{line-height:1rem}.md\\:leading-6{line-height:1.5rem}.md\\:leading-normal{line-height:1.5}.md\\:text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}}@media (min-width: 1024px){.lg\\:static{position:static}.lg\\:absolute{position:absolute}.lg\\:relative{position:relative}.lg\\:-left-5{left:-1.25rem}.lg\\:left-1\\/2{left:50%}.lg\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\\:mx-0{margin-left:0;margin-right:0}.lg\\:-mt-2{margin-top:-.5rem}.lg\\:mb-0{margin-bottom:0}.lg\\:mb-24{margin-bottom:6rem}.lg\\:ml-0{margin-left:0}.lg\\:ml-3{margin-left:.75rem}.lg\\:mt-10{margin-top:2.5rem}.lg\\:mt-32{margin-top:8rem}.lg\\:mt-4{margin-top:1rem}.lg\\:mt-8{margin-top:2rem}.lg\\:block{display:block}.lg\\:flex{display:flex}.lg\\:grid{display:grid}.lg\\:hidden{display:none}.lg\\:w-\\[calc\\(100\\%-var\\(--nav-width\\)\\)\\]{width:calc(100% - var(--nav-width))}.lg\\:w-auto{width:auto}.lg\\:max-w-5xl{max-width:64rem}.lg\\:max-w-none{max-width:none}.lg\\:flex-1{flex:1 1 0%}.lg\\:flex-auto{flex:1 1 auto}.lg\\:flex-none{flex:none}.lg\\:-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:justify-start{justify-content:flex-start}.lg\\:justify-end{justify-content:flex-end}.lg\\:gap-6{gap:1.5rem}.lg\\:gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.lg\\:gap-x-20{-moz-column-gap:5rem;column-gap:5rem}.lg\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.lg\\:border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.lg\\:px-0{padding-left:0;padding-right:0}.lg\\:px-12{padding-left:3rem;padding-right:3rem}.lg\\:px-24{padding-left:6rem;padding-right:6rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\\:pb-32{padding-bottom:8rem}.lg\\:pl-6{padding-left:1.5rem}.lg\\:pl-8{padding-left:2rem}.lg\\:pr-0{padding-right:0}.lg\\:pt-0{padding-top:0}.lg\\:pt-12{padding-top:3rem}.lg\\:pt-56{padding-top:14rem}.lg\\:text-left{text-align:left}.lg\\:text-3xl{font-size:1.875rem;line-height:1.2}.lg\\:text-base{font-size:1rem;line-height:1.5}.lg\\:text-sm{font-size:.875rem;line-height:1.425}.lg\\:text-xl{font-size:1.25rem;line-height:1.556}.lg\\:leading-normal{line-height:1.5}.lg\\:before\\:block:before{content:var(--tw-content);display:block}.lg\\:prose-headings\\:scroll-mt-\\[8\\.5rem\\] :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){scroll-margin-top:8.5rem}}@media (min-width: 1280px){.xl\\:relative{position:relative}.xl\\:sticky{position:sticky}.xl\\:-top-1{top:-.25rem}.xl\\:-top-1\\.5{top:-.375rem}.xl\\:left-0{left:0}.xl\\:top-\\[4\\.5rem\\]{top:4.5rem}.xl\\:order-1{order:1}.xl\\:-mr-6{margin-right:-1.5rem}.xl\\:ml-80{margin-left:20rem}.xl\\:mt-0{margin-top:0}.xl\\:block{display:block}.xl\\:flex{display:flex}.xl\\:hidden{display:none}.xl\\:h-\\[calc\\(100vh-4\\.5rem\\)\\]{height:calc(100vh - 4.5rem)}.xl\\:w-56{width:14rem}.xl\\:w-72{width:18rem}.xl\\:w-full{width:100%}.xl\\:max-w-\\[90rem\\]{max-width:90rem}.xl\\:max-w-none{max-width:none}.xl\\:flex-none{flex:none}.xl\\:flex-shrink-0{flex-shrink:0}.xl\\:flex-grow{flex-grow:1}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:justify-between{justify-content:space-between}.xl\\:gap-8{gap:2rem}.xl\\:gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.xl\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.xl\\:overflow-y-auto{overflow-y:auto}.xl\\:px-12{padding-left:3rem;padding-right:3rem}.xl\\:px-16{padding-left:4rem;padding-right:4rem}.xl\\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\\:pl-10{padding-left:2.5rem}.xl\\:pr-16{padding-right:4rem}.xl\\:pr-6{padding-right:1.5rem}}@media (min-width: 1536px){.\\32xl\\:pl-12{padding-left:3rem}}@media (prefers-color-scheme: dark){.dark\\:-mb-32{margin-bottom:-8rem}.dark\\:mt-\\[-4\\.5rem\\]{margin-top:-4.5rem}.dark\\:block{display:block}.dark\\:inline{display:inline}.dark\\:hidden{display:none}.dark\\:border{border-width:1px}.dark\\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\\:border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.dark\\:border-martinique-800{--tw-border-opacity: 1;border-color:rgb(64 52 100 / var(--tw-border-opacity))}.dark\\:border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.dark\\:border-white\\/5{border-color:#ffffff0d}.dark\\:border-zinc-700\\/50{border-color:#3f3f4680}.dark\\:bg-blue-800{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.dark\\:bg-editframe-700{--tw-bg-opacity: 1;background-color:rgb(20 25 28 / var(--tw-bg-opacity))}.dark\\:bg-editframe-800{--tw-bg-opacity: 1;background-color:rgb(15 18 21 / var(--tw-bg-opacity))}.dark\\:bg-editframe-800\\/60{background-color:#0f121599}.dark\\:bg-editframe-900{--tw-bg-opacity: 1;background-color:rgb(10 12 14 / var(--tw-bg-opacity))}.dark\\:bg-editframe-900\\/40{background-color:#0a0c0e66}.dark\\:bg-editframe-900\\/95{background-color:#0a0c0ef2}.dark\\:bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.dark\\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\\:bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\\:bg-martinique-400\\/10{background-color:#8f7fbc1a}.dark\\:bg-martinique-500{--tw-bg-opacity: 1;background-color:rgb(119 100 174 / var(--tw-bg-opacity))}.dark\\:bg-transparent{background-color:transparent}.dark\\:bg-zinc-800{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity))}.dark\\:bg-zinc-800\\/40{background-color:#27272a66}.dark\\:fill-martinique-400{fill:#8f7fbc}.dark\\:fill-white{fill:#fff}.dark\\:stroke-zinc-500{stroke:#71717a}.dark\\:pb-32{padding-bottom:8rem}.dark\\:pt-\\[4\\.5rem\\]{padding-top:4.5rem}.dark\\:text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity))}.dark\\:text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.dark\\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.dark\\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\\:text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.dark\\:text-martinique-400{--tw-text-opacity: 1;color:rgb(143 127 188 / var(--tw-text-opacity))}.dark\\:text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark\\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark\\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\\:text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity))}.dark\\:decoration-gray-200{text-decoration-color:#e5e7eb}.dark\\:decoration-gray-500{text-decoration-color:#6b7280}.dark\\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\\:ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark\\:ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark\\:ring-inset{--tw-ring-inset: inset}.dark\\:ring-martinique-400\\/20{--tw-ring-color: rgb(143 127 188 / .2)}.dark\\:ring-slate-300\\/10{--tw-ring-color: rgb(203 213 225 / .1)}.dark\\:ring-white\\/10{--tw-ring-color: rgb(255 255 255 / .1)}.dark\\:ring-white\\/5{--tw-ring-color: rgb(255 255 255 / .05)}.dark\\:ring-zinc-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(39 39 42 / var(--tw-ring-opacity))}.dark\\:invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\\:backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.dark\\:\\[--link-grid-hover-bg\\:theme\\(colors\\.slate\\.800\\)\\]{--link-grid-hover-bg: #1e293b}.dark\\:\\[--tw-prose-underline\\:theme\\(colors\\.martinique\\.700\\)\\]{--tw-prose-underline: #52427F}.dark\\:selection\\:bg-blue-800 *::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.dark\\:selection\\:bg-blue-800 *::selection{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.dark\\:selection\\:bg-editframe-900 *::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(10 12 14 / var(--tw-bg-opacity))}.dark\\:selection\\:bg-editframe-900 *::selection{--tw-bg-opacity: 1;background-color:rgb(10 12 14 / var(--tw-bg-opacity))}.dark\\:selection\\:text-white *::-moz-selection{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\\:selection\\:text-white *::selection{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\\:selection\\:bg-blue-800::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.dark\\:selection\\:bg-blue-800::selection{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.dark\\:selection\\:bg-editframe-900::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(10 12 14 / var(--tw-bg-opacity))}.dark\\:selection\\:bg-editframe-900::selection{--tw-bg-opacity: 1;background-color:rgb(10 12 14 / var(--tw-bg-opacity))}.dark\\:selection\\:text-white::-moz-selection{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\\:selection\\:text-white::selection{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\\:before\\:bg-editframe-700:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(20 25 28 / var(--tw-bg-opacity))}.dark\\:hover\\:border-zinc-700:hover{--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity))}.dark\\:hover\\:bg-blue-800\\/50:hover{background-color:#1e40af80}.dark\\:hover\\:bg-editframe-800:hover{--tw-bg-opacity: 1;background-color:rgb(15 18 21 / var(--tw-bg-opacity))}.dark\\:hover\\:bg-editframe-800\\/50:hover{background-color:#0f121580}.dark\\:hover\\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\\:hover\\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\\:hover\\:bg-martinique-400:hover{--tw-bg-opacity: 1;background-color:rgb(143 127 188 / var(--tw-bg-opacity))}.dark\\:hover\\:bg-martinique-400\\/10:hover{background-color:#8f7fbc1a}.dark\\:hover\\:bg-white\\/5:hover{background-color:#ffffff0d}.dark\\:hover\\:bg-zinc-800:hover{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity))}.dark\\:hover\\:text-gray-100:hover{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.dark\\:hover\\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\\:hover\\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\\:hover\\:text-gray-50:hover{--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.dark\\:hover\\:text-martinique-300:hover{--tw-text-opacity: 1;color:rgb(166 154 202 / var(--tw-text-opacity))}.dark\\:hover\\:text-martinique-500:hover{--tw-text-opacity: 1;color:rgb(119 100 174 / var(--tw-text-opacity))}.dark\\:hover\\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.dark\\:hover\\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\\:hover\\:text-zinc-300:hover{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity))}.dark\\:hover\\:ring-martinique-300:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(166 154 202 / var(--tw-ring-opacity))}.dark\\:hover\\:ring-white\\/20:hover{--tw-ring-color: rgb(255 255 255 / .2)}.dark\\:focus-visible\\:text-gray-400:focus-visible{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\\:focus-visible\\:ring-gray-100:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(243 244 246 / var(--tw-ring-opacity))}.dark\\:active\\:bg-gray-700:active{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:fill-slate-300{fill:#cbd5e1}.group:hover .dark\\:group-hover\\:stroke-zinc-400{stroke:#a1a1aa}.dark\\:has-\\[\\:focus-visible\\]\\:ring-gray-100:has(:focus-visible){--tw-ring-opacity: 1;--tw-ring-color: rgb(243 244 246 / var(--tw-ring-opacity))}.prose-a\\:dark\\:text-white :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\\:prose-code\\:text-slate-300 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}@media (min-width: 1024px){.dark\\:lg\\:mt-\\[-4\\.75rem\\]{margin-top:-4.75rem}.dark\\:lg\\:pt-\\[4\\.75rem\\]{padding-top:4.75rem}}}.\\[\\&\\:not\\(\\:focus-visible\\)\\]\\:focus\\:outline-none:focus:not(:focus-visible){outline:2px solid transparent;outline-offset:2px}.\\[\\&\\>\\*\\]\\:mx-auto>*{margin-left:auto;margin-right:auto}.\\[\\&\\>\\*\\]\\:max-w-3xl>*{max-width:48rem}.\\[\\&\\>\\:first-child\\]\\:\\!mt-0>:first-child{margin-top:0!important}.\\[\\&\\>\\:last-child\\]\\:\\!mb-0>:last-child{margin-bottom:0!important}.\\[\\&\\>pre\\]\\:bg-transparent>pre{background-color:transparent}.\\[\\&_\\*\\:focus\\]\\:scroll-mt-\\[8rem\\] *:focus{scroll-margin-top:8rem}@media (min-width: 1024px){.lg\\:\\[\\&_\\*\\:focus\\]\\:scroll-mt-\\[5rem\\] *:focus{scroll-margin-top:5rem}}.dark[data-theme=system] .\\[\\.dark\\[data-theme\\=system\\]_\\&\\]\\:block{display:block}:not(.dark)[data-theme=system] .\\[\\:not\\(\\.dark\\)\\[data-theme\\=system\\]_\\&\\]\\:block{display:block}@media (prefers-color-scheme: dark){@supports (backdrop-filter:blur(0)){.dark\\:\\[\\@supports\\(backdrop-filter\\:blur\\(0\\)\\)\\]\\:bg-editframe-900\\/75{background-color:#0a0c0ebf}}}[data-theme=dark] .\\[\\[data-theme\\=dark\\]_\\&\\]\\:block,[data-theme=light] .\\[\\[data-theme\\=light\\]_\\&\\]\\:block{display:block}[open]>.\\[\\[open\\]\\>\\&\\]\\:bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}@media (prefers-color-scheme: dark){[open]>.dark\\:\\[\\[open\\]\\>\\&\\]\\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}}`,tr=new CSSStyleSheet;tr.replaceSync(Ys);function bt(r){return class extends r{createRenderRoot(){const n=super.createRenderRoot();if(!(n instanceof ShadowRoot))throw new Error("TWMixin can only be applied to elements with shadow roots");return n?.adoptedStyleSheets?n.adoptedStyleSheets=[tr,...n.adoptedStyleSheets]:n.adoptedStyleSheets=[tr],n}}}const qs=async()=>{await new Promise(r=>{queueMicrotask(r)})};var Vs=Object.defineProperty,js=Object.getOwnPropertyDescriptor,_t=(r,e,n,s)=>{for(var l=s>1?void 0:s?js(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&Vs(e,n,l),l};const er=null,rr=null,fi=fetch,ir=null;let rt=class extends bt(L){constructor(){super(...arguments),this.stageRef=ct(),this.canvasRef=ct(),this.resizeObserver=new ResizeObserver(()=>{if(this.isConnected){const r=this.canvasRef.value,e=this.stageRef.value;if(e&&r){const n=e.clientWidth,s=e.clientHeight,l=r.clientWidth,c=r.clientHeight,d=n/s,o=l/c;if(d>o){const f=s/c;r.style.transform=`scale(${f})`}else{const f=n/l;r.style.transform=`scale(${f})`}}}}),this.focusContext=this,this.focusedElement=null,this.fetch=fetch,this.apiHost="",this.focusOverlay=ct(),this.drawOverlays=()=>{const r=this.focusOverlay.value;if(r)if(this.focusedElement){r.style.display="block";const e=this.focusedElement.getBoundingClientRect();Object.assign(r.style,{position:"absolute",top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,height:`${e.height}px`}),requestAnimationFrame(this.drawOverlays)}else r.style.display="none"}}connectedCallback(){super.connectedCallback(),this.resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver.unobserve(this)}handleStageWheel(r){r.preventDefault()}update(r){super.update(r),r.has("focusedElement")&&this.drawOverlays(),r.has("apiToken")&&(this.apiToken?this.fetch=(e,n={})=>(n.headers||={},Object.assign(n.headers,{Authorization:`Bearer ${this.apiToken}`,"Content-Type":"application/json"}),fetch(`${e}`,n)):this.fetch=fetch.bind(window))}render(){return E`
|
|
92
|
-
<div
|
|
93
|
-
class="grid h-full w-full"
|
|
94
|
-
style="grid-template-rows: 1fr 200px; grid-template-columns: 100%"
|
|
95
|
-
>
|
|
96
|
-
<div
|
|
97
|
-
${dt(this.stageRef)}
|
|
98
|
-
class="relative grid h-full w-full place-content-center place-items-center overflow-hidden"
|
|
99
|
-
@wheel=${this.handleStageWheel}
|
|
100
|
-
>
|
|
101
|
-
<slot
|
|
102
|
-
${dt(this.canvasRef)}
|
|
103
|
-
class="inline-block"
|
|
104
|
-
name="canvas"
|
|
105
|
-
></slot>
|
|
106
|
-
<div
|
|
107
|
-
class="border border-blue-500 bg-blue-200 bg-opacity-20"
|
|
108
|
-
${dt(this.focusOverlay)}
|
|
109
|
-
></div>
|
|
110
|
-
</div>
|
|
111
|
-
|
|
112
|
-
<slot class="overflow" name="timeline"></slot>
|
|
113
|
-
</div>
|
|
114
|
-
`}get efElements(){return Array.from(this.querySelectorAll("ef-audio, ef-video, ef-image, ef-captions, ef-waveform"))}async loadMd5Sums(){const r=this.efElements,e=[];r.forEach(n=>{const s=n.md5SumLoader;s instanceof $&&(s.run(),e.push(s.taskComplete))}),await Promise.all(e),r.map(n=>{"productionSrc"in n&&n.productionSrc instanceof Function&&n.setAttribute("src",n.productionSrc())})}get requiredAssets(){const r={};return Array.from(document.querySelectorAll("ef-audio, ef-video, ef-image, ef-captions, ef-waveform")).forEach(e=>{Object.entries(e.requiredAssets??{}).forEach(([n,s])=>{if(r[n])for(const l of s)r[n].add(l);else r[n]=new Set(s)})}),r}async stepThrough(){const r=33.333333333333336,n=si(this)[0];if(!n)throw new Error("No temporal elements found");n.currentTimeMs=0;const s=ni(this),l=s.filter(c=>c.frameTask.status<ei.COMPLETE).map(c=>c.frameTask);for(await Promise.all(l.map(c=>c.taskComplete));n.currentTimeMs<n.durationMs;){n.currentTimeMs+=r,await qs();const c=s.filter(d=>d.frameTask.status<ei.COMPLETE).map(d=>d.frameTask);await Promise.all(c.map(d=>d.taskComplete))}}};rt.styles=[ot`
|
|
115
|
-
:host {
|
|
116
|
-
display: block;
|
|
117
|
-
width: 100%;
|
|
118
|
-
height: 100%;
|
|
119
|
-
}
|
|
120
|
-
`],_t([be({passive:!1,capture:!0})],rt.prototype,"handleStageWheel",1),_t([jt({context:er})],rt.prototype,"focusContext",2),_t([jt({context:rr}),ht()],rt.prototype,"focusedElement",2),_t([jt({context:fi})],rt.prototype,"fetch",2),_t([P({type:String})],rt.prototype,"apiToken",2),_t([jt({context:ir}),P({type:String})],rt.prototype,"apiHost",2),rt=_t([B("ef-workbench")],rt);var Ws=Object.defineProperty,Xs=Object.getOwnPropertyDescriptor,Ks=(r,e,n,s)=>{for(var l=s>1?void 0:s?Xs(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&Ws(e,n,l),l};function nr(r){class e extends r{constructor(){super(...arguments),this.fetch=fetch.bind(window)}}return Ks([lt({context:fi,subscribe:!0}),ht()],e.prototype,"fetch",2),e}var Zs=Object.defineProperty,Qs=Object.getOwnPropertyDescriptor,ui=(r,e,n,s)=>{for(var l=s>1?void 0:s?Qs(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&Zs(e,n,l),l};function sr(r,e){class n extends r{constructor(){super(...arguments),this.src="",this.md5SumLoader=new $(this,{autoRun:!1,args:()=>[this.src],task:async([l],{signal:c})=>{const d=`/@ef-asset/${l}`;return(await fetch(d,{method:"HEAD",signal:c})).headers.get("etag")??void 0}})}productionSrc(){if(!this.md5SumLoader.value)throw new Error(`MD5 sum not available for ${this}. Cannot generate production URL`);if(!this.efHost)throw new Error(`efHost not available for ${this}. Cannot generate production URL`);return`${this.efHost}/api/video2/${e.assetType}/${this.md5SumLoader.value}`}}return ui([lt({context:ir,subscribe:!0}),ht()],n.prototype,"efHost",2),ui([P({type:String})],n.prototype,"src",2),n}var Js=Object.defineProperty,to=Object.getOwnPropertyDescriptor,eo=(r,e,n,s)=>{for(var l=s>1?void 0:s?to(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&Js(e,n,l),l};let Qt=class extends sr(nr(L),{assetType:"image_files"}){constructor(){super(...arguments),this.imageRef=ct(),this.fetchImage=new $(this,{args:()=>[this.assetPath(),this.fetch],task:async([r,e],{signal:n})=>{const s=await e(r,{signal:n});return URL.createObjectURL(await s.blob())}}),this.frameTask=new $(this,{args:()=>[this.fetchImage.status],task:async()=>{await this.fetchImage.taskComplete}})}render(){return E`<img ${dt(this.imageRef)} src="${this.fetchImage.value}" />`}assetPath(){return this.src.startsWith("http")?this.src:`/@ef-image/${this.src}`}};Qt.styles=[ot`
|
|
121
|
-
:host {
|
|
122
|
-
display: block;
|
|
123
|
-
}
|
|
124
|
-
img {
|
|
125
|
-
display: block;
|
|
126
|
-
width: 100%;
|
|
127
|
-
height: 100%;
|
|
128
|
-
object-fit: fill;
|
|
129
|
-
object-position: center;
|
|
130
|
-
}
|
|
131
|
-
`],Qt=eo([B("ef-image")],Qt);/**
|
|
132
|
-
* @license
|
|
133
|
-
* Copyright 2023 Google LLC
|
|
134
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
135
|
-
*/const ro=(r,e)=>r===e||r.length===e.length&&r.every((n,s)=>Se(n,e[s])),io=Object.prototype.valueOf,no=Object.prototype.toString,{keys:gi}=Object,{isArray:so}=Array,Se=(r,e)=>{if(Object.is(r,e))return!0;if(r!==null&&e!==null&&typeof r=="object"&&typeof e=="object"){if(r.constructor!==e.constructor)return!1;if(so(r))return r.length===e.length&&r.every((s,l)=>Se(s,e[l]));if(r.valueOf!==io)return r.valueOf()===e.valueOf();if(r.toString!==no)return r.toString()===e.toString();if(r instanceof Map&&e instanceof Map){if(r.size!==e.size)return!1;for(const[s,l]of r.entries())if(Se(l,e.get(s))===!1||l===void 0&&e.has(s)===!1)return!1;return!0}if(r instanceof Set&&e instanceof Set){if(r.size!==e.size)return!1;for(const s of r.keys())if(e.has(s)===!1)return!1;return!0}if(r instanceof RegExp)return r.source===e.source&&r.flags===e.flags;const n=gi(r);if(n.length!==gi(e).length)return!1;for(const s of n)if(!e.hasOwnProperty(s)||!Se(r[s],e[s]))return!1;return!0}return!1};var ke={};(function(r){var e=function(){var t=new Date,i=4,a=3,h=2,p=1,m=i,w={setLogLevel:function(v){v==this.debug?m=p:v==this.info?m=h:v==this.warn?m=a:(v==this.error,m=i)},debug:function(v,b){console.debug===void 0&&(console.debug=console.log),p>=m&&console.debug("["+e.getDurationString(new Date-t,1e3)+"]","["+v+"]",b)},log:function(v,b){this.debug(v.msg)},info:function(v,b){h>=m&&console.info("["+e.getDurationString(new Date-t,1e3)+"]","["+v+"]",b)},warn:function(v,b){a>=m&&console.warn("["+e.getDurationString(new Date-t,1e3)+"]","["+v+"]",b)},error:function(v,b){i>=m&&console.error("["+e.getDurationString(new Date-t,1e3)+"]","["+v+"]",b)}};return w}();e.getDurationString=function(t,i){var a;function h(_,x){for(var U=""+_,C=U.split(".");C[0].length<x;)C[0]="0"+C[0];return C.join(".")}t<0?(a=!0,t=-t):a=!1;var p=i||1,m=t/p,w=Math.floor(m/3600);m-=w*3600;var v=Math.floor(m/60);m-=v*60;var b=m*1e3;return m=Math.floor(m),b-=m*1e3,b=Math.floor(b),(a?"-":"")+w+":"+h(v,2)+":"+h(m,2)+"."+h(b,3)},e.printRanges=function(t){var i=t.length;if(i>0){for(var a="",h=0;h<i;h++)h>0&&(a+=","),a+="["+e.getDurationString(t.start(h))+","+e.getDurationString(t.end(h))+"]";return a}else return"(empty)"},r.Log=e;var n=function(t){if(t instanceof ArrayBuffer)this.buffer=t,this.dataview=new DataView(t);else throw"Needs an array buffer";this.position=0};n.prototype.getPosition=function(){return this.position},n.prototype.getEndPosition=function(){return this.buffer.byteLength},n.prototype.getLength=function(){return this.buffer.byteLength},n.prototype.seek=function(t){var i=Math.max(0,Math.min(this.buffer.byteLength,t));return this.position=isNaN(i)||!isFinite(i)?0:i,!0},n.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},n.prototype.readAnyInt=function(t,i){var a=0;if(this.position+t<=this.buffer.byteLength){switch(t){case 1:i?a=this.dataview.getInt8(this.position):a=this.dataview.getUint8(this.position);break;case 2:i?a=this.dataview.getInt16(this.position):a=this.dataview.getUint16(this.position);break;case 3:if(i)throw"No method for reading signed 24 bits values";a=this.dataview.getUint8(this.position)<<16,a|=this.dataview.getUint8(this.position+1)<<8,a|=this.dataview.getUint8(this.position+2);break;case 4:i?a=this.dataview.getInt32(this.position):a=this.dataview.getUint32(this.position);break;case 8:if(i)throw"No method for reading signed 64 bits values";a=this.dataview.getUint32(this.position)<<32,a|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+t}return this.position+=t,a}else throw"Not enough bytes in buffer"},n.prototype.readUint8=function(){return this.readAnyInt(1,!1)},n.prototype.readUint16=function(){return this.readAnyInt(2,!1)},n.prototype.readUint24=function(){return this.readAnyInt(3,!1)},n.prototype.readUint32=function(){return this.readAnyInt(4,!1)},n.prototype.readUint64=function(){return this.readAnyInt(8,!1)},n.prototype.readString=function(t){if(this.position+t<=this.buffer.byteLength){for(var i="",a=0;a<t;a++)i+=String.fromCharCode(this.readUint8());return i}else throw"Not enough bytes in buffer"},n.prototype.readCString=function(){for(var t=[];;){var i=this.readUint8();if(i!==0)t.push(i);else break}return String.fromCharCode.apply(null,t)},n.prototype.readInt8=function(){return this.readAnyInt(1,!0)},n.prototype.readInt16=function(){return this.readAnyInt(2,!0)},n.prototype.readInt32=function(){return this.readAnyInt(4,!0)},n.prototype.readInt64=function(){return this.readAnyInt(8,!1)},n.prototype.readUint8Array=function(t){for(var i=new Uint8Array(t),a=0;a<t;a++)i[a]=this.readUint8();return i},n.prototype.readInt16Array=function(t){for(var i=new Int16Array(t),a=0;a<t;a++)i[a]=this.readInt16();return i},n.prototype.readUint16Array=function(t){for(var i=new Int16Array(t),a=0;a<t;a++)i[a]=this.readUint16();return i},n.prototype.readUint32Array=function(t){for(var i=new Uint32Array(t),a=0;a<t;a++)i[a]=this.readUint32();return i},n.prototype.readInt32Array=function(t){for(var i=new Int32Array(t),a=0;a<t;a++)i[a]=this.readInt32();return i},r.MP4BoxStream=n;var s=function(t,i,a){this._byteOffset=i||0,t instanceof ArrayBuffer?this.buffer=t:typeof t=="object"?(this.dataView=t,i&&(this._byteOffset+=i)):this.buffer=new ArrayBuffer(t||0),this.position=0,this.endianness=a??s.LITTLE_ENDIAN};s.prototype={},s.prototype.getPosition=function(){return this.position},s.prototype._realloc=function(t){if(this._dynamicSize){var i=this._byteOffset+this.position+t,a=this._buffer.byteLength;if(i<=a){i>this._byteLength&&(this._byteLength=i);return}for(a<1&&(a=1);i>a;)a*=2;var h=new ArrayBuffer(a),p=new Uint8Array(this._buffer),m=new Uint8Array(h,0,p.length);m.set(p),this.buffer=h,this._byteLength=i}},s.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var t=new ArrayBuffer(this._byteLength),i=new Uint8Array(t),a=new Uint8Array(this._buffer,0,i.length);i.set(a),this.buffer=t}},s.BIG_ENDIAN=!1,s.LITTLE_ENDIAN=!0,s.prototype._byteLength=0,Object.defineProperty(s.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(s.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(t){this._buffer=t,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(s.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(t){this._byteOffset=t,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(s.prototype,"dataView",{get:function(){return this._dataView},set:function(t){this._byteOffset=t.byteOffset,this._buffer=t.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+t.byteLength}}),s.prototype.seek=function(t){var i=Math.max(0,Math.min(this.byteLength,t));this.position=isNaN(i)||!isFinite(i)?0:i},s.prototype.isEof=function(){return this.position>=this._byteLength},s.prototype.mapUint8Array=function(t){this._realloc(t*1);var i=new Uint8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=t*1,i},s.prototype.readInt32Array=function(t,i){t=t??this.byteLength-this.position/4;var a=new Int32Array(t);return s.memcpy(a.buffer,0,this.buffer,this.byteOffset+this.position,t*a.BYTES_PER_ELEMENT),s.arrayToNative(a,i??this.endianness),this.position+=a.byteLength,a},s.prototype.readInt16Array=function(t,i){t=t??this.byteLength-this.position/2;var a=new Int16Array(t);return s.memcpy(a.buffer,0,this.buffer,this.byteOffset+this.position,t*a.BYTES_PER_ELEMENT),s.arrayToNative(a,i??this.endianness),this.position+=a.byteLength,a},s.prototype.readInt8Array=function(t){t=t??this.byteLength-this.position;var i=new Int8Array(t);return s.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),this.position+=i.byteLength,i},s.prototype.readUint32Array=function(t,i){t=t??this.byteLength-this.position/4;var a=new Uint32Array(t);return s.memcpy(a.buffer,0,this.buffer,this.byteOffset+this.position,t*a.BYTES_PER_ELEMENT),s.arrayToNative(a,i??this.endianness),this.position+=a.byteLength,a},s.prototype.readUint16Array=function(t,i){t=t??this.byteLength-this.position/2;var a=new Uint16Array(t);return s.memcpy(a.buffer,0,this.buffer,this.byteOffset+this.position,t*a.BYTES_PER_ELEMENT),s.arrayToNative(a,i??this.endianness),this.position+=a.byteLength,a},s.prototype.readUint8Array=function(t){t=t??this.byteLength-this.position;var i=new Uint8Array(t);return s.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),this.position+=i.byteLength,i},s.prototype.readFloat64Array=function(t,i){t=t??this.byteLength-this.position/8;var a=new Float64Array(t);return s.memcpy(a.buffer,0,this.buffer,this.byteOffset+this.position,t*a.BYTES_PER_ELEMENT),s.arrayToNative(a,i??this.endianness),this.position+=a.byteLength,a},s.prototype.readFloat32Array=function(t,i){t=t??this.byteLength-this.position/4;var a=new Float32Array(t);return s.memcpy(a.buffer,0,this.buffer,this.byteOffset+this.position,t*a.BYTES_PER_ELEMENT),s.arrayToNative(a,i??this.endianness),this.position+=a.byteLength,a},s.prototype.readInt32=function(t){var i=this._dataView.getInt32(this.position,t??this.endianness);return this.position+=4,i},s.prototype.readInt16=function(t){var i=this._dataView.getInt16(this.position,t??this.endianness);return this.position+=2,i},s.prototype.readInt8=function(){var t=this._dataView.getInt8(this.position);return this.position+=1,t},s.prototype.readUint32=function(t){var i=this._dataView.getUint32(this.position,t??this.endianness);return this.position+=4,i},s.prototype.readUint16=function(t){var i=this._dataView.getUint16(this.position,t??this.endianness);return this.position+=2,i},s.prototype.readUint8=function(){var t=this._dataView.getUint8(this.position);return this.position+=1,t},s.prototype.readFloat32=function(t){var i=this._dataView.getFloat32(this.position,t??this.endianness);return this.position+=4,i},s.prototype.readFloat64=function(t){var i=this._dataView.getFloat64(this.position,t??this.endianness);return this.position+=8,i},s.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,s.memcpy=function(t,i,a,h,p){var m=new Uint8Array(t,i,p),w=new Uint8Array(a,h,p);m.set(w)},s.arrayToNative=function(t,i){return i==this.endianness?t:this.flipArrayEndianness(t)},s.nativeToEndian=function(t,i){return this.endianness==i?t:this.flipArrayEndianness(t)},s.flipArrayEndianness=function(t){for(var i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),a=0;a<t.byteLength;a+=t.BYTES_PER_ELEMENT)for(var h=a+t.BYTES_PER_ELEMENT-1,p=a;h>p;h--,p++){var m=i[p];i[p]=i[h],i[h]=m}return t},s.prototype.failurePosition=0,String.fromCharCodeUint8=function(t){for(var i=[],a=0;a<t.length;a++)i[a]=t[a];return String.fromCharCode.apply(null,i)},s.prototype.readString=function(t,i){return i==null||i=="ASCII"?String.fromCharCodeUint8.apply(null,[this.mapUint8Array(t??this.byteLength-this.position)]):new TextDecoder(i).decode(this.mapUint8Array(t))},s.prototype.readCString=function(t){var i=this.byteLength-this.position,a=new Uint8Array(this._buffer,this._byteOffset+this.position),h=i;t!=null&&(h=Math.min(t,i));for(var p=0;p<h&&a[p]!==0;p++);var m=String.fromCharCodeUint8.apply(null,[this.mapUint8Array(p)]);return t!=null?this.position+=h-p:p!=i&&(this.position+=1),m};var l=Math.pow(2,32);s.prototype.readInt64=function(){return this.readInt32()*l+this.readUint32()},s.prototype.readUint64=function(){return this.readUint32()*l+this.readUint32()},s.prototype.readInt64=function(){return this.readUint32()*l+this.readUint32()},s.prototype.readUint24=function(){return(this.readUint8()<<16)+(this.readUint8()<<8)+this.readUint8()},r.DataStream=s,s.prototype.save=function(t){var i=new Blob([this.buffer]);if(window.URL&&URL.createObjectURL){var a=window.URL.createObjectURL(i),h=document.createElement("a");document.body.appendChild(h),h.setAttribute("href",a),h.setAttribute("download",t),h.setAttribute("target","_self"),h.click(),window.URL.revokeObjectURL(a)}else throw"DataStream.save: Can't create object URL."},s.prototype._dynamicSize=!0,Object.defineProperty(s.prototype,"dynamicSize",{get:function(){return this._dynamicSize},set:function(t){t||this._trimAlloc(),this._dynamicSize=t}}),s.prototype.shift=function(t){var i=new ArrayBuffer(this._byteLength-t),a=new Uint8Array(i),h=new Uint8Array(this._buffer,t,a.length);a.set(h),this.buffer=i,this.position-=t},s.prototype.writeInt32Array=function(t,i){if(this._realloc(t.length*4),t instanceof Int32Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapInt32Array(t.length,i);else for(var a=0;a<t.length;a++)this.writeInt32(t[a],i)},s.prototype.writeInt16Array=function(t,i){if(this._realloc(t.length*2),t instanceof Int16Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapInt16Array(t.length,i);else for(var a=0;a<t.length;a++)this.writeInt16(t[a],i)},s.prototype.writeInt8Array=function(t){if(this._realloc(t.length*1),t instanceof Int8Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapInt8Array(t.length);else for(var i=0;i<t.length;i++)this.writeInt8(t[i])},s.prototype.writeUint32Array=function(t,i){if(this._realloc(t.length*4),t instanceof Uint32Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapUint32Array(t.length,i);else for(var a=0;a<t.length;a++)this.writeUint32(t[a],i)},s.prototype.writeUint16Array=function(t,i){if(this._realloc(t.length*2),t instanceof Uint16Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapUint16Array(t.length,i);else for(var a=0;a<t.length;a++)this.writeUint16(t[a],i)},s.prototype.writeUint8Array=function(t){if(this._realloc(t.length*1),t instanceof Uint8Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapUint8Array(t.length);else for(var i=0;i<t.length;i++)this.writeUint8(t[i])},s.prototype.writeFloat64Array=function(t,i){if(this._realloc(t.length*8),t instanceof Float64Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapFloat64Array(t.length,i);else for(var a=0;a<t.length;a++)this.writeFloat64(t[a],i)},s.prototype.writeFloat32Array=function(t,i){if(this._realloc(t.length*4),t instanceof Float32Array&&this.byteOffset+this.position%t.BYTES_PER_ELEMENT===0)s.memcpy(this._buffer,this.byteOffset+this.position,t.buffer,0,t.byteLength),this.mapFloat32Array(t.length,i);else for(var a=0;a<t.length;a++)this.writeFloat32(t[a],i)},s.prototype.writeInt32=function(t,i){this._realloc(4),this._dataView.setInt32(this.position,t,i??this.endianness),this.position+=4},s.prototype.writeInt16=function(t,i){this._realloc(2),this._dataView.setInt16(this.position,t,i??this.endianness),this.position+=2},s.prototype.writeInt8=function(t){this._realloc(1),this._dataView.setInt8(this.position,t),this.position+=1},s.prototype.writeUint32=function(t,i){this._realloc(4),this._dataView.setUint32(this.position,t,i??this.endianness),this.position+=4},s.prototype.writeUint16=function(t,i){this._realloc(2),this._dataView.setUint16(this.position,t,i??this.endianness),this.position+=2},s.prototype.writeUint8=function(t){this._realloc(1),this._dataView.setUint8(this.position,t),this.position+=1},s.prototype.writeFloat32=function(t,i){this._realloc(4),this._dataView.setFloat32(this.position,t,i??this.endianness),this.position+=4},s.prototype.writeFloat64=function(t,i){this._realloc(8),this._dataView.setFloat64(this.position,t,i??this.endianness),this.position+=8},s.prototype.writeUCS2String=function(t,i,a){a==null&&(a=t.length);for(var h=0;h<t.length&&h<a;h++)this.writeUint16(t.charCodeAt(h),i);for(;h<a;h++)this.writeUint16(0)},s.prototype.writeString=function(t,i,a){var h=0;if(i==null||i=="ASCII")if(a!=null){var p=Math.min(t.length,a);for(h=0;h<p;h++)this.writeUint8(t.charCodeAt(h));for(;h<a;h++)this.writeUint8(0)}else for(h=0;h<t.length;h++)this.writeUint8(t.charCodeAt(h));else this.writeUint8Array(new TextEncoder(i).encode(t.substring(0,a)))},s.prototype.writeCString=function(t,i){var a=0;if(i!=null){var h=Math.min(t.length,i);for(a=0;a<h;a++)this.writeUint8(t.charCodeAt(a));for(;a<i;a++)this.writeUint8(0)}else{for(a=0;a<t.length;a++)this.writeUint8(t.charCodeAt(a));this.writeUint8(0)}},s.prototype.writeStruct=function(t,i){for(var a=0;a<t.length;a+=2){var h=t[a+1];this.writeType(h,i[t[a]],i)}},s.prototype.writeType=function(t,i,a){var h;if(typeof t=="function")return t(this,i);if(typeof t=="object"&&!(t instanceof Array))return t.set(this,i,a);var p=null,m="ASCII",w=this.position;switch(typeof t=="string"&&/:/.test(t)&&(h=t.split(":"),t=h[0],p=parseInt(h[1])),typeof t=="string"&&/,/.test(t)&&(h=t.split(","),t=h[0],m=parseInt(h[1])),t){case"uint8":this.writeUint8(i);break;case"int8":this.writeInt8(i);break;case"uint16":this.writeUint16(i,this.endianness);break;case"int16":this.writeInt16(i,this.endianness);break;case"uint32":this.writeUint32(i,this.endianness);break;case"int32":this.writeInt32(i,this.endianness);break;case"float32":this.writeFloat32(i,this.endianness);break;case"float64":this.writeFloat64(i,this.endianness);break;case"uint16be":this.writeUint16(i,s.BIG_ENDIAN);break;case"int16be":this.writeInt16(i,s.BIG_ENDIAN);break;case"uint32be":this.writeUint32(i,s.BIG_ENDIAN);break;case"int32be":this.writeInt32(i,s.BIG_ENDIAN);break;case"float32be":this.writeFloat32(i,s.BIG_ENDIAN);break;case"float64be":this.writeFloat64(i,s.BIG_ENDIAN);break;case"uint16le":this.writeUint16(i,s.LITTLE_ENDIAN);break;case"int16le":this.writeInt16(i,s.LITTLE_ENDIAN);break;case"uint32le":this.writeUint32(i,s.LITTLE_ENDIAN);break;case"int32le":this.writeInt32(i,s.LITTLE_ENDIAN);break;case"float32le":this.writeFloat32(i,s.LITTLE_ENDIAN);break;case"float64le":this.writeFloat64(i,s.LITTLE_ENDIAN);break;case"cstring":this.writeCString(i,p);break;case"string":this.writeString(i,m,p);break;case"u16string":this.writeUCS2String(i,this.endianness,p);break;case"u16stringle":this.writeUCS2String(i,s.LITTLE_ENDIAN,p);break;case"u16stringbe":this.writeUCS2String(i,s.BIG_ENDIAN,p);break;default:if(t.length==3){for(var v=t[1],b=0;b<i.length;b++)this.writeType(v,i[b]);break}else{this.writeStruct(t,i);break}}p!=null&&(this.position=w,this._realloc(p),this.position=w+p)},s.prototype.writeUint64=function(t){var i=Math.floor(t/l);this.writeUint32(i),this.writeUint32(t&4294967295)},s.prototype.writeUint24=function(t){this.writeUint8((t&16711680)>>16),this.writeUint8((t&65280)>>8),this.writeUint8(t&255)},s.prototype.adjustUint32=function(t,i){var a=this.position;this.seek(t),this.writeUint32(i),this.seek(a)},s.prototype.mapInt32Array=function(t,i){this._realloc(t*4);var a=new Int32Array(this._buffer,this.byteOffset+this.position,t);return s.arrayToNative(a,i??this.endianness),this.position+=t*4,a},s.prototype.mapInt16Array=function(t,i){this._realloc(t*2);var a=new Int16Array(this._buffer,this.byteOffset+this.position,t);return s.arrayToNative(a,i??this.endianness),this.position+=t*2,a},s.prototype.mapInt8Array=function(t){this._realloc(t*1);var i=new Int8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=t*1,i},s.prototype.mapUint32Array=function(t,i){this._realloc(t*4);var a=new Uint32Array(this._buffer,this.byteOffset+this.position,t);return s.arrayToNative(a,i??this.endianness),this.position+=t*4,a},s.prototype.mapUint16Array=function(t,i){this._realloc(t*2);var a=new Uint16Array(this._buffer,this.byteOffset+this.position,t);return s.arrayToNative(a,i??this.endianness),this.position+=t*2,a},s.prototype.mapFloat64Array=function(t,i){this._realloc(t*8);var a=new Float64Array(this._buffer,this.byteOffset+this.position,t);return s.arrayToNative(a,i??this.endianness),this.position+=t*8,a},s.prototype.mapFloat32Array=function(t,i){this._realloc(t*4);var a=new Float32Array(this._buffer,this.byteOffset+this.position,t);return s.arrayToNative(a,i??this.endianness),this.position+=t*4,a};var c=function(t){this.buffers=[],this.bufferIndex=-1,t&&(this.insertBuffer(t),this.bufferIndex=0)};c.prototype=new s(new ArrayBuffer,0,s.BIG_ENDIAN),c.prototype.initialized=function(){var t;return this.bufferIndex>-1?!0:this.buffers.length>0?(t=this.buffers[0],t.fileStart===0?(this.buffer=t,this.bufferIndex=0,e.debug("MultiBufferStream","Stream ready for parsing"),!0):(e.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1)):(e.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1)},ArrayBuffer.concat=function(t,i){e.debug("ArrayBuffer","Trying to create a new buffer of size: "+(t.byteLength+i.byteLength));var a=new Uint8Array(t.byteLength+i.byteLength);return a.set(new Uint8Array(t),0),a.set(new Uint8Array(i),t.byteLength),a.buffer},c.prototype.reduceBuffer=function(t,i,a){var h;return h=new Uint8Array(a),h.set(new Uint8Array(t,i,a)),h.buffer.fileStart=t.fileStart+i,h.buffer.usedBytes=0,h.buffer},c.prototype.insertBuffer=function(t){for(var i=!0,a=0;a<this.buffers.length;a++){var h=this.buffers[a];if(t.fileStart<=h.fileStart){if(t.fileStart===h.fileStart)if(t.byteLength>h.byteLength){this.buffers.splice(a,1),a--;continue}else e.warn("MultiBufferStream","Buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+") already appended, ignoring");else t.fileStart+t.byteLength<=h.fileStart||(t=this.reduceBuffer(t,0,h.fileStart-t.fileStart)),e.debug("MultiBufferStream","Appending new buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+")"),this.buffers.splice(a,0,t),a===0&&(this.buffer=t);i=!1;break}else if(t.fileStart<h.fileStart+h.byteLength){var p=h.fileStart+h.byteLength-t.fileStart,m=t.byteLength-p;if(m>0)t=this.reduceBuffer(t,p,m);else{i=!1;break}}}i&&(e.debug("MultiBufferStream","Appending new buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+")"),this.buffers.push(t),a===0&&(this.buffer=t))},c.prototype.logBufferLevel=function(t){var i,a,h,p,m=[],w,v="";for(h=0,p=0,i=0;i<this.buffers.length;i++)a=this.buffers[i],i===0?(w={},m.push(w),w.start=a.fileStart,w.end=a.fileStart+a.byteLength,v+="["+w.start+"-"):w.end===a.fileStart?w.end=a.fileStart+a.byteLength:(w={},w.start=a.fileStart,v+=m[m.length-1].end-1+"], ["+w.start+"-",w.end=a.fileStart+a.byteLength,m.push(w)),h+=a.usedBytes,p+=a.byteLength;m.length>0&&(v+=w.end-1+"]");var b=t?e.info:e.debug;this.buffers.length===0?b("MultiBufferStream","No more buffer in memory"):b("MultiBufferStream",""+this.buffers.length+" stored buffer(s) ("+h+"/"+p+" bytes), continuous ranges: "+v)},c.prototype.cleanBuffers=function(){var t,i;for(t=0;t<this.buffers.length;t++)i=this.buffers[t],i.usedBytes===i.byteLength&&(e.debug("MultiBufferStream","Removing buffer #"+t),this.buffers.splice(t,1),t--)},c.prototype.mergeNextBuffer=function(){var t;if(this.bufferIndex+1<this.buffers.length)if(t=this.buffers[this.bufferIndex+1],t.fileStart===this.buffer.fileStart+this.buffer.byteLength){var i=this.buffer.byteLength,a=this.buffer.usedBytes,h=this.buffer.fileStart;return this.buffers[this.bufferIndex]=ArrayBuffer.concat(this.buffer,t),this.buffer=this.buffers[this.bufferIndex],this.buffers.splice(this.bufferIndex+1,1),this.buffer.usedBytes=a,this.buffer.fileStart=h,e.debug("ISOFile","Concatenating buffer for box parsing (length: "+i+"->"+this.buffer.byteLength+")"),!0}else return!1;else return!1},c.prototype.findPosition=function(t,i,a){var h,p=null,m=-1;for(t===!0?h=0:h=this.bufferIndex;h<this.buffers.length&&(p=this.buffers[h],p.fileStart<=i);){m=h,a&&(p.fileStart+p.byteLength<=i?p.usedBytes=p.byteLength:p.usedBytes=i-p.fileStart,this.logBufferLevel());h++}return m!==-1?(p=this.buffers[m],p.fileStart+p.byteLength>=i?(e.debug("MultiBufferStream","Found position in existing buffer #"+m),m):-1):-1},c.prototype.findEndContiguousBuf=function(t){var i,a,h,p=t!==void 0?t:this.bufferIndex;if(a=this.buffers[p],this.buffers.length>p+1)for(i=p+1;i<this.buffers.length&&(h=this.buffers[i],h.fileStart===a.fileStart+a.byteLength);i++)a=h;return a.fileStart+a.byteLength},c.prototype.getEndFilePositionAfter=function(t){var i=this.findPosition(!0,t,!1);return i!==-1?this.findEndContiguousBuf(i):t},c.prototype.addUsedBytes=function(t){this.buffer.usedBytes+=t,this.logBufferLevel()},c.prototype.setAllUsedBytes=function(){this.buffer.usedBytes=this.buffer.byteLength,this.logBufferLevel()},c.prototype.seek=function(t,i,a){var h;return h=this.findPosition(i,t,a),h!==-1?(this.buffer=this.buffers[h],this.bufferIndex=h,this.position=t-this.buffer.fileStart,e.debug("MultiBufferStream","Repositioning parser at buffer position: "+this.position),!0):(e.debug("MultiBufferStream","Position "+t+" not found in buffered data"),!1)},c.prototype.getPosition=function(){if(this.bufferIndex===-1||this.buffers[this.bufferIndex]===null)throw"Error accessing position in the MultiBufferStream";return this.buffers[this.bufferIndex].fileStart+this.position},c.prototype.getLength=function(){return this.byteLength},c.prototype.getEndPosition=function(){if(this.bufferIndex===-1||this.buffers[this.bufferIndex]===null)throw"Error accessing position in the MultiBufferStream";return this.buffers[this.bufferIndex].fileStart+this.byteLength},r.MultiBufferStream=c;var d=function(){var t=3,i=4,a=5,h=6,p=[];p[t]="ES_Descriptor",p[i]="DecoderConfigDescriptor",p[a]="DecoderSpecificInfo",p[h]="SLConfigDescriptor",this.getDescriptorName=function(v){return p[v]};var m=this,w={};return this.parseOneDescriptor=function(v){var b=0,_,x,U;for(_=v.readUint8(),U=v.readUint8();U&128;)b=(U&127)<<7,U=v.readUint8();return b+=U&127,e.debug("MPEG4DescriptorParser","Found "+(p[_]||"Descriptor "+_)+", size "+b+" at position "+v.getPosition()),p[_]?x=new w[p[_]](b):x=new w.Descriptor(b),x.parse(v),x},w.Descriptor=function(v,b){this.tag=v,this.size=b,this.descs=[]},w.Descriptor.prototype.parse=function(v){this.data=v.readUint8Array(this.size)},w.Descriptor.prototype.findDescriptor=function(v){for(var b=0;b<this.descs.length;b++)if(this.descs[b].tag==v)return this.descs[b];return null},w.Descriptor.prototype.parseRemainingDescriptors=function(v){for(var b=v.position;v.position<b+this.size;){var _=m.parseOneDescriptor(v);this.descs.push(_)}},w.ES_Descriptor=function(v){w.Descriptor.call(this,t,v)},w.ES_Descriptor.prototype=new w.Descriptor,w.ES_Descriptor.prototype.parse=function(v){if(this.ES_ID=v.readUint16(),this.flags=v.readUint8(),this.size-=3,this.flags&128?(this.dependsOn_ES_ID=v.readUint16(),this.size-=2):this.dependsOn_ES_ID=0,this.flags&64){var b=v.readUint8();this.URL=v.readString(b),this.size-=b+1}else this.URL="";this.flags&32?(this.OCR_ES_ID=v.readUint16(),this.size-=2):this.OCR_ES_ID=0,this.parseRemainingDescriptors(v)},w.ES_Descriptor.prototype.getOTI=function(v){var b=this.findDescriptor(i);return b?b.oti:0},w.ES_Descriptor.prototype.getAudioConfig=function(v){var b=this.findDescriptor(i);if(!b)return null;var _=b.findDescriptor(a);if(_&&_.data){var x=(_.data[0]&248)>>3;return x===31&&_.data.length>=2&&(x=32+((_.data[0]&7)<<3)+((_.data[1]&224)>>5)),x}else return null},w.DecoderConfigDescriptor=function(v){w.Descriptor.call(this,i,v)},w.DecoderConfigDescriptor.prototype=new w.Descriptor,w.DecoderConfigDescriptor.prototype.parse=function(v){this.oti=v.readUint8(),this.streamType=v.readUint8(),this.bufferSize=v.readUint24(),this.maxBitrate=v.readUint32(),this.avgBitrate=v.readUint32(),this.size-=13,this.parseRemainingDescriptors(v)},w.DecoderSpecificInfo=function(v){w.Descriptor.call(this,a,v)},w.DecoderSpecificInfo.prototype=new w.Descriptor,w.SLConfigDescriptor=function(v){w.Descriptor.call(this,h,v)},w.SLConfigDescriptor.prototype=new w.Descriptor,this};r.MPEG4DescriptorParser=d;var o={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){o.FullBox.prototype=new o.Box,o.ContainerBox.prototype=new o.Box,o.SampleEntry.prototype=new o.Box,o.TrackGroupTypeBox.prototype=new o.FullBox,o.BASIC_BOXES.forEach(function(t){o.createBoxCtor(t)}),o.FULL_BOXES.forEach(function(t){o.createFullBoxCtor(t)}),o.CONTAINER_BOXES.forEach(function(t){o.createContainerBoxCtor(t[0],null,t[1])})},Box:function(t,i,a){this.type=t,this.size=i,this.uuid=a},FullBox:function(t,i,a){o.Box.call(this,t,i,a),this.flags=0,this.version=0},ContainerBox:function(t,i,a){o.Box.call(this,t,i,a),this.boxes=[]},SampleEntry:function(t,i,a,h){o.ContainerBox.call(this,t,i),this.hdr_size=a,this.start=h},SampleGroupEntry:function(t){this.grouping_type=t},TrackGroupTypeBox:function(t,i){o.FullBox.call(this,t,i)},createBoxCtor:function(t,i){o.boxCodes.push(t),o[t+"Box"]=function(a){o.Box.call(this,t,a)},o[t+"Box"].prototype=new o.Box,i&&(o[t+"Box"].prototype.parse=i)},createFullBoxCtor:function(t,i){o[t+"Box"]=function(a){o.FullBox.call(this,t,a)},o[t+"Box"].prototype=new o.FullBox,o[t+"Box"].prototype.parse=function(a){this.parseFullHeader(a),i&&i.call(this,a)}},addSubBoxArrays:function(t){if(t){this.subBoxNames=t;for(var i=t.length,a=0;a<i;a++)this[t[a]+"s"]=[]}},createContainerBoxCtor:function(t,i,a){o[t+"Box"]=function(h){o.ContainerBox.call(this,t,h),o.addSubBoxArrays.call(this,a)},o[t+"Box"].prototype=new o.ContainerBox,i&&(o[t+"Box"].prototype.parse=i)},createMediaSampleEntryCtor:function(t,i,a){o.sampleEntryCodes[t]=[],o[t+"SampleEntry"]=function(h,p){o.SampleEntry.call(this,h,p),o.addSubBoxArrays.call(this,a)},o[t+"SampleEntry"].prototype=new o.SampleEntry,i&&(o[t+"SampleEntry"].prototype.parse=i)},createSampleEntryCtor:function(t,i,a,h){o.sampleEntryCodes[t].push(i),o[i+"SampleEntry"]=function(p){o[t+"SampleEntry"].call(this,i,p),o.addSubBoxArrays.call(this,h)},o[i+"SampleEntry"].prototype=new o[t+"SampleEntry"],a&&(o[i+"SampleEntry"].prototype.parse=a)},createEncryptedSampleEntryCtor:function(t,i,a){o.createSampleEntryCtor.call(this,t,i,a,["sinf"])},createSampleGroupCtor:function(t,i){o[t+"SampleGroupEntry"]=function(a){o.SampleGroupEntry.call(this,t,a)},o[t+"SampleGroupEntry"].prototype=new o.SampleGroupEntry,i&&(o[t+"SampleGroupEntry"].prototype.parse=i)},createTrackGroupCtor:function(t,i){o[t+"TrackGroupTypeBox"]=function(a){o.TrackGroupTypeBox.call(this,t,a)},o[t+"TrackGroupTypeBox"].prototype=new o.TrackGroupTypeBox,i&&(o[t+"TrackGroupTypeBox"].prototype.parse=i)},createUUIDBox:function(t,i,a,h){o.UUIDs.push(t),o.UUIDBoxes[t]=function(p){i?o.FullBox.call(this,"uuid",p,t):a?o.ContainerBox.call(this,"uuid",p,t):o.Box.call(this,"uuid",p,t)},o.UUIDBoxes[t].prototype=i?new o.FullBox:a?new o.ContainerBox:new o.Box,h&&(i?o.UUIDBoxes[t].prototype.parse=function(p){this.parseFullHeader(p),h&&h.call(this,p)}:o.UUIDBoxes[t].prototype.parse=h)}};o.initialize(),o.TKHD_FLAG_ENABLED=1,o.TKHD_FLAG_IN_MOVIE=2,o.TKHD_FLAG_IN_PREVIEW=4,o.TFHD_FLAG_BASE_DATA_OFFSET=1,o.TFHD_FLAG_SAMPLE_DESC=2,o.TFHD_FLAG_SAMPLE_DUR=8,o.TFHD_FLAG_SAMPLE_SIZE=16,o.TFHD_FLAG_SAMPLE_FLAGS=32,o.TFHD_FLAG_DUR_EMPTY=65536,o.TFHD_FLAG_DEFAULT_BASE_IS_MOOF=131072,o.TRUN_FLAGS_DATA_OFFSET=1,o.TRUN_FLAGS_FIRST_FLAG=4,o.TRUN_FLAGS_DURATION=256,o.TRUN_FLAGS_SIZE=512,o.TRUN_FLAGS_FLAGS=1024,o.TRUN_FLAGS_CTS_OFFSET=2048,o.Box.prototype.add=function(t){return this.addBox(new o[t+"Box"])},o.Box.prototype.addBox=function(t){return this.boxes.push(t),this[t.type+"s"]?this[t.type+"s"].push(t):this[t.type]=t,t},o.Box.prototype.set=function(t,i){return this[t]=i,this},o.Box.prototype.addEntry=function(t,i){var a=i||"entries";return this[a]||(this[a]=[]),this[a].push(t),this},r.BoxParser=o,o.parseUUID=function(t){return o.parseHex16(t)},o.parseHex16=function(t){for(var i="",a=0;a<16;a++){var h=t.readUint8().toString(16);i+=h.length===1?"0"+h:h}return i},o.parseOneBox=function(t,i,a){var h,p=t.getPosition(),m=0,w,v;if(t.getEndPosition()-p<8)return e.debug("BoxParser","Not enough data in stream to parse the type and size of the box"),{code:o.ERR_NOT_ENOUGH_DATA};if(a&&a<8)return e.debug("BoxParser","Not enough bytes left in the parent box to parse a new box"),{code:o.ERR_NOT_ENOUGH_DATA};var b=t.readUint32(),_=t.readString(4),x=_;if(e.debug("BoxParser","Found box of type '"+_+"' and size "+b+" at position "+p),m=8,_=="uuid"){if(t.getEndPosition()-t.getPosition()<16||a-m<16)return t.seek(p),e.debug("BoxParser","Not enough bytes left in the parent box to parse a UUID box"),{code:o.ERR_NOT_ENOUGH_DATA};v=o.parseUUID(t),m+=16,x=v}if(b==1){if(t.getEndPosition()-t.getPosition()<8||a&&a-m<8)return t.seek(p),e.warn("BoxParser",'Not enough data in stream to parse the extended size of the "'+_+'" box'),{code:o.ERR_NOT_ENOUGH_DATA};b=t.readUint64(),m+=8}else if(b===0){if(a)b=a;else if(_!=="mdat")return e.error("BoxParser","Unlimited box size not supported for type: '"+_+"'"),h=new o.Box(_,b),{code:o.OK,box:h,size:h.size}}return b!==0&&b<m?(e.error("BoxParser","Box of type "+_+" has an invalid size "+b+" (too small to be a box)"),{code:o.ERR_NOT_ENOUGH_DATA,type:_,size:b,hdr_size:m,start:p}):b!==0&&a&&b>a?(e.error("BoxParser","Box of type '"+_+"' has a size "+b+" greater than its container size "+a),{code:o.ERR_NOT_ENOUGH_DATA,type:_,size:b,hdr_size:m,start:p}):b!==0&&p+b>t.getEndPosition()?(t.seek(p),e.info("BoxParser","Not enough data in stream to parse the entire '"+_+"' box"),{code:o.ERR_NOT_ENOUGH_DATA,type:_,size:b,hdr_size:m,start:p}):i?{code:o.OK,type:_,size:b,hdr_size:m,start:p}:(o[_+"Box"]?h=new o[_+"Box"](b):_!=="uuid"?(e.warn("BoxParser","Unknown box type: '"+_+"'"),h=new o.Box(_,b),h.has_unparsed_data=!0):o.UUIDBoxes[v]?h=new o.UUIDBoxes[v](b):(e.warn("BoxParser","Unknown uuid type: '"+v+"'"),h=new o.Box(_,b),h.uuid=v,h.has_unparsed_data=!0),h.hdr_size=m,h.start=p,h.write===o.Box.prototype.write&&h.type!=="mdat"&&(e.info("BoxParser","'"+x+"' box writing not yet implemented, keeping unparsed data in memory for later write"),h.parseDataAndRewind(t)),h.parse(t),w=t.getPosition()-(h.start+h.size),w<0?(e.warn("BoxParser","Parsing of box '"+x+"' did not read the entire indicated box data size (missing "+-w+" bytes), seeking forward"),t.seek(h.start+h.size)):w>0&&(e.error("BoxParser","Parsing of box '"+x+"' read "+w+" more bytes than the indicated box data size, seeking backwards"),h.size!==0&&t.seek(h.start+h.size)),{code:o.OK,box:h,size:h.size})},o.Box.prototype.parse=function(t){this.type!="mdat"?this.data=t.readUint8Array(this.size-this.hdr_size):this.size===0?t.seek(t.getEndPosition()):t.seek(this.start+this.size)},o.Box.prototype.parseDataAndRewind=function(t){this.data=t.readUint8Array(this.size-this.hdr_size),t.position-=this.size-this.hdr_size},o.FullBox.prototype.parseDataAndRewind=function(t){this.parseFullHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,t.position-=this.size-this.hdr_size},o.FullBox.prototype.parseFullHeader=function(t){this.version=t.readUint8(),this.flags=t.readUint24(),this.hdr_size+=4},o.FullBox.prototype.parse=function(t){this.parseFullHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size)},o.ContainerBox.prototype.parse=function(t){for(var i,a;t.getPosition()<this.start+this.size;)if(i=o.parseOneBox(t,!1,this.size-(t.getPosition()-this.start)),i.code===o.OK)if(a=i.box,this.boxes.push(a),this.subBoxNames&&this.subBoxNames.indexOf(a.type)!=-1)this[this.subBoxNames[this.subBoxNames.indexOf(a.type)]+"s"].push(a);else{var h=a.type!=="uuid"?a.type:a.uuid;this[h]?e.warn("Box of type "+h+" already stored in field of this type"):this[h]=a}else return},o.Box.prototype.parseLanguage=function(t){this.language=t.readUint16();var i=[];i[0]=this.language>>10&31,i[1]=this.language>>5&31,i[2]=this.language&31,this.languageString=String.fromCharCode(i[0]+96,i[1]+96,i[2]+96)},o.SAMPLE_ENTRY_TYPE_VISUAL="Visual",o.SAMPLE_ENTRY_TYPE_AUDIO="Audio",o.SAMPLE_ENTRY_TYPE_HINT="Hint",o.SAMPLE_ENTRY_TYPE_METADATA="Metadata",o.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",o.SAMPLE_ENTRY_TYPE_SYSTEM="System",o.SAMPLE_ENTRY_TYPE_TEXT="Text",o.SampleEntry.prototype.parseHeader=function(t){t.readUint8Array(6),this.data_reference_index=t.readUint16(),this.hdr_size+=8},o.SampleEntry.prototype.parse=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size)},o.SampleEntry.prototype.parseDataAndRewind=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,t.position-=this.size-this.hdr_size},o.SampleEntry.prototype.parseFooter=function(t){o.ContainerBox.prototype.parse.call(this,t)},o.createMediaSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_HINT),o.createMediaSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_METADATA),o.createMediaSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SUBTITLE),o.createMediaSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SYSTEM),o.createMediaSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_TEXT),o.createMediaSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,function(t){var i;this.parseHeader(t),t.readUint16(),t.readUint16(),t.readUint32Array(3),this.width=t.readUint16(),this.height=t.readUint16(),this.horizresolution=t.readUint32(),this.vertresolution=t.readUint32(),t.readUint32(),this.frame_count=t.readUint16(),i=Math.min(31,t.readUint8()),this.compressorname=t.readString(i),i<31&&t.readString(31-i),this.depth=t.readUint16(),t.readUint16(),this.parseFooter(t)}),o.createMediaSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_AUDIO,function(t){this.parseHeader(t),t.readUint32Array(2),this.channel_count=t.readUint16(),this.samplesize=t.readUint16(),t.readUint16(),t.readUint16(),this.samplerate=t.readUint32()/65536,this.parseFooter(t)}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),o.createEncryptedSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),o.createEncryptedSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),o.createEncryptedSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),o.createEncryptedSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),o.createEncryptedSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_TEXT,"enct"),o.createEncryptedSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_METADATA,"encm"),o.createBoxCtor("a1lx",function(t){var i=t.readUint8()&1,a=((i&1)+1)*16;this.layer_size=[];for(var h=0;h<3;h++)a==16?this.layer_size[h]=t.readUint16():this.layer_size[h]=t.readUint32()}),o.createBoxCtor("a1op",function(t){this.op_index=t.readUint8()}),o.createFullBoxCtor("auxC",function(t){this.aux_type=t.readCString();var i=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=t.readUint8Array(i)}),o.createBoxCtor("av1C",function(t){var i=t.readUint8();if(i>>7&!1){e.error("av1C marker problem");return}if(this.version=i&127,this.version!==1){e.error("av1C version "+this.version+" not supported");return}if(i=t.readUint8(),this.seq_profile=i>>5&7,this.seq_level_idx_0=i&31,i=t.readUint8(),this.seq_tier_0=i>>7&1,this.high_bitdepth=i>>6&1,this.twelve_bit=i>>5&1,this.monochrome=i>>4&1,this.chroma_subsampling_x=i>>3&1,this.chroma_subsampling_y=i>>2&1,this.chroma_sample_position=i&3,i=t.readUint8(),this.reserved_1=i>>5&7,this.reserved_1!==0){e.error("av1C reserved_1 parsing problem");return}if(this.initial_presentation_delay_present=i>>4&1,this.initial_presentation_delay_present===1)this.initial_presentation_delay_minus_one=i&15;else if(this.reserved_2=i&15,this.reserved_2!==0){e.error("av1C reserved_2 parsing problem");return}var a=this.size-this.hdr_size-4;this.configOBUs=t.readUint8Array(a)}),o.createBoxCtor("avcC",function(t){var i,a;for(this.configurationVersion=t.readUint8(),this.AVCProfileIndication=t.readUint8(),this.profile_compatibility=t.readUint8(),this.AVCLevelIndication=t.readUint8(),this.lengthSizeMinusOne=t.readUint8()&3,this.nb_SPS_nalus=t.readUint8()&31,a=this.size-this.hdr_size-6,this.SPS=[],i=0;i<this.nb_SPS_nalus;i++)this.SPS[i]={},this.SPS[i].length=t.readUint16(),this.SPS[i].nalu=t.readUint8Array(this.SPS[i].length),a-=2+this.SPS[i].length;for(this.nb_PPS_nalus=t.readUint8(),a--,this.PPS=[],i=0;i<this.nb_PPS_nalus;i++)this.PPS[i]={},this.PPS[i].length=t.readUint16(),this.PPS[i].nalu=t.readUint8Array(this.PPS[i].length),a-=2+this.PPS[i].length;a>0&&(this.ext=t.readUint8Array(a))}),o.createBoxCtor("btrt",function(t){this.bufferSizeDB=t.readUint32(),this.maxBitrate=t.readUint32(),this.avgBitrate=t.readUint32()}),o.createBoxCtor("clap",function(t){this.cleanApertureWidthN=t.readUint32(),this.cleanApertureWidthD=t.readUint32(),this.cleanApertureHeightN=t.readUint32(),this.cleanApertureHeightD=t.readUint32(),this.horizOffN=t.readUint32(),this.horizOffD=t.readUint32(),this.vertOffN=t.readUint32(),this.vertOffD=t.readUint32()}),o.createBoxCtor("clli",function(t){this.max_content_light_level=t.readUint16(),this.max_pic_average_light_level=t.readUint16()}),o.createFullBoxCtor("co64",function(t){var i,a;if(i=t.readUint32(),this.chunk_offsets=[],this.version===0)for(a=0;a<i;a++)this.chunk_offsets.push(t.readUint64())}),o.createFullBoxCtor("CoLL",function(t){this.maxCLL=t.readUint16(),this.maxFALL=t.readUint16()}),o.createBoxCtor("colr",function(t){if(this.colour_type=t.readString(4),this.colour_type==="nclx"){this.colour_primaries=t.readUint16(),this.transfer_characteristics=t.readUint16(),this.matrix_coefficients=t.readUint16();var i=t.readUint8();this.full_range_flag=i>>7}else this.colour_type==="rICC"?this.ICC_profile=t.readUint8Array(this.size-4):this.colour_type==="prof"&&(this.ICC_profile=t.readUint8Array(this.size-4))}),o.createFullBoxCtor("cprt",function(t){this.parseLanguage(t),this.notice=t.readCString()}),o.createFullBoxCtor("cslg",function(t){this.version===0&&(this.compositionToDTSShift=t.readInt32(),this.leastDecodeToDisplayDelta=t.readInt32(),this.greatestDecodeToDisplayDelta=t.readInt32(),this.compositionStartTime=t.readInt32(),this.compositionEndTime=t.readInt32())}),o.createFullBoxCtor("ctts",function(t){var i,a;if(i=t.readUint32(),this.sample_counts=[],this.sample_offsets=[],this.version===0)for(a=0;a<i;a++){this.sample_counts.push(t.readUint32());var h=t.readInt32();h<0&&e.warn("BoxParser","ctts box uses negative values without using version 1"),this.sample_offsets.push(h)}else if(this.version==1)for(a=0;a<i;a++)this.sample_counts.push(t.readUint32()),this.sample_offsets.push(t.readInt32())}),o.createBoxCtor("dac3",function(t){var i=t.readUint8(),a=t.readUint8(),h=t.readUint8();this.fscod=i>>6,this.bsid=i>>1&31,this.bsmod=(i&1)<<2|a>>6&3,this.acmod=a>>3&7,this.lfeon=a>>2&1,this.bit_rate_code=a&3|h>>5&7}),o.createBoxCtor("dec3",function(t){var i=t.readUint16();this.data_rate=i>>3,this.num_ind_sub=i&7,this.ind_subs=[];for(var a=0;a<this.num_ind_sub+1;a++){var h={};this.ind_subs.push(h);var p=t.readUint8(),m=t.readUint8(),w=t.readUint8();h.fscod=p>>6,h.bsid=p>>1&31,h.bsmod=(p&1)<<4|m>>4&15,h.acmod=m>>1&7,h.lfeon=m&1,h.num_dep_sub=w>>1&15,h.num_dep_sub>0&&(h.chan_loc=(w&1)<<8|t.readUint8())}}),o.createFullBoxCtor("dfLa",function(t){var i=127,a=128,h=[],p=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];this.parseFullHeader(t);do{var m=t.readUint8(),w=Math.min(m&i,p.length-1);if(w?t.readUint8Array(t.readUint24()):(t.readUint8Array(13),this.samplerate=t.readUint32()>>12,t.readUint8Array(20)),h.push(p[w]),m&a)break}while(!0);this.numMetadataBlocks=h.length+" ("+h.join(", ")+")"}),o.createBoxCtor("dimm",function(t){this.bytessent=t.readUint64()}),o.createBoxCtor("dmax",function(t){this.time=t.readUint32()}),o.createBoxCtor("dmed",function(t){this.bytessent=t.readUint64()}),o.createBoxCtor("dOps",function(t){if(this.Version=t.readUint8(),this.OutputChannelCount=t.readUint8(),this.PreSkip=t.readUint16(),this.InputSampleRate=t.readUint32(),this.OutputGain=t.readInt16(),this.ChannelMappingFamily=t.readUint8(),this.ChannelMappingFamily!==0){this.StreamCount=t.readUint8(),this.CoupledCount=t.readUint8(),this.ChannelMapping=[];for(var i=0;i<this.OutputChannelCount;i++)this.ChannelMapping[i]=t.readUint8()}}),o.createFullBoxCtor("dref",function(t){var i,a;this.entries=[];for(var h=t.readUint32(),p=0;p<h;p++)if(i=o.parseOneBox(t,!1,this.size-(t.getPosition()-this.start)),i.code===o.OK)a=i.box,this.entries.push(a);else return}),o.createBoxCtor("drep",function(t){this.bytessent=t.readUint64()}),o.createFullBoxCtor("elng",function(t){this.extended_language=t.readString(this.size-this.hdr_size)}),o.createFullBoxCtor("elst",function(t){this.entries=[];for(var i=t.readUint32(),a=0;a<i;a++){var h={};this.entries.push(h),this.version===1?(h.segment_duration=t.readUint64(),h.media_time=t.readInt64()):(h.segment_duration=t.readUint32(),h.media_time=t.readInt32()),h.media_rate_integer=t.readInt16(),h.media_rate_fraction=t.readInt16()}}),o.createFullBoxCtor("emsg",function(t){this.version==1?(this.timescale=t.readUint32(),this.presentation_time=t.readUint64(),this.event_duration=t.readUint32(),this.id=t.readUint32(),this.scheme_id_uri=t.readCString(),this.value=t.readCString()):(this.scheme_id_uri=t.readCString(),this.value=t.readCString(),this.timescale=t.readUint32(),this.presentation_time_delta=t.readUint32(),this.event_duration=t.readUint32(),this.id=t.readUint32());var i=this.size-this.hdr_size-(4*4+(this.scheme_id_uri.length+1)+(this.value.length+1));this.version==1&&(i-=4),this.message_data=t.readUint8Array(i)}),o.createFullBoxCtor("esds",function(t){var i=t.readUint8Array(this.size-this.hdr_size);if(typeof d<"u"){var a=new d;this.esd=a.parseOneDescriptor(new s(i.buffer,0,s.BIG_ENDIAN))}}),o.createBoxCtor("fiel",function(t){this.fieldCount=t.readUint8(),this.fieldOrdering=t.readUint8()}),o.createBoxCtor("frma",function(t){this.data_format=t.readString(4)}),o.createBoxCtor("ftyp",function(t){var i=this.size-this.hdr_size;this.major_brand=t.readString(4),this.minor_version=t.readUint32(),i-=8,this.compatible_brands=[];for(var a=0;i>=4;)this.compatible_brands[a]=t.readString(4),i-=4,a++}),o.createFullBoxCtor("hdlr",function(t){this.version===0&&(t.readUint32(),this.handler=t.readString(4),t.readUint32Array(3),this.name=t.readString(this.size-this.hdr_size-20),this.name[this.name.length-1]==="\0"&&(this.name=this.name.slice(0,-1)))}),o.createBoxCtor("hvcC",function(t){var i,a,h,p;this.configurationVersion=t.readUint8(),p=t.readUint8(),this.general_profile_space=p>>6,this.general_tier_flag=(p&32)>>5,this.general_profile_idc=p&31,this.general_profile_compatibility=t.readUint32(),this.general_constraint_indicator=t.readUint8Array(6),this.general_level_idc=t.readUint8(),this.min_spatial_segmentation_idc=t.readUint16()&4095,this.parallelismType=t.readUint8()&3,this.chroma_format_idc=t.readUint8()&3,this.bit_depth_luma_minus8=t.readUint8()&7,this.bit_depth_chroma_minus8=t.readUint8()&7,this.avgFrameRate=t.readUint16(),p=t.readUint8(),this.constantFrameRate=p>>6,this.numTemporalLayers=(p&13)>>3,this.temporalIdNested=(p&4)>>2,this.lengthSizeMinusOne=p&3,this.nalu_arrays=[];var m=t.readUint8();for(i=0;i<m;i++){var w=[];this.nalu_arrays.push(w),p=t.readUint8(),w.completeness=(p&128)>>7,w.nalu_type=p&63;var v=t.readUint16();for(a=0;a<v;a++){var b={};w.push(b),h=t.readUint16(),b.data=t.readUint8Array(h)}}}),o.createFullBoxCtor("iinf",function(t){var i;this.version===0?this.entry_count=t.readUint16():this.entry_count=t.readUint32(),this.item_infos=[];for(var a=0;a<this.entry_count;a++)if(i=o.parseOneBox(t,!1,this.size-(t.getPosition()-this.start)),i.code===o.OK)i.box.type!=="infe"&&e.error("BoxParser","Expected 'infe' box, got "+i.box.type),this.item_infos[a]=i.box;else return}),o.createFullBoxCtor("iloc",function(t){var i;i=t.readUint8(),this.offset_size=i>>4&15,this.length_size=i&15,i=t.readUint8(),this.base_offset_size=i>>4&15,this.version===1||this.version===2?this.index_size=i&15:this.index_size=0,this.items=[];var a=0;if(this.version<2)a=t.readUint16();else if(this.version===2)a=t.readUint32();else throw"version of iloc box not supported";for(var h=0;h<a;h++){var p={};if(this.items.push(p),this.version<2)p.item_ID=t.readUint16();else if(this.version===2)p.item_ID=t.readUint16();else throw"version of iloc box not supported";switch(this.version===1||this.version===2?p.construction_method=t.readUint16()&15:p.construction_method=0,p.data_reference_index=t.readUint16(),this.base_offset_size){case 0:p.base_offset=0;break;case 4:p.base_offset=t.readUint32();break;case 8:p.base_offset=t.readUint64();break;default:throw"Error reading base offset size"}var m=t.readUint16();p.extents=[];for(var w=0;w<m;w++){var v={};if(p.extents.push(v),this.version===1||this.version===2)switch(this.index_size){case 0:v.extent_index=0;break;case 4:v.extent_index=t.readUint32();break;case 8:v.extent_index=t.readUint64();break;default:throw"Error reading extent index"}switch(this.offset_size){case 0:v.extent_offset=0;break;case 4:v.extent_offset=t.readUint32();break;case 8:v.extent_offset=t.readUint64();break;default:throw"Error reading extent index"}switch(this.length_size){case 0:v.extent_length=0;break;case 4:v.extent_length=t.readUint32();break;case 8:v.extent_length=t.readUint64();break;default:throw"Error reading extent index"}}}}),o.createBoxCtor("imir",function(t){var i=t.readUint8();this.reserved=i>>7,this.axis=i&1}),o.createFullBoxCtor("infe",function(t){if((this.version===0||this.version===1)&&(this.item_ID=t.readUint16(),this.item_protection_index=t.readUint16(),this.item_name=t.readCString(),this.content_type=t.readCString(),this.content_encoding=t.readCString()),this.version===1){this.extension_type=t.readString(4),e.warn("BoxParser","Cannot parse extension type"),t.seek(this.start+this.size);return}this.version>=2&&(this.version===2?this.item_ID=t.readUint16():this.version===3&&(this.item_ID=t.readUint32()),this.item_protection_index=t.readUint16(),this.item_type=t.readString(4),this.item_name=t.readCString(),this.item_type==="mime"?(this.content_type=t.readCString(),this.content_encoding=t.readCString()):this.item_type==="uri "&&(this.item_uri_type=t.readCString()))}),o.createFullBoxCtor("ipma",function(t){var i,a;for(entry_count=t.readUint32(),this.associations=[],i=0;i<entry_count;i++){var h={};this.associations.push(h),this.version<1?h.id=t.readUint16():h.id=t.readUint32();var p=t.readUint8();for(h.props=[],a=0;a<p;a++){var m=t.readUint8(),w={};h.props.push(w),w.essential=(m&128)>>7===1,this.flags&1?w.property_index=(m&127)<<8|t.readUint8():w.property_index=m&127}}}),o.createFullBoxCtor("iref",function(t){var i,a;for(this.references=[];t.getPosition()<this.start+this.size;)if(i=o.parseOneBox(t,!0,this.size-(t.getPosition()-this.start)),i.code===o.OK)this.version===0?a=new o.SingleItemTypeReferenceBox(i.type,i.size,i.hdr_size,i.start):a=new o.SingleItemTypeReferenceBoxLarge(i.type,i.size,i.hdr_size,i.start),a.write===o.Box.prototype.write&&a.type!=="mdat"&&(e.warn("BoxParser",a.type+" box writing not yet implemented, keeping unparsed data in memory for later write"),a.parseDataAndRewind(t)),a.parse(t),this.references.push(a);else return}),o.createBoxCtor("irot",function(t){this.angle=t.readUint8()&3}),o.createFullBoxCtor("ispe",function(t){this.image_width=t.readUint32(),this.image_height=t.readUint32()}),o.createFullBoxCtor("kind",function(t){this.schemeURI=t.readCString(),this.value=t.readCString()}),o.createFullBoxCtor("leva",function(t){var i=t.readUint8();this.levels=[];for(var a=0;a<i;a++){var h={};this.levels[a]=h,h.track_ID=t.readUint32();var p=t.readUint8();switch(h.padding_flag=p>>7,h.assignment_type=p&127,h.assignment_type){case 0:h.grouping_type=t.readString(4);break;case 1:h.grouping_type=t.readString(4),h.grouping_type_parameter=t.readUint32();break;case 2:break;case 3:break;case 4:h.sub_track_id=t.readUint32();break;default:e.warn("BoxParser","Unknown leva assignement type")}}}),o.createBoxCtor("lsel",function(t){this.layer_id=t.readUint16()}),o.createBoxCtor("maxr",function(t){this.period=t.readUint32(),this.bytes=t.readUint32()}),o.createBoxCtor("mdcv",function(t){this.display_primaries=[],this.display_primaries[0]={},this.display_primaries[0].x=t.readUint16(),this.display_primaries[0].y=t.readUint16(),this.display_primaries[1]={},this.display_primaries[1].x=t.readUint16(),this.display_primaries[1].y=t.readUint16(),this.display_primaries[2]={},this.display_primaries[2].x=t.readUint16(),this.display_primaries[2].y=t.readUint16(),this.white_point={},this.white_point.x=t.readUint16(),this.white_point.y=t.readUint16(),this.max_display_mastering_luminance=t.readUint32(),this.min_display_mastering_luminance=t.readUint32()}),o.createFullBoxCtor("mdhd",function(t){this.version==1?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.parseLanguage(t),t.readUint16()}),o.createFullBoxCtor("mehd",function(t){this.flags&1&&(e.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),this.version==1?this.fragment_duration=t.readUint64():this.fragment_duration=t.readUint32()}),o.createFullBoxCtor("meta",function(t){this.boxes=[],o.ContainerBox.prototype.parse.call(this,t)}),o.createFullBoxCtor("mfhd",function(t){this.sequence_number=t.readUint32()}),o.createFullBoxCtor("mfro",function(t){this._size=t.readUint32()}),o.createFullBoxCtor("mvhd",function(t){this.version==1?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.rate=t.readUint32(),this.volume=t.readUint16()>>8,t.readUint16(),t.readUint32Array(2),this.matrix=t.readUint32Array(9),t.readUint32Array(6),this.next_track_id=t.readUint32()}),o.createBoxCtor("npck",function(t){this.packetssent=t.readUint32()}),o.createBoxCtor("nump",function(t){this.packetssent=t.readUint64()}),o.createFullBoxCtor("padb",function(t){var i=t.readUint32();this.padbits=[];for(var a=0;a<Math.floor((i+1)/2);a++)this.padbits=t.readUint8()}),o.createBoxCtor("pasp",function(t){this.hSpacing=t.readUint32(),this.vSpacing=t.readUint32()}),o.createBoxCtor("payl",function(t){this.text=t.readString(this.size-this.hdr_size)}),o.createBoxCtor("payt",function(t){this.payloadID=t.readUint32();var i=t.readUint8();this.rtpmap_string=t.readString(i)}),o.createFullBoxCtor("pdin",function(t){var i=(this.size-this.hdr_size)/8;this.rate=[],this.initial_delay=[];for(var a=0;a<i;a++)this.rate[a]=t.readUint32(),this.initial_delay[a]=t.readUint32()}),o.createFullBoxCtor("pitm",function(t){this.version===0?this.item_id=t.readUint16():this.item_id=t.readUint32()}),o.createFullBoxCtor("pixi",function(t){var i;for(this.num_channels=t.readUint8(),this.bits_per_channels=[],i=0;i<this.num_channels;i++)this.bits_per_channels[i]=t.readUint8()}),o.createBoxCtor("pmax",function(t){this.bytes=t.readUint32()}),o.createFullBoxCtor("prft",function(t){this.ref_track_id=t.readUint32(),this.ntp_timestamp=t.readUint64(),this.version===0?this.media_time=t.readUint32():this.media_time=t.readUint64()}),o.createFullBoxCtor("pssh",function(t){if(this.system_id=o.parseHex16(t),this.version>0){var i=t.readUint32();this.kid=[];for(var a=0;a<i;a++)this.kid[a]=o.parseHex16(t)}var h=t.readUint32();h>0&&(this.data=t.readUint8Array(h))}),o.createFullBoxCtor("clef",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),o.createFullBoxCtor("enof",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),o.createFullBoxCtor("prof",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),o.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),o.createBoxCtor("rtp ",function(t){this.descriptionformat=t.readString(4),this.sdptext=t.readString(this.size-this.hdr_size-4)}),o.createFullBoxCtor("saio",function(t){this.flags&1&&(this.aux_info_type=t.readUint32(),this.aux_info_type_parameter=t.readUint32());var i=t.readUint32();this.offset=[];for(var a=0;a<i;a++)this.version===0?this.offset[a]=t.readUint32():this.offset[a]=t.readUint64()}),o.createFullBoxCtor("saiz",function(t){this.flags&1&&(this.aux_info_type=t.readUint32(),this.aux_info_type_parameter=t.readUint32()),this.default_sample_info_size=t.readUint8();var i=t.readUint32();if(this.sample_info_size=[],this.default_sample_info_size===0)for(var a=0;a<i;a++)this.sample_info_size[a]=t.readUint8()}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_METADATA,"mett",function(t){this.parseHeader(t),this.content_encoding=t.readCString(),this.mime_format=t.readCString(),this.parseFooter(t)}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_METADATA,"metx",function(t){this.parseHeader(t),this.content_encoding=t.readCString(),this.namespace=t.readCString(),this.schema_location=t.readCString(),this.parseFooter(t)}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SUBTITLE,"sbtt",function(t){this.parseHeader(t),this.content_encoding=t.readCString(),this.mime_format=t.readCString(),this.parseFooter(t)}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SUBTITLE,"stpp",function(t){this.parseHeader(t),this.namespace=t.readCString(),this.schema_location=t.readCString(),this.auxiliary_mime_types=t.readCString(),this.parseFooter(t)}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SUBTITLE,"stxt",function(t){this.parseHeader(t),this.content_encoding=t.readCString(),this.mime_format=t.readCString(),this.parseFooter(t)}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_SUBTITLE,"tx3g",function(t){this.parseHeader(t),this.displayFlags=t.readUint32(),this.horizontal_justification=t.readInt8(),this.vertical_justification=t.readInt8(),this.bg_color_rgba=t.readUint8Array(4),this.box_record=t.readInt16Array(4),this.style_record=t.readUint8Array(12),this.parseFooter(t)}),o.createSampleEntryCtor(o.SAMPLE_ENTRY_TYPE_METADATA,"wvtt",function(t){this.parseHeader(t),this.parseFooter(t)}),o.createSampleGroupCtor("alst",function(t){var i,a=t.readUint16();for(this.first_output_sample=t.readUint16(),this.sample_offset=[],i=0;i<a;i++)this.sample_offset[i]=t.readUint32();var h=this.description_length-4-4*a;for(this.num_output_samples=[],this.num_total_samples=[],i=0;i<h/4;i++)this.num_output_samples[i]=t.readUint16(),this.num_total_samples[i]=t.readUint16()}),o.createSampleGroupCtor("avll",function(t){this.layerNumber=t.readUint8(),this.accurateStatisticsFlag=t.readUint8(),this.avgBitRate=t.readUint16(),this.avgFrameRate=t.readUint16()}),o.createSampleGroupCtor("avss",function(t){this.subSequenceIdentifier=t.readUint16(),this.layerNumber=t.readUint8();var i=t.readUint8();this.durationFlag=i>>7,this.avgRateFlag=i>>6&1,this.durationFlag&&(this.duration=t.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=t.readUint8(),this.avgBitRate=t.readUint16(),this.avgFrameRate=t.readUint16()),this.dependency=[];for(var a=t.readUint8(),h=0;h<a;h++){var p={};this.dependency.push(p),p.subSeqDirectionFlag=t.readUint8(),p.layerNumber=t.readUint8(),p.subSequenceIdentifier=t.readUint16()}}),o.createSampleGroupCtor("dtrt",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createSampleGroupCtor("mvif",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createSampleGroupCtor("prol",function(t){this.roll_distance=t.readInt16()}),o.createSampleGroupCtor("rap ",function(t){var i=t.readUint8();this.num_leading_samples_known=i>>7,this.num_leading_samples=i&127}),o.createSampleGroupCtor("rash",function(t){if(this.operation_point_count=t.readUint16(),this.description_length!==2+(this.operation_point_count===1?2:this.operation_point_count*6)+9)e.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=t.readUint8Array(this.description_length-2);else{if(this.operation_point_count===1)this.target_rate_share=t.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var i=0;i<this.operation_point_count;i++)this.available_bitrate[i]=t.readUint32(),this.target_rate_share[i]=t.readUint16()}this.maximum_bitrate=t.readUint32(),this.minimum_bitrate=t.readUint32(),this.discard_priority=t.readUint8()}}),o.createSampleGroupCtor("roll",function(t){this.roll_distance=t.readInt16()}),o.SampleGroupEntry.prototype.parse=function(t){e.warn("BoxParser","Unknown Sample Group type: "+this.grouping_type),this.data=t.readUint8Array(this.description_length)},o.createSampleGroupCtor("scif",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createSampleGroupCtor("scnm",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createSampleGroupCtor("seig",function(t){this.reserved=t.readUint8();var i=t.readUint8();this.crypt_byte_block=i>>4,this.skip_byte_block=i&15,this.isProtected=t.readUint8(),this.Per_Sample_IV_Size=t.readUint8(),this.KID=o.parseHex16(t),this.constant_IV_size=0,this.constant_IV=0,this.isProtected===1&&this.Per_Sample_IV_Size===0&&(this.constant_IV_size=t.readUint8(),this.constant_IV=t.readUint8Array(this.constant_IV_size))}),o.createSampleGroupCtor("stsa",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createSampleGroupCtor("sync",function(t){var i=t.readUint8();this.NAL_unit_type=i&63}),o.createSampleGroupCtor("tele",function(t){var i=t.readUint8();this.level_independently_decodable=i>>7}),o.createSampleGroupCtor("tsas",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createSampleGroupCtor("tscl",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createSampleGroupCtor("vipr",function(t){e.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),o.createFullBoxCtor("sbgp",function(t){this.grouping_type=t.readString(4),this.version===1?this.grouping_type_parameter=t.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var i=t.readUint32(),a=0;a<i;a++){var h={};this.entries.push(h),h.sample_count=t.readInt32(),h.group_description_index=t.readInt32()}}),o.createFullBoxCtor("schm",function(t){this.scheme_type=t.readString(4),this.scheme_version=t.readUint32(),this.flags&1&&(this.scheme_uri=t.readString(this.size-this.hdr_size-8))}),o.createBoxCtor("sdp ",function(t){this.sdptext=t.readString(this.size-this.hdr_size)}),o.createFullBoxCtor("sdtp",function(t){var i,a=this.size-this.hdr_size;this.is_leading=[],this.sample_depends_on=[],this.sample_is_depended_on=[],this.sample_has_redundancy=[];for(var h=0;h<a;h++)i=t.readUint8(),this.is_leading[h]=i>>6,this.sample_depends_on[h]=i>>4&3,this.sample_is_depended_on[h]=i>>2&3,this.sample_has_redundancy[h]=i&3}),o.createFullBoxCtor("senc"),o.createFullBoxCtor("sgpd",function(t){this.grouping_type=t.readString(4),e.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),this.version===1?this.default_length=t.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=t.readUint32()),this.entries=[];for(var i=t.readUint32(),a=0;a<i;a++){var h;o[this.grouping_type+"SampleGroupEntry"]?h=new o[this.grouping_type+"SampleGroupEntry"](this.grouping_type):h=new o.SampleGroupEntry(this.grouping_type),this.entries.push(h),this.version===1?this.default_length===0?h.description_length=t.readUint32():h.description_length=this.default_length:h.description_length=this.default_length,h.write===o.SampleGroupEntry.prototype.write&&(e.info("BoxParser","SampleGroup for type "+this.grouping_type+" writing not yet implemented, keeping unparsed data in memory for later write"),h.data=t.readUint8Array(h.description_length),t.position-=h.description_length),h.parse(t)}}),o.createFullBoxCtor("sidx",function(t){this.reference_ID=t.readUint32(),this.timescale=t.readUint32(),this.version===0?(this.earliest_presentation_time=t.readUint32(),this.first_offset=t.readUint32()):(this.earliest_presentation_time=t.readUint64(),this.first_offset=t.readUint64()),t.readUint16(),this.references=[];for(var i=t.readUint16(),a=0;a<i;a++){var h={};this.references.push(h);var p=t.readUint32();h.reference_type=p>>31&1,h.referenced_size=p&2147483647,h.subsegment_duration=t.readUint32(),p=t.readUint32(),h.starts_with_SAP=p>>31&1,h.SAP_type=p>>28&7,h.SAP_delta_time=p&268435455}}),o.SingleItemTypeReferenceBox=function(t,i,a,h){o.Box.call(this,t,i),this.hdr_size=a,this.start=h},o.SingleItemTypeReferenceBox.prototype=new o.Box,o.SingleItemTypeReferenceBox.prototype.parse=function(t){this.from_item_ID=t.readUint16();var i=t.readUint16();this.references=[];for(var a=0;a<i;a++)this.references[a]=t.readUint16()},o.SingleItemTypeReferenceBoxLarge=function(t,i,a,h){o.Box.call(this,t,i),this.hdr_size=a,this.start=h},o.SingleItemTypeReferenceBoxLarge.prototype=new o.Box,o.SingleItemTypeReferenceBoxLarge.prototype.parse=function(t){this.from_item_ID=t.readUint32();var i=t.readUint16();this.references=[];for(var a=0;a<i;a++)this.references[a]=t.readUint32()},o.createFullBoxCtor("SmDm",function(t){this.primaryRChromaticity_x=t.readUint16(),this.primaryRChromaticity_y=t.readUint16(),this.primaryGChromaticity_x=t.readUint16(),this.primaryGChromaticity_y=t.readUint16(),this.primaryBChromaticity_x=t.readUint16(),this.primaryBChromaticity_y=t.readUint16(),this.whitePointChromaticity_x=t.readUint16(),this.whitePointChromaticity_y=t.readUint16(),this.luminanceMax=t.readUint32(),this.luminanceMin=t.readUint32()}),o.createFullBoxCtor("smhd",function(t){this.balance=t.readUint16(),t.readUint16()}),o.createFullBoxCtor("ssix",function(t){this.subsegments=[];for(var i=t.readUint32(),a=0;a<i;a++){var h={};this.subsegments.push(h),h.ranges=[];for(var p=t.readUint32(),m=0;m<p;m++){var w={};h.ranges.push(w),w.level=t.readUint8(),w.range_size=t.readUint24()}}}),o.createFullBoxCtor("stco",function(t){var i;if(i=t.readUint32(),this.chunk_offsets=[],this.version===0)for(var a=0;a<i;a++)this.chunk_offsets.push(t.readUint32())}),o.createFullBoxCtor("stdp",function(t){var i=(this.size-this.hdr_size)/2;this.priority=[];for(var a=0;a<i;a++)this.priority[a]=t.readUint16()}),o.createFullBoxCtor("sthd"),o.createFullBoxCtor("stri",function(t){this.switch_group=t.readUint16(),this.alternate_group=t.readUint16(),this.sub_track_id=t.readUint32();var i=(this.size-this.hdr_size-8)/4;this.attribute_list=[];for(var a=0;a<i;a++)this.attribute_list[a]=t.readUint32()}),o.createFullBoxCtor("stsc",function(t){var i,a;if(i=t.readUint32(),this.first_chunk=[],this.samples_per_chunk=[],this.sample_description_index=[],this.version===0)for(a=0;a<i;a++)this.first_chunk.push(t.readUint32()),this.samples_per_chunk.push(t.readUint32()),this.sample_description_index.push(t.readUint32())}),o.createFullBoxCtor("stsd",function(t){var i,a,h,p;for(this.entries=[],h=t.readUint32(),i=1;i<=h;i++)if(a=o.parseOneBox(t,!0,this.size-(t.getPosition()-this.start)),a.code===o.OK)o[a.type+"SampleEntry"]?(p=new o[a.type+"SampleEntry"](a.size),p.hdr_size=a.hdr_size,p.start=a.start):(e.warn("BoxParser","Unknown sample entry type: "+a.type),p=new o.SampleEntry(a.type,a.size,a.hdr_size,a.start)),p.write===o.SampleEntry.prototype.write&&(e.info("BoxParser","SampleEntry "+p.type+" box writing not yet implemented, keeping unparsed data in memory for later write"),p.parseDataAndRewind(t)),p.parse(t),this.entries.push(p);else return}),o.createFullBoxCtor("stsg",function(t){this.grouping_type=t.readUint32();var i=t.readUint16();this.group_description_index=[];for(var a=0;a<i;a++)this.group_description_index[a]=t.readUint32()}),o.createFullBoxCtor("stsh",function(t){var i,a;if(i=t.readUint32(),this.shadowed_sample_numbers=[],this.sync_sample_numbers=[],this.version===0)for(a=0;a<i;a++)this.shadowed_sample_numbers.push(t.readUint32()),this.sync_sample_numbers.push(t.readUint32())}),o.createFullBoxCtor("stss",function(t){var i,a;if(a=t.readUint32(),this.version===0)for(this.sample_numbers=[],i=0;i<a;i++)this.sample_numbers.push(t.readUint32())}),o.createFullBoxCtor("stsz",function(t){var i;if(this.sample_sizes=[],this.version===0)for(this.sample_size=t.readUint32(),this.sample_count=t.readUint32(),i=0;i<this.sample_count;i++)this.sample_size===0?this.sample_sizes.push(t.readUint32()):this.sample_sizes[i]=this.sample_size}),o.createFullBoxCtor("stts",function(t){var i,a,h;if(i=t.readUint32(),this.sample_counts=[],this.sample_deltas=[],this.version===0)for(a=0;a<i;a++)this.sample_counts.push(t.readUint32()),h=t.readInt32(),h<0&&(e.warn("BoxParser","File uses negative stts sample delta, using value 1 instead, sync may be lost!"),h=1),this.sample_deltas.push(h)}),o.createFullBoxCtor("stvi",function(t){var i=t.readUint32();this.single_view_allowed=i&3,this.stereo_scheme=t.readUint32();var a=t.readUint32();this.stereo_indication_type=t.readString(a);var h,p;for(this.boxes=[];t.getPosition()<this.start+this.size;)if(h=o.parseOneBox(t,!1,this.size-(t.getPosition()-this.start)),h.code===o.OK)p=h.box,this.boxes.push(p),this[p.type]=p;else return}),o.createBoxCtor("styp",function(t){o.ftypBox.prototype.parse.call(this,t)}),o.createFullBoxCtor("stz2",function(t){var i,a;if(this.sample_sizes=[],this.version===0)if(this.reserved=t.readUint24(),this.field_size=t.readUint8(),a=t.readUint32(),this.field_size===4)for(i=0;i<a;i+=2){var h=t.readUint8();this.sample_sizes[i]=h>>4&15,this.sample_sizes[i+1]=h&15}else if(this.field_size===8)for(i=0;i<a;i++)this.sample_sizes[i]=t.readUint8();else if(this.field_size===16)for(i=0;i<a;i++)this.sample_sizes[i]=t.readUint16();else e.error("BoxParser","Error in length field in stz2 box")}),o.createFullBoxCtor("subs",function(t){var i,a,h,p;for(h=t.readUint32(),this.entries=[],i=0;i<h;i++){var m={};if(this.entries[i]=m,m.sample_delta=t.readUint32(),m.subsamples=[],p=t.readUint16(),p>0)for(a=0;a<p;a++){var w={};m.subsamples.push(w),this.version==1?w.size=t.readUint32():w.size=t.readUint16(),w.priority=t.readUint8(),w.discardable=t.readUint8(),w.codec_specific_parameters=t.readUint32()}}}),o.createFullBoxCtor("tenc",function(t){if(t.readUint8(),this.version===0)t.readUint8();else{var i=t.readUint8();this.default_crypt_byte_block=i>>4&15,this.default_skip_byte_block=i&15}this.default_isProtected=t.readUint8(),this.default_Per_Sample_IV_Size=t.readUint8(),this.default_KID=o.parseHex16(t),this.default_isProtected===1&&this.default_Per_Sample_IV_Size===0&&(this.default_constant_IV_size=t.readUint8(),this.default_constant_IV=t.readUint8Array(this.default_constant_IV_size))}),o.createFullBoxCtor("tfdt",function(t){this.version==1?this.baseMediaDecodeTime=t.readUint64():this.baseMediaDecodeTime=t.readUint32()}),o.createFullBoxCtor("tfhd",function(t){var i=0;this.track_id=t.readUint32(),this.size-this.hdr_size>i&&this.flags&o.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=t.readUint64(),i+=8):this.base_data_offset=0,this.size-this.hdr_size>i&&this.flags&o.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=t.readUint32(),i+=4):this.default_sample_description_index=0,this.size-this.hdr_size>i&&this.flags&o.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=t.readUint32(),i+=4):this.default_sample_duration=0,this.size-this.hdr_size>i&&this.flags&o.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=t.readUint32(),i+=4):this.default_sample_size=0,this.size-this.hdr_size>i&&this.flags&o.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=t.readUint32(),i+=4):this.default_sample_flags=0}),o.createFullBoxCtor("tfra",function(t){this.track_ID=t.readUint32(),t.readUint24();var i=t.readUint8();this.length_size_of_traf_num=i>>4&3,this.length_size_of_trun_num=i>>2&3,this.length_size_of_sample_num=i&3,this.entries=[];for(var a=t.readUint32(),h=0;h<a;h++)this.version===1?(this.time=t.readUint64(),this.moof_offset=t.readUint64()):(this.time=t.readUint32(),this.moof_offset=t.readUint32()),this.traf_number=t["readUint"+8*(this.length_size_of_traf_num+1)](),this.trun_number=t["readUint"+8*(this.length_size_of_trun_num+1)](),this.sample_number=t["readUint"+8*(this.length_size_of_sample_num+1)]()}),o.createFullBoxCtor("tkhd",function(t){this.version==1?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.track_id=t.readUint32(),t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.track_id=t.readUint32(),t.readUint32(),this.duration=t.readUint32()),t.readUint32Array(2),this.layer=t.readInt16(),this.alternate_group=t.readInt16(),this.volume=t.readInt16()>>8,t.readUint16(),this.matrix=t.readInt32Array(9),this.width=t.readUint32(),this.height=t.readUint32()}),o.createBoxCtor("tmax",function(t){this.time=t.readUint32()}),o.createBoxCtor("tmin",function(t){this.time=t.readUint32()}),o.createBoxCtor("totl",function(t){this.bytessent=t.readUint32()}),o.createBoxCtor("tpay",function(t){this.bytessent=t.readUint32()}),o.createBoxCtor("tpyl",function(t){this.bytessent=t.readUint64()}),o.TrackGroupTypeBox.prototype.parse=function(t){this.parseFullHeader(t),this.track_group_id=t.readUint32()},o.createTrackGroupCtor("msrc"),o.TrackReferenceTypeBox=function(t,i,a,h){o.Box.call(this,t,i),this.hdr_size=a,this.start=h},o.TrackReferenceTypeBox.prototype=new o.Box,o.TrackReferenceTypeBox.prototype.parse=function(t){this.track_ids=t.readUint32Array((this.size-this.hdr_size)/4)},o.trefBox.prototype.parse=function(t){for(var i,a;t.getPosition()<this.start+this.size;)if(i=o.parseOneBox(t,!0,this.size-(t.getPosition()-this.start)),i.code===o.OK)a=new o.TrackReferenceTypeBox(i.type,i.size,i.hdr_size,i.start),a.write===o.Box.prototype.write&&a.type!=="mdat"&&(e.info("BoxParser","TrackReference "+a.type+" box writing not yet implemented, keeping unparsed data in memory for later write"),a.parseDataAndRewind(t)),a.parse(t),this.boxes.push(a);else return},o.createFullBoxCtor("trep",function(t){for(this.track_ID=t.readUint32(),this.boxes=[];t.getPosition()<this.start+this.size;)if(ret=o.parseOneBox(t,!1,this.size-(t.getPosition()-this.start)),ret.code===o.OK)box=ret.box,this.boxes.push(box);else return}),o.createFullBoxCtor("trex",function(t){this.track_id=t.readUint32(),this.default_sample_description_index=t.readUint32(),this.default_sample_duration=t.readUint32(),this.default_sample_size=t.readUint32(),this.default_sample_flags=t.readUint32()}),o.createBoxCtor("trpy",function(t){this.bytessent=t.readUint64()}),o.createFullBoxCtor("trun",function(t){var i=0;if(this.sample_count=t.readUint32(),i+=4,this.size-this.hdr_size>i&&this.flags&o.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=t.readInt32(),i+=4):this.data_offset=0,this.size-this.hdr_size>i&&this.flags&o.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=t.readUint32(),i+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>i)for(var a=0;a<this.sample_count;a++)this.flags&o.TRUN_FLAGS_DURATION&&(this.sample_duration[a]=t.readUint32()),this.flags&o.TRUN_FLAGS_SIZE&&(this.sample_size[a]=t.readUint32()),this.flags&o.TRUN_FLAGS_FLAGS&&(this.sample_flags[a]=t.readUint32()),this.flags&o.TRUN_FLAGS_CTS_OFFSET&&(this.version===0?this.sample_composition_time_offset[a]=t.readUint32():this.sample_composition_time_offset[a]=t.readInt32())}),o.createFullBoxCtor("tsel",function(t){this.switch_group=t.readUint32();var i=(this.size-this.hdr_size-4)/4;this.attribute_list=[];for(var a=0;a<i;a++)this.attribute_list[a]=t.readUint32()}),o.createFullBoxCtor("txtC",function(t){this.config=t.readCString()}),o.createFullBoxCtor("url ",function(t){this.flags!==1&&(this.location=t.readCString())}),o.createFullBoxCtor("urn ",function(t){this.name=t.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=t.readCString())}),o.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,function(t){this.LiveServerManifest=t.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}),o.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,function(t){this.system_id=o.parseHex16(t);var i=t.readUint32();i>0&&(this.data=t.readUint8Array(i))}),o.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),o.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,function(t){this.default_AlgorithmID=t.readUint24(),this.default_IV_size=t.readUint8(),this.default_KID=o.parseHex16(t)}),o.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,function(t){this.fragment_count=t.readUint8(),this.entries=[];for(var i=0;i<this.fragment_count;i++){var a={},h=0,p=0;this.version===1?(h=t.readUint64(),p=t.readUint64()):(h=t.readUint32(),p=t.readUint32()),a.absolute_time=h,a.absolute_duration=p,this.entries.push(a)}}),o.createUUIDBox("6d1d9b0542d544e680e2141daff757b2",!0,!1,function(t){this.version===1?(this.absolute_time=t.readUint64(),this.duration=t.readUint64()):(this.absolute_time=t.readUint32(),this.duration=t.readUint32())}),o.createFullBoxCtor("vmhd",function(t){this.graphicsmode=t.readUint16(),this.opcolor=t.readUint16Array(3)}),o.createFullBoxCtor("vpcC",function(t){var i;this.version===1?(this.profile=t.readUint8(),this.level=t.readUint8(),i=t.readUint8(),this.bitDepth=i>>4,this.chromaSubsampling=i>>1&7,this.videoFullRangeFlag=i&1,this.colourPrimaries=t.readUint8(),this.transferCharacteristics=t.readUint8(),this.matrixCoefficients=t.readUint8(),this.codecIntializationDataSize=t.readUint16(),this.codecIntializationData=t.readUint8Array(this.codecIntializationDataSize)):(this.profile=t.readUint8(),this.level=t.readUint8(),i=t.readUint8(),this.bitDepth=i>>4&15,this.colorSpace=i&15,i=t.readUint8(),this.chromaSubsampling=i>>4&15,this.transferFunction=i>>1&7,this.videoFullRangeFlag=i&1,this.codecIntializationDataSize=t.readUint16(),this.codecIntializationData=t.readUint8Array(this.codecIntializationDataSize))}),o.createBoxCtor("vttC",function(t){this.text=t.readString(this.size-this.hdr_size)}),o.createFullBoxCtor("vvcC",function(t){var i,a,h={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(S){this.held_bits=S.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(S){this.held_bits=S.readUint16(),this.num_held_bits=16},extract_bits:function(S){var I=this.held_bits>>this.num_held_bits-S&(1<<S)-1;return this.num_held_bits-=S,I}};if(h.stream_read_1_bytes(t),h.extract_bits(5),this.lengthSizeMinusOne=h.extract_bits(2),this.ptl_present_flag=h.extract_bits(1),this.ptl_present_flag){h.stream_read_2_bytes(t),this.ols_idx=h.extract_bits(9),this.num_sublayers=h.extract_bits(3),this.constant_frame_rate=h.extract_bits(2),this.chroma_format_idc=h.extract_bits(2),h.stream_read_1_bytes(t),this.bit_depth_minus8=h.extract_bits(3),h.extract_bits(5);{if(h.stream_read_2_bytes(t),h.extract_bits(2),this.num_bytes_constraint_info=h.extract_bits(6),this.general_profile_idc=h.extract_bits(7),this.general_tier_flag=h.extract_bits(1),this.general_level_idc=t.readUint8(),h.stream_read_1_bytes(t),this.ptl_frame_only_constraint_flag=h.extract_bits(1),this.ptl_multilayer_enabled_flag=h.extract_bits(1),this.general_constraint_info=new Uint8Array(this.num_bytes_constraint_info),this.num_bytes_constraint_info){for(i=0;i<this.num_bytes_constraint_info-1;i++){var p=h.extract_bits(6);h.stream_read_1_bytes(t);var m=h.extract_bits(2);this.general_constraint_info[i]=p<<2|m}this.general_constraint_info[this.num_bytes_constraint_info-1]=h.extract_bits(6)}else h.extract_bits(6);for(h.stream_read_1_bytes(t),this.ptl_sublayer_present_mask=0,a=this.num_sublayers-2;a>=0;--a){var w=h.extract_bits(1);this.ptl_sublayer_present_mask|=w<<a}for(a=this.num_sublayers;a<=8&&this.num_sublayers>1;++a)h.extract_bits(1);for(a=this.num_sublayers-2;a>=0;--a)this.ptl_sublayer_present_mask&1<<a&&(this.sublayer_level_idc[a]=t.readUint8());if(this.ptl_num_sub_profiles=t.readUint8(),this.general_sub_profile_idc=[],this.ptl_num_sub_profiles)for(i=0;i<this.ptl_num_sub_profiles;i++)this.general_sub_profile_idc.push(t.readUint32())}this.max_picture_width=t.readUint16(),this.max_picture_height=t.readUint16(),this.avg_frame_rate=t.readUint16()}var v=12,b=13;this.nalu_arrays=[];var _=t.readUint8();for(i=0;i<_;i++){var x=[];this.nalu_arrays.push(x),h.stream_read_1_bytes(t),x.completeness=h.extract_bits(1),h.extract_bits(2),x.nalu_type=h.extract_bits(5);var U=1;for(x.nalu_type!=b&&x.nalu_type!=v&&(U=t.readUint16()),a=0;a<U;a++){var C=t.readUint16();x.push({data:t.readUint8Array(C),length:C})}}}),o.createFullBoxCtor("vvnC",function(t){var i=strm.readUint8();this.lengthSizeMinusOne=i&3}),o.SampleEntry.prototype.isVideo=function(){return!1},o.SampleEntry.prototype.isAudio=function(){return!1},o.SampleEntry.prototype.isSubtitle=function(){return!1},o.SampleEntry.prototype.isMetadata=function(){return!1},o.SampleEntry.prototype.isHint=function(){return!1},o.SampleEntry.prototype.getCodec=function(){return this.type.replace(".","")},o.SampleEntry.prototype.getWidth=function(){return""},o.SampleEntry.prototype.getHeight=function(){return""},o.SampleEntry.prototype.getChannelCount=function(){return""},o.SampleEntry.prototype.getSampleRate=function(){return""},o.SampleEntry.prototype.getSampleSize=function(){return""},o.VisualSampleEntry.prototype.isVideo=function(){return!0},o.VisualSampleEntry.prototype.getWidth=function(){return this.width},o.VisualSampleEntry.prototype.getHeight=function(){return this.height},o.AudioSampleEntry.prototype.isAudio=function(){return!0},o.AudioSampleEntry.prototype.getChannelCount=function(){return this.channel_count},o.AudioSampleEntry.prototype.getSampleRate=function(){return this.samplerate},o.AudioSampleEntry.prototype.getSampleSize=function(){return this.samplesize},o.SubtitleSampleEntry.prototype.isSubtitle=function(){return!0},o.MetadataSampleEntry.prototype.isMetadata=function(){return!0},o.decimalToHex=function(t,i){var a=Number(t).toString(16);for(i=typeof i>"u"||i===null?i=2:i;a.length<i;)a="0"+a;return a},o.avc1SampleEntry.prototype.getCodec=o.avc2SampleEntry.prototype.getCodec=o.avc3SampleEntry.prototype.getCodec=o.avc4SampleEntry.prototype.getCodec=function(){var t=o.SampleEntry.prototype.getCodec.call(this);return this.avcC?t+"."+o.decimalToHex(this.avcC.AVCProfileIndication)+o.decimalToHex(this.avcC.profile_compatibility)+o.decimalToHex(this.avcC.AVCLevelIndication):t},o.hev1SampleEntry.prototype.getCodec=o.hvc1SampleEntry.prototype.getCodec=function(){var t,i=o.SampleEntry.prototype.getCodec.call(this);if(this.hvcC){switch(i+=".",this.hvcC.general_profile_space){case 0:i+="";break;case 1:i+="A";break;case 2:i+="B";break;case 3:i+="C";break}i+=this.hvcC.general_profile_idc,i+=".";var a=this.hvcC.general_profile_compatibility,h=0;for(t=0;t<32&&(h|=a&1,t!=31);t++)h<<=1,a>>=1;i+=o.decimalToHex(h,0),i+=".",this.hvcC.general_tier_flag===0?i+="L":i+="H",i+=this.hvcC.general_level_idc;var p=!1,m="";for(t=5;t>=0;t--)(this.hvcC.general_constraint_indicator[t]||p)&&(m="."+o.decimalToHex(this.hvcC.general_constraint_indicator[t],0)+m,p=!0);i+=m}return i},o.vvc1SampleEntry.prototype.getCodec=o.vvi1SampleEntry.prototype.getCodec=function(){var t,i=o.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){i+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?i+=".H":i+=".L",i+=this.vvcC.general_level_idc;var a="";if(this.vvcC.general_constraint_info){var h=[],p=0;p|=this.vvcC.ptl_frame_only_constraint<<7,p|=this.vvcC.ptl_multilayer_enabled<<6;var m;for(t=0;t<this.vvcC.general_constraint_info.length;++t)p|=this.vvcC.general_constraint_info[t]>>2&63,h.push(p),p&&(m=t),p=this.vvcC.general_constraint_info[t]>>2&3;if(m===void 0)a=".CA";else{a=".C";var w="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",v=0,b=0;for(t=0;t<=m;++t)for(v=v<<8|h[t],b+=8;b>=5;){var _=v>>b-5&31;a+=w[_],b-=5,v&=(1<<b)-1}b&&(v<<=5-b,a+=w[v&31])}}i+=a}return i},o.mp4aSampleEntry.prototype.getCodec=function(){var t=o.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var i=this.esds.esd.getOTI(),a=this.esds.esd.getAudioConfig();return t+"."+o.decimalToHex(i)+(a?"."+a:"")}else return t},o.stxtSampleEntry.prototype.getCodec=function(){var t=o.SampleEntry.prototype.getCodec.call(this);return this.mime_format?t+"."+this.mime_format:t},o.vp08SampleEntry.prototype.getCodec=o.vp09SampleEntry.prototype.getCodec=function(){var t=o.SampleEntry.prototype.getCodec.call(this),i=this.vpcC.level;i==0&&(i="00");var a=this.vpcC.bitDepth;return a==8&&(a="08"),t+".0"+this.vpcC.profile+"."+i+"."+a},o.av01SampleEntry.prototype.getCodec=function(){var t=o.SampleEntry.prototype.getCodec.call(this),i=this.av1C.seq_level_idx_0;i<10&&(i="0"+i);var a;return this.av1C.seq_profile===2&&this.av1C.high_bitdepth===1?a=this.av1C.twelve_bit===1?"12":"10":this.av1C.seq_profile<=2&&(a=this.av1C.high_bitdepth===1?"10":"08"),t+"."+this.av1C.seq_profile+"."+i+(this.av1C.seq_tier_0?"H":"M")+"."+a},o.Box.prototype.writeHeader=function(t,i){this.size+=8,this.size>l&&(this.size+=8),this.type==="uuid"&&(this.size+=16),e.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+t.getPosition()+(i||"")),this.size>l?t.writeUint32(1):(this.sizePosition=t.getPosition(),t.writeUint32(this.size)),t.writeString(this.type,null,4),this.type==="uuid"&&t.writeUint8Array(this.uuid),this.size>l&&t.writeUint64(this.size)},o.FullBox.prototype.writeHeader=function(t){this.size+=4,o.Box.prototype.writeHeader.call(this,t," v="+this.version+" f="+this.flags),t.writeUint8(this.version),t.writeUint24(this.flags)},o.Box.prototype.write=function(t){this.type==="mdat"?this.data&&(this.size=this.data.length,this.writeHeader(t),t.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(t),this.data&&t.writeUint8Array(this.data))},o.ContainerBox.prototype.write=function(t){this.size=0,this.writeHeader(t);for(var i=0;i<this.boxes.length;i++)this.boxes[i]&&(this.boxes[i].write(t),this.size+=this.boxes[i].size);e.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),t.adjustUint32(this.sizePosition,this.size)},o.TrackReferenceTypeBox.prototype.write=function(t){this.size=this.track_ids.length*4,this.writeHeader(t),t.writeUint32Array(this.track_ids)},o.avcCBox.prototype.write=function(t){var i;for(this.size=7,i=0;i<this.SPS.length;i++)this.size+=2+this.SPS[i].length;for(i=0;i<this.PPS.length;i++)this.size+=2+this.PPS[i].length;for(this.ext&&(this.size+=this.ext.length),this.writeHeader(t),t.writeUint8(this.configurationVersion),t.writeUint8(this.AVCProfileIndication),t.writeUint8(this.profile_compatibility),t.writeUint8(this.AVCLevelIndication),t.writeUint8(this.lengthSizeMinusOne+252),t.writeUint8(this.SPS.length+224),i=0;i<this.SPS.length;i++)t.writeUint16(this.SPS[i].length),t.writeUint8Array(this.SPS[i].nalu);for(t.writeUint8(this.PPS.length),i=0;i<this.PPS.length;i++)t.writeUint16(this.PPS[i].length),t.writeUint8Array(this.PPS[i].nalu);this.ext&&t.writeUint8Array(this.ext)},o.co64Box.prototype.write=function(t){var i;for(this.version=0,this.flags=0,this.size=4+8*this.chunk_offsets.length,this.writeHeader(t),t.writeUint32(this.chunk_offsets.length),i=0;i<this.chunk_offsets.length;i++)t.writeUint64(this.chunk_offsets[i])},o.cslgBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4*5,this.writeHeader(t),t.writeInt32(this.compositionToDTSShift),t.writeInt32(this.leastDecodeToDisplayDelta),t.writeInt32(this.greatestDecodeToDisplayDelta),t.writeInt32(this.compositionStartTime),t.writeInt32(this.compositionEndTime)},o.cttsBox.prototype.write=function(t){var i;for(this.version=0,this.flags=0,this.size=4+8*this.sample_counts.length,this.writeHeader(t),t.writeUint32(this.sample_counts.length),i=0;i<this.sample_counts.length;i++)t.writeUint32(this.sample_counts[i]),this.version===1?t.writeInt32(this.sample_offsets[i]):t.writeUint32(this.sample_offsets[i])},o.drefBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4,this.writeHeader(t),t.writeUint32(this.entries.length);for(var i=0;i<this.entries.length;i++)this.entries[i].write(t),this.size+=this.entries[i].size;e.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),t.adjustUint32(this.sizePosition,this.size)},o.elngBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=this.extended_language.length,this.writeHeader(t),t.writeString(this.extended_language)},o.elstBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4+12*this.entries.length,this.writeHeader(t),t.writeUint32(this.entries.length);for(var i=0;i<this.entries.length;i++){var a=this.entries[i];t.writeUint32(a.segment_duration),t.writeInt32(a.media_time),t.writeInt16(a.media_rate_integer),t.writeInt16(a.media_rate_fraction)}},o.emsgBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4*4+this.message_data.length+(this.scheme_id_uri.length+1)+(this.value.length+1),this.writeHeader(t),t.writeCString(this.scheme_id_uri),t.writeCString(this.value),t.writeUint32(this.timescale),t.writeUint32(this.presentation_time_delta),t.writeUint32(this.event_duration),t.writeUint32(this.id),t.writeUint8Array(this.message_data)},o.ftypBox.prototype.write=function(t){this.size=8+4*this.compatible_brands.length,this.writeHeader(t),t.writeString(this.major_brand,null,4),t.writeUint32(this.minor_version);for(var i=0;i<this.compatible_brands.length;i++)t.writeString(this.compatible_brands[i],null,4)},o.hdlrBox.prototype.write=function(t){this.size=5*4+this.name.length+1,this.version=0,this.flags=0,this.writeHeader(t),t.writeUint32(0),t.writeString(this.handler,null,4),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeCString(this.name)},o.kindBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=this.schemeURI.length+1+(this.value.length+1),this.writeHeader(t),t.writeCString(this.schemeURI),t.writeCString(this.value)},o.mdhdBox.prototype.write=function(t){this.size=4*4+2*2,this.flags=0,this.version=0,this.writeHeader(t),t.writeUint32(this.creation_time),t.writeUint32(this.modification_time),t.writeUint32(this.timescale),t.writeUint32(this.duration),t.writeUint16(this.language),t.writeUint16(0)},o.mehdBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4,this.writeHeader(t),t.writeUint32(this.fragment_duration)},o.mfhdBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4,this.writeHeader(t),t.writeUint32(this.sequence_number)},o.mvhdBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=23*4+2*2,this.writeHeader(t),t.writeUint32(this.creation_time),t.writeUint32(this.modification_time),t.writeUint32(this.timescale),t.writeUint32(this.duration),t.writeUint32(this.rate),t.writeUint16(this.volume<<8),t.writeUint16(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32Array(this.matrix),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(this.next_track_id)},o.SampleEntry.prototype.writeHeader=function(t){this.size=8,o.Box.prototype.writeHeader.call(this,t),t.writeUint8(0),t.writeUint8(0),t.writeUint8(0),t.writeUint8(0),t.writeUint8(0),t.writeUint8(0),t.writeUint16(this.data_reference_index)},o.SampleEntry.prototype.writeFooter=function(t){for(var i=0;i<this.boxes.length;i++)this.boxes[i].write(t),this.size+=this.boxes[i].size;e.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),t.adjustUint32(this.sizePosition,this.size)},o.SampleEntry.prototype.write=function(t){this.writeHeader(t),t.writeUint8Array(this.data),this.size+=this.data.length,e.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),t.adjustUint32(this.sizePosition,this.size)},o.VisualSampleEntry.prototype.write=function(t){this.writeHeader(t),this.size+=2*7+6*4+32,t.writeUint16(0),t.writeUint16(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint16(this.width),t.writeUint16(this.height),t.writeUint32(this.horizresolution),t.writeUint32(this.vertresolution),t.writeUint32(0),t.writeUint16(this.frame_count),t.writeUint8(Math.min(31,this.compressorname.length)),t.writeString(this.compressorname,null,31),t.writeUint16(this.depth),t.writeInt16(-1),this.writeFooter(t)},o.AudioSampleEntry.prototype.write=function(t){this.writeHeader(t),this.size+=2*4+3*4,t.writeUint32(0),t.writeUint32(0),t.writeUint16(this.channel_count),t.writeUint16(this.samplesize),t.writeUint16(0),t.writeUint16(0),t.writeUint32(this.samplerate<<16),this.writeFooter(t)},o.stppSampleEntry.prototype.write=function(t){this.writeHeader(t),this.size+=this.namespace.length+1+this.schema_location.length+1+this.auxiliary_mime_types.length+1,t.writeCString(this.namespace),t.writeCString(this.schema_location),t.writeCString(this.auxiliary_mime_types),this.writeFooter(t)},o.SampleGroupEntry.prototype.write=function(t){t.writeUint8Array(this.data)},o.sbgpBox.prototype.write=function(t){this.version=1,this.flags=0,this.size=12+8*this.entries.length,this.writeHeader(t),t.writeString(this.grouping_type,null,4),t.writeUint32(this.grouping_type_parameter),t.writeUint32(this.entries.length);for(var i=0;i<this.entries.length;i++){var a=this.entries[i];t.writeInt32(a.sample_count),t.writeInt32(a.group_description_index)}},o.sgpdBox.prototype.write=function(t){var i,a;for(this.flags=0,this.size=12,i=0;i<this.entries.length;i++)a=this.entries[i],this.version===1&&(this.default_length===0&&(this.size+=4),this.size+=a.data.length);for(this.writeHeader(t),t.writeString(this.grouping_type,null,4),this.version===1&&t.writeUint32(this.default_length),this.version>=2&&t.writeUint32(this.default_sample_description_index),t.writeUint32(this.entries.length),i=0;i<this.entries.length;i++)a=this.entries[i],this.version===1&&this.default_length===0&&t.writeUint32(a.description_length),a.write(t)},o.sidxBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4*4+2+2+12*this.references.length,this.writeHeader(t),t.writeUint32(this.reference_ID),t.writeUint32(this.timescale),t.writeUint32(this.earliest_presentation_time),t.writeUint32(this.first_offset),t.writeUint16(0),t.writeUint16(this.references.length);for(var i=0;i<this.references.length;i++){var a=this.references[i];t.writeUint32(a.reference_type<<31|a.referenced_size),t.writeUint32(a.subsegment_duration),t.writeUint32(a.starts_with_SAP<<31|a.SAP_type<<28|a.SAP_delta_time)}},o.smhdBox.prototype.write=function(t){this.version=0,this.flags=1,this.size=4,this.writeHeader(t),t.writeUint16(this.balance),t.writeUint16(0)},o.stcoBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4+4*this.chunk_offsets.length,this.writeHeader(t),t.writeUint32(this.chunk_offsets.length),t.writeUint32Array(this.chunk_offsets)},o.stscBox.prototype.write=function(t){var i;for(this.version=0,this.flags=0,this.size=4+12*this.first_chunk.length,this.writeHeader(t),t.writeUint32(this.first_chunk.length),i=0;i<this.first_chunk.length;i++)t.writeUint32(this.first_chunk[i]),t.writeUint32(this.samples_per_chunk[i]),t.writeUint32(this.sample_description_index[i])},o.stsdBox.prototype.write=function(t){var i;for(this.version=0,this.flags=0,this.size=0,this.writeHeader(t),t.writeUint32(this.entries.length),this.size+=4,i=0;i<this.entries.length;i++)this.entries[i].write(t),this.size+=this.entries[i].size;e.debug("BoxWriter","Adjusting box "+this.type+" with new size "+this.size),t.adjustUint32(this.sizePosition,this.size)},o.stshBox.prototype.write=function(t){var i;for(this.version=0,this.flags=0,this.size=4+8*this.shadowed_sample_numbers.length,this.writeHeader(t),t.writeUint32(this.shadowed_sample_numbers.length),i=0;i<this.shadowed_sample_numbers.length;i++)t.writeUint32(this.shadowed_sample_numbers[i]),t.writeUint32(this.sync_sample_numbers[i])},o.stssBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4+4*this.sample_numbers.length,this.writeHeader(t),t.writeUint32(this.sample_numbers.length),t.writeUint32Array(this.sample_numbers)},o.stszBox.prototype.write=function(t){var i,a=!0;if(this.version=0,this.flags=0,this.sample_sizes.length>0)for(i=0;i+1<this.sample_sizes.length;)if(this.sample_sizes[i+1]!==this.sample_sizes[0]){a=!1;break}else i++;else a=!1;this.size=8,a||(this.size+=4*this.sample_sizes.length),this.writeHeader(t),a?t.writeUint32(this.sample_sizes[0]):t.writeUint32(0),t.writeUint32(this.sample_sizes.length),a||t.writeUint32Array(this.sample_sizes)},o.sttsBox.prototype.write=function(t){var i;for(this.version=0,this.flags=0,this.size=4+8*this.sample_counts.length,this.writeHeader(t),t.writeUint32(this.sample_counts.length),i=0;i<this.sample_counts.length;i++)t.writeUint32(this.sample_counts[i]),t.writeUint32(this.sample_deltas[i])},o.tfdtBox.prototype.write=function(t){var i=Math.pow(2,32)-1;this.version=this.baseMediaDecodeTime>i?1:0,this.flags=0,this.size=4,this.version===1&&(this.size+=4),this.writeHeader(t),this.version===1?t.writeUint64(this.baseMediaDecodeTime):t.writeUint32(this.baseMediaDecodeTime)},o.tfhdBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&o.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&o.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&o.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&o.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&o.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(t),t.writeUint32(this.track_id),this.flags&o.TFHD_FLAG_BASE_DATA_OFFSET&&t.writeUint64(this.base_data_offset),this.flags&o.TFHD_FLAG_SAMPLE_DESC&&t.writeUint32(this.default_sample_description_index),this.flags&o.TFHD_FLAG_SAMPLE_DUR&&t.writeUint32(this.default_sample_duration),this.flags&o.TFHD_FLAG_SAMPLE_SIZE&&t.writeUint32(this.default_sample_size),this.flags&o.TFHD_FLAG_SAMPLE_FLAGS&&t.writeUint32(this.default_sample_flags)},o.tkhdBox.prototype.write=function(t){this.version=0,this.size=4*18+2*4,this.writeHeader(t),t.writeUint32(this.creation_time),t.writeUint32(this.modification_time),t.writeUint32(this.track_id),t.writeUint32(0),t.writeUint32(this.duration),t.writeUint32(0),t.writeUint32(0),t.writeInt16(this.layer),t.writeInt16(this.alternate_group),t.writeInt16(this.volume<<8),t.writeUint16(0),t.writeInt32Array(this.matrix),t.writeUint32(this.width),t.writeUint32(this.height)},o.trexBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=4*5,this.writeHeader(t),t.writeUint32(this.track_id),t.writeUint32(this.default_sample_description_index),t.writeUint32(this.default_sample_duration),t.writeUint32(this.default_sample_size),t.writeUint32(this.default_sample_flags)},o.trunBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&o.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&o.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&o.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&o.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&o.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&o.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(t),t.writeUint32(this.sample_count),this.flags&o.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=t.getPosition(),t.writeInt32(this.data_offset)),this.flags&o.TRUN_FLAGS_FIRST_FLAG&&t.writeUint32(this.first_sample_flags);for(var i=0;i<this.sample_count;i++)this.flags&o.TRUN_FLAGS_DURATION&&t.writeUint32(this.sample_duration[i]),this.flags&o.TRUN_FLAGS_SIZE&&t.writeUint32(this.sample_size[i]),this.flags&o.TRUN_FLAGS_FLAGS&&t.writeUint32(this.sample_flags[i]),this.flags&o.TRUN_FLAGS_CTS_OFFSET&&(this.version===0?t.writeUint32(this.sample_composition_time_offset[i]):t.writeInt32(this.sample_composition_time_offset[i]))},o["url Box"].prototype.write=function(t){this.version=0,this.location?(this.flags=0,this.size=this.location.length+1):(this.flags=1,this.size=0),this.writeHeader(t),this.location&&t.writeCString(this.location)},o["urn Box"].prototype.write=function(t){this.version=0,this.flags=0,this.size=this.name.length+1+(this.location?this.location.length+1:0),this.writeHeader(t),t.writeCString(this.name),this.location&&t.writeCString(this.location)},o.vmhdBox.prototype.write=function(t){this.version=0,this.flags=1,this.size=8,this.writeHeader(t),t.writeUint16(this.graphicsmode),t.writeUint16Array(this.opcolor)},o.cttsBox.prototype.unpack=function(t){var i,a,h;for(h=0,i=0;i<this.sample_counts.length;i++)for(a=0;a<this.sample_counts[i];a++)t[h].pts=t[h].dts+this.sample_offsets[i],h++},o.sttsBox.prototype.unpack=function(t){var i,a,h;for(h=0,i=0;i<this.sample_counts.length;i++)for(a=0;a<this.sample_counts[i];a++)h===0?t[h].dts=0:t[h].dts=t[h-1].dts+this.sample_deltas[i],h++},o.stcoBox.prototype.unpack=function(t){var i;for(i=0;i<this.chunk_offsets.length;i++)t[i].offset=this.chunk_offsets[i]},o.stscBox.prototype.unpack=function(t){var i,a,h,p,m;for(p=0,m=0,i=0;i<this.first_chunk.length;i++)for(a=0;a<(i+1<this.first_chunk.length?this.first_chunk[i+1]:1/0);a++)for(m++,h=0;h<this.samples_per_chunk[i];h++){if(t[p])t[p].description_index=this.sample_description_index[i],t[p].chunk_index=m;else return;p++}},o.stszBox.prototype.unpack=function(t){var i;for(i=0;i<this.sample_sizes.length;i++)t[i].size=this.sample_sizes[i]},o.DIFF_BOXES_PROP_NAMES=["boxes","entries","references","subsamples","items","item_infos","extents","associations","subsegments","ranges","seekLists","seekPoints","esd","levels"],o.DIFF_PRIMITIVE_ARRAY_PROP_NAMES=["compatible_brands","matrix","opcolor","sample_counts","sample_counts","sample_deltas","first_chunk","samples_per_chunk","sample_sizes","chunk_offsets","sample_offsets","sample_description_index","sample_duration"],o.boxEqualFields=function(t,i){if(t&&!i)return!1;var a;for(a in t)if(!(o.DIFF_BOXES_PROP_NAMES.indexOf(a)>-1)){if(t[a]instanceof o.Box||i[a]instanceof o.Box)continue;if(typeof t[a]>"u"||typeof i[a]>"u")continue;if(typeof t[a]=="function"||typeof i[a]=="function")continue;if(t.subBoxNames&&t.subBoxNames.indexOf(a.slice(0,4))>-1||i.subBoxNames&&i.subBoxNames.indexOf(a.slice(0,4))>-1)continue;if(a==="data"||a==="start"||a==="size"||a==="creation_time"||a==="modification_time")continue;if(o.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(a)>-1)continue;if(t[a]!==i[a])return!1}return!0},o.boxEqual=function(t,i){if(!o.boxEqualFields(t,i))return!1;for(var a=0;a<o.DIFF_BOXES_PROP_NAMES.length;a++){var h=o.DIFF_BOXES_PROP_NAMES[a];if(t[h]&&i[h]&&!o.boxEqual(t[h],i[h]))return!1}return!0};var f=function(){};f.prototype.parseSample=function(t){var i={},a;i.resources=[];var h=new n(t.data.buffer);if(!t.subsamples||t.subsamples.length===0)i.documentString=h.readString(t.data.length);else if(i.documentString=h.readString(t.subsamples[0].size),t.subsamples.length>1)for(a=1;a<t.subsamples.length;a++)i.resources[a]=h.readUint8Array(t.subsamples[a].size);return typeof DOMParser<"u"&&(i.document=new DOMParser().parseFromString(i.documentString,"application/xml")),i};var u=function(){};u.prototype.parseSample=function(t){var i,a=new n(t.data.buffer);return i=a.readString(t.data.length),i},u.prototype.parseConfig=function(t){var i,a=new n(t.buffer);return a.readUint32(),i=a.readCString(),i},r.XMLSubtitlein4Parser=f,r.Textin4Parser=u;var g=function(t){this.stream=t||new c,this.boxes=[],this.mdats=[],this.moofs=[],this.isProgressive=!1,this.moovStartFound=!1,this.onMoovStart=null,this.moovStartSent=!1,this.onReady=null,this.readySent=!1,this.onSegment=null,this.onSamples=null,this.onError=null,this.sampleListBuilt=!1,this.fragmentedTracks=[],this.extractedTracks=[],this.isFragmentationInitialized=!1,this.sampleProcessingStarted=!1,this.nextMoofNumber=0,this.itemListBuilt=!1,this.onSidx=null,this.sidxSent=!1};g.prototype.setSegmentOptions=function(t,i,a){var h=this.getTrackById(t);if(h){var p={};this.fragmentedTracks.push(p),p.id=t,p.user=i,p.trak=h,h.nextSample=0,p.segmentStream=null,p.nb_samples=1e3,p.rapAlignement=!0,a&&(a.nbSamples&&(p.nb_samples=a.nbSamples),a.rapAlignement&&(p.rapAlignement=a.rapAlignement))}},g.prototype.unsetSegmentOptions=function(t){for(var i=-1,a=0;a<this.fragmentedTracks.length;a++){var h=this.fragmentedTracks[a];h.id==t&&(i=a)}i>-1&&this.fragmentedTracks.splice(i,1)},g.prototype.setExtractionOptions=function(t,i,a){var h=this.getTrackById(t);if(h){var p={};this.extractedTracks.push(p),p.id=t,p.user=i,p.trak=h,h.nextSample=0,p.nb_samples=1e3,p.samples=[],a&&a.nbSamples&&(p.nb_samples=a.nbSamples)}},g.prototype.unsetExtractionOptions=function(t){for(var i=-1,a=0;a<this.extractedTracks.length;a++){var h=this.extractedTracks[a];h.id==t&&(i=a)}i>-1&&this.extractedTracks.splice(i,1)},g.prototype.parse=function(){var t,i,a=!1;if(!(this.restoreParsePosition&&!this.restoreParsePosition()))for(;;)if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}else if(this.saveParsePosition&&this.saveParsePosition(),t=o.parseOneBox(this.stream,a),t.code===o.ERR_NOT_ENOUGH_DATA)if(this.processIncompleteBox){if(this.processIncompleteBox(t))continue;return}else return;else{var h;switch(i=t.box,h=i.type!=="uuid"?i.type:i.uuid,this.boxes.push(i),h){case"mdat":this.mdats.push(i);break;case"moof":this.moofs.push(i);break;case"moov":this.moovStartFound=!0,this.mdats.length===0&&(this.isProgressive=!0);default:this[h]!==void 0&&e.warn("ISOFile","Duplicate Box of type: "+h+", overriding previous occurrence"),this[h]=i;break}this.updateUsedBytes&&this.updateUsedBytes(i,t)}},g.prototype.checkBuffer=function(t){if(t==null)throw"Buffer must be defined and non empty";if(t.fileStart===void 0)throw"Buffer must have a fileStart property";return t.byteLength===0?(e.warn("ISOFile","Ignoring empty buffer (fileStart: "+t.fileStart+")"),this.stream.logBufferLevel(),!1):(e.info("ISOFile","Processing buffer (fileStart: "+t.fileStart+")"),t.usedBytes=0,this.stream.insertBuffer(t),this.stream.logBufferLevel(),this.stream.initialized()?!0:(e.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(t,i){var a;if(this.checkBuffer(t))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(i),this.nextSeekPosition?(a=this.nextSeekPosition,this.nextSeekPosition=void 0):a=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(a=this.stream.getEndFilePositionAfter(a))):this.nextParsePosition?a=this.nextParsePosition:a=0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(e.info("ISOFile","Done processing buffer (fileStart: "+t.fileStart+") - next buffer to fetch should have a fileStart position of "+a),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),e.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),a},g.prototype.getInfo=function(){var t,i,a={},h,p,m,w,v=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(a.hasMoov=!0,a.duration=this.moov.mvhd.duration,a.timescale=this.moov.mvhd.timescale,a.isFragmented=this.moov.mvex!=null,a.isFragmented&&this.moov.mvex.mehd&&(a.fragment_duration=this.moov.mvex.mehd.fragment_duration),a.isProgressive=this.isProgressive,a.hasIOD=this.moov.iods!=null,a.brands=[],a.brands.push(this.ftyp.major_brand),a.brands=a.brands.concat(this.ftyp.compatible_brands),a.created=new Date(v+this.moov.mvhd.creation_time*1e3),a.modified=new Date(v+this.moov.mvhd.modification_time*1e3),a.tracks=[],a.audioTracks=[],a.videoTracks=[],a.subtitleTracks=[],a.metadataTracks=[],a.hintTracks=[],a.otherTracks=[],t=0;t<this.moov.traks.length;t++){if(h=this.moov.traks[t],w=h.mdia.minf.stbl.stsd.entries[0],p={},a.tracks.push(p),p.id=h.tkhd.track_id,p.name=h.mdia.hdlr.name,p.references=[],h.tref)for(i=0;i<h.tref.boxes.length;i++)m={},p.references.push(m),m.type=h.tref.boxes[i].type,m.track_ids=h.tref.boxes[i].track_ids;h.edts&&(p.edits=h.edts.elst.entries),p.created=new Date(v+h.tkhd.creation_time*1e3),p.modified=new Date(v+h.tkhd.modification_time*1e3),p.movie_duration=h.tkhd.duration,p.movie_timescale=a.timescale,p.layer=h.tkhd.layer,p.alternate_group=h.tkhd.alternate_group,p.volume=h.tkhd.volume,p.matrix=h.tkhd.matrix,p.track_width=h.tkhd.width/65536,p.track_height=h.tkhd.height/65536,p.timescale=h.mdia.mdhd.timescale,p.cts_shift=h.mdia.minf.stbl.cslg,p.duration=h.mdia.mdhd.duration,p.samples_duration=h.samples_duration,p.codec=w.getCodec(),p.kind=h.udta&&h.udta.kinds.length?h.udta.kinds[0]:{schemeURI:"",value:""},p.language=h.mdia.elng?h.mdia.elng.extended_language:h.mdia.mdhd.languageString,p.nb_samples=h.samples.length,p.size=h.samples_size,p.bitrate=p.size*8*p.timescale/p.samples_duration,w.isAudio()?(p.type="audio",a.audioTracks.push(p),p.audio={},p.audio.sample_rate=w.getSampleRate(),p.audio.channel_count=w.getChannelCount(),p.audio.sample_size=w.getSampleSize()):w.isVideo()?(p.type="video",a.videoTracks.push(p),p.video={},p.video.width=w.getWidth(),p.video.height=w.getHeight()):w.isSubtitle()?(p.type="subtitles",a.subtitleTracks.push(p)):w.isHint()?(p.type="metadata",a.hintTracks.push(p)):w.isMetadata()?(p.type="metadata",a.metadataTracks.push(p)):(p.type="metadata",a.otherTracks.push(p))}else a.hasMoov=!1;if(a.mime="",a.hasMoov&&a.tracks){for(a.videoTracks&&a.videoTracks.length>0?a.mime+='video/mp4; codecs="':a.audioTracks&&a.audioTracks.length>0?a.mime+='audio/mp4; codecs="':a.mime+='application/mp4; codecs="',t=0;t<a.tracks.length;t++)t!==0&&(a.mime+=","),a.mime+=a.tracks[t].codec;a.mime+='"; profiles="',a.mime+=this.ftyp.compatible_brands.join(),a.mime+='"'}return a},g.prototype.processSamples=function(t){var i,a;if(this.sampleProcessingStarted){if(this.isFragmentationInitialized&&this.onSegment!==null)for(i=0;i<this.fragmentedTracks.length;i++){var h=this.fragmentedTracks[i];for(a=h.trak;a.nextSample<a.samples.length&&this.sampleProcessingStarted;){e.debug("ISOFile","Creating media fragment on track #"+h.id+" for sample "+a.nextSample);var p=this.createFragment(h.id,a.nextSample,h.segmentStream);if(p)h.segmentStream=p,a.nextSample++;else break;if((a.nextSample%h.nb_samples===0||t||a.nextSample>=a.samples.length)&&(e.info("ISOFile","Sending fragmented data on track #"+h.id+" for samples ["+Math.max(0,a.nextSample-h.nb_samples)+","+(a.nextSample-1)+"]"),e.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(h.id,h.user,h.segmentStream.buffer,a.nextSample,t||a.nextSample>=a.samples.length),h.segmentStream=null,h!==this.fragmentedTracks[i]))break}}if(this.onSamples!==null)for(i=0;i<this.extractedTracks.length;i++){var m=this.extractedTracks[i];for(a=m.trak;a.nextSample<a.samples.length&&this.sampleProcessingStarted;){e.debug("ISOFile","Exporting on track #"+m.id+" sample #"+a.nextSample);var w=this.getSample(a,a.nextSample);if(w)a.nextSample++,m.samples.push(w);else break;if((a.nextSample%m.nb_samples===0||a.nextSample>=a.samples.length)&&(e.debug("ISOFile","Sending samples on track #"+m.id+" for sample "+a.nextSample),this.onSamples&&this.onSamples(m.id,m.user,m.samples),m.samples=[],m!==this.extractedTracks[i]))break}}}},g.prototype.getBox=function(t){var i=this.getBoxes(t,!0);return i.length?i[0]:null},g.prototype.getBoxes=function(t,i){var a=[];return g._sweep.call(this,t,a,i),a},g._sweep=function(t,i,a){this.type&&this.type==t&&i.push(this);for(var h in this.boxes){if(i.length&&a)return;g._sweep.call(this.boxes[h],t,i,a)}},g.prototype.getTrackSamplesInfo=function(t){var i=this.getTrackById(t);if(i)return i.samples},g.prototype.getTrackSample=function(t,i){var a=this.getTrackById(t),h=this.getSample(a,i);return h},g.prototype.releaseUsedSamples=function(t,i){var a=0,h=this.getTrackById(t);h.lastValidSample||(h.lastValidSample=0);for(var p=h.lastValidSample;p<i;p++)a+=this.releaseSample(h,p);e.info("ISOFile","Track #"+t+" released samples up to "+i+" (released size: "+a+", remaining: "+this.samplesDataSize+")"),h.lastValidSample=i},g.prototype.start=function(){this.sampleProcessingStarted=!0,this.processSamples(!1)},g.prototype.stop=function(){this.sampleProcessingStarted=!1},g.prototype.flush=function(){e.info("ISOFile","Flushing remaining samples"),this.updateSampleLists(),this.processSamples(!0),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0)},g.prototype.seekTrack=function(t,i,a){var h,p,m=1/0,w=0,v=0,b;if(a.samples.length===0)return e.info("ISOFile","No sample in track, cannot seek! Using time "+e.getDurationString(0,1)+" and offset: 0"),{offset:0,time:0};for(h=0;h<a.samples.length;h++){if(p=a.samples[h],h===0)v=0,b=p.timescale;else if(p.cts>t*p.timescale){v=h-1;break}i&&p.is_sync&&(w=h)}for(i&&(v=w),t=a.samples[v].cts,a.nextSample=v;a.samples[v].alreadyRead===a.samples[v].size&&a.samples[v+1];)v++;return m=a.samples[v].offset+a.samples[v].alreadyRead,e.info("ISOFile","Seeking to "+(i?"RAP":"")+" sample #"+a.nextSample+" on track "+a.tkhd.track_id+", time "+e.getDurationString(t,b)+" and offset: "+m),{offset:m,time:t/b}},g.prototype.seek=function(t,i){var a=this.moov,h,p,m,w={offset:1/0,time:1/0};if(this.moov){for(m=0;m<a.traks.length;m++)h=a.traks[m],p=this.seekTrack(t,i,h),p.offset<w.offset&&(w.offset=p.offset),p.time<w.time&&(w.time=p.time);return e.info("ISOFile","Seeking at time "+e.getDurationString(w.time,1)+" needs a buffer with a fileStart position of "+w.offset),w.offset===1/0?w={offset:this.nextParsePosition,time:0}:w.offset=this.stream.getEndFilePositionAfter(w.offset),e.info("ISOFile","Adjusted seek position (after checking data already in buffer): "+w.offset),w}else throw"Cannot seek: moov not received!"},g.prototype.equal=function(t){for(var i=0;i<this.boxes.length&&i<t.boxes.length;){var a=this.boxes[i],h=t.boxes[i];if(!o.boxEqual(a,h))return!1;i++}return!0},r.ISOFile=g,g.prototype.lastBoxStartPosition=0,g.prototype.parsingMdat=null,g.prototype.nextParsePosition=0,g.prototype.discardMdatData=!1,g.prototype.processIncompleteBox=function(t){var i,a,h;return t.type==="mdat"?(i=new o[t.type+"Box"](t.size),this.parsingMdat=i,this.boxes.push(i),this.mdats.push(i),i.start=t.start,i.hdr_size=t.hdr_size,this.stream.addUsedBytes(i.hdr_size),this.lastBoxStartPosition=i.start+i.size,h=this.stream.seek(i.start+i.size,!1,this.discardMdatData),h?(this.parsingMdat=null,!0):(this.moovStartFound?this.nextParsePosition=this.stream.findEndContiguousBuf():this.nextParsePosition=i.start+i.size,!1)):(t.type==="moov"&&(this.moovStartFound=!0,this.mdats.length===0&&(this.isProgressive=!0)),a=this.stream.mergeNextBuffer?this.stream.mergeNextBuffer():!1,a?(this.nextParsePosition=this.stream.getEndPosition(),!0):(t.type?this.moovStartFound?this.nextParsePosition=this.stream.getEndPosition():this.nextParsePosition=this.stream.getPosition()+t.size:this.nextParsePosition=this.stream.getEndPosition(),!1))},g.prototype.hasIncompleteMdat=function(){return this.parsingMdat!==null},g.prototype.processIncompleteMdat=function(){var t,i;return t=this.parsingMdat,i=this.stream.seek(t.start+t.size,!1,this.discardMdatData),i?(e.debug("ISOFile","Found 'mdat' end in buffered data"),this.parsingMdat=null,!0):(this.nextParsePosition=this.stream.findEndContiguousBuf(),!1)},g.prototype.restoreParsePosition=function(){return this.stream.seek(this.lastBoxStartPosition,!0,this.discardMdatData)},g.prototype.saveParsePosition=function(){this.lastBoxStartPosition=this.stream.getPosition()},g.prototype.updateUsedBytes=function(t,i){this.stream.addUsedBytes&&(t.type==="mdat"?(this.stream.addUsedBytes(t.hdr_size),this.discardMdatData&&this.stream.addUsedBytes(t.size-t.hdr_size)):this.stream.addUsedBytes(t.size))},g.prototype.add=o.Box.prototype.add,g.prototype.addBox=o.Box.prototype.addBox,g.prototype.init=function(t){var i=t||{};this.add("ftyp").set("major_brand",i.brands&&i.brands[0]||"iso4").set("minor_version",0).set("compatible_brands",i.brands||["iso4"]);var a=this.add("moov");return a.add("mvhd").set("timescale",i.timescale||600).set("rate",i.rate||65536).set("creation_time",0).set("modification_time",0).set("duration",i.duration||0).set("volume",i.width?0:256).set("matrix",[65536,0,0,0,65536,0,0,0,1073741824]).set("next_track_id",1),a.add("mvex"),this},g.prototype.addTrack=function(t){this.moov||this.init(t);var i=t||{};i.width=i.width||320,i.height=i.height||320,i.id=i.id||this.moov.mvhd.next_track_id,i.type=i.type||"avc1";var a=this.moov.add("trak");this.moov.mvhd.next_track_id=i.id+1,a.add("tkhd").set("flags",o.TKHD_FLAG_ENABLED|o.TKHD_FLAG_IN_MOVIE|o.TKHD_FLAG_IN_PREVIEW).set("creation_time",0).set("modification_time",0).set("track_id",i.id).set("duration",i.duration||0).set("layer",i.layer||0).set("alternate_group",0).set("volume",1).set("matrix",[0,0,0,0,0,0,0,0,0]).set("width",i.width<<16).set("height",i.height<<16);var h=a.add("mdia");h.add("mdhd").set("creation_time",0).set("modification_time",0).set("timescale",i.timescale||1).set("duration",i.media_duration||0).set("language",i.language||"und"),h.add("hdlr").set("handler",i.hdlr||"vide").set("name",i.name||"Track created with MP4Box.js"),h.add("elng").set("extended_language",i.language||"fr-FR");var p=h.add("minf");if(o[i.type+"SampleEntry"]!==void 0){var m=new o[i.type+"SampleEntry"];m.data_reference_index=1;var w="";for(var v in o.sampleEntryCodes)for(var b=o.sampleEntryCodes[v],_=0;_<b.length;_++)if(b.indexOf(i.type)>-1){w=v;break}switch(w){case"Visual":if(p.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),m.set("width",i.width).set("height",i.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",i.type+" Compressor").set("depth",24),i.avcDecoderConfigRecord){var x=new o.avcCBox,U=new n(i.avcDecoderConfigRecord);x.parse(U),m.addBox(x)}break;case"Audio":p.add("smhd").set("balance",i.balance||0),m.set("channel_count",i.channel_count||2).set("samplesize",i.samplesize||16).set("samplerate",i.samplerate||65536);break;case"Hint":p.add("hmhd");break;case"Subtitle":switch(p.add("sthd"),i.type){case"stpp":m.set("namespace",i.namespace||"nonamespace").set("schema_location",i.schema_location||"").set("auxiliary_mime_types",i.auxiliary_mime_types||"");break}break;case"Metadata":p.add("nmhd");break;case"System":p.add("nmhd");break;default:p.add("nmhd");break}i.description&&m.addBox(i.description),i.description_boxes&&i.description_boxes.forEach(function(S){m.addBox(S)}),p.add("dinf").add("dref").addEntry(new o["url Box"]().set("flags",1));var C=p.add("stbl");return C.add("stsd").addEntry(m),C.add("stts").set("sample_counts",[]).set("sample_deltas",[]),C.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),C.add("stco").set("chunk_offsets",[]),C.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",i.id).set("default_sample_description_index",i.default_sample_description_index||1).set("default_sample_duration",i.default_sample_duration||0).set("default_sample_size",i.default_sample_size||0).set("default_sample_flags",i.default_sample_flags||0),this.buildTrakSampleLists(a),i.id}},o.Box.prototype.computeSize=function(t){var i=t||new s;i.endianness=s.BIG_ENDIAN,this.write(i)},g.prototype.addSample=function(t,i,a){var h=a||{},p={},m=this.getTrackById(t);if(m!==null){p.number=m.samples.length,p.track_id=m.tkhd.track_id,p.timescale=m.mdia.mdhd.timescale,p.description_index=h.sample_description_index?h.sample_description_index-1:0,p.description=m.mdia.minf.stbl.stsd.entries[p.description_index],p.data=i,p.size=i.byteLength,p.alreadyRead=p.size,p.duration=h.duration||1,p.cts=h.cts||0,p.dts=h.dts||0,p.is_sync=h.is_sync||!1,p.is_leading=h.is_leading||0,p.depends_on=h.depends_on||0,p.is_depended_on=h.is_depended_on||0,p.has_redundancy=h.has_redundancy||0,p.degradation_priority=h.degradation_priority||0,p.offset=0,p.subsamples=h.subsamples,m.samples.push(p),m.samples_size+=p.size,m.samples_duration+=p.duration,m.first_dts||(m.first_dts=h.dts),this.processSamples();var w=this.createSingleSampleMoof(p);return this.addBox(w),w.computeSize(),w.trafs[0].truns[0].data_offset=w.size+8,this.add("mdat").data=new Uint8Array(i),p}},g.prototype.createSingleSampleMoof=function(t){var i=0;t.is_sync?i=1<<25:i=65536;var a=new o.moofBox;a.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var h=a.add("traf"),p=this.getTrackById(t.track_id);return h.add("tfhd").set("track_id",t.track_id).set("flags",o.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),h.add("tfdt").set("baseMediaDecodeTime",t.dts-(p.first_dts||0)),h.add("trun").set("flags",o.TRUN_FLAGS_DATA_OFFSET|o.TRUN_FLAGS_DURATION|o.TRUN_FLAGS_SIZE|o.TRUN_FLAGS_FLAGS|o.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[t.duration]).set("sample_size",[t.size]).set("sample_flags",[i]).set("sample_composition_time_offset",[t.cts-t.dts]),a},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var t,i,a,h,p,m,w,v;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,t=0;t<this.moov.traks.length;t++){i=this.moov.traks[t],i.tkhd.duration=0,i.mdia.mdhd.duration=0,a=i.mdia.minf.stbl.stco||i.mdia.minf.stbl.co64,a.chunk_offsets=[],h=i.mdia.minf.stbl.stsc,h.first_chunk=[],h.samples_per_chunk=[],h.sample_description_index=[],p=i.mdia.minf.stbl.stsz||i.mdia.minf.stbl.stz2,p.sample_sizes=[],m=i.mdia.minf.stbl.stts,m.sample_counts=[],m.sample_deltas=[],w=i.mdia.minf.stbl.ctts,w&&(w.sample_counts=[],w.sample_offsets=[]),v=i.mdia.minf.stbl.stss;var b=i.mdia.minf.stbl.boxes.indexOf(v);b!=-1&&(i.mdia.minf.stbl.boxes[b]=null)}},g.initSampleGroups=function(t,i,a,h,p){var m,w,v,b;function _(x,U,C){this.grouping_type=x,this.grouping_type_parameter=U,this.sbgp=C,this.last_sample_in_run=-1,this.entry_index=-1}for(i&&(i.sample_groups_info=[]),t.sample_groups_info||(t.sample_groups_info=[]),w=0;w<a.length;w++){for(b=a[w].grouping_type+"/"+a[w].grouping_type_parameter,v=new _(a[w].grouping_type,a[w].grouping_type_parameter,a[w]),i&&(i.sample_groups_info[b]=v),t.sample_groups_info[b]||(t.sample_groups_info[b]=v),m=0;m<h.length;m++)h[m].grouping_type===a[w].grouping_type&&(v.description=h[m],v.description.used=!0);if(p)for(m=0;m<p.length;m++)p[m].grouping_type===a[w].grouping_type&&(v.fragment_description=p[m],v.fragment_description.used=!0,v.is_fragment=!0)}if(i){if(p)for(w=0;w<p.length;w++)!p[w].used&&p[w].version>=2&&(b=p[w].grouping_type+"/0",v=new _(p[w].grouping_type,0),v.is_fragment=!0,i.sample_groups_info[b]||(i.sample_groups_info[b]=v))}else for(w=0;w<h.length;w++)!h[w].used&&h[w].version>=2&&(b=h[w].grouping_type+"/0",v=new _(h[w].grouping_type,0),t.sample_groups_info[b]||(t.sample_groups_info[b]=v))},g.setSampleGroupProperties=function(t,i,a,h){var p,m;i.sample_groups=[];for(p in h)if(i.sample_groups[p]={},i.sample_groups[p].grouping_type=h[p].grouping_type,i.sample_groups[p].grouping_type_parameter=h[p].grouping_type_parameter,a>=h[p].last_sample_in_run&&(h[p].last_sample_in_run<0&&(h[p].last_sample_in_run=0),h[p].entry_index++,h[p].entry_index<=h[p].sbgp.entries.length-1&&(h[p].last_sample_in_run+=h[p].sbgp.entries[h[p].entry_index].sample_count)),h[p].entry_index<=h[p].sbgp.entries.length-1?i.sample_groups[p].group_description_index=h[p].sbgp.entries[h[p].entry_index].group_description_index:i.sample_groups[p].group_description_index=-1,i.sample_groups[p].group_description_index!==0){var w;h[p].fragment_description?w=h[p].fragment_description:w=h[p].description,i.sample_groups[p].group_description_index>0?(i.sample_groups[p].group_description_index>65535?m=(i.sample_groups[p].group_description_index>>16)-1:m=i.sample_groups[p].group_description_index-1,w&&m>=0&&(i.sample_groups[p].description=w.entries[m])):w&&w.version>=2&&w.default_group_description_index>0&&(i.sample_groups[p].description=w.entries[w.default_group_description_index-1])}},g.process_sdtp=function(t,i,a){i&&(t?(i.is_leading=t.is_leading[a],i.depends_on=t.sample_depends_on[a],i.is_depended_on=t.sample_is_depended_on[a],i.has_redundancy=t.sample_has_redundancy[a]):(i.is_leading=0,i.depends_on=0,i.is_depended_on=0,i.has_redundancy=0))},g.prototype.buildSampleLists=function(){var t,i;for(t=0;t<this.moov.traks.length;t++)i=this.moov.traks[t],this.buildTrakSampleLists(i)},g.prototype.buildTrakSampleLists=function(t){var i,a,h,p,m,w,v,b,_,x,U,C,S,I,k,H,M,G,Y,j,st,ut,F,ue;if(t.samples=[],t.samples_duration=0,t.samples_size=0,a=t.mdia.minf.stbl.stco||t.mdia.minf.stbl.co64,h=t.mdia.minf.stbl.stsc,p=t.mdia.minf.stbl.stsz||t.mdia.minf.stbl.stz2,m=t.mdia.minf.stbl.stts,w=t.mdia.minf.stbl.ctts,v=t.mdia.minf.stbl.stss,b=t.mdia.minf.stbl.stsd,_=t.mdia.minf.stbl.subs,C=t.mdia.minf.stbl.stdp,x=t.mdia.minf.stbl.sbgps,U=t.mdia.minf.stbl.sgpds,G=-1,Y=-1,j=-1,st=-1,ut=0,F=0,ue=0,g.initSampleGroups(t,null,x,U),!(typeof p>"u")){for(i=0;i<p.sample_sizes.length;i++){var A={};A.number=i,A.track_id=t.tkhd.track_id,A.timescale=t.mdia.mdhd.timescale,A.alreadyRead=0,t.samples[i]=A,A.size=p.sample_sizes[i],t.samples_size+=A.size,i===0?(I=1,S=0,A.chunk_index=I,A.chunk_run_index=S,M=h.samples_per_chunk[S],H=0,S+1<h.first_chunk.length?k=h.first_chunk[S+1]-1:k=1/0):i<M?(A.chunk_index=I,A.chunk_run_index=S):(I++,A.chunk_index=I,H=0,I<=k||(S++,S+1<h.first_chunk.length?k=h.first_chunk[S+1]-1:k=1/0),A.chunk_run_index=S,M+=h.samples_per_chunk[S]),A.description_index=h.sample_description_index[A.chunk_run_index]-1,A.description=b.entries[A.description_index],A.offset=a.chunk_offsets[A.chunk_index-1]+H,H+=A.size,i>G&&(Y++,G<0&&(G=0),G+=m.sample_counts[Y]),i>0?(t.samples[i-1].duration=m.sample_deltas[Y],t.samples_duration+=t.samples[i-1].duration,A.dts=t.samples[i-1].dts+t.samples[i-1].duration):A.dts=0,w?(i>=j&&(st++,j<0&&(j=0),j+=w.sample_counts[st]),A.cts=t.samples[i].dts+w.sample_offsets[st]):A.cts=A.dts,v?(i==v.sample_numbers[ut]-1?(A.is_sync=!0,ut++):(A.is_sync=!1,A.degradation_priority=0),_&&_.entries[F].sample_delta+ue==i+1&&(A.subsamples=_.entries[F].subsamples,ue+=_.entries[F].sample_delta,F++)):A.is_sync=!0,g.process_sdtp(t.mdia.minf.stbl.sdtp,A,A.number),C?A.degradation_priority=C.priority[i]:A.degradation_priority=0,_&&_.entries[F].sample_delta+ue==i&&(A.subsamples=_.entries[F].subsamples,ue+=_.entries[F].sample_delta),(x.length>0||U.length>0)&&g.setSampleGroupProperties(t,A,i,t.sample_groups_info)}i>0&&(t.samples[i-1].duration=Math.max(t.mdia.mdhd.duration-t.samples[i-1].dts,0),t.samples_duration+=t.samples[i-1].duration)}},g.prototype.updateSampleLists=function(){var t,i,a,h,p,m,w,v,b,_,x,U,C,S,I;if(this.moov!==void 0){for(;this.lastMoofIndex<this.moofs.length;)if(b=this.moofs[this.lastMoofIndex],this.lastMoofIndex++,b.type=="moof")for(_=b,t=0;t<_.trafs.length;t++){for(x=_.trafs[t],U=this.getTrackById(x.tfhd.track_id),C=this.getTrexById(x.tfhd.track_id),x.tfhd.flags&o.TFHD_FLAG_SAMPLE_DESC?h=x.tfhd.default_sample_description_index:h=C?C.default_sample_description_index:1,x.tfhd.flags&o.TFHD_FLAG_SAMPLE_DUR?p=x.tfhd.default_sample_duration:p=C?C.default_sample_duration:0,x.tfhd.flags&o.TFHD_FLAG_SAMPLE_SIZE?m=x.tfhd.default_sample_size:m=C?C.default_sample_size:0,x.tfhd.flags&o.TFHD_FLAG_SAMPLE_FLAGS?w=x.tfhd.default_sample_flags:w=C?C.default_sample_flags:0,x.sample_number=0,x.sbgps.length>0&&g.initSampleGroups(U,x,x.sbgps,U.mdia.minf.stbl.sgpds,x.sgpds),i=0;i<x.truns.length;i++){var k=x.truns[i];for(a=0;a<k.sample_count;a++){S={},S.moof_number=this.lastMoofIndex,S.number_in_traf=x.sample_number,x.sample_number++,S.number=U.samples.length,x.first_sample_index=U.samples.length,U.samples.push(S),S.track_id=U.tkhd.track_id,S.timescale=U.mdia.mdhd.timescale,S.description_index=h-1,S.description=U.mdia.minf.stbl.stsd.entries[S.description_index],S.size=m,k.flags&o.TRUN_FLAGS_SIZE&&(S.size=k.sample_size[a]),U.samples_size+=S.size,S.duration=p,k.flags&o.TRUN_FLAGS_DURATION&&(S.duration=k.sample_duration[a]),U.samples_duration+=S.duration,U.first_traf_merged||a>0?S.dts=U.samples[U.samples.length-2].dts+U.samples[U.samples.length-2].duration:(x.tfdt?S.dts=x.tfdt.baseMediaDecodeTime:S.dts=0,U.first_traf_merged=!0),S.cts=S.dts,k.flags&o.TRUN_FLAGS_CTS_OFFSET&&(S.cts=S.dts+k.sample_composition_time_offset[a]),I=w,k.flags&o.TRUN_FLAGS_FLAGS?I=k.sample_flags[a]:a===0&&k.flags&o.TRUN_FLAGS_FIRST_FLAG&&(I=k.first_sample_flags),S.is_sync=!(I>>16&1),S.is_leading=I>>26&3,S.depends_on=I>>24&3,S.is_depended_on=I>>22&3,S.has_redundancy=I>>20&3,S.degradation_priority=I&65535;var H=!!(x.tfhd.flags&o.TFHD_FLAG_BASE_DATA_OFFSET),M=!!(x.tfhd.flags&o.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),G=!!(k.flags&o.TRUN_FLAGS_DATA_OFFSET),Y=0;H?Y=x.tfhd.base_data_offset:M||i===0?Y=_.start:Y=v,i===0&&a===0?G?S.offset=Y+k.data_offset:S.offset=Y:S.offset=v,v=S.offset+S.size,(x.sbgps.length>0||x.sgpds.length>0||U.mdia.minf.stbl.sbgps.length>0||U.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(U,S,S.number_in_traf,x.sample_groups_info)}}if(x.subs){U.has_fragment_subsamples=!0;var j=x.first_sample_index;for(i=0;i<x.subs.entries.length;i++)j+=x.subs.entries[i].sample_delta,S=U.samples[j-1],S.subsamples=x.subs.entries[i].subsamples}}}},g.prototype.getSample=function(t,i){var a,h=t.samples[i];if(!this.moov)return null;if(!h.data)h.data=new Uint8Array(h.size),h.alreadyRead=0,this.samplesDataSize+=h.size,e.debug("ISOFile","Allocating sample #"+i+" on track #"+t.tkhd.track_id+" of size "+h.size+" (total: "+this.samplesDataSize+")");else if(h.alreadyRead==h.size)return h;for(;;){var p=this.stream.findPosition(!0,h.offset+h.alreadyRead,!1);if(p>-1){a=this.stream.buffers[p];var m=a.byteLength-(h.offset+h.alreadyRead-a.fileStart);if(h.size-h.alreadyRead<=m)return e.debug("ISOFile","Getting sample #"+i+" data (alreadyRead: "+h.alreadyRead+" offset: "+(h.offset+h.alreadyRead-a.fileStart)+" read size: "+(h.size-h.alreadyRead)+" full size: "+h.size+")"),s.memcpy(h.data.buffer,h.alreadyRead,a,h.offset+h.alreadyRead-a.fileStart,h.size-h.alreadyRead),a.usedBytes+=h.size-h.alreadyRead,this.stream.logBufferLevel(),h.alreadyRead=h.size,h;if(m===0)return null;e.debug("ISOFile","Getting sample #"+i+" partial data (alreadyRead: "+h.alreadyRead+" offset: "+(h.offset+h.alreadyRead-a.fileStart)+" read size: "+m+" full size: "+h.size+")"),s.memcpy(h.data.buffer,h.alreadyRead,a,h.offset+h.alreadyRead-a.fileStart,m),h.alreadyRead+=m,a.usedBytes+=m,this.stream.logBufferLevel()}else return null}},g.prototype.releaseSample=function(t,i){var a=t.samples[i];return a.data?(this.samplesDataSize-=a.size,a.data=null,a.alreadyRead=0,a.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var t,i="";for(t=0;t<this.moov.traks.length;t++){var a=this.moov.traks[t];t>0&&(i+=","),i+=a.mdia.minf.stbl.stsd.entries[0].getCodec()}return i},g.prototype.getTrexById=function(t){var i;if(!this.moov||!this.moov.mvex)return null;for(i=0;i<this.moov.mvex.trexs.length;i++){var a=this.moov.mvex.trexs[i];if(a.track_id==t)return a}return null},g.prototype.getTrackById=function(t){if(this.moov===void 0)return null;for(var i=0;i<this.moov.traks.length;i++){var a=this.moov.traks[i];if(a.tkhd.track_id==t)return a}return null},g.prototype.items=[],g.prototype.itemsDataSize=0,g.prototype.flattenItemInfo=function(){var t=this.items,i,a,h,p=this.meta;if(p!=null&&p.hdlr!==void 0&&p.iinf!==void 0){for(i=0;i<p.iinf.item_infos.length;i++)h={},h.id=p.iinf.item_infos[i].item_ID,t[h.id]=h,h.ref_to=[],h.name=p.iinf.item_infos[i].item_name,p.iinf.item_infos[i].protection_index>0&&(h.protection=p.ipro.protections[p.iinf.item_infos[i].protection_index-1]),p.iinf.item_infos[i].item_type?h.type=p.iinf.item_infos[i].item_type:h.type="mime",h.content_type=p.iinf.item_infos[i].content_type,h.content_encoding=p.iinf.item_infos[i].content_encoding;if(p.iloc)for(i=0;i<p.iloc.items.length;i++){var m=p.iloc.items[i];switch(h=t[m.item_ID],m.data_reference_index!==0&&(e.warn("Item storage with reference to other files: not supported"),h.source=p.dinf.boxes[m.data_reference_index-1]),m.construction_method){case 0:break;case 1:e.warn("Item storage with construction_method : not supported");break;case 2:e.warn("Item storage with construction_method : not supported");break}for(h.extents=[],h.size=0,a=0;a<m.extents.length;a++)h.extents[a]={},h.extents[a].offset=m.extents[a].extent_offset+m.base_offset,h.extents[a].length=m.extents[a].extent_length,h.extents[a].alreadyRead=0,h.size+=h.extents[a].length}if(p.pitm&&(t[p.pitm.item_id].primary=!0),p.iref)for(i=0;i<p.iref.references.length;i++){var w=p.iref.references[i];for(a=0;a<w.references.length;a++)t[w.from_item_ID].ref_to.push({type:w.type,id:w.references[a]})}if(p.iprp)for(var v=0;v<p.iprp.ipmas.length;v++){var b=p.iprp.ipmas[v];for(i=0;i<b.associations.length;i++){var _=b.associations[i];for(h=t[_.id],h.properties===void 0&&(h.properties={},h.properties.boxes=[]),a=0;a<_.props.length;a++){var x=_.props[a];if(x.property_index>0&&x.property_index-1<p.iprp.ipco.boxes.length){var U=p.iprp.ipco.boxes[x.property_index-1];h.properties[U.type]=U,h.properties.boxes.push(U)}}}}}},g.prototype.getItem=function(t){var i,a;if(!this.meta)return null;if(a=this.items[t],!a.data&&a.size)a.data=new Uint8Array(a.size),a.alreadyRead=0,this.itemsDataSize+=a.size,e.debug("ISOFile","Allocating item #"+t+" of size "+a.size+" (total: "+this.itemsDataSize+")");else if(a.alreadyRead===a.size)return a;for(var h=0;h<a.extents.length;h++){var p=a.extents[h];if(p.alreadyRead!==p.length){var m=this.stream.findPosition(!0,p.offset+p.alreadyRead,!1);if(m>-1){i=this.stream.buffers[m];var w=i.byteLength-(p.offset+p.alreadyRead-i.fileStart);if(p.length-p.alreadyRead<=w)e.debug("ISOFile","Getting item #"+t+" extent #"+h+" data (alreadyRead: "+p.alreadyRead+" offset: "+(p.offset+p.alreadyRead-i.fileStart)+" read size: "+(p.length-p.alreadyRead)+" full extent size: "+p.length+" full item size: "+a.size+")"),s.memcpy(a.data.buffer,a.alreadyRead,i,p.offset+p.alreadyRead-i.fileStart,p.length-p.alreadyRead),i.usedBytes+=p.length-p.alreadyRead,this.stream.logBufferLevel(),a.alreadyRead+=p.length-p.alreadyRead,p.alreadyRead=p.length;else return e.debug("ISOFile","Getting item #"+t+" extent #"+h+" partial data (alreadyRead: "+p.alreadyRead+" offset: "+(p.offset+p.alreadyRead-i.fileStart)+" read size: "+w+" full extent size: "+p.length+" full item size: "+a.size+")"),s.memcpy(a.data.buffer,a.alreadyRead,i,p.offset+p.alreadyRead-i.fileStart,w),p.alreadyRead+=w,a.alreadyRead+=w,i.usedBytes+=w,this.stream.logBufferLevel(),null}else return null}}return a.alreadyRead===a.size?a:null},g.prototype.releaseItem=function(t){var i=this.items[t];if(i.data){this.itemsDataSize-=i.size,i.data=null,i.alreadyRead=0;for(var a=0;a<i.extents.length;a++){var h=i.extents[a];h.alreadyRead=0}return i.size}else return 0},g.prototype.processItems=function(t){for(var i in this.items){var a=this.items[i];this.getItem(a.id),t&&!a.sent&&(t(a),a.sent=!0,a.data=null)}},g.prototype.hasItem=function(t){for(var i in this.items){var a=this.items[i];if(a.name===t)return a.id}return-1},g.prototype.getMetaHandler=function(){return this.meta?this.meta.hdlr.handler:null},g.prototype.getPrimaryItem=function(){return!this.meta||!this.meta.pitm?null:this.getItem(this.meta.pitm.item_id)},g.prototype.itemToFragmentedTrackFile=function(t){var i=t||{},a=null;if(i.itemId?a=this.getItem(i.itemId):a=this.getPrimaryItem(),a==null)return null;var h=new g;h.discardMdatData=!1;var p={type:a.type,description_boxes:a.properties.boxes};a.properties.ispe&&(p.width=a.properties.ispe.image_width,p.height=a.properties.ispe.image_height);var m=h.addTrack(p);return m?(h.addSample(m,a.data),h):null},g.prototype.write=function(t){for(var i=0;i<this.boxes.length;i++)this.boxes[i].write(t)},g.prototype.createFragment=function(t,i,a){var h=this.getTrackById(t),p=this.getSample(h,i);if(p==null)return p=h.samples[i],this.nextSeekPosition?this.nextSeekPosition=Math.min(p.offset+p.alreadyRead,this.nextSeekPosition):this.nextSeekPosition=h.samples[i].offset+p.alreadyRead,null;var m=a||new s;m.endianness=s.BIG_ENDIAN;var w=this.createSingleSampleMoof(p);w.write(m),w.trafs[0].truns[0].data_offset=w.size+8,e.debug("MP4Box","Adjusting data_offset with new value "+w.trafs[0].truns[0].data_offset),m.adjustUint32(w.trafs[0].truns[0].data_offset_position,w.trafs[0].truns[0].data_offset);var v=new o.mdatBox;return v.data=p.data,v.write(m),m},g.writeInitializationSegment=function(t,i,a,h){var p;e.debug("ISOFile","Generating initialization segment");var m=new s;m.endianness=s.BIG_ENDIAN,t.write(m);var w=i.add("mvex");for(a&&w.add("mehd").set("fragment_duration",a),p=0;p<i.traks.length;p++)w.add("trex").set("track_id",i.traks[p].tkhd.track_id).set("default_sample_description_index",1).set("default_sample_duration",h).set("default_sample_size",0).set("default_sample_flags",65536);return i.write(m),m.buffer},g.prototype.save=function(t){var i=new s;i.endianness=s.BIG_ENDIAN,this.write(i),i.save(t)},g.prototype.getBuffer=function(){var t=new s;return t.endianness=s.BIG_ENDIAN,this.write(t),t.buffer},g.prototype.initializeSegmentation=function(){var t,i,a,h;for(this.onSegment===null&&e.warn("MP4Box","No segmentation callback set!"),this.isFragmentationInitialized||(this.isFragmentationInitialized=!0,this.nextMoofNumber=0,this.resetTables()),i=[],t=0;t<this.fragmentedTracks.length;t++){var p=new o.moovBox;p.mvhd=this.moov.mvhd,p.boxes.push(p.mvhd),a=this.getTrackById(this.fragmentedTracks[t].id),p.boxes.push(a),p.traks.push(a),h={},h.id=a.tkhd.track_id,h.user=this.fragmentedTracks[t].user,h.buffer=g.writeInitializationSegment(this.ftyp,p,this.moov.mvex&&this.moov.mvex.mehd?this.moov.mvex.mehd.fragment_duration:void 0,this.moov.traks[t].samples.length>0?this.moov.traks[t].samples[0].duration:0),i.push(h)}return i},o.Box.prototype.printHeader=function(t){this.size+=8,this.size>l&&(this.size+=8),this.type==="uuid"&&(this.size+=16),t.log(t.indent+"size:"+this.size),t.log(t.indent+"type:"+this.type)},o.FullBox.prototype.printHeader=function(t){this.size+=4,o.Box.prototype.printHeader.call(this,t),t.log(t.indent+"version:"+this.version),t.log(t.indent+"flags:"+this.flags)},o.Box.prototype.print=function(t){this.printHeader(t)},o.ContainerBox.prototype.print=function(t){this.printHeader(t);for(var i=0;i<this.boxes.length;i++)if(this.boxes[i]){var a=t.indent;t.indent+=" ",this.boxes[i].print(t),t.indent=a}},g.prototype.print=function(t){t.indent="";for(var i=0;i<this.boxes.length;i++)this.boxes[i]&&this.boxes[i].print(t)},o.mvhdBox.prototype.print=function(t){o.FullBox.prototype.printHeader.call(this,t),t.log(t.indent+"creation_time: "+this.creation_time),t.log(t.indent+"modification_time: "+this.modification_time),t.log(t.indent+"timescale: "+this.timescale),t.log(t.indent+"duration: "+this.duration),t.log(t.indent+"rate: "+this.rate),t.log(t.indent+"volume: "+(this.volume>>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"next_track_id: "+this.next_track_id)},o.tkhdBox.prototype.print=function(t){o.FullBox.prototype.printHeader.call(this,t),t.log(t.indent+"creation_time: "+this.creation_time),t.log(t.indent+"modification_time: "+this.modification_time),t.log(t.indent+"track_id: "+this.track_id),t.log(t.indent+"duration: "+this.duration),t.log(t.indent+"volume: "+(this.volume>>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"layer: "+this.layer),t.log(t.indent+"alternate_group: "+this.alternate_group),t.log(t.indent+"width: "+this.width),t.log(t.indent+"height: "+this.height)};var y={};y.createFile=function(t,i){var a=t!==void 0?t:!0,h=new g(i);return h.discardMdatData=!a,h},r.createFile=y.createFile})(ke);class or extends ke.ISOFile{constructor(){super(...arguments),this.readyPromise=new Promise((e,n)=>{this.onReady=()=>e(),this.onError=n}),this.waitingForSamples=[],this._hasSeenLastSamples=!1,this._arrayBufferFileStart=0}setSegmentOptions(e,n,s){const l=this.getTrackById(e);l&&(l.nextSample=0,this.fragmentedTracks.push({id:e,user:n,trak:l,segmentStream:null,nb_samples:"nbSamples"in s&&s.nbSamples||1e3,rapAlignement:("rapAlignement"in s&&s.rapAlignement)??!0}))}async fragmentAllTracks(){let e={};for await(const n of this.fragmentIterator())(e[n.track]??=[]).push(n.data);return e}async*fragmentIterator(){await this.readyPromise;const e={};for(const d of this.getInfo().videoTracks)e[d.id]={index:0,complete:!1},this.setSegmentOptions(d.id,null,{rapAlignement:!0});for(const d of this.getInfo().audioTracks){e[d.id]={index:0,complete:!1};const o=d.audio.sample_rate,u=Math.ceil(o/1024*4);this.setSegmentOptions(d.id,null,{nbSamples:u})}const n=this.initializeSegmentation();for(const d of n)yield{track:d.id,segment:"init",data:d.buffer,complete:!1};const s={};let l=!1;const c=()=>{for(const d of this.fragmentedTracks)if(!e[d.id]?.complete)return!1;return!0};for(;!(l&&c());){for(const d of this.fragmentedTracks){const o=d.trak;if(o.nextSample===void 0)throw new Error("trak.nextSample is undefined");if(o.samples===void 0)throw new Error("trak.samples is undefined");t:for(;o.nextSample<o.samples.length;){let f;o?.samples[o.nextSample]&&(s[d.id]||=o.samples[o.nextSample]);try{f=this.createFragment(d.id,o.nextSample,d.segmentStream)}catch(y){console.log("Failed to createFragment",y)}if(f)d.segmentStream=f,o.nextSample++;else{l=await this.waitForMoreSamples();break t}const u=o.samples[o.nextSample];if(d.rapAlignement===!0&&u?.is_sync||!d.rapAlignement&&o.nextSample%d.nb_samples===0||o.nextSample>=o.samples.length){o.nextSample>=o.samples.length&&(e[d.id].complete=!0);const y=s[d.id],t=o.samples[o.nextSample-1];if(!y||!t)throw new Error("startSample or endSample is undefined");yield{track:d.id,segment:e[d.id].index,data:d.segmentStream.buffer,complete:e[d.id].complete,cts:y.cts,dts:y.dts,duration:t.dts-y.dts+t.duration},e[d.id].index+=1,d.segmentStream=null,delete s[d.id]}}}l=await this.waitForMoreSamples()}}waitForMoreSamples(){return this._hasSeenLastSamples?Promise.resolve(!0):new Promise(e=>{this.waitingForSamples.push(e)})}processSamples(e){this._hasSeenLastSamples=e;for(const n of this.waitingForSamples)n(e);this.waitingForSamples=[]}}const oo=r=>{const e=r.closest("ef-timegroup");return e instanceof R?e.startTimeMs:0},N=(r,e,n)=>{const s=n.get;if(!s)return;const l=new WeakMap;n.get=function(){return l.has(this)||l.set(this,s.call(this)),l.get(this)}};var ao=Object.defineProperty,lo=Object.getOwnPropertyDescriptor,D=(r,e,n,s)=>{for(var l=s>1?void 0:s?lo(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&ao(e,n,l),l};const ho=10;class co extends Error{}class mi{constructor(e,n){this.localName=e,this.file=n}async arrayBuffer(){return this.file.arrayBuffer()}get byteSize(){return this.file.size}get fileExtension(){return this.file.name.split(".").pop()}slice(e,n){return this.file.slice(e,n)}}class ar extends mi{constructor(e,n,s){super(e,n),this.localName=e,this.file=n,this.mp4boxFile=s}get fileInfo(){return this.mp4boxFile.getInfo()}get containerFormat(){return"mp4"}}D([N],ar.prototype,"fileInfo",1);const pt=class Qn extends ar{constructor(e,n,s){super(e,s,n),this.decodedFrames=[],this.requestedSampleNumber=0,this.outCursor=0,this.sampleCursor=0,this.eventListeners={},this.latestSeekCts=0,this.videoDecoder=new VideoDecoder({error:l=>{console.error(l)},output:async l=>{const c=l.clone();this.decodedFrames.push(c),this.pruneBuffer(),l.close(),this.outCursor=this.samples.findIndex(d=>d.cts===l.timestamp),this.emit("frame",c)}}),this.configureDecoder()}static async createFromReadableStream(e,n,s){let l=0;const c=new or,d=n.getReader(),o=({done:f,value:u})=>{if(f||!u)return;const g=u.buffer;g.fileStart=l;const y=s.size===l+u.byteLength;return c.appendBuffer(g,y),l+=u.byteLength,d.read().then(o)};return await d.read().then(o),new Qn(e,c,s)}async TEST_ONLY_RESET(){await this.videoDecoder.flush(),this.configureDecoder(),this.requestedSampleNumber=0,this.outCursor=0,this.sampleCursor=0,this.decodedFrames.forEach(e=>{e.close()}),this.decodedFrames=[],this.lastDecodedSample=void 0,this.lastSoughtFrame=void 0}addEventListener(e,n){this.eventListeners[e]||=new Set,this.eventListeners[e]?.add(n)}removeEventListener(e,n){this.eventListeners[e]?.delete(n)}emit(e,...n){this.eventListeners[e]?.forEach(s=>{s(...n)})}get videoCodec(){if(!this.defaultVideoTrack)throw new Error("No default video track found");return this.defaultVideoTrack?.codec}get fragmentInfo(){const e=[],[n,...s]=this.samples;if(!n)return e;let l={offset:n.offset,size:n.size,start_ms:n.cts,duration_ms:0};for(const c of s)c.is_sync?(l&&(l.duration_ms=c.cts-l.start_ms,e.push(l)),l={offset:c.offset,size:c.size,start_ms:c.cts,duration_ms:0}):l.size+=c.size;return e}pruneBuffer(){this.decodedFrames.length>ho&&this.decodedFrames.shift()?.close()}prettyPrint(){const e=this.sampleCursor-this.outCursor,n=this.decodedFrames.length;console.log(Array.from({length:this.sampleCursor-e-n}).fill("β¬οΈ").join(" "),Array.from({length:n}).fill("π©").join(" "),Array.from({length:e}).fill("π¨").join(" "))}get editsOffset(){return this.defaultVideoTrack?.edits?this.defaultVideoTrack.edits.reduce((e,n)=>e+n.media_time,0):0}async waitUntilVideoQueueDrained(){this.videoDecoder.decodeQueueSize!==0&&(await new Promise(e=>{this.videoDecoder.addEventListener("dequeue",()=>{e()},{once:!0})}),await this.waitUntilVideoQueueDrained())}get canDecodeNextSample(){return this.sampleCursor<this.samples.length}async decodeNextSample(){if(!this.canDecodeNextSample)throw new Error("No more samples to decode");await this.decodeSlice(this.sampleCursor,this.sampleCursor),this.sampleCursor++}async decodeSlice(e,n){const s=this.samples.slice(e,n+1),l=s[0].offset,c=s[s.length-1].offset+s[s.length-1].size,d=await this.file.slice(l,c).arrayBuffer(),o=s[0].offset;for(let f=e;f<=n;f++){await this.waitUntilVideoQueueDrained();const u=this.getSample(f),g=u.offset-o,y=u.offset+u.size-o,t=new EncodedVideoChunk({data:d.slice(g,y),timestamp:u.cts,duration:u.duration,type:u.is_sync?"key":"delta"});this.videoDecoder.decode(t),this.defaultVideoTrak?.samples?.[f+1]===void 0&&await this.videoDecoder.flush()}}get decoderConfiguration(){if(!this.defaultVideoTrack)throw new Error("No default video track found");let e;const n=this.mp4boxFile.getTrackById(this.defaultVideoTrack.id);for(const s of n.mdia.minf.stbl.stsd.entries)if(s.avcC??s.hvcC){const l=new ke.DataStream(void 0,0,ke.DataStream.BIG_ENDIAN);s.avcC?s.avcC.write(l):s.hvcC.write(l),e=new Uint8Array(l.buffer,8);break}return{codec:this.defaultVideoTrack.codec,codedWidth:this.defaultVideoTrack.track_width,codedHeight:this.defaultVideoTrack.track_height,optimizeForLatency:!0,description:e}}configureDecoder(){this.videoDecoder.state==="configured"&&this.videoDecoder.reset(),this.videoDecoder.configure(this.decoderConfiguration)}getSample(e=-1){const n=this.samples?.[e];if(!n)throw new Error("Sample not found at index "+e);return n}get timescale(){if(!this.defaultVideoTrack)throw new Error("No default video track found");return this.defaultVideoTrack.timescale}get samples(){if(!this.defaultVideoTrak.samples)throw new Error("No video samples found");return this.defaultVideoTrak.samples}get displayOrderedSamples(){return Array.from(this.samples).sort((e,n)=>e.cts-n.cts)}getSampleClosetToTime(e){const n=Math.round(e*this.timescale+this.editsOffset),s=this.displayOrderedSamples.findIndex(l=>l.cts>=n);return s===-1?this.displayOrderedSamples[this.displayOrderedSamples.length-1]:this.displayOrderedSamples[s]}seekingWillEmitNewFrame(e){return!this.lastSoughtFrame||this.seekingWillGoBackwards(e)?!0:this.getSampleClosetToTime(e).cts>this.lastSoughtFrame.timestamp}seekingWillSkipPictureGroup(e){let n=this.sampleCursor;const s=this.getSampleClosetToTime(e).number;let l=0;for(;n<=s;){if(this.getSample(n).is_sync){if(l>1)return!0;l++}n++}return!1}seekingWillGoBackwards(e){const n=this.getSampleClosetToTime(e),s=this.displayOrderedSamples.indexOf(n),l=this.decodedFrames.find(d=>d.timestamp===n.cts);return this.sampleCursor===this.samples.length-1||l?!1:this.outCursor>s}async seekToTime(e){const n=this.getSampleClosetToTime(e),s=n.cts;this.latestSeekCts=s;const l=this.decodedFrames.find(o=>o.timestamp===s);if(l)return l;if(this.seekingWillSkipPictureGroup(e)){await this.videoDecoder.flush();let o=n.number;for(;!this.getSample(o).is_sync;)o--;this.sampleCursor=o}if(this.seekingWillGoBackwards(e)){console.log("BACKWARDS FLUSH"),await this.videoDecoder.flush(),this.decodedFrames.forEach(f=>{f.close()}),this.decodedFrames=[];let o=n.number;for(;!this.getSample(o).is_sync;)o--;this.sampleCursor=o}let c;const d=o=>{c||o.timestamp===s&&(this.removeEventListener("frame",d),c=o)};for(this.addEventListener("frame",d);c===void 0&&this.canDecodeNextSample;)await this.decodeNextSample();return this.removeEventListener("frame",d),c&&(this.lastSoughtFrame=c),c}get defaultVideoTrack(){return this.fileInfo.videoTracks[0]}get defaultVideoTrak(){return this.mp4boxFile.getTrackById(this.defaultVideoTrack?.id??-1)}get duration(){return this.fileInfo.duration/this.fileInfo.timescale}};D([N],pt.prototype,"editsOffset",1),D([N],pt.prototype,"timescale",1),D([N],pt.prototype,"samples",1),D([N],pt.prototype,"displayOrderedSamples",1),D([N],pt.prototype,"defaultVideoTrack",1),D([N],pt.prototype,"defaultVideoTrak",1),D([N],pt.prototype,"duration",1);let po=pt;const Jt=class Jn extends ar{static async createFromReadableStream(e,n,s){let l=0;const c=new or,d=n.getReader(),o=({done:f,value:u})=>{if(f||!u)return;const g=u.buffer;return g.fileStart=l,l+=u.byteLength,c.appendBuffer(g),d.read().then(o)};return await d.read().then(o),new Jn(e,s,c)}get defaultAudioTrack(){return this.fileInfo.audioTracks[0]}get defaultAudioTrak(){return this.mp4boxFile.getTrackById(this.defaultAudioTrack?.id??-1)}get audioCodec(){if(!this.defaultAudioTrack)throw new Error("No default audio track found");return this.defaultAudioTrack.codec}get samplerate(){if(!this.defaultAudioTrack)throw new Error("No default audio track found");return this.defaultAudioTrack.audio.sample_rate}get channelCount(){if(!this.defaultAudioTrack)throw new Error("No default audio track found");return this.defaultAudioTrack.audio.channel_count}};D([N],Jt.prototype,"defaultAudioTrack",1),D([N],Jt.prototype,"defaultAudioTrak",1),D([N],Jt.prototype,"audioCodec",1),D([N],Jt.prototype,"samplerate",1),D([N],Jt.prototype,"channelCount",1);const wi=class ts extends mi{static async createFromReadableStream(e,n){if(n.size===0)throw new co;return new ts(e,n)}get objectUrl(){return URL.createObjectURL(this.file)}get format(){return this.fileExtension}get type(){return`image/${this.format}`}};D([N],wi.prototype,"objectUrl",1),D([N],wi.prototype,"format",1);var fo=Object.defineProperty,uo=Object.getOwnPropertyDescriptor,lr=(r,e,n,s)=>{for(var l=s>1?void 0:s?uo(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&fo(e,n,l),l};class te extends sr(Wt(nr(L)),{assetType:"isobmff_files"}){constructor(){super(...arguments),this.currentTimeMs=0,this.trackFragmentIndexLoader=new $(this,{args:()=>[this.fragmentIndexPath(),this.fetch],task:async([e,n],{signal:s})=>await(await n(e,{signal:s})).json(),onComplete:()=>{this.requestUpdate("ownCurrentTimeMs"),this.parentTimegroup?.requestUpdate("ownCurrentTimeMs")}}),this.initSegmentsLoader=new $(this,{args:()=>[this.trackFragmentIndexLoader.value,this.src,this.fetch],task:async([e,n,s],{signal:l})=>{if(e)return await Promise.all(Object.entries(e).map(async([c,d])=>{const o=d.initSegment.offset,f=d.initSegment.offset+d.initSegment.size-1,g=await(await s(this.fragmentTrackPath(c),{signal:l,headers:{Range:`bytes=${o}-${f}`}})).arrayBuffer();g.fileStart=0;const y=new or;return y.appendBuffer(g,!0),y.flush(),await y.readyPromise,{trackId:c,buffer:g,mp4File:y}}))}}),this.seekTask=new $(this,{args:()=>[this.desiredSeekTimeMs,this.trackFragmentIndexLoader.value,this.initSegmentsLoader.value],task:async([e,n,s],{signal:l})=>{if(n===void 0||s===void 0)return;const c={};return Object.values(n).forEach(d=>{const o=s.find(u=>u.trackId===String(d.track))?.mp4File.getInfo().tracks[0];if(!o)throw new Error("Could not finding matching track");const f=d.segments.toReversed().find(u=>u.dts/o.timescale*1e3<=e);f&&(c[d.track]={segment:f,track:o})}),c}}),this.fetchSeekTask=new $(this,{argsEqual:ro,args:()=>[this.initSegmentsLoader.value,this.seekTask.value,this.fetch],task:async([e,n,s],{signal:l})=>{if(!e||!n)return;const c={};for(const[d,{segment:o,track:f}]of Object.entries(n)){const u=o.offset,g=o.offset+o.size,y=await s(this.fragmentTrackPath(d),{signal:l,headers:{Range:`bytes=${u}-${g}`}}),i=Object.values(e).find(h=>h.trackId===String(f.id)).buffer,a=await y.arrayBuffer();c[d]=new File([i,a],"video.mp4",{type:"video/mp4"})}return c}}),this.videoAssetTask=new $(this,{args:()=>[this.fetchSeekTask.value],task:async([e],{signal:n})=>{if(!e||!this.defaultVideoTrackId)return;const s=e[this.defaultVideoTrackId];if(s)return await po.createFromReadableStream("video.mp4",s.stream(),s)}}),this.desiredSeekTimeMs=0,this.#t=new OfflineAudioContext(1,48e3/30,48e3),this.audioBufferTask=new $(this,{args:()=>[this.fetchSeekTask.value,this.seekTask.value],task:async([e,n],{signal:s})=>{if(!e||!n||!this.defaultAudioTrackId)return;const l=n[this.defaultAudioTrackId];if(!l)return;const c=e[this.defaultAudioTrackId];if(c)return{buffer:await this.#t.decodeAudioData(await c.arrayBuffer()),startOffsetMs:l.segment.cts/l.track.timescale*1e3}}})}static{this.styles=[ot`
|
|
136
|
-
:host {
|
|
137
|
-
display: block;
|
|
138
|
-
position: relative;
|
|
139
|
-
overflow: hidden;
|
|
140
|
-
}
|
|
141
|
-
`]}fragmentIndexPath(){return this.getAttribute("src")?.startsWith("http")?this.getAttribute("src")+"/index":`/@ef-track-fragment-index/${this.getAttribute("src")??""}`}fragmentTrackPath(e){return this.getAttribute("src")?.startsWith("http")?this.getAttribute("src").replace("files","tracks")+`/${e}`:`/@ef-track/${this.getAttribute("src")??""}?trackId=${e}`}get defaultVideoTrackId(){return Object.values(this.trackFragmentIndexLoader.value??{}).find(e=>e.type==="video")?.track}get defaultAudioTrackId(){return Object.values(this.trackFragmentIndexLoader.value??{}).find(e=>e.type==="audio")?.track}async executeSeek(e){this.desiredSeekTimeMs=e}updated(e){e.has("ownCurrentTimeMs")&&this.executeSeek(this.ownCurrentTimeMs)}get hasOwnDuration(){return!0}get durationMs(){if(!this.trackFragmentIndexLoader.value)return 0;const e=Object.values(this.trackFragmentIndexLoader.value).map(n=>n.duration/n.timescale*1e3);return e.length===0?0:Math.max(...e)}get startTimeMs(){return oo(this)}#t}lr([P({type:Number})],te.prototype,"currentTimeMs",2),lr([lt({context:ir,subscribe:!0}),ht()],te.prototype,"efHost",2),lr([ht()],te.prototype,"desiredSeekTimeMs",2);var go=Object.defineProperty,mo=Object.getOwnPropertyDescriptor,yi=(r,e,n,s)=>{for(var l=s>1?void 0:s?mo(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&go(e,n,l),l};let xt=class extends te{constructor(){super(...arguments),this.audioElementRef=ct(),this.src=""}render(){return E`<audio ${dt(this.audioElementRef)}></audio>`}get audioElement(){return this.audioElementRef.value}};yi([P({type:String})],xt.prototype,"src",2),xt=yi([B("ef-audio")],xt);var wo=Object.defineProperty,yo=Object.getOwnPropertyDescriptor,vo=(r,e,n,s)=>{for(var l=s>1?void 0:s?yo(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&wo(e,n,l),l},vi=(r,e,n)=>{if(!e.has(r))throw TypeError("Cannot "+n)},bo=(r,e,n)=>(vi(r,e,"read from private field"),n?n.call(r):e.get(r)),_o=(r,e,n)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,n)},bi=(r,e,n,s)=>(vi(r,e,"write to private field"),s?s.call(r,n):e.set(r,n),n),ee;let St=class extends bt(te){constructor(){super(...arguments),this.canvasRef=ct(),_o(this,ee,!1),this.frameTask=new $(this,{args:()=>[this.trackFragmentIndexLoader.status,this.initSegmentsLoader.status,this.seekTask.status,this.fetchSeekTask.status,this.videoAssetTask.status,this.paintTask.status],task:async()=>{await this.trackFragmentIndexLoader.taskComplete,await this.initSegmentsLoader.taskComplete,await this.seekTask.taskComplete,await this.fetchSeekTask.taskComplete,await this.videoAssetTask.taskComplete,await this.paintTask.taskComplete,this.rootTimegroup?.requestUpdate()}}),this.paintTask=new $(this,{args:()=>[this.videoAssetTask.value,this.desiredSeekTimeMs],task:async([r,e],{signal:n})=>{if(r&&!bo(this,ee))try{bi(this,ee,!0);const s=await r.seekToTime(e/1e3);if(!this.canvasElement)return;const l=this.canvasElement.getContext("2d");return s&&l?(this.canvasElement.width=s?.codedWidth,this.canvasElement.height=s?.codedHeight,l.drawImage(s,0,0,this.canvasElement.width,this.canvasElement.height),e):void 0}catch(s){console.trace("Unexpected error while seeking video",s)}finally{bi(this,ee,!1)}}})}render(){return E` <canvas
|
|
142
|
-
class="h-full w-full object-fill"
|
|
143
|
-
${dt(this.canvasRef)}
|
|
144
|
-
></canvas>`}get canvasElement(){return this.canvasRef.value}};ee=new WeakMap,St.styles=[ot`
|
|
145
|
-
:host {
|
|
146
|
-
display: block;
|
|
147
|
-
}
|
|
148
|
-
`],St=vo([B("ef-video")],St);class _i{constructor(e,n){this.host=e,this.target=n,this.host.addController(this)}hostUpdate(){this.target.requestUpdate()}remove(){this.host.removeController(this)}}var xo=Object.defineProperty,So=Object.getOwnPropertyDescriptor,kt=(r,e,n,s)=>{for(var l=s>1?void 0:s?So(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&xo(e,n,l),l};let Ut=class extends Wt(L){constructor(){super(...arguments),this.wordStartMs=0,this.wordEndMs=0,this.wordText=""}render(){return E`${this.wordText}`}get startTimeMs(){return this.wordStartMs||0}get durationMs(){return this.wordEndMs-this.wordStartMs}};Ut.styles=[ot`
|
|
149
|
-
:host {
|
|
150
|
-
display: inline-block;
|
|
151
|
-
}
|
|
152
|
-
`],kt([P({type:Number,attribute:!1})],Ut.prototype,"wordStartMs",2),kt([P({type:Number,attribute:!1})],Ut.prototype,"wordEndMs",2),kt([P({type:String,attribute:!1})],Ut.prototype,"wordText",2),Ut=kt([B("ef-captions-active-word")],Ut);let Et=class extends sr(Wt(nr(L)),{assetType:"caption_files"}){constructor(){super(...arguments),this.target=null,this.wordStyle="",this.activeWordContainers=this.getElementsByTagName("ef-captions-active-word"),this.md5SumLoader=new $(this,{autoRun:!1,args:()=>[this.target],task:async([],{signal:r})=>{const e=`/@ef-asset/${this.targetElement.getAttribute("src")??""}`;return(await fetch(e,{method:"HEAD",signal:r})).headers.get("etag")??void 0}}),this.captionsDataTask=new $(this,{args:()=>[this.captionsPath(),this.fetch],task:async([r,e],{signal:n})=>(await e(r,{signal:n})).json()}),this.frameTask=new $(this,{args:()=>[this.captionsDataTask.status],task:async()=>{await this.captionsDataTask.taskComplete}})}captionsPath(){const r=this.targetElement.getAttribute("src");return r?.startsWith("http")?r.replace("isobmff","caption"):`/@ef-captions/${this.targetElement.getAttribute("src")??""}`}productionSrc(){if(!this.md5SumLoader.value)throw new Error(`MD5 sum not available for ${this}. Cannot generate production URL`);return`http://localhost:3000/api/video2/caption_files/${this.md5SumLoader.value}`}connectedCallback(){super.connectedCallback(),this.targetElement&&new _i(this.targetElement,this)}render(){return this.captionsDataTask.render({pending:()=>E`<div>Generating captions data...</div>`,error:()=>E`<div>π« Error generating captions data</div>`,complete:()=>E`<slot></slot>`})}updated(r){this.updateActiveWord()}updateActiveWord(){const r=this.captionsDataTask.value;if(!r)return;const e=[];let n,s;r.segments.forEach(l=>{if(this.targetElement.ownCurrentTimeMs>=l.start*1e3&&this.targetElement.ownCurrentTimeMs<=l.end*1e3)return l.words.map(c=>{this.targetElement.ownCurrentTimeMs>=c.start*1e3&&this.targetElement.ownCurrentTimeMs<=c.end*1e3&&(e.push(c.text),n=c.start*1e3,s=c.end*1e3)})}),Array.from(this.activeWordContainers).forEach(l=>{l.wordText=e.join(" "),l.wordStartMs=n,l.wordEndMs=s})}get targetElement(){const r=document.querySelector(this.getAttribute("target")??"");if(r instanceof xt||r instanceof St)return r;throw new Error("Invalid target, must be an EFAudio or EFVideo element")}};Et.styles=[ot`
|
|
153
|
-
:host {
|
|
154
|
-
display: block;
|
|
155
|
-
}
|
|
156
|
-
`],kt([P({type:String,attribute:"target"})],Et.prototype,"target",2),kt([P({attribute:"word-style"})],Et.prototype,"wordStyle",2),Et=kt([B("ef-captions")],Et);function Ue(r,e){return r==null||e==null?NaN:r<e?-1:r>e?1:r>=e?0:NaN}function ko(r,e){return r==null||e==null?NaN:e<r?-1:e>r?1:e>=r?0:NaN}function xi(r){let e,n,s;r.length!==2?(e=Ue,n=(o,f)=>Ue(r(o),f),s=(o,f)=>r(o)-f):(e=r===Ue||r===ko?r:Uo,n=r,s=r);function l(o,f,u=0,g=o.length){if(u<g){if(e(f,f)!==0)return g;do{const y=u+g>>>1;n(o[y],f)<0?u=y+1:g=y}while(u<g)}return u}function c(o,f,u=0,g=o.length){if(u<g){if(e(f,f)!==0)return g;do{const y=u+g>>>1;n(o[y],f)<=0?u=y+1:g=y}while(u<g)}return u}function d(o,f,u=0,g=o.length){const y=l(o,f,u,g-1);return y>u&&s(o[y-1],f)>-s(o[y],f)?y-1:y}return{left:l,center:d,right:c}}function Uo(){return 0}function Eo(r){return r===null?NaN:+r}const Ao=xi(Ue).right;xi(Eo).center;class Si extends Map{constructor(e,n=zo){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[s,l]of e)this.set(s,l)}get(e){return super.get(ki(this,e))}has(e){return super.has(ki(this,e))}set(e,n){return super.set(To(this,e),n)}delete(e){return super.delete(Co(this,e))}}function ki({_intern:r,_key:e},n){const s=e(n);return r.has(s)?r.get(s):n}function To({_intern:r,_key:e},n){const s=e(n);return r.has(s)?r.get(s):(r.set(s,n),n)}function Co({_intern:r,_key:e},n){const s=e(n);return r.has(s)&&(n=r.get(s),r.delete(s)),n}function zo(r){return r!==null&&typeof r=="object"?r.valueOf():r}const Bo=Math.sqrt(50),Po=Math.sqrt(10),Io=Math.sqrt(2);function Ee(r,e,n){const s=(e-r)/Math.max(0,n),l=Math.floor(Math.log10(s)),c=s/Math.pow(10,l),d=c>=Bo?10:c>=Po?5:c>=Io?2:1;let o,f,u;return l<0?(u=Math.pow(10,-l)/d,o=Math.round(r*u),f=Math.round(e*u),o/u<r&&++o,f/u>e&&--f,u=-u):(u=Math.pow(10,l)*d,o=Math.round(r/u),f=Math.round(e/u),o*u<r&&++o,f*u>e&&--f),f<o&&.5<=n&&n<2?Ee(r,e,n*2):[o,f,u]}function Mo(r,e,n){if(e=+e,r=+r,n=+n,!(n>0))return[];if(r===e)return[r];const s=e<r,[l,c,d]=s?Ee(e,r,n):Ee(r,e,n);if(!(c>=l))return[];const o=c-l+1,f=new Array(o);if(s)if(d<0)for(let u=0;u<o;++u)f[u]=(c-u)/-d;else for(let u=0;u<o;++u)f[u]=(c-u)*d;else if(d<0)for(let u=0;u<o;++u)f[u]=(l+u)/-d;else for(let u=0;u<o;++u)f[u]=(l+u)*d;return f}function hr(r,e,n){return e=+e,r=+r,n=+n,Ee(r,e,n)[2]}function Fo(r,e,n){e=+e,r=+r,n=+n;const s=e<r,l=s?hr(e,r,n):hr(r,e,n);return(s?-1:1)*(l<0?1/-l:l)}function re(r,e,n){r=+r,e=+e,n=(l=arguments.length)<2?(e=r,r=0,1):l<3?1:+n;for(var s=-1,l=Math.max(0,Math.ceil((e-r)/n))|0,c=new Array(l);++s<l;)c[s]=r+s*n;return c}var $o={value:()=>{}};function Ui(){for(var r=0,e=arguments.length,n={},s;r<e;++r){if(!(s=arguments[r]+"")||s in n||/[\s.]/.test(s))throw new Error("illegal type: "+s);n[s]=[]}return new Ae(n)}function Ae(r){this._=r}function Lo(r,e){return r.trim().split(/^|\s+/).map(function(n){var s="",l=n.indexOf(".");if(l>=0&&(s=n.slice(l+1),n=n.slice(0,l)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:s}})}Ae.prototype=Ui.prototype={constructor:Ae,on:function(r,e){var n=this._,s=Lo(r+"",n),l,c=-1,d=s.length;if(arguments.length<2){for(;++c<d;)if((l=(r=s[c]).type)&&(l=Ro(n[l],r.name)))return l;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++c<d;)if(l=(r=s[c]).type)n[l]=Ei(n[l],r.name,e);else if(e==null)for(l in n)n[l]=Ei(n[l],r.name,null);return this},copy:function(){var r={},e=this._;for(var n in e)r[n]=e[n].slice();return new Ae(r)},call:function(r,e){if((l=arguments.length-2)>0)for(var n=new Array(l),s=0,l,c;s<l;++s)n[s]=arguments[s+2];if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(c=this._[r],s=0,l=c.length;s<l;++s)c[s].value.apply(e,n)},apply:function(r,e,n){if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(var s=this._[r],l=0,c=s.length;l<c;++l)s[l].value.apply(e,n)}};function Ro(r,e){for(var n=0,s=r.length,l;n<s;++n)if((l=r[n]).name===e)return l.value}function Ei(r,e,n){for(var s=0,l=r.length;s<l;++s)if(r[s].name===e){r[s]=$o,r=r.slice(0,s).concat(r.slice(s+1));break}return n!=null&&r.push({name:e,value:n}),r}var cr="http://www.w3.org/1999/xhtml";const Ai={svg:"http://www.w3.org/2000/svg",xhtml:cr,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Te(r){var e=r+="",n=e.indexOf(":");return n>=0&&(e=r.slice(0,n))!=="xmlns"&&(r=r.slice(n+1)),Ai.hasOwnProperty(e)?{space:Ai[e],local:r}:r}function No(r){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===cr&&e.documentElement.namespaceURI===cr?e.createElement(r):e.createElementNS(n,r)}}function Do(r){return function(){return this.ownerDocument.createElementNS(r.space,r.local)}}function Ti(r){var e=Te(r);return(e.local?Do:No)(e)}function Oo(){}function dr(r){return r==null?Oo:function(){return this.querySelector(r)}}function Ho(r){typeof r!="function"&&(r=dr(r));for(var e=this._groups,n=e.length,s=new Array(n),l=0;l<n;++l)for(var c=e[l],d=c.length,o=s[l]=new Array(d),f,u,g=0;g<d;++g)(f=c[g])&&(u=r.call(f,f.__data__,g,c))&&("__data__"in f&&(u.__data__=f.__data__),o[g]=u);return new q(s,this._parents)}function Go(r){return r==null?[]:Array.isArray(r)?r:Array.from(r)}function Yo(){return[]}function Ci(r){return r==null?Yo:function(){return this.querySelectorAll(r)}}function qo(r){return function(){return Go(r.apply(this,arguments))}}function Vo(r){typeof r=="function"?r=qo(r):r=Ci(r);for(var e=this._groups,n=e.length,s=[],l=[],c=0;c<n;++c)for(var d=e[c],o=d.length,f,u=0;u<o;++u)(f=d[u])&&(s.push(r.call(f,f.__data__,u,d)),l.push(f));return new q(s,l)}function zi(r){return function(){return this.matches(r)}}function Bi(r){return function(e){return e.matches(r)}}var jo=Array.prototype.find;function Wo(r){return function(){return jo.call(this.children,r)}}function Xo(){return this.firstElementChild}function Ko(r){return this.select(r==null?Xo:Wo(typeof r=="function"?r:Bi(r)))}var Zo=Array.prototype.filter;function Qo(){return Array.from(this.children)}function Jo(r){return function(){return Zo.call(this.children,r)}}function ta(r){return this.selectAll(r==null?Qo:Jo(typeof r=="function"?r:Bi(r)))}function ea(r){typeof r!="function"&&(r=zi(r));for(var e=this._groups,n=e.length,s=new Array(n),l=0;l<n;++l)for(var c=e[l],d=c.length,o=s[l]=[],f,u=0;u<d;++u)(f=c[u])&&r.call(f,f.__data__,u,c)&&o.push(f);return new q(s,this._parents)}function Pi(r){return new Array(r.length)}function ra(){return new q(this._enter||this._groups.map(Pi),this._parents)}function Ce(r,e){this.ownerDocument=r.ownerDocument,this.namespaceURI=r.namespaceURI,this._next=null,this._parent=r,this.__data__=e}Ce.prototype={constructor:Ce,appendChild:function(r){return this._parent.insertBefore(r,this._next)},insertBefore:function(r,e){return this._parent.insertBefore(r,e)},querySelector:function(r){return this._parent.querySelector(r)},querySelectorAll:function(r){return this._parent.querySelectorAll(r)}};function ia(r){return function(){return r}}function na(r,e,n,s,l,c){for(var d=0,o,f=e.length,u=c.length;d<u;++d)(o=e[d])?(o.__data__=c[d],s[d]=o):n[d]=new Ce(r,c[d]);for(;d<f;++d)(o=e[d])&&(l[d]=o)}function sa(r,e,n,s,l,c,d){var o,f,u=new Map,g=e.length,y=c.length,t=new Array(g),i;for(o=0;o<g;++o)(f=e[o])&&(t[o]=i=d.call(f,f.__data__,o,e)+"",u.has(i)?l[o]=f:u.set(i,f));for(o=0;o<y;++o)i=d.call(r,c[o],o,c)+"",(f=u.get(i))?(s[o]=f,f.__data__=c[o],u.delete(i)):n[o]=new Ce(r,c[o]);for(o=0;o<g;++o)(f=e[o])&&u.get(t[o])===f&&(l[o]=f)}function oa(r){return r.__data__}function aa(r,e){if(!arguments.length)return Array.from(this,oa);var n=e?sa:na,s=this._parents,l=this._groups;typeof r!="function"&&(r=ia(r));for(var c=l.length,d=new Array(c),o=new Array(c),f=new Array(c),u=0;u<c;++u){var g=s[u],y=l[u],t=y.length,i=la(r.call(g,g&&g.__data__,u,s)),a=i.length,h=o[u]=new Array(a),p=d[u]=new Array(a),m=f[u]=new Array(t);n(g,y,h,p,m,i,e);for(var w=0,v=0,b,_;w<a;++w)if(b=h[w]){for(w>=v&&(v=w+1);!(_=p[v])&&++v<a;);b._next=_||null}}return d=new q(d,s),d._enter=o,d._exit=f,d}function la(r){return typeof r=="object"&&"length"in r?r:Array.from(r)}function ha(){return new q(this._exit||this._groups.map(Pi),this._parents)}function ca(r,e,n){var s=this.enter(),l=this,c=this.exit();return typeof r=="function"?(s=r(s),s&&(s=s.selection())):s=s.append(r+""),e!=null&&(l=e(l),l&&(l=l.selection())),n==null?c.remove():n(c),s&&l?s.merge(l).order():l}function da(r){for(var e=r.selection?r.selection():r,n=this._groups,s=e._groups,l=n.length,c=s.length,d=Math.min(l,c),o=new Array(l),f=0;f<d;++f)for(var u=n[f],g=s[f],y=u.length,t=o[f]=new Array(y),i,a=0;a<y;++a)(i=u[a]||g[a])&&(t[a]=i);for(;f<l;++f)o[f]=n[f];return new q(o,this._parents)}function pa(){for(var r=this._groups,e=-1,n=r.length;++e<n;)for(var s=r[e],l=s.length-1,c=s[l],d;--l>=0;)(d=s[l])&&(c&&d.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(d,c),c=d);return this}function fa(r){r||(r=ua);function e(y,t){return y&&t?r(y.__data__,t.__data__):!y-!t}for(var n=this._groups,s=n.length,l=new Array(s),c=0;c<s;++c){for(var d=n[c],o=d.length,f=l[c]=new Array(o),u,g=0;g<o;++g)(u=d[g])&&(f[g]=u);f.sort(e)}return new q(l,this._parents).order()}function ua(r,e){return r<e?-1:r>e?1:r>=e?0:NaN}function ga(){var r=arguments[0];return arguments[0]=this,r.apply(null,arguments),this}function ma(){return Array.from(this)}function wa(){for(var r=this._groups,e=0,n=r.length;e<n;++e)for(var s=r[e],l=0,c=s.length;l<c;++l){var d=s[l];if(d)return d}return null}function ya(){let r=0;for(const e of this)++r;return r}function va(){return!this.node()}function ba(r){for(var e=this._groups,n=0,s=e.length;n<s;++n)for(var l=e[n],c=0,d=l.length,o;c<d;++c)(o=l[c])&&r.call(o,o.__data__,c,l);return this}function _a(r){return function(){this.removeAttribute(r)}}function xa(r){return function(){this.removeAttributeNS(r.space,r.local)}}function Sa(r,e){return function(){this.setAttribute(r,e)}}function ka(r,e){return function(){this.setAttributeNS(r.space,r.local,e)}}function Ua(r,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(r):this.setAttribute(r,n)}}function Ea(r,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(r.space,r.local):this.setAttributeNS(r.space,r.local,n)}}function Aa(r,e){var n=Te(r);if(arguments.length<2){var s=this.node();return n.local?s.getAttributeNS(n.space,n.local):s.getAttribute(n)}return this.each((e==null?n.local?xa:_a:typeof e=="function"?n.local?Ea:Ua:n.local?ka:Sa)(n,e))}function Ii(r){return r.ownerDocument&&r.ownerDocument.defaultView||r.document&&r||r.defaultView}function Ta(r){return function(){this.style.removeProperty(r)}}function Ca(r,e,n){return function(){this.style.setProperty(r,e,n)}}function za(r,e,n){return function(){var s=e.apply(this,arguments);s==null?this.style.removeProperty(r):this.style.setProperty(r,s,n)}}function Ba(r,e,n){return arguments.length>1?this.each((e==null?Ta:typeof e=="function"?za:Ca)(r,e,n??"")):Ft(this.node(),r)}function Ft(r,e){return r.style.getPropertyValue(e)||Ii(r).getComputedStyle(r,null).getPropertyValue(e)}function Pa(r){return function(){delete this[r]}}function Ia(r,e){return function(){this[r]=e}}function Ma(r,e){return function(){var n=e.apply(this,arguments);n==null?delete this[r]:this[r]=n}}function Fa(r,e){return arguments.length>1?this.each((e==null?Pa:typeof e=="function"?Ma:Ia)(r,e)):this.node()[r]}function Mi(r){return r.trim().split(/^|\s+/)}function pr(r){return r.classList||new Fi(r)}function Fi(r){this._node=r,this._names=Mi(r.getAttribute("class")||"")}Fi.prototype={add:function(r){var e=this._names.indexOf(r);e<0&&(this._names.push(r),this._node.setAttribute("class",this._names.join(" ")))},remove:function(r){var e=this._names.indexOf(r);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(r){return this._names.indexOf(r)>=0}};function $i(r,e){for(var n=pr(r),s=-1,l=e.length;++s<l;)n.add(e[s])}function Li(r,e){for(var n=pr(r),s=-1,l=e.length;++s<l;)n.remove(e[s])}function $a(r){return function(){$i(this,r)}}function La(r){return function(){Li(this,r)}}function Ra(r,e){return function(){(e.apply(this,arguments)?$i:Li)(this,r)}}function Na(r,e){var n=Mi(r+"");if(arguments.length<2){for(var s=pr(this.node()),l=-1,c=n.length;++l<c;)if(!s.contains(n[l]))return!1;return!0}return this.each((typeof e=="function"?Ra:e?$a:La)(n,e))}function Da(){this.textContent=""}function Oa(r){return function(){this.textContent=r}}function Ha(r){return function(){var e=r.apply(this,arguments);this.textContent=e??""}}function Ga(r){return arguments.length?this.each(r==null?Da:(typeof r=="function"?Ha:Oa)(r)):this.node().textContent}function Ya(){this.innerHTML=""}function qa(r){return function(){this.innerHTML=r}}function Va(r){return function(){var e=r.apply(this,arguments);this.innerHTML=e??""}}function ja(r){return arguments.length?this.each(r==null?Ya:(typeof r=="function"?Va:qa)(r)):this.node().innerHTML}function Wa(){this.nextSibling&&this.parentNode.appendChild(this)}function Xa(){return this.each(Wa)}function Ka(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Za(){return this.each(Ka)}function Qa(r){var e=typeof r=="function"?r:Ti(r);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function Ja(){return null}function tl(r,e){var n=typeof r=="function"?r:Ti(r),s=e==null?Ja:typeof e=="function"?e:dr(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),s.apply(this,arguments)||null)})}function el(){var r=this.parentNode;r&&r.removeChild(this)}function rl(){return this.each(el)}function il(){var r=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(r,this.nextSibling):r}function nl(){var r=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(r,this.nextSibling):r}function sl(r){return this.select(r?nl:il)}function ol(r){return arguments.length?this.property("__data__",r):this.node().__data__}function al(r){return function(e){r.call(this,e,this.__data__)}}function ll(r){return r.trim().split(/^|\s+/).map(function(e){var n="",s=e.indexOf(".");return s>=0&&(n=e.slice(s+1),e=e.slice(0,s)),{type:e,name:n}})}function hl(r){return function(){var e=this.__on;if(e){for(var n=0,s=-1,l=e.length,c;n<l;++n)c=e[n],(!r.type||c.type===r.type)&&c.name===r.name?this.removeEventListener(c.type,c.listener,c.options):e[++s]=c;++s?e.length=s:delete this.__on}}}function cl(r,e,n){return function(){var s=this.__on,l,c=al(e);if(s){for(var d=0,o=s.length;d<o;++d)if((l=s[d]).type===r.type&&l.name===r.name){this.removeEventListener(l.type,l.listener,l.options),this.addEventListener(l.type,l.listener=c,l.options=n),l.value=e;return}}this.addEventListener(r.type,c,n),l={type:r.type,name:r.name,value:e,listener:c,options:n},s?s.push(l):this.__on=[l]}}function dl(r,e,n){var s=ll(r+""),l,c=s.length,d;if(arguments.length<2){var o=this.node().__on;if(o){for(var f=0,u=o.length,g;f<u;++f)for(l=0,g=o[f];l<c;++l)if((d=s[l]).type===g.type&&d.name===g.name)return g.value}return}for(o=e?cl:hl,l=0;l<c;++l)this.each(o(s[l],e,n));return this}function Ri(r,e,n){var s=Ii(r),l=s.CustomEvent;typeof l=="function"?l=new l(e,n):(l=s.document.createEvent("Event"),n?(l.initEvent(e,n.bubbles,n.cancelable),l.detail=n.detail):l.initEvent(e,!1,!1)),r.dispatchEvent(l)}function pl(r,e){return function(){return Ri(this,r,e)}}function fl(r,e){return function(){return Ri(this,r,e.apply(this,arguments))}}function ul(r,e){return this.each((typeof e=="function"?fl:pl)(r,e))}function*gl(){for(var r=this._groups,e=0,n=r.length;e<n;++e)for(var s=r[e],l=0,c=s.length,d;l<c;++l)(d=s[l])&&(yield d)}var Ni=[null];function q(r,e){this._groups=r,this._parents=e}function ie(){return new q([[document.documentElement]],Ni)}function ml(){return this}q.prototype=ie.prototype={constructor:q,select:Ho,selectAll:Vo,selectChild:Ko,selectChildren:ta,filter:ea,data:aa,enter:ra,exit:ha,join:ca,merge:da,selection:ml,order:pa,sort:fa,call:ga,nodes:ma,node:wa,size:ya,empty:va,each:ba,attr:Aa,style:Ba,property:Fa,classed:Na,text:Ga,html:ja,raise:Xa,lower:Za,append:Qa,insert:tl,remove:rl,clone:sl,datum:ol,on:dl,dispatch:ul,[Symbol.iterator]:gl};function ft(r){return typeof r=="string"?new q([[document.querySelector(r)]],[document.documentElement]):new q([[r]],Ni)}function fr(r,e,n){r.prototype=e.prototype=n,n.constructor=r}function Di(r,e){var n=Object.create(r.prototype);for(var s in e)n[s]=e[s];return n}function ne(){}var se=.7,ze=1/se,$t="\\s*([+-]?\\d+)\\s*",oe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Q="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",wl=/^#([0-9a-f]{3,8})$/,yl=new RegExp(`^rgb\\(${$t},${$t},${$t}\\)$`),vl=new RegExp(`^rgb\\(${Q},${Q},${Q}\\)$`),bl=new RegExp(`^rgba\\(${$t},${$t},${$t},${oe}\\)$`),_l=new RegExp(`^rgba\\(${Q},${Q},${Q},${oe}\\)$`),xl=new RegExp(`^hsl\\(${oe},${Q},${Q}\\)$`),Sl=new RegExp(`^hsla\\(${oe},${Q},${Q},${oe}\\)$`),Oi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};fr(ne,At,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:Hi,formatHex:Hi,formatHex8:kl,formatHsl:Ul,formatRgb:Gi,toString:Gi});function Hi(){return this.rgb().formatHex()}function kl(){return this.rgb().formatHex8()}function Ul(){return Wi(this).formatHsl()}function Gi(){return this.rgb().formatRgb()}function At(r){var e,n;return r=(r+"").trim().toLowerCase(),(e=wl.exec(r))?(n=e[1].length,e=parseInt(e[1],16),n===6?Yi(e):n===3?new O(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Be(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Be(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=yl.exec(r))?new O(e[1],e[2],e[3],1):(e=vl.exec(r))?new O(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=bl.exec(r))?Be(e[1],e[2],e[3],e[4]):(e=_l.exec(r))?Be(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=xl.exec(r))?ji(e[1],e[2]/100,e[3]/100,1):(e=Sl.exec(r))?ji(e[1],e[2]/100,e[3]/100,e[4]):Oi.hasOwnProperty(r)?Yi(Oi[r]):r==="transparent"?new O(NaN,NaN,NaN,0):null}function Yi(r){return new O(r>>16&255,r>>8&255,r&255,1)}function Be(r,e,n,s){return s<=0&&(r=e=n=NaN),new O(r,e,n,s)}function El(r){return r instanceof ne||(r=At(r)),r?(r=r.rgb(),new O(r.r,r.g,r.b,r.opacity)):new O}function ur(r,e,n,s){return arguments.length===1?El(r):new O(r,e,n,s??1)}function O(r,e,n,s){this.r=+r,this.g=+e,this.b=+n,this.opacity=+s}fr(O,ur,Di(ne,{brighter(r){return r=r==null?ze:Math.pow(ze,r),new O(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?se:Math.pow(se,r),new O(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new O(Tt(this.r),Tt(this.g),Tt(this.b),Pe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:qi,formatHex:qi,formatHex8:Al,formatRgb:Vi,toString:Vi}));function qi(){return`#${Ct(this.r)}${Ct(this.g)}${Ct(this.b)}`}function Al(){return`#${Ct(this.r)}${Ct(this.g)}${Ct(this.b)}${Ct((isNaN(this.opacity)?1:this.opacity)*255)}`}function Vi(){const r=Pe(this.opacity);return`${r===1?"rgb(":"rgba("}${Tt(this.r)}, ${Tt(this.g)}, ${Tt(this.b)}${r===1?")":`, ${r})`}`}function Pe(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function Tt(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function Ct(r){return r=Tt(r),(r<16?"0":"")+r.toString(16)}function ji(r,e,n,s){return s<=0?r=e=n=NaN:n<=0||n>=1?r=e=NaN:e<=0&&(r=NaN),new W(r,e,n,s)}function Wi(r){if(r instanceof W)return new W(r.h,r.s,r.l,r.opacity);if(r instanceof ne||(r=At(r)),!r)return new W;if(r instanceof W)return r;r=r.rgb();var e=r.r/255,n=r.g/255,s=r.b/255,l=Math.min(e,n,s),c=Math.max(e,n,s),d=NaN,o=c-l,f=(c+l)/2;return o?(e===c?d=(n-s)/o+(n<s)*6:n===c?d=(s-e)/o+2:d=(e-n)/o+4,o/=f<.5?c+l:2-c-l,d*=60):o=f>0&&f<1?0:d,new W(d,o,f,r.opacity)}function Tl(r,e,n,s){return arguments.length===1?Wi(r):new W(r,e,n,s??1)}function W(r,e,n,s){this.h=+r,this.s=+e,this.l=+n,this.opacity=+s}fr(W,Tl,Di(ne,{brighter(r){return r=r==null?ze:Math.pow(ze,r),new W(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?se:Math.pow(se,r),new W(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,n=this.l,s=n+(n<.5?n:1-n)*e,l=2*n-s;return new O(gr(r>=240?r-240:r+120,l,s),gr(r,l,s),gr(r<120?r+240:r-120,l,s),this.opacity)},clamp(){return new W(Xi(this.h),Ie(this.s),Ie(this.l),Pe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=Pe(this.opacity);return`${r===1?"hsl(":"hsla("}${Xi(this.h)}, ${Ie(this.s)*100}%, ${Ie(this.l)*100}%${r===1?")":`, ${r})`}`}}));function Xi(r){return r=(r||0)%360,r<0?r+360:r}function Ie(r){return Math.max(0,Math.min(1,r||0))}function gr(r,e,n){return(r<60?e+(n-e)*r/60:r<180?n:r<240?e+(n-e)*(240-r)/60:e)*255}const mr=r=>()=>r;function Cl(r,e){return function(n){return r+n*e}}function zl(r,e,n){return r=Math.pow(r,n),e=Math.pow(e,n)-r,n=1/n,function(s){return Math.pow(r+s*e,n)}}function Bl(r){return(r=+r)==1?Ki:function(e,n){return n-e?zl(e,n,r):mr(isNaN(e)?n:e)}}function Ki(r,e){var n=e-r;return n?Cl(r,n):mr(isNaN(r)?e:r)}const Me=function r(e){var n=Bl(e);function s(l,c){var d=n((l=ur(l)).r,(c=ur(c)).r),o=n(l.g,c.g),f=n(l.b,c.b),u=Ki(l.opacity,c.opacity);return function(g){return l.r=d(g),l.g=o(g),l.b=f(g),l.opacity=u(g),l+""}}return s.gamma=r,s}(1);function Pl(r,e){e||(e=[]);var n=r?Math.min(e.length,r.length):0,s=e.slice(),l;return function(c){for(l=0;l<n;++l)s[l]=r[l]*(1-c)+e[l]*c;return s}}function Il(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function Ml(r,e){var n=e?e.length:0,s=r?Math.min(n,r.length):0,l=new Array(s),c=new Array(n),d;for(d=0;d<s;++d)l[d]=vr(r[d],e[d]);for(;d<n;++d)c[d]=e[d];return function(o){for(d=0;d<s;++d)c[d]=l[d](o);return c}}function Fl(r,e){var n=new Date;return r=+r,e=+e,function(s){return n.setTime(r*(1-s)+e*s),n}}function X(r,e){return r=+r,e=+e,function(n){return r*(1-n)+e*n}}function $l(r,e){var n={},s={},l;(r===null||typeof r!="object")&&(r={}),(e===null||typeof e!="object")&&(e={});for(l in e)l in r?n[l]=vr(r[l],e[l]):s[l]=e[l];return function(c){for(l in n)s[l]=n[l](c);return s}}var wr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,yr=new RegExp(wr.source,"g");function Ll(r){return function(){return r}}function Rl(r){return function(e){return r(e)+""}}function Zi(r,e){var n=wr.lastIndex=yr.lastIndex=0,s,l,c,d=-1,o=[],f=[];for(r=r+"",e=e+"";(s=wr.exec(r))&&(l=yr.exec(e));)(c=l.index)>n&&(c=e.slice(n,c),o[d]?o[d]+=c:o[++d]=c),(s=s[0])===(l=l[0])?o[d]?o[d]+=l:o[++d]=l:(o[++d]=null,f.push({i:d,x:X(s,l)})),n=yr.lastIndex;return n<e.length&&(c=e.slice(n),o[d]?o[d]+=c:o[++d]=c),o.length<2?f[0]?Rl(f[0].x):Ll(e):(e=f.length,function(u){for(var g=0,y;g<e;++g)o[(y=f[g]).i]=y.x(u);return o.join("")})}function vr(r,e){var n=typeof e,s;return e==null||n==="boolean"?mr(e):(n==="number"?X:n==="string"?(s=At(e))?(e=s,Me):Zi:e instanceof At?Me:e instanceof Date?Fl:Il(e)?Pl:Array.isArray(e)?Ml:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?$l:X)(r,e)}function Nl(r,e){return r=+r,e=+e,function(n){return Math.round(r*(1-n)+e*n)}}var Qi=180/Math.PI,br={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ji(r,e,n,s,l,c){var d,o,f;return(d=Math.sqrt(r*r+e*e))&&(r/=d,e/=d),(f=r*n+e*s)&&(n-=r*f,s-=e*f),(o=Math.sqrt(n*n+s*s))&&(n/=o,s/=o,f/=o),r*s<e*n&&(r=-r,e=-e,f=-f,d=-d),{translateX:l,translateY:c,rotate:Math.atan2(e,r)*Qi,skewX:Math.atan(f)*Qi,scaleX:d,scaleY:o}}var Fe;function Dl(r){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(r+"");return e.isIdentity?br:Ji(e.a,e.b,e.c,e.d,e.e,e.f)}function Ol(r){return r==null||(Fe||(Fe=document.createElementNS("http://www.w3.org/2000/svg","g")),Fe.setAttribute("transform",r),!(r=Fe.transform.baseVal.consolidate()))?br:(r=r.matrix,Ji(r.a,r.b,r.c,r.d,r.e,r.f))}function tn(r,e,n,s){function l(u){return u.length?u.pop()+" ":""}function c(u,g,y,t,i,a){if(u!==y||g!==t){var h=i.push("translate(",null,e,null,n);a.push({i:h-4,x:X(u,y)},{i:h-2,x:X(g,t)})}else(y||t)&&i.push("translate("+y+e+t+n)}function d(u,g,y,t){u!==g?(u-g>180?g+=360:g-u>180&&(u+=360),t.push({i:y.push(l(y)+"rotate(",null,s)-2,x:X(u,g)})):g&&y.push(l(y)+"rotate("+g+s)}function o(u,g,y,t){u!==g?t.push({i:y.push(l(y)+"skewX(",null,s)-2,x:X(u,g)}):g&&y.push(l(y)+"skewX("+g+s)}function f(u,g,y,t,i,a){if(u!==y||g!==t){var h=i.push(l(i)+"scale(",null,",",null,")");a.push({i:h-4,x:X(u,y)},{i:h-2,x:X(g,t)})}else(y!==1||t!==1)&&i.push(l(i)+"scale("+y+","+t+")")}return function(u,g){var y=[],t=[];return u=r(u),g=r(g),c(u.translateX,u.translateY,g.translateX,g.translateY,y,t),d(u.rotate,g.rotate,y,t),o(u.skewX,g.skewX,y,t),f(u.scaleX,u.scaleY,g.scaleX,g.scaleY,y,t),u=g=null,function(i){for(var a=-1,h=t.length,p;++a<h;)y[(p=t[a]).i]=p.x(i);return y.join("")}}}var Hl=tn(Dl,"px, ","px)","deg)"),Gl=tn(Ol,", ",")",")"),Lt=0,ae=0,le=0,en=1e3,$e,he,Le=0,zt=0,Re=0,ce=typeof performance=="object"&&performance.now?performance:Date,rn=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function _r(){return zt||(rn(Yl),zt=ce.now()+Re)}function Yl(){zt=0}function Ne(){this._call=this._time=this._next=null}Ne.prototype=nn.prototype={constructor:Ne,restart:function(r,e,n){if(typeof r!="function")throw new TypeError("callback is not a function");n=(n==null?_r():+n)+(e==null?0:+e),!this._next&&he!==this&&(he?he._next=this:$e=this,he=this),this._call=r,this._time=n,xr()},stop:function(){this._call&&(this._call=null,this._time=1/0,xr())}};function nn(r,e,n){var s=new Ne;return s.restart(r,e,n),s}function ql(){_r(),++Lt;for(var r=$e,e;r;)(e=zt-r._time)>=0&&r._call.call(void 0,e),r=r._next;--Lt}function sn(){zt=(Le=ce.now())+Re,Lt=ae=0;try{ql()}finally{Lt=0,jl(),zt=0}}function Vl(){var r=ce.now(),e=r-Le;e>en&&(Re-=e,Le=r)}function jl(){for(var r,e=$e,n,s=1/0;e;)e._call?(s>e._time&&(s=e._time),r=e,e=e._next):(n=e._next,e._next=null,e=r?r._next=n:$e=n);he=r,xr(s)}function xr(r){if(!Lt){ae&&(ae=clearTimeout(ae));var e=r-zt;e>24?(r<1/0&&(ae=setTimeout(sn,r-ce.now()-Re)),le&&(le=clearInterval(le))):(le||(Le=ce.now(),le=setInterval(Vl,en)),Lt=1,rn(sn))}}function on(r,e,n){var s=new Ne;return e=e==null?0:+e,s.restart(l=>{s.stop(),r(l+e)},e,n),s}var Wl=Ui("start","end","cancel","interrupt"),Xl=[],an=0,ln=1,Sr=2,De=3,hn=4,kr=5,Oe=6;function He(r,e,n,s,l,c){var d=r.__transition;if(!d)r.__transition={};else if(n in d)return;Kl(r,n,{name:e,index:s,group:l,on:Wl,tween:Xl,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:an})}function Ur(r,e){var n=K(r,e);if(n.state>an)throw new Error("too late; already scheduled");return n}function J(r,e){var n=K(r,e);if(n.state>De)throw new Error("too late; already running");return n}function K(r,e){var n=r.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Kl(r,e,n){var s=r.__transition,l;s[e]=n,n.timer=nn(c,0,n.time);function c(u){n.state=ln,n.timer.restart(d,n.delay,n.time),n.delay<=u&&d(u-n.delay)}function d(u){var g,y,t,i;if(n.state!==ln)return f();for(g in s)if(i=s[g],i.name===n.name){if(i.state===De)return on(d);i.state===hn?(i.state=Oe,i.timer.stop(),i.on.call("interrupt",r,r.__data__,i.index,i.group),delete s[g]):+g<e&&(i.state=Oe,i.timer.stop(),i.on.call("cancel",r,r.__data__,i.index,i.group),delete s[g])}if(on(function(){n.state===De&&(n.state=hn,n.timer.restart(o,n.delay,n.time),o(u))}),n.state=Sr,n.on.call("start",r,r.__data__,n.index,n.group),n.state===Sr){for(n.state=De,l=new Array(t=n.tween.length),g=0,y=-1;g<t;++g)(i=n.tween[g].value.call(r,r.__data__,n.index,n.group))&&(l[++y]=i);l.length=y+1}}function o(u){for(var g=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(f),n.state=kr,1),y=-1,t=l.length;++y<t;)l[y].call(r,g);n.state===kr&&(n.on.call("end",r,r.__data__,n.index,n.group),f())}function f(){n.state=Oe,n.timer.stop(),delete s[e];for(var u in s)return;delete r.__transition}}function Zl(r,e){var n=r.__transition,s,l,c=!0,d;if(n){e=e==null?null:e+"";for(d in n){if((s=n[d]).name!==e){c=!1;continue}l=s.state>Sr&&s.state<kr,s.state=Oe,s.timer.stop(),s.on.call(l?"interrupt":"cancel",r,r.__data__,s.index,s.group),delete n[d]}c&&delete r.__transition}}function Ql(r){return this.each(function(){Zl(this,r)})}function Jl(r,e){var n,s;return function(){var l=J(this,r),c=l.tween;if(c!==n){s=n=c;for(var d=0,o=s.length;d<o;++d)if(s[d].name===e){s=s.slice(),s.splice(d,1);break}}l.tween=s}}function th(r,e,n){var s,l;if(typeof n!="function")throw new Error;return function(){var c=J(this,r),d=c.tween;if(d!==s){l=(s=d).slice();for(var o={name:e,value:n},f=0,u=l.length;f<u;++f)if(l[f].name===e){l[f]=o;break}f===u&&l.push(o)}c.tween=l}}function eh(r,e){var n=this._id;if(r+="",arguments.length<2){for(var s=K(this.node(),n).tween,l=0,c=s.length,d;l<c;++l)if((d=s[l]).name===r)return d.value;return null}return this.each((e==null?Jl:th)(n,r,e))}function Er(r,e,n){var s=r._id;return r.each(function(){var l=J(this,s);(l.value||(l.value={}))[e]=n.apply(this,arguments)}),function(l){return K(l,s).value[e]}}function cn(r,e){var n;return(typeof e=="number"?X:e instanceof At?Me:(n=At(e))?(e=n,Me):Zi)(r,e)}function rh(r){return function(){this.removeAttribute(r)}}function ih(r){return function(){this.removeAttributeNS(r.space,r.local)}}function nh(r,e,n){var s,l=n+"",c;return function(){var d=this.getAttribute(r);return d===l?null:d===s?c:c=e(s=d,n)}}function sh(r,e,n){var s,l=n+"",c;return function(){var d=this.getAttributeNS(r.space,r.local);return d===l?null:d===s?c:c=e(s=d,n)}}function oh(r,e,n){var s,l,c;return function(){var d,o=n(this),f;return o==null?void this.removeAttribute(r):(d=this.getAttribute(r),f=o+"",d===f?null:d===s&&f===l?c:(l=f,c=e(s=d,o)))}}function ah(r,e,n){var s,l,c;return function(){var d,o=n(this),f;return o==null?void this.removeAttributeNS(r.space,r.local):(d=this.getAttributeNS(r.space,r.local),f=o+"",d===f?null:d===s&&f===l?c:(l=f,c=e(s=d,o)))}}function lh(r,e){var n=Te(r),s=n==="transform"?Gl:cn;return this.attrTween(r,typeof e=="function"?(n.local?ah:oh)(n,s,Er(this,"attr."+r,e)):e==null?(n.local?ih:rh)(n):(n.local?sh:nh)(n,s,e))}function hh(r,e){return function(n){this.setAttribute(r,e.call(this,n))}}function ch(r,e){return function(n){this.setAttributeNS(r.space,r.local,e.call(this,n))}}function dh(r,e){var n,s;function l(){var c=e.apply(this,arguments);return c!==s&&(n=(s=c)&&ch(r,c)),n}return l._value=e,l}function ph(r,e){var n,s;function l(){var c=e.apply(this,arguments);return c!==s&&(n=(s=c)&&hh(r,c)),n}return l._value=e,l}function fh(r,e){var n="attr."+r;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var s=Te(r);return this.tween(n,(s.local?dh:ph)(s,e))}function uh(r,e){return function(){Ur(this,r).delay=+e.apply(this,arguments)}}function gh(r,e){return e=+e,function(){Ur(this,r).delay=e}}function mh(r){var e=this._id;return arguments.length?this.each((typeof r=="function"?uh:gh)(e,r)):K(this.node(),e).delay}function wh(r,e){return function(){J(this,r).duration=+e.apply(this,arguments)}}function yh(r,e){return e=+e,function(){J(this,r).duration=e}}function vh(r){var e=this._id;return arguments.length?this.each((typeof r=="function"?wh:yh)(e,r)):K(this.node(),e).duration}function bh(r,e){if(typeof e!="function")throw new Error;return function(){J(this,r).ease=e}}function _h(r){var e=this._id;return arguments.length?this.each(bh(e,r)):K(this.node(),e).ease}function xh(r,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;J(this,r).ease=n}}function Sh(r){if(typeof r!="function")throw new Error;return this.each(xh(this._id,r))}function kh(r){typeof r!="function"&&(r=zi(r));for(var e=this._groups,n=e.length,s=new Array(n),l=0;l<n;++l)for(var c=e[l],d=c.length,o=s[l]=[],f,u=0;u<d;++u)(f=c[u])&&r.call(f,f.__data__,u,c)&&o.push(f);return new it(s,this._parents,this._name,this._id)}function Uh(r){if(r._id!==this._id)throw new Error;for(var e=this._groups,n=r._groups,s=e.length,l=n.length,c=Math.min(s,l),d=new Array(s),o=0;o<c;++o)for(var f=e[o],u=n[o],g=f.length,y=d[o]=new Array(g),t,i=0;i<g;++i)(t=f[i]||u[i])&&(y[i]=t);for(;o<s;++o)d[o]=e[o];return new it(d,this._parents,this._name,this._id)}function Eh(r){return(r+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function Ah(r,e,n){var s,l,c=Eh(e)?Ur:J;return function(){var d=c(this,r),o=d.on;o!==s&&(l=(s=o).copy()).on(e,n),d.on=l}}function Th(r,e){var n=this._id;return arguments.length<2?K(this.node(),n).on.on(r):this.each(Ah(n,r,e))}function Ch(r){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==r)return;e&&e.removeChild(this)}}function zh(){return this.on("end.remove",Ch(this._id))}function Bh(r){var e=this._name,n=this._id;typeof r!="function"&&(r=dr(r));for(var s=this._groups,l=s.length,c=new Array(l),d=0;d<l;++d)for(var o=s[d],f=o.length,u=c[d]=new Array(f),g,y,t=0;t<f;++t)(g=o[t])&&(y=r.call(g,g.__data__,t,o))&&("__data__"in g&&(y.__data__=g.__data__),u[t]=y,He(u[t],e,n,t,u,K(g,n)));return new it(c,this._parents,e,n)}function Ph(r){var e=this._name,n=this._id;typeof r!="function"&&(r=Ci(r));for(var s=this._groups,l=s.length,c=[],d=[],o=0;o<l;++o)for(var f=s[o],u=f.length,g,y=0;y<u;++y)if(g=f[y]){for(var t=r.call(g,g.__data__,y,f),i,a=K(g,n),h=0,p=t.length;h<p;++h)(i=t[h])&&He(i,e,n,h,t,a);c.push(t),d.push(g)}return new it(c,d,e,n)}var Ih=ie.prototype.constructor;function Mh(){return new Ih(this._groups,this._parents)}function Fh(r,e){var n,s,l;return function(){var c=Ft(this,r),d=(this.style.removeProperty(r),Ft(this,r));return c===d?null:c===n&&d===s?l:l=e(n=c,s=d)}}function dn(r){return function(){this.style.removeProperty(r)}}function $h(r,e,n){var s,l=n+"",c;return function(){var d=Ft(this,r);return d===l?null:d===s?c:c=e(s=d,n)}}function Lh(r,e,n){var s,l,c;return function(){var d=Ft(this,r),o=n(this),f=o+"";return o==null&&(f=o=(this.style.removeProperty(r),Ft(this,r))),d===f?null:d===s&&f===l?c:(l=f,c=e(s=d,o))}}function Rh(r,e){var n,s,l,c="style."+e,d="end."+c,o;return function(){var f=J(this,r),u=f.on,g=f.value[c]==null?o||(o=dn(e)):void 0;(u!==n||l!==g)&&(s=(n=u).copy()).on(d,l=g),f.on=s}}function Nh(r,e,n){var s=(r+="")=="transform"?Hl:cn;return e==null?this.styleTween(r,Fh(r,s)).on("end.style."+r,dn(r)):typeof e=="function"?this.styleTween(r,Lh(r,s,Er(this,"style."+r,e))).each(Rh(this._id,r)):this.styleTween(r,$h(r,s,e),n).on("end.style."+r,null)}function Dh(r,e,n){return function(s){this.style.setProperty(r,e.call(this,s),n)}}function Oh(r,e,n){var s,l;function c(){var d=e.apply(this,arguments);return d!==l&&(s=(l=d)&&Dh(r,d,n)),s}return c._value=e,c}function Hh(r,e,n){var s="style."+(r+="");if(arguments.length<2)return(s=this.tween(s))&&s._value;if(e==null)return this.tween(s,null);if(typeof e!="function")throw new Error;return this.tween(s,Oh(r,e,n??""))}function Gh(r){return function(){this.textContent=r}}function Yh(r){return function(){var e=r(this);this.textContent=e??""}}function qh(r){return this.tween("text",typeof r=="function"?Yh(Er(this,"text",r)):Gh(r==null?"":r+""))}function Vh(r){return function(e){this.textContent=r.call(this,e)}}function jh(r){var e,n;function s(){var l=r.apply(this,arguments);return l!==n&&(e=(n=l)&&Vh(l)),e}return s._value=r,s}function Wh(r){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(r==null)return this.tween(e,null);if(typeof r!="function")throw new Error;return this.tween(e,jh(r))}function Xh(){for(var r=this._name,e=this._id,n=pn(),s=this._groups,l=s.length,c=0;c<l;++c)for(var d=s[c],o=d.length,f,u=0;u<o;++u)if(f=d[u]){var g=K(f,e);He(f,r,n,u,d,{time:g.time+g.delay+g.duration,delay:0,duration:g.duration,ease:g.ease})}return new it(s,this._parents,r,n)}function Kh(){var r,e,n=this,s=n._id,l=n.size();return new Promise(function(c,d){var o={value:d},f={value:function(){--l===0&&c()}};n.each(function(){var u=J(this,s),g=u.on;g!==r&&(e=(r=g).copy(),e._.cancel.push(o),e._.interrupt.push(o),e._.end.push(f)),u.on=e}),l===0&&c()})}var Zh=0;function it(r,e,n,s){this._groups=r,this._parents=e,this._name=n,this._id=s}function pn(){return++Zh}var nt=ie.prototype;it.prototype={constructor:it,select:Bh,selectAll:Ph,selectChild:nt.selectChild,selectChildren:nt.selectChildren,filter:kh,merge:Uh,selection:Mh,transition:Xh,call:nt.call,nodes:nt.nodes,node:nt.node,size:nt.size,empty:nt.empty,each:nt.each,on:Th,attr:lh,attrTween:fh,style:Nh,styleTween:Hh,text:qh,textTween:Wh,remove:zh,tween:eh,delay:mh,duration:vh,ease:_h,easeVarying:Sh,end:Kh,[Symbol.iterator]:nt[Symbol.iterator]};function Qh(r){return((r*=2)<=1?r*r*r:(r-=2)*r*r+2)/2}var Jh={time:null,delay:0,duration:250,ease:Qh};function tc(r,e){for(var n;!(n=r.__transition)||!(n=n[e]);)if(!(r=r.parentNode))throw new Error(`transition ${e} not found`);return n}function ec(r){var e,n;r instanceof it?(e=r._id,r=r._name):(e=pn(),(n=Jh).time=_r(),r=r==null?null:r+"");for(var s=this._groups,l=s.length,c=0;c<l;++c)for(var d=s[c],o=d.length,f,u=0;u<o;++u)(f=d[u])&&He(f,r,e,u,d,n||tc(f,e));return new it(s,this._parents,r,e)}ie.prototype.interrupt=Ql,ie.prototype.transition=ec;const Ar=Math.PI,Tr=2*Ar,Bt=1e-6,rc=Tr-Bt;function fn(r){this._+=r[0];for(let e=1,n=r.length;e<n;++e)this._+=arguments[e]+r[e]}function ic(r){let e=Math.floor(r);if(!(e>=0))throw new Error(`invalid digits: ${r}`);if(e>15)return fn;const n=10**e;return function(s){this._+=s[0];for(let l=1,c=s.length;l<c;++l)this._+=Math.round(arguments[l]*n)/n+s[l]}}class nc{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?fn:ic(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,s,l){this._append`Q${+e},${+n},${this._x1=+s},${this._y1=+l}`}bezierCurveTo(e,n,s,l,c,d){this._append`C${+e},${+n},${+s},${+l},${this._x1=+c},${this._y1=+d}`}arcTo(e,n,s,l,c){if(e=+e,n=+n,s=+s,l=+l,c=+c,c<0)throw new Error(`negative radius: ${c}`);let d=this._x1,o=this._y1,f=s-e,u=l-n,g=d-e,y=o-n,t=g*g+y*y;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(t>Bt)if(!(Math.abs(y*f-u*g)>Bt)||!c)this._append`L${this._x1=e},${this._y1=n}`;else{let i=s-d,a=l-o,h=f*f+u*u,p=i*i+a*a,m=Math.sqrt(h),w=Math.sqrt(t),v=c*Math.tan((Ar-Math.acos((h+t-p)/(2*m*w)))/2),b=v/w,_=v/m;Math.abs(b-1)>Bt&&this._append`L${e+b*g},${n+b*y}`,this._append`A${c},${c},0,0,${+(y*i>g*a)},${this._x1=e+_*f},${this._y1=n+_*u}`}}arc(e,n,s,l,c,d){if(e=+e,n=+n,s=+s,d=!!d,s<0)throw new Error(`negative radius: ${s}`);let o=s*Math.cos(l),f=s*Math.sin(l),u=e+o,g=n+f,y=1^d,t=d?l-c:c-l;this._x1===null?this._append`M${u},${g}`:(Math.abs(this._x1-u)>Bt||Math.abs(this._y1-g)>Bt)&&this._append`L${u},${g}`,s&&(t<0&&(t=t%Tr+Tr),t>rc?this._append`A${s},${s},0,1,${y},${e-o},${n-f}A${s},${s},0,1,${y},${this._x1=u},${this._y1=g}`:t>Bt&&this._append`A${s},${s},0,${+(t>=Ar)},${y},${this._x1=e+s*Math.cos(c)},${this._y1=n+s*Math.sin(c)}`)}rect(e,n,s,l){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${s=+s}v${+l}h${-s}Z`}toString(){return this._}}function sc(r){return Math.abs(r=Math.round(r))>=1e21?r.toLocaleString("en").replace(/,/g,""):r.toString(10)}function Ge(r,e){if((n=(r=e?r.toExponential(e-1):r.toExponential()).indexOf("e"))<0)return null;var n,s=r.slice(0,n);return[s.length>1?s[0]+s.slice(2):s,+r.slice(n+1)]}function Rt(r){return r=Ge(Math.abs(r)),r?r[1]:NaN}function oc(r,e){return function(n,s){for(var l=n.length,c=[],d=0,o=r[0],f=0;l>0&&o>0&&(f+o+1>s&&(o=Math.max(1,s-f)),c.push(n.substring(l-=o,l+o)),!((f+=o+1)>s));)o=r[d=(d+1)%r.length];return c.reverse().join(e)}}function ac(r){return function(e){return e.replace(/[0-9]/g,function(n){return r[+n]})}}var lc=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ye(r){if(!(e=lc.exec(r)))throw new Error("invalid format: "+r);var e;return new Cr({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Ye.prototype=Cr.prototype;function Cr(r){this.fill=r.fill===void 0?" ":r.fill+"",this.align=r.align===void 0?">":r.align+"",this.sign=r.sign===void 0?"-":r.sign+"",this.symbol=r.symbol===void 0?"":r.symbol+"",this.zero=!!r.zero,this.width=r.width===void 0?void 0:+r.width,this.comma=!!r.comma,this.precision=r.precision===void 0?void 0:+r.precision,this.trim=!!r.trim,this.type=r.type===void 0?"":r.type+""}Cr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function hc(r){t:for(var e=r.length,n=1,s=-1,l;n<e;++n)switch(r[n]){case".":s=l=n;break;case"0":s===0&&(s=n),l=n;break;default:if(!+r[n])break t;s>0&&(s=0);break}return s>0?r.slice(0,s)+r.slice(l+1):r}var un;function cc(r,e){var n=Ge(r,e);if(!n)return r+"";var s=n[0],l=n[1],c=l-(un=Math.max(-8,Math.min(8,Math.floor(l/3)))*3)+1,d=s.length;return c===d?s:c>d?s+new Array(c-d+1).join("0"):c>0?s.slice(0,c)+"."+s.slice(c):"0."+new Array(1-c).join("0")+Ge(r,Math.max(0,e+c-1))[0]}function gn(r,e){var n=Ge(r,e);if(!n)return r+"";var s=n[0],l=n[1];return l<0?"0."+new Array(-l).join("0")+s:s.length>l+1?s.slice(0,l+1)+"."+s.slice(l+1):s+new Array(l-s.length+2).join("0")}const mn={"%":(r,e)=>(r*100).toFixed(e),b:r=>Math.round(r).toString(2),c:r=>r+"",d:sc,e:(r,e)=>r.toExponential(e),f:(r,e)=>r.toFixed(e),g:(r,e)=>r.toPrecision(e),o:r=>Math.round(r).toString(8),p:(r,e)=>gn(r*100,e),r:gn,s:cc,X:r=>Math.round(r).toString(16).toUpperCase(),x:r=>Math.round(r).toString(16)};function wn(r){return r}var yn=Array.prototype.map,vn=["y","z","a","f","p","n","Β΅","m","","k","M","G","T","P","E","Z","Y"];function dc(r){var e=r.grouping===void 0||r.thousands===void 0?wn:oc(yn.call(r.grouping,Number),r.thousands+""),n=r.currency===void 0?"":r.currency[0]+"",s=r.currency===void 0?"":r.currency[1]+"",l=r.decimal===void 0?".":r.decimal+"",c=r.numerals===void 0?wn:ac(yn.call(r.numerals,String)),d=r.percent===void 0?"%":r.percent+"",o=r.minus===void 0?"β":r.minus+"",f=r.nan===void 0?"NaN":r.nan+"";function u(y){y=Ye(y);var t=y.fill,i=y.align,a=y.sign,h=y.symbol,p=y.zero,m=y.width,w=y.comma,v=y.precision,b=y.trim,_=y.type;_==="n"?(w=!0,_="g"):mn[_]||(v===void 0&&(v=12),b=!0,_="g"),(p||t==="0"&&i==="=")&&(p=!0,t="0",i="=");var x=h==="$"?n:h==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",U=h==="$"?s:/[%p]/.test(_)?d:"",C=mn[_],S=/[defgprs%]/.test(_);v=v===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v));function I(k){var H=x,M=U,G,Y,j;if(_==="c")M=C(k)+M,k="";else{k=+k;var st=k<0||1/k<0;if(k=isNaN(k)?f:C(Math.abs(k),v),b&&(k=hc(k)),st&&+k==0&&a!=="+"&&(st=!1),H=(st?a==="("?a:o:a==="-"||a==="("?"":a)+H,M=(_==="s"?vn[8+un/3]:"")+M+(st&&a==="("?")":""),S){for(G=-1,Y=k.length;++G<Y;)if(j=k.charCodeAt(G),48>j||j>57){M=(j===46?l+k.slice(G+1):k.slice(G))+M,k=k.slice(0,G);break}}}w&&!p&&(k=e(k,1/0));var ut=H.length+k.length+M.length,F=ut<m?new Array(m-ut+1).join(t):"";switch(w&&p&&(k=e(F+k,F.length?m-M.length:1/0),F=""),i){case"<":k=H+k+M+F;break;case"=":k=H+F+k+M;break;case"^":k=F.slice(0,ut=F.length>>1)+H+k+M+F.slice(ut);break;default:k=F+H+k+M;break}return c(k)}return I.toString=function(){return y+""},I}function g(y,t){var i=u((y=Ye(y),y.type="f",y)),a=Math.max(-8,Math.min(8,Math.floor(Rt(t)/3)))*3,h=Math.pow(10,-a),p=vn[8+a/3];return function(m){return i(h*m)+p}}return{format:u,formatPrefix:g}}var qe,bn,_n;pc({thousands:",",grouping:[3],currency:["$",""]});function pc(r){return qe=dc(r),bn=qe.format,_n=qe.formatPrefix,qe}function fc(r){return Math.max(0,-Rt(Math.abs(r)))}function uc(r,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Rt(e)/3)))*3-Rt(Math.abs(r)))}function gc(r,e){return r=Math.abs(r),e=Math.abs(e)-r,Math.max(0,Rt(e)-Rt(r))+1}function zr(r,e){switch(arguments.length){case 0:break;case 1:this.range(r);break;default:this.range(e).domain(r);break}return this}const xn=Symbol("implicit");function Sn(){var r=new Si,e=[],n=[],s=xn;function l(c){let d=r.get(c);if(d===void 0){if(s!==xn)return s;r.set(c,d=e.push(c)-1)}return n[d%n.length]}return l.domain=function(c){if(!arguments.length)return e.slice();e=[],r=new Si;for(const d of c)r.has(d)||r.set(d,e.push(d)-1);return l},l.range=function(c){return arguments.length?(n=Array.from(c),l):n.slice()},l.unknown=function(c){return arguments.length?(s=c,l):s},l.copy=function(){return Sn(e,n).unknown(s)},zr.apply(l,arguments),l}function de(){var r=Sn().unknown(void 0),e=r.domain,n=r.range,s=0,l=1,c,d,o=!1,f=0,u=0,g=.5;delete r.unknown;function y(){var t=e().length,i=l<s,a=i?l:s,h=i?s:l;c=(h-a)/Math.max(1,t-f+u*2),o&&(c=Math.floor(c)),a+=(h-a-c*(t-f))*g,d=c*(1-f),o&&(a=Math.round(a),d=Math.round(d));var p=re(t).map(function(m){return a+c*m});return n(i?p.reverse():p)}return r.domain=function(t){return arguments.length?(e(t),y()):e()},r.range=function(t){return arguments.length?([s,l]=t,s=+s,l=+l,y()):[s,l]},r.rangeRound=function(t){return[s,l]=t,s=+s,l=+l,o=!0,y()},r.bandwidth=function(){return d},r.step=function(){return c},r.round=function(t){return arguments.length?(o=!!t,y()):o},r.padding=function(t){return arguments.length?(f=Math.min(1,u=+t),y()):f},r.paddingInner=function(t){return arguments.length?(f=Math.min(1,t),y()):f},r.paddingOuter=function(t){return arguments.length?(u=+t,y()):u},r.align=function(t){return arguments.length?(g=Math.max(0,Math.min(1,t)),y()):g},r.copy=function(){return de(e(),[s,l]).round(o).paddingInner(f).paddingOuter(u).align(g)},zr.apply(y(),arguments)}function mc(r){return function(){return r}}function wc(r){return+r}var kn=[0,1];function Nt(r){return r}function Br(r,e){return(e-=r=+r)?function(n){return(n-r)/e}:mc(isNaN(e)?NaN:.5)}function yc(r,e){var n;return r>e&&(n=r,r=e,e=n),function(s){return Math.max(r,Math.min(e,s))}}function vc(r,e,n){var s=r[0],l=r[1],c=e[0],d=e[1];return l<s?(s=Br(l,s),c=n(d,c)):(s=Br(s,l),c=n(c,d)),function(o){return c(s(o))}}function bc(r,e,n){var s=Math.min(r.length,e.length)-1,l=new Array(s),c=new Array(s),d=-1;for(r[s]<r[0]&&(r=r.slice().reverse(),e=e.slice().reverse());++d<s;)l[d]=Br(r[d],r[d+1]),c[d]=n(e[d],e[d+1]);return function(o){var f=Ao(r,o,1,s)-1;return c[f](l[f](o))}}function _c(r,e){return e.domain(r.domain()).range(r.range()).interpolate(r.interpolate()).clamp(r.clamp()).unknown(r.unknown())}function xc(){var r=kn,e=kn,n=vr,s,l,c,d=Nt,o,f,u;function g(){var t=Math.min(r.length,e.length);return d!==Nt&&(d=yc(r[0],r[t-1])),o=t>2?bc:vc,f=u=null,y}function y(t){return t==null||isNaN(t=+t)?c:(f||(f=o(r.map(s),e,n)))(s(d(t)))}return y.invert=function(t){return d(l((u||(u=o(e,r.map(s),X)))(t)))},y.domain=function(t){return arguments.length?(r=Array.from(t,wc),g()):r.slice()},y.range=function(t){return arguments.length?(e=Array.from(t),g()):e.slice()},y.rangeRound=function(t){return e=Array.from(t),n=Nl,g()},y.clamp=function(t){return arguments.length?(d=t?!0:Nt,g()):d!==Nt},y.interpolate=function(t){return arguments.length?(n=t,g()):n},y.unknown=function(t){return arguments.length?(c=t,y):c},function(t,i){return s=t,l=i,g()}}function Sc(){return xc()(Nt,Nt)}function kc(r,e,n,s){var l=Fo(r,e,n),c;switch(s=Ye(s??",f"),s.type){case"s":{var d=Math.max(Math.abs(r),Math.abs(e));return s.precision==null&&!isNaN(c=uc(l,d))&&(s.precision=c),_n(s,d)}case"":case"e":case"g":case"p":case"r":{s.precision==null&&!isNaN(c=gc(l,Math.max(Math.abs(r),Math.abs(e))))&&(s.precision=c-(s.type==="e"));break}case"f":case"%":{s.precision==null&&!isNaN(c=fc(l))&&(s.precision=c-(s.type==="%")*2);break}}return bn(s)}function Uc(r){var e=r.domain;return r.ticks=function(n){var s=e();return Mo(s[0],s[s.length-1],n??10)},r.tickFormat=function(n,s){var l=e();return kc(l[0],l[l.length-1],n??10,s)},r.nice=function(n){n==null&&(n=10);var s=e(),l=0,c=s.length-1,d=s[l],o=s[c],f,u,g=10;for(o<d&&(u=d,d=o,o=u,u=l,l=c,c=u);g-- >0;){if(u=hr(d,o,n),u===f)return s[l]=d,s[c]=o,e(s);if(u>0)d=Math.floor(d/u)*u,o=Math.ceil(o/u)*u;else if(u<0)d=Math.ceil(d*u)/u,o=Math.floor(o*u)/u;else break;f=u}return r},r}function tt(){var r=Sc();return r.copy=function(){return _c(r,tt())},zr.apply(r,arguments),Uc(r)}function Dt(r){return function(){return r}}function Ec(r){let e=3;return r.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const s=Math.floor(n);if(!(s>=0))throw new RangeError(`invalid digits: ${n}`);e=s}return r},()=>new nc(e)}function Ac(r){return typeof r=="object"&&"length"in r?r:Array.from(r)}function Un(r){this._context=r}Un.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(r,e){switch(r=+r,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(r,e):this._context.moveTo(r,e);break;case 1:this._point=2;default:this._context.lineTo(r,e);break}}};function Tc(r){return new Un(r)}function Cc(r){return r[0]}function zc(r){return r[1]}function En(r,e){var n=Dt(!0),s=null,l=Tc,c=null,d=Ec(o);r=typeof r=="function"?r:r===void 0?Cc:Dt(r),e=typeof e=="function"?e:e===void 0?zc:Dt(e);function o(f){var u,g=(f=Ac(f)).length,y,t=!1,i;for(s==null&&(c=l(i=d())),u=0;u<=g;++u)!(u<g&&n(y=f[u],u,f))===t&&((t=!t)?c.lineStart():c.lineEnd()),t&&c.point(+r(y,u,f),+e(y,u,f));if(i)return c=null,i+""||null}return o.x=function(f){return arguments.length?(r=typeof f=="function"?f:Dt(+f),o):r},o.y=function(f){return arguments.length?(e=typeof f=="function"?f:Dt(+f),o):e},o.defined=function(f){return arguments.length?(n=typeof f=="function"?f:Dt(!!f),o):n},o.curve=function(f){return arguments.length?(l=f,s!=null&&(c=l(s)),o):l},o.context=function(f){return arguments.length?(f==null?s=c=null:c=l(s=f),o):s},o}function An(r,e,n){r._context.bezierCurveTo(r._x1+r._k*(r._x2-r._x0),r._y1+r._k*(r._y2-r._y0),r._x2+r._k*(r._x1-e),r._y2+r._k*(r._y1-n),r._x2,r._y2)}function Tn(r,e){this._context=r,this._k=(1-e)/6}Tn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:An(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(r,e){switch(r=+r,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(r,e):this._context.moveTo(r,e);break;case 1:this._point=2,this._x1=r,this._y1=e;break;case 2:this._point=3;default:An(this,r,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=r,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Bc=function r(e){function n(s){return new Tn(s,e)}return n.tension=function(s){return r(+s)},n}(0);function Cn(r){this._context=r}Cn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var r=this._x,e=this._y,n=r.length;if(n)if(this._line?this._context.lineTo(r[0],e[0]):this._context.moveTo(r[0],e[0]),n===2)this._context.lineTo(r[1],e[1]);else for(var s=zn(r),l=zn(e),c=0,d=1;d<n;++c,++d)this._context.bezierCurveTo(s[0][c],l[0][c],s[1][c],l[1][c],r[d],e[d]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(r,e){this._x.push(+r),this._y.push(+e)}};function zn(r){var e,n=r.length-1,s,l=new Array(n),c=new Array(n),d=new Array(n);for(l[0]=0,c[0]=2,d[0]=r[0]+2*r[1],e=1;e<n-1;++e)l[e]=1,c[e]=4,d[e]=4*r[e]+2*r[e+1];for(l[n-1]=2,c[n-1]=7,d[n-1]=8*r[n-1]+r[n],e=1;e<n;++e)s=l[e]/c[e-1],c[e]-=s,d[e]-=s*d[e-1];for(l[n-1]=d[n-1]/c[n-1],e=n-2;e>=0;--e)l[e]=(d[e]-l[e+1])/c[e];for(c[n-1]=(r[n]+l[n-1])/2,e=0;e<n-1;++e)c[e]=2*r[e+1]-l[e+1];return[l,c]}function Pc(r){return new Cn(r)}function pe(r,e,n){this.k=r,this.x=e,this.y=n}pe.prototype={constructor:pe,scale:function(r){return r===1?this:new pe(this.k*r,this.x,this.y)},translate:function(r,e){return r===0&e===0?this:new pe(this.k,this.x+this.k*r,this.y+this.k*e)},apply:function(r){return[r[0]*this.k+this.x,r[1]*this.k+this.y]},applyX:function(r){return r*this.k+this.x},applyY:function(r){return r*this.k+this.y},invert:function(r){return[(r[0]-this.x)/this.k,(r[1]-this.y)/this.k]},invertX:function(r){return(r-this.x)/this.k},invertY:function(r){return(r-this.y)/this.k},rescaleX:function(r){return r.copy().domain(r.range().map(this.invertX,this).map(r.invert,r))},rescaleY:function(r){return r.copy().domain(r.range().map(this.invertY,this).map(r.invert,r))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},pe.prototype;var Ic=Object.defineProperty,Mc=Object.getOwnPropertyDescriptor,Pr=(r,e,n,s)=>{for(var l=s>1?void 0:s?Mc(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&Ic(e,n,l),l};let Pt=class extends Wt(bt(L)){constructor(){super(...arguments),this.svgRef=ct(),this.mode="bars",this.color="currentColor",this.frameTask=new $(this,{args:()=>[this.target.audioBufferTask.status],task:async()=>{await this.target.audioBufferTask.taskComplete}})}createRenderRoot(){return this}render(){return E` <svg ${dt(this.svgRef)} class="h-full w-full" store></svg> `}connectedCallback(){super.connectedCallback(),this.target&&new _i(this.target,this)}drawBars(r,e){const n=r.clientWidth*devicePixelRatio,l=r.clientHeight/2,c=de().domain(re(e.length).map(String)).rangeRound([0,n]).paddingInner(.5).paddingOuter(.01),d=tt().domain([0,255]).range([0,l]),o=ft(r).selectAll("rect").data(e);o.enter().append("rect").merge(o).attr("x",(f,u)=>c(String(u))).attr("y",f=>l-d(f)).attr("width",c.bandwidth()).attr("height",f=>d(f)*2),o.exit().remove()}drawBricks(r,e){const n=r.clientWidth*devicePixelRatio,s=r.clientHeight*devicePixelRatio,l=n/e.length,c=s/255;ft(r).selectAll("rect.brick").data(e).join("rect").attr("class","brick").attr("x",(o,f)=>f*l).attr("y",o=>s-o*c).attr("width",l-2).attr("height",o=>o*c)}drawLine(r,e){const n=r.clientWidth*devicePixelRatio,s=r.clientHeight*devicePixelRatio,l=tt().domain([0,e.length-1]).range([0,n]),c=tt().domain([0,255]).range([s,0]),d=En().x((o,f)=>l(f)).y(o=>c(o)).curve(Bc);ft(r).selectAll("path").data([e]).join("path").attr("d",d).attr("fill","none")}drawRoundBars(r,e){const n=r.clientWidth*devicePixelRatio,l=r.clientHeight/2,c=de().domain(re(e.length).map(String)).rangeRound([0,n]).paddingInner(.5).paddingOuter(.01),d=tt().domain([0,255]).range([0,l]),o=ft(r).selectAll("rect").data(e);o.enter().append("rect").merge(o).attr("x",(f,u)=>c(String(u))).attr("y",f=>l-d(f)).attr("width",c.bandwidth()).attr("height",f=>d(f)*2).attr("fill","white").attr("rx",c.bandwidth()*.1).attr("ry",c.bandwidth()*.1),o.exit().remove()}drawEqualizer(r,e){const n=r.clientWidth*devicePixelRatio,s=r.clientHeight*devicePixelRatio,l=n/e.length,c=1,d=tt().domain([0,255]).range([0,s]);ft(r).selectAll("rect.equalizerBar").data(e).join("rect").attr("class","equalizerBar").attr("x",(o,f)=>f*l+c/2).attr("y",o=>s-d(o)).attr("width",l-c).attr("height",o=>d(o)),r.selectAll("rect.equalizerBar").transition().duration(100).attr("y",o=>s-d(o)).attr("height",o=>d(o))}drawCurve(r,e){const n=r.clientWidth*devicePixelRatio,s=r.clientHeight*devicePixelRatio,l=tt().domain([0,e.length-1]).range([0,n]),c=tt().domain([0,255]).range([s,0]),d=En().x((o,f)=>l(f)).y(o=>c(o)).curve(Pc);ft(r).selectAll("path.curve").data([e]).join("path").attr("class","curve").attr("d",d).attr("fill","none")}drawPixel(r,e){const n=r.clientWidth*devicePixelRatio,l=r.clientHeight/2,c=de().domain(re(e.length).map(String)).rangeRound([0,n]).paddingInner(.01).paddingOuter(.01),d=tt().domain([0,255]).range([0,l]),o=ft(r).selectAll("rect").data(e);o.enter().append("rect").merge(o).attr("x",(f,u)=>c(String(u))).attr("y",f=>l-d(f)).attr("width",c.bandwidth()).attr("height",f=>d(f)*2),o.exit().remove()}drawWave(r,e){const n=r.clientWidth*devicePixelRatio,l=r.clientHeight/2,c=de().domain(re(e.length).map(String)).rangeRound([0,n]),d=tt().domain([0,255]).range([0,l]),o=ft(r).selectAll("rect").data(e);o.enter().append("rect").merge(o).attr("x",(f,u)=>c(String(u))).attr("y",f=>l-d(f)).attr("width",c.bandwidth()).attr("height",f=>d(f)*2),o.exit().remove()}update(r){super.update(r)}async updated(){const r=this.svgRef.value;if(r&&this.target.audioBufferTask.value&&this.target.ownCurrentTimeMs>0){const e=new OfflineAudioContext(1,1920,48e3),n=e.createBufferSource();n.buffer=this.target.audioBufferTask.value.buffer;const s=e.createAnalyser();s.fftSize=256,n.connect(s),n.start(0,Math.max(0,(this.target.ownCurrentTimeMs-this.target.audioBufferTask.value.startOffsetMs)/1e3),48e3/1e3),await e.startRendering();const l=new Uint8Array(s.frequencyBinCount);s.getByteFrequencyData(l);const c=this.getBoundingClientRect();switch(r.setAttribute("width",(c.width*devicePixelRatio).toString()),r.setAttribute("height",(c.height*devicePixelRatio).toString()),this.mode){case"bars":this.drawBars(r,l);break;case"bricks":this.drawBricks(r,l);break;case"curve":this.drawCurve(r,l);break;case"line":this.drawLine(r,l);break;case"pixel":this.drawPixel(r,l);break;case"wave":this.drawWave(r,l);break;case"roundBars":this.drawRoundBars(r,l);break;case"equalizer":this.drawEqualizer(r,l);break}}}get target(){const r=document.querySelector(this.getAttribute("target")??"");if(r instanceof xt||r instanceof St)return r;throw new Error("Invalid target, must be an EFAudio element")}};Pt.styles=[],Pr([P({type:String,attribute:"mode"})],Pt.prototype,"mode",2),Pr([P({type:String})],Pt.prototype,"color",2),Pt=Pr([B("ef-waveform")],Pt);/**
|
|
157
|
-
* @license
|
|
158
|
-
* Copyright 2018 Google LLC
|
|
159
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
160
|
-
*/const Bn="important",Fc=" !"+Bn,Ir=ci(class extends di{constructor(r){if(super(r),r.type!==hi.ATTRIBUTE||r.name!=="style"||r.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(r){return Object.keys(r).reduce((e,n)=>{const s=r[n];return s==null?e:e+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`},"")}update(r,[e]){const{style:n}=r.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(const s of this.ft)e[s]==null&&(this.ft.delete(s),s.includes("-")?n.removeProperty(s):n[s]=null);for(const s in e){const l=e[s];if(l!=null){this.ft.add(s);const c=typeof l=="string"&&l.endsWith(Fc);s.includes("-")||c?n.setProperty(s,c?l.slice(0,-11):l,c?Bn:""):n[s]=l}}return yt}}),Pn=(r,e=!1)=>{const n=Math.floor(r/1e3),s=Math.floor(n/60),l=Math.floor(s/60),c=o=>o.toString().padStart(2,"0");let d=`${c(l)}:${c(s%60)}:${c(n%60)}`;if(e){const o=Math.floor(r%1e3/10);d+=`.${o.toString().padStart(2,"0")}`}return d};var $c=Object.defineProperty,Lc=Object.getOwnPropertyDescriptor,T=(r,e,n,s)=>{for(var l=s>1?void 0:s?Lc(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&$c(e,n,l),l},In=(r,e,n)=>{if(!e.has(r))throw TypeError("Cannot "+n)},Mn=(r,e,n)=>(In(r,e,"read from private field"),n?n.call(r):e.get(r)),Rc=(r,e,n)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,n)},Nc=(r,e,n,s)=>(In(r,e,"write to private field"),s?s.call(r,n):e.set(r,n),n),fe;class Dc{constructor(e,n){this.host=e,this.filmstrip=n,this.host.addController(this)}remove(){this.host.removeController(this)}hostDisconnected(){this.host.removeController(this)}hostUpdated(){this.filmstrip.requestUpdate()}}const Oc=new Set(["offset","easing","composite","computedOffset"]);class Z extends bt(L){constructor(){super(...arguments),this.element=new R,this.pixelsPerMs=.04}static{this.styles=[ot`
|
|
161
|
-
:host {
|
|
162
|
-
display: block;
|
|
163
|
-
}
|
|
164
|
-
`]}get isFocused(){return this.element&&this.focusedElement===this.element}get styles(){return{left:`${this.pixelsPerMs*this.element.startTimeMs}px`,width:`${this.pixelsPerMs*this.element.durationMs}px`}}render(){return E` <div class="" style=${Ir(this.styles)}>
|
|
165
|
-
<div
|
|
166
|
-
@mouseenter=${()=>{this.focusContext&&(this.focusContext.focusedElement=this.element)}}
|
|
167
|
-
@mouseleave=${()=>{this.focusContext&&(this.focusContext.focusedElement=null)}}
|
|
168
|
-
?data-focused=${this.isFocused}
|
|
169
|
-
class="border-outset relative mb-[1px] block h-[1.25rem] text-nowrap border border-slate-500 bg-blue-200 text-sm data-[focused]:bg-slate-400"
|
|
170
|
-
>
|
|
171
|
-
${this.animations()}
|
|
172
|
-
</div>
|
|
173
|
-
${this.renderChildren()}
|
|
174
|
-
</div>`}renderChildren(){return Ve(Array.from(this.element.children),this.pixelsPerMs)}contents(){return E``}animations(){return this.element.getAnimations().map(n=>{const s=n.effect;if(!(s instanceof KeyframeEffect))return z;const l=s.getTiming().delay??0,c=s.getTiming().duration;if(c===null)return z;const o=s.getKeyframes()[0];if(!o)return z;const f=new Set(Object.keys(o));return Oc.forEach(u=>f.delete(u)),E`<div
|
|
175
|
-
class="relative h-[5px] bg-blue-500 opacity-50"
|
|
176
|
-
label="animation"
|
|
177
|
-
style=${Ir({left:`${this.pixelsPerMs*l}px`,width:`${this.pixelsPerMs*Number(c)}px`})}
|
|
178
|
-
>
|
|
179
|
-
<!-- <div class="text-nowrap">${Array.from(f).join(" ")}</div> -->
|
|
180
|
-
${s.getKeyframes().map(u=>E`<div
|
|
181
|
-
class="absolute top-0 h-full w-1 bg-red-500"
|
|
182
|
-
style=${Ir({left:`${this.pixelsPerMs*u.computedOffset*Number(c)}px`})}
|
|
183
|
-
></div>`)}
|
|
184
|
-
</div>`})}update(e){e.has("element")&&this.element instanceof L&&(this.filmstripController?.remove(),this.filmstripController=new Dc(this.element,this)),super.update(e)}}T([lt({context:er})],Z.prototype,"focusContext",2),T([lt({context:rr,subscribe:!0})],Z.prototype,"focusedElement",2),T([P({type:HTMLElement,attribute:!1})],Z.prototype,"element",2),T([P({type:Number})],Z.prototype,"pixelsPerMs",2);let Fn=class extends Z{contents(){return E``}};Fn=T([B("ef-audio-filmstrip")],Fn);let $n=class extends Z{contents(){return E` πΌ `}};$n=T([B("ef-video-filmstrip")],$n);let Ln=class extends Z{contents(){return E` π `}};Ln=T([B("ef-captions-filmstrip")],Ln);let Rn=class extends Z{contents(){return E` π `}renderChildren(){return z}};Rn=T([B("ef-waveform-filmstrip")],Rn);let Nn=class extends Z{contents(){return E` πΌοΈ `}};Nn=T([B("ef-image-filmstrip")],Nn);let Dn=class extends Z{contents(){return E`
|
|
185
|
-
<span>TIME GROUP</span>
|
|
186
|
-
${Ve(Array.from(this.element.children||[]),this.pixelsPerMs)}
|
|
187
|
-
</div>
|
|
188
|
-
`}};Dn=T([B("ef-timegroup-filmstrip")],Dn);let On=class extends Z{contents(){return E`
|
|
189
|
-
<span>${this.element.tagName}</span>
|
|
190
|
-
${Ve(Array.from(this.element.children||[]),this.pixelsPerMs)}
|
|
191
|
-
`}};On=T([B("ef-html-filmstrip")],On);let V=class extends bt(L){constructor(){super(...arguments),this.element=new R}get icon(){return"πΌ"}get isFocused(){return this.element&&this.focusedElement===this.element}displayLabel(){return z}render(){return E`
|
|
192
|
-
<div>
|
|
193
|
-
<div
|
|
194
|
-
?data-focused=${this.isFocused}
|
|
195
|
-
class="peer
|
|
196
|
-
flex h-[1.25rem] items-center overflow-hidden text-nowrap border border-slate-500
|
|
197
|
-
bg-slate-200 pl-2 text-sm hover:bg-slate-400 data-[focused]:bg-slate-400"
|
|
198
|
-
@mouseenter=${()=>{this.focusContext&&(this.focusContext.focusedElement=this.element)}}
|
|
199
|
-
@mouseleave=${()=>{this.focusContext&&(this.focusContext.focusedElement=null)}}
|
|
200
|
-
>
|
|
201
|
-
${this.icon} ${this.displayLabel()}
|
|
202
|
-
</div>
|
|
203
|
-
<div
|
|
204
|
-
class="p-[1px] pb-0 pl-2 pr-0 peer-hover:bg-slate-300 peer-data-[focused]:bg-slate-300 peer-hover:border-slate-400 peer-data-[focused]:border-slate-400""
|
|
205
|
-
>
|
|
206
|
-
${this.renderChildren()}
|
|
207
|
-
</div>
|
|
208
|
-
</div>`}renderChildren(){return Kn(Array.from(this.element.children))}};T([P({type:HTMLElement,attribute:!1})],V.prototype,"element",2),T([lt({context:er})],V.prototype,"focusContext",2),T([lt({context:rr,subscribe:!0})],V.prototype,"focusedElement",2),V=T([B("ef-hierarchy-item")],V);let Hn=class extends V{get icon(){return"π"}displayLabel(){return this.element.mode??"(no mode)"}};Hn=T([B("ef-timegroup-hierarchy-item")],Hn);let Gn=class extends V{get icon(){return"π"}displayLabel(){return this.element.getAttribute("src")??"(no src)"}};Gn=T([B("ef-audio-hierarchy-item")],Gn);let Yn=class extends V{get icon(){return"πΌ"}displayLabel(){return this.element.getAttribute("src")??"(no src)"}};Yn=T([B("ef-video-hierarchy-item")],Yn);let qn=class extends V{get icon(){return"π Captions"}};qn=T([B("ef-captions-hierarchy-item")],qn);let Vn=class extends V{get icon(){return"π£οΈ Active Word"}};Vn=T([B("ef-captions-active-word-hierarchy-item")],Vn);let jn=class extends V{get icon(){return"π"}renderChildren(){return z}};jn=T([B("ef-waveform-hierarchy-item")],jn);let Wn=class extends V{get icon(){return"πΌοΈ"}displayLabel(){return this.element.getAttribute("src")??"(no src)"}};Wn=T([B("ef-image-hierarchy-item")],Wn);let Xn=class extends V{get icon(){return E`<code>${`<${this.element.tagName.toLowerCase()}>`}</code>`}};Xn=T([B("ef-html-hierarchy-item")],Xn);const Kn=r=>r.map(e=>e instanceof R?E`<ef-timegroup-hierarchy-item
|
|
209
|
-
.element=${e}
|
|
210
|
-
></ef-timegroup-hierarchy-item>`:e instanceof Qt?E`<ef-image-hierarchy-item
|
|
211
|
-
.element=${e}
|
|
212
|
-
></ef-image-hierarchy-item>`:e instanceof xt?E`<ef-audio-hierarchy-item
|
|
213
|
-
.element=${e}
|
|
214
|
-
></ef-audio-hierarchy-item>`:e instanceof St?E`<ef-video-hierarchy-item
|
|
215
|
-
.element=${e}
|
|
216
|
-
></ef-video-hierarchy-item>`:e instanceof Et?E`<ef-captions-hierarchy-item
|
|
217
|
-
.element=${e}
|
|
218
|
-
></ef-captions-hierarchy-item>`:e instanceof Ut?E`<ef-captions-active-word-hierarchy-item
|
|
219
|
-
.element=${e}
|
|
220
|
-
></ef-captions-active-word-hierarchy-item>`:e instanceof Pt?E`<ef-waveform-hierarchy-item
|
|
221
|
-
.element=${e}
|
|
222
|
-
></ef-waveform-hierarchy-item>`:E`<ef-html-hierarchy-item
|
|
223
|
-
.element=${e}
|
|
224
|
-
></ef-html-hierarchy-item>`),Ve=(r,e)=>r.map(n=>n instanceof R?E`<ef-timegroup-filmstrip
|
|
225
|
-
.element=${n}
|
|
226
|
-
.pixelsPerMs=${e}
|
|
227
|
-
>
|
|
228
|
-
</ef-timegroup-filmstrip>`:n instanceof Qt?E`<ef-image-filmstrip
|
|
229
|
-
.element=${n}
|
|
230
|
-
.pixelsPerMs=${e}
|
|
231
|
-
></ef-image-filmstrip>`:n instanceof xt?E`<ef-audio-filmstrip
|
|
232
|
-
.element=${n}
|
|
233
|
-
.pixelsPerMs=${e}
|
|
234
|
-
></ef-audio-filmstrip>`:n instanceof St?E`<ef-video-filmstrip
|
|
235
|
-
.element=${n}
|
|
236
|
-
.pixelsPerMs=${e}
|
|
237
|
-
></ef-video-filmstrip>`:n instanceof Et?E`<ef-captions-filmstrip
|
|
238
|
-
.element=${n}
|
|
239
|
-
.pixelsPerMs=${e}
|
|
240
|
-
></ef-captions-filmstrip>`:n instanceof Pt?E`<ef-waveform-filmstrip
|
|
241
|
-
.element=${n}
|
|
242
|
-
.pixelsPerMs=${e}
|
|
243
|
-
></ef-waveform-filmstrip>`:E`<ef-html-filmstrip
|
|
244
|
-
.element=${n}
|
|
245
|
-
.pixelsPerMs=${e}
|
|
246
|
-
></ef-html-filmstrip>`);let et=class extends bt(L){constructor(){super(...arguments),this.pixelsPerMs=.04,this.currentTimeMs=0,this.targetSelector="",this.scrubbing=!1,this.playing=!1,Rc(this,fe,void 0),this.advancePlayhead=r=>{Mn(this,fe)&&r&&this.target&&(this.target.currentTimeMs+=r-Mn(this,fe),this.target.currentTimeMs>=this.target.durationMs&&(this.playing=!1)),Nc(this,fe,r),this.playing&&requestAnimationFrame(this.advancePlayhead)},this.gutterRef=ct()}connectedCallback(){super.connectedCallback();const r=this.target;r&&(this.timegroupController=new oi(r,this),this.currentTimeMs=r.currentTimeMs)}scrub(r){if(this.playing||!this.scrubbing)return;const e=this.shadowRoot?.querySelector("#gutter");if(!e)return;const n=e.getBoundingClientRect();if(this.target){const s=r.pageX-n.left+e.scrollLeft;this.target.currentTimeMs=s/this.pixelsPerMs}}startScrub(r){r.preventDefault(),this.scrubbing=!0,queueMicrotask(()=>{const e=this.shadowRoot?.querySelector("#gutter");if(!e)return;const n=e.getBoundingClientRect();if(this.target){const s=r.pageX-n.left+e.scrollLeft;this.target.currentTimeMs=s/this.pixelsPerMs}}),addEventListener("mouseup",()=>{this.scrubbing=!1},{once:!0})}scrollScrub(r){if(this.target&&this.gutter&&!this.playing){if(r.preventDefault(),this.gutterRef.value.scrollLeft===0&&r.deltaX<0){this.gutter.scrollBy(0,r.deltaY);return}if(this.gutter.scrollWidth-this.gutter.scrollLeft===this.gutter.clientWidth&&r.deltaX>0){this.gutter.scrollBy(0,r.deltaY);return}this&&(this.gutter.scrollBy(r.deltaX,r.deltaY),this.target.currentTimeMs+=r.deltaX/this.pixelsPerMs)}}get gutter(){return this.gutterRef.value}render(){const r=this.target;return E` <div
|
|
247
|
-
class="grid h-full bg-slate-100 "
|
|
248
|
-
style="grid-template-columns: 200px 1fr; grid-template-rows: 1.5rem 1fr;"
|
|
249
|
-
>
|
|
250
|
-
<div
|
|
251
|
-
class="z-20 col-span-2 border-b-slate-600 bg-slate-100 shadow shadow-slate-300"
|
|
252
|
-
>
|
|
253
|
-
<input
|
|
254
|
-
type="range"
|
|
255
|
-
.value=${this.pixelsPerMs}
|
|
256
|
-
min="0.01"
|
|
257
|
-
max="0.1"
|
|
258
|
-
step="0.001"
|
|
259
|
-
@input=${e=>{const n=e.target;this.pixelsPerMs=parseFloat(n.value)}}
|
|
260
|
-
/>
|
|
261
|
-
<code>${Pn(this.currentTimeMs,!0)} </code> /
|
|
262
|
-
<code>${Pn(r?.durationMs??0,!0)}</code>
|
|
263
|
-
${this.playing?E`<button @click=${()=>this.playing=!1}>βΈοΈ</button>`:E`<button @click=${()=>this.playing=!0}>βΆοΈ</button>`}
|
|
264
|
-
</div>
|
|
265
|
-
<div class="z-10 pl-1 pr-1 pt-2 shadow shadow-slate-600">
|
|
266
|
-
${Kn(Array.from(r?.children??[]))}
|
|
267
|
-
</div>
|
|
268
|
-
<div
|
|
269
|
-
class="h-full w-full cursor-crosshair overflow-auto bg-slate-200 pt-2"
|
|
270
|
-
id="gutter"
|
|
271
|
-
${dt(this.gutterRef)}
|
|
272
|
-
@wheel=${this.scrollScrub}
|
|
273
|
-
>
|
|
274
|
-
<div
|
|
275
|
-
class="relative h-full w-full"
|
|
276
|
-
style="width: ${this.pixelsPerMs*(r?.durationMs??0)}px;"
|
|
277
|
-
@mousemove=${this.scrub}
|
|
278
|
-
@mousedown=${this.startScrub}
|
|
279
|
-
>
|
|
280
|
-
<div
|
|
281
|
-
class="border-red pointer-events-none absolute top-0 z-10 h-full w-[2px] border-r-2 border-red-700"
|
|
282
|
-
style="left: ${this.pixelsPerMs*this.currentTimeMs}px;"
|
|
283
|
-
></div>
|
|
284
|
-
|
|
285
|
-
${Ve(Array.from(r?.children||[]),this.pixelsPerMs)}
|
|
286
|
-
</div>
|
|
287
|
-
</div>
|
|
288
|
-
</div>`}update(r){r.has("playing")&&this.playing&&this.advancePlayhead(0),super.update(r)}updated(r){this.target&&r.has("currentTimeMs")&&this.target.currentTimeMs!==this.currentTimeMs&&(this.target.currentTimeMs=this.currentTimeMs)}get target(){if(this.getAttribute("target")){const r=document.querySelector(this.getAttribute("target")??"");if(r instanceof R)return r;throw new Error("Invalid target, must be an EFTimegroup element")}}};fe=new WeakMap,T([P({type:Number})],et.prototype,"pixelsPerMs",2),T([P({type:Number})],et.prototype,"currentTimeMs",2),T([P({type:String,attribute:"target"})],et.prototype,"targetSelector",2),T([ht()],et.prototype,"scrubbing",2),T([ht()],et.prototype,"playing",2),T([be({capture:!1})],et.prototype,"scrub",1),T([be({capture:!1})],et.prototype,"startScrub",1),T([be({passive:!1})],et.prototype,"scrollScrub",1),et=T([B("ef-filmstrip")],et);var Hc=Object.defineProperty,Gc=Object.getOwnPropertyDescriptor,Zn=(r,e,n,s)=>{for(var l=s>1?void 0:s?Gc(e,n):e,c=r.length-1,d;c>=0;c--)(d=r[c])&&(l=(s?d(e,n,l):d(l))||l);return s&&l&&Hc(e,n,l),l};let Mr=class extends bt(L){constructor(){super(...arguments),this.src=""}render(){return E` <iframe src="${this.src}" class="h-full w-full"></iframe>`}};Zn([P({type:String})],Mr.prototype,"src",2),Mr=Zn([B("ef-preview")],Mr),window.EF_REGISTERED=!0});
|