@pixodesk/svg-animator-web 1.0.10 → 1.0.16
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/index.cjs +3694 -691
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4928 -198
- package/dist/index.d.ts +4928 -198
- package/dist/index.js +3638 -687
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.umd.js +3641 -690
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/package.json +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,s=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,l=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&s(e,n,t[n]);if(r)for(var n of r(t))i.call(t,n)&&s(e,n,t[n]);return e},a=(e,r)=>t(e,n(r)),u="data-px-animation-src",c="_px_animator",f="animate",d="text",p="textContent",h=new Set(["type","children",f,"animator","meta","defs","bindings",d,p]);function m(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&("svg"===e.type||"svg"===e.tagName)}function v(e){return e&&"object"==typeof e&&!Array.isArray(e)}function y(e,t,n){return"string"==typeof e||(!(!Array.isArray(e)||4!==e.length||!e.every(e=>"number"==typeof e))||(n.push(t+": invalid easing, expected string or [number, number, number, number]"),!1))}function g(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.time&&"number"!=typeof e.time&&(n.push(t+".time: expected number, got "+typeof e.time),r=!1),void 0!==e.t&&"number"!=typeof e.t&&(n.push(t+".t: expected number, got "+typeof e.t),r=!1),void 0===e.easing||y(e.easing,t+".easing",n)||(r=!1),void 0===e.e||y(e.e,t+".e",n)||(r=!1),r}function b(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.keyframes&&(Array.isArray(e.keyframes)?e.keyframes.forEach((e,o)=>{g(e,t+".keyframes["+o+"]",n)||(r=!1)}):(n.push(t+".keyframes: expected array"),r=!1)),void 0!==e.kfs&&(Array.isArray(e.kfs)?e.kfs.forEach((e,o)=>{g(e,t+".kfs["+o+"]",n)||(r=!1)}):(n.push(t+".kfs: expected array"),r=!1)),r}function A(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;for(const o of Object.keys(e))b(e[o],t+"."+o,n)||(r=!1);return r}function w(e,t,n){if("string"==typeof e)return!0;if(Array.isArray(e)){let r=!0;return e.forEach((e,o)=>{"string"==typeof e||A(e,t+"["+o+"]",n)||(r=!1)}),r}return v(e)?A(e,t,n):(n.push(t+": expected string, array, or PxAnimationDefinition object"),!1)}function k(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return void 0===e.mode||["auto","webapi","frames"].includes(e.mode)||(n.push(t+'.mode: invalid value "'+e.mode+"\", expected 'auto'|'webapi'|'frames'"),r=!1),void 0!==e.duration&&"number"!=typeof e.duration&&(n.push(t+".duration: expected number, got "+typeof e.duration),r=!1),void 0!==e.delay&&"number"!=typeof e.delay&&(n.push(t+".delay: expected number, got "+typeof e.delay),r=!1),void 0!==e.iterations&&"number"!=typeof e.iterations&&"infinite"!==e.iterations&&(n.push(t+".iterations: expected number or 'infinite', got "+typeof e.iterations),r=!1),void 0===e.fill||function(e,t,n){return"forwards"===e||"backwards"===e||"both"===e||"none"===e||(n.push(t+': invalid FillMode "'+e+"\", expected 'forwards'|'backwards'|'both'|'none'"),!1)}(e.fill,t+".fill",n)||(r=!1),void 0===e.direction||function(e,t,n){return"normal"===e||"reverse"===e||"alternate"===e||"alternate-reverse"===e||(n.push(t+': invalid PlaybackDirection "'+e+"\", expected 'normal'|'reverse'|'alternate'|'alternate-reverse'"),!1)}(e.direction,t+".direction",n)||(r=!1),void 0!==e.frameRate&&"number"!=typeof e.frameRate&&(n.push(t+".frameRate: expected number, got "+typeof e.frameRate),r=!1),void 0===e.trigger||function(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;const o=["load","mouseOver","click","scrollIntoView","programmatic"];if(o.includes(e.startOn)||(n.push(t+'.startOn: invalid value "'+e.startOn+'", expected '+o.join("|")),r=!1),void 0!==e.outAction){const o=["continue","pause","reset","reverse"];o.includes(e.outAction)||(n.push(t+'.outAction: invalid value "'+e.outAction+'", expected '+o.join("|")),r=!1)}return void 0!==e.scrollIntoViewThreshold&&"number"!=typeof e.scrollIntoViewThreshold&&(n.push(t+".scrollIntoViewThreshold: expected number, got "+typeof e.scrollIntoViewThreshold),r=!1),r}(e.trigger,t+".trigger",n)||(r=!1),r}function x(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.type&&(n.push(t+".type: expected string, got "+typeof e.type),r=!1),void 0!==e.children&&(Array.isArray(e.children)?e.children.forEach((e,o)=>{x(e,t+".children["+o+"]",n)||(r=!1)}):(n.push(t+".children: expected array"),r=!1)),void 0===e.animate||w(e.animate,t+".animate",n)||(r=!1),r}function j(e,t,n){if(!x(e,t,n))return!1;let r=!0;return"svg"!==e.type&&(n.push(t+".type: expected 'svg', got '"+e.type+"'"),r=!1),void 0!==e.width&&"number"!=typeof e.width&&(n.push(t+".width: expected number, got "+typeof e.width),r=!1),void 0!==e.height&&"number"!=typeof e.height&&(n.push(t+".height: expected number, got "+typeof e.height),r=!1),void 0!==e.viewBox&&"string"!=typeof e.viewBox&&(n.push(t+".viewBox: expected string, got "+typeof e.viewBox),r=!1),void 0===e.animator||k(e.animator,t+".animator",n)||(r=!1),void 0===e.defs||function(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;if(void 0!==e.easings)if(v(e.easings))for(const o of Object.keys(e.easings))y(e.easings[o],t+".easings."+o,n)||(r=!1);else n.push(t+".easings: expected object"),r=!1;if(void 0!==e.animations)if(v(e.animations))for(const o of Object.keys(e.animations))A(e.animations[o],t+".animations."+o,n)||(r=!1);else n.push(t+".animations: expected object"),r=!1;return void 0===e.styles||v(e.styles)||(n.push(t+".styles: expected object"),r=!1),r}(e.defs,t+".defs",n)||(r=!1),void 0!==e.bindings&&(Array.isArray(e.bindings)?e.bindings.forEach((e,o)=>{(function(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.id&&(n.push(t+".id: expected string, got "+typeof e.id),r=!1),w(e.animate,t+".animate",n)||(r=!1),r})(e,t+".bindings["+o+"]",n)||(r=!1)}):(n.push(t+".bindings: expected array"),r=!1)),void 0===e.design||x(e.design,t+".design",n)||(r=!1),r}function S(e){const t=[];return{valid:j(e,"root",t),errors:t}}function C(e){var t,n;return(null==e?void 0:e.animator)||(null==(t=null==e?void 0:e.meta)?void 0:t.animator)||(null==e?void 0:e.animation)||(null==(n=null==e?void 0:e.meta)?void 0:n.animation)}function M(e){var t;if(e)return e.defs||(null==(t=e.meta)?void 0:t.defs)}function O(e){var t;if(e)return e.bindings||(null==(t=e.meta)?void 0:t.bindings)}function T(e){return null==e?void 0:e.children}function E(e,t,n){return e+(t-e)*n}function P(e,t,n){const r=[],o=Math.max(e.length,t.length);for(let i=0;i<o;i++)r[i]=E(e[i]||0,t[i]||0,n);return r}function R(e,t,n){return[E(e[0]||0,t[0]||0,n),E(e[1]||0,t[1]||0,n),E(e[2]||0,t[2]||0,n),E(void 0===e[3]?1:e[3],void 0===t[3]?1:t[3],n)]}function I(e,t,n){const r=Math.max(e.length,t.length),o=[];for(let i=0;i<r;i++)o.push(N(e[i],t[i],n));return o}function N(e,t,n){var r,o,i,s,l,a,u,c,f;if(!e||!t)return e||t||{v:[]};const d=Math.min(Math.max(n,0),1),p=Math.min(e.v.length,t.v.length),h=[],m=[],v=[];for(let n=0;n<p;n++){const f=e.v[n],p=t.v[n];h.push(P(f,p,d));const y=null!=(o=null==(r=e.i)?void 0:r[n])?o:f,g=null!=(s=null==(i=t.i)?void 0:i[n])?s:p;m.push(P(y,g,d));const b=null!=(a=null==(l=e.o)?void 0:l[n])?a:f,A=null!=(c=null==(u=t.o)?void 0:u[n])?c:p;v.push(P(b,A,d))}return{v:h,i:m.length?m:void 0,o:v.length?v:void 0,c:null!=(f=e.c)?f:t.c}}function F(e,t,n){if(n<=0)return 0;if(n>=1)return 1;const r=3*e,o=3*(t-e)-r,i=1-r-o;function s(e){return((i*e+o)*e+r)*e}function l(e){return(3*i*e+2*o)*e+r}let a=n,u=0,c=1;for(let e=0;e<8;e++){const e=s(a)-n;if(Math.abs(e)<1e-6)return a;const t=l(a);if(Math.abs(t)<1e-6)break;a-=e/t}for(a=n;u<c;){const e=s(a);if(Math.abs(e-n)<1e-6)return a;n>e?u=a:c=a,a=(c+u)/2}return a}function L(e){const[t,n,r,o]=e,i=3*n,s=3*(o-n)-i,l=1-i-s;return function(e){return n=F(t,r,e),((l*n+s)*n+i)*n;var n}}function D(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function U(e,t){if(!e)return{left:void 0,right:void 0};if(t<=0)return{left:void 0,right:e};if(t>=1)return{left:e,right:void 0};const[n,r,o,i]=e,s=F(n,o,t),l=[n,r],a=[o,i],{left:u,right:c}=function(e,t,n,r,o){const i=D(e,t,o),s=D(t,n,o),l=D(n,r,o),a=D(i,s,o),u=D(s,l,o),c=D(a,u,o);return{left:[e,i,a,c],right:[c,u,l,r]}}([0,0],l,a,[1,1],s),f=u[3][0],d=u[3][1];let p,h;f>1e-9&&Math.abs(d)>1e-9&&(p=[u[1][0]/f,u[1][1]/d,u[2][0]/f,u[2][1]/d]);const m=1-f,v=1-d;return m>1e-9&&Math.abs(v)>1e-9&&(h=[(c[1][0]-f)/m,(c[1][1]-d)/v,(c[2][0]-f)/m,(c[2][1]-d)/v]),{left:p,right:h}}function z(e){if(e)return[1-e[2],1-e[3],1-e[0],1-e[1]]}function q(e){const t=Math.round(255*e[0]),n=Math.round(255*e[1]),r=Math.round(255*e[2]);return 4===e.length?"rgba("+t+","+n+","+r+","+e[3]+")":"rgb("+t+","+n+","+r+")"}function W(e){if(e){if(Array.isArray(e))return e;if("string"==typeof e)return e.startsWith("#")?function(e){const t=e.slice(1),n=t.length<=4,r=n?t[0]+t[0]:t.slice(0,2),o=n?t[1]+t[1]:t.slice(2,4),i=n?t[2]+t[2]:t.slice(4,6),s=4===t.length?t[3]+t[3]:8===t.length?t.slice(6,8):null,l=[parseInt(r,16)/255,parseInt(o,16)/255,parseInt(i,16)/255];return null!==s&&l.push(parseInt(s,16)/255),l}(e):e.startsWith("rgb")?function(e){var t;const n=null==(t=e.match(/rgba?\((.*)\)/))?void 0:t[1];if(!n)throw new Error("Invalid rgb/rgba format");const r=n.split(",").map(e=>+e.trim());return[r[0]/255,r[1]/255,r[2]/255,...void 0!==r[3]?[r[3]]:[]]}(e):void console.warn("Unsupported color format: "+e)}}var B=new Set(["color","fill","flood-color","lighting-color","stop-color","stroke"]),V=new Set(["translate","rotate","scale","skew"]),_=new Set(["offset-distance","offsetDistance"]),Z=new Set(["offset-distance","offsetDistance"]);var K=new Set(["viewBox","preserveAspectRatio","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","clipPathUnits","maskUnits","maskContentUnits","textLength","lengthAdjust","startOffset","filterUnits","primitiveUnits","stdDeviation","baseFrequency","numOctaves","surfaceScale","diffuseConstant","specularConstant","specularExponent","kernelMatrix","kernelUnitLength","edgeMode","preserveAlpha","targetX","targetY"]);function $(e){return K.has(e)?e:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function G(e,t,n){return Math.max(t,Math.min(e,n))}var H=new Set(["svg","g","path","circle","ellipse","rect","line","polyline","polygon","text","tspan","defs","clipPath","mask","pattern","linearGradient","radialGradient","stop","use","symbol","marker","filter","feGaussianBlur","feOffset","feBlend","feColorMatrix","feMerge","feMergeNode"].map(e=>e.toLowerCase())),Q=["href","src","filter","clipPath","mask","markerStart","markerMid","markerEnd"],X=new Set(Q),Y=new Set(["href","src","fill","stroke","strokeWidth","opacity","transform","x","y","cx","cy","r","rx","ry","width","height","d","x1","y1","x2","y2","points","fontSize","fontFamily","textAnchor","id","class","viewBox","preserveAspectRatio","offset","stopColor","stopOpacity","gradientTransform","clipPath","mask","filter","stdDeviation","in","in2","result","mode",...Q]);function J(e,t){const n=e.toLowerCase();if(Y.has(n)){if("fill"===n||"stroke"===n||"stopColor"===n){const e=String(t);return e.includes("url(")&&!/^url\(#[^)]+\)$/.test(e)?void console.warn('Attribute "'+n+'" blocked: url() references must be internal url(#id), got:',t):t}if(X.has(n)){const e=String(t);return e.startsWith("#")||/^url\(#[^)]+\)$/.test(e)?t:void 0}return t}console.warn("Attribute not in whitelist: ",n)}function ee(e){const t={};for(const n of Object.keys(e)){if(h.has(n))continue;if("style"===n)continue;let r=e[n];B.has(n)&&Array.isArray(r)?t[n]=q(r):V.has(n)?(Array.isArray(r)&&("translate"===n&&(r=r.map(e=>e+"px")),r=r.join(",")),"rotate"===n&&(r+="deg"),t.transform=n+"("+r+")"):null!=r&&(t[n]=String(r))}return t}function te(e,t){if(!e)return null;const n=e,{type:s,children:l,animate:a,style:u}=n,c=((e,t)=>{var n={};for(var s in e)o.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&r)for(var s of r(e))t.indexOf(s)<0&&i.call(e,s)&&(n[s]=e[s]);return n})(n,["type","children","animate","style"]),f=e.defs||t,h=function(e,t){var n;if(e)return"string"==typeof e?null==(n=null==t?void 0:t.styles)?void 0:n[e]:e}(u,f);let m;if(l)for(const e of l){const t=te(e,f);t&&(m||(m=[]),m.push(t))}return function(e,t,n,r,o){if(!H.has(e.toLowerCase()))return null;const i=document.createElementNS("http://www.w3.org/2000/svg",e);for(const e in t)i.setAttribute($(e),J(e,t[e]));if(n)for(const e in n)i.style[e]=String(n[e]);if(r)for(const e of r)i.appendChild(e);return o&&(i.textContent=o),i}(s||"g",ee(c),h,m,c[d]||c[p])}function ne(e,t){const{startOn:n,outAction:r="continue",scrollIntoViewThreshold:o=.5}=t,i=e.getRootElement();if(!i)return console.warn("setupAnimationTriggers: No root element found for animation."),e;const s=()=>{e.play()},l=()=>{switch(r){case"pause":e.pause();break;case"reset":e.cancel();break;case"reverse":e.play()}};switch(n){case"load":{const e=()=>s();"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0});break}case"mouseOver":{const e=()=>s(),t=()=>l();i.addEventListener("mouseenter",e),i.addEventListener("mouseleave",t);break}case"click":{const t=()=>{e.isPlaying()?l():s()};i.addEventListener("click",t);break}case"scrollIntoView":new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.intersectionRatio>=o?s():l()})},{threshold:o}).observe(i);break}return e}function re(e){const t=[];let n;const r=function(e){const t=e.split(/([MLCZmlcz]|[\s,]+)/).map(e=>e.trim()).filter(e=>e&&","!==e),n=[];let r=null;for(const e of t)if(/[MLCZmlcz]/.test(e))r={type:e,values:[]},n.push(r);else if(r){const t=+e;r.values.push(Number.isNaN(t)?0:t)}return n}(e);for(const e of r){const r=e.type,o=e.values;if("M"===r||"m"===r){const e=o[0]||0,r=o[1]||0;n={v:[[e,r]],i:[[e,r]],o:[[e,r]],c:!1},t.push(n);continue}if(n||(n={v:[[0,0]],i:[[0,0]],o:[[0,0]],c:!1},t.push(n)),"L"===r){const e=o[0]||0,t=o[1]||0;n.v.push([e,t]),n.i.push([e,t]),n.o.push([e,t])}else if("C"===r){const e=o[0]||0,t=o[1]||0,r=o[2]||0,i=o[3]||0,s=o[4]||0,l=o[5]||0;n.o[n.o.length-1]=[e,t],n.v.push([s,l]),n.i.push([r,i]),n.o.push([s,l])}else"Z"!==r&&"z"!==r||(n.c=!0)}return t}function oe(e){return e.startsWith("path(")&&e.endsWith(")")?e.slice(5,-1):/^[MmZzLlHhVvCcSsQqTtAa]/.test(e)?e:void 0}function ie(e){return"string"==typeof e&&void 0!==oe(e)}function se(e){if(e&&"object"==typeof e&&"paths"in e){const t=e.paths;if(Array.isArray(t)&&t.length>0&&ie(t[0])){const e=[];for(const n of t){const t=oe(n);t&&e.push(...re(t))}return{paths:e}}return e}if(Array.isArray(e)){if(e.length>0&&ie(e[0])){const t=[];for(const n of e){const e=oe(n);e&&t.push(...re(e))}return{paths:t}}return{paths:e}}if(ie(e)){return{paths:re(oe(e))}}return e}function le(e,t){var n;if(e)return Array.isArray(e)?e:(null==(n=null==t?void 0:t.easings)?void 0:n[e])?t.easings[e]:void console.warn("Unknown easing name: "+e)}function ae(e,t){var n;if("string"==typeof e){const r=null==(n=null==t?void 0:t.animations)?void 0:n[e];return r||console.warn("Unknown animation name: "+e),r}return e}function ue(e,t,n,r){var o,i;if("d"===e){return{paths:I(null!=(o=null==t?void 0:t.paths)?o:Array.isArray(t)?t:[],null!=(i=null==n?void 0:n.paths)?i:Array.isArray(n)?n:[],r)}}return B.has(e)?R(t||[0,0,0,1],n||[0,0,0,1],r):V.has(e)||"stroke-dasharray"===e||"strokeDasharray"===e?P(t||[],n||[],r):E(+(t||0),+(n||0),r)}function ce(e,t,n,r){var o,i,s,l,a;const u=t.keyframes||t.kfs||[],c=[];for(const t of u){const n=null!=(i=null!=(o=t.time)?o:t.t)?i:0;let u=null!=(s=t.value)?s:t.v;const f=null!=(l=t.easing)?l:t.e;"d"===e&&(u=se(u)),B.has(e)&&(u=null!=(a=W(u))?a:u),c.push({t:n,v:u,e:le(f,r)})}c.sort((e,t)=>{var n,r;return(null!=(n=e.t)?n:0)-(null!=(r=t.t)?r:0)});const f=t.loop,d=!0===f?{}:f||void 0;return d&&c.length>=2?function(e,t,n,r){var o,i,s,l,a;const u=t.length-1,c=G(null!=(o=n.segmentCount)?o:u,1,u);let f;f=n.before?t.slice(0,c+1):t.slice(u-c);const d=null!=(i=t[0].t)?i:0,p=null!=(s=t[t.length-1].t)?s:0;let h,m;n.before?(h=0,m=d):(h=p,m=r);const v=m-h;if(v<=0)return t;const y=null!=(l=f[0].t)?l:0,g=(null!=(a=f[f.length-1].t)?a:0)-y;if(g<=0)return t;const b=f.map(e=>({relT:(e.t-y)/g,v:e.v,e:e.e})),A=Math.floor(v/g),w=(v-A*g)/g,k=[];function x(t,n,r){let o;if(n){o=[];for(let e=b.length-1;e>=0;e--)o.push({relT:1-b[e].relT,v:b[e].v,e:e>0?z(b[e-1].e):void 0})}else o=b;const i=void 0!==r?r:1;for(let n=0;n<o.length;n++){const r=o[n];if(r.relT>i+1e-9){const s=o[n-1],l=r.relT-s.relT,a=(i-s.relT)/l,u=s.e?L(s.e)(a):a,c=ue(e,s.v,r.v,u),{left:f}=U(s.e,a);return k.length>0&&s.relT<=i&&(k[k.length-1].e=f),void k.push({t:t+i*g,v:c,e:void 0})}k.push({t:t+r.relT*g,v:r.v,e:n<o.length-1?r.e:void 0})}}for(let e=0;e<A;e++){const t=n.before?A-1-e:e,r=!!n.alternate&&t%2==0;x(h+e*g,r)}if(w>1e-9){const e=!!n.alternate&&A%2==0;x(h+A*g,e,w)}return n.before?[...k,...t]:[...t,...k]}(e,c,d,n):c}var fe=0;function de(e){const t=C(e)||{},n=M(e),r=t.duration||1e3,o=[],i=(e,t)=>{if(!t)return null;const o=function(e,t){if(!e)return[];const n=[];if("string"==typeof e){const r=ae(e,t);r&&n.push(r)}else if(Array.isArray(e))for(const r of e){const e=ae(r,t);e&&n.push(e)}else n.push(e);return n}(t,n);if(0===o.length)return null;const i=function(e,t,n){const r={};for(const[o,i]of Object.entries(e)){const e=ce(o,i,t,n);e.length>0&&(r[o]={kfs:e})}return r}(function(e){const t={};for(const n of e)for(const[e,r]of Object.entries(n))t[e]=r;return t}(o),r,n);return 0===Object.keys(i).length?null:{id:e,animate:i}},s=O(e);if(s)for(const e of s){const t=i(e.id,e.animate);t&&o.push(t)}const l=e=>{if(e.animate){const t=e.id||"_px_el_"+ ++fe;e.id=t;const n=i(t,e.animate);n&&o.push(n)}if(e.children)for(let t=0;t<e.children.length;t++)l(e.children[t])};if(e.children)for(let t=0;t<e.children.length;t++)l(e.children[t]);return o}function pe(e,t,n){var r,o,i,s,l,a,u;const c=t.kfs||t.keyframes||[];if(0===c.length)return null;const{prevKf:f,nextKf:d}=function(e,t){var n,r;let o=e[0],i=e[e.length-1];for(let s=0;s<e.length-1;s++){const l=null!=(n=e[s].t)?n:0,a=null!=(r=e[s+1].t)?r:0;if(l<=t&&t<=a){o=e[s],i=e[s+1];break}}return{prevKf:o,nextKf:i}}(c,n);let p=f===d?0:(h=n,m=null!=(r=f.t)?r:0,v=null!=(o=d.t)?o:0,y=0,g=1,v===m?y:y+(h-m)/(v-m)*(g-y));var h,m,v,y,g;p=G(p,0,1);const b=null!=(i=f.e)?i:f.easing;if(b&&Array.isArray(b))try{p=L(b)(p)}catch(e){}let A=!(w=e).includes("-")&&/[a-z][A-Z]/.test(w)?$(e):e;var w;let k=null;const x=null!=(s=null==f?void 0:f.v)?s:null==f?void 0:f.value,j=null!=(l=null==d?void 0:d.v)?l:null==d?void 0:d.value;if("d"===A){k=I(null!=(a=null==x?void 0:x.paths)?a:Array.isArray(x)?x:[],null!=(u=null==j?void 0:j.paths)?u:Array.isArray(j)?j:[],p).map(e=>function(e){var t,n,r,o;const i=e.v,s=e.i,l=e.o,a=e.c;if(!i.length)return"";const u=[],c=i.length;u.push("M"+i[0][0]+","+i[0][1]);for(let e=1;e<c;e++){const r=i[e-1],o=null!=(t=null==l?void 0:l[e-1])?t:r,a=null!=(n=null==s?void 0:s[e])?n:i[e],c=i[e];o[0]===r[0]&&o[1]===r[1]&&a[0]===c[0]&&a[1]===c[1]?u.push("L"+c[0]+","+c[1]):u.push("C"+o[0]+","+o[1]+","+a[0]+","+a[1]+","+c[0]+","+c[1])}if(a&&c>0){const e=i[c-1],t=null!=(r=null==l?void 0:l[c-1])?r:e,n=null!=(o=null==s?void 0:s[0])?o:i[0],a=i[0];t[0]===e[0]&&t[1]===e[1]&&n[0]===a[0]&&n[1]===a[1]||u.push("C"+t[0]+","+t[1]+","+n[0]+","+n[1]+","+a[0]+","+a[1]),u.push("z")}return u.join("")}(e)).join("")}else if(B.has(A))k=q(R(x||[0,0,0,1],j||[0,0,0,1],p)),A=e;else if("stroke-dasharray"===A)k=P(x||[],j||[],p).join(" "),A=e;else if("translate"===A){k="translate("+P(x||[0,0],j||[0,0],p).join(",")+")",A="transform"}else if("rotate"===A){k="rotate("+E(+(x||0),+(j||0),p)+")",A="transform"}else if("scale"===A){k="scale("+P(x||[1,1],j||[1,1],p).join(",")+")",A="transform"}else{k=E(+(x||0),+(j||0),p)}return _.has(A)&&"number"==typeof k&&(k=100*k+"%"),{k:A,v:null===k?"":""+k}}function he(e,t){const n={};for(const[r,o]of Object.entries(e)){const e=pe(r,o,t);e&&(n[e.k]=e.v)}return n}function me(e){return"#"+e}function ve(e,t,n){const r=C(e)||{},o=de(e),i=r.iterations;let s=1;"number"==typeof i&&(s=i||1),"infinite"===i&&(s=1/0),s<1&&(s=1);const l=+(r.duration||1e3),a=l&&s?l*(s===1/0?1/0:s):l?(null!=s?s:1)*l:0,u=r.direction||"normal";let c=null,f=!1,d=r.delay||0,p=0,h=1,m=!1;const v=r.frameRate,y=v&&v>0?1e3/v:0;let g=0;const b=()=>{const e=p?(Date.now()-p)*h:0;let t=d+e;return Number.isFinite(a)&&t>a&&(t=a),t<0&&(t=0),t};function A(e){let n=function(){const t=l>0?l:1;let n=0,r=0;if(l>0){e=G(e,0,s*t),r=Math.max(0,Math.ceil(e/t)-1),r=Math.min(r,s-1);n=G((e-r*t)/t,0,1)}else n=e;const o=u||"normal";let i=n;return"reverse"===o?i=1-n:"alternate"===o?r%2==1&&(i=1-n):"alternate-reverse"===o&&r%2==0&&(i=1-n),i}();for(const e of o||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("Empty or unresolved binding",e);continue}const o=he(r,n*l);for(const[n,r]of Object.entries(o))t.setAttribute(e.id,n,r)}}r.delay&&A(b());const w=()=>!!f&&(!!t.isConnected()&&!(Number.isFinite(a)&&b()>=a)),k=e=>{null!==c&&(cancelAnimationFrame(c),c=null),(e||w())&&(c=requestAnimationFrame(()=>{c=null,(()=>{var e;if(!t.isConnected())return void x();const r=b();if(y>0){const e=Date.now();if(g&&e-g<y)return;g=e}if(a&&Number.isFinite(a)&&r>=a)return A(a),m||(m=!0,null==(e=null==n?void 0:n.onFinish)||e.call(n)),void x();A(r)})(),k()}))},x=()=>{f&&(d=b(),p=0,f=!1,null!==c&&(cancelAnimationFrame(c),c=null),A(d))},j={isReady:()=>!0,getRootElement:()=>null,isPlaying:()=>w(),play:()=>{var e;f||(f=!0,p=Date.now(),k(!0)),null==(e=null==n?void 0:n.onPlay)||e.call(n)},pause:()=>{var e;x(),null==(e=null==n?void 0:n.onPause)||e.call(n)},cancel:()=>{var e;x(),d=0,p=0,f=!1,m=!1,A(d),null==(e=null==n?void 0:n.onCancel)||e.call(n)},finish:()=>{((e=!0)=>{var t;d=Number.isFinite(a)?a:b(),p=0,f=!1,A(d),e&&!m&&(m=!0,null==(t=null==n?void 0:n.onFinish)||t.call(n))})(!0)},setPlaybackRate:e=>{if(!isFinite(e)||0===e)return void console.warn("setPlaybackRate: rate must be finite and non-zero");const t=b();h=e,d=t,f&&(p=Date.now())},getCurrentTime:()=>b(),setCurrentTime:e=>{e<0&&(e=0),Number.isFinite(a)&&e>a&&(e=a),d=e,f&&(p=Date.now()),A(b())},destroy:()=>{j.cancel()}};return j}function ye(e,t,n,r){const o=C(e)||{};if(!r)if(e.id){const t=me(e.id);(r=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");let i=ve(e,t||function(e){const t=new Set,n={isConnected:()=>!e||e.isConnected,setAttribute:(n,r,o)=>{r=$(r);const i=me(n),s=(null==e?void 0:e.querySelectorAll(i))||document.querySelectorAll(i);0!==s.length||t.has(i)||(t.add(i),console.warn('setAttribute: No elements found for selector "'+i+'"'));for(let e=0;e<s.length;e++){const t=s[e];t.setAttribute(r,o),Z.has(r)&&(t.style[r]=o)}}};return n}(r),n);return i=a(l({},i),{getRootElement:()=>r||null}),o.trigger&&ne(i,o.trigger),i}function ge(e,t,n,r){var o,i;let s=null!=(o=e.v)?o:e.value;const l=null!=(i=e.e)?i:e.easing,a={offset:t,easing:l&&Array.isArray(l)?"cubic-bezier("+l.join(",")+")":void 0};let u,c=n;var f;return B.has(n)&&Array.isArray(s)?u=q(s):V.has(n)?(Array.isArray(s)&&("translate"===n&&(s=s.map(e=>e+"px")),s=s.join(",")),"rotate"===n&&(s+="deg"),u=n+"("+s+")",c="transform"):u=""+s,CSS.supports(c,u)||r.add(c),c=(f=c).includes("-")?f.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()):f,a[c]=u,a}function be(e,t,n){var r,o;const i=new Map;for(const[s,u]of Object.entries(e)){const e=u.kfs||u.keyframes||[],c=[];for(let i=0;i<e.length;i++){const u=e[i];let f=null!=(o=null!=(r=u.t)?r:u.time)?o:0;f=G(f/(n.duration||1),0,1);const d=ge(u,f,s,t);0===i&&(d.offset||0)>0&&c.push(a(l({},d),{offset:0})),c.push(d),i===e.length-1&&(d.offset||0)<1&&c.push(a(l({},d),{offset:1}))}c.length>0&&i.set(s,c)}return i}function Ae(e,t,n,r){const o=C(e)||{},i=de(e);if(!n)if(e.id){const t=me(e.id);(n=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");const s=[],l=o.iterations;let a;"number"==typeof l&&(a=l),"infinite"===l&&(a=1/0);const u=new Set;(null==i?void 0:i.length)||console.warn("createWebApiAnimator: No animation bindings defined");for(const e of i||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("createWebApiAnimator: Empty or unresolved binding",e);continue}const i=me(e.id),l=(null==n?void 0:n.querySelectorAll(i))||document.querySelectorAll(i);0===l.length&&console.warn('createWebApiAnimator: No elements found for selector "'+i+'"');const c=be(r,u,o),f=o.delay&&o.delay>0?o.delay:void 0,d=o.delay&&o.delay<0&&o.duration?-o.delay%o.duration:void 0,p={duration:o.duration,delay:f,fill:o.fill,direction:o.direction,iterations:a};for(let e=0;e<l.length;e++){const n=l[e];for(const[,e]of c)if(e.length>0)try{const r=new KeyframeEffect(n,e,p),o=new Animation(r,document.timeline);(null==t?void 0:t.onFinish)&&(o.onfinish=()=>{var e;return null==(e=t.onFinish)?void 0:e.call(t)}),(null==t?void 0:t.onRemove)&&(o.onremove=()=>{var e;return null==(e=t.onRemove)?void 0:e.call(t)}),d&&(o.currentTime=d),s.push(o)}catch(e){console.warn(e)}}}if(!r&&u.size)return console.warn("Unsupported CSS attrs: "+[...u].join(", ")),null;const c={isReady:()=>!0,getRootElement:()=>n||null,isPlaying:()=>{var e;return"running"===(null==(e=s[0])?void 0:e.playState)},play:()=>{var e;s.forEach(e=>e.play()),null==(e=null==t?void 0:t.onPlay)||e.call(t)},pause:()=>{var e;s.forEach(e=>e.pause()),null==(e=null==t?void 0:t.onPause)||e.call(t)},cancel:()=>{var e;s.forEach(e=>e.cancel()),null==(e=null==t?void 0:t.onCancel)||e.call(t)},finish:()=>{var e;for(const t of s)try{(null==(e=t.effect)?void 0:e.getTiming().iterations)===1/0?(t.effect.updateTiming({iterations:1}),t.finish(),t.effect.updateTiming({iterations:1/0})):t.finish()}catch(e){t.cancel()}},setPlaybackRate:e=>(s.forEach(t=>t.playbackRate=e),c),getCurrentTime:()=>{var e,t;const n=null!=(t=null==(e=s[0])?void 0:e.currentTime)?t:null;return null!==n?+n:null},setCurrentTime:e=>{s.forEach(t=>{t.currentTime=e})},destroy:()=>{c.cancel(),s.splice(0,s.length)}};return o.trigger&&ne(c,o.trigger),c}var we=0;function ke(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>ke(e));const t=e,n={};for(const e of Object.keys(t))n[e]=ke(t[e]);return n}function xe(e){const t=ke(e),n=new Map,r=new Set(["href","xlink:href"]),o=new Set(["fill","stroke","clip-path","clipPath","mask","marker","marker-start","marker-mid","marker-end","filter","flood-color","lighting-color"]),i=new Set(["baseId","targetId","boundElementId"]);!function e(t){if(t&&"object"==typeof t){if(t.id&&"string"==typeof t.id){const e=t.id,r="_px_"+Date.now().toString(36)+(++we).toString(36)+Math.random().toString(36).substring(2,6);n.set(e,r),t.id=r}if(Array.isArray(t.children))for(const n of t.children)e(n)}}(t),function e(t){if(t&&"object"==typeof t)for(const[s,l]of Object.entries(t))if("children"!==s)if("string"==typeof l)if(r.has(s)&&l.startsWith("#")){const e=l.slice(1),r=n.get(e);r&&(t[s]="#"+r)}else if(o.has(s))t[s]=je(l,n);else if(i.has(s)){const e=n.get(l);e&&(t[s]=e)}else l.includes("url(#")&&(t[s]=je(l,n));else if("style"===s&&"object"==typeof l&&null!==l)for(const[e,t]of Object.entries(l))"string"==typeof t&&(l[e]=je(t,n));else"object"==typeof l&&null!==l&&s!==f&&e(l);else if(Array.isArray(l))for(const t of l)e(t)}(t);const s=t.bindings;if(Array.isArray(s))for(const e of s)if(e.id){const t=n.get(e.id);t&&(e.id=t)}return t}function je(e,t){return e.replace(/url\(#([^)]+)\)/g,(e,n)=>{const r=t.get(n);return r?"url(#"+r+")":e})}function Se(e,t,n,r){(C(e)||{}).debug=!0;let o=null;if(r&&e.children){e=xe(e);const t="string"==typeof r?document.querySelector(r):r;t&&(o=te(e),o&&t.replaceChildren(o))}return function(e,t,n,r){const o=C(e)||{};let i;return i="frames"===o.mode?ye(e,t,n,r):Ae(e,n,r,"webapi"===o.mode)||ye(e,t,n,r),o.debugInstName&&(window[o.debugInstName]=i),i}(e,t,n,o)}function Ce(e,t,n,r){if("object"==typeof e)return Se(e,t,n,r);let o=null;return fetch(e).then(e=>e.json()).then(e=>{m(e)?o=Se(e,t,n,r):console.error("Invalid animation document format")}),{isReady:()=>!!o,getRootElement:()=>o?o.getRootElement():null,isPlaying:()=>(null==o?void 0:o.isPlaying())||!1,play:()=>{null==o||o.play()},pause:()=>{null==o||o.pause()},cancel:()=>{null==o||o.cancel()},finish:()=>{null==o||o.finish()},setPlaybackRate:e=>{null==o||o.setPlaybackRate(e)},getCurrentTime:()=>(null==o?void 0:o.getCurrentTime())||0,setCurrentTime:e=>{null==o||o.setCurrentTime(e)},destroy:()=>{null==o||o.destroy()}}}function Me(){const e=document.querySelectorAll("["+u+"]");for(let t=0;t<e.length;t++){const n=e[t];if(!n[c]){const e=n.getAttribute(u);e&&(n[c]=Ce(e,void 0,void 0,n))}}}"undefined"!=typeof window&&(window.loadTagAnimators=Me,window.createAnimator=Ce,window.setupAnimationTriggers=ne);export{B as COLOUR_ATTR_NAMES,c as PX_ANIM_ATTR_NAME,u as PX_ANIM_SRC_ATTR_NAME,Z as STYLE_ATTR_NAMES,V as TRANSFORM_FN_NAMES,he as calcAnimationValues,$ as camelCaseToKebabWordIfNeeded,Ce as createAnimator,Se as createAnimatorImpl,ve as createBasicFrameLoopAnimator,ye as createFrameLoopAnimator,Ae as createWebApiAnimator,xe as generateNewIds,C as getAnimatorConfig,O as getBindings,T as getChildren,M as getDefs,ee as getNormalizedProps,m as isPxElementFileFormat,S as isPxElementFileFormatDeep,Me as loadTagAnimators,de as normalizeDocument,te as renderNode,ne as setupAnimationTriggers,q as toRGBA};
|
|
1
|
+
var t=Object.defineProperty,e=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,i=(e,n,r)=>n in e?t(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,s=(t,e)=>{for(var n in e||(e={}))o.call(e,n)&&i(t,n,e[n]);if(r)for(var n of r(e))a.call(e,n)&&i(t,n,e[n]);return t},l=(t,r)=>e(t,n(r));function u(t,e,n){const r={};return"translate"===t?r.translate=e:"rotate"===t?r.rotate=e:r.scale=e,n&&"translate"!==t&&(r.origin=n),r}function c(t){if(void 0===t)return{kind:"absent"};if(Array.isArray(t))return{kind:"static",value:t};if("object"==typeof t){const e=t;if(e.keyframes)return{kind:"animated",keyframes:e.keyframes,autoOrient:e.autoOrient};if(void 0!==e.value)return{kind:"static",value:e.value}}return{kind:"static",value:t}}function f(t,e){const n={value:e};return void 0!==t.time&&(n.time=t.time),void 0!==t.easing&&(n.easing=t.easing),void 0!==t.tangentOut&&(n.tangentOut=t.tangentOut),void 0!==t.tangentIn&&(n.tangentIn=t.tangentIn),n}function d(t,e,n){if(!e)return t;delete t.transform;let r=t;var o;return r=h(r,"skew",e.skew,n),r=m(r,e.origin,!0),r=h(r,"scale",void 0===(o=e.scale)?void 0:Array.isArray(o)?[o[0]/100,o[1]/100]:o,n),r=h(r,"rotate",e.rotate,n),r=m(r,e.origin,!1),!function(t){if(!t||"object"!=typeof t)return!1;const e=t;return!!e.autoOrient||Array.isArray(e.keyframes)&&e.keyframes.some(t=>t.tangentOut||t.tangentIn)}(e.translate)?r=h(r,"translate",e.translate,n):(r=m(r,e.origin,!0),r=h(r,"translate",e.translate,n),r=m(r,e.origin,!1)),r}function h(t,e,n,r){if(void 0===n)return t;if("skew"===e){const e=c(n);return"static"!==e.kind?(r.warnings.push("transformation.skew: only static skew is supported"),t):{type:"g",transform:"skewX("+e.value[0]+")skewY("+e.value[1]+")",children:[t]}}const o=c(n);if("static"===o.kind)return{type:"g",transform:{value:u(e,o.value,void 0)},children:[t]};if("animated"===o.kind){const n={keyframes:o.keyframes.map(t=>f(t,u(e,t.value,void 0)))};return o.autoOrient&&(n.autoOrient=!0),{type:"g",animate:{transform:n},children:[t]}}return t}function m(t,e,n){if(void 0===e)return t;const r=c(e),o=t=>n?[-t[0],-t[1]]:t;return"absent"===r.kind?t:"static"===r.kind?0===r.value[0]&&0===r.value[1]?t:{type:"g",transform:{value:{translate:o(r.value)}},children:[t]}:"animated"===r.kind?{type:"g",animate:{transform:{keyframes:r.keyframes.map(t=>f(t,{translate:o(t.value)}))}},children:[t]}:t}function p(t,e,n){var r,o,a;if("use"===t.type&&"content"===(null==(o=null==(r=t.effects)?void 0:r.ref)?void 0:o.type)){const r=t.effects.ref.baseId;"string"==typeof r&&r&&!e.contentRefInnerIds.has(r)&&e.contentRefInnerIds.set(r,n(r))}null==(a=t.children)||a.forEach(t=>p(t,e,n))}function y(t,e,n,r,o){const a=function(t,e){var n,r,o;const a={};let i=!1;const s=null==(n=t.animate)?void 0:n.transform;if(s&&"object"==typeof s&&Array.isArray(s.keyframes)){const e=s.keyframes;if(e.some(t=>t.value&&t.value.translate)){const n=g(s),r={keyframes:e.map(t=>{const e=t.value||{},r={};void 0!==e.translate&&(r.translate=e.translate),n&&void 0!==e.origin&&(r.origin=e.origin);const o={value:r};return void 0!==t.time&&(o.time=t.time),void 0!==t.easing&&(o.easing=t.easing),void 0!==t.tangentOut&&(o.tangentOut=t.tangentOut),void 0!==t.tangentIn&&(o.tangentIn=t.tangentIn),o})};s.autoOrient&&(r.autoOrient=!0),a.animate={transform:r};const o=e.some(t=>{const e=t.value||{};return void 0!==e.rotate||void 0!==e.scale}),l=e.map(t=>{const e=t.value||{},r={};void 0!==e.rotate&&(r.rotate=e.rotate),void 0!==e.scale&&(r.scale=e.scale),void 0===e.origin||n&&!o||(r.origin=e.origin);const a={value:r};return void 0!==t.time&&(a.time=t.time),void 0!==t.easing&&(a.easing=t.easing),a});l.every(t=>0===Object.keys(t.value).length)?(delete t.animate.transform,t.animate&&0===Object.keys(t.animate).length&&delete t.animate):t.animate.transform={keyframes:l},i=!0}}const l=void 0!==(null==e?void 0:e.translate),u=i||l,c=i&&g((null==(r=t.animate)?void 0:r.transform)||void 0)||i&&g((null==(o=a.animate)?void 0:o.transform)||void 0);if("string"==typeof t.transform){const e=function(t){const e=[],n=/(translate|rotate|scale|matrix|skewX|skewY)\(([^)]*)\)/g;let r;for(;r=n.exec(t);)e.push({name:r[1],full:r[0]});if(!e.length)return{rest:t||void 0};if(e.every(t=>"translate"===t.name))return{translate:e.map(t=>t.full).join("")};const o=e[0],a=e[e.length-1];if("translate"===a.name&&"translate"===o.name){const n=v(a.full),r=v(o.full),i=-n[0],s=-n[1],l=r[0]-i,u=r[1]-s;if(0===l&&0===u)return{rest:t};return{translate:"translate("+l+","+u+")",rest:"translate("+i+","+s+")"+e.slice(1).map(t=>t.full).join("")}}if("translate"===a.name)return{rest:t};const i=[];let s=0;for(;s<e.length&&"translate"===e[s].name;)i.push(e[s].full),s++;if(!i.length)return{rest:t};const l=e.slice(s).map(t=>t.full).join("");return{translate:i.join(""),rest:l||void 0}}(t.transform);u?void 0!==e.translate?e.rest?t.transform=e.rest:delete t.transform:!function(t){const e=/(translate|rotate|scale|matrix|skewX|skewY)\(([^)]*)\)/g,n=[];let r;for(;r=e.exec(t);)n.push({name:r[1],full:r[0]});if(1!==n.length)return!1;if("translate"===n[0].name)return!0;if("matrix"!==n[0].name)return!1;const o=/matrix\(([^)]*)\)/.exec(n[0].full);if(!o)return!1;const a=o[1].split(/[\s,]+/).filter(Boolean).map(Number);return a.length>=4&&1===a[0]&&0===a[1]&&0===a[2]&&1===a[3]}(t.transform)?c&&function(t){const e=/(translate|rotate|scale|matrix|skewX|skewY)\(([^)]*)\)/g;let n,r=0,o=!1;for(;n=e.exec(t);)r++,"matrix"===n[1]&&(o=!0);return 1===r&&o}(t.transform)&&delete t.transform:delete t.transform:e.translate&&(a.transform=e.translate,e.rest?t.transform=e.rest:delete t.transform)}return a}(t,e);"string"==typeof t.id&&delete t.id;const{outer:i,inner:s}=function(t){if(!t)return{};const e=g(t.translate),n=void 0!==t.rotate||void 0!==t.scale,r={},o={};void 0!==t.translate&&(r.translate=t.translate);e&&void 0!==t.origin&&(r.origin=t.origin);void 0!==t.rotate&&(o.rotate=t.rotate);void 0!==t.scale&&(o.scale=t.scale);void 0!==t.skew&&(o.skew=t.skew);void 0===t.origin||e&&!n||(o.origin=t.origin);return{outer:Object.keys(r).length?r:void 0,inner:Object.keys(o).length?o:void 0}}(e);let l=t;l=d(l,s,o);let u={type:"g",id:n,children:[{type:"g",id:r,children:[l]}]};return void 0!==a.transform&&(u.transform=a.transform),void 0!==a.animate&&(u.animate=a.animate),i&&(delete u.id,u=d(u,i,o),u.id=n),u}function v(t){const e=/translate\(([^)]*)\)/.exec(t);if(!e)return[0,0];const n=e[1].split(/[\s,]+/).filter(Boolean).map(Number);return[n[0]||0,n[1]||0]}function g(t){if(!t||"object"!=typeof t)return!1;const e=t;return!!e.autoOrient||!!Array.isArray(e.keyframes)&&e.keyframes.some(t=>t.tangentOut||t.tangentIn)}function b(t){if(!t.length)return".";let e="";for(const n of t)n.startsWith("[")?e+=n:e+=(e?".":"")+n;return e}var k=class{_canSanitize(t){return this.isValid(t)}optional(){return new A(this)}},A=class extends k{constructor(t){super(),this.inner=t,this._default=void 0}sanitize(t){if(null!=t)return this.inner._canSanitize(t)?this.inner.sanitize(t):void 0}isValid(t,e,n){return null==t||this.inner.isValid(t,e,n)}_canSanitize(t){return null==t||this.inner._canSanitize(t)}},w=class extends k{constructor(t=""){super(),this._default=t}sanitize(t){return"string"==typeof t?t:this._default}isValid(t,e,n){return"string"==typeof t||(null==e||e.errors.push(b(null!=n?n:[])+": expected string, got "+typeof t),!1)}},j=class extends k{constructor(t=0){super(),this._default=t}sanitize(t){return"number"==typeof t&&isFinite(t)?t:this._default}isValid(t,e,n){return!("number"!=typeof t||!isFinite(t))||(null==e||e.errors.push(b(null!=n?n:[])+": expected finite number, got "+JSON.stringify(t)),!1)}},O=class extends k{constructor(t=!1){super(),this._default=t}sanitize(t){return"boolean"==typeof t?t:this._default}isValid(t,e,n){return"boolean"==typeof t||(null==e||e.errors.push(b(null!=n?n:[])+": expected boolean, got "+typeof t),!1)}},x=class extends k{constructor(t){super(),this.value=t,this._default=t}sanitize(t){return t===this.value?this.value:this._default}isValid(t,e,n){return t===this.value||(null==e||e.errors.push(b(null!=n?n:[])+": expected "+JSON.stringify(this.value)+", got "+JSON.stringify(t)),!1)}},P=class extends k{constructor(t,e){super(),this.values=t,this._default=null!=e?e:t[0]}sanitize(t){return this.values.includes(t)?t:this._default}isValid(t,e,n){return!!this.values.includes(t)||(null==e||e.errors.push(b(null!=n?n:[])+": expected one of "+this.values.map(t=>JSON.stringify(t)).join(" | ")+", got "+JSON.stringify(t)),!1)}},S=class extends k{constructor(t,e){super(),this.schemas=t,this._default=null!=e?e:t[0]._default}sanitize(t){for(const e of this.schemas)if(e.isValid(t))return e.sanitize(t);return this._default}isValid(t,e,n){var r;return!!this.schemas.some(e=>e.isValid(t))||(null==e||e.errors.push(b(null!=n?n:[])+": no union member matched for value "+(null!=(r=JSON.stringify(t))?r:"").slice(0,60)),!1)}_canSanitize(t){return this.schemas.some(e=>e._canSanitize(t))}},M=class extends k{constructor(t,e,n){super(),this._key=t,this._schemas=e,this._default=null!=n?n:e[0]._default,this._map=new Map;for(const n of e){const e=n._shape[t];e&&this._map.set(e._default,n)}}_findSchema(t){if(null===t||"object"!=typeof t||Array.isArray(t))return;const e=t[this._key];return null!=e?this._map.get(e):void 0}sanitize(t){var e;return(null!=(e=this._findSchema(t))?e:this._schemas[0]).sanitize(t)}isValid(t,e,n){const r=this._findSchema(t);if(!r){const r=null===t||"object"!=typeof t||Array.isArray(t)?void 0:t[this._key];return null==e||e.errors.push(b(null!=n?n:[])+": no discriminated union member matched "+this._key+"="+JSON.stringify(r)),!1}return r.isValid(t,e,n)}_canSanitize(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=this._findSchema(t);return e?e._canSanitize(t):this._schemas[0]._canSanitize(t)}},_=class extends k{constructor(t){super(),this._shape=t;const e={};for(const n of Object.keys(t))e[n]=t[n]._default;this._default=e}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},n={};for(const t of Object.keys(this._shape))n[t]=this._shape[t].sanitize(e[t]);return n}isValid(t,e,n){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(b(null!=n?n:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const r=t,o=null!=n?n:[];let a=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(r[t],e,o)||(a=!1),o.pop();if(null==e?void 0:e.strict)for(const t of Object.keys(r))t in this._shape||(o.push(t),e.errors.push(b(o)+": unexpected extra key"),o.pop(),a=!1);return a}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},I=class extends k{constructor(t,e){super(),this._shape=t,this._openSchema=e;const n={};for(const e of Object.keys(t))n[e]=t[e]._default;this._default=n}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},n=s({},e);for(const t of Object.keys(this._shape))n[t]=this._shape[t].sanitize(e[t]);if(this._openSchema)for(const t of Object.keys(e))t in this._shape||(n[t]=this._openSchema.sanitize(e[t]));return n}isValid(t,e,n){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(b(null!=n?n:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const r=t,o=null!=n?n:[];let a=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(r[t],e,o)||(a=!1),o.pop();if(this._openSchema)for(const t of Object.keys(r))t in this._shape||(o.push(t),this._openSchema.isValid(r[t],e,o)||(a=!1),o.pop());return a}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},z=class extends k{constructor(t){super(),this.item=t,this._default=[]}sanitize(t){if(!Array.isArray(t))return[];const e=[];for(const n of t)this.item._canSanitize(n)&&e.push(this.item.sanitize(n));return e}isValid(t,e,n){if(!Array.isArray(t))return null==e||e.errors.push(b(null!=n?n:[])+": expected array, got "+typeof t),!1;const r=null!=n?n:[];let o=!0;for(let n=0;n<t.length;n++)r.push("["+n+"]"),this.item.isValid(t[n],e,r)||(o=!1),r.pop();return o}_canSanitize(t){return Array.isArray(t)}},C=class extends k{constructor(t){super(),this.value=t,this._default={}}sanitize(t){if(!t||"object"!=typeof t||Array.isArray(t))return{};const e={};for(const[n,r]of Object.entries(t))this.value._canSanitize(r)&&(e[n]=this.value.sanitize(r));return e}isValid(t,e,n){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(b(null!=n?n:[])+": expected object/record, got "+(Array.isArray(t)?"array":typeof t)),!1;const r=null!=n?n:[];let o=!0;for(const[n,a]of Object.entries(t))r.push(n),this.value.isValid(a,e,r)||(o=!1),r.pop();return o}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},N=class extends k{constructor(){super(...arguments),this._default=void 0}sanitize(t){return t}isValid(t,e,n){return!0}_canSanitize(t){return!0}},E=class extends k{constructor(t,e){super(),this.fn=t,this._default=e,this.resolved=null}get schema(){var t;return null!=(t=this.resolved)?t:this.resolved=this.fn()}sanitize(t){return this.schema.sanitize(t)}isValid(t,e,n){return this.schema.isValid(t,e,n)}_canSanitize(t){return this.schema._canSanitize(t)}},T=class extends k{constructor(t){super(),this.schemas=t,this._default=t.map(t=>t._default)}sanitize(t){return Array.isArray(t)&&t.length===this.schemas.length?this.schemas.map((e,n)=>e.sanitize(t[n])):this._default}isValid(t,e,n){if(!Array.isArray(t)||t.length!==this.schemas.length)return null==e||e.errors.push(b(null!=n?n:[])+": expected tuple of length "+this.schemas.length+", got "+(Array.isArray(t)?"array["+t.length+"]":typeof t)),!1;const r=null!=n?n:[];let o=!0;for(let n=0;n<this.schemas.length;n++)r.push("["+n+"]"),this.schemas[n].isValid(t[n],e,r)||(o=!1),r.pop();return o}_canSanitize(t){return Array.isArray(t)&&t.length===this.schemas.length}};function U(t){return Object.fromEntries(Object.keys(t._shape).map(t=>[t,t]))}function V(t){var e;const n=t;return"_shape"in n?{kind:"shape",shape:n._shape}:"item"in n?{kind:"array",item:n.item}:"inner"in n?{kind:"optional",inner:n.inner}:"fn"in n?{kind:"lazy",resolved:null!=(e=n.resolved)?e:n.fn()}:{kind:"leaf"}}var R={string:(t="")=>new w(t),number:(t=0)=>new j(t),boolean:(t=!1)=>new O(t),literal:t=>new x(t),enum:(t,e)=>new P(t,e),union:(t,e)=>new S(t,e),discriminatedUnion:(t,e)=>new M(t,e),object:t=>new _(t),openObject:(t,e)=>new I(t,e),extendedObject:(t,e)=>new _(s(s({},t._shape),e)),array:t=>new z(t),record:t=>new C(t),any:()=>new N,tuple:t=>new T(t),lazy:(t,e)=>new E(t,e)},F="data-px-animation-src",L="_px_animator",D={auto:"auto",webapi:"webapi",frames:"frames"},B={webapi:D.webapi,frames:D.frames},W="text",q="textContent",K=new Set(["type","children","animator","meta","animate",W,q]),X=R.union([R.string(),R.tuple([R.number(),R.number(),R.number(),R.number()])]),Y=(R.union([R.string(),R.number(),R.array(R.number()),R.lazy(()=>$,{}),R.object({path:R.string()}),R.lazy(()=>R.object({paths:R.array(Mt)}),{paths:[]})]),R.object({time:R.number().optional(),t:R.number().optional(),value:R.any().optional(),v:R.any().optional(),easing:X.optional(),e:X.optional(),tangentOut:R.tuple([R.number(),R.number()]).optional(),to:R.tuple([R.number(),R.number()]).optional(),tangentIn:R.tuple([R.number(),R.number()]).optional(),ti:R.tuple([R.number(),R.number()]).optional(),selected:R.boolean().optional()})),Z=R.object({segmentCount:R.number().optional(),before:R.boolean().optional(),alternate:R.boolean().optional()}),G=R.object({keyframes:R.array(Y).optional(),kfs:R.array(Y).optional(),loop:R.union([Z,R.boolean()]).optional(),autoOrient:R.boolean().optional()}),J=["translate","rotate","scale","origin"],$=R.object({translate:R.tuple([R.number(),R.number()]).optional(),rotate:R.number().optional(),scale:R.tuple([R.number(),R.number()]).optional(),origin:R.tuple([R.number(),R.number()]).optional()}),H=R.union([R.string(),R.object({value:$}),G]),Q=R.record(G),tt=R.union([R.string(),R.array(R.union([R.string(),Q])),Q]),et=R.object({startOn:R.enum(["load","mouseOver","click","scrollIntoView","programmatic"]).optional(),outAction:R.enum(["continue","pause","reset","reverse"]).optional(),scrollIntoViewThreshold:R.number().optional()}),nt=R.object({easings:R.record(R.tuple([R.number(),R.number(),R.number(),R.number()])).optional(),animations:R.record(Q).optional(),styles:R.record(R.any()).optional()}),rt=R.object({mode:R.enum([D.auto,D.webapi,D.frames]).optional(),duration:R.number().optional(),delay:R.number().optional(),iterations:R.union([R.number(),R.literal("infinite")]).optional(),fill:R.enum(["forwards","backwards","both","none"]).optional(),direction:R.enum(["normal","reverse","alternate","alternate-reverse"]).optional(),frameRate:R.number().optional(),trigger:et.optional(),definitions:nt.optional(),animate:R.record(tt).optional(),debug:R.boolean().optional(),debugInstName:R.string().optional()}),ot=R.object({id:R.string(),animate:tt}),at=R.union([R.string(),R.number(),R.object({value:R.any()}),G]),it=R.union([R.number(),R.object({value:R.number()}),R.object({keyframes:R.array(Y),autoOrient:R.boolean().optional()})]),st=R.union([R.tuple([R.number(),R.number()]),R.object({value:R.tuple([R.number(),R.number()])}),R.object({keyframes:R.array(Y),autoOrient:R.boolean().optional()})]),lt=R.object({translate:st.optional(),rotate:it.optional(),scale:st.optional(),skew:st.optional(),origin:st.optional()}),ut=R.object({copies:R.number().optional(),translate:st.optional(),rotate:it.optional(),scale:st.optional(),origin:st.optional()}),ct=R.object({href:R.string().optional(),maskType:R.string().optional(),maskUnits:R.string().optional(),maskContentUnits:R.string().optional()}),ft=R.object({offset:it.optional(),range:st.optional(),trimAllAsOne:R.boolean().optional()}),dt=R.object({baseId:R.string().optional(),start:R.number().optional(),stretch:R.number().optional(),timeCrop:R.tuple([R.number(),R.number()]).optional()}),ht=R.object({baseId:R.string().optional(),type:R.string().optional()}),mt={userSpaceOnUse:"userSpaceOnUse",objectBoundingBox:"objectBoundingBox"},pt={pad:"pad",reflect:"reflect",repeat:"repeat"},yt={linear:"linear",radial:"radial"},vt=R.object({offset:R.number(),color:R.string()}),gt=R.union([R.array(vt),R.object({value:R.array(vt)}),R.object({keyframes:R.array(Y)})]),bt=R.object({type:R.enum([yt.linear,yt.radial]),p1:R.tuple([R.number(),R.number()]).optional(),p2:R.tuple([R.number(),R.number()]).optional(),c:R.tuple([R.number(),R.number()]).optional(),r:R.number().optional(),fp:R.tuple([R.number(),R.number()]).optional(),stops:gt.optional(),gradientUnits:R.string().optional(),spreadMethod:R.string().optional(),gradientTransform:R.string().optional()}),kt=bt,At=R.object({href:R.string(),lengthAdjust:R.string().optional(),method:R.string().optional(),spacing:R.string().optional(),startOffset:it.optional(),textLength:it.optional()}),wt=R.object({transformation:lt.optional(),repeater:ut.optional(),maskedBy:ct.optional(),trimPath:ft.optional(),retime:dt.optional(),isCombinedShape:R.boolean().optional(),ref:ht.optional(),fillGradient:bt.optional(),strokeGradient:kt.optional(),textAlongPath:At.optional()});function jt(t,e){const n=[],r=(t,o)=>{if(t&&t.effects){const r={errors:[],warnings:[],strict:!!(null==e?void 0:e.strict)};if(!wt.isValid(t.effects,r,[o+".effects"]))for(const t of r.errors)n.push(t)}t&&Array.isArray(t.children)&&t.children.forEach((t,e)=>r(t,o+".children["+e+"]"))};return r(t,"root"),n}var Ot=R.openObject({type:R.string(),id:R.string().optional(),meta:R.any().optional(),effects:wt.optional(),animate:tt.optional(),style:R.union([R.string(),R.record(R.union([R.string(),R.number()]))]).optional()},at),xt=R.openObject(l(s({},Ot._shape),{children:R.lazy(()=>R.array(xt),[]).optional()}),at),Pt=R.object({width:R.number().optional(),height:R.number().optional(),viewBox:R.string().optional(),animator:rt.optional()}),St=R.openObject(l(s(s({},Ot._shape),Pt._shape),{type:R.literal("svg"),children:R.array(xt).optional()}),at),Mt=R.object({v:R.array(R.array(R.number())),i:R.array(R.array(R.number())).optional(),o:R.array(R.array(R.number())).optional(),c:R.boolean().optional()});function _t(t){return!(!t||"object"!=typeof t||Array.isArray(t))&&("svg"===t.type||"svg"===t.tagName)}function It(t){const e=St.isValid(t);return{valid:e,errors:e?[]:["Document failed schema validation"]}}function zt(t){var e,n;return(null==t?void 0:t.animator)||(null==(e=null==t?void 0:t.meta)?void 0:e.animator)||(null==t?void 0:t.animation)||(null==(n=null==t?void 0:t.meta)?void 0:n.animation)}function Ct(t){var e;if(t)return null==(e=zt(t))?void 0:e.definitions}function Nt(t){var e;if(!t)return;const n=null==(e=zt(t))?void 0:e.animate;return n?Object.entries(n).map(([t,e])=>({id:t,animate:e})):void 0}function Et(t){return null==t?void 0:t.children}function Tt(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(Tt);const e={};for(const n of Object.keys(t))e[n]=Tt(t[n]);return e}function Ut(t,e){const n=new Map,r=t=>{var o;if("string"==typeof t.id){const r=e();n.set(t.id,r),t.id=r}null==(o=t.children)||o.forEach(r)};r(t);const o=t=>t.replace(/url\(#([^)]+)\)/g,(t,e)=>{const r=n.get(e);return r?"url(#"+r+")":t}),a=t=>{var e;if("string"==typeof t.href&&t.href.startsWith("#")){const e=n.get(t.href.slice(1));e&&(t.href="#"+e)}for(const e of Object.keys(t)){if("children"===e||"effects"===e||"meta"===e||"animate"===e||"href"===e||"id"===e)continue;const n=t[e];"string"==typeof n&&-1!==n.indexOf("url(#")&&(t[e]=o(n))}null==(e=t.children)||e.forEach(a)};return a(t),n}function Vt(t){const e="number"==typeof t?t:"string"==typeof t?parseFloat(t):NaN;return Number.isFinite(e)?e:0}function Rt(t){var e;const n=Vt(t.x),r=Vt(t.y);if(delete t.x,delete t.y,!n&&!r)return t;const o="translate("+n+","+r+")";if(void 0!==t.transform||void 0!==t.animate){const n={type:"g",transform:o,children:null!=(e=t.children)?e:[]};t.children=[n]}else t.transform=o;return t}function Ft(t,e){return"_lw_"+e+"_"+t.nextId++}function Lt(t){return"string"==typeof t?t.replace(/^#/,""):void 0}function Dt(t,e){var n;"string"==typeof t.id&&e.set(t.id,t),null==(n=t.children)||n.forEach(t=>Dt(t,e))}var Bt=Tt;function Wt(t,e,n,r){if(!e)return t;const o=Ft(n,"grad"),a=function(t,e){const n={type:t.type===yt.radial?"radialGradient":"linearGradient",id:e};t.type===yt.linear?(t.p1&&(n.x1=String(t.p1[0]),n.y1=String(t.p1[1])),t.p2&&(n.x2=String(t.p2[0]),n.y2=String(t.p2[1]))):(t.c&&(n.cx=String(t.c[0]),n.cy=String(t.c[1])),void 0!==t.r&&(n.r=String(t.r)),t.fp&&(n.fx=String(t.fp[0]),n.fy=String(t.fp[1])));t.gradientUnits&&(n.gradientUnits=t.gradientUnits);t.spreadMethod&&(n.spreadMethod=t.spreadMethod);t.gradientTransform&&(n.gradientTransform=t.gradientTransform);return n.children=function(t){var e,n,r,o;if(!t)return[];if(Array.isArray(t))return t.map(qt);if("object"==typeof t&&Array.isArray(t.value))return t.value.map(qt);const a=t.keyframes;if(!Array.isArray(a)||!a.length)return[];let i=0;for(const t of a){const n=null!=(e=t.value)?e:t.v;Array.isArray(n)&&n.length>i&&(i=n.length)}if(!i)return[];const s=null!=(n=a[0].value)?n:a[0].v,l=[];for(let t=0;t<i;t++){const e=null!=(o=null!=(r=null==s?void 0:s[t])?r:Kt(a,0,t))?o:{offset:t/Math.max(1,i-1),color:"#000000"};l.push({offset:e.offset,color:e.color})}return l.map((t,e)=>function(t,e,n){var r,o,a,i,s;const l=[],u=[];let c=!1;for(const f of e){const d=null!=(o=null!=(r=f.time)?r:f.t)?o:0,h=null!=(a=f.value)?a:f.v,m=null!=(i=null==h?void 0:h[n])?i:Kt(e,e.indexOf(f),n);if(!m)continue;const p=null!=(s=f.easing)?s:f.e,y={time:d,value:m.color};void 0!==p&&(y.easing=p),l.push(y);const v={time:d,value:m.offset};void 0!==p&&(v.easing=p),u.push(v),m.offset!==t.offset&&(c=!0)}const f={type:"stop",offset:Xt(t.offset),stopColor:t.color},d={};l.length&&(d.stopColor={keyframes:l});c&&u.length&&(d.offset={keyframes:u});Object.keys(d).length&&(f.animate=d);return f}(t,a,e))}(t.stops),n}(e,o);return n.defs.push(a),t[r]="url(#"+o+")",t}function qt(t){return{type:"stop",offset:Xt(t.offset),stopColor:t.color}}function Kt(t,e,n){var r,o;for(let o=e;o>=0;o--){const e=null!=(r=t[o].value)?r:t[o].v;if(null==e?void 0:e[n])return e[n]}for(let r=e+1;r<t.length;r++){const e=null!=(o=t[r].value)?o:t[r].v;if(null==e?void 0:e[n])return e[n]}}function Xt(t){return Math.round(1e3*t)/10+"%"}function Yt(t,e,n,r){if(!e)return t;if(!e.href)return r.errors.push("maskedBy.href missing — cannot build mask"),t;const o=Ft(r,"mask");let a={type:"use",href:"#"+e.href};if(n)a=Zt(a,n,r);else if($t(t))a=function(t,e){var n;const r=e.animate&&"object"==typeof e.animate&&!Array.isArray(e.animate)?e.animate:void 0,o=null==r?void 0:r.transform,a=o&&"object"==typeof o&&Array.isArray(o.keyframes)?o.keyframes:void 0;if(!a||!a.length)return t;const i=[],u=[],c=[];for(const t of a){const e=(null!=(n=t.value)?n:t.v)||{},r=f(t,void 0);if(Array.isArray(e.translate)&&i.push(l(s({},r),{value:{translate:[-e.translate[0],-e.translate[1]]}})),"number"==typeof e.rotate){const t={rotate:-e.rotate};Array.isArray(e.origin)&&(t.origin=[e.origin[0],e.origin[1]]),u.push(l(s({},r),{value:t}))}if(Array.isArray(e.scale)){const t={scale:[1/e.scale[0],1/e.scale[1]]};Array.isArray(e.origin)&&(t.origin=[e.origin[0],e.origin[1]]),c.push(l(s({},r),{value:t}))}}let d=t;i.length&&(d={type:"g",animate:{transform:{keyframes:i}},children:[d]});u.length&&(d={type:"g",animate:{transform:{keyframes:u}},children:[d]});c.length&&(d={type:"g",animate:{transform:{keyframes:c}},children:[d]});return d}(a,t);else{const e=function(t){if("string"==typeof t.transform){const e=function(t){var e,n,r,o,a,i,s,l,u,c,f,d,h;const m=/([a-zA-Z]+)\s*\(([^)]*)\)/g;let p;const y=[];for(;null!==(p=m.exec(t));){const t=p[2].split(/[\s,]+/).filter(t=>t.length>0).map(Number);y.push({name:p[1],args:t})}if(!y.length)return;const v=y[y.length-1];if("translate"===v.name)for(let t=y.length-2;t>=0;t--){const c=y[t];if("translate"!==c.name)continue;const f=null!=(e=c.args[0])?e:0,d=null!=(n=c.args[1])?n:0,h=null!=(r=v.args[0])?r:0,m=null!=(o=v.args[1])?o:0;if(h!==-f||m!==-d)continue;const p={};p.origin=[f,d];for(let e=0;e<t;e++)if("translate"===y[e].name){const t=null!=(a=y[e].args[0])?a:0,n=null!=(i=y[e].args[1])?i:0;p.translate=p.translate?[p.translate[0]+t,p.translate[1]+n]:[t,n]}for(let e=t+1;e<y.length-1;e++){const t=y[e];if("rotate"===t.name)p.rotate=(null!=(s=p.rotate)?s:0)+(null!=(l=t.args[0])?l:0);else if("scale"===t.name){const e=null!=(u=t.args[0])?u:1,n=t.args.length>1?t.args[1]:e;p.scale=p.scale?[p.scale[0]*e,p.scale[1]*n]:[e,n]}}return p}let g,b,k;for(const t of y)if("translate"===t.name){const e=null!=(c=t.args[0])?c:0,n=null!=(f=t.args[1])?f:0;g=g?[g[0]+e,g[1]+n]:[e,n]}else if("rotate"===t.name)b=(null!=b?b:0)+(null!=(d=t.args[0])?d:0);else if("scale"===t.name){const e=null!=(h=t.args[0])?h:1,n=t.args.length>1?t.args[1]:e;k=k?[k[0]*e,k[1]*n]:[e,n]}const A={};g&&(A.translate=g);void 0!==b&&(A.rotate=b);k&&(A.scale=k);return Object.keys(A).length?A:void 0}(t.transform);if(!e)return;const n={};return e.translate&&(n.translate=e.translate),void 0!==e.rotate&&(n.rotate=e.rotate),e.scale&&(n.scale={value:e.scale}),e.origin&&(n.origin=e.origin),Object.keys(n).length?n:void 0}return}(t);e&&(a=Zt(a,e,r))}const i=void 0===n&&!function(t){return"string"==typeof t.transform||(!(!t.transform||"object"!=typeof t.transform)||$t(t))}(t);a=function(t,e,n,r,o){const a=r.idMap.get(n),i=r.maskAncestorChains.get(e)||[],s=o?ee(e,r):void 0,l=s?[...i,s]:i,u=a&&r.maskAncestorChains.get(a)||[];if(!l.length&&!u.length)return t;const c=new Set;for(const t of l)if(t.translateKeyframes)for(const e of t.translateKeyframes)c.add(e.time);for(const t of u)if(t.translateKeyframes)for(const e of t.translateKeyframes)c.add(e.time);if(!(c.size>0)){const e=Ht(l),n=Ht(u),r=n[0]-e[0],o=n[1]-e[1];return 0===r&&0===o?t:{type:"g",transform:"translate("+r+","+o+")",children:[t]}}const f=Array.from(c).sort((t,e)=>t-e);return{type:"g",animate:{transform:{keyframes:f.map(t=>{const e=Qt(l,t),n=Qt(u,t);return{time:t,value:{translate:[n[0]-e[0],n[1]-e[1]]}}})}},children:[t]}}(a,t,e.href,r,i);const u={type:"mask",id:o,children:[a]};return e.maskType&&(u.maskType=e.maskType),e.maskUnits&&(u.maskUnits=e.maskUnits),e.maskContentUnits&&(u.maskContentUnits=e.maskContentUnits),r.defs.push(u),t.mask="url(#"+o+")",t}function Zt(t,e,n){if(!e)return t;const r=function(t,e){var n;const r=c(t);if("absent"!==r.kind)return"static"===r.kind?r.value:(e.warnings.push("transformation.origin: animated origin approximated by its first keyframe"),null==(n=r.keyframes[0])?void 0:n.value)}(e.origin,n);let o=t;return o=Gt(o,"translate",e.translate,void 0,n),o=Gt(o,"rotate",e.rotate,r,n),o=Gt(o,"scale",e.scale,r,n),o}function Gt(t,e,n,r,o){if(void 0===n)return t;const a=c("scale"===e&&Array.isArray(n)?[n[0]/100,n[1]/100]:n);return"static"===a.kind?{type:"g",transform:{value:u(e,Jt(e,a.value),r)},children:[t]}:"animated"===a.kind?{type:"g",animate:{transform:{keyframes:a.keyframes.map(t=>f(t,u(e,Jt(e,t.value),r)))}},children:[t]}:t}function Jt(t,e){return"translate"===t?[-e[0],-e[1]]:"rotate"===t?-e:[1/e[0],1/e[1]]}function $t(t){const e=t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate)?t.animate:void 0;return!(!e||!e.transform)}function Ht(t){let e=0,n=0;for(const r of t)r.translate&&(e+=r.translate[0],n+=r.translate[1]);return[e,n]}function Qt(t,e){let n=0,r=0;for(const o of t)if(o.translateKeyframes&&o.translateKeyframes.length){const t=te(o.translateKeyframes,e);n+=t[0],r+=t[1]}else o.translate&&(n+=o.translate[0],r+=o.translate[1]);return[n,r]}function te(t,e){if(e<=t[0].time)return t[0].value;if(e>=t[t.length-1].time)return t[t.length-1].value;for(let n=1;n<t.length;n++)if(e<=t[n].time){const r=t[n-1],o=t[n],a=(e-r.time)/(o.time-r.time);return[r.value[0]+(o.value[0]-r.value[0])*a,r.value[1]+(o.value[1]-r.value[1])*a]}return t[t.length-1].value}function ee(t,e){var n,r,o;const a=t.transform,i=t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate)?t.animate.transform:void 0;if(void 0===a&&!i)return;const s={};if("string"==typeof a){const t=function(t,e){const n=/([a-zA-Z]+)\s*\(([^)]*)\)/g;let r,o=0,a=0,i=!1,s=!1;for(;null!==(r=n.exec(t));){const t=r[1],e=r[2].split(/[\s,]+/).filter(t=>t.length>0).map(Number);"translate"===t?(o+=e[0]||0,a+=e[1]||0,i=!0):s=!0}s&&e.warnings.push("maskedBy ancestor: non-translate transform in string ignored: "+t);return i?[o,a]:void 0}(a,e);t&&(s.translate=t)}else if(a&&"object"==typeof a){const t=a.value;t&&"object"==typeof t&&Array.isArray(t.translate)&&(s.translate=[t.translate[0]||0,t.translate[1]||0]),!t||void 0===t.rotate&&void 0===t.scale&&void 0===t.skew||e.warnings.push("maskedBy ancestor: non-translate transform parts ignored (rotate/scale not yet supported)")}if(i&&Array.isArray(i.keyframes)){const t=i.keyframes,a=[];for(const i of t){const t=null!=(n=i.value)?n:i.v,s=null!=(o=null!=(r=i.time)?r:i.t)?o:0;t&&"object"==typeof t&&Array.isArray(t.translate)&&(a.push({time:s,value:[t.translate[0]||0,t.translate[1]||0]}),void 0===t.rotate&&void 0===t.scale&&void 0===t.skew||e.warnings.push("maskedBy ancestor: animated non-translate parts ignored"))}a.length&&(s.translateKeyframes=a)}return s.translate||s.translateKeyframes?s:void 0}function ne(t,e){const n={};return void 0!==t.translate&&(n.translate=function(t,e){if(Array.isArray(t))return e(t);if(t&&"object"==typeof t){const n=t;if(Array.isArray(n.keyframes))return l(s({},n),{keyframes:n.keyframes.map(t=>t&&void 0!==t.value?l(s({},t),{value:e(t.value)}):t)});if(void 0!==n.value)return l(s({},n),{value:e(n.value)})}return t}(t.translate,t=>[t[0]*e,t[1]*e])),void 0!==t.rotate&&(n.rotate=function(t,e){if("number"==typeof t)return e(t);if(t&&"object"==typeof t){const n=t;if(Array.isArray(n.keyframes))return l(s({},n),{keyframes:n.keyframes.map(t=>t&&void 0!==t.value?l(s({},t),{value:e(t.value)}):t)});if(void 0!==n.value)return l(s({},n),{value:e(n.value)})}return t}(t.rotate,t=>t*e)),void 0!==t.scale&&(n.scale=function(t,e){const n=t=>[Math.pow(t[0]/100,e),Math.pow(t[1]/100,e)],r=t=>[Math.pow(t[0],e),Math.pow(t[1],e)];if(Array.isArray(t))return{value:n(t)};if(t&&"object"==typeof t){const e=t;if(Array.isArray(e.keyframes))return l(s({},e),{keyframes:e.keyframes.map(t=>t&&void 0!==t.value?l(s({},t),{value:r(t.value)}):t)});if(void 0!==e.value)return l(s({},e),{value:n(e.value)})}return t}(t.scale,e)),void 0!==t.origin&&(n.origin=t.origin),Object.keys(n).length?n:void 0}function re(t){var e,n;return{start:null!=(e=t.start)?e:0,stretch:null!=(n=t.stretch)?n:1}}function oe(t,e,n){const r=Lt(t.href);if(!r)return void n.errors.push("retime: <use> has no href to follow");const o=ae(r,e,n,new Set);o&&(t.href="#"+o)}function ae(t,e,n,r){var o,a;if(r.has(t))return void n.errors.push('retime: loop via "'+t+'"');const i=n.idMap.get(t);if(!i)return void n.warnings.push('retime: target "'+t+'" not found');const s=Bt(i);if(function(t,e){Ut(t,()=>Ft(e,"retimed"))}(s,n),"use"===i.type?se(s,e.start,e.stretch):ie(s,e.start,e.stretch),(null==(o=s.effects)?void 0:o.retime)&&(delete s.effects.retime,0===Object.keys(s.effects).length&&delete s.effects),"use"===i.type&&i.href){const o=Lt(i.href);if(o){const c=null==(a=i.effects)?void 0:a.retime,f=c?(l=re(c),{start:(u=e).start+u.stretch*l.start,stretch:u.stretch*l.stretch}):e,d=new Set(r);d.add(t);const h=ae(o,f,n,d);h&&(s.href="#"+h)}}var l,u;return n.defs.push(s),"string"==typeof s.id&&n.idMap.set(s.id,s),"string"==typeof s.id?s.id:void 0}function ie(t,e,n){var r;se(t,e,n),null==(r=t.children)||r.forEach(t=>ie(t,e,n))}function se(t,e,n){const r=t=>{for(const r of t)"number"==typeof r.time&&(r.time=e+r.time*n)};if(t.transform&&"object"==typeof t.transform&&Array.isArray(t.transform.keyframes)&&r(t.transform.keyframes),t.animate&&"object"==typeof t.animate)for(const e of Object.keys(t.animate)){const n=t.animate[e];n&&Array.isArray(n.keyframes)&&r(n.keyframes)}}function le(t,e,n){if(null!=n)if("number"!=typeof n){if("object"==typeof n){const r=n;if(Array.isArray(r.keyframes)){const n=t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate)?t.animate:void 0,o=s({},n||{});return o[e]={keyframes:r.keyframes},void(t.animate=o)}if("number"==typeof r.value)return void(t[e]=String(r.value))}}else t[e]=String(n)}function ue(t){var e,n,r,o;const a=t.v,i=t.i,s=t.o,l=t.c;if(!a.length)return"";const u=[],c=a.length;u.push("M"+a[0][0]+","+a[0][1]);for(let t=1;t<c;t++){const r=a[t-1],o=null!=(e=null==s?void 0:s[t-1])?e:r,l=null!=(n=null==i?void 0:i[t])?n:a[t],c=a[t];o[0]===r[0]&&o[1]===r[1]&&l[0]===c[0]&&l[1]===c[1]?u.push("L"+c[0]+","+c[1]):u.push("C"+o[0]+","+o[1]+","+l[0]+","+l[1]+","+c[0]+","+c[1])}if(l&&c>0){const t=a[c-1],e=null!=(r=null==s?void 0:s[c-1])?r:t,n=null!=(o=null==i?void 0:i[0])?o:a[0],l=a[0];e[0]===t[0]&&e[1]===t[1]&&n[0]===l[0]&&n[1]===l[1]||u.push("C"+e[0]+","+e[1]+","+n[0]+","+n[1]+","+l[0]+","+l[1]),u.push("z")}return u.join("")}function ce(t,e,n){return t+(e-t)*n}function fe(t,e,n){const r=[],o=Math.max(t.length,e.length);for(let a=0;a<o;a++)r[a]=ce(t[a]||0,e[a]||0,n);return r}function de(t,e,n){return[ce(t[0]||0,e[0]||0,n),ce(t[1]||0,e[1]||0,n),ce(t[2]||0,e[2]||0,n),ce(void 0===t[3]?1:t[3],void 0===e[3]?1:e[3],n)]}function he(t,e,n){const r=Math.max(t.length,e.length),o=[];for(let a=0;a<r;a++)o.push(me(t[a],e[a],n));return o}function me(t,e,n){var r,o,a,i,s,l,u,c,f;if(!t||!e)return t||e||{v:[]};const d=Math.min(Math.max(n,0),1),h=Math.min(t.v.length,e.v.length),m=[],p=[],y=[];for(let n=0;n<h;n++){const f=t.v[n],h=e.v[n];m.push(fe(f,h,d));const v=null!=(o=null==(r=t.i)?void 0:r[n])?o:f,g=null!=(i=null==(a=e.i)?void 0:a[n])?i:h;p.push(fe(v,g,d));const b=null!=(l=null==(s=t.o)?void 0:s[n])?l:f,k=null!=(c=null==(u=e.o)?void 0:u[n])?c:h;y.push(fe(b,k,d))}return{v:m,i:p.length?p:void 0,o:y.length?y:void 0,c:null!=(f=t.c)?f:e.c}}function pe(t,e,n){if(n<=0)return 0;if(n>=1)return 1;const r=3*t,o=3*(e-t)-r,a=1-r-o;function i(t){return((a*t+o)*t+r)*t}function s(t){return(3*a*t+2*o)*t+r}let l=n,u=0,c=1;for(let t=0;t<8;t++){const t=i(l)-n;if(Math.abs(t)<1e-6)return l;const e=s(l);if(Math.abs(e)<1e-6)break;l-=t/e}for(l=n;u<c;){const t=i(l);if(Math.abs(t-n)<1e-6)return l;n>t?u=l:c=l,l=(c+u)/2}return l}function ye(t){const[e,n,r,o]=t,a=3*n,i=3*(o-n)-a,s=1-a-i;return function(t){return n=pe(e,r,t),((s*n+i)*n+a)*n;var n}}function ve(t,e,n){return[t[0]+(e[0]-t[0])*n,t[1]+(e[1]-t[1])*n]}function ge(t,e){if(!t)return{left:void 0,right:void 0};if(e<=0)return{left:void 0,right:t};if(e>=1)return{left:t,right:void 0};const[n,r,o,a]=t,i=pe(n,o,e),s=[n,r],l=[o,a],{left:u,right:c}=function(t,e,n,r,o){const a=ve(t,e,o),i=ve(e,n,o),s=ve(n,r,o),l=ve(a,i,o),u=ve(i,s,o),c=ve(l,u,o);return{left:[t,a,l,c],right:[c,u,s,r]}}([0,0],s,l,[1,1],i),f=u[3][0],d=u[3][1];let h,m;f>1e-9&&Math.abs(d)>1e-9&&(h=[u[1][0]/f,u[1][1]/d,u[2][0]/f,u[2][1]/d]);const p=1-f,y=1-d;return p>1e-9&&Math.abs(y)>1e-9&&(m=[(c[1][0]-f)/p,(c[1][1]-d)/y,(c[2][0]-f)/p,(c[2][1]-d)/y]),{left:h,right:m}}function be(t){if(t)return[1-t[2],1-t[3],1-t[0],1-t[1]]}function ke(t){const e=Math.round(255*t[0]),n=Math.round(255*t[1]),r=Math.round(255*t[2]);return 4===t.length?"rgba("+e+","+n+","+r+","+t[3]+")":"rgb("+e+","+n+","+r+")"}function Ae(t){if(t){if(Array.isArray(t))return t;if("string"==typeof t)return t.startsWith("#")?function(t){const e=t.slice(1),n=e.length<=4,r=n?e[0]+e[0]:e.slice(0,2),o=n?e[1]+e[1]:e.slice(2,4),a=n?e[2]+e[2]:e.slice(4,6),i=4===e.length?e[3]+e[3]:8===e.length?e.slice(6,8):null,s=[parseInt(r,16)/255,parseInt(o,16)/255,parseInt(a,16)/255];return null!==i&&s.push(parseInt(i,16)/255),s}(t):t.startsWith("rgb")?function(t){var e;const n=null==(e=t.match(/rgba?\((.*)\)/))?void 0:e[1];if(!n)throw new Error("Invalid rgb/rgba format");const r=n.split(",").map(t=>+t.trim());return[r[0]/255,r[1]/255,r[2]/255,...void 0!==r[3]?[r[3]]:[]]}(t):void console.warn("Unsupported color format: "+t)}}var we=new Set(["color","fill","flood-color","lighting-color","stop-color","stroke"]),je=new Set(["translate","rotate","scale","skew"]),Oe=new Set(["offset-distance","offsetDistance"]);function xe(t,e){var n;if(!t)return"";const r=null==(n=null==e?void 0:e.withUnits)||n,o=[],a=t.translate,i=t.origin,s=t.rotate,l=t.scale,u=r?"px":"",c=r?"deg":"";return a&&o.push("translate("+a[0]+u+","+a[1]+u+")"),i&&o.push("translate("+i[0]+u+","+i[1]+u+")"),null!=s&&o.push("rotate("+s+c+")"),l&&o.push("scale("+l[0]+","+l[1]+")"),i&&o.push("translate("+-i[0]+u+","+-i[1]+u+")"),o.join("")}var Pe=new Set(["offset-distance","offsetDistance"]);function Se(t){return t.includes("-")?t.replace(/-([a-z])/g,(t,e)=>e.toUpperCase()):t}function Me(t){return!t.includes("-")&&/[a-z][A-Z]/.test(t)}var _e=new Set(["viewBox","preserveAspectRatio","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","clipPathUnits","maskUnits","maskContentUnits","markerUnits","markerWidth","markerHeight","refX","refY","textLength","lengthAdjust","startOffset","filterUnits","primitiveUnits","stdDeviation","baseFrequency","numOctaves","surfaceScale","diffuseConstant","specularConstant","specularExponent","kernelMatrix","kernelUnitLength","edgeMode","preserveAlpha","targetX","targetY"]);function Ie(t){return _e.has(t)?t:t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function ze(t,e,n){return Math.max(e,Math.min(t,n))}function Ce(t,e,n,r,o){if(o<=0)return[t[0],t[1]];if(o>=1)return[r[0],r[1]];const a=1-o,i=a*a,s=o*o,l=i*a,u=3*o*i,c=3*s*a,f=s*o;return[l*t[0]+u*e[0]+c*n[0]+f*r[0],l*t[1]+u*e[1]+c*n[1]+f*r[1]]}var Ne=1e-4;function Ee(t,e,n,r,o){const a=Te(t,e,n,r,o);if(0===a[0]&&0===a[1]){return Te(t,e,n,r,o<.5?o+Ne:o-Ne)}return a}function Te(t,e,n,r,o){const a=1-o,i=3*a*a,s=6*o*a,l=3*o*o;return[i*(e[0]-t[0])+s*(n[0]-e[0])+l*(r[0]-n[0]),i*(e[1]-t[1])+s*(n[1]-e[1])+l*(r[1]-n[1])]}function Ue(t,e,n,r,o=100){const a=o+1,i=new Float64Array(a),s=new Float64Array(a);let l=Ce(t,e,n,r,0);i[0]=0,s[0]=0;let u=0;for(let c=1;c<a;c++){const a=c/o,f=Ce(t,e,n,r,a),d=f[0]-l[0],h=f[1]-l[1];u+=Math.sqrt(d*d+h*h),i[c]=a,s[c]=u,l=f}return{ts:i,ds:s}}function Ve(t,e){const{ts:n,ds:r}=t,o=n.length-1;if(e<=n[0])return r[0];if(e>=n[o])return r[o];let a=1,i=o;for(;a<i;){const t=a+i>>>1;n[t]<e?a=t+1:i=t}const s=n[i-1],l=n[i]-s,u=l>0?(e-s)/l:0;return r[i-1]+u*(r[i]-r[i-1])}function Re(t){var e;const n=null!=(e=t.value)?e:t.v;if(!n)return;if(Array.isArray(n)&&n.length>=2&&"number"==typeof n[0]&&"number"==typeof n[1])return[n[0],n[1]];const r=n.translate;return Array.isArray(r)&&r.length>=2?[r[0],r[1]]:void 0}function Fe(t){var e,n;return null!=(n=null!=(e=t.time)?e:t.t)?n:0}function Le(t){var e;return null!=(e=t.easing)?e:t.e}function De(t){var e,n,r;const o=null!=(e=t.keyframes)?e:t.kfs;if(!Array.isArray(o))return!1;if(t.autoOrient)return!0;for(const t of o)if((null!=(n=t.tangentIn)?n:t.ti)||(null!=(r=t.tangentOut)?r:t.to))return!0;return!1}var Be=new WeakMap;function We(t,e,n,r){var o,a;const i=Be.get(t);if(i)return i;const s=null!=(o=t.tangentOut)?o:t.to,l=null!=(a=e.tangentIn)?a:e.ti,u=[n[0]+(s?s[0]:0),n[1]+(s?s[1]:0)],c=[r[0]+(l?l[0]:0),r[1]+(l?l[1]:0)],f=Ue(n,u,c,r),d={P0:n,P1:u,P2:c,P3:r,lut:f,totalArc:f.ds[f.ds.length-1]};return Be.set(t,d),d}function qe(t,e,n,r,o,a){const i=We(t,e,n,r),s=0===i.totalArc?o:function(t,e){const n=t.ds[t.ds.length-1],r=e*n,{ts:o,ds:a}=t,i=a.length-1;if(r<=0)return o[0];if(r>=a[i])return o[i];let s=1,l=i;for(;s<l;){const t=s+l>>>1;a[t]<r?s=t+1:l=t}const u=a[l-1],c=a[l]-u,f=c>0?(r-u)/c:0;return o[l-1]+f*(o[l]-o[l-1])}(i.lut,o),l=Ce(i.P0,i.P1,i.P2,i.P3,s);if(!a)return{translate:l};const u=Ee(i.P0,i.P1,i.P2,i.P3,s);return{translate:l,rotateDeg:180*Math.atan2(u[1],u[0])/Math.PI}}function Ke(t,e){var n,r,o,a;if(!De(t))return t;const i=null!=(n=t.keyframes)?n:t.kfs;if(!Array.isArray(i)||i.length<2)return t;const s=!!t.autoOrient,l=null!=(r=null==e?void 0:e.flatnessTolerance)?r:.5,u=null!=(o=null==e?void 0:e.rotationTolerance)?o:5,c=null!=(a=null==e?void 0:e.maxSamplesPerSegment)?a:32,f=[],d=Re(i[0]);if(!d)return t;const h=s?function(t,e){const n=Re(t),r=Re(e);if(!n||!r)return 0;const o=We(t,e,n,r),a=Ee(o.P0,o.P1,o.P2,o.P3,0);return 180*Math.atan2(a[1],a[0])/Math.PI}(i[0],i[1]):void 0;f.push(Xe(Fe(i[0]),Ge(Ye(i[0]),Ye(i[0]),0,d,h,s)));for(let t=0;t<i.length-1;t++){const e=i[t],n=i[t+1],r=Re(e),o=Re(n);r&&o?(s&&t>0&&Je(f,e,n,r,o,u),$e(f,e,n,r,o,s,l,u,c)):f.push(Xe(Fe(n),Ge(Ye(n),Ye(n),1,null!=o?o:[0,0],void 0,s)))}const m=Le(i[i.length-1]);m&&(f[f.length-1].e=m),s&&function(t){var e;let n;for(const r of t){const t=null!=(e=r.v)?e:r.value;if(!t||"number"!=typeof t.rotate)continue;if(void 0===n){n=t.rotate;continue}let o=t.rotate;for(;o-n>180;)o-=360;for(;o-n<-180;)o+=360;t.rotate=o,n=o}}(f);const p={kfs:f};return void 0!==t.loop&&(p.loop=t.loop),p}function Xe(t,e){return{t:t,v:e}}function Ye(t){var e;const n=null!=(e=t.value)?e:t.v;if(n&&"object"==typeof n&&!Array.isArray(n))return n}function Ze(t,e,n){if(void 0===t)return e;if(void 0===e)return t;if("number"==typeof t&&"number"==typeof e)return t+(e-t)*n;if(Array.isArray(t)&&Array.isArray(e)&&t.length===e.length){const r=new Array(t.length);for(let o=0;o<t.length;o++){const a="number"==typeof t[o]?t[o]:0,i="number"==typeof e[o]?e[o]:0;r[o]=a+(i-a)*n}return r}return n<.5?t:e}function Ge(t,e,n,r,o,a){const i={translate:r},s=new Set;if(t)for(const e of Object.keys(t))s.add(e);if(e)for(const t of Object.keys(e))s.add(t);for(const r of s){if("translate"===r)continue;if("rotate"===r&&a)continue;const o=null==t?void 0:t[r],s=null==e?void 0:e[r];void 0===o&&void 0===s||(i[r]=Ze(o,s,n))}return void 0!==o&&(i.rotate=o),i}function Je(t,e,n,r,o,a){var i;const s=t[t.length-1],l=null!=(i=s.v)?i:s.value,u=null==l?void 0:l.rotate;if("number"!=typeof u)return;const c=We(e,n,r,o),f=Ee(c.P0,c.P1,c.P2,c.P3,0),d=180*Math.atan2(f[1],f[0])/Math.PI,h=function(t,e){let n=t-e;for(;n>180;)n-=360;for(;n<-180;)n+=360;return n}(d,u);if(Math.abs(h)<=a)return;const m=Ge(Ye(e),Ye(e),0,r,d,!0);t.push(Xe(Fe(e),m))}function $e(t,e,n,r,o,a,i,s,l){const u=We(e,n,r,o),c=Fe(e),f=Fe(n),d=Le(e),h=(m=d)?ye([m[1],m[0],m[3],m[2]]):t=>t;var m;const p=Ye(e),y=Ye(n),v=function(t,e,n,r,o){const a=[];He(t.P0[0],t.P1[0],t.P2[0],t.P3[0],a),He(t.P0[1],t.P1[1],t.P2[1],t.P3[1],a),a.sort((t,e)=>t-e);const i=[0];for(const t of a)t>i[i.length-1]+1e-6&&t<.999999&&i.push(t);i.push(1);const s=[],l={remaining:o-i.length};for(let o=0;o<i.length-1;o++)Qe(i[o],i[o+1],s,t,e,n,r,l);return s}(u,a,i,s,l),g=[];for(const t of v){const e=Ve(u.lut,t),n=ze(u.totalArc>0?e/u.totalArc:t,0,1),r={u:ze(h(n),0,1),p:n,pos:Ce(u.P0,u.P1,u.P2,u.P3,t)};if(a){const e=Ee(u.P0,u.P1,u.P2,u.P3,t);r.rotateDeg=180*Math.atan2(e[1],e[0])/Math.PI}g.push(r)}let b=d,k=0;const A=t.length-1;for(let e=0;e<g.length;e++){const n=g[e],r=k<1?ze((n.u-k)/(1-k),0,1):1,{left:o,right:i}=ge(b,r),s=0===e?A:t.length-1;o?t[s].e=o:delete t[s].e;const l=c+n.u*(f-c),u=Ge(p,y,n.p,n.pos,n.rotateDeg,a);t.push(Xe(l,u)),b=i,k=n.u}}function He(t,e,n,r,o){const a=e-t,i=n-e,s=a-2*i+(r-n),l=2*(i-a),u=a;if(Math.abs(s)<1e-10){if(Math.abs(l)>1e-10){const t=-u/l;t>1e-6&&t<.999999&&o.push(t)}return}const c=l*l-4*s*u;if(c<0)return;const f=Math.sqrt(c),d=(-l-f)/(2*s),h=(-l+f)/(2*s);d>1e-6&&d<.999999&&o.push(d),h>1e-6&&h<.999999&&o.push(h)}function Qe(t,e,n,r,o,a,i,s){const l=(t+e)/2,u=Ce(r.P0,r.P1,r.P2,r.P3,t),c=Ce(r.P0,r.P1,r.P2,r.P3,e),f=e-t,d=Ce(r.P0,r.P1,r.P2,r.P3,t+.25*f),h=Ce(r.P0,r.P1,r.P2,r.P3,l),m=Ce(r.P0,r.P1,r.P2,r.P3,t+.75*f),p=Math.max(tn(d,u,c),tn(h,u,c),tn(m,u,c));let y=!0;if(o){const n=Ee(r.P0,r.P1,r.P2,r.P3,t),o=Ee(r.P0,r.P1,r.P2,r.P3,e),a=180*Math.atan2(n[1],n[0])/Math.PI,s=180*Math.atan2(o[1],o[0])/Math.PI;let l=Math.abs(a-s);l>180&&(l=360-l),l>i&&(y=!1)}p<=a&&y||s.remaining<=0||f<1e-6?n.push(e):(s.remaining-=1,Qe(t,l,n,r,o,a,i,s),Qe(l,e,n,r,o,a,i,s))}function tn(t,e,n){const r=n[0]-e[0],o=n[1]-e[1],a=r*r+o*o;if(a<1e-20){const n=t[0]-e[0],r=t[1]-e[1];return Math.sqrt(n*n+r*r)}const i=(t[0]-e[0])*o-(t[1]-e[1])*r;return Math.abs(i)/Math.sqrt(a)}function en(t,e){const n=nn(t,e);return null!=n?n:t}function nn(t,e){let n,r;if(t.children)for(let r=0;r<t.children.length;r++){const o=nn(t.children[r],e);null!==o&&(n||(n=t.children.slice()),n[r]=o)}const o=t.animate;if(o&&"object"==typeof o&&!Array.isArray(o)){const t=o,n=t.transform;if(n&&"object"==typeof n&&De(n)){const o=Ke(n,e);o!==n&&(r=l(s({},t),{transform:o}))}}if(!n&&!r)return null;const a=s({},t);return n&&(a.children=n),r&&(a.animate=r),a}function rn(t){const e=[];let n;const r=function(t){const e=t.split(/([MLCZmlcz]|[\s,]+)/).map(t=>t.trim()).filter(t=>t&&","!==t),n=[];let r=null;for(const t of e)if(/[MLCZmlcz]/.test(t))r={type:t,values:[]},n.push(r);else if(r){const e=+t;r.values.push(Number.isNaN(e)?0:e)}return n}(t);for(const t of r){const r=t.type,o=t.values;if("M"===r||"m"===r){const t=o[0]||0,r=o[1]||0;n={v:[[t,r]],i:[[t,r]],o:[[t,r]],c:!1},e.push(n);continue}if(n||(n={v:[[0,0]],i:[[0,0]],o:[[0,0]],c:!1},e.push(n)),"L"===r){const t=o[0]||0,e=o[1]||0;n.v.push([t,e]),n.i.push([t,e]),n.o.push([t,e])}else if("C"===r){const t=o[0]||0,e=o[1]||0,r=o[2]||0,a=o[3]||0,i=o[4]||0,s=o[5]||0;n.o[n.o.length-1]=[t,e],n.v.push([i,s]),n.i.push([r,a]),n.o.push([i,s])}else"Z"===r||"z"===r?n.c=!0:console.warn('Unsupported path command "'+r+'"')}return e}function on(t){return t.startsWith("path(")&&t.endsWith(")")?t.slice(5,-1):/^[MmZzLlHhVvCcSsQqTtAa]/.test(t)?t:void 0}function an(t){return"string"==typeof t&&void 0!==on(t)}function sn(t){if(t&&"object"==typeof t&&"string"==typeof t.path){const e=on(t.path);return e?{paths:rn(e)}:t}if(t&&"object"==typeof t&&"paths"in t){const e=t.paths;if(Array.isArray(e)&&e.length>0&&an(e[0])){const t=[];for(const n of e){const e=on(n);e&&t.push(...rn(e))}return{paths:t}}return t}if(Array.isArray(t)){if(t.length>0&&an(t[0])){const e=[];for(const n of t){const t=on(n);t&&e.push(...rn(t))}return{paths:e}}return{paths:t}}if(an(t)){return{paths:rn(on(t))}}return t}function ln(t,e){var n;if(t)return Array.isArray(t)?t:(null==(n=null==e?void 0:e.easings)?void 0:n[t])?e.easings[t]:void console.warn("Unknown easing name: "+t)}function un(t,e){var n;if("string"==typeof t){const r=null==(n=null==e?void 0:e.animations)?void 0:n[t];return r||console.warn("Unknown animation name: "+t),r}return t}function cn(t,e,n,r){var o,a;if("d"===t){return{paths:he(null!=(o=null==e?void 0:e.paths)?o:Array.isArray(e)?e:[],null!=(a=null==n?void 0:n.paths)?a:Array.isArray(n)?n:[],r)}}return we.has(t)?de(e||[0,0,0,1],n||[0,0,0,1],r):"transform"!==t||"object"!=typeof e||null===e||Array.isArray(e)||"object"!=typeof n||null===n||Array.isArray(n)?"rotate"===t&&"number"==typeof e&&"number"==typeof n?ce(e,n,r):je.has(t)||"stroke-dasharray"===t||"strokeDasharray"===t?fe(e||[],n||[],r):ce(+(e||0),+(n||0),r):function(t,e,n){const r=new Set([...Object.keys(null!=t?t:{}),...Object.keys(null!=e?e:{})]),o={};for(const a of r){const r=null==t?void 0:t[a],i=null==e?void 0:e[a];if("rotate"===a)o[a]=ce(+(null!=r?r:0),+(null!=i?i:0),n);else if("translate"===a||"scale"===a||"origin"===a){const t="scale"===a?[1,1]:[0,0];o[a]=fe(r||t,i||t,n)}else o[a]=null!=i?i:r}return o}(e,n,r)}function fn(t,e,n,r){var o,a,i,s,l;const u=e.length-1,c=ze(null!=(o=n.segmentCount)?o:u,1,u);let f;f=n.before?e.slice(0,c+1):e.slice(u-c);const d=null!=(a=e[0].t)?a:0,h=null!=(i=e[e.length-1].t)?i:0;let m,p;n.before?(m=0,p=d):(m=h,p=r);const y=p-m;if(y<=0)return e;const v=null!=(s=f[0].t)?s:0,g=(null!=(l=f[f.length-1].t)?l:0)-v;if(g<=0)return e;const b=f.map(t=>{var e,n;return{relT:(t.t-v)/g,v:t.v,e:t.e,tangentIn:null!=(e=t.tangentIn)?e:t.ti,tangentOut:null!=(n=t.tangentOut)?n:t.to}}),k=Math.floor(y/g),A=(y-k*g)/g,w=[];function j(e,n,r){let o;if(n){o=[];for(let t=b.length-1;t>=0;t--)o.push({relT:1-b[t].relT,v:b[t].v,e:t>0?be(b[t-1].e):void 0,tangentIn:b[t].tangentOut,tangentOut:b[t].tangentIn})}else o=b;const a=void 0!==r?r:1;for(let n=0;n<o.length;n++){const r=o[n];if(r.relT>a+1e-9){const i=o[n-1],s=r.relT-i.relT,l=(a-i.relT)/s,u=i.e?ye(i.e)(l):l,c=cn(t,i.v,r.v,u),{left:f}=ge(i.e,l);return w.length>0&&i.relT<=a&&(w[w.length-1].e=f),void w.push({t:e+a*g,v:c,e:void 0})}const i={t:e+r.relT*g,v:r.v,e:n<o.length-1?r.e:void 0};r.tangentIn&&(i.tangentIn=r.tangentIn),r.tangentOut&&(i.tangentOut=r.tangentOut),w.push(i)}}for(let t=0;t<k;t++){const e=n.before?k-1-t:t,r=!!n.alternate&&e%2==0;j(m+t*g,r)}if(A>1e-9){const t=!!n.alternate&&k%2==0;j(m+k*g,t,A)}return n.before?[...w,...e]:[...e,...w]}function dn(t,e,n,r){var o,a,i,s,l,u,c;const f=e.keyframes||e.kfs||[],d=[];for(const e of f){const n=null!=(a=null!=(o=e.time)?o:e.t)?a:0;let f=null!=(i=e.value)?i:e.v;const h=null!=(s=e.easing)?s:e.e;"d"===t&&(f=sn(f));const m=Me(t)?Ie(t):t;we.has(m)&&(f=null!=(l=Ae(f))?l:f);const p={t:n,v:f,e:ln(h,r)},y=null!=(u=e.tangentIn)?u:e.ti,v=null!=(c=e.tangentOut)?c:e.to;y&&(p.tangentIn=y),v&&(p.tangentOut=v),d.push(p)}d.sort((t,e)=>{var n,r;return(null!=(n=t.t)?n:0)-(null!=(r=e.t)?r:0)});const h=e.loop,m=!0===h?{}:h||void 0;return m&&d.length>=2?fn(t,d,m,n):d}function hn(t,e,n){var r;const o=e.loop;if(null==o||!1===o)return e;const a=!0===o?{}:o,i=null!=(r=e.keyframes)?r:e.kfs;if(!Array.isArray(i)||i.length<2)return e;const s=Me(t)?Ie(t):t,l=we.has(s),u=i.map(e=>{var n,r,o,a,i,s,u,c;const f=null!=(n=e.t)?n:e.time;let d=null!=(r=e.v)?r:e.value;"d"===t&&(d=sn(d)),l&&(d=null!=(o=Ae(d))?o:d);const h={t:f,v:d,e:null!=(a=e.e)?a:e.easing};return(null!=(i=e.tangentIn)?i:e.ti)&&(h.tangentIn=null!=(s=e.tangentIn)?s:e.ti),(null!=(u=e.tangentOut)?u:e.to)&&(h.tangentOut=null!=(c=e.tangentOut)?c:e.to),h}),c={kfs:fn(t,u,a,n)};return void 0!==e.autoOrient&&(c.autoOrient=e.autoOrient),c}function mn(t,e){const n=pn(t,e);return null!=n?n:t}function pn(t,e){let n,r;if(t.children)for(let r=0;r<t.children.length;r++){const o=pn(t.children[r],e);null!==o&&(n||(n=t.children.slice()),n[r]=o)}const o=t.animate;if(o&&"object"==typeof o&&!Array.isArray(o)){const t=o;for(const n of Object.keys(t)){const o=t[n],a=hn(n,o,e);a!==o&&(r||(r=s({},t)),r[n]=a)}}if(!n&&!r)return null;const a=s({},t);return n&&(a.children=n),r&&(a.animate=r),a}var yn=0;function vn(t,e=B.webapi){const n=zt(t)||{},r=Ct(t),o=n.duration||1e3,a=[],i=(t,n)=>{if(!n)return null;const a=function(t,e){if(!t)return[];const n=[];if("string"==typeof t){const r=un(t,e);r&&n.push(r)}else if(Array.isArray(t))for(const r of t){const t=un(r,e);t&&n.push(t)}else n.push(t);return n}(n,r);if(0===a.length)return null;const i=function(t,e,n,r=B.webapi){const o={};for(const[a,i]of Object.entries(t)){const t=dn(a,i,e,n);if(t.length>0){const e={kfs:t};void 0!==i.autoOrient&&(e.autoOrient=i.autoOrient),void 0!==i.loop&&(e.loop=i.loop),o[a]=r===B.webapi&&"transform"===a?Ke(e):e}}return o}(function(t){const e={};for(const n of t)for(const[t,r]of Object.entries(n))e[t]=r;return e}(a),o,r,e);return 0===Object.keys(i).length?null:{id:t,animate:i}},s=Nt(t);if(s)for(const t of s){const e=i(t.id,t.animate);e&&a.push(e)}const l=t=>{const e=t.animate;if(e&&Object.keys(e).length>0){const n=t.id||"_px_el_"+ ++yn;t.id=n;const r=i(n,e);r&&a.push(r)}if(t.children)for(let e=0;e<t.children.length;e++)l(t.children[e])};if(t.children)for(let e=0;e<t.children.length;e++)l(t.children[e]);return a}function gn(t,e,n){var r,o,a,i,s,l,u;const c=e.kfs||e.keyframes||[];if(0===c.length)return null;const{prevKf:f,nextKf:d}=function(t,e){var n,r;let o=t[0],a=t[t.length-1];for(let i=0;i<t.length-1;i++){const s=null!=(n=t[i].t)?n:0,l=null!=(r=t[i+1].t)?r:0;if(s<=e&&e<=l){o=t[i],a=t[i+1];break}}return{prevKf:o,nextKf:a}}(c,n);let h=f===d?0:(m=n,p=null!=(r=f.t)?r:0,y=null!=(o=d.t)?o:0,v=0,g=1,y===p?v:v+(m-p)/(y-p)*(g-v));var m,p,y,v,g;h=ze(h,0,1);const b=null!=(a=f.e)?a:f.easing;if(b&&Array.isArray(b))try{h=ye(b)(h)}catch(t){}let k=Me(t)?Ie(t):t,A=null;const w=null!=(i=null==f?void 0:f.v)?i:null==f?void 0:f.value,j=null!=(s=null==d?void 0:d.v)?s:null==d?void 0:d.value;if("d"===k){A=he(null!=(l=null==w?void 0:w.paths)?l:Array.isArray(w)?w:[],null!=(u=null==j?void 0:j.paths)?u:Array.isArray(j)?j:[],h).map(t=>ue(t)).join("")}else if(we.has(k))A=ke(de(w||[0,0,0,1],j||[0,0,0,1],h)),k=t;else if("stroke-dasharray"===k)A=fe(w||[],j||[],h).join(" "),k=t;else if("transform"!==k||null===w||"object"!=typeof w||Array.isArray(w))if("translate"===k){A="translate("+fe(w||[0,0],j||[0,0],h).join(",")+")",k="transform"}else if("rotate"===k){A="rotate("+ce(+(w||0),+(j||0),h)+")",k="transform"}else if("scale"===k){A="scale("+fe(w||[1,1],j||[1,1],h).join(",")+")",k="transform"}else{A=ce(+(w||0),+(j||0),h)}else{const t=new Set([...w?Object.keys(w):[],...j?Object.keys(j):[]]),n={};for(const e of t){const t=null==w?void 0:w[e],r=null==j?void 0:j[e];if("rotate"===e)n.rotate=ce(+(null!=t?t:0),+(null!=r?r:0),h);else if("translate"===e||"scale"===e||"origin"===e){const o="scale"===e?[1,1]:[0,0],a=fe(t||o,r||o,h);n[e]=a}}if(De(e)){const t=w.translate,r=j.translate;if(Array.isArray(t)&&Array.isArray(r)){const o=qe(f,d,[+t[0],+t[1]],[+r[0],+r[1]],h,!!e.autoOrient);n.translate=[o.translate[0],o.translate[1]],void 0!==o.rotateDeg&&(n.rotate=o.rotateDeg)}}A=xe(n,{withUnits:!1}),k="transform"}return Oe.has(k)&&"number"==typeof A&&(A=100*A+"%"),{k:k,v:null===A?"":""+A}}function bn(t,e){const n={};for(const[r,o]of Object.entries(t)){const t=gn(r,o,e);t&&(n[t.k]=t.v)}return n}function kn(t,e,n,r){if(!e)return t;const o=!!e.trimAllAsOne,a=[];let i=0;const u=t=>{if(Array.isArray(t.children)&&t.children.length>0){for(const e of t.children)u(e);return}const e="string"==typeof t.d?t.d:function(t){var e,n,r,o;if("rect"!==t.type)return;const a=Number(null!=(e=t.x)?e:0),i=Number(null!=(n=t.y)?n:0),s=Number(null!=(r=t.width)?r:0),l=Number(null!=(o=t.height)?o:0);return"M"+(a+s)+","+i+"L"+(a+s)+","+(i+l)+"L"+a+","+(i+l)+"L"+a+","+i+"L"+(a+s)+","+i+"z"}(t);if(void 0===e)return;const n=rn(e);if(!n.length)return;const r={leaf:t,subpaths:[]};for(const t of n){o||(i=0);const e=Cn(t);r.subpaths.push({subpath:t,lengthPx:e,startOffsetPx:i}),i+=e}a.push(r)};if(u(t),!a.length)return t;const f=i;if(o&&f<.001)return t;const d=c(e.offset),h="absent"===d.kind?{kind:"static",value:0}:d,m=function(t){const e=c(t);if("animated"!==e.kind)return e;const n=e.keyframes.map(t=>{var e,n,r,o;return{time:null!=(n=null!=(e=t.time)?e:t.t)?n:0,value:null!=(r=t.value)?r:t.v,easing:null!=(o=t.easing)?o:t.e}});if(!n.some(t=>t.value[0]>t.value[1]))return{kind:"animated",keyframes:n.map(t=>({time:t.time,value:t.value,easing:t.easing}))};const r=[];for(let t=1;t<n.length;t++){const e=n[t-1],o=n[t];if((e.value[1]-e.value[0])*(o.value[1]-o.value[0])<0){const t=In(e,o);null!==t&&t>e.time&&t<o.time&&r.push(Math.round(t))}}const o=Array.from(new Set(r)).sort((t,e)=>t-e),a=[];let i=0;for(const t of n){for(;i<o.length&&o[i]<t.time;){const t=o[i++],e=zn(n,t),r=(e[0]+e[1])/2;a.push({time:t,value:[r,r]})}const e=t.value[0]>t.value[1]?[t.value[1],t.value[0]]:t.value;a.push({time:t.time,value:e,easing:t.easing})}for(;i<o.length;){const t=o[i++],e=zn(n,t),r=(e[0]+e[1])/2;a.push({time:t,value:[r,r]})}return{kind:"animated",keyframes:a}}(e.range),p="absent"===m.kind?{kind:"static",value:[0,1]}:m,y=function(t){var e;if("absent"===t.kind)return[];if("static"===t.kind)return[t.value];const n=[];for(const r of t.keyframes){const t=null!=(e=r.value)?e:r.v;"number"==typeof t&&n.push(t)}return n}(h),v=[y.length?Math.min(...y):0,y.length?Math.max(...y):0];if(1===a.length&&a[0].leaf===t&&1===a[0].subpaths.length){const e=a[0],n=e.subpaths[0],r=o?f:n.lengthPx;if(r<.001)return t;const i=o?n.startOffsetPx/r:0;return function(t,e,n,r,o,a){const i=On(n,e,r),l=xn(e,r),u=s({},t);return delete u.effects,Mn(u,"strokeDasharray",Sn(a,l)),Mn(u,"strokeDashoffset",Sn(o,i)),Mn(u,"strokeOpacity",_n(a)),u}(e.leaf,r,i,v,h,p)}const g=new Map;for(const t of a){const e=[];for(const n of t.subpaths){const a=o?f:n.lengthPx;if(a<.001)continue;const i=o?n.startOffsetPx/a:0;e.push(...wn(t.leaf,n.subpath,a,i,v,h,p,r))}g.set(t.leaf,An(t.leaf,e))}const b=t=>{const e=g.get(t);return e||(Array.isArray(t.children)&&t.children.length>0?l(s({},t),{children:t.children.map(b)}):t)};return b(t)}function An(t,e){const n=l(s({},t),{type:"g",children:e});return delete n.d,delete n.strokeDasharray,delete n.strokeDashoffset,delete n.effects,n}function wn(t,e,n,r,o,a,i,s){const l=On(r,n,o),u=xn(n,o),c=Sn(a,l),f=Sn(i,u),d=_n(i),h=function(t){return{type:"path",d:t}}(ue(e));return Mn(h,"strokeDasharray",f),Mn(h,"strokeDashoffset",c),Mn(h,"strokeOpacity",d),[h]}var jn=1;function On(t,e,n){const[r]=Pn(n);return n=>e*(-n-r+t)+jn}function xn(t,e){const[n,r]=Pn(e),o=r-n+1;return e=>{const n=ze(e[0],0,1),r=ze(e[1],0,1),a=Math.min(n,r),i=Math.max(n,r),s=[0];let l=jn;for(let e=0;e<o;e++)s.push(l+a*t),s.push((i-a)*t),l=(1-i)*t;return s.push(l+jn),s}}function Pn(t){return[Math.floor(Math.min(-t[0],-t[1])),Math.ceil(Math.max(-t[0],-t[1]))]}function Sn(t,e){if("absent"!==t.kind)return"static"===t.kind?{kind:"static",value:e(t.value)}:{kind:"animated",keyframes:t.keyframes.map(t=>{var n,r,o,a;return{time:null!=(r=null!=(n=t.time)?n:t.t)?r:0,value:e(null!=(o=t.value)?o:t.v),easing:null!=(a=t.easing)?a:t.e}})}}function Mn(t,e,n){if(!n)return;if("static"===n.kind)return void(t[e]=n.value);const r=t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate)?t.animate:void 0,o=s({},r||{});o[e]={keyframes:n.keyframes},t.animate=o}function _n(t){var e,n,r,o,a,i;const s=t=>t[0]===t[1];if("absent"===t.kind)return;if("static"===t.kind)return s(t.value)?{kind:"static",value:0}:void 0;const l=t.keyframes;let u=!1,c=!0;for(const t of l)s(null!=(e=t.value)?e:t.v)?u=!0:c=!1;if(!u)return;if(c)return{kind:"static",value:0};const f=[];for(let t=0;t<l.length;t++){const e=l[t],u=t>0?l[t-1]:void 0,c=t<l.length-1?l[t+1]:void 0,d=null!=(r=null!=(n=e.time)?n:e.t)?r:0,h=s(null!=(o=e.value)?o:e.v),m=u?h&&s(null!=(a=u.value)?a:u.v):h,p=c?h&&s(null!=(i=c.value)?i:c.v):h;m&&!p?(f.push({time:d,value:0}),f.push({time:d+1,value:1})):!m&&p&&(f.push({time:d-1,value:1}),f.push({time:d,value:0}))}return f.length<=1?void 0:{kind:"animated",keyframes:f}}function In(t,e){const n=n=>{const r=(n-t.time)/(e.time-t.time),o=t.value[0]+(e.value[0]-t.value[0])*r;return t.value[1]+(e.value[1]-t.value[1])*r-o};let r=t.time,o=e.time,a=n(r);if(0===a)return r;const i=n(o);if(0===i)return o;if(a*i>0)return null;for(let t=0;t<100;t++){const t=(r+o)/2,e=n(t);if(0===e||Math.abs(o-r)<1e-4)return t;a*e<0?o=t:(r=t,a=e)}return(r+o)/2}function zn(t,e){if(e<=t[0].time)return t[0].value;if(e>=t[t.length-1].time)return t[t.length-1].value;for(let n=1;n<t.length;n++)if(e<=t[n].time){const r=t[n-1],o=t[n],a=(e-r.time)/(o.time-r.time);return[r.value[0]+(o.value[0]-r.value[0])*a,r.value[1]+(o.value[1]-r.value[1])*a]}return t[t.length-1].value}function Cn(t){const e=t.v;if(!e||e.length<2)return 0;let n=0;for(let r=0;r<e.length-1;r++)n+=Nn(t,r,r+1);return t.c&&e.length>1&&(n+=Nn(t,e.length-1,0)),n}function Nn(t,e,n){var r,o,a,i;const s=t.v,l=s[e],u=s[n],c=Ue(l,null!=(o=null==(r=t.o)?void 0:r[e])?o:l,null!=(i=null==(a=t.i)?void 0:a[n])?i:u,u);return c.ds[c.ds.length-1]}function En(t){const e={defs:[],warnings:[],errors:[],idMap:new Map,nextId:0,contentRefInnerIds:new Map,maskAncestorChains:new Map},n=Bt(t);Dt(n,e.idMap),p(n,e,()=>Ft(e,"inner")),function(t,e){const n=new Set,r=t=>{var o,a;const i=null==(a=null==(o=t.effects)?void 0:o.maskedBy)?void 0:a.href;if("string"==typeof i){n.add(t);const r=e.idMap.get(i);r&&n.add(r)}if(Array.isArray(t.children))for(const e of t.children)r(e)};if(r(t),0===n.size)return;const o=(t,r)=>{if(n.has(t)&&e.maskAncestorChains.set(t,r),Array.isArray(t.children)){const n=ee(t,e),a=n?[...r,n]:r;for(const e of t.children)o(e,a)}};o(t,[])}(n,e);const r=function(t,e){return function(t,e){var n;e.idMap.clear(),Dt(t,e.idMap);const r=[],o=t=>{var e,n;(null==(e=t.effects)?void 0:e.retime)&&r.push(t),null==(n=t.children)||n.forEach(o)};o(t);for(const t of r){const r=null==(n=t.effects)?void 0:n.retime;r&&(delete t.effects.retime,0===Object.keys(t.effects).length&&delete t.effects,oe(t,re(r),e))}}(t,e),t}(Tn(n,e),e);return function(t,e){if(!e.length)return;(t.children||(t.children=[])).unshift({type:"defs",children:e})}(r,e.defs),{root:r,defs:e.defs,warnings:e.warnings,errors:e.errors}}function Tn(t,e){t.children&&(t.children=t.children.map(t=>Tn(t,e)));const n=t.effects,r="string"==typeof t.id?t.id:void 0,o=r?e.contentRefInnerIds.get(r):void 0;if(!n&&!o)return t;const{transformation:a,repeater:i,maskedBy:s,trimPath:l,retime:u,ref:c,fillGradient:f,strokeGradient:h,textAlongPath:m}=null!=n?n:{};null==n||n.isCombinedShape;n&&delete t.effects;let p=t;return p=function(t,e){var n;if(!e)return t;const r={type:"textPath",href:"string"!=typeof e.href||e.href.startsWith("#")?e.href:"#"+e.href,children:null!=(n=t.children)?n:[]};return void 0!==e.lengthAdjust&&(r.lengthAdjust=e.lengthAdjust),void 0!==e.method&&(r.method=e.method),void 0!==e.spacing&&(r.spacing=e.spacing),le(r,"startOffset",e.startOffset),le(r,"textLength",e.textLength),t.children=[r],t}(p,m),p=function(t,e,n){return Wt(t,e,n,"fill")}(p,f,e),p=function(t,e,n){return Wt(t,e,n,"stroke")}(p,h,e),p=kn(p,l,0,e),p=function(t,e,n){var r,o;if(!e)return t;const a=null!=(r=e.copies)?r:1;if(a<1)return n.errors.push("repeater.copies invalid: "+e.copies),t;const i=t.transform,s=null==(o=t.animate)?void 0:o.transform,l=Bt(t);delete l.transform,l.animate&&(delete l.animate.transform,0===Object.keys(l.animate).length&&delete l.animate);const u=[l];for(let t=1;t<a;t++){const r=Bt(l),o=ne(e,t),a=o?d(r,o,n):r;u.push(a)}const c={type:"g",children:u};return void 0!==i&&(c.transform=i),void 0!==s&&(c.animate={transform:s}),c}(p,i,e),p=Yt(p,s,a,e),p=o?y(p,a,r,o,e):function(t,e,n,r){if(e){const n=e.baseId;if(n){const o="content"===e.type&&r.contentRefInnerIds.get(n)||n;t.href="#"+o}else r.errors.push("ref: missing baseId")}return d(t,n,r)}(p,c,a,e),u&&(t.effects={retime:u}),r&&e.idMap.set(r,p),p}function Un(t){var e;const n=function(t){const e=new Map,n=t=>{var r;"string"==typeof t.id&&e.set(t.id,t),null==(r=t.children)||r.forEach(n)};return n(t),e}(t),r=function(t,e){const n=new WeakMap,r=new Set,o=(t,r)=>{const a=n.get(t);if(void 0!==a)return a;if(r.has(t))return!1;r.add(t);let i=!1;if(t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate))for(const e in t.animate){i=!0;break}if(!i&&t.children)for(const e of t.children)if(o(e,r)){i=!0;break}if(!i&&"use"===t.type&&"string"==typeof t.href){const n=Vn(t.href),a=n?e.get(n):void 0;a&&(i=o(a,r))}return r.delete(t),n.set(t,i),i};for(const[t,n]of e)o(n,new Set)&&r.add(t);return r}(0,n);if(0===r.size)return t;let o=0;const a=[],i=Fn(t,n,r,()=>"_lw_use_mat_"+ ++o,a);if(0===a.length)return i;const u={type:"defs",children:a},c=[...null!=(e=i.children)?e:[],u];return l(s({},i),{children:c})}function Vn(t){if("string"==typeof t)return t.startsWith("#")?t.slice(1):t}function Rn(t,e,n,r,o,a){const i=Tt(e);Ut(i,o);const u="symbol"===i.type?function(t,e,n){const r=function(t){if("string"!=typeof t)return;const e=t.trim().split(/[\s,]+/).map(Number);return e.length<4||e.some(t=>!Number.isFinite(t))?void 0:[e[0],e[1],e[2],e[3]]}(t.viewBox),o=l(s({},t),{type:"g"});if(delete o.viewBox,delete o.preserveAspectRatio,delete o.width,delete o.height,!r)return o;const[a,i,u,c]=r;0===a&&0===i||(o.transform="translate("+-a+","+-i+")");const f=e();return n.push({type:"clipPath",id:f,children:[{type:"rect",x:a,y:i,width:u,height:c}]}),o.clipPath="url(#"+f+")",o}(i,o,a):i,c=Fn(u,n,r,o,a),f=l(s({},t),{type:"g",children:[c]});return delete f.href,Rt(f)}function Fn(t,e,n,r,o){if("use"===t.type&&"string"==typeof t.href){const a=Vn(t.href);if(a&&n.has(a)){const i=e.get(a);if(i)return Rn(t,i,e,n,r,o)}}if(!t.children)return t;let a=!1;const i=t.children.map(t=>{const i=Fn(t,e,n,r,o);return i!==t&&(a=!0),i});return a?l(s({},t),{children:i}):t}function Ln(t,e,n){var r,o;let a=En(t).root;return a=mn(a,null!=(o=null==(r=zt(a))?void 0:r.duration)?o:1e3),e===B.webapi&&(a=en(a,null==n?void 0:n.motionPath),a=Un(a)),a}var Dn=new Set(["script","foreignobject"]),Bn=new Set(["href","xlink:href","src","filter","clippath","mask","markerstart","markermid","markerend"]),Wn=new Set(["href","xlink:href","src"]),qn=/^data:image\/(?:png|jpe?g|gif|webp|bmp);base64,/i;function Kn(t,e){const n=t.toLowerCase();if(!function(t){return!!t.startsWith("on")}(n)){if("fill"===n||"stroke"===n||"stopcolor"===n){const t=String(e);return t.includes("url(")&&!/^url\(#[^)]+\)$/.test(t)?void console.warn('Attribute "'+n+'" blocked: url() must be internal url(#id), got:',e):e}if(Bn.has(n)){const t=String(e);return t.startsWith("#")||(/^url\(#[^)]+\)$/.test(t)||Wn.has(n)&&qn.test(t))?e:void console.warn('Attribute "'+n+'" blocked: must be #id, url(#id), or base64 raster data: URI, got:',e)}return e}console.warn("Attribute blocked (event handler / dangerous): ",n)}function Xn(t){const e={};for(const n of Object.keys(t)){const r=Se(n);if(K.has(r))continue;if("style"===r)continue;let o=t[n];we.has(r)&&Array.isArray(o)?e[r]=ke(o):"transform"===r&&null!==o&&"object"==typeof o&&!Array.isArray(o)&&o.value&&"object"==typeof o.value?e.transform=xe(o.value,{withUnits:!1}):je.has(r)?(Array.isArray(o)&&("translate"===r&&(o=o.map(t=>t+"px")),o=o.join(",")),"rotate"===r&&(o+="deg"),e.transform=r+"("+o+")"):null!=o&&(e[r]=String(o))}return e}function Yn(t,e){if(!t)return null;const n=t,{type:i,children:s,style:l}=n,u=((t,e)=>{var n={};for(var i in t)o.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&r)for(var i of r(t))e.indexOf(i)<0&&a.call(t,i)&&(n[i]=t[i]);return n})(n,["type","children","style"]),c=Ct(t)||e,f=function(t,e){var n;if(t)return"string"==typeof t?null==(n=null==e?void 0:e.styles)?void 0:n[t]:t}(l,c);let d;if(s)for(const t of s){const e=Yn(t,c);e&&(d||(d=[]),d.push(e))}return function(t,e,n,r,o){if(Dn.has(t.toLowerCase()))return console.warn("SVG tag blocked (dangerous): ",t),null;const a=document.createElementNS("http://www.w3.org/2000/svg",t);for(const t in e){const n=Kn(t,e[t]);void 0!==n&&a.setAttribute(Ie(t),n)}if(n)for(const t in n)a.style[t]=String(n[t]);if(r)for(const t of r)a.appendChild(t);return o&&(a.textContent=o),a}(i||"g",Xn(u),f,d,u[W]||u[q])}function Zn(t,e){const{startOn:n,outAction:r="continue",scrollIntoViewThreshold:o=.5}=e,a=t.getRootElement();if(!a)return console.warn("setupAnimationTriggers: No root element found for animation."),t;const i=()=>{t.play()},s=()=>{switch(r){case"pause":t.pause();break;case"reset":t.cancel();break;case"reverse":t.play()}};switch(n){case"load":{const t=()=>i();"complete"===document.readyState?t():window.addEventListener("load",t,{once:!0});break}case"mouseOver":{const t=()=>i(),e=()=>s();a.addEventListener("mouseenter",t),a.addEventListener("mouseleave",e);break}case"click":{const e=()=>{t.isPlaying()?s():i()};a.addEventListener("click",e);break}case"scrollIntoView":new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&t.intersectionRatio>=o?i():s()})},{threshold:o}).observe(a);break}return t}function Gn(t){return"#"+t}function Jn(t,e,n){const r=zt(t)||{},o=vn(t,B.frames),a=r.iterations;let i=1;"number"==typeof a&&(i=a||1),"infinite"===a&&(i=1/0),i<1&&(i=1);const s=+(r.duration||1e3),l=s&&i?s*(i===1/0?1/0:i):s?(null!=i?i:1)*s:0,u=r.direction||"normal";let c=null,f=!1,d=r.delay||0,h=0,m=1,p=!1;const y=r.frameRate,v=y&&y>0?1e3/y:0;let g=0;const b=()=>{const t=h?(Date.now()-h)*m:0;let e=d+t;return Number.isFinite(l)&&e>l&&(e=l),e<0&&(e=0),e};function k(t){let n=function(){const e=s>0?s:1;let n=0,r=0;if(s>0){t=ze(t,0,i*e),r=Math.max(0,Math.ceil(t/e)-1),r=Math.min(r,i-1);n=ze((t-r*e)/e,0,1)}else n=t;const o=u||"normal";let a=n;return"reverse"===o?a=1-n:"alternate"===o?r%2==1&&(a=1-n):"alternate-reverse"===o&&r%2==0&&(a=1-n),a}();for(const t of o||[]){const r=t.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("Empty or unresolved binding",t);continue}const o=bn(r,n*s);for(const[n,r]of Object.entries(o))e.setAttribute(t.id,n,r)}}r.delay&&k(b());const A=()=>!!f&&(!!e.isConnected()&&!(Number.isFinite(l)&&b()>=l)),w=t=>{null!==c&&(cancelAnimationFrame(c),c=null),(t||A())&&(c=requestAnimationFrame(()=>{c=null,(()=>{var t;if(!e.isConnected())return void j();const r=b();if(v>0){const t=Date.now();if(g&&t-g<v)return;g=t}if(l&&Number.isFinite(l)&&r>=l)return k(l),p||(p=!0,null==(t=null==n?void 0:n.onFinish)||t.call(n)),void j();k(r)})(),w()}))},j=()=>{f&&(d=b(),h=0,f=!1,null!==c&&(cancelAnimationFrame(c),c=null),k(d))},O={isReady:()=>!0,getRootElement:()=>null,isPlaying:()=>A(),play:()=>{var t;f||(Number.isFinite(l)&&d>=l&&(d=0,p=!1),f=!0,h=Date.now(),w(!0)),null==(t=null==n?void 0:n.onPlay)||t.call(n)},pause:()=>{var t;j(),null==(t=null==n?void 0:n.onPause)||t.call(n)},cancel:()=>{var t;j(),d=0,h=0,f=!1,p=!1,k(d),null==(t=null==n?void 0:n.onCancel)||t.call(n)},finish:()=>{((t=!0)=>{var e;d=Number.isFinite(l)?l:b(),h=0,f=!1,k(d),t&&!p&&(p=!0,null==(e=null==n?void 0:n.onFinish)||e.call(n))})(!0)},setPlaybackRate:t=>{if(!isFinite(t)||0===t)return void console.warn("setPlaybackRate: rate must be finite and non-zero");const e=b();m=t,d=e,f&&(h=Date.now())},getCurrentTime:()=>b(),setCurrentTime:t=>{t<0&&(t=0),Number.isFinite(l)&&t>l&&(t=l),d=t,f&&(h=Date.now()),k(b())},destroy:()=>{O.cancel()}};return O}function $n(t,e,n,r){const o=zt(t)||{};if(!r)if(t.id){const e=Gn(t.id);(r=document.querySelector(e))||console.warn("createFrameLoopAnimator: No root element found for selector: ",e)}else console.warn("createFrameLoopAnimator: No root element provided");let a=Jn(t,e||function(t){const e=new Set,n={isConnected:()=>!t||t.isConnected,setAttribute:(n,r,o)=>{r=Ie(r);const a=Gn(n),i=(null==t?void 0:t.querySelectorAll(a))||document.querySelectorAll(a);0!==i.length||e.has(a)||(e.add(a),console.warn('setAttribute: No elements found for selector "'+a+'"'));for(let t=0;t<i.length;t++){const e=i[t];e.setAttribute(r,o),Pe.has(r)&&(e.style[r]=o)}}};return n}(r),n);return a=l(s({},a),{getRootElement:()=>r||null}),o.trigger&&Zn(a,o.trigger),a}function Hn(t,e,n,r){var o,a;let i=null!=(o=t.v)?o:t.value;const s=null!=(a=t.e)?a:t.easing,l={offset:e,easing:s&&Array.isArray(s)?"cubic-bezier("+s.join(",")+")":void 0};let u,c=n;return we.has(n)&&Array.isArray(i)?u=ke(i):"transform"!==n||null===i||"object"!=typeof i||Array.isArray(i)?je.has(n)?(Array.isArray(i)&&("translate"===n&&(i=i.map(t=>t+"px")),i=i.join(",")),"rotate"===n&&(i+="deg"),u=n+"("+i+")",c="transform"):u=""+i:(u=xe(i,{withUnits:!0}),c="transform"),CSS.supports(c,u)||r.add(c),c=Se(c),l[c]=u,l}function Qn(t,e,n){var r,o,a,i,u;const c=[];for(let f=0;f<e.length;f++){const d=e[f],h=null!=(r=d.t)?r:0;if(h<0){const n=e[f+1];if(n&&(null!=(o=n.t)?o:0)>=0){const e=(0-h)/((null!=(a=n.t)?a:0)-h),r=d.e?ye(d.e)(e):e,{right:o}=ge(d.e,e);c.push({t:0,v:cn(t,d.v,n.v,r),e:o})}continue}if(h>n){const r=e[f-1];if(r&&(null!=(i=r.t)?i:0)<=n){const e=null!=(u=r.t)?u:0,o=(n-e)/(h-e),a=r.e?ye(r.e)(o):o,{left:i}=ge(r.e,o);c.length>0&&(c[c.length-1]=l(s({},c[c.length-1]),{e:i})),c.push({t:n,v:cn(t,r.v,d.v,a),e:void 0})}break}c.push(d)}return c}function tr(t,e,n){var r;const o=new Map;for(const[a,i]of Object.entries(t)){const t=n.duration||1,u=Qn(a,i.kfs||i.keyframes||[],t),c=[];for(let n=0;n<u.length;n++){const o=u[n],i=Hn(o,ze((null!=(r=o.t)?r:0)/t,0,1),a,e);0===n&&(i.offset||0)>0&&c.push(l(s({},i),{offset:0})),c.push(i)}c.length>0&&(c[c.length-1].offset||0)<1&&c.push(l(s({},c[c.length-1]),{offset:1})),c.length>0&&o.set(a,c)}return o}function er(t,e,n,r){var o;const a=zt(t)||{};if(!n)if(t.id){const e=Gn(t.id);(n=document.querySelector(e))||console.warn("createFrameLoopAnimator: No root element found for selector: ",e)}else console.warn("createFrameLoopAnimator: No root element provided");const i=vn(t,B.webapi),s=[],l=a.iterations;let u;"number"==typeof l&&(u=l),"infinite"===l&&(u=1/0);const c=new Set;(null==i?void 0:i.length)||console.warn("createWebApiAnimator: No animation bindings defined");for(const t of i||[]){const r=t.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("createWebApiAnimator: Empty or unresolved binding",t);continue}const i=Gn(t.id),l=(null==n?void 0:n.querySelectorAll(i))||document.querySelectorAll(i);0===l.length&&console.warn('createWebApiAnimator: No elements found for selector "'+i+'"');const f=tr(r,c,a),d=a.delay&&a.delay>0?a.delay:void 0,h=a.delay&&a.delay<0&&a.duration?-a.delay%a.duration:void 0,m={duration:a.duration,delay:d,fill:null!=(o=a.fill)?o:"forwards",direction:a.direction,iterations:u};for(let t=0;t<l.length;t++){const n=l[t];for(const[,t]of f)if(t.length>0)try{const r=new KeyframeEffect(n,t,m),o=new Animation(r,document.timeline);(null==e?void 0:e.onFinish)&&(o.onfinish=()=>{var t;return null==(t=e.onFinish)?void 0:t.call(e)}),(null==e?void 0:e.onRemove)&&(o.onremove=()=>{var t;return null==(t=e.onRemove)?void 0:t.call(e)}),h&&(o.currentTime=h),s.push(o)}catch(t){console.warn(t)}}}if(!r&&c.size)return console.warn("Unsupported CSS attrs: "+[...c].join(", ")),null;const f={isReady:()=>!0,getRootElement:()=>n||null,isPlaying:()=>{var t;return"running"===(null==(t=s[0])?void 0:t.playState)},play:()=>{var t;s.forEach(t=>t.play()),null==(t=null==e?void 0:e.onPlay)||t.call(e)},pause:()=>{var t;s.forEach(t=>t.pause()),null==(t=null==e?void 0:e.onPause)||t.call(e)},cancel:()=>{var t;s.forEach(t=>t.cancel()),null==(t=null==e?void 0:e.onCancel)||t.call(e)},finish:()=>{var t;for(const e of s)try{(null==(t=e.effect)?void 0:t.getTiming().iterations)===1/0?(e.effect.updateTiming({iterations:1}),e.finish(),e.effect.updateTiming({iterations:1/0})):e.finish()}catch(t){e.cancel()}},setPlaybackRate:t=>(s.forEach(e=>e.playbackRate=t),f),getCurrentTime:()=>{var t,e;const n=null!=(e=null==(t=s[0])?void 0:t.currentTime)?e:null;return null!==n?+n:null},setCurrentTime:t=>{s.forEach(e=>{e.currentTime=t})},destroy:()=>{f.cancel(),s.splice(0,s.length)}};return a.trigger&&Zn(f,a.trigger),f}var nr=0;function rr(){return"_px_"+Date.now().toString(36)+(++nr).toString(36)+Math.random().toString(36).substring(2,6)}function or(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(t=>or(t));const e=t,n={};for(const t of Object.keys(e))n[t]=or(e[t]);return n}function ar(t){var e,n;const r=or(t),o=new Map,a=new Set(["href","xlink:href"]),i=new Set(["fill","stroke","clip-path","clipPath","mask","marker","marker-start","marker-mid","marker-end","filter","flood-color","lighting-color"]),u=new Set(["baseId","targetId","boundElementId"]);!function t(e){if(e&&"object"==typeof e){if(e.id&&"string"==typeof e.id){const t=e.id,n=rr();o.set(t,n),e.id=n}else e.animate&&(e.id=rr());if(Array.isArray(e.children))for(const n of e.children)t(n)}}(r),function t(e){if(e&&"object"==typeof e)for(const[n,r]of Object.entries(e))if("children"!==n)if("string"==typeof r)if(a.has(n)&&r.startsWith("#")){const t=r.slice(1),a=o.get(t);a&&(e[n]="#"+a)}else if(i.has(n))e[n]=ir(r,o);else if(u.has(n)){const t=o.get(r);t&&(e[n]=t)}else r.includes("url(#")&&(e[n]=ir(r,o));else if("style"===n&&"object"==typeof r&&null!==r)for(const[t,e]of Object.entries(r))"string"==typeof e&&(r[t]=ir(e,o));else"object"==typeof r&&null!==r&&t(r);else if(Array.isArray(r))for(const e of r)t(e)}(r);const c=null==(e=r.animator)?void 0:e.animate;if(c&&"object"==typeof c){const t={};for(const[e,r]of Object.entries(c)){t[null!=(n=o.get(e))?n:e]=r}r.animator=l(s({},r.animator),{animate:t})}return r}function ir(t,e){return t.replace(/url\(#([^)]+)\)/g,(t,n)=>{const r=e.get(n);return r?"url(#"+r+")":t})}function sr(t,e,n,r){const o=jt(t);for(const t of o)console.warn("[PxAnimator] effects shape warning:",t);const a=zt(t)||{};a.debug=!0;t=Ln(t,a.mode===D.frames?B.frames:B.webapi);let i=null;if(r&&t.children){t=ar(t);const e="string"==typeof r?document.querySelector(r):r;e&&(i=Yn(t),i&&e.replaceChildren(i))}return function(t,e,n,r){const o=zt(t)||{};let a;return a=o.mode===D.frames?$n(t,e,n,r):er(t,n,r,o.mode===D.webapi)||$n(t,e,n,r),o.debugInstName&&(window[o.debugInstName]=a),a}(t,e,n,i)}var lr="data";function ur(t){const{src:e,data:n,adapter:r,callbacks:o,container:a}=t;if(void 0!==n&&void 0!==e)throw new Error("createAnimator: provide either `src` or `data`, not both");if(void 0===n&&void 0===e)throw new Error("createAnimator: either `src` or `data` is required");if(void 0!==n)return sr(n,r,o,a);let i=null;return fetch(e).then(t=>t.json()).then(t=>{_t(t)?i=sr(t,r,o,a):console.error("Invalid animation document format")}),{isReady:()=>!!i,getRootElement:()=>i?i.getRootElement():null,isPlaying:()=>(null==i?void 0:i.isPlaying())||!1,play:()=>{null==i||i.play()},pause:()=>{null==i||i.pause()},cancel:()=>{null==i||i.cancel()},finish:()=>{null==i||i.finish()},setPlaybackRate:t=>{null==i||i.setPlaybackRate(t)},getCurrentTime:()=>(null==i?void 0:i.getCurrentTime())||0,setCurrentTime:t=>{null==i||i.setCurrentTime(t)},destroy:()=>{null==i||i.destroy()}}}function cr(){const t=document.querySelectorAll("["+F+"]");for(let e=0;e<t.length;e++){const n=t[e];if(!n[L]){const t=n.getAttribute(F);t&&(n[L]=ur({src:t,container:n}))}}}"undefined"!=typeof window&&(window.loadTagAnimators=cr,window.createAnimator=ur,window.setupAnimationTriggers=Zn);var fr=[1,0,0,1,0,0];function dr(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}var hr=(t,e)=>[1,0,0,1,t,e],mr=(t,e)=>[t,0,0,e,0,0];function pr(t){const e=t*Math.PI/180;return[Math.cos(e),Math.sin(e),-Math.sin(e),Math.cos(e),0,0]}var yr=t=>[1,0,Math.tan(t*Math.PI/180),1,0,0],vr=t=>[1,Math.tan(t*Math.PI/180),0,1,0,0];function gr(t){let e=fr;t.translate&&(e=dr(e,hr(t.translate[0],t.translate[1])));const n=t.origin&&(void 0!==t.rotate||t.scale);return n&&(e=dr(e,hr(t.origin[0],t.origin[1]))),void 0!==t.rotate&&(e=dr(e,pr(t.rotate))),t.scale&&(e=dr(e,mr(t.scale[0],t.scale[1]))),n&&(e=dr(e,hr(-t.origin[0],-t.origin[1]))),e}function br(t,e,n){return t+(e-t)*n}function kr(t,e){return null==t?fr:"string"==typeof t?function(t){let e=fr;const n=/(translate|rotate|scale|matrix|skewX|skewY)\(([^)]*)\)/g;let r;for(;r=n.exec(t);){const t=r[1],n=r[2].split(/[\s,]+/).filter(Boolean).map(Number);"translate"===t?e=dr(e,hr(n[0]||0,n[1]||0)):"scale"===t?e=dr(e,mr(n[0],n.length>1?n[1]:n[0])):"rotate"===t?e=dr(e,pr(n[0])):"skewX"===t?e=dr(e,yr(n[0])):"skewY"===t?e=dr(e,vr(n[0])):"matrix"===t&&(e=dr(e,[n[0],n[1],n[2],n[3],n[4],n[5]]))}return e}(t):t.keyframes?gr(function(t,e){var n,r,o,a,i,s,l;if(!t.length)return{};if(e<=(null!=(n=t[0].time)?n:0))return t[0].value||{};if(e>=(null!=(r=t[t.length-1].time)?r:0))return t[t.length-1].value||{};let u=0;for(;u<t.length-1&&(null!=(o=t[u+1].time)?o:0)<e;)u++;const c=t[u],f=t[u+1],d=(e-(null!=(a=c.time)?a:0))/((null!=(i=f.time)?i:0)-(null!=(s=c.time)?s:0)||1),h=c.value||{},m=f.value||{},p={};return h.translate&&m.translate?p.translate=[br(h.translate[0],m.translate[0],d),br(h.translate[1],m.translate[1],d)]:p.translate=h.translate||m.translate,void 0!==h.rotate&&void 0!==m.rotate?p.rotate=br(h.rotate,m.rotate,d):p.rotate=null!=(l=h.rotate)?l:m.rotate,h.scale&&m.scale?p.scale=[br(h.scale[0],m.scale[0],d),br(h.scale[1],m.scale[1],d)]:p.scale=h.scale||m.scale,p.origin=h.origin||m.origin,p}(t.keyframes,e)):t.value?gr(t.value):fr}var Ar=new Set(["svg","g","symbol"]),wr=new Set(["defs","mask","clipPath","title"]);function jr(t,e){var n;"string"==typeof t.id&&e.set(t.id,t),null==(n=t.children)||n.forEach(t=>jr(t,e))}function Or(t){return null==t?0:Number(t)}function xr(t){return Math.round(100*t)/100+0}function Pr(t,e,n){var r,o,a,i,s;const l=null!=(r=t.fill)?r:"",u=null!=(o=t.stroke)?o:"",c=null!=(i=null!=(a=t["stroke-width"])?a:t.strokeWidth)?i:"",f=xr(function(t,e,n,r){var o,a,i,s,l,u;if(t&&t.keyframes&&t.keyframes.length){const e=t.keyframes;if(r<=(null!=(o=e[0].time)?o:0))return e[0].value;if(r>=(null!=(a=e[e.length-1].time)?a:0))return e[e.length-1].value;let n=0;for(;n<e.length-1&&(null!=(i=e[n+1].time)?i:0)<r;)n++;const c=e[n],f=e[n+1],d=(r-(null!=(s=c.time)?s:0))/((null!=(l=f.time)?l:0)-(null!=(u=c.time)?u:0)||1);return br(c.value,f.value,d)}return void 0!==e?Number(e):n}(null==(s=t.animate)?void 0:s.opacity,t.opacity,1,n)),d=t.mask?1:0,h=e.map(xr).join(",");return t.type+"|"+function(t){var e;switch(t.type){case"rect":return Or(t.width)+","+Or(t.height)+","+Or(t.x)+","+Or(t.y);case"ellipse":return Or(t.rx)+","+Or(t.ry)+","+Or(t.cx)+","+Or(t.cy);case"circle":return Or(t.r)+","+Or(t.cx)+","+Or(t.cy);case"path":return String(null!=(e=t.d)?e:"");default:return""}}(t)+"|["+h+"]|f:"+l+"|s:"+u+"|sw:"+(Or(c)||"")+"|o:"+f+"|m:"+d}function Sr(t,e,n,r,o){var a;const i=t.type||"";if(wr.has(i))return;const s=dr(e,function(t,e){return t.animate&&t.animate.transform?kr(t.animate.transform,e):void 0!==t.transform?kr(t.transform,e):fr}(t,n));if("use"===i){const e="string"==typeof t.href?t.href.replace(/^#/,""):"",a=r.get(e),i=dr(s,hr(Or(t.x),Or(t.y)));return void(a?Sr(a,i,n,r,o):o.push("UNRESOLVED_USE:#"+e))}Ar.has(i)?null==(a=t.children)||a.forEach(t=>Sr(t,s,n,r,o)):o.push(Pr(t,s,n))}function Mr(t,e){var n;e.add(0);(t=>{var n;if(t&&"object"==typeof t)for(const r of Object.keys(t)){const o=null==(n=t[r])?void 0:n.keyframes;Array.isArray(o)&&o.forEach(t=>{var n;return e.add(null!=(n=t.time)?n:0)})}})(t.animate),t.transform&&"object"==typeof t.transform&&t.transform.keyframes&&t.transform.keyframes.forEach(t=>{var n;return e.add(null!=(n=t.time)?n:0)}),null==(n=t.children)||n.forEach(t=>Mr(t,e))}function _r(t,e){const n=new Map;jr(t,n);const r=[];return Sr(t,fr,e,n,r),r.sort()}function Ir(t,e){const n=new Set;Mr(t,n),Mr(e,n);const r=[];for(const o of Array.from(n).sort((t,e)=>t-e)){const n=_r(t,o),a=_r(e,o),i=zr(n,a),s=zr(a,n);(i.length||s.length)&&r.push({time:o,onlyInA:i,onlyInB:s})}return r}function zr(t,e){const n=new Map;for(const t of e)n.set(t,(n.get(t)||0)+1);const r=[];for(const e of t){const t=n.get(e)||0;t>0?n.set(e,t-1):r.push(e)}return r}export{we as COLOUR_ATTR_NAMES,lr as PX_ANIMATOR_DATA_KEY,L as PX_ANIM_ATTR_NAME,F as PX_ANIM_SRC_ATTR_NAME,J as PX_TRANSFORM_PART_KEYS,St as PxAnimatedSvgDocumentSchema,Q as PxAnimationDefinitionSchema,rt as PxAnimatorConfigSchema,B as PxAnimatorEngine,D as PxAnimatorMode,at as PxAttrValueSchema,Mt as PxBezierPathSchema,ot as PxBindingSchema,nt as PxDefsSchema,X as PxEasingOrRefSchema,wt as PxEffectsSchema,tt as PxElementAnimationSchema,bt as PxFillGradientEffectSchema,pt as PxGradientSpreadMethod,vt as PxGradientStopSchema,yt as PxGradientType,mt as PxGradientUnits,Y as PxKeyframeSchema,Z as PxLoopSchema,ct as PxMaskedByEffectSchema,Ot as PxNodeBase,xt as PxNodeSchema,G as PxPropertyAnimationSchema,ht as PxRefEffectSchema,ut as PxRepeaterEffectSchema,dt as PxRetimeEffectSchema,kt as PxStrokeGradientEffectSchema,Pt as PxSvgNodeExtra,At as PxTextAlongPathEffectSchema,$ as PxTransformPartsSchema,H as PxTransformValueSchema,lt as PxTransformationEffectSchema,et as PxTriggerSchema,ft as PxTrimPathEffectSchema,Pe as STYLE_ATTR_NAMES,je as TRANSFORM_FN_NAMES,En as applyPlayerEffects,bn as calcAnimationValues,Ie as camelCaseToKebabWordIfNeeded,Mr as collectSampleTimes,ur as createAnimator,sr as createAnimatorImpl,Jn as createBasicFrameLoopAnimator,$n as createFrameLoopAnimator,er as createWebApiAnimator,V as describeSchema,Ir as diffInEffect,qe as evaluateMotionPathSegment,ar as generateNewIds,zt as getAnimatorConfig,Nt as getBindings,Et as getChildren,Ct as getDefs,Xn as getNormalizedProps,_t as isPxElementFileFormat,It as isPxElementFileFormatDeep,cr as loadTagAnimators,Ln as materialiseAllInTree,Un as materialiseAnimatedUseInstances,hn as materialiseInternalLoopsInPropAnim,mn as materialiseInternalLoopsInTree,Ke as materialiseMotionPathInPropAnim,en as materialiseMotionPathsInTree,vn as normalizeDocument,De as propAnimIsMotionPath,R as px,Yn as renderNode,U as schemaKeys,Zn as setupAnimationTriggers,ke as toRGBA,jt as validateNodeEffects,_r as visualModelAt};
|