@appinternalleads/ui 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -0
- package/dist/cjs/motion/player.js +3 -0
- package/dist/cjs/motion/player.js.map +1 -1
- package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js +25 -2
- package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js.map +1 -1
- package/dist/cjs/motion/typesurface/config.js +21 -1
- package/dist/cjs/motion/typesurface/config.js.map +1 -1
- package/dist/cjs/motion/typesurface/construct.js +875 -0
- package/dist/cjs/motion/typesurface/construct.js.map +1 -0
- package/dist/cjs/motion/typesurface/engine.js +28 -4
- package/dist/cjs/motion/typesurface/engine.js.map +1 -1
- package/dist/cjs/motion/typesurface/index.js +9 -1
- package/dist/cjs/motion/typesurface/index.js.map +1 -1
- package/dist/cjs/motion/typesurface/presets.js +69 -2
- package/dist/cjs/motion/typesurface/presets.js.map +1 -1
- package/dist/cjs/motion/typesurface/renderer.js +81 -15
- package/dist/cjs/motion/typesurface/renderer.js.map +1 -1
- package/dist/cjs/motion/typesurface/shaders.js +23 -1
- package/dist/cjs/motion/typesurface/shaders.js.map +1 -1
- package/dist/cjs/motion/typesurface/surfaces.js +69 -0
- package/dist/cjs/motion/typesurface/surfaces.js.map +1 -1
- package/dist/esm/motion/player.d.ts.map +1 -1
- package/dist/esm/motion/player.js +3 -0
- package/dist/esm/motion/player.js.map +1 -1
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts +11 -1
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js +25 -2
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js.map +1 -1
- package/dist/esm/motion/typesurface/config.d.ts +13 -2
- package/dist/esm/motion/typesurface/config.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/config.js +21 -1
- package/dist/esm/motion/typesurface/config.js.map +1 -1
- package/dist/esm/motion/typesurface/construct.d.ts +284 -0
- package/dist/esm/motion/typesurface/construct.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/construct.js +866 -0
- package/dist/esm/motion/typesurface/construct.js.map +1 -0
- package/dist/esm/motion/typesurface/engine.d.ts +8 -0
- package/dist/esm/motion/typesurface/engine.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/engine.js +28 -4
- package/dist/esm/motion/typesurface/engine.js.map +1 -1
- package/dist/esm/motion/typesurface/index.d.ts +7 -3
- package/dist/esm/motion/typesurface/index.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/index.js +6 -2
- package/dist/esm/motion/typesurface/index.js.map +1 -1
- package/dist/esm/motion/typesurface/presets.d.ts +18 -0
- package/dist/esm/motion/typesurface/presets.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/presets.js +68 -3
- package/dist/esm/motion/typesurface/presets.js.map +1 -1
- package/dist/esm/motion/typesurface/renderer.d.ts +10 -0
- package/dist/esm/motion/typesurface/renderer.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/renderer.js +82 -16
- package/dist/esm/motion/typesurface/renderer.js.map +1 -1
- package/dist/esm/motion/typesurface/shaders.d.ts +1 -1
- package/dist/esm/motion/typesurface/shaders.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/shaders.js +23 -1
- package/dist/esm/motion/typesurface/shaders.js.map +1 -1
- package/dist/esm/motion/typesurface/surfaces.d.ts +28 -1
- package/dist/esm/motion/typesurface/surfaces.d.ts.map +1 -1
- package/dist/esm/motion/typesurface/surfaces.js +67 -0
- package/dist/esm/motion/typesurface/surfaces.js.map +1 -1
- package/docs/TYPE-SURFACE.md +188 -0
- package/package.json +4 -2
- package/src/motion/player.ts +3 -0
- package/src/motion/typesurface/TypeSurfaceCanvas.tsx +30 -2
- package/src/motion/typesurface/config.ts +29 -3
- package/src/motion/typesurface/construct.ts +828 -0
- package/src/motion/typesurface/engine.ts +31 -5
- package/src/motion/typesurface/index.ts +7 -3
- package/src/motion/typesurface/presets.ts +75 -3
- package/src/motion/typesurface/renderer.ts +77 -17
- package/src/motion/typesurface/shaders.ts +23 -1
- package/src/motion/typesurface/surfaces.ts +78 -1
- package/tools/ask/dist/components.mjs +4235 -908
- package/tools/ask/dist/render.js +589 -0
- package/tools/ask/mcp.mjs +261 -7
- package/tools/ask/render.mjs +248 -0
|
@@ -0,0 +1,589 @@
|
|
|
1
|
+
var RQ=Object.create;var ib=Object.defineProperty;var OQ=Object.getOwnPropertyDescriptor;var PQ=Object.getOwnPropertyNames;var UQ=Object.getPrototypeOf,GQ=Object.prototype.hasOwnProperty;var jo=(A,e)=>()=>(e||A((e={exports:{}}).exports,e),e.exports);var NQ=(A,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of PQ(e))!GQ.call(A,o)&&o!==t&&ib(A,o,{get:()=>e[o],enumerable:!(n=OQ(e,o))||n.enumerable});return A};var Ue=(A,e,t)=>(t=A!=null?RQ(UQ(A)):{},NQ(e||!A||!A.__esModule?ib(t,"default",{value:A,enumerable:!0}):t,A));var yb=jo(ge=>{"use strict";var Zf=Symbol.for("react.transitional.element"),LQ=Symbol.for("react.portal"),HQ=Symbol.for("react.fragment"),zQ=Symbol.for("react.strict_mode"),jQ=Symbol.for("react.profiler"),KQ=Symbol.for("react.consumer"),JQ=Symbol.for("react.context"),WQ=Symbol.for("react.forward_ref"),_Q=Symbol.for("react.suspense"),VQ=Symbol.for("react.memo"),db=Symbol.for("react.lazy"),XQ=Symbol.for("react.activity"),sb=Symbol.iterator;function $Q(A){return A===null||typeof A!="object"?null:(A=sb&&A[sb]||A["@@iterator"],typeof A=="function"?A:null)}var gb={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},fb=Object.assign,hb={};function es(A,e,t){this.props=A,this.context=e,this.refs=hb,this.updater=t||gb}es.prototype.isReactComponent={};es.prototype.setState=function(A,e){if(typeof A!="object"&&typeof A!="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,e,"setState")};es.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function pb(){}pb.prototype=es.prototype;function qf(A,e,t){this.props=A,this.context=e,this.refs=hb,this.updater=t||gb}var Ah=qf.prototype=new pb;Ah.constructor=qf;fb(Ah,es.prototype);Ah.isPureReactComponent=!0;var lb=Array.isArray;function $f(){}var ft={H:null,A:null,T:null,S:null},mb=Object.prototype.hasOwnProperty;function eh(A,e,t){var n=t.ref;return{$$typeof:Zf,type:A,key:e,ref:n!==void 0?n:null,props:t}}function ZQ(A,e){return eh(A.type,e,A.props)}function th(A){return typeof A=="object"&&A!==null&&A.$$typeof===Zf}function qQ(A){var e={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(t){return e[t]})}var cb=/\/+/g;function Xf(A,e){return typeof A=="object"&&A!==null&&A.key!=null?qQ(""+A.key):e.toString(36)}function Ax(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then($f,$f):(A.status="pending",A.then(function(e){A.status==="pending"&&(A.status="fulfilled",A.value=e)},function(e){A.status==="pending"&&(A.status="rejected",A.reason=e)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function As(A,e,t,n,o){var a=typeof A;(a==="undefined"||a==="boolean")&&(A=null);var r=!1;if(A===null)r=!0;else switch(a){case"bigint":case"string":case"number":r=!0;break;case"object":switch(A.$$typeof){case Zf:case LQ:r=!0;break;case db:return r=A._init,As(r(A._payload),e,t,n,o)}}if(r)return o=o(A),r=n===""?"."+Xf(A,0):n,lb(o)?(t="",r!=null&&(t=r.replace(cb,"$&/")+"/"),As(o,e,t,"",function(l){return l})):o!=null&&(th(o)&&(o=ZQ(o,t+(o.key==null||A&&A.key===o.key?"":(""+o.key).replace(cb,"$&/")+"/")+r)),e.push(o)),1;r=0;var i=n===""?".":n+":";if(lb(A))for(var s=0;s<A.length;s++)n=A[s],a=i+Xf(n,s),r+=As(n,e,t,a,o);else if(s=$Q(A),typeof s=="function")for(A=s.call(A),s=0;!(n=A.next()).done;)n=n.value,a=i+Xf(n,s++),r+=As(n,e,t,a,o);else if(a==="object"){if(typeof A.then=="function")return As(Ax(A),e,t,n,o);throw e=String(A),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(A).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.")}return r}function xu(A,e,t){if(A==null)return A;var n=[],o=0;return As(A,n,"","",function(a){return e.call(t,a,o++)}),n}function ex(A){if(A._status===-1){var e=A._result;e=e(),e.then(function(t){(A._status===0||A._status===-1)&&(A._status=1,A._result=t)},function(t){(A._status===0||A._status===-1)&&(A._status=2,A._result=t)}),A._status===-1&&(A._status=0,A._result=e)}if(A._status===1)return A._result.default;throw A._result}var ub=typeof reportError=="function"?reportError:function(A){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof A=="object"&&A!==null&&typeof A.message=="string"?String(A.message):String(A),error:A});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",A);return}console.error(A)},tx={map:xu,forEach:function(A,e,t){xu(A,function(){e.apply(this,arguments)},t)},count:function(A){var e=0;return xu(A,function(){e++}),e},toArray:function(A){return xu(A,function(e){return e})||[]},only:function(A){if(!th(A))throw Error("React.Children.only expected to receive a single React element child.");return A}};ge.Activity=XQ;ge.Children=tx;ge.Component=es;ge.Fragment=HQ;ge.Profiler=jQ;ge.PureComponent=qf;ge.StrictMode=zQ;ge.Suspense=_Q;ge.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ft;ge.__COMPILER_RUNTIME={__proto__:null,c:function(A){return ft.H.useMemoCache(A)}};ge.cache=function(A){return function(){return A.apply(null,arguments)}};ge.cacheSignal=function(){return null};ge.cloneElement=function(A,e,t){if(A==null)throw Error("The argument must be a React element, but you passed "+A+".");var n=fb({},A.props),o=A.key;if(e!=null)for(a in e.key!==void 0&&(o=""+e.key),e)!mb.call(e,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&e.ref===void 0||(n[a]=e[a]);var a=arguments.length-2;if(a===1)n.children=t;else if(1<a){for(var r=Array(a),i=0;i<a;i++)r[i]=arguments[i+2];n.children=r}return eh(A.type,o,n)};ge.createContext=function(A){return A={$$typeof:JQ,_currentValue:A,_currentValue2:A,_threadCount:0,Provider:null,Consumer:null},A.Provider=A,A.Consumer={$$typeof:KQ,_context:A},A};ge.createElement=function(A,e,t){var n,o={},a=null;if(e!=null)for(n in e.key!==void 0&&(a=""+e.key),e)mb.call(e,n)&&n!=="key"&&n!=="__self"&&n!=="__source"&&(o[n]=e[n]);var r=arguments.length-2;if(r===1)o.children=t;else if(1<r){for(var i=Array(r),s=0;s<r;s++)i[s]=arguments[s+2];o.children=i}if(A&&A.defaultProps)for(n in r=A.defaultProps,r)o[n]===void 0&&(o[n]=r[n]);return eh(A,a,o)};ge.createRef=function(){return{current:null}};ge.forwardRef=function(A){return{$$typeof:WQ,render:A}};ge.isValidElement=th;ge.lazy=function(A){return{$$typeof:db,_payload:{_status:-1,_result:A},_init:ex}};ge.memo=function(A,e){return{$$typeof:VQ,type:A,compare:e===void 0?null:e}};ge.startTransition=function(A){var e=ft.T,t={};ft.T=t;try{var n=A(),o=ft.S;o!==null&&o(t,n),typeof n=="object"&&n!==null&&typeof n.then=="function"&&n.then($f,ub)}catch(a){ub(a)}finally{e!==null&&t.types!==null&&(e.types=t.types),ft.T=e}};ge.unstable_useCacheRefresh=function(){return ft.H.useCacheRefresh()};ge.use=function(A){return ft.H.use(A)};ge.useActionState=function(A,e,t){return ft.H.useActionState(A,e,t)};ge.useCallback=function(A,e){return ft.H.useCallback(A,e)};ge.useContext=function(A){return ft.H.useContext(A)};ge.useDebugValue=function(){};ge.useDeferredValue=function(A,e){return ft.H.useDeferredValue(A,e)};ge.useEffect=function(A,e){return ft.H.useEffect(A,e)};ge.useEffectEvent=function(A){return ft.H.useEffectEvent(A)};ge.useId=function(){return ft.H.useId()};ge.useImperativeHandle=function(A,e,t){return ft.H.useImperativeHandle(A,e,t)};ge.useInsertionEffect=function(A,e){return ft.H.useInsertionEffect(A,e)};ge.useLayoutEffect=function(A,e){return ft.H.useLayoutEffect(A,e)};ge.useMemo=function(A,e){return ft.H.useMemo(A,e)};ge.useOptimistic=function(A,e){return ft.H.useOptimistic(A,e)};ge.useReducer=function(A,e,t){return ft.H.useReducer(A,e,t)};ge.useRef=function(A){return ft.H.useRef(A)};ge.useState=function(A){return ft.H.useState(A)};ge.useSyncExternalStore=function(A,e,t){return ft.H.useSyncExternalStore(A,e,t)};ge.useTransition=function(){return ft.H.useTransition()};ge.version="19.2.3"});var lr=jo((M6,bb)=>{"use strict";bb.exports=yb()});var Bb=jo(Sn=>{"use strict";var nx=lr();function wb(A){var e="https://react.dev/errors/"+A;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)e+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+A+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function cr(){}var Dn={d:{f:cr,r:function(){throw Error(wb(522))},D:cr,C:cr,L:cr,m:cr,X:cr,S:cr,M:cr},p:0,findDOMNode:null},ox=Symbol.for("react.portal");function ax(A,e,t){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:ox,key:n==null?null:""+n,children:A,containerInfo:e,implementation:t}}var kl=nx.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Mu(A,e){if(A==="font")return"";if(typeof e=="string")return e==="use-credentials"?e:""}Sn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Dn;Sn.createPortal=function(A,e){var t=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw Error(wb(299));return ax(A,e,null,t)};Sn.flushSync=function(A){var e=kl.T,t=Dn.p;try{if(kl.T=null,Dn.p=2,A)return A()}finally{kl.T=e,Dn.p=t,Dn.d.f()}};Sn.preconnect=function(A,e){typeof A=="string"&&(e?(e=e.crossOrigin,e=typeof e=="string"?e==="use-credentials"?e:"":void 0):e=null,Dn.d.C(A,e))};Sn.prefetchDNS=function(A){typeof A=="string"&&Dn.d.D(A)};Sn.preinit=function(A,e){if(typeof A=="string"&&e&&typeof e.as=="string"){var t=e.as,n=Mu(t,e.crossOrigin),o=typeof e.integrity=="string"?e.integrity:void 0,a=typeof e.fetchPriority=="string"?e.fetchPriority:void 0;t==="style"?Dn.d.S(A,typeof e.precedence=="string"?e.precedence:void 0,{crossOrigin:n,integrity:o,fetchPriority:a}):t==="script"&&Dn.d.X(A,{crossOrigin:n,integrity:o,fetchPriority:a,nonce:typeof e.nonce=="string"?e.nonce:void 0})}};Sn.preinitModule=function(A,e){if(typeof A=="string")if(typeof e=="object"&&e!==null){if(e.as==null||e.as==="script"){var t=Mu(e.as,e.crossOrigin);Dn.d.M(A,{crossOrigin:t,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0})}}else e==null&&Dn.d.M(A)};Sn.preload=function(A,e){if(typeof A=="string"&&typeof e=="object"&&e!==null&&typeof e.as=="string"){var t=e.as,n=Mu(t,e.crossOrigin);Dn.d.L(A,t,{crossOrigin:n,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0,type:typeof e.type=="string"?e.type:void 0,fetchPriority:typeof e.fetchPriority=="string"?e.fetchPriority:void 0,referrerPolicy:typeof e.referrerPolicy=="string"?e.referrerPolicy:void 0,imageSrcSet:typeof e.imageSrcSet=="string"?e.imageSrcSet:void 0,imageSizes:typeof e.imageSizes=="string"?e.imageSizes:void 0,media:typeof e.media=="string"?e.media:void 0})}};Sn.preloadModule=function(A,e){if(typeof A=="string")if(e){var t=Mu(e.as,e.crossOrigin);Dn.d.m(A,{as:typeof e.as=="string"&&e.as!=="script"?e.as:void 0,crossOrigin:t,integrity:typeof e.integrity=="string"?e.integrity:void 0})}else Dn.d.m(A)};Sn.requestFormReset=function(A){Dn.d.r(A)};Sn.unstable_batchedUpdates=function(A,e){return A(e)};Sn.useFormState=function(A,e,t){return kl.H.useFormState(A,e,t)};Sn.useFormStatus=function(){return kl.H.useHostTransitionStatus()};Sn.version="19.2.3"});var nh=jo((D6,vb)=>{"use strict";function Cb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Cb)}catch(A){console.error(A)}}Cb(),vb.exports=Bb()});var kb=jo(wt=>{"use strict";function ih(A,e){var t=A.length;A.push(e);A:for(;0<t;){var n=t-1>>>1,o=A[n];if(0<Iu(o,e))A[n]=e,A[t]=o,t=n;else break A}}function ta(A){return A.length===0?null:A[0]}function Su(A){if(A.length===0)return null;var e=A[0],t=A.pop();if(t!==e){A[0]=t;A:for(var n=0,o=A.length,a=o>>>1;n<a;){var r=2*(n+1)-1,i=A[r],s=r+1,l=A[s];if(0>Iu(i,t))s<o&&0>Iu(l,i)?(A[n]=l,A[s]=t,n=s):(A[n]=i,A[r]=t,n=r);else if(s<o&&0>Iu(l,t))A[n]=l,A[s]=t,n=s;else break A}}return e}function Iu(A,e){var t=A.sortIndex-e.sortIndex;return t!==0?t:A.id-e.id}wt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Eb=performance,wt.unstable_now=function(){return Eb.now()}):(oh=Date,Qb=oh.now(),wt.unstable_now=function(){return oh.now()-Qb});var Eb,oh,Qb,Da=[],ur=[],rx=1,wo=null,Bn=3,sh=!1,Yl=!1,Rl=!1,lh=!1,Ib=typeof setTimeout=="function"?setTimeout:null,Db=typeof clearTimeout=="function"?clearTimeout:null,xb=typeof setImmediate<"u"?setImmediate:null;function Du(A){for(var e=ta(ur);e!==null;){if(e.callback===null)Su(ur);else if(e.startTime<=A)Su(ur),e.sortIndex=e.expirationTime,ih(Da,e);else break;e=ta(ur)}}function ch(A){if(Rl=!1,Du(A),!Yl)if(ta(Da)!==null)Yl=!0,ns||(ns=!0,ts());else{var e=ta(ur);e!==null&&uh(ch,e.startTime-A)}}var ns=!1,Ol=-1,Sb=5,Fb=-1;function Tb(){return lh?!0:!(wt.unstable_now()-Fb<Sb)}function ah(){if(lh=!1,ns){var A=wt.unstable_now();Fb=A;var e=!0;try{A:{Yl=!1,Rl&&(Rl=!1,Db(Ol),Ol=-1),sh=!0;var t=Bn;try{e:{for(Du(A),wo=ta(Da);wo!==null&&!(wo.expirationTime>A&&Tb());){var n=wo.callback;if(typeof n=="function"){wo.callback=null,Bn=wo.priorityLevel;var o=n(wo.expirationTime<=A);if(A=wt.unstable_now(),typeof o=="function"){wo.callback=o,Du(A),e=!0;break e}wo===ta(Da)&&Su(Da),Du(A)}else Su(Da);wo=ta(Da)}if(wo!==null)e=!0;else{var a=ta(ur);a!==null&&uh(ch,a.startTime-A),e=!1}}break A}finally{wo=null,Bn=t,sh=!1}e=void 0}}finally{e?ts():ns=!1}}}var ts;typeof xb=="function"?ts=function(){xb(ah)}:typeof MessageChannel<"u"?(rh=new MessageChannel,Mb=rh.port2,rh.port1.onmessage=ah,ts=function(){Mb.postMessage(null)}):ts=function(){Ib(ah,0)};var rh,Mb;function uh(A,e){Ol=Ib(function(){A(wt.unstable_now())},e)}wt.unstable_IdlePriority=5;wt.unstable_ImmediatePriority=1;wt.unstable_LowPriority=4;wt.unstable_NormalPriority=3;wt.unstable_Profiling=null;wt.unstable_UserBlockingPriority=2;wt.unstable_cancelCallback=function(A){A.callback=null};wt.unstable_forceFrameRate=function(A){0>A||125<A?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Sb=0<A?Math.floor(1e3/A):5};wt.unstable_getCurrentPriorityLevel=function(){return Bn};wt.unstable_next=function(A){switch(Bn){case 1:case 2:case 3:var e=3;break;default:e=Bn}var t=Bn;Bn=e;try{return A()}finally{Bn=t}};wt.unstable_requestPaint=function(){lh=!0};wt.unstable_runWithPriority=function(A,e){switch(A){case 1:case 2:case 3:case 4:case 5:break;default:A=3}var t=Bn;Bn=A;try{return e()}finally{Bn=t}};wt.unstable_scheduleCallback=function(A,e,t){var n=wt.unstable_now();switch(typeof t=="object"&&t!==null?(t=t.delay,t=typeof t=="number"&&0<t?n+t:n):t=n,A){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=t+o,A={id:rx++,callback:e,priorityLevel:A,startTime:t,expirationTime:o,sortIndex:-1},t>n?(A.sortIndex=t,ih(ur,A),ta(Da)===null&&A===ta(ur)&&(Rl?(Db(Ol),Ol=-1):Rl=!0,uh(ch,t-n))):(A.sortIndex=o,ih(Da,A),Yl||sh||(Yl=!0,ns||(ns=!0,ts()))),A};wt.unstable_shouldYield=Tb;wt.unstable_wrapCallback=function(A){var e=Bn;return function(){var t=Bn;Bn=e;try{return A.apply(this,arguments)}finally{Bn=t}}}});var Rb=jo((F6,Yb)=>{"use strict";Yb.exports=kb()});var WC=jo(eg=>{"use strict";var An=Rb(),i1=lr(),ix=nh();function cA(A){var e="https://react.dev/errors/"+A;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)e+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+A+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s1(A){return!(!A||A.nodeType!==1&&A.nodeType!==9&&A.nodeType!==11)}function Cc(A){var e=A,t=A;if(A.alternate)for(;e.return;)e=e.return;else{A=e;do e=A,e.flags&4098&&(t=e.return),A=e.return;while(A)}return e.tag===3?t:null}function l1(A){if(A.tag===13){var e=A.memoizedState;if(e===null&&(A=A.alternate,A!==null&&(e=A.memoizedState)),e!==null)return e.dehydrated}return null}function c1(A){if(A.tag===31){var e=A.memoizedState;if(e===null&&(A=A.alternate,A!==null&&(e=A.memoizedState)),e!==null)return e.dehydrated}return null}function Ob(A){if(Cc(A)!==A)throw Error(cA(188))}function sx(A){var e=A.alternate;if(!e){if(e=Cc(A),e===null)throw Error(cA(188));return e!==A?null:A}for(var t=A,n=e;;){var o=t.return;if(o===null)break;var a=o.alternate;if(a===null){if(n=o.return,n!==null){t=n;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===t)return Ob(o),A;if(a===n)return Ob(o),e;a=a.sibling}throw Error(cA(188))}if(t.return!==n.return)t=o,n=a;else{for(var r=!1,i=o.child;i;){if(i===t){r=!0,t=o,n=a;break}if(i===n){r=!0,n=o,t=a;break}i=i.sibling}if(!r){for(i=a.child;i;){if(i===t){r=!0,t=a,n=o;break}if(i===n){r=!0,n=a,t=o;break}i=i.sibling}if(!r)throw Error(cA(189))}}if(t.alternate!==n)throw Error(cA(190))}if(t.tag!==3)throw Error(cA(188));return t.stateNode.current===t?A:e}function u1(A){var e=A.tag;if(e===5||e===26||e===27||e===6)return A;for(A=A.child;A!==null;){if(e=u1(A),e!==null)return e;A=A.sibling}return null}var mt=Object.assign,lx=Symbol.for("react.element"),Fu=Symbol.for("react.transitional.element"),jl=Symbol.for("react.portal"),ls=Symbol.for("react.fragment"),d1=Symbol.for("react.strict_mode"),Kh=Symbol.for("react.profiler"),g1=Symbol.for("react.consumer"),Pa=Symbol.for("react.context"),Np=Symbol.for("react.forward_ref"),Jh=Symbol.for("react.suspense"),Wh=Symbol.for("react.suspense_list"),Lp=Symbol.for("react.memo"),dr=Symbol.for("react.lazy");Symbol.for("react.scope");var _h=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var cx=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pb=Symbol.iterator;function Pl(A){return A===null||typeof A!="object"?null:(A=Pb&&A[Pb]||A["@@iterator"],typeof A=="function"?A:null)}var ux=Symbol.for("react.client.reference");function Vh(A){if(A==null)return null;if(typeof A=="function")return A.$$typeof===ux?null:A.displayName||A.name||null;if(typeof A=="string")return A;switch(A){case ls:return"Fragment";case Kh:return"Profiler";case d1:return"StrictMode";case Jh:return"Suspense";case Wh:return"SuspenseList";case _h:return"Activity"}if(typeof A=="object")switch(A.$$typeof){case jl:return"Portal";case Pa:return A.displayName||"Context";case g1:return(A._context.displayName||"Context")+".Consumer";case Np:var e=A.render;return A=A.displayName,A||(A=e.displayName||e.name||"",A=A!==""?"ForwardRef("+A+")":"ForwardRef"),A;case Lp:return e=A.displayName||null,e!==null?e:Vh(A.type)||"Memo";case dr:e=A._payload,A=A._init;try{return Vh(A(e))}catch{}}return null}var Kl=Array.isArray,ae=i1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ne=ix.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,gi={pending:!1,data:null,method:null,action:null},Xh=[],cs=-1;function ia(A){return{current:A}}function sn(A){0>cs||(A.current=Xh[cs],Xh[cs]=null,cs--)}function at(A,e){cs++,Xh[cs]=A.current,A.current=e}var ra=ia(null),sc=ia(null),vr=ia(null),cd=ia(null);function ud(A,e){switch(at(vr,e),at(sc,A),at(ra,null),e.nodeType){case 9:case 11:A=(A=e.documentElement)&&(A=A.namespaceURI)?jw(A):0;break;default:if(A=e.tagName,e=e.namespaceURI)e=jw(e),A=kC(e,A);else switch(A){case"svg":A=1;break;case"math":A=2;break;default:A=0}}sn(ra),at(ra,A)}function Is(){sn(ra),sn(sc),sn(vr)}function $h(A){A.memoizedState!==null&&at(cd,A);var e=ra.current,t=kC(e,A.type);e!==t&&(at(sc,A),at(ra,t))}function dd(A){sc.current===A&&(sn(ra),sn(sc)),cd.current===A&&(sn(cd),bc._currentValue=gi)}var dh,Ub;function li(A){if(dh===void 0)try{throw Error()}catch(t){var e=t.stack.trim().match(/\n( *(at )?)/);dh=e&&e[1]||"",Ub=-1<t.stack.indexOf(`
|
|
2
|
+
at`)?" (<anonymous>)":-1<t.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
+
`+dh+A+Ub}var gh=!1;function fh(A,e){if(!A||gh)return"";gh=!0;var t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(e){var u=function(){throw Error()};if(Object.defineProperty(u.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(u,[])}catch(p){var c=p}Reflect.construct(A,[],u)}else{try{u.call()}catch(p){c=p}A.call(u.prototype)}}else{try{throw Error()}catch(p){c=p}(u=A())&&typeof u.catch=="function"&&u.catch(function(){})}}catch(p){if(p&&c&&typeof p.stack=="string")return[p.stack,c.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var a=n.DetermineComponentFrameRoot(),r=a[0],i=a[1];if(r&&i){var s=r.split(`
|
|
4
|
+
`),l=i.split(`
|
|
5
|
+
`);for(o=n=0;n<s.length&&!s[n].includes("DetermineComponentFrameRoot");)n++;for(;o<l.length&&!l[o].includes("DetermineComponentFrameRoot");)o++;if(n===s.length||o===l.length)for(n=s.length-1,o=l.length-1;1<=n&&0<=o&&s[n]!==l[o];)o--;for(;1<=n&&0<=o;n--,o--)if(s[n]!==l[o]){if(n!==1||o!==1)do if(n--,o--,0>o||s[n]!==l[o]){var d=`
|
|
6
|
+
`+s[n].replace(" at new "," at ");return A.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",A.displayName)),d}while(1<=n&&0<=o);break}}}finally{gh=!1,Error.prepareStackTrace=t}return(t=A?A.displayName||A.name:"")?li(t):""}function dx(A,e){switch(A.tag){case 26:case 27:case 5:return li(A.type);case 16:return li("Lazy");case 13:return A.child!==e&&e!==null?li("Suspense Fallback"):li("Suspense");case 19:return li("SuspenseList");case 0:case 15:return fh(A.type,!1);case 11:return fh(A.type.render,!1);case 1:return fh(A.type,!0);case 31:return li("Activity");default:return""}}function Gb(A){try{var e="",t=null;do e+=dx(A,t),t=A,A=A.return;while(A);return e}catch(n){return`
|
|
7
|
+
Error generating stack: `+n.message+`
|
|
8
|
+
`+n.stack}}var Zh=Object.prototype.hasOwnProperty,Hp=An.unstable_scheduleCallback,hh=An.unstable_cancelCallback,gx=An.unstable_shouldYield,fx=An.unstable_requestPaint,eo=An.unstable_now,hx=An.unstable_getCurrentPriorityLevel,f1=An.unstable_ImmediatePriority,h1=An.unstable_UserBlockingPriority,gd=An.unstable_NormalPriority,px=An.unstable_LowPriority,p1=An.unstable_IdlePriority,mx=An.log,yx=An.unstable_setDisableYieldValue,vc=null,to=null;function yr(A){if(typeof mx=="function"&&yx(A),to&&typeof to.setStrictMode=="function")try{to.setStrictMode(vc,A)}catch{}}var no=Math.clz32?Math.clz32:Bx,bx=Math.log,wx=Math.LN2;function Bx(A){return A>>>=0,A===0?32:31-(bx(A)/wx|0)|0}var Tu=256,ku=262144,Yu=4194304;function ci(A){var e=A&42;if(e!==0)return e;switch(A&-A){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return A&261888;case 262144:case 524288:case 1048576:case 2097152:return A&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return A&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return A}}function Gd(A,e,t){var n=A.pendingLanes;if(n===0)return 0;var o=0,a=A.suspendedLanes,r=A.pingedLanes;A=A.warmLanes;var i=n&134217727;return i!==0?(n=i&~a,n!==0?o=ci(n):(r&=i,r!==0?o=ci(r):t||(t=i&~A,t!==0&&(o=ci(t))))):(i=n&~a,i!==0?o=ci(i):r!==0?o=ci(r):t||(t=n&~A,t!==0&&(o=ci(t)))),o===0?0:e!==0&&e!==o&&!(e&a)&&(a=o&-o,t=e&-e,a>=t||a===32&&(t&4194048)!==0)?e:o}function Ec(A,e){return(A.pendingLanes&~(A.suspendedLanes&~A.pingedLanes)&e)===0}function Cx(A,e){switch(A){case 1:case 2:case 4:case 8:case 64:return e+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function m1(){var A=Yu;return Yu<<=1,!(Yu&62914560)&&(Yu=4194304),A}function ph(A){for(var e=[],t=0;31>t;t++)e.push(A);return e}function Qc(A,e){A.pendingLanes|=e,e!==268435456&&(A.suspendedLanes=0,A.pingedLanes=0,A.warmLanes=0)}function vx(A,e,t,n,o,a){var r=A.pendingLanes;A.pendingLanes=t,A.suspendedLanes=0,A.pingedLanes=0,A.warmLanes=0,A.expiredLanes&=t,A.entangledLanes&=t,A.errorRecoveryDisabledLanes&=t,A.shellSuspendCounter=0;var i=A.entanglements,s=A.expirationTimes,l=A.hiddenUpdates;for(t=r&~t;0<t;){var d=31-no(t),u=1<<d;i[d]=0,s[d]=-1;var c=l[d];if(c!==null)for(l[d]=null,d=0;d<c.length;d++){var p=c[d];p!==null&&(p.lane&=-536870913)}t&=~u}n!==0&&y1(A,n,0),a!==0&&o===0&&A.tag!==0&&(A.suspendedLanes|=a&~(r&~e))}function y1(A,e,t){A.pendingLanes|=e,A.suspendedLanes&=~e;var n=31-no(e);A.entangledLanes|=e,A.entanglements[n]=A.entanglements[n]|1073741824|t&261930}function b1(A,e){var t=A.entangledLanes|=e;for(A=A.entanglements;t;){var n=31-no(t),o=1<<n;o&e|A[n]&e&&(A[n]|=e),t&=~o}}function w1(A,e){var t=e&-e;return t=t&42?1:zp(t),t&(A.suspendedLanes|e)?0:t}function zp(A){switch(A){case 2:A=1;break;case 8:A=4;break;case 32:A=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:A=128;break;case 268435456:A=134217728;break;default:A=0}return A}function jp(A){return A&=-A,2<A?8<A?A&134217727?32:268435456:8:2}function B1(){var A=Ne.p;return A!==0?A:(A=window.event,A===void 0?32:jC(A.type))}function Nb(A,e){var t=Ne.p;try{return Ne.p=A,e()}finally{Ne.p=t}}var Or=Math.random().toString(36).slice(2),un="__reactFiber$"+Or,zn="__reactProps$"+Or,Gs="__reactContainer$"+Or,qh="__reactEvents$"+Or,Ex="__reactListeners$"+Or,Qx="__reactHandles$"+Or,Lb="__reactResources$"+Or,xc="__reactMarker$"+Or;function Kp(A){delete A[un],delete A[zn],delete A[qh],delete A[Ex],delete A[Qx]}function us(A){var e=A[un];if(e)return e;for(var t=A.parentNode;t;){if(e=t[Gs]||t[un]){if(t=e.alternate,e.child!==null||t!==null&&t.child!==null)for(A=Vw(A);A!==null;){if(t=A[un])return t;A=Vw(A)}return e}A=t,t=A.parentNode}return null}function Ns(A){if(A=A[un]||A[Gs]){var e=A.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return A}return null}function Jl(A){var e=A.tag;if(e===5||e===26||e===27||e===6)return A.stateNode;throw Error(cA(33))}function Bs(A){var e=A[Lb];return e||(e=A[Lb]={hoistableStyles:new Map,hoistableScripts:new Map}),e}function rn(A){A[xc]=!0}var C1=new Set,v1={};function vi(A,e){Ds(A,e),Ds(A+"Capture",e)}function Ds(A,e){for(v1[A]=e,A=0;A<e.length;A++)C1.add(e[A])}var xx=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Hb={},zb={};function Mx(A){return Zh.call(zb,A)?!0:Zh.call(Hb,A)?!1:xx.test(A)?zb[A]=!0:(Hb[A]=!0,!1)}function Vu(A,e,t){if(Mx(e))if(t===null)A.removeAttribute(e);else{switch(typeof t){case"undefined":case"function":case"symbol":A.removeAttribute(e);return;case"boolean":var n=e.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){A.removeAttribute(e);return}}A.setAttribute(e,""+t)}}function Ru(A,e,t){if(t===null)A.removeAttribute(e);else{switch(typeof t){case"undefined":case"function":case"symbol":case"boolean":A.removeAttribute(e);return}A.setAttribute(e,""+t)}}function Sa(A,e,t,n){if(n===null)A.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":A.removeAttribute(t);return}A.setAttributeNS(e,t,""+n)}}function Co(A){switch(typeof A){case"bigint":case"boolean":case"number":case"string":case"undefined":return A;case"object":return A;default:return""}}function E1(A){var e=A.type;return(A=A.nodeName)&&A.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Ix(A,e,t){var n=Object.getOwnPropertyDescriptor(A.constructor.prototype,e);if(!A.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,a=n.set;return Object.defineProperty(A,e,{configurable:!0,get:function(){return o.call(this)},set:function(r){t=""+r,a.call(this,r)}}),Object.defineProperty(A,e,{enumerable:n.enumerable}),{getValue:function(){return t},setValue:function(r){t=""+r},stopTracking:function(){A._valueTracker=null,delete A[e]}}}}function Ap(A){if(!A._valueTracker){var e=E1(A)?"checked":"value";A._valueTracker=Ix(A,e,""+A[e])}}function Q1(A){if(!A)return!1;var e=A._valueTracker;if(!e)return!0;var t=e.getValue(),n="";return A&&(n=E1(A)?A.checked?"true":"false":A.value),A=n,A!==t?(e.setValue(A),!0):!1}function fd(A){if(A=A||(typeof document<"u"?document:void 0),typeof A>"u")return null;try{return A.activeElement||A.body}catch{return A.body}}var Dx=/[\n"\\]/g;function Qo(A){return A.replace(Dx,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function ep(A,e,t,n,o,a,r,i){A.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?A.type=r:A.removeAttribute("type"),e!=null?r==="number"?(e===0&&A.value===""||A.value!=e)&&(A.value=""+Co(e)):A.value!==""+Co(e)&&(A.value=""+Co(e)):r!=="submit"&&r!=="reset"||A.removeAttribute("value"),e!=null?tp(A,r,Co(e)):t!=null?tp(A,r,Co(t)):n!=null&&A.removeAttribute("value"),o==null&&a!=null&&(A.defaultChecked=!!a),o!=null&&(A.checked=o&&typeof o!="function"&&typeof o!="symbol"),i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?A.name=""+Co(i):A.removeAttribute("name")}function x1(A,e,t,n,o,a,r,i){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(A.type=a),e!=null||t!=null){if(!(a!=="submit"&&a!=="reset"||e!=null)){Ap(A);return}t=t!=null?""+Co(t):"",e=e!=null?""+Co(e):t,i||e===A.value||(A.value=e),A.defaultValue=e}n=n??o,n=typeof n!="function"&&typeof n!="symbol"&&!!n,A.checked=i?A.checked:!!n,A.defaultChecked=!!n,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(A.name=r),Ap(A)}function tp(A,e,t){e==="number"&&fd(A.ownerDocument)===A||A.defaultValue===""+t||(A.defaultValue=""+t)}function Cs(A,e,t,n){if(A=A.options,e){e={};for(var o=0;o<t.length;o++)e["$"+t[o]]=!0;for(t=0;t<A.length;t++)o=e.hasOwnProperty("$"+A[t].value),A[t].selected!==o&&(A[t].selected=o),o&&n&&(A[t].defaultSelected=!0)}else{for(t=""+Co(t),e=null,o=0;o<A.length;o++){if(A[o].value===t){A[o].selected=!0,n&&(A[o].defaultSelected=!0);return}e!==null||A[o].disabled||(e=A[o])}e!==null&&(e.selected=!0)}}function M1(A,e,t){if(e!=null&&(e=""+Co(e),e!==A.value&&(A.value=e),t==null)){A.defaultValue!==e&&(A.defaultValue=e);return}A.defaultValue=t!=null?""+Co(t):""}function I1(A,e,t,n){if(e==null){if(n!=null){if(t!=null)throw Error(cA(92));if(Kl(n)){if(1<n.length)throw Error(cA(93));n=n[0]}t=n}t==null&&(t=""),e=t}t=Co(e),A.defaultValue=t,n=A.textContent,n===t&&n!==""&&n!==null&&(A.value=n),Ap(A)}function Ss(A,e){if(e){var t=A.firstChild;if(t&&t===A.lastChild&&t.nodeType===3){t.nodeValue=e;return}}A.textContent=e}var Sx=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function jb(A,e,t){var n=e.indexOf("--")===0;t==null||typeof t=="boolean"||t===""?n?A.setProperty(e,""):e==="float"?A.cssFloat="":A[e]="":n?A.setProperty(e,t):typeof t!="number"||t===0||Sx.has(e)?e==="float"?A.cssFloat=t:A[e]=(""+t).trim():A[e]=t+"px"}function D1(A,e,t){if(e!=null&&typeof e!="object")throw Error(cA(62));if(A=A.style,t!=null){for(var n in t)!t.hasOwnProperty(n)||e!=null&&e.hasOwnProperty(n)||(n.indexOf("--")===0?A.setProperty(n,""):n==="float"?A.cssFloat="":A[n]="");for(var o in e)n=e[o],e.hasOwnProperty(o)&&t[o]!==n&&jb(A,o,n)}else for(var a in e)e.hasOwnProperty(a)&&jb(A,a,e[a])}function Jp(A){if(A.indexOf("-")===-1)return!1;switch(A){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Fx=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Tx=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Xu(A){return Tx.test(""+A)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":A}function Ua(){}var np=null;function Wp(A){return A=A.target||A.srcElement||window,A.correspondingUseElement&&(A=A.correspondingUseElement),A.nodeType===3?A.parentNode:A}var ds=null,vs=null;function Kb(A){var e=Ns(A);if(e&&(A=e.stateNode)){var t=A[zn]||null;A:switch(A=e.stateNode,e.type){case"input":if(ep(A,t.value,t.defaultValue,t.defaultValue,t.checked,t.defaultChecked,t.type,t.name),e=t.name,t.type==="radio"&&e!=null){for(t=A;t.parentNode;)t=t.parentNode;for(t=t.querySelectorAll('input[name="'+Qo(""+e)+'"][type="radio"]'),e=0;e<t.length;e++){var n=t[e];if(n!==A&&n.form===A.form){var o=n[zn]||null;if(!o)throw Error(cA(90));ep(n,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(e=0;e<t.length;e++)n=t[e],n.form===A.form&&Q1(n)}break A;case"textarea":M1(A,t.value,t.defaultValue);break A;case"select":e=t.value,e!=null&&Cs(A,!!t.multiple,e,!1)}}}var mh=!1;function S1(A,e,t){if(mh)return A(e,t);mh=!0;try{var n=A(e);return n}finally{if(mh=!1,(ds!==null||vs!==null)&&($d(),ds&&(e=ds,A=vs,vs=ds=null,Kb(e),A)))for(e=0;e<A.length;e++)Kb(A[e])}}function lc(A,e){var t=A.stateNode;if(t===null)return null;var n=t[zn]||null;if(n===null)return null;t=n[e];A:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(A=A.type,n=!(A==="button"||A==="input"||A==="select"||A==="textarea")),A=!n;break A;default:A=!1}if(A)return null;if(t&&typeof t!="function")throw Error(cA(231,e,typeof t));return t}var za=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),op=!1;if(za)try{os={},Object.defineProperty(os,"passive",{get:function(){op=!0}}),window.addEventListener("test",os,os),window.removeEventListener("test",os,os)}catch{op=!1}var os,br=null,_p=null,$u=null;function F1(){if($u)return $u;var A,e=_p,t=e.length,n,o="value"in br?br.value:br.textContent,a=o.length;for(A=0;A<t&&e[A]===o[A];A++);var r=t-A;for(n=1;n<=r&&e[t-n]===o[a-n];n++);return $u=o.slice(A,1<n?1-n:void 0)}function Zu(A){var e=A.keyCode;return"charCode"in A?(A=A.charCode,A===0&&e===13&&(A=13)):A=e,A===10&&(A=13),32<=A||A===13?A:0}function Ou(){return!0}function Jb(){return!1}function jn(A){function e(t,n,o,a,r){this._reactName=t,this._targetInst=o,this.type=n,this.nativeEvent=a,this.target=r,this.currentTarget=null;for(var i in A)A.hasOwnProperty(i)&&(t=A[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Ou:Jb,this.isPropagationStopped=Jb,this}return mt(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var t=this.nativeEvent;t&&(t.preventDefault?t.preventDefault():typeof t.returnValue!="unknown"&&(t.returnValue=!1),this.isDefaultPrevented=Ou)},stopPropagation:function(){var t=this.nativeEvent;t&&(t.stopPropagation?t.stopPropagation():typeof t.cancelBubble!="unknown"&&(t.cancelBubble=!0),this.isPropagationStopped=Ou)},persist:function(){},isPersistent:Ou}),e}var Ei={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(A){return A.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Nd=jn(Ei),Mc=mt({},Ei,{view:0,detail:0}),kx=jn(Mc),yh,bh,Ul,Ld=mt({},Mc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Vp,button:0,buttons:0,relatedTarget:function(A){return A.relatedTarget===void 0?A.fromElement===A.srcElement?A.toElement:A.fromElement:A.relatedTarget},movementX:function(A){return"movementX"in A?A.movementX:(A!==Ul&&(Ul&&A.type==="mousemove"?(yh=A.screenX-Ul.screenX,bh=A.screenY-Ul.screenY):bh=yh=0,Ul=A),yh)},movementY:function(A){return"movementY"in A?A.movementY:bh}}),Wb=jn(Ld),Yx=mt({},Ld,{dataTransfer:0}),Rx=jn(Yx),Ox=mt({},Mc,{relatedTarget:0}),wh=jn(Ox),Px=mt({},Ei,{animationName:0,elapsedTime:0,pseudoElement:0}),Ux=jn(Px),Gx=mt({},Ei,{clipboardData:function(A){return"clipboardData"in A?A.clipboardData:window.clipboardData}}),Nx=jn(Gx),Lx=mt({},Ei,{data:0}),_b=jn(Lx),Hx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},zx={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},jx={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Kx(A){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(A):(A=jx[A])?!!e[A]:!1}function Vp(){return Kx}var Jx=mt({},Mc,{key:function(A){if(A.key){var e=Hx[A.key]||A.key;if(e!=="Unidentified")return e}return A.type==="keypress"?(A=Zu(A),A===13?"Enter":String.fromCharCode(A)):A.type==="keydown"||A.type==="keyup"?zx[A.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Vp,charCode:function(A){return A.type==="keypress"?Zu(A):0},keyCode:function(A){return A.type==="keydown"||A.type==="keyup"?A.keyCode:0},which:function(A){return A.type==="keypress"?Zu(A):A.type==="keydown"||A.type==="keyup"?A.keyCode:0}}),Wx=jn(Jx),_x=mt({},Ld,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Vb=jn(_x),Vx=mt({},Mc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Vp}),Xx=jn(Vx),$x=mt({},Ei,{propertyName:0,elapsedTime:0,pseudoElement:0}),Zx=jn($x),qx=mt({},Ld,{deltaX:function(A){return"deltaX"in A?A.deltaX:"wheelDeltaX"in A?-A.wheelDeltaX:0},deltaY:function(A){return"deltaY"in A?A.deltaY:"wheelDeltaY"in A?-A.wheelDeltaY:"wheelDelta"in A?-A.wheelDelta:0},deltaZ:0,deltaMode:0}),AM=jn(qx),eM=mt({},Ei,{newState:0,oldState:0}),tM=jn(eM),nM=[9,13,27,32],Xp=za&&"CompositionEvent"in window,Vl=null;za&&"documentMode"in document&&(Vl=document.documentMode);var oM=za&&"TextEvent"in window&&!Vl,T1=za&&(!Xp||Vl&&8<Vl&&11>=Vl),Xb=" ",$b=!1;function k1(A,e){switch(A){case"keyup":return nM.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Y1(A){return A=A.detail,typeof A=="object"&&"data"in A?A.data:null}var gs=!1;function aM(A,e){switch(A){case"compositionend":return Y1(e);case"keypress":return e.which!==32?null:($b=!0,Xb);case"textInput":return A=e.data,A===Xb&&$b?null:A;default:return null}}function rM(A,e){if(gs)return A==="compositionend"||!Xp&&k1(A,e)?(A=F1(),$u=_p=br=null,gs=!1,A):null;switch(A){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return T1&&e.locale!=="ko"?null:e.data;default:return null}}var iM={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zb(A){var e=A&&A.nodeName&&A.nodeName.toLowerCase();return e==="input"?!!iM[A.type]:e==="textarea"}function R1(A,e,t,n){ds?vs?vs.push(n):vs=[n]:ds=n,e=Td(e,"onChange"),0<e.length&&(t=new Nd("onChange","change",null,t,n),A.push({event:t,listeners:e}))}var Xl=null,cc=null;function sM(A){SC(A,0)}function Hd(A){var e=Jl(A);if(Q1(e))return A}function qb(A,e){if(A==="change")return e}var O1=!1;za&&(za?(Uu="oninput"in document,Uu||(Bh=document.createElement("div"),Bh.setAttribute("oninput","return;"),Uu=typeof Bh.oninput=="function"),Pu=Uu):Pu=!1,O1=Pu&&(!document.documentMode||9<document.documentMode));var Pu,Uu,Bh;function Aw(){Xl&&(Xl.detachEvent("onpropertychange",P1),cc=Xl=null)}function P1(A){if(A.propertyName==="value"&&Hd(cc)){var e=[];R1(e,cc,A,Wp(A)),S1(sM,e)}}function lM(A,e,t){A==="focusin"?(Aw(),Xl=e,cc=t,Xl.attachEvent("onpropertychange",P1)):A==="focusout"&&Aw()}function cM(A){if(A==="selectionchange"||A==="keyup"||A==="keydown")return Hd(cc)}function uM(A,e){if(A==="click")return Hd(e)}function dM(A,e){if(A==="input"||A==="change")return Hd(e)}function gM(A,e){return A===e&&(A!==0||1/A===1/e)||A!==A&&e!==e}var ao=typeof Object.is=="function"?Object.is:gM;function uc(A,e){if(ao(A,e))return!0;if(typeof A!="object"||A===null||typeof e!="object"||e===null)return!1;var t=Object.keys(A),n=Object.keys(e);if(t.length!==n.length)return!1;for(n=0;n<t.length;n++){var o=t[n];if(!Zh.call(e,o)||!ao(A[o],e[o]))return!1}return!0}function ew(A){for(;A&&A.firstChild;)A=A.firstChild;return A}function tw(A,e){var t=ew(A);A=0;for(var n;t;){if(t.nodeType===3){if(n=A+t.textContent.length,A<=e&&n>=e)return{node:t,offset:e-A};A=n}A:{for(;t;){if(t.nextSibling){t=t.nextSibling;break A}t=t.parentNode}t=void 0}t=ew(t)}}function U1(A,e){return A&&e?A===e?!0:A&&A.nodeType===3?!1:e&&e.nodeType===3?U1(A,e.parentNode):"contains"in A?A.contains(e):A.compareDocumentPosition?!!(A.compareDocumentPosition(e)&16):!1:!1}function G1(A){A=A!=null&&A.ownerDocument!=null&&A.ownerDocument.defaultView!=null?A.ownerDocument.defaultView:window;for(var e=fd(A.document);e instanceof A.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)A=e.contentWindow;else break;e=fd(A.document)}return e}function $p(A){var e=A&&A.nodeName&&A.nodeName.toLowerCase();return e&&(e==="input"&&(A.type==="text"||A.type==="search"||A.type==="tel"||A.type==="url"||A.type==="password")||e==="textarea"||A.contentEditable==="true")}var fM=za&&"documentMode"in document&&11>=document.documentMode,fs=null,ap=null,$l=null,rp=!1;function nw(A,e,t){var n=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;rp||fs==null||fs!==fd(n)||(n=fs,"selectionStart"in n&&$p(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),$l&&uc($l,n)||($l=n,n=Td(ap,"onSelect"),0<n.length&&(e=new Nd("onSelect","select",null,e,t),A.push({event:e,listeners:n}),e.target=fs)))}function si(A,e){var t={};return t[A.toLowerCase()]=e.toLowerCase(),t["Webkit"+A]="webkit"+e,t["Moz"+A]="moz"+e,t}var hs={animationend:si("Animation","AnimationEnd"),animationiteration:si("Animation","AnimationIteration"),animationstart:si("Animation","AnimationStart"),transitionrun:si("Transition","TransitionRun"),transitionstart:si("Transition","TransitionStart"),transitioncancel:si("Transition","TransitionCancel"),transitionend:si("Transition","TransitionEnd")},Ch={},N1={};za&&(N1=document.createElement("div").style,"AnimationEvent"in window||(delete hs.animationend.animation,delete hs.animationiteration.animation,delete hs.animationstart.animation),"TransitionEvent"in window||delete hs.transitionend.transition);function Qi(A){if(Ch[A])return Ch[A];if(!hs[A])return A;var e=hs[A],t;for(t in e)if(e.hasOwnProperty(t)&&t in N1)return Ch[A]=e[t];return A}var L1=Qi("animationend"),H1=Qi("animationiteration"),z1=Qi("animationstart"),hM=Qi("transitionrun"),pM=Qi("transitionstart"),mM=Qi("transitioncancel"),j1=Qi("transitionend"),K1=new Map,ip="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");ip.push("scrollEnd");function Wo(A,e){K1.set(A,e),vi(e,[A])}var hd=typeof reportError=="function"?reportError:function(A){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof A=="object"&&A!==null&&typeof A.message=="string"?String(A.message):String(A),error:A});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",A);return}console.error(A)},Bo=[],ps=0,Zp=0;function zd(){for(var A=ps,e=Zp=ps=0;e<A;){var t=Bo[e];Bo[e++]=null;var n=Bo[e];Bo[e++]=null;var o=Bo[e];Bo[e++]=null;var a=Bo[e];if(Bo[e++]=null,n!==null&&o!==null){var r=n.pending;r===null?o.next=o:(o.next=r.next,r.next=o),n.pending=o}a!==0&&J1(t,o,a)}}function jd(A,e,t,n){Bo[ps++]=A,Bo[ps++]=e,Bo[ps++]=t,Bo[ps++]=n,Zp|=n,A.lanes|=n,A=A.alternate,A!==null&&(A.lanes|=n)}function qp(A,e,t,n){return jd(A,e,t,n),pd(A)}function xi(A,e){return jd(A,null,null,e),pd(A)}function J1(A,e,t){A.lanes|=t;var n=A.alternate;n!==null&&(n.lanes|=t);for(var o=!1,a=A.return;a!==null;)a.childLanes|=t,n=a.alternate,n!==null&&(n.childLanes|=t),a.tag===22&&(A=a.stateNode,A===null||A._visibility&1||(o=!0)),A=a,a=a.return;return A.tag===3?(a=A.stateNode,o&&e!==null&&(o=31-no(t),A=a.hiddenUpdates,n=A[o],n===null?A[o]=[e]:n.push(e),e.lane=t|536870912),a):null}function pd(A){if(50<rc)throw rc=0,Ip=null,Error(cA(185));for(var e=A.return;e!==null;)A=e,e=A.return;return A.tag===3?A.stateNode:null}var ms={};function yM(A,e,t,n){this.tag=A,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qn(A,e,t,n){return new yM(A,e,t,n)}function Am(A){return A=A.prototype,!(!A||!A.isReactComponent)}function Na(A,e){var t=A.alternate;return t===null?(t=qn(A.tag,e,A.key,A.mode),t.elementType=A.elementType,t.type=A.type,t.stateNode=A.stateNode,t.alternate=A,A.alternate=t):(t.pendingProps=e,t.type=A.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=A.flags&65011712,t.childLanes=A.childLanes,t.lanes=A.lanes,t.child=A.child,t.memoizedProps=A.memoizedProps,t.memoizedState=A.memoizedState,t.updateQueue=A.updateQueue,e=A.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=A.sibling,t.index=A.index,t.ref=A.ref,t.refCleanup=A.refCleanup,t}function W1(A,e){A.flags&=65011714;var t=A.alternate;return t===null?(A.childLanes=0,A.lanes=e,A.child=null,A.subtreeFlags=0,A.memoizedProps=null,A.memoizedState=null,A.updateQueue=null,A.dependencies=null,A.stateNode=null):(A.childLanes=t.childLanes,A.lanes=t.lanes,A.child=t.child,A.subtreeFlags=0,A.deletions=null,A.memoizedProps=t.memoizedProps,A.memoizedState=t.memoizedState,A.updateQueue=t.updateQueue,A.type=t.type,e=t.dependencies,A.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),A}function qu(A,e,t,n,o,a){var r=0;if(n=A,typeof A=="function")Am(A)&&(r=1);else if(typeof A=="string")r=BI(A,t,ra.current)?26:A==="html"||A==="head"||A==="body"?27:5;else A:switch(A){case _h:return A=qn(31,t,e,o),A.elementType=_h,A.lanes=a,A;case ls:return fi(t.children,o,a,e);case d1:r=8,o|=24;break;case Kh:return A=qn(12,t,e,o|2),A.elementType=Kh,A.lanes=a,A;case Jh:return A=qn(13,t,e,o),A.elementType=Jh,A.lanes=a,A;case Wh:return A=qn(19,t,e,o),A.elementType=Wh,A.lanes=a,A;default:if(typeof A=="object"&&A!==null)switch(A.$$typeof){case Pa:r=10;break A;case g1:r=9;break A;case Np:r=11;break A;case Lp:r=14;break A;case dr:r=16,n=null;break A}r=29,t=Error(cA(130,A===null?"null":typeof A,"")),n=null}return e=qn(r,t,e,o),e.elementType=A,e.type=n,e.lanes=a,e}function fi(A,e,t,n){return A=qn(7,A,n,e),A.lanes=t,A}function vh(A,e,t){return A=qn(6,A,null,e),A.lanes=t,A}function _1(A){var e=qn(18,null,null,0);return e.stateNode=A,e}function Eh(A,e,t){return e=qn(4,A.children!==null?A.children:[],A.key,e),e.lanes=t,e.stateNode={containerInfo:A.containerInfo,pendingChildren:null,implementation:A.implementation},e}var ow=new WeakMap;function xo(A,e){if(typeof A=="object"&&A!==null){var t=ow.get(A);return t!==void 0?t:(e={value:A,source:e,stack:Gb(e)},ow.set(A,e),e)}return{value:A,source:e,stack:Gb(e)}}var ys=[],bs=0,md=null,dc=0,vo=[],Eo=0,Tr=null,na=1,oa="";function Ra(A,e){ys[bs++]=dc,ys[bs++]=md,md=A,dc=e}function V1(A,e,t){vo[Eo++]=na,vo[Eo++]=oa,vo[Eo++]=Tr,Tr=A;var n=na;A=oa;var o=32-no(n)-1;n&=~(1<<o),t+=1;var a=32-no(e)+o;if(30<a){var r=o-o%5;a=(n&(1<<r)-1).toString(32),n>>=r,o-=r,na=1<<32-no(e)+o|t<<o|n,oa=a+A}else na=1<<a|t<<o|n,oa=A}function em(A){A.return!==null&&(Ra(A,1),V1(A,1,0))}function tm(A){for(;A===md;)md=ys[--bs],ys[bs]=null,dc=ys[--bs],ys[bs]=null;for(;A===Tr;)Tr=vo[--Eo],vo[Eo]=null,oa=vo[--Eo],vo[Eo]=null,na=vo[--Eo],vo[Eo]=null}function X1(A,e){vo[Eo++]=na,vo[Eo++]=oa,vo[Eo++]=Tr,na=e.id,oa=e.overflow,Tr=A}var dn=null,pt=null,Ie=!1,Er=null,Mo=!1,sp=Error(cA(519));function kr(A){var e=Error(cA(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw gc(xo(e,A)),sp}function aw(A){var e=A.stateNode,t=A.type,n=A.memoizedProps;switch(e[un]=A,e[zn]=n,t){case"dialog":we("cancel",e),we("close",e);break;case"iframe":case"object":case"embed":we("load",e);break;case"video":case"audio":for(t=0;t<mc.length;t++)we(mc[t],e);break;case"source":we("error",e);break;case"img":case"image":case"link":we("error",e),we("load",e);break;case"details":we("toggle",e);break;case"input":we("invalid",e),x1(e,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":we("invalid",e);break;case"textarea":we("invalid",e),I1(e,n.value,n.defaultValue,n.children)}t=n.children,typeof t!="string"&&typeof t!="number"&&typeof t!="bigint"||e.textContent===""+t||n.suppressHydrationWarning===!0||TC(e.textContent,t)?(n.popover!=null&&(we("beforetoggle",e),we("toggle",e)),n.onScroll!=null&&we("scroll",e),n.onScrollEnd!=null&&we("scrollend",e),n.onClick!=null&&(e.onclick=Ua),e=!0):e=!1,e||kr(A,!0)}function rw(A){for(dn=A.return;dn;)switch(dn.tag){case 5:case 31:case 13:Mo=!1;return;case 27:case 3:Mo=!0;return;default:dn=dn.return}}function as(A){if(A!==dn)return!1;if(!Ie)return rw(A),Ie=!0,!1;var e=A.tag,t;if((t=e!==3&&e!==27)&&((t=e===5)&&(t=A.type,t=!(t!=="form"&&t!=="button")||kp(A.type,A.memoizedProps)),t=!t),t&&pt&&kr(A),rw(A),e===13){if(A=A.memoizedState,A=A!==null?A.dehydrated:null,!A)throw Error(cA(317));pt=_w(A)}else if(e===31){if(A=A.memoizedState,A=A!==null?A.dehydrated:null,!A)throw Error(cA(317));pt=_w(A)}else e===27?(e=pt,Pr(A.type)?(A=Pp,Pp=null,pt=A):pt=e):pt=dn?Do(A.stateNode.nextSibling):null;return!0}function yi(){pt=dn=null,Ie=!1}function Qh(){var A=Er;return A!==null&&(Ln===null?Ln=A:Ln.push.apply(Ln,A),Er=null),A}function gc(A){Er===null?Er=[A]:Er.push(A)}var lp=ia(null),Mi=null,Ga=null;function fr(A,e,t){at(lp,e._currentValue),e._currentValue=t}function La(A){A._currentValue=lp.current,sn(lp)}function cp(A,e,t){for(;A!==null;){var n=A.alternate;if((A.childLanes&e)!==e?(A.childLanes|=e,n!==null&&(n.childLanes|=e)):n!==null&&(n.childLanes&e)!==e&&(n.childLanes|=e),A===t)break;A=A.return}}function up(A,e,t,n){var o=A.child;for(o!==null&&(o.return=A);o!==null;){var a=o.dependencies;if(a!==null){var r=o.child;a=a.firstContext;A:for(;a!==null;){var i=a;a=o;for(var s=0;s<e.length;s++)if(i.context===e[s]){a.lanes|=t,i=a.alternate,i!==null&&(i.lanes|=t),cp(a.return,t,A),n||(r=null);break A}a=i.next}}else if(o.tag===18){if(r=o.return,r===null)throw Error(cA(341));r.lanes|=t,a=r.alternate,a!==null&&(a.lanes|=t),cp(r,t,A),r=null}else r=o.child;if(r!==null)r.return=o;else for(r=o;r!==null;){if(r===A){r=null;break}if(o=r.sibling,o!==null){o.return=r.return,r=o;break}r=r.return}o=r}}function Ls(A,e,t,n){A=null;for(var o=e,a=!1;o!==null;){if(!a){if(o.flags&524288)a=!0;else if(o.flags&262144)break}if(o.tag===10){var r=o.alternate;if(r===null)throw Error(cA(387));if(r=r.memoizedProps,r!==null){var i=o.type;ao(o.pendingProps.value,r.value)||(A!==null?A.push(i):A=[i])}}else if(o===cd.current){if(r=o.alternate,r===null)throw Error(cA(387));r.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(A!==null?A.push(bc):A=[bc])}o=o.return}A!==null&&up(e,A,t,n),e.flags|=262144}function yd(A){for(A=A.firstContext;A!==null;){if(!ao(A.context._currentValue,A.memoizedValue))return!0;A=A.next}return!1}function bi(A){Mi=A,Ga=null,A=A.dependencies,A!==null&&(A.firstContext=null)}function gn(A){return $1(Mi,A)}function Gu(A,e){return Mi===null&&bi(A),$1(A,e)}function $1(A,e){var t=e._currentValue;if(e={context:e,memoizedValue:t,next:null},Ga===null){if(A===null)throw Error(cA(308));Ga=e,A.dependencies={lanes:0,firstContext:e},A.flags|=524288}else Ga=Ga.next=e;return t}var bM=typeof AbortController<"u"?AbortController:function(){var A=[],e=this.signal={aborted:!1,addEventListener:function(t,n){A.push(n)}};this.abort=function(){e.aborted=!0,A.forEach(function(t){return t()})}},wM=An.unstable_scheduleCallback,BM=An.unstable_NormalPriority,Jt={$$typeof:Pa,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function nm(){return{controller:new bM,data:new Map,refCount:0}}function Ic(A){A.refCount--,A.refCount===0&&wM(BM,function(){A.controller.abort()})}var Zl=null,dp=0,Fs=0,Es=null;function CM(A,e){if(Zl===null){var t=Zl=[];dp=0,Fs=Im(),Es={status:"pending",value:void 0,then:function(n){t.push(n)}}}return dp++,e.then(iw,iw),e}function iw(){if(--dp===0&&Zl!==null){Es!==null&&(Es.status="fulfilled");var A=Zl;Zl=null,Fs=0,Es=null;for(var e=0;e<A.length;e++)(0,A[e])()}}function vM(A,e){var t=[],n={status:"pending",value:null,reason:null,then:function(o){t.push(o)}};return A.then(function(){n.status="fulfilled",n.value=e;for(var o=0;o<t.length;o++)(0,t[o])(e)},function(o){for(n.status="rejected",n.reason=o,o=0;o<t.length;o++)(0,t[o])(void 0)}),n}var sw=ae.S;ae.S=function(A,e){uC=eo(),typeof e=="object"&&e!==null&&typeof e.then=="function"&&CM(A,e),sw!==null&&sw(A,e)};var hi=ia(null);function om(){var A=hi.current;return A!==null?A:At.pooledCache}function Ad(A,e){e===null?at(hi,hi.current):at(hi,e.pool)}function Z1(){var A=om();return A===null?null:{parent:Jt._currentValue,pool:A}}var Hs=Error(cA(460)),am=Error(cA(474)),Kd=Error(cA(542)),bd={then:function(){}};function lw(A){return A=A.status,A==="fulfilled"||A==="rejected"}function q1(A,e,t){switch(t=A[t],t===void 0?A.push(e):t!==e&&(e.then(Ua,Ua),e=t),e.status){case"fulfilled":return e.value;case"rejected":throw A=e.reason,uw(A),A;default:if(typeof e.status=="string")e.then(Ua,Ua);else{if(A=At,A!==null&&100<A.shellSuspendCounter)throw Error(cA(482));A=e,A.status="pending",A.then(function(n){if(e.status==="pending"){var o=e;o.status="fulfilled",o.value=n}},function(n){if(e.status==="pending"){var o=e;o.status="rejected",o.reason=n}})}switch(e.status){case"fulfilled":return e.value;case"rejected":throw A=e.reason,uw(A),A}throw pi=e,Hs}}function ui(A){try{var e=A._init;return e(A._payload)}catch(t){throw t!==null&&typeof t=="object"&&typeof t.then=="function"?(pi=t,Hs):t}}var pi=null;function cw(){if(pi===null)throw Error(cA(459));var A=pi;return pi=null,A}function uw(A){if(A===Hs||A===Kd)throw Error(cA(483))}var Qs=null,fc=0;function Nu(A){var e=fc;return fc+=1,Qs===null&&(Qs=[]),q1(Qs,A,e)}function Gl(A,e){e=e.props.ref,A.ref=e!==void 0?e:null}function Lu(A,e){throw e.$$typeof===lx?Error(cA(525)):(A=Object.prototype.toString.call(e),Error(cA(31,A==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":A)))}function AB(A){function e(C,y){if(A){var w=C.deletions;w===null?(C.deletions=[y],C.flags|=16):w.push(y)}}function t(C,y){if(!A)return null;for(;y!==null;)e(C,y),y=y.sibling;return null}function n(C){for(var y=new Map;C!==null;)C.key!==null?y.set(C.key,C):y.set(C.index,C),C=C.sibling;return y}function o(C,y){return C=Na(C,y),C.index=0,C.sibling=null,C}function a(C,y,w){return C.index=w,A?(w=C.alternate,w!==null?(w=w.index,w<y?(C.flags|=67108866,y):w):(C.flags|=67108866,y)):(C.flags|=1048576,y)}function r(C){return A&&C.alternate===null&&(C.flags|=67108866),C}function i(C,y,w,I){return y===null||y.tag!==6?(y=vh(w,C.mode,I),y.return=C,y):(y=o(y,w),y.return=C,y)}function s(C,y,w,I){var F=w.type;return F===ls?d(C,y,w.props.children,I,w.key):y!==null&&(y.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===dr&&ui(F)===y.type)?(y=o(y,w.props),Gl(y,w),y.return=C,y):(y=qu(w.type,w.key,w.props,null,C.mode,I),Gl(y,w),y.return=C,y)}function l(C,y,w,I){return y===null||y.tag!==4||y.stateNode.containerInfo!==w.containerInfo||y.stateNode.implementation!==w.implementation?(y=Eh(w,C.mode,I),y.return=C,y):(y=o(y,w.children||[]),y.return=C,y)}function d(C,y,w,I,F){return y===null||y.tag!==7?(y=fi(w,C.mode,I,F),y.return=C,y):(y=o(y,w),y.return=C,y)}function u(C,y,w){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return y=vh(""+y,C.mode,w),y.return=C,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Fu:return w=qu(y.type,y.key,y.props,null,C.mode,w),Gl(w,y),w.return=C,w;case jl:return y=Eh(y,C.mode,w),y.return=C,y;case dr:return y=ui(y),u(C,y,w)}if(Kl(y)||Pl(y))return y=fi(y,C.mode,w,null),y.return=C,y;if(typeof y.then=="function")return u(C,Nu(y),w);if(y.$$typeof===Pa)return u(C,Gu(C,y),w);Lu(C,y)}return null}function c(C,y,w,I){var F=y!==null?y.key:null;if(typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint")return F!==null?null:i(C,y,""+w,I);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case Fu:return w.key===F?s(C,y,w,I):null;case jl:return w.key===F?l(C,y,w,I):null;case dr:return w=ui(w),c(C,y,w,I)}if(Kl(w)||Pl(w))return F!==null?null:d(C,y,w,I,null);if(typeof w.then=="function")return c(C,y,Nu(w),I);if(w.$$typeof===Pa)return c(C,y,Gu(C,w),I);Lu(C,w)}return null}function p(C,y,w,I,F){if(typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint")return C=C.get(w)||null,i(y,C,""+I,F);if(typeof I=="object"&&I!==null){switch(I.$$typeof){case Fu:return C=C.get(I.key===null?w:I.key)||null,s(y,C,I,F);case jl:return C=C.get(I.key===null?w:I.key)||null,l(y,C,I,F);case dr:return I=ui(I),p(C,y,w,I,F)}if(Kl(I)||Pl(I))return C=C.get(w)||null,d(y,C,I,F,null);if(typeof I.then=="function")return p(C,y,w,Nu(I),F);if(I.$$typeof===Pa)return p(C,y,w,Gu(y,I),F);Lu(y,I)}return null}function B(C,y,w,I){for(var F=null,G=null,E=y,D=y=0,k=null;E!==null&&D<w.length;D++){E.index>D?(k=E,E=null):k=E.sibling;var U=c(C,E,w[D],I);if(U===null){E===null&&(E=k);break}A&&E&&U.alternate===null&&e(C,E),y=a(U,y,D),G===null?F=U:G.sibling=U,G=U,E=k}if(D===w.length)return t(C,E),Ie&&Ra(C,D),F;if(E===null){for(;D<w.length;D++)E=u(C,w[D],I),E!==null&&(y=a(E,y,D),G===null?F=E:G.sibling=E,G=E);return Ie&&Ra(C,D),F}for(E=n(E);D<w.length;D++)k=p(E,C,D,w[D],I),k!==null&&(A&&k.alternate!==null&&E.delete(k.key===null?D:k.key),y=a(k,y,D),G===null?F=k:G.sibling=k,G=k);return A&&E.forEach(function(O){return e(C,O)}),Ie&&Ra(C,D),F}function v(C,y,w,I){if(w==null)throw Error(cA(151));for(var F=null,G=null,E=y,D=y=0,k=null,U=w.next();E!==null&&!U.done;D++,U=w.next()){E.index>D?(k=E,E=null):k=E.sibling;var O=c(C,E,U.value,I);if(O===null){E===null&&(E=k);break}A&&E&&O.alternate===null&&e(C,E),y=a(O,y,D),G===null?F=O:G.sibling=O,G=O,E=k}if(U.done)return t(C,E),Ie&&Ra(C,D),F;if(E===null){for(;!U.done;D++,U=w.next())U=u(C,U.value,I),U!==null&&(y=a(U,y,D),G===null?F=U:G.sibling=U,G=U);return Ie&&Ra(C,D),F}for(E=n(E);!U.done;D++,U=w.next())U=p(E,C,D,U.value,I),U!==null&&(A&&U.alternate!==null&&E.delete(U.key===null?D:U.key),y=a(U,y,D),G===null?F=U:G.sibling=U,G=U);return A&&E.forEach(function(T){return e(C,T)}),Ie&&Ra(C,D),F}function Q(C,y,w,I){if(typeof w=="object"&&w!==null&&w.type===ls&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Fu:A:{for(var F=w.key;y!==null;){if(y.key===F){if(F=w.type,F===ls){if(y.tag===7){t(C,y.sibling),I=o(y,w.props.children),I.return=C,C=I;break A}}else if(y.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===dr&&ui(F)===y.type){t(C,y.sibling),I=o(y,w.props),Gl(I,w),I.return=C,C=I;break A}t(C,y);break}else e(C,y);y=y.sibling}w.type===ls?(I=fi(w.props.children,C.mode,I,w.key),I.return=C,C=I):(I=qu(w.type,w.key,w.props,null,C.mode,I),Gl(I,w),I.return=C,C=I)}return r(C);case jl:A:{for(F=w.key;y!==null;){if(y.key===F)if(y.tag===4&&y.stateNode.containerInfo===w.containerInfo&&y.stateNode.implementation===w.implementation){t(C,y.sibling),I=o(y,w.children||[]),I.return=C,C=I;break A}else{t(C,y);break}else e(C,y);y=y.sibling}I=Eh(w,C.mode,I),I.return=C,C=I}return r(C);case dr:return w=ui(w),Q(C,y,w,I)}if(Kl(w))return B(C,y,w,I);if(Pl(w)){if(F=Pl(w),typeof F!="function")throw Error(cA(150));return w=F.call(w),v(C,y,w,I)}if(typeof w.then=="function")return Q(C,y,Nu(w),I);if(w.$$typeof===Pa)return Q(C,y,Gu(C,w),I);Lu(C,w)}return typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint"?(w=""+w,y!==null&&y.tag===6?(t(C,y.sibling),I=o(y,w),I.return=C,C=I):(t(C,y),I=vh(w,C.mode,I),I.return=C,C=I),r(C)):t(C,y)}return function(C,y,w,I){try{fc=0;var F=Q(C,y,w,I);return Qs=null,F}catch(E){if(E===Hs||E===Kd)throw E;var G=qn(29,E,null,C.mode);return G.lanes=I,G.return=C,G}finally{}}}var wi=AB(!0),eB=AB(!1),gr=!1;function rm(A){A.updateQueue={baseState:A.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function gp(A,e){A=A.updateQueue,e.updateQueue===A&&(e.updateQueue={baseState:A.baseState,firstBaseUpdate:A.firstBaseUpdate,lastBaseUpdate:A.lastBaseUpdate,shared:A.shared,callbacks:null})}function Qr(A){return{lane:A,tag:0,payload:null,callback:null,next:null}}function xr(A,e,t){var n=A.updateQueue;if(n===null)return null;if(n=n.shared,Ge&2){var o=n.pending;return o===null?e.next=e:(e.next=o.next,o.next=e),n.pending=e,e=pd(A),J1(A,null,t),e}return jd(A,n,e,t),pd(A)}function ql(A,e,t){if(e=e.updateQueue,e!==null&&(e=e.shared,(t&4194048)!==0)){var n=e.lanes;n&=A.pendingLanes,t|=n,e.lanes=t,b1(A,t)}}function xh(A,e){var t=A.updateQueue,n=A.alternate;if(n!==null&&(n=n.updateQueue,t===n)){var o=null,a=null;if(t=t.firstBaseUpdate,t!==null){do{var r={lane:t.lane,tag:t.tag,payload:t.payload,callback:null,next:null};a===null?o=a=r:a=a.next=r,t=t.next}while(t!==null);a===null?o=a=e:a=a.next=e}else o=a=e;t={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:n.shared,callbacks:n.callbacks},A.updateQueue=t;return}A=t.lastBaseUpdate,A===null?t.firstBaseUpdate=e:A.next=e,t.lastBaseUpdate=e}var fp=!1;function Ac(){if(fp){var A=Es;if(A!==null)throw A}}function ec(A,e,t,n){fp=!1;var o=A.updateQueue;gr=!1;var a=o.firstBaseUpdate,r=o.lastBaseUpdate,i=o.shared.pending;if(i!==null){o.shared.pending=null;var s=i,l=s.next;s.next=null,r===null?a=l:r.next=l,r=s;var d=A.alternate;d!==null&&(d=d.updateQueue,i=d.lastBaseUpdate,i!==r&&(i===null?d.firstBaseUpdate=l:i.next=l,d.lastBaseUpdate=s))}if(a!==null){var u=o.baseState;r=0,d=l=s=null,i=a;do{var c=i.lane&-536870913,p=c!==i.lane;if(p?(xe&c)===c:(n&c)===c){c!==0&&c===Fs&&(fp=!0),d!==null&&(d=d.next={lane:0,tag:i.tag,payload:i.payload,callback:null,next:null});A:{var B=A,v=i;c=e;var Q=t;switch(v.tag){case 1:if(B=v.payload,typeof B=="function"){u=B.call(Q,u,c);break A}u=B;break A;case 3:B.flags=B.flags&-65537|128;case 0:if(B=v.payload,c=typeof B=="function"?B.call(Q,u,c):B,c==null)break A;u=mt({},u,c);break A;case 2:gr=!0}}c=i.callback,c!==null&&(A.flags|=64,p&&(A.flags|=8192),p=o.callbacks,p===null?o.callbacks=[c]:p.push(c))}else p={lane:c,tag:i.tag,payload:i.payload,callback:i.callback,next:null},d===null?(l=d=p,s=u):d=d.next=p,r|=c;if(i=i.next,i===null){if(i=o.shared.pending,i===null)break;p=i,i=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);d===null&&(s=u),o.baseState=s,o.firstBaseUpdate=l,o.lastBaseUpdate=d,a===null&&(o.shared.lanes=0),Rr|=r,A.lanes=r,A.memoizedState=u}}function tB(A,e){if(typeof A!="function")throw Error(cA(191,A));A.call(e)}function nB(A,e){var t=A.callbacks;if(t!==null)for(A.callbacks=null,A=0;A<t.length;A++)tB(t[A],e)}var Ts=ia(null),wd=ia(0);function dw(A,e){A=Wa,at(wd,A),at(Ts,e),Wa=A|e.baseLanes}function hp(){at(wd,Wa),at(Ts,Ts.current)}function im(){Wa=wd.current,sn(Ts),sn(wd)}var ro=ia(null),Io=null;function hr(A){var e=A.alternate;at(Ot,Ot.current&1),at(ro,A),Io===null&&(e===null||Ts.current!==null||e.memoizedState!==null)&&(Io=A)}function pp(A){at(Ot,Ot.current),at(ro,A),Io===null&&(Io=A)}function oB(A){A.tag===22?(at(Ot,Ot.current),at(ro,A),Io===null&&(Io=A)):pr(A)}function pr(){at(Ot,Ot.current),at(ro,ro.current)}function Zn(A){sn(ro),Io===A&&(Io=null),sn(Ot)}var Ot=ia(0);function Bd(A){for(var e=A;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||Rp(t)||Op(t)))return e}else if(e.tag===19&&(e.memoizedProps.revealOrder==="forwards"||e.memoizedProps.revealOrder==="backwards"||e.memoizedProps.revealOrder==="unstable_legacy-backwards"||e.memoizedProps.revealOrder==="together")){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===A)break;for(;e.sibling===null;){if(e.return===null||e.return===A)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var ja=0,he=null,Xe=null,jt=null,Cd=!1,xs=!1,Bi=!1,vd=0,hc=0,Ms=null,EM=0;function It(){throw Error(cA(321))}function sm(A,e){if(e===null)return!1;for(var t=0;t<e.length&&t<A.length;t++)if(!ao(A[t],e[t]))return!1;return!0}function lm(A,e,t,n,o,a){return ja=a,he=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,ae.H=A===null||A.memoizedState===null?RB:wm,Bi=!1,a=t(n,o),Bi=!1,xs&&(a=rB(e,t,n,o)),aB(A),a}function aB(A){ae.H=pc;var e=Xe!==null&&Xe.next!==null;if(ja=0,jt=Xe=he=null,Cd=!1,hc=0,Ms=null,e)throw Error(cA(300));A===null||Wt||(A=A.dependencies,A!==null&&yd(A)&&(Wt=!0))}function rB(A,e,t,n){he=A;var o=0;do{if(xs&&(Ms=null),hc=0,xs=!1,25<=o)throw Error(cA(301));if(o+=1,jt=Xe=null,A.updateQueue!=null){var a=A.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}ae.H=OB,a=e(t,n)}while(xs);return a}function QM(){var A=ae.H,e=A.useState()[0];return e=typeof e.then=="function"?Dc(e):e,A=A.useState()[0],(Xe!==null?Xe.memoizedState:null)!==A&&(he.flags|=1024),e}function cm(){var A=vd!==0;return vd=0,A}function um(A,e,t){e.updateQueue=A.updateQueue,e.flags&=-2053,A.lanes&=~t}function dm(A){if(Cd){for(A=A.memoizedState;A!==null;){var e=A.queue;e!==null&&(e.pending=null),A=A.next}Cd=!1}ja=0,jt=Xe=he=null,xs=!1,hc=vd=0,Ms=null}function Fn(){var A={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return jt===null?he.memoizedState=jt=A:jt=jt.next=A,jt}function Pt(){if(Xe===null){var A=he.alternate;A=A!==null?A.memoizedState:null}else A=Xe.next;var e=jt===null?he.memoizedState:jt.next;if(e!==null)jt=e,Xe=A;else{if(A===null)throw he.alternate===null?Error(cA(467)):Error(cA(310));Xe=A,A={memoizedState:Xe.memoizedState,baseState:Xe.baseState,baseQueue:Xe.baseQueue,queue:Xe.queue,next:null},jt===null?he.memoizedState=jt=A:jt=jt.next=A}return jt}function Jd(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Dc(A){var e=hc;return hc+=1,Ms===null&&(Ms=[]),A=q1(Ms,A,e),e=he,(jt===null?e.memoizedState:jt.next)===null&&(e=e.alternate,ae.H=e===null||e.memoizedState===null?RB:wm),A}function Wd(A){if(A!==null&&typeof A=="object"){if(typeof A.then=="function")return Dc(A);if(A.$$typeof===Pa)return gn(A)}throw Error(cA(438,String(A)))}function gm(A){var e=null,t=he.updateQueue;if(t!==null&&(e=t.memoCache),e==null){var n=he.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(e={data:n.data.map(function(o){return o.slice()}),index:0})))}if(e==null&&(e={data:[],index:0}),t===null&&(t=Jd(),he.updateQueue=t),t.memoCache=e,t=e.data[e.index],t===void 0)for(t=e.data[e.index]=Array(A),n=0;n<A;n++)t[n]=cx;return e.index++,t}function Ka(A,e){return typeof e=="function"?e(A):e}function ed(A){var e=Pt();return fm(e,Xe,A)}function fm(A,e,t){var n=A.queue;if(n===null)throw Error(cA(311));n.lastRenderedReducer=t;var o=A.baseQueue,a=n.pending;if(a!==null){if(o!==null){var r=o.next;o.next=a.next,a.next=r}e.baseQueue=o=a,n.pending=null}if(a=A.baseState,o===null)A.memoizedState=a;else{e=o.next;var i=r=null,s=null,l=e,d=!1;do{var u=l.lane&-536870913;if(u!==l.lane?(xe&u)===u:(ja&u)===u){var c=l.revertLane;if(c===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),u===Fs&&(d=!0);else if((ja&c)===c){l=l.next,c===Fs&&(d=!0);continue}else u={lane:0,revertLane:l.revertLane,gesture:null,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null},s===null?(i=s=u,r=a):s=s.next=u,he.lanes|=c,Rr|=c;u=l.action,Bi&&t(a,u),a=l.hasEagerState?l.eagerState:t(a,u)}else c={lane:u,revertLane:l.revertLane,gesture:l.gesture,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null},s===null?(i=s=c,r=a):s=s.next=c,he.lanes|=u,Rr|=u;l=l.next}while(l!==null&&l!==e);if(s===null?r=a:s.next=i,!ao(a,A.memoizedState)&&(Wt=!0,d&&(t=Es,t!==null)))throw t;A.memoizedState=a,A.baseState=r,A.baseQueue=s,n.lastRenderedState=a}return o===null&&(n.lanes=0),[A.memoizedState,n.dispatch]}function Mh(A){var e=Pt(),t=e.queue;if(t===null)throw Error(cA(311));t.lastRenderedReducer=A;var n=t.dispatch,o=t.pending,a=e.memoizedState;if(o!==null){t.pending=null;var r=o=o.next;do a=A(a,r.action),r=r.next;while(r!==o);ao(a,e.memoizedState)||(Wt=!0),e.memoizedState=a,e.baseQueue===null&&(e.baseState=a),t.lastRenderedState=a}return[a,n]}function iB(A,e,t){var n=he,o=Pt(),a=Ie;if(a){if(t===void 0)throw Error(cA(407));t=t()}else t=e();var r=!ao((Xe||o).memoizedState,t);if(r&&(o.memoizedState=t,Wt=!0),o=o.queue,hm(cB.bind(null,n,o,A),[A]),o.getSnapshot!==e||r||jt!==null&&jt.memoizedState.tag&1){if(n.flags|=2048,ks(9,{destroy:void 0},lB.bind(null,n,o,t,e),null),At===null)throw Error(cA(349));a||ja&127||sB(n,e,t)}return t}function sB(A,e,t){A.flags|=16384,A={getSnapshot:e,value:t},e=he.updateQueue,e===null?(e=Jd(),he.updateQueue=e,e.stores=[A]):(t=e.stores,t===null?e.stores=[A]:t.push(A))}function lB(A,e,t,n){e.value=t,e.getSnapshot=n,uB(e)&&dB(A)}function cB(A,e,t){return t(function(){uB(e)&&dB(A)})}function uB(A){var e=A.getSnapshot;A=A.value;try{var t=e();return!ao(A,t)}catch{return!0}}function dB(A){var e=xi(A,2);e!==null&&Hn(e,A,2)}function mp(A){var e=Fn();if(typeof A=="function"){var t=A;if(A=t(),Bi){yr(!0);try{t()}finally{yr(!1)}}}return e.memoizedState=e.baseState=A,e.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ka,lastRenderedState:A},e}function gB(A,e,t,n){return A.baseState=t,fm(A,Xe,typeof n=="function"?n:Ka)}function xM(A,e,t,n,o){if(Vd(A))throw Error(cA(485));if(A=e.action,A!==null){var a={payload:o,action:A,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){a.listeners.push(r)}};ae.T!==null?t(!0):a.isTransition=!1,n(a),t=e.pending,t===null?(a.next=e.pending=a,fB(e,a)):(a.next=t.next,e.pending=t.next=a)}}function fB(A,e){var t=e.action,n=e.payload,o=A.state;if(e.isTransition){var a=ae.T,r={};ae.T=r;try{var i=t(o,n),s=ae.S;s!==null&&s(r,i),gw(A,e,i)}catch(l){yp(A,e,l)}finally{a!==null&&r.types!==null&&(a.types=r.types),ae.T=a}}else try{a=t(o,n),gw(A,e,a)}catch(l){yp(A,e,l)}}function gw(A,e,t){t!==null&&typeof t=="object"&&typeof t.then=="function"?t.then(function(n){fw(A,e,n)},function(n){return yp(A,e,n)}):fw(A,e,t)}function fw(A,e,t){e.status="fulfilled",e.value=t,hB(e),A.state=t,e=A.pending,e!==null&&(t=e.next,t===e?A.pending=null:(t=t.next,e.next=t,fB(A,t)))}function yp(A,e,t){var n=A.pending;if(A.pending=null,n!==null){n=n.next;do e.status="rejected",e.reason=t,hB(e),e=e.next;while(e!==n)}A.action=null}function hB(A){A=A.listeners;for(var e=0;e<A.length;e++)(0,A[e])()}function pB(A,e){return e}function hw(A,e){if(Ie){var t=At.formState;if(t!==null){A:{var n=he;if(Ie){if(pt){e:{for(var o=pt,a=Mo;o.nodeType!==8;){if(!a){o=null;break e}if(o=Do(o.nextSibling),o===null){o=null;break e}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){pt=Do(o.nextSibling),n=o.data==="F!";break A}}kr(n)}n=!1}n&&(e=t[0])}}return t=Fn(),t.memoizedState=t.baseState=e,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:pB,lastRenderedState:e},t.queue=n,t=TB.bind(null,he,n),n.dispatch=t,n=mp(!1),a=bm.bind(null,he,!1,n.queue),n=Fn(),o={state:e,dispatch:null,action:A,pending:null},n.queue=o,t=xM.bind(null,he,o,a,t),o.dispatch=t,n.memoizedState=A,[e,t,!1]}function pw(A){var e=Pt();return mB(e,Xe,A)}function mB(A,e,t){if(e=fm(A,e,pB)[0],A=ed(Ka)[0],typeof e=="object"&&e!==null&&typeof e.then=="function")try{var n=Dc(e)}catch(r){throw r===Hs?Kd:r}else n=e;e=Pt();var o=e.queue,a=o.dispatch;return t!==e.memoizedState&&(he.flags|=2048,ks(9,{destroy:void 0},MM.bind(null,o,t),null)),[n,a,A]}function MM(A,e){A.action=e}function mw(A){var e=Pt(),t=Xe;if(t!==null)return mB(e,t,A);Pt(),e=e.memoizedState,t=Pt();var n=t.queue.dispatch;return t.memoizedState=A,[e,n,!1]}function ks(A,e,t,n){return A={tag:A,create:t,deps:n,inst:e,next:null},e=he.updateQueue,e===null&&(e=Jd(),he.updateQueue=e),t=e.lastEffect,t===null?e.lastEffect=A.next=A:(n=t.next,t.next=A,A.next=n,e.lastEffect=A),A}function yB(){return Pt().memoizedState}function td(A,e,t,n){var o=Fn();he.flags|=A,o.memoizedState=ks(1|e,{destroy:void 0},t,n===void 0?null:n)}function _d(A,e,t,n){var o=Pt();n=n===void 0?null:n;var a=o.memoizedState.inst;Xe!==null&&n!==null&&sm(n,Xe.memoizedState.deps)?o.memoizedState=ks(e,a,t,n):(he.flags|=A,o.memoizedState=ks(1|e,a,t,n))}function yw(A,e){td(8390656,8,A,e)}function hm(A,e){_d(2048,8,A,e)}function IM(A){he.flags|=4;var e=he.updateQueue;if(e===null)e=Jd(),he.updateQueue=e,e.events=[A];else{var t=e.events;t===null?e.events=[A]:t.push(A)}}function bB(A){var e=Pt().memoizedState;return IM({ref:e,nextImpl:A}),function(){if(Ge&2)throw Error(cA(440));return e.impl.apply(void 0,arguments)}}function wB(A,e){return _d(4,2,A,e)}function BB(A,e){return _d(4,4,A,e)}function CB(A,e){if(typeof e=="function"){A=A();var t=e(A);return function(){typeof t=="function"?t():e(null)}}if(e!=null)return A=A(),e.current=A,function(){e.current=null}}function vB(A,e,t){t=t!=null?t.concat([A]):null,_d(4,4,CB.bind(null,e,A),t)}function pm(){}function EB(A,e){var t=Pt();e=e===void 0?null:e;var n=t.memoizedState;return e!==null&&sm(e,n[1])?n[0]:(t.memoizedState=[A,e],A)}function QB(A,e){var t=Pt();e=e===void 0?null:e;var n=t.memoizedState;if(e!==null&&sm(e,n[1]))return n[0];if(n=A(),Bi){yr(!0);try{A()}finally{yr(!1)}}return t.memoizedState=[n,e],n}function mm(A,e,t){return t===void 0||ja&1073741824&&!(xe&261930)?A.memoizedState=e:(A.memoizedState=t,A=gC(),he.lanes|=A,Rr|=A,t)}function xB(A,e,t,n){return ao(t,e)?t:Ts.current!==null?(A=mm(A,t,n),ao(A,e)||(Wt=!0),A):!(ja&42)||ja&1073741824&&!(xe&261930)?(Wt=!0,A.memoizedState=t):(A=gC(),he.lanes|=A,Rr|=A,e)}function MB(A,e,t,n,o){var a=Ne.p;Ne.p=a!==0&&8>a?a:8;var r=ae.T,i={};ae.T=i,bm(A,!1,e,t);try{var s=o(),l=ae.S;if(l!==null&&l(i,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=vM(s,n);tc(A,e,d,oo(A))}else tc(A,e,n,oo(A))}catch(u){tc(A,e,{then:function(){},status:"rejected",reason:u},oo())}finally{Ne.p=a,r!==null&&i.types!==null&&(r.types=i.types),ae.T=r}}function DM(){}function bp(A,e,t,n){if(A.tag!==5)throw Error(cA(476));var o=IB(A).queue;MB(A,o,e,gi,t===null?DM:function(){return DB(A),t(n)})}function IB(A){var e=A.memoizedState;if(e!==null)return e;e={memoizedState:gi,baseState:gi,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ka,lastRenderedState:gi},next:null};var t={};return e.next={memoizedState:t,baseState:t,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ka,lastRenderedState:t},next:null},A.memoizedState=e,A=A.alternate,A!==null&&(A.memoizedState=e),e}function DB(A){var e=IB(A);e.next===null&&(e=A.alternate.memoizedState),tc(A,e.next.queue,{},oo())}function ym(){return gn(bc)}function SB(){return Pt().memoizedState}function FB(){return Pt().memoizedState}function SM(A){for(var e=A.return;e!==null;){switch(e.tag){case 24:case 3:var t=oo();A=Qr(t);var n=xr(e,A,t);n!==null&&(Hn(n,e,t),ql(n,e,t)),e={cache:nm()},A.payload=e;return}e=e.return}}function FM(A,e,t){var n=oo();t={lane:n,revertLane:0,gesture:null,action:t,hasEagerState:!1,eagerState:null,next:null},Vd(A)?kB(e,t):(t=qp(A,e,t,n),t!==null&&(Hn(t,A,n),YB(t,e,n)))}function TB(A,e,t){var n=oo();tc(A,e,t,n)}function tc(A,e,t,n){var o={lane:n,revertLane:0,gesture:null,action:t,hasEagerState:!1,eagerState:null,next:null};if(Vd(A))kB(e,o);else{var a=A.alternate;if(A.lanes===0&&(a===null||a.lanes===0)&&(a=e.lastRenderedReducer,a!==null))try{var r=e.lastRenderedState,i=a(r,t);if(o.hasEagerState=!0,o.eagerState=i,ao(i,r))return jd(A,e,o,0),At===null&&zd(),!1}catch{}finally{}if(t=qp(A,e,o,n),t!==null)return Hn(t,A,n),YB(t,e,n),!0}return!1}function bm(A,e,t,n){if(n={lane:2,revertLane:Im(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Vd(A)){if(e)throw Error(cA(479))}else e=qp(A,t,n,2),e!==null&&Hn(e,A,2)}function Vd(A){var e=A.alternate;return A===he||e!==null&&e===he}function kB(A,e){xs=Cd=!0;var t=A.pending;t===null?e.next=e:(e.next=t.next,t.next=e),A.pending=e}function YB(A,e,t){if(t&4194048){var n=e.lanes;n&=A.pendingLanes,t|=n,e.lanes=t,b1(A,t)}}var pc={readContext:gn,use:Wd,useCallback:It,useContext:It,useEffect:It,useImperativeHandle:It,useLayoutEffect:It,useInsertionEffect:It,useMemo:It,useReducer:It,useRef:It,useState:It,useDebugValue:It,useDeferredValue:It,useTransition:It,useSyncExternalStore:It,useId:It,useHostTransitionStatus:It,useFormState:It,useActionState:It,useOptimistic:It,useMemoCache:It,useCacheRefresh:It};pc.useEffectEvent=It;var RB={readContext:gn,use:Wd,useCallback:function(A,e){return Fn().memoizedState=[A,e===void 0?null:e],A},useContext:gn,useEffect:yw,useImperativeHandle:function(A,e,t){t=t!=null?t.concat([A]):null,td(4194308,4,CB.bind(null,e,A),t)},useLayoutEffect:function(A,e){return td(4194308,4,A,e)},useInsertionEffect:function(A,e){td(4,2,A,e)},useMemo:function(A,e){var t=Fn();e=e===void 0?null:e;var n=A();if(Bi){yr(!0);try{A()}finally{yr(!1)}}return t.memoizedState=[n,e],n},useReducer:function(A,e,t){var n=Fn();if(t!==void 0){var o=t(e);if(Bi){yr(!0);try{t(e)}finally{yr(!1)}}}else o=e;return n.memoizedState=n.baseState=o,A={pending:null,lanes:0,dispatch:null,lastRenderedReducer:A,lastRenderedState:o},n.queue=A,A=A.dispatch=FM.bind(null,he,A),[n.memoizedState,A]},useRef:function(A){var e=Fn();return A={current:A},e.memoizedState=A},useState:function(A){A=mp(A);var e=A.queue,t=TB.bind(null,he,e);return e.dispatch=t,[A.memoizedState,t]},useDebugValue:pm,useDeferredValue:function(A,e){var t=Fn();return mm(t,A,e)},useTransition:function(){var A=mp(!1);return A=MB.bind(null,he,A.queue,!0,!1),Fn().memoizedState=A,[!1,A]},useSyncExternalStore:function(A,e,t){var n=he,o=Fn();if(Ie){if(t===void 0)throw Error(cA(407));t=t()}else{if(t=e(),At===null)throw Error(cA(349));xe&127||sB(n,e,t)}o.memoizedState=t;var a={value:t,getSnapshot:e};return o.queue=a,yw(cB.bind(null,n,a,A),[A]),n.flags|=2048,ks(9,{destroy:void 0},lB.bind(null,n,a,t,e),null),t},useId:function(){var A=Fn(),e=At.identifierPrefix;if(Ie){var t=oa,n=na;t=(n&~(1<<32-no(n)-1)).toString(32)+t,e="_"+e+"R_"+t,t=vd++,0<t&&(e+="H"+t.toString(32)),e+="_"}else t=EM++,e="_"+e+"r_"+t.toString(32)+"_";return A.memoizedState=e},useHostTransitionStatus:ym,useFormState:hw,useActionState:hw,useOptimistic:function(A){var e=Fn();e.memoizedState=e.baseState=A;var t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return e.queue=t,e=bm.bind(null,he,!0,t),t.dispatch=e,[A,e]},useMemoCache:gm,useCacheRefresh:function(){return Fn().memoizedState=SM.bind(null,he)},useEffectEvent:function(A){var e=Fn(),t={impl:A};return e.memoizedState=t,function(){if(Ge&2)throw Error(cA(440));return t.impl.apply(void 0,arguments)}}},wm={readContext:gn,use:Wd,useCallback:EB,useContext:gn,useEffect:hm,useImperativeHandle:vB,useInsertionEffect:wB,useLayoutEffect:BB,useMemo:QB,useReducer:ed,useRef:yB,useState:function(){return ed(Ka)},useDebugValue:pm,useDeferredValue:function(A,e){var t=Pt();return xB(t,Xe.memoizedState,A,e)},useTransition:function(){var A=ed(Ka)[0],e=Pt().memoizedState;return[typeof A=="boolean"?A:Dc(A),e]},useSyncExternalStore:iB,useId:SB,useHostTransitionStatus:ym,useFormState:pw,useActionState:pw,useOptimistic:function(A,e){var t=Pt();return gB(t,Xe,A,e)},useMemoCache:gm,useCacheRefresh:FB};wm.useEffectEvent=bB;var OB={readContext:gn,use:Wd,useCallback:EB,useContext:gn,useEffect:hm,useImperativeHandle:vB,useInsertionEffect:wB,useLayoutEffect:BB,useMemo:QB,useReducer:Mh,useRef:yB,useState:function(){return Mh(Ka)},useDebugValue:pm,useDeferredValue:function(A,e){var t=Pt();return Xe===null?mm(t,A,e):xB(t,Xe.memoizedState,A,e)},useTransition:function(){var A=Mh(Ka)[0],e=Pt().memoizedState;return[typeof A=="boolean"?A:Dc(A),e]},useSyncExternalStore:iB,useId:SB,useHostTransitionStatus:ym,useFormState:mw,useActionState:mw,useOptimistic:function(A,e){var t=Pt();return Xe!==null?gB(t,Xe,A,e):(t.baseState=A,[A,t.queue.dispatch])},useMemoCache:gm,useCacheRefresh:FB};OB.useEffectEvent=bB;function Ih(A,e,t,n){e=A.memoizedState,t=t(n,e),t=t==null?e:mt({},e,t),A.memoizedState=t,A.lanes===0&&(A.updateQueue.baseState=t)}var wp={enqueueSetState:function(A,e,t){A=A._reactInternals;var n=oo(),o=Qr(n);o.payload=e,t!=null&&(o.callback=t),e=xr(A,o,n),e!==null&&(Hn(e,A,n),ql(e,A,n))},enqueueReplaceState:function(A,e,t){A=A._reactInternals;var n=oo(),o=Qr(n);o.tag=1,o.payload=e,t!=null&&(o.callback=t),e=xr(A,o,n),e!==null&&(Hn(e,A,n),ql(e,A,n))},enqueueForceUpdate:function(A,e){A=A._reactInternals;var t=oo(),n=Qr(t);n.tag=2,e!=null&&(n.callback=e),e=xr(A,n,t),e!==null&&(Hn(e,A,t),ql(e,A,t))}};function bw(A,e,t,n,o,a,r){return A=A.stateNode,typeof A.shouldComponentUpdate=="function"?A.shouldComponentUpdate(n,a,r):e.prototype&&e.prototype.isPureReactComponent?!uc(t,n)||!uc(o,a):!0}function ww(A,e,t,n){A=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(t,n),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(t,n),e.state!==A&&wp.enqueueReplaceState(e,e.state,null)}function Ci(A,e){var t=e;if("ref"in e){t={};for(var n in e)n!=="ref"&&(t[n]=e[n])}if(A=A.defaultProps){t===e&&(t=mt({},t));for(var o in A)t[o]===void 0&&(t[o]=A[o])}return t}function PB(A){hd(A)}function UB(A){console.error(A)}function GB(A){hd(A)}function Ed(A,e){try{var t=A.onUncaughtError;t(e.value,{componentStack:e.stack})}catch(n){setTimeout(function(){throw n})}}function Bw(A,e,t){try{var n=A.onCaughtError;n(t.value,{componentStack:t.stack,errorBoundary:e.tag===1?e.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function Bp(A,e,t){return t=Qr(t),t.tag=3,t.payload={element:null},t.callback=function(){Ed(A,e)},t}function NB(A){return A=Qr(A),A.tag=3,A}function LB(A,e,t,n){var o=t.type.getDerivedStateFromError;if(typeof o=="function"){var a=n.value;A.payload=function(){return o(a)},A.callback=function(){Bw(e,t,n)}}var r=t.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(A.callback=function(){Bw(e,t,n),typeof o!="function"&&(Mr===null?Mr=new Set([this]):Mr.add(this));var i=n.stack;this.componentDidCatch(n.value,{componentStack:i!==null?i:""})})}function TM(A,e,t,n,o){if(t.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(e=t.alternate,e!==null&&Ls(e,t,o,!0),t=ro.current,t!==null){switch(t.tag){case 31:case 13:return Io===null?Dd():t.alternate===null&&Dt===0&&(Dt=3),t.flags&=-257,t.flags|=65536,t.lanes=o,n===bd?t.flags|=16384:(e=t.updateQueue,e===null?t.updateQueue=new Set([n]):e.add(n),Gh(A,n,o)),!1;case 22:return t.flags|=65536,n===bd?t.flags|=16384:(e=t.updateQueue,e===null?(e={transitions:null,markerInstances:null,retryQueue:new Set([n])},t.updateQueue=e):(t=e.retryQueue,t===null?e.retryQueue=new Set([n]):t.add(n)),Gh(A,n,o)),!1}throw Error(cA(435,t.tag))}return Gh(A,n,o),Dd(),!1}if(Ie)return e=ro.current,e!==null?(!(e.flags&65536)&&(e.flags|=256),e.flags|=65536,e.lanes=o,n!==sp&&(A=Error(cA(422),{cause:n}),gc(xo(A,t)))):(n!==sp&&(e=Error(cA(423),{cause:n}),gc(xo(e,t))),A=A.current.alternate,A.flags|=65536,o&=-o,A.lanes|=o,n=xo(n,t),o=Bp(A.stateNode,n,o),xh(A,o),Dt!==4&&(Dt=2)),!1;var a=Error(cA(520),{cause:n});if(a=xo(a,t),ac===null?ac=[a]:ac.push(a),Dt!==4&&(Dt=2),e===null)return!0;n=xo(n,t),t=e;do{switch(t.tag){case 3:return t.flags|=65536,A=o&-o,t.lanes|=A,A=Bp(t.stateNode,n,A),xh(t,A),!1;case 1:if(e=t.type,a=t.stateNode,(t.flags&128)===0&&(typeof e.getDerivedStateFromError=="function"||a!==null&&typeof a.componentDidCatch=="function"&&(Mr===null||!Mr.has(a))))return t.flags|=65536,o&=-o,t.lanes|=o,o=NB(o),LB(o,A,t,n),xh(t,o),!1}t=t.return}while(t!==null);return!1}var Bm=Error(cA(461)),Wt=!1;function cn(A,e,t,n){e.child=A===null?eB(e,null,t,n):wi(e,A.child,t,n)}function Cw(A,e,t,n,o){t=t.render;var a=e.ref;if("ref"in n){var r={};for(var i in n)i!=="ref"&&(r[i]=n[i])}else r=n;return bi(e),n=lm(A,e,t,r,a,o),i=cm(),A!==null&&!Wt?(um(A,e,o),Ja(A,e,o)):(Ie&&i&&em(e),e.flags|=1,cn(A,e,n,o),e.child)}function vw(A,e,t,n,o){if(A===null){var a=t.type;return typeof a=="function"&&!Am(a)&&a.defaultProps===void 0&&t.compare===null?(e.tag=15,e.type=a,HB(A,e,a,n,o)):(A=qu(t.type,null,n,e,e.mode,o),A.ref=e.ref,A.return=e,e.child=A)}if(a=A.child,!Cm(A,o)){var r=a.memoizedProps;if(t=t.compare,t=t!==null?t:uc,t(r,n)&&A.ref===e.ref)return Ja(A,e,o)}return e.flags|=1,A=Na(a,n),A.ref=e.ref,A.return=e,e.child=A}function HB(A,e,t,n,o){if(A!==null){var a=A.memoizedProps;if(uc(a,n)&&A.ref===e.ref)if(Wt=!1,e.pendingProps=n=a,Cm(A,o))A.flags&131072&&(Wt=!0);else return e.lanes=A.lanes,Ja(A,e,o)}return Cp(A,e,t,n,o)}function zB(A,e,t,n){var o=n.children,a=A!==null?A.memoizedState:null;if(A===null&&e.stateNode===null&&(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if(e.flags&128){if(a=a!==null?a.baseLanes|t:t,A!==null){for(n=e.child=A.child,o=0;n!==null;)o=o|n.lanes|n.childLanes,n=n.sibling;n=o&~a}else n=0,e.child=null;return Ew(A,e,a,t,n)}if(t&536870912)e.memoizedState={baseLanes:0,cachePool:null},A!==null&&Ad(e,a!==null?a.cachePool:null),a!==null?dw(e,a):hp(),oB(e);else return n=e.lanes=536870912,Ew(A,e,a!==null?a.baseLanes|t:t,t,n)}else a!==null?(Ad(e,a.cachePool),dw(e,a),pr(e),e.memoizedState=null):(A!==null&&Ad(e,null),hp(),pr(e));return cn(A,e,o,t),e.child}function Wl(A,e){return A!==null&&A.tag===22||e.stateNode!==null||(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),e.sibling}function Ew(A,e,t,n,o){var a=om();return a=a===null?null:{parent:Jt._currentValue,pool:a},e.memoizedState={baseLanes:t,cachePool:a},A!==null&&Ad(e,null),hp(),oB(e),A!==null&&Ls(A,e,n,!0),e.childLanes=o,null}function nd(A,e){return e=Qd({mode:e.mode,children:e.children},A.mode),e.ref=A.ref,A.child=e,e.return=A,e}function Qw(A,e,t){return wi(e,A.child,null,t),A=nd(e,e.pendingProps),A.flags|=2,Zn(e),e.memoizedState=null,A}function kM(A,e,t){var n=e.pendingProps,o=(e.flags&128)!==0;if(e.flags&=-129,A===null){if(Ie){if(n.mode==="hidden")return A=nd(e,n),e.lanes=536870912,Wl(null,A);if(pp(e),(A=pt)?(A=RC(A,Mo),A=A!==null&&A.data==="&"?A:null,A!==null&&(e.memoizedState={dehydrated:A,treeContext:Tr!==null?{id:na,overflow:oa}:null,retryLane:536870912,hydrationErrors:null},t=_1(A),t.return=e,e.child=t,dn=e,pt=null)):A=null,A===null)throw kr(e);return e.lanes=536870912,null}return nd(e,n)}var a=A.memoizedState;if(a!==null){var r=a.dehydrated;if(pp(e),o)if(e.flags&256)e.flags&=-257,e=Qw(A,e,t);else if(e.memoizedState!==null)e.child=A.child,e.flags|=128,e=null;else throw Error(cA(558));else if(Wt||Ls(A,e,t,!1),o=(t&A.childLanes)!==0,Wt||o){if(n=At,n!==null&&(r=w1(n,t),r!==0&&r!==a.retryLane))throw a.retryLane=r,xi(A,r),Hn(n,A,r),Bm;Dd(),e=Qw(A,e,t)}else A=a.treeContext,pt=Do(r.nextSibling),dn=e,Ie=!0,Er=null,Mo=!1,A!==null&&X1(e,A),e=nd(e,n),e.flags|=4096;return e}return A=Na(A.child,{mode:n.mode,children:n.children}),A.ref=e.ref,e.child=A,A.return=e,A}function od(A,e){var t=e.ref;if(t===null)A!==null&&A.ref!==null&&(e.flags|=4194816);else{if(typeof t!="function"&&typeof t!="object")throw Error(cA(284));(A===null||A.ref!==t)&&(e.flags|=4194816)}}function Cp(A,e,t,n,o){return bi(e),t=lm(A,e,t,n,void 0,o),n=cm(),A!==null&&!Wt?(um(A,e,o),Ja(A,e,o)):(Ie&&n&&em(e),e.flags|=1,cn(A,e,t,o),e.child)}function xw(A,e,t,n,o,a){return bi(e),e.updateQueue=null,t=rB(e,n,t,o),aB(A),n=cm(),A!==null&&!Wt?(um(A,e,a),Ja(A,e,a)):(Ie&&n&&em(e),e.flags|=1,cn(A,e,t,a),e.child)}function Mw(A,e,t,n,o){if(bi(e),e.stateNode===null){var a=ms,r=t.contextType;typeof r=="object"&&r!==null&&(a=gn(r)),a=new t(n,a),e.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=wp,e.stateNode=a,a._reactInternals=e,a=e.stateNode,a.props=n,a.state=e.memoizedState,a.refs={},rm(e),r=t.contextType,a.context=typeof r=="object"&&r!==null?gn(r):ms,a.state=e.memoizedState,r=t.getDerivedStateFromProps,typeof r=="function"&&(Ih(e,t,r,n),a.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(r=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),r!==a.state&&wp.enqueueReplaceState(a,a.state,null),ec(e,n,a,o),Ac(),a.state=e.memoizedState),typeof a.componentDidMount=="function"&&(e.flags|=4194308),n=!0}else if(A===null){a=e.stateNode;var i=e.memoizedProps,s=Ci(t,i);a.props=s;var l=a.context,d=t.contextType;r=ms,typeof d=="object"&&d!==null&&(r=gn(d));var u=t.getDerivedStateFromProps;d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function",i=e.pendingProps!==i,d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(i||l!==r)&&ww(e,a,n,r),gr=!1;var c=e.memoizedState;a.state=c,ec(e,n,a,o),Ac(),l=e.memoizedState,i||c!==l||gr?(typeof u=="function"&&(Ih(e,t,u,n),l=e.memoizedState),(s=gr||bw(e,t,s,n,c,l,r))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(e.flags|=4194308)):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=n,e.memoizedState=l),a.props=n,a.state=l,a.context=r,n=s):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),n=!1)}else{a=e.stateNode,gp(A,e),r=e.memoizedProps,d=Ci(t,r),a.props=d,u=e.pendingProps,c=a.context,l=t.contextType,s=ms,typeof l=="object"&&l!==null&&(s=gn(l)),i=t.getDerivedStateFromProps,(l=typeof i=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(r!==u||c!==s)&&ww(e,a,n,s),gr=!1,c=e.memoizedState,a.state=c,ec(e,n,a,o),Ac();var p=e.memoizedState;r!==u||c!==p||gr||A!==null&&A.dependencies!==null&&yd(A.dependencies)?(typeof i=="function"&&(Ih(e,t,i,n),p=e.memoizedState),(d=gr||bw(e,t,d,n,c,p,s)||A!==null&&A.dependencies!==null&&yd(A.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(n,p,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(n,p,s)),typeof a.componentDidUpdate=="function"&&(e.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof a.componentDidUpdate!="function"||r===A.memoizedProps&&c===A.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||r===A.memoizedProps&&c===A.memoizedState||(e.flags|=1024),e.memoizedProps=n,e.memoizedState=p),a.props=n,a.state=p,a.context=s,n=d):(typeof a.componentDidUpdate!="function"||r===A.memoizedProps&&c===A.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||r===A.memoizedProps&&c===A.memoizedState||(e.flags|=1024),n=!1)}return a=n,od(A,e),n=(e.flags&128)!==0,a||n?(a=e.stateNode,t=n&&typeof t.getDerivedStateFromError!="function"?null:a.render(),e.flags|=1,A!==null&&n?(e.child=wi(e,A.child,null,o),e.child=wi(e,null,t,o)):cn(A,e,t,o),e.memoizedState=a.state,A=e.child):A=Ja(A,e,o),A}function Iw(A,e,t,n){return yi(),e.flags|=256,cn(A,e,t,n),e.child}var Dh={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Sh(A){return{baseLanes:A,cachePool:Z1()}}function Fh(A,e,t){return A=A!==null?A.childLanes&~t:0,e&&(A|=Ao),A}function jB(A,e,t){var n=e.pendingProps,o=!1,a=(e.flags&128)!==0,r;if((r=a)||(r=A!==null&&A.memoizedState===null?!1:(Ot.current&2)!==0),r&&(o=!0,e.flags&=-129),r=(e.flags&32)!==0,e.flags&=-33,A===null){if(Ie){if(o?hr(e):pr(e),(A=pt)?(A=RC(A,Mo),A=A!==null&&A.data!=="&"?A:null,A!==null&&(e.memoizedState={dehydrated:A,treeContext:Tr!==null?{id:na,overflow:oa}:null,retryLane:536870912,hydrationErrors:null},t=_1(A),t.return=e,e.child=t,dn=e,pt=null)):A=null,A===null)throw kr(e);return Op(A)?e.lanes=32:e.lanes=536870912,null}var i=n.children;return n=n.fallback,o?(pr(e),o=e.mode,i=Qd({mode:"hidden",children:i},o),n=fi(n,o,t,null),i.return=e,n.return=e,i.sibling=n,e.child=i,n=e.child,n.memoizedState=Sh(t),n.childLanes=Fh(A,r,t),e.memoizedState=Dh,Wl(null,n)):(hr(e),vp(e,i))}var s=A.memoizedState;if(s!==null&&(i=s.dehydrated,i!==null)){if(a)e.flags&256?(hr(e),e.flags&=-257,e=Th(A,e,t)):e.memoizedState!==null?(pr(e),e.child=A.child,e.flags|=128,e=null):(pr(e),i=n.fallback,o=e.mode,n=Qd({mode:"visible",children:n.children},o),i=fi(i,o,t,null),i.flags|=2,n.return=e,i.return=e,n.sibling=i,e.child=n,wi(e,A.child,null,t),n=e.child,n.memoizedState=Sh(t),n.childLanes=Fh(A,r,t),e.memoizedState=Dh,e=Wl(null,n));else if(hr(e),Op(i)){if(r=i.nextSibling&&i.nextSibling.dataset,r)var l=r.dgst;r=l,n=Error(cA(419)),n.stack="",n.digest=r,gc({value:n,source:null,stack:null}),e=Th(A,e,t)}else if(Wt||Ls(A,e,t,!1),r=(t&A.childLanes)!==0,Wt||r){if(r=At,r!==null&&(n=w1(r,t),n!==0&&n!==s.retryLane))throw s.retryLane=n,xi(A,n),Hn(r,A,n),Bm;Rp(i)||Dd(),e=Th(A,e,t)}else Rp(i)?(e.flags|=192,e.child=A.child,e=null):(A=s.treeContext,pt=Do(i.nextSibling),dn=e,Ie=!0,Er=null,Mo=!1,A!==null&&X1(e,A),e=vp(e,n.children),e.flags|=4096);return e}return o?(pr(e),i=n.fallback,o=e.mode,s=A.child,l=s.sibling,n=Na(s,{mode:"hidden",children:n.children}),n.subtreeFlags=s.subtreeFlags&65011712,l!==null?i=Na(l,i):(i=fi(i,o,t,null),i.flags|=2),i.return=e,n.return=e,n.sibling=i,e.child=n,Wl(null,n),n=e.child,i=A.child.memoizedState,i===null?i=Sh(t):(o=i.cachePool,o!==null?(s=Jt._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=Z1(),i={baseLanes:i.baseLanes|t,cachePool:o}),n.memoizedState=i,n.childLanes=Fh(A,r,t),e.memoizedState=Dh,Wl(A.child,n)):(hr(e),t=A.child,A=t.sibling,t=Na(t,{mode:"visible",children:n.children}),t.return=e,t.sibling=null,A!==null&&(r=e.deletions,r===null?(e.deletions=[A],e.flags|=16):r.push(A)),e.child=t,e.memoizedState=null,t)}function vp(A,e){return e=Qd({mode:"visible",children:e},A.mode),e.return=A,A.child=e}function Qd(A,e){return A=qn(22,A,null,e),A.lanes=0,A}function Th(A,e,t){return wi(e,A.child,null,t),A=vp(e,e.pendingProps.children),A.flags|=2,e.memoizedState=null,A}function Dw(A,e,t){A.lanes|=e;var n=A.alternate;n!==null&&(n.lanes|=e),cp(A.return,e,t)}function kh(A,e,t,n,o,a){var r=A.memoizedState;r===null?A.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:n,tail:t,tailMode:o,treeForkCount:a}:(r.isBackwards=e,r.rendering=null,r.renderingStartTime=0,r.last=n,r.tail=t,r.tailMode=o,r.treeForkCount=a)}function KB(A,e,t){var n=e.pendingProps,o=n.revealOrder,a=n.tail;n=n.children;var r=Ot.current,i=(r&2)!==0;if(i?(r=r&1|2,e.flags|=128):r&=1,at(Ot,r),cn(A,e,n,t),n=Ie?dc:0,!i&&A!==null&&A.flags&128)A:for(A=e.child;A!==null;){if(A.tag===13)A.memoizedState!==null&&Dw(A,t,e);else if(A.tag===19)Dw(A,t,e);else if(A.child!==null){A.child.return=A,A=A.child;continue}if(A===e)break A;for(;A.sibling===null;){if(A.return===null||A.return===e)break A;A=A.return}A.sibling.return=A.return,A=A.sibling}switch(o){case"forwards":for(t=e.child,o=null;t!==null;)A=t.alternate,A!==null&&Bd(A)===null&&(o=t),t=t.sibling;t=o,t===null?(o=e.child,e.child=null):(o=t.sibling,t.sibling=null),kh(e,!1,o,t,a,n);break;case"backwards":case"unstable_legacy-backwards":for(t=null,o=e.child,e.child=null;o!==null;){if(A=o.alternate,A!==null&&Bd(A)===null){e.child=o;break}A=o.sibling,o.sibling=t,t=o,o=A}kh(e,!0,t,null,a,n);break;case"together":kh(e,!1,null,null,void 0,n);break;default:e.memoizedState=null}return e.child}function Ja(A,e,t){if(A!==null&&(e.dependencies=A.dependencies),Rr|=e.lanes,!(t&e.childLanes))if(A!==null){if(Ls(A,e,t,!1),(t&e.childLanes)===0)return null}else return null;if(A!==null&&e.child!==A.child)throw Error(cA(153));if(e.child!==null){for(A=e.child,t=Na(A,A.pendingProps),e.child=t,t.return=e;A.sibling!==null;)A=A.sibling,t=t.sibling=Na(A,A.pendingProps),t.return=e;t.sibling=null}return e.child}function Cm(A,e){return A.lanes&e?!0:(A=A.dependencies,!!(A!==null&&yd(A)))}function YM(A,e,t){switch(e.tag){case 3:ud(e,e.stateNode.containerInfo),fr(e,Jt,A.memoizedState.cache),yi();break;case 27:case 5:$h(e);break;case 4:ud(e,e.stateNode.containerInfo);break;case 10:fr(e,e.type,e.memoizedProps.value);break;case 31:if(e.memoizedState!==null)return e.flags|=128,pp(e),null;break;case 13:var n=e.memoizedState;if(n!==null)return n.dehydrated!==null?(hr(e),e.flags|=128,null):t&e.child.childLanes?jB(A,e,t):(hr(e),A=Ja(A,e,t),A!==null?A.sibling:null);hr(e);break;case 19:var o=(A.flags&128)!==0;if(n=(t&e.childLanes)!==0,n||(Ls(A,e,t,!1),n=(t&e.childLanes)!==0),o){if(n)return KB(A,e,t);e.flags|=128}if(o=e.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),at(Ot,Ot.current),n)break;return null;case 22:return e.lanes=0,zB(A,e,t,e.pendingProps);case 24:fr(e,Jt,A.memoizedState.cache)}return Ja(A,e,t)}function JB(A,e,t){if(A!==null)if(A.memoizedProps!==e.pendingProps)Wt=!0;else{if(!Cm(A,t)&&!(e.flags&128))return Wt=!1,YM(A,e,t);Wt=!!(A.flags&131072)}else Wt=!1,Ie&&e.flags&1048576&&V1(e,dc,e.index);switch(e.lanes=0,e.tag){case 16:A:{var n=e.pendingProps;if(A=ui(e.elementType),e.type=A,typeof A=="function")Am(A)?(n=Ci(A,n),e.tag=1,e=Mw(null,e,A,n,t)):(e.tag=0,e=Cp(null,e,A,n,t));else{if(A!=null){var o=A.$$typeof;if(o===Np){e.tag=11,e=Cw(null,e,A,n,t);break A}else if(o===Lp){e.tag=14,e=vw(null,e,A,n,t);break A}}throw e=Vh(A)||A,Error(cA(306,e,""))}}return e;case 0:return Cp(A,e,e.type,e.pendingProps,t);case 1:return n=e.type,o=Ci(n,e.pendingProps),Mw(A,e,n,o,t);case 3:A:{if(ud(e,e.stateNode.containerInfo),A===null)throw Error(cA(387));n=e.pendingProps;var a=e.memoizedState;o=a.element,gp(A,e),ec(e,n,null,t);var r=e.memoizedState;if(n=r.cache,fr(e,Jt,n),n!==a.cache&&up(e,[Jt],t,!0),Ac(),n=r.element,a.isDehydrated)if(a={element:n,isDehydrated:!1,cache:r.cache},e.updateQueue.baseState=a,e.memoizedState=a,e.flags&256){e=Iw(A,e,n,t);break A}else if(n!==o){o=xo(Error(cA(424)),e),gc(o),e=Iw(A,e,n,t);break A}else{switch(A=e.stateNode.containerInfo,A.nodeType){case 9:A=A.body;break;default:A=A.nodeName==="HTML"?A.ownerDocument.body:A}for(pt=Do(A.firstChild),dn=e,Ie=!0,Er=null,Mo=!0,t=eB(e,null,n,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling}else{if(yi(),n===o){e=Ja(A,e,t);break A}cn(A,e,n,t)}e=e.child}return e;case 26:return od(A,e),A===null?(t=$w(e.type,null,e.pendingProps,null))?e.memoizedState=t:Ie||(t=e.type,A=e.pendingProps,n=kd(vr.current).createElement(t),n[un]=e,n[zn]=A,fn(n,t,A),rn(n),e.stateNode=n):e.memoizedState=$w(e.type,A.memoizedProps,e.pendingProps,A.memoizedState),null;case 27:return $h(e),A===null&&Ie&&(n=e.stateNode=OC(e.type,e.pendingProps,vr.current),dn=e,Mo=!0,o=pt,Pr(e.type)?(Pp=o,pt=Do(n.firstChild)):pt=o),cn(A,e,e.pendingProps.children,t),od(A,e),A===null&&(e.flags|=4194304),e.child;case 5:return A===null&&Ie&&((o=n=pt)&&(n=sI(n,e.type,e.pendingProps,Mo),n!==null?(e.stateNode=n,dn=e,pt=Do(n.firstChild),Mo=!1,o=!0):o=!1),o||kr(e)),$h(e),o=e.type,a=e.pendingProps,r=A!==null?A.memoizedProps:null,n=a.children,kp(o,a)?n=null:r!==null&&kp(o,r)&&(e.flags|=32),e.memoizedState!==null&&(o=lm(A,e,QM,null,null,t),bc._currentValue=o),od(A,e),cn(A,e,n,t),e.child;case 6:return A===null&&Ie&&((A=t=pt)&&(t=lI(t,e.pendingProps,Mo),t!==null?(e.stateNode=t,dn=e,pt=null,A=!0):A=!1),A||kr(e)),null;case 13:return jB(A,e,t);case 4:return ud(e,e.stateNode.containerInfo),n=e.pendingProps,A===null?e.child=wi(e,null,n,t):cn(A,e,n,t),e.child;case 11:return Cw(A,e,e.type,e.pendingProps,t);case 7:return cn(A,e,e.pendingProps,t),e.child;case 8:return cn(A,e,e.pendingProps.children,t),e.child;case 12:return cn(A,e,e.pendingProps.children,t),e.child;case 10:return n=e.pendingProps,fr(e,e.type,n.value),cn(A,e,n.children,t),e.child;case 9:return o=e.type._context,n=e.pendingProps.children,bi(e),o=gn(o),n=n(o),e.flags|=1,cn(A,e,n,t),e.child;case 14:return vw(A,e,e.type,e.pendingProps,t);case 15:return HB(A,e,e.type,e.pendingProps,t);case 19:return KB(A,e,t);case 31:return kM(A,e,t);case 22:return zB(A,e,t,e.pendingProps);case 24:return bi(e),n=gn(Jt),A===null?(o=om(),o===null&&(o=At,a=nm(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=t),o=a),e.memoizedState={parent:n,cache:o},rm(e),fr(e,Jt,o)):(A.lanes&t&&(gp(A,e),ec(e,null,null,t),Ac()),o=A.memoizedState,a=e.memoizedState,o.parent!==n?(o={parent:n,cache:n},e.memoizedState=o,e.lanes===0&&(e.memoizedState=e.updateQueue.baseState=o),fr(e,Jt,n)):(n=a.cache,fr(e,Jt,n),n!==o.cache&&up(e,[Jt],t,!0))),cn(A,e,e.pendingProps.children,t),e.child;case 29:throw e.pendingProps}throw Error(cA(156,e.tag))}function Fa(A){A.flags|=4}function Yh(A,e,t,n,o){if((e=(A.mode&32)!==0)&&(e=!1),e){if(A.flags|=16777216,(o&335544128)===o)if(A.stateNode.complete)A.flags|=8192;else if(pC())A.flags|=8192;else throw pi=bd,am}else A.flags&=-16777217}function Sw(A,e){if(e.type!=="stylesheet"||e.state.loading&4)A.flags&=-16777217;else if(A.flags|=16777216,!GC(e))if(pC())A.flags|=8192;else throw pi=bd,am}function Hu(A,e){e!==null&&(A.flags|=4),A.flags&16384&&(e=A.tag!==22?m1():536870912,A.lanes|=e,Ys|=e)}function Nl(A,e){if(!Ie)switch(A.tailMode){case"hidden":e=A.tail;for(var t=null;e!==null;)e.alternate!==null&&(t=e),e=e.sibling;t===null?A.tail=null:t.sibling=null;break;case"collapsed":t=A.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e||A.tail===null?A.tail=null:A.tail.sibling=null:n.sibling=null}}function ht(A){var e=A.alternate!==null&&A.alternate.child===A.child,t=0,n=0;if(e)for(var o=A.child;o!==null;)t|=o.lanes|o.childLanes,n|=o.subtreeFlags&65011712,n|=o.flags&65011712,o.return=A,o=o.sibling;else for(o=A.child;o!==null;)t|=o.lanes|o.childLanes,n|=o.subtreeFlags,n|=o.flags,o.return=A,o=o.sibling;return A.subtreeFlags|=n,A.childLanes=t,e}function RM(A,e,t){var n=e.pendingProps;switch(tm(e),e.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ht(e),null;case 1:return ht(e),null;case 3:return t=e.stateNode,n=null,A!==null&&(n=A.memoizedState.cache),e.memoizedState.cache!==n&&(e.flags|=2048),La(Jt),Is(),t.pendingContext&&(t.context=t.pendingContext,t.pendingContext=null),(A===null||A.child===null)&&(as(e)?Fa(e):A===null||A.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,Qh())),ht(e),null;case 26:var o=e.type,a=e.memoizedState;return A===null?(Fa(e),a!==null?(ht(e),Sw(e,a)):(ht(e),Yh(e,o,null,n,t))):a?a!==A.memoizedState?(Fa(e),ht(e),Sw(e,a)):(ht(e),e.flags&=-16777217):(A=A.memoizedProps,A!==n&&Fa(e),ht(e),Yh(e,o,A,n,t)),null;case 27:if(dd(e),t=vr.current,o=e.type,A!==null&&e.stateNode!=null)A.memoizedProps!==n&&Fa(e);else{if(!n){if(e.stateNode===null)throw Error(cA(166));return ht(e),null}A=ra.current,as(e)?aw(e,A):(A=OC(o,n,t),e.stateNode=A,Fa(e))}return ht(e),null;case 5:if(dd(e),o=e.type,A!==null&&e.stateNode!=null)A.memoizedProps!==n&&Fa(e);else{if(!n){if(e.stateNode===null)throw Error(cA(166));return ht(e),null}if(a=ra.current,as(e))aw(e,a);else{var r=kd(vr.current);switch(a){case 1:a=r.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:a=r.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":a=r.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":a=r.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":a=r.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof n.is=="string"?r.createElement("select",{is:n.is}):r.createElement("select"),n.multiple?a.multiple=!0:n.size&&(a.size=n.size);break;default:a=typeof n.is=="string"?r.createElement(o,{is:n.is}):r.createElement(o)}}a[un]=e,a[zn]=n;A:for(r=e.child;r!==null;){if(r.tag===5||r.tag===6)a.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===e)break A;for(;r.sibling===null;){if(r.return===null||r.return===e)break A;r=r.return}r.sibling.return=r.return,r=r.sibling}e.stateNode=a;A:switch(fn(a,o,n),o){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break A;case"img":n=!0;break A;default:n=!1}n&&Fa(e)}}return ht(e),Yh(e,e.type,A===null?null:A.memoizedProps,e.pendingProps,t),null;case 6:if(A&&e.stateNode!=null)A.memoizedProps!==n&&Fa(e);else{if(typeof n!="string"&&e.stateNode===null)throw Error(cA(166));if(A=vr.current,as(e)){if(A=e.stateNode,t=e.memoizedProps,n=null,o=dn,o!==null)switch(o.tag){case 27:case 5:n=o.memoizedProps}A[un]=e,A=!!(A.nodeValue===t||n!==null&&n.suppressHydrationWarning===!0||TC(A.nodeValue,t)),A||kr(e,!0)}else A=kd(A).createTextNode(n),A[un]=e,e.stateNode=A}return ht(e),null;case 31:if(t=e.memoizedState,A===null||A.memoizedState!==null){if(n=as(e),t!==null){if(A===null){if(!n)throw Error(cA(318));if(A=e.memoizedState,A=A!==null?A.dehydrated:null,!A)throw Error(cA(557));A[un]=e}else yi(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;ht(e),A=!1}else t=Qh(),A!==null&&A.memoizedState!==null&&(A.memoizedState.hydrationErrors=t),A=!0;if(!A)return e.flags&256?(Zn(e),e):(Zn(e),null);if(e.flags&128)throw Error(cA(558))}return ht(e),null;case 13:if(n=e.memoizedState,A===null||A.memoizedState!==null&&A.memoizedState.dehydrated!==null){if(o=as(e),n!==null&&n.dehydrated!==null){if(A===null){if(!o)throw Error(cA(318));if(o=e.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(cA(317));o[un]=e}else yi(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;ht(e),o=!1}else o=Qh(),A!==null&&A.memoizedState!==null&&(A.memoizedState.hydrationErrors=o),o=!0;if(!o)return e.flags&256?(Zn(e),e):(Zn(e),null)}return Zn(e),e.flags&128?(e.lanes=t,e):(t=n!==null,A=A!==null&&A.memoizedState!==null,t&&(n=e.child,o=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(o=n.alternate.memoizedState.cachePool.pool),a=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(a=n.memoizedState.cachePool.pool),a!==o&&(n.flags|=2048)),t!==A&&t&&(e.child.flags|=8192),Hu(e,e.updateQueue),ht(e),null);case 4:return Is(),A===null&&Dm(e.stateNode.containerInfo),ht(e),null;case 10:return La(e.type),ht(e),null;case 19:if(sn(Ot),n=e.memoizedState,n===null)return ht(e),null;if(o=(e.flags&128)!==0,a=n.rendering,a===null)if(o)Nl(n,!1);else{if(Dt!==0||A!==null&&A.flags&128)for(A=e.child;A!==null;){if(a=Bd(A),a!==null){for(e.flags|=128,Nl(n,!1),A=a.updateQueue,e.updateQueue=A,Hu(e,A),e.subtreeFlags=0,A=t,t=e.child;t!==null;)W1(t,A),t=t.sibling;return at(Ot,Ot.current&1|2),Ie&&Ra(e,n.treeForkCount),e.child}A=A.sibling}n.tail!==null&&eo()>Md&&(e.flags|=128,o=!0,Nl(n,!1),e.lanes=4194304)}else{if(!o)if(A=Bd(a),A!==null){if(e.flags|=128,o=!0,A=A.updateQueue,e.updateQueue=A,Hu(e,A),Nl(n,!0),n.tail===null&&n.tailMode==="hidden"&&!a.alternate&&!Ie)return ht(e),null}else 2*eo()-n.renderingStartTime>Md&&t!==536870912&&(e.flags|=128,o=!0,Nl(n,!1),e.lanes=4194304);n.isBackwards?(a.sibling=e.child,e.child=a):(A=n.last,A!==null?A.sibling=a:e.child=a,n.last=a)}return n.tail!==null?(A=n.tail,n.rendering=A,n.tail=A.sibling,n.renderingStartTime=eo(),A.sibling=null,t=Ot.current,at(Ot,o?t&1|2:t&1),Ie&&Ra(e,n.treeForkCount),A):(ht(e),null);case 22:case 23:return Zn(e),im(),n=e.memoizedState!==null,A!==null?A.memoizedState!==null!==n&&(e.flags|=8192):n&&(e.flags|=8192),n?t&536870912&&!(e.flags&128)&&(ht(e),e.subtreeFlags&6&&(e.flags|=8192)):ht(e),t=e.updateQueue,t!==null&&Hu(e,t.retryQueue),t=null,A!==null&&A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(t=A.memoizedState.cachePool.pool),n=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),n!==t&&(e.flags|=2048),A!==null&&sn(hi),null;case 24:return t=null,A!==null&&(t=A.memoizedState.cache),e.memoizedState.cache!==t&&(e.flags|=2048),La(Jt),ht(e),null;case 25:return null;case 30:return null}throw Error(cA(156,e.tag))}function OM(A,e){switch(tm(e),e.tag){case 1:return A=e.flags,A&65536?(e.flags=A&-65537|128,e):null;case 3:return La(Jt),Is(),A=e.flags,A&65536&&!(A&128)?(e.flags=A&-65537|128,e):null;case 26:case 27:case 5:return dd(e),null;case 31:if(e.memoizedState!==null){if(Zn(e),e.alternate===null)throw Error(cA(340));yi()}return A=e.flags,A&65536?(e.flags=A&-65537|128,e):null;case 13:if(Zn(e),A=e.memoizedState,A!==null&&A.dehydrated!==null){if(e.alternate===null)throw Error(cA(340));yi()}return A=e.flags,A&65536?(e.flags=A&-65537|128,e):null;case 19:return sn(Ot),null;case 4:return Is(),null;case 10:return La(e.type),null;case 22:case 23:return Zn(e),im(),A!==null&&sn(hi),A=e.flags,A&65536?(e.flags=A&-65537|128,e):null;case 24:return La(Jt),null;case 25:return null;default:return null}}function WB(A,e){switch(tm(e),e.tag){case 3:La(Jt),Is();break;case 26:case 27:case 5:dd(e);break;case 4:Is();break;case 31:e.memoizedState!==null&&Zn(e);break;case 13:Zn(e);break;case 19:sn(Ot);break;case 10:La(e.type);break;case 22:case 23:Zn(e),im(),A!==null&&sn(hi);break;case 24:La(Jt)}}function Sc(A,e){try{var t=e.updateQueue,n=t!==null?t.lastEffect:null;if(n!==null){var o=n.next;t=o;do{if((t.tag&A)===A){n=void 0;var a=t.create,r=t.inst;n=a(),r.destroy=n}t=t.next}while(t!==o)}}catch(i){Je(e,e.return,i)}}function Yr(A,e,t){try{var n=e.updateQueue,o=n!==null?n.lastEffect:null;if(o!==null){var a=o.next;n=a;do{if((n.tag&A)===A){var r=n.inst,i=r.destroy;if(i!==void 0){r.destroy=void 0,o=e;var s=t,l=i;try{l()}catch(d){Je(o,s,d)}}}n=n.next}while(n!==a)}}catch(d){Je(e,e.return,d)}}function _B(A){var e=A.updateQueue;if(e!==null){var t=A.stateNode;try{nB(e,t)}catch(n){Je(A,A.return,n)}}}function VB(A,e,t){t.props=Ci(A.type,A.memoizedProps),t.state=A.memoizedState;try{t.componentWillUnmount()}catch(n){Je(A,e,n)}}function nc(A,e){try{var t=A.ref;if(t!==null){switch(A.tag){case 26:case 27:case 5:var n=A.stateNode;break;case 30:n=A.stateNode;break;default:n=A.stateNode}typeof t=="function"?A.refCleanup=t(n):t.current=n}}catch(o){Je(A,e,o)}}function aa(A,e){var t=A.ref,n=A.refCleanup;if(t!==null)if(typeof n=="function")try{n()}catch(o){Je(A,e,o)}finally{A.refCleanup=null,A=A.alternate,A!=null&&(A.refCleanup=null)}else if(typeof t=="function")try{t(null)}catch(o){Je(A,e,o)}else t.current=null}function XB(A){var e=A.type,t=A.memoizedProps,n=A.stateNode;try{A:switch(e){case"button":case"input":case"select":case"textarea":t.autoFocus&&n.focus();break A;case"img":t.src?n.src=t.src:t.srcSet&&(n.srcset=t.srcSet)}}catch(o){Je(A,A.return,o)}}function Rh(A,e,t){try{var n=A.stateNode;tI(n,A.type,t,e),n[zn]=e}catch(o){Je(A,A.return,o)}}function $B(A){return A.tag===5||A.tag===3||A.tag===26||A.tag===27&&Pr(A.type)||A.tag===4}function Oh(A){A:for(;;){for(;A.sibling===null;){if(A.return===null||$B(A.return))return null;A=A.return}for(A.sibling.return=A.return,A=A.sibling;A.tag!==5&&A.tag!==6&&A.tag!==18;){if(A.tag===27&&Pr(A.type)||A.flags&2||A.child===null||A.tag===4)continue A;A.child.return=A,A=A.child}if(!(A.flags&2))return A.stateNode}}function Ep(A,e,t){var n=A.tag;if(n===5||n===6)A=A.stateNode,e?(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t).insertBefore(A,e):(e=t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,e.appendChild(A),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=Ua));else if(n!==4&&(n===27&&Pr(A.type)&&(t=A.stateNode,e=null),A=A.child,A!==null))for(Ep(A,e,t),A=A.sibling;A!==null;)Ep(A,e,t),A=A.sibling}function xd(A,e,t){var n=A.tag;if(n===5||n===6)A=A.stateNode,e?t.insertBefore(A,e):t.appendChild(A);else if(n!==4&&(n===27&&Pr(A.type)&&(t=A.stateNode),A=A.child,A!==null))for(xd(A,e,t),A=A.sibling;A!==null;)xd(A,e,t),A=A.sibling}function ZB(A){var e=A.stateNode,t=A.memoizedProps;try{for(var n=A.type,o=e.attributes;o.length;)e.removeAttributeNode(o[0]);fn(e,n,t),e[un]=A,e[zn]=t}catch(a){Je(A,A.return,a)}}var Oa=!1,Kt=!1,Ph=!1,Fw=typeof WeakSet=="function"?WeakSet:Set,an=null;function PM(A,e){if(A=A.containerInfo,Fp=Pd,A=G1(A),$p(A)){if("selectionStart"in A)var t={start:A.selectionStart,end:A.selectionEnd};else A:{t=(t=A.ownerDocument)&&t.defaultView||window;var n=t.getSelection&&t.getSelection();if(n&&n.rangeCount!==0){t=n.anchorNode;var o=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{t.nodeType,a.nodeType}catch{t=null;break A}var r=0,i=-1,s=-1,l=0,d=0,u=A,c=null;e:for(;;){for(var p;u!==t||o!==0&&u.nodeType!==3||(i=r+o),u!==a||n!==0&&u.nodeType!==3||(s=r+n),u.nodeType===3&&(r+=u.nodeValue.length),(p=u.firstChild)!==null;)c=u,u=p;for(;;){if(u===A)break e;if(c===t&&++l===o&&(i=r),c===a&&++d===n&&(s=r),(p=u.nextSibling)!==null)break;u=c,c=u.parentNode}u=p}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(Tp={focusedElem:A,selectionRange:t},Pd=!1,an=e;an!==null;)if(e=an,A=e.child,(e.subtreeFlags&1028)!==0&&A!==null)A.return=e,an=A;else for(;an!==null;){switch(e=an,a=e.alternate,A=e.flags,e.tag){case 0:if(A&4&&(A=e.updateQueue,A=A!==null?A.events:null,A!==null))for(t=0;t<A.length;t++)o=A[t],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if(A&1024&&a!==null){A=void 0,t=e,o=a.memoizedProps,a=a.memoizedState,n=t.stateNode;try{var B=Ci(t.type,o);A=n.getSnapshotBeforeUpdate(B,a),n.__reactInternalSnapshotBeforeUpdate=A}catch(v){Je(t,t.return,v)}}break;case 3:if(A&1024){if(A=e.stateNode.containerInfo,t=A.nodeType,t===9)Yp(A);else if(t===1)switch(A.nodeName){case"HEAD":case"HTML":case"BODY":Yp(A);break;default:A.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(A&1024)throw Error(cA(163))}if(A=e.sibling,A!==null){A.return=e.return,an=A;break}an=e.return}}function qB(A,e,t){var n=t.flags;switch(t.tag){case 0:case 11:case 15:ka(A,t),n&4&&Sc(5,t);break;case 1:if(ka(A,t),n&4)if(A=t.stateNode,e===null)try{A.componentDidMount()}catch(r){Je(t,t.return,r)}else{var o=Ci(t.type,e.memoizedProps);e=e.memoizedState;try{A.componentDidUpdate(o,e,A.__reactInternalSnapshotBeforeUpdate)}catch(r){Je(t,t.return,r)}}n&64&&_B(t),n&512&&nc(t,t.return);break;case 3:if(ka(A,t),n&64&&(A=t.updateQueue,A!==null)){if(e=null,t.child!==null)switch(t.child.tag){case 27:case 5:e=t.child.stateNode;break;case 1:e=t.child.stateNode}try{nB(A,e)}catch(r){Je(t,t.return,r)}}break;case 27:e===null&&n&4&&ZB(t);case 26:case 5:ka(A,t),e===null&&n&4&&XB(t),n&512&&nc(t,t.return);break;case 12:ka(A,t);break;case 31:ka(A,t),n&4&&tC(A,t);break;case 13:ka(A,t),n&4&&nC(A,t),n&64&&(A=t.memoizedState,A!==null&&(A=A.dehydrated,A!==null&&(t=JM.bind(null,t),cI(A,t))));break;case 22:if(n=t.memoizedState!==null||Oa,!n){e=e!==null&&e.memoizedState!==null||Kt,o=Oa;var a=Kt;Oa=n,(Kt=e)&&!a?Ya(A,t,(t.subtreeFlags&8772)!==0):ka(A,t),Oa=o,Kt=a}break;case 30:break;default:ka(A,t)}}function AC(A){var e=A.alternate;e!==null&&(A.alternate=null,AC(e)),A.child=null,A.deletions=null,A.sibling=null,A.tag===5&&(e=A.stateNode,e!==null&&Kp(e)),A.stateNode=null,A.return=null,A.dependencies=null,A.memoizedProps=null,A.memoizedState=null,A.pendingProps=null,A.stateNode=null,A.updateQueue=null}var Bt=null,Nn=!1;function Ta(A,e,t){for(t=t.child;t!==null;)eC(A,e,t),t=t.sibling}function eC(A,e,t){if(to&&typeof to.onCommitFiberUnmount=="function")try{to.onCommitFiberUnmount(vc,t)}catch{}switch(t.tag){case 26:Kt||aa(t,e),Ta(A,e,t),t.memoizedState?t.memoizedState.count--:t.stateNode&&(t=t.stateNode,t.parentNode.removeChild(t));break;case 27:Kt||aa(t,e);var n=Bt,o=Nn;Pr(t.type)&&(Bt=t.stateNode,Nn=!1),Ta(A,e,t),ic(t.stateNode),Bt=n,Nn=o;break;case 5:Kt||aa(t,e);case 6:if(n=Bt,o=Nn,Bt=null,Ta(A,e,t),Bt=n,Nn=o,Bt!==null)if(Nn)try{(Bt.nodeType===9?Bt.body:Bt.nodeName==="HTML"?Bt.ownerDocument.body:Bt).removeChild(t.stateNode)}catch(a){Je(t,e,a)}else try{Bt.removeChild(t.stateNode)}catch(a){Je(t,e,a)}break;case 18:Bt!==null&&(Nn?(A=Bt,Jw(A.nodeType===9?A.body:A.nodeName==="HTML"?A.ownerDocument.body:A,t.stateNode),Us(A)):Jw(Bt,t.stateNode));break;case 4:n=Bt,o=Nn,Bt=t.stateNode.containerInfo,Nn=!0,Ta(A,e,t),Bt=n,Nn=o;break;case 0:case 11:case 14:case 15:Yr(2,t,e),Kt||Yr(4,t,e),Ta(A,e,t);break;case 1:Kt||(aa(t,e),n=t.stateNode,typeof n.componentWillUnmount=="function"&&VB(t,e,n)),Ta(A,e,t);break;case 21:Ta(A,e,t);break;case 22:Kt=(n=Kt)||t.memoizedState!==null,Ta(A,e,t),Kt=n;break;default:Ta(A,e,t)}}function tC(A,e){if(e.memoizedState===null&&(A=e.alternate,A!==null&&(A=A.memoizedState,A!==null))){A=A.dehydrated;try{Us(A)}catch(t){Je(e,e.return,t)}}}function nC(A,e){if(e.memoizedState===null&&(A=e.alternate,A!==null&&(A=A.memoizedState,A!==null&&(A=A.dehydrated,A!==null))))try{Us(A)}catch(t){Je(e,e.return,t)}}function UM(A){switch(A.tag){case 31:case 13:case 19:var e=A.stateNode;return e===null&&(e=A.stateNode=new Fw),e;case 22:return A=A.stateNode,e=A._retryCache,e===null&&(e=A._retryCache=new Fw),e;default:throw Error(cA(435,A.tag))}}function zu(A,e){var t=UM(A);e.forEach(function(n){if(!t.has(n)){t.add(n);var o=WM.bind(null,A,n);n.then(o,o)}})}function Un(A,e){var t=e.deletions;if(t!==null)for(var n=0;n<t.length;n++){var o=t[n],a=A,r=e,i=r;A:for(;i!==null;){switch(i.tag){case 27:if(Pr(i.type)){Bt=i.stateNode,Nn=!1;break A}break;case 5:Bt=i.stateNode,Nn=!1;break A;case 3:case 4:Bt=i.stateNode.containerInfo,Nn=!0;break A}i=i.return}if(Bt===null)throw Error(cA(160));eC(a,r,o),Bt=null,Nn=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(e.subtreeFlags&13886)for(e=e.child;e!==null;)oC(e,A),e=e.sibling}var Jo=null;function oC(A,e){var t=A.alternate,n=A.flags;switch(A.tag){case 0:case 11:case 14:case 15:Un(e,A),Gn(A),n&4&&(Yr(3,A,A.return),Sc(3,A),Yr(5,A,A.return));break;case 1:Un(e,A),Gn(A),n&512&&(Kt||t===null||aa(t,t.return)),n&64&&Oa&&(A=A.updateQueue,A!==null&&(n=A.callbacks,n!==null&&(t=A.shared.hiddenCallbacks,A.shared.hiddenCallbacks=t===null?n:t.concat(n))));break;case 26:var o=Jo;if(Un(e,A),Gn(A),n&512&&(Kt||t===null||aa(t,t.return)),n&4){var a=t!==null?t.memoizedState:null;if(n=A.memoizedState,t===null)if(n===null)if(A.stateNode===null){A:{n=A.type,t=A.memoizedProps,o=o.ownerDocument||o;e:switch(n){case"title":a=o.getElementsByTagName("title")[0],(!a||a[xc]||a[un]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(n),o.head.insertBefore(a,o.querySelector("head > title"))),fn(a,n,t),a[un]=A,rn(a),n=a;break A;case"link":var r=qw("link","href",o).get(n+(t.href||""));if(r){for(var i=0;i<r.length;i++)if(a=r[i],a.getAttribute("href")===(t.href==null||t.href===""?null:t.href)&&a.getAttribute("rel")===(t.rel==null?null:t.rel)&&a.getAttribute("title")===(t.title==null?null:t.title)&&a.getAttribute("crossorigin")===(t.crossOrigin==null?null:t.crossOrigin)){r.splice(i,1);break e}}a=o.createElement(n),fn(a,n,t),o.head.appendChild(a);break;case"meta":if(r=qw("meta","content",o).get(n+(t.content||""))){for(i=0;i<r.length;i++)if(a=r[i],a.getAttribute("content")===(t.content==null?null:""+t.content)&&a.getAttribute("name")===(t.name==null?null:t.name)&&a.getAttribute("property")===(t.property==null?null:t.property)&&a.getAttribute("http-equiv")===(t.httpEquiv==null?null:t.httpEquiv)&&a.getAttribute("charset")===(t.charSet==null?null:t.charSet)){r.splice(i,1);break e}}a=o.createElement(n),fn(a,n,t),o.head.appendChild(a);break;default:throw Error(cA(468,n))}a[un]=A,rn(a),n=a}A.stateNode=n}else A1(o,A.type,A.stateNode);else A.stateNode=Zw(o,n,A.memoizedProps);else a!==n?(a===null?t.stateNode!==null&&(t=t.stateNode,t.parentNode.removeChild(t)):a.count--,n===null?A1(o,A.type,A.stateNode):Zw(o,n,A.memoizedProps)):n===null&&A.stateNode!==null&&Rh(A,A.memoizedProps,t.memoizedProps)}break;case 27:Un(e,A),Gn(A),n&512&&(Kt||t===null||aa(t,t.return)),t!==null&&n&4&&Rh(A,A.memoizedProps,t.memoizedProps);break;case 5:if(Un(e,A),Gn(A),n&512&&(Kt||t===null||aa(t,t.return)),A.flags&32){o=A.stateNode;try{Ss(o,"")}catch(B){Je(A,A.return,B)}}n&4&&A.stateNode!=null&&(o=A.memoizedProps,Rh(A,o,t!==null?t.memoizedProps:o)),n&1024&&(Ph=!0);break;case 6:if(Un(e,A),Gn(A),n&4){if(A.stateNode===null)throw Error(cA(162));n=A.memoizedProps,t=A.stateNode;try{t.nodeValue=n}catch(B){Je(A,A.return,B)}}break;case 3:if(id=null,o=Jo,Jo=Yd(e.containerInfo),Un(e,A),Jo=o,Gn(A),n&4&&t!==null&&t.memoizedState.isDehydrated)try{Us(e.containerInfo)}catch(B){Je(A,A.return,B)}Ph&&(Ph=!1,aC(A));break;case 4:n=Jo,Jo=Yd(A.stateNode.containerInfo),Un(e,A),Gn(A),Jo=n;break;case 12:Un(e,A),Gn(A);break;case 31:Un(e,A),Gn(A),n&4&&(n=A.updateQueue,n!==null&&(A.updateQueue=null,zu(A,n)));break;case 13:Un(e,A),Gn(A),A.child.flags&8192&&A.memoizedState!==null!=(t!==null&&t.memoizedState!==null)&&(Xd=eo()),n&4&&(n=A.updateQueue,n!==null&&(A.updateQueue=null,zu(A,n)));break;case 22:o=A.memoizedState!==null;var s=t!==null&&t.memoizedState!==null,l=Oa,d=Kt;if(Oa=l||o,Kt=d||s,Un(e,A),Kt=d,Oa=l,Gn(A),n&8192)A:for(e=A.stateNode,e._visibility=o?e._visibility&-2:e._visibility|1,o&&(t===null||s||Oa||Kt||di(A)),t=null,e=A;;){if(e.tag===5||e.tag===26){if(t===null){s=t=e;try{if(a=s.stateNode,o)r=a.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{i=s.stateNode;var u=s.memoizedProps.style,c=u!=null&&u.hasOwnProperty("display")?u.display:null;i.style.display=c==null||typeof c=="boolean"?"":(""+c).trim()}}catch(B){Je(s,s.return,B)}}}else if(e.tag===6){if(t===null){s=e;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(B){Je(s,s.return,B)}}}else if(e.tag===18){if(t===null){s=e;try{var p=s.stateNode;o?Ww(p,!0):Ww(s.stateNode,!1)}catch(B){Je(s,s.return,B)}}}else if((e.tag!==22&&e.tag!==23||e.memoizedState===null||e===A)&&e.child!==null){e.child.return=e,e=e.child;continue}if(e===A)break A;for(;e.sibling===null;){if(e.return===null||e.return===A)break A;t===e&&(t=null),e=e.return}t===e&&(t=null),e.sibling.return=e.return,e=e.sibling}n&4&&(n=A.updateQueue,n!==null&&(t=n.retryQueue,t!==null&&(n.retryQueue=null,zu(A,t))));break;case 19:Un(e,A),Gn(A),n&4&&(n=A.updateQueue,n!==null&&(A.updateQueue=null,zu(A,n)));break;case 30:break;case 21:break;default:Un(e,A),Gn(A)}}function Gn(A){var e=A.flags;if(e&2){try{for(var t,n=A.return;n!==null;){if($B(n)){t=n;break}n=n.return}if(t==null)throw Error(cA(160));switch(t.tag){case 27:var o=t.stateNode,a=Oh(A);xd(A,a,o);break;case 5:var r=t.stateNode;t.flags&32&&(Ss(r,""),t.flags&=-33);var i=Oh(A);xd(A,i,r);break;case 3:case 4:var s=t.stateNode.containerInfo,l=Oh(A);Ep(A,l,s);break;default:throw Error(cA(161))}}catch(d){Je(A,A.return,d)}A.flags&=-3}e&4096&&(A.flags&=-4097)}function aC(A){if(A.subtreeFlags&1024)for(A=A.child;A!==null;){var e=A;aC(e),e.tag===5&&e.flags&1024&&e.stateNode.reset(),A=A.sibling}}function ka(A,e){if(e.subtreeFlags&8772)for(e=e.child;e!==null;)qB(A,e.alternate,e),e=e.sibling}function di(A){for(A=A.child;A!==null;){var e=A;switch(e.tag){case 0:case 11:case 14:case 15:Yr(4,e,e.return),di(e);break;case 1:aa(e,e.return);var t=e.stateNode;typeof t.componentWillUnmount=="function"&&VB(e,e.return,t),di(e);break;case 27:ic(e.stateNode);case 26:case 5:aa(e,e.return),di(e);break;case 22:e.memoizedState===null&&di(e);break;case 30:di(e);break;default:di(e)}A=A.sibling}}function Ya(A,e,t){for(t=t&&(e.subtreeFlags&8772)!==0,e=e.child;e!==null;){var n=e.alternate,o=A,a=e,r=a.flags;switch(a.tag){case 0:case 11:case 15:Ya(o,a,t),Sc(4,a);break;case 1:if(Ya(o,a,t),n=a,o=n.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(l){Je(n,n.return,l)}if(n=a,o=n.updateQueue,o!==null){var i=n.stateNode;try{var s=o.shared.hiddenCallbacks;if(s!==null)for(o.shared.hiddenCallbacks=null,o=0;o<s.length;o++)tB(s[o],i)}catch(l){Je(n,n.return,l)}}t&&r&64&&_B(a),nc(a,a.return);break;case 27:ZB(a);case 26:case 5:Ya(o,a,t),t&&n===null&&r&4&&XB(a),nc(a,a.return);break;case 12:Ya(o,a,t);break;case 31:Ya(o,a,t),t&&r&4&&tC(o,a);break;case 13:Ya(o,a,t),t&&r&4&&nC(o,a);break;case 22:a.memoizedState===null&&Ya(o,a,t),nc(a,a.return);break;case 30:break;default:Ya(o,a,t)}e=e.sibling}}function vm(A,e){var t=null;A!==null&&A.memoizedState!==null&&A.memoizedState.cachePool!==null&&(t=A.memoizedState.cachePool.pool),A=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(A=e.memoizedState.cachePool.pool),A!==t&&(A!=null&&A.refCount++,t!=null&&Ic(t))}function Em(A,e){A=null,e.alternate!==null&&(A=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==A&&(e.refCount++,A!=null&&Ic(A))}function Ko(A,e,t,n){if(e.subtreeFlags&10256)for(e=e.child;e!==null;)rC(A,e,t,n),e=e.sibling}function rC(A,e,t,n){var o=e.flags;switch(e.tag){case 0:case 11:case 15:Ko(A,e,t,n),o&2048&&Sc(9,e);break;case 1:Ko(A,e,t,n);break;case 3:Ko(A,e,t,n),o&2048&&(A=null,e.alternate!==null&&(A=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==A&&(e.refCount++,A!=null&&Ic(A)));break;case 12:if(o&2048){Ko(A,e,t,n),A=e.stateNode;try{var a=e.memoizedProps,r=a.id,i=a.onPostCommit;typeof i=="function"&&i(r,e.alternate===null?"mount":"update",A.passiveEffectDuration,-0)}catch(s){Je(e,e.return,s)}}else Ko(A,e,t,n);break;case 31:Ko(A,e,t,n);break;case 13:Ko(A,e,t,n);break;case 23:break;case 22:a=e.stateNode,r=e.alternate,e.memoizedState!==null?a._visibility&2?Ko(A,e,t,n):oc(A,e):a._visibility&2?Ko(A,e,t,n):(a._visibility|=2,is(A,e,t,n,(e.subtreeFlags&10256)!==0||!1)),o&2048&&vm(r,e);break;case 24:Ko(A,e,t,n),o&2048&&Em(e.alternate,e);break;default:Ko(A,e,t,n)}}function is(A,e,t,n,o){for(o=o&&((e.subtreeFlags&10256)!==0||!1),e=e.child;e!==null;){var a=A,r=e,i=t,s=n,l=r.flags;switch(r.tag){case 0:case 11:case 15:is(a,r,i,s,o),Sc(8,r);break;case 23:break;case 22:var d=r.stateNode;r.memoizedState!==null?d._visibility&2?is(a,r,i,s,o):oc(a,r):(d._visibility|=2,is(a,r,i,s,o)),o&&l&2048&&vm(r.alternate,r);break;case 24:is(a,r,i,s,o),o&&l&2048&&Em(r.alternate,r);break;default:is(a,r,i,s,o)}e=e.sibling}}function oc(A,e){if(e.subtreeFlags&10256)for(e=e.child;e!==null;){var t=A,n=e,o=n.flags;switch(n.tag){case 22:oc(t,n),o&2048&&vm(n.alternate,n);break;case 24:oc(t,n),o&2048&&Em(n.alternate,n);break;default:oc(t,n)}e=e.sibling}}var _l=8192;function rs(A,e,t){if(A.subtreeFlags&_l)for(A=A.child;A!==null;)iC(A,e,t),A=A.sibling}function iC(A,e,t){switch(A.tag){case 26:rs(A,e,t),A.flags&_l&&A.memoizedState!==null&&CI(t,Jo,A.memoizedState,A.memoizedProps);break;case 5:rs(A,e,t);break;case 3:case 4:var n=Jo;Jo=Yd(A.stateNode.containerInfo),rs(A,e,t),Jo=n;break;case 22:A.memoizedState===null&&(n=A.alternate,n!==null&&n.memoizedState!==null?(n=_l,_l=16777216,rs(A,e,t),_l=n):rs(A,e,t));break;default:rs(A,e,t)}}function sC(A){var e=A.alternate;if(e!==null&&(A=e.child,A!==null)){e.child=null;do e=A.sibling,A.sibling=null,A=e;while(A!==null)}}function Ll(A){var e=A.deletions;if(A.flags&16){if(e!==null)for(var t=0;t<e.length;t++){var n=e[t];an=n,cC(n,A)}sC(A)}if(A.subtreeFlags&10256)for(A=A.child;A!==null;)lC(A),A=A.sibling}function lC(A){switch(A.tag){case 0:case 11:case 15:Ll(A),A.flags&2048&&Yr(9,A,A.return);break;case 3:Ll(A);break;case 12:Ll(A);break;case 22:var e=A.stateNode;A.memoizedState!==null&&e._visibility&2&&(A.return===null||A.return.tag!==13)?(e._visibility&=-3,ad(A)):Ll(A);break;default:Ll(A)}}function ad(A){var e=A.deletions;if(A.flags&16){if(e!==null)for(var t=0;t<e.length;t++){var n=e[t];an=n,cC(n,A)}sC(A)}for(A=A.child;A!==null;){switch(e=A,e.tag){case 0:case 11:case 15:Yr(8,e,e.return),ad(e);break;case 22:t=e.stateNode,t._visibility&2&&(t._visibility&=-3,ad(e));break;default:ad(e)}A=A.sibling}}function cC(A,e){for(;an!==null;){var t=an;switch(t.tag){case 0:case 11:case 15:Yr(8,t,e);break;case 23:case 22:if(t.memoizedState!==null&&t.memoizedState.cachePool!==null){var n=t.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:Ic(t.memoizedState.cache)}if(n=t.child,n!==null)n.return=t,an=n;else A:for(t=A;an!==null;){n=an;var o=n.sibling,a=n.return;if(AC(n),n===t){an=null;break A}if(o!==null){o.return=a,an=o;break A}an=a}}}var GM={getCacheForType:function(A){var e=gn(Jt),t=e.data.get(A);return t===void 0&&(t=A(),e.data.set(A,t)),t},cacheSignal:function(){return gn(Jt).controller.signal}},NM=typeof WeakMap=="function"?WeakMap:Map,Ge=0,At=null,Be=null,xe=0,Ke=0,$n=null,wr=!1,zs=!1,Qm=!1,Wa=0,Dt=0,Rr=0,mi=0,xm=0,Ao=0,Ys=0,ac=null,Ln=null,Qp=!1,Xd=0,uC=0,Md=1/0,Id=null,Mr=null,qt=0,Ir=null,Rs=null,Ha=0,xp=0,Mp=null,dC=null,rc=0,Ip=null;function oo(){return Ge&2&&xe!==0?xe&-xe:ae.T!==null?Im():B1()}function gC(){if(Ao===0)if(!(xe&536870912)||Ie){var A=ku;ku<<=1,!(ku&3932160)&&(ku=262144),Ao=A}else Ao=536870912;return A=ro.current,A!==null&&(A.flags|=32),Ao}function Hn(A,e,t){(A===At&&(Ke===2||Ke===9)||A.cancelPendingCommit!==null)&&(Os(A,0),Br(A,xe,Ao,!1)),Qc(A,t),(!(Ge&2)||A!==At)&&(A===At&&(!(Ge&2)&&(mi|=t),Dt===4&&Br(A,xe,Ao,!1)),sa(A))}function fC(A,e,t){if(Ge&6)throw Error(cA(327));var n=!t&&(e&127)===0&&(e&A.expiredLanes)===0||Ec(A,e),o=n?zM(A,e):Uh(A,e,!0),a=n;do{if(o===0){zs&&!n&&Br(A,e,0,!1);break}else{if(t=A.current.alternate,a&&!LM(t)){o=Uh(A,e,!1),a=!1;continue}if(o===2){if(a=e,A.errorRecoveryDisabledLanes&a)var r=0;else r=A.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){e=r;A:{var i=A;o=ac;var s=i.current.memoizedState.isDehydrated;if(s&&(Os(i,r).flags|=256),r=Uh(i,r,!1),r!==2){if(Qm&&!s){i.errorRecoveryDisabledLanes|=a,mi|=a,o=4;break A}a=Ln,Ln=o,a!==null&&(Ln===null?Ln=a:Ln.push.apply(Ln,a))}o=r}if(a=!1,o!==2)continue}}if(o===1){Os(A,0),Br(A,e,0,!0);break}A:{switch(n=A,a=o,a){case 0:case 1:throw Error(cA(345));case 4:if((e&4194048)!==e)break;case 6:Br(n,e,Ao,!wr);break A;case 2:Ln=null;break;case 3:case 5:break;default:throw Error(cA(329))}if((e&62914560)===e&&(o=Xd+300-eo(),10<o)){if(Br(n,e,Ao,!wr),Gd(n,0,!0)!==0)break A;Ha=e,n.timeoutHandle=YC(Tw.bind(null,n,t,Ln,Id,Qp,e,Ao,mi,Ys,wr,a,"Throttled",-0,0),o);break A}Tw(n,t,Ln,Id,Qp,e,Ao,mi,Ys,wr,a,null,-0,0)}}break}while(!0);sa(A)}function Tw(A,e,t,n,o,a,r,i,s,l,d,u,c,p){if(A.timeoutHandle=-1,u=e.subtreeFlags,u&8192||(u&16785408)===16785408){u={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ua},iC(e,a,u);var B=(a&62914560)===a?Xd-eo():(a&4194048)===a?uC-eo():0;if(B=vI(u,B),B!==null){Ha=a,A.cancelPendingCommit=B(Yw.bind(null,A,e,a,t,n,o,r,i,s,d,u,null,c,p)),Br(A,a,r,!l);return}}Yw(A,e,a,t,n,o,r,i,s)}function LM(A){for(var e=A;;){var t=e.tag;if((t===0||t===11||t===15)&&e.flags&16384&&(t=e.updateQueue,t!==null&&(t=t.stores,t!==null)))for(var n=0;n<t.length;n++){var o=t[n],a=o.getSnapshot;o=o.value;try{if(!ao(a(),o))return!1}catch{return!1}}if(t=e.child,e.subtreeFlags&16384&&t!==null)t.return=e,e=t;else{if(e===A)break;for(;e.sibling===null;){if(e.return===null||e.return===A)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function Br(A,e,t,n){e&=~xm,e&=~mi,A.suspendedLanes|=e,A.pingedLanes&=~e,n&&(A.warmLanes|=e),n=A.expirationTimes;for(var o=e;0<o;){var a=31-no(o),r=1<<a;n[a]=-1,o&=~r}t!==0&&y1(A,t,e)}function $d(){return Ge&6?!0:(Fc(0,!1),!1)}function Mm(){if(Be!==null){if(Ke===0)var A=Be.return;else A=Be,Ga=Mi=null,dm(A),Qs=null,fc=0,A=Be;for(;A!==null;)WB(A.alternate,A),A=A.return;Be=null}}function Os(A,e){var t=A.timeoutHandle;t!==-1&&(A.timeoutHandle=-1,aI(t)),t=A.cancelPendingCommit,t!==null&&(A.cancelPendingCommit=null,t()),Ha=0,Mm(),At=A,Be=t=Na(A.current,null),xe=e,Ke=0,$n=null,wr=!1,zs=Ec(A,e),Qm=!1,Ys=Ao=xm=mi=Rr=Dt=0,Ln=ac=null,Qp=!1,e&8&&(e|=e&32);var n=A.entangledLanes;if(n!==0)for(A=A.entanglements,n&=e;0<n;){var o=31-no(n),a=1<<o;e|=A[o],n&=~a}return Wa=e,zd(),t}function hC(A,e){he=null,ae.H=pc,e===Hs||e===Kd?(e=cw(),Ke=3):e===am?(e=cw(),Ke=4):Ke=e===Bm?8:e!==null&&typeof e=="object"&&typeof e.then=="function"?6:1,$n=e,Be===null&&(Dt=1,Ed(A,xo(e,A.current)))}function pC(){var A=ro.current;return A===null?!0:(xe&4194048)===xe?Io===null:(xe&62914560)===xe||xe&536870912?A===Io:!1}function mC(){var A=ae.H;return ae.H=pc,A===null?pc:A}function yC(){var A=ae.A;return ae.A=GM,A}function Dd(){Dt=4,wr||(xe&4194048)!==xe&&ro.current!==null||(zs=!0),!(Rr&134217727)&&!(mi&134217727)||At===null||Br(At,xe,Ao,!1)}function Uh(A,e,t){var n=Ge;Ge|=2;var o=mC(),a=yC();(At!==A||xe!==e)&&(Id=null,Os(A,e)),e=!1;var r=Dt;A:do try{if(Ke!==0&&Be!==null){var i=Be,s=$n;switch(Ke){case 8:Mm(),r=6;break A;case 3:case 2:case 9:case 6:ro.current===null&&(e=!0);var l=Ke;if(Ke=0,$n=null,ws(A,i,s,l),t&&zs){r=0;break A}break;default:l=Ke,Ke=0,$n=null,ws(A,i,s,l)}}HM(),r=Dt;break}catch(d){hC(A,d)}while(!0);return e&&A.shellSuspendCounter++,Ga=Mi=null,Ge=n,ae.H=o,ae.A=a,Be===null&&(At=null,xe=0,zd()),r}function HM(){for(;Be!==null;)bC(Be)}function zM(A,e){var t=Ge;Ge|=2;var n=mC(),o=yC();At!==A||xe!==e?(Id=null,Md=eo()+500,Os(A,e)):zs=Ec(A,e);A:do try{if(Ke!==0&&Be!==null){e=Be;var a=$n;e:switch(Ke){case 1:Ke=0,$n=null,ws(A,e,a,1);break;case 2:case 9:if(lw(a)){Ke=0,$n=null,kw(e);break}e=function(){Ke!==2&&Ke!==9||At!==A||(Ke=7),sa(A)},a.then(e,e);break A;case 3:Ke=7;break A;case 4:Ke=5;break A;case 7:lw(a)?(Ke=0,$n=null,kw(e)):(Ke=0,$n=null,ws(A,e,a,7));break;case 5:var r=null;switch(Be.tag){case 26:r=Be.memoizedState;case 5:case 27:var i=Be;if(r?GC(r):i.stateNode.complete){Ke=0,$n=null;var s=i.sibling;if(s!==null)Be=s;else{var l=i.return;l!==null?(Be=l,Zd(l)):Be=null}break e}}Ke=0,$n=null,ws(A,e,a,5);break;case 6:Ke=0,$n=null,ws(A,e,a,6);break;case 8:Mm(),Dt=6;break A;default:throw Error(cA(462))}}jM();break}catch(d){hC(A,d)}while(!0);return Ga=Mi=null,ae.H=n,ae.A=o,Ge=t,Be!==null?0:(At=null,xe=0,zd(),Dt)}function jM(){for(;Be!==null&&!gx();)bC(Be)}function bC(A){var e=JB(A.alternate,A,Wa);A.memoizedProps=A.pendingProps,e===null?Zd(A):Be=e}function kw(A){var e=A,t=e.alternate;switch(e.tag){case 15:case 0:e=xw(t,e,e.pendingProps,e.type,void 0,xe);break;case 11:e=xw(t,e,e.pendingProps,e.type.render,e.ref,xe);break;case 5:dm(e);default:WB(t,e),e=Be=W1(e,Wa),e=JB(t,e,Wa)}A.memoizedProps=A.pendingProps,e===null?Zd(A):Be=e}function ws(A,e,t,n){Ga=Mi=null,dm(e),Qs=null,fc=0;var o=e.return;try{if(TM(A,o,e,t,xe)){Dt=1,Ed(A,xo(t,A.current)),Be=null;return}}catch(a){if(o!==null)throw Be=o,a;Dt=1,Ed(A,xo(t,A.current)),Be=null;return}e.flags&32768?(Ie||n===1?A=!0:zs||xe&536870912?A=!1:(wr=A=!0,(n===2||n===9||n===3||n===6)&&(n=ro.current,n!==null&&n.tag===13&&(n.flags|=16384))),wC(e,A)):Zd(e)}function Zd(A){var e=A;do{if(e.flags&32768){wC(e,wr);return}A=e.return;var t=RM(e.alternate,e,Wa);if(t!==null){Be=t;return}if(e=e.sibling,e!==null){Be=e;return}Be=e=A}while(e!==null);Dt===0&&(Dt=5)}function wC(A,e){do{var t=OM(A.alternate,A);if(t!==null){t.flags&=32767,Be=t;return}if(t=A.return,t!==null&&(t.flags|=32768,t.subtreeFlags=0,t.deletions=null),!e&&(A=A.sibling,A!==null)){Be=A;return}Be=A=t}while(A!==null);Dt=6,Be=null}function Yw(A,e,t,n,o,a,r,i,s){A.cancelPendingCommit=null;do qd();while(qt!==0);if(Ge&6)throw Error(cA(327));if(e!==null){if(e===A.current)throw Error(cA(177));if(a=e.lanes|e.childLanes,a|=Zp,vx(A,t,a,r,i,s),A===At&&(Be=At=null,xe=0),Rs=e,Ir=A,Ha=t,xp=a,Mp=o,dC=n,e.subtreeFlags&10256||e.flags&10256?(A.callbackNode=null,A.callbackPriority=0,_M(gd,function(){return QC(),null})):(A.callbackNode=null,A.callbackPriority=0),n=(e.flags&13878)!==0,e.subtreeFlags&13878||n){n=ae.T,ae.T=null,o=Ne.p,Ne.p=2,r=Ge,Ge|=4;try{PM(A,e,t)}finally{Ge=r,Ne.p=o,ae.T=n}}qt=1,BC(),CC(),vC()}}function BC(){if(qt===1){qt=0;var A=Ir,e=Rs,t=(e.flags&13878)!==0;if(e.subtreeFlags&13878||t){t=ae.T,ae.T=null;var n=Ne.p;Ne.p=2;var o=Ge;Ge|=4;try{oC(e,A);var a=Tp,r=G1(A.containerInfo),i=a.focusedElem,s=a.selectionRange;if(r!==i&&i&&i.ownerDocument&&U1(i.ownerDocument.documentElement,i)){if(s!==null&&$p(i)){var l=s.start,d=s.end;if(d===void 0&&(d=l),"selectionStart"in i)i.selectionStart=l,i.selectionEnd=Math.min(d,i.value.length);else{var u=i.ownerDocument||document,c=u&&u.defaultView||window;if(c.getSelection){var p=c.getSelection(),B=i.textContent.length,v=Math.min(s.start,B),Q=s.end===void 0?v:Math.min(s.end,B);!p.extend&&v>Q&&(r=Q,Q=v,v=r);var C=tw(i,v),y=tw(i,Q);if(C&&y&&(p.rangeCount!==1||p.anchorNode!==C.node||p.anchorOffset!==C.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var w=u.createRange();w.setStart(C.node,C.offset),p.removeAllRanges(),v>Q?(p.addRange(w),p.extend(y.node,y.offset)):(w.setEnd(y.node,y.offset),p.addRange(w))}}}}for(u=[],p=i;p=p.parentNode;)p.nodeType===1&&u.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<u.length;i++){var I=u[i];I.element.scrollLeft=I.left,I.element.scrollTop=I.top}}Pd=!!Fp,Tp=Fp=null}finally{Ge=o,Ne.p=n,ae.T=t}}A.current=e,qt=2}}function CC(){if(qt===2){qt=0;var A=Ir,e=Rs,t=(e.flags&8772)!==0;if(e.subtreeFlags&8772||t){t=ae.T,ae.T=null;var n=Ne.p;Ne.p=2;var o=Ge;Ge|=4;try{qB(A,e.alternate,e)}finally{Ge=o,Ne.p=n,ae.T=t}}qt=3}}function vC(){if(qt===4||qt===3){qt=0,fx();var A=Ir,e=Rs,t=Ha,n=dC;e.subtreeFlags&10256||e.flags&10256?qt=5:(qt=0,Rs=Ir=null,EC(A,A.pendingLanes));var o=A.pendingLanes;if(o===0&&(Mr=null),jp(t),e=e.stateNode,to&&typeof to.onCommitFiberRoot=="function")try{to.onCommitFiberRoot(vc,e,void 0,(e.current.flags&128)===128)}catch{}if(n!==null){e=ae.T,o=Ne.p,Ne.p=2,ae.T=null;try{for(var a=A.onRecoverableError,r=0;r<n.length;r++){var i=n[r];a(i.value,{componentStack:i.stack})}}finally{ae.T=e,Ne.p=o}}Ha&3&&qd(),sa(A),o=A.pendingLanes,t&261930&&o&42?A===Ip?rc++:(rc=0,Ip=A):rc=0,Fc(0,!1)}}function EC(A,e){(A.pooledCacheLanes&=e)===0&&(e=A.pooledCache,e!=null&&(A.pooledCache=null,Ic(e)))}function qd(){return BC(),CC(),vC(),QC()}function QC(){if(qt!==5)return!1;var A=Ir,e=xp;xp=0;var t=jp(Ha),n=ae.T,o=Ne.p;try{Ne.p=32>t?32:t,ae.T=null,t=Mp,Mp=null;var a=Ir,r=Ha;if(qt=0,Rs=Ir=null,Ha=0,Ge&6)throw Error(cA(331));var i=Ge;if(Ge|=4,lC(a.current),rC(a,a.current,r,t),Ge=i,Fc(0,!1),to&&typeof to.onPostCommitFiberRoot=="function")try{to.onPostCommitFiberRoot(vc,a)}catch{}return!0}finally{Ne.p=o,ae.T=n,EC(A,e)}}function Rw(A,e,t){e=xo(t,e),e=Bp(A.stateNode,e,2),A=xr(A,e,2),A!==null&&(Qc(A,2),sa(A))}function Je(A,e,t){if(A.tag===3)Rw(A,A,t);else for(;e!==null;){if(e.tag===3){Rw(e,A,t);break}else if(e.tag===1){var n=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Mr===null||!Mr.has(n))){A=xo(t,A),t=NB(2),n=xr(e,t,2),n!==null&&(LB(t,n,e,A),Qc(n,2),sa(n));break}}e=e.return}}function Gh(A,e,t){var n=A.pingCache;if(n===null){n=A.pingCache=new NM;var o=new Set;n.set(e,o)}else o=n.get(e),o===void 0&&(o=new Set,n.set(e,o));o.has(t)||(Qm=!0,o.add(t),A=KM.bind(null,A,e,t),e.then(A,A))}function KM(A,e,t){var n=A.pingCache;n!==null&&n.delete(e),A.pingedLanes|=A.suspendedLanes&t,A.warmLanes&=~t,At===A&&(xe&t)===t&&(Dt===4||Dt===3&&(xe&62914560)===xe&&300>eo()-Xd?!(Ge&2)&&Os(A,0):xm|=t,Ys===xe&&(Ys=0)),sa(A)}function xC(A,e){e===0&&(e=m1()),A=xi(A,e),A!==null&&(Qc(A,e),sa(A))}function JM(A){var e=A.memoizedState,t=0;e!==null&&(t=e.retryLane),xC(A,t)}function WM(A,e){var t=0;switch(A.tag){case 31:case 13:var n=A.stateNode,o=A.memoizedState;o!==null&&(t=o.retryLane);break;case 19:n=A.stateNode;break;case 22:n=A.stateNode._retryCache;break;default:throw Error(cA(314))}n!==null&&n.delete(e),xC(A,t)}function _M(A,e){return Hp(A,e)}var Sd=null,ss=null,Dp=!1,Fd=!1,Nh=!1,Cr=0;function sa(A){A!==ss&&A.next===null&&(ss===null?Sd=ss=A:ss=ss.next=A),Fd=!0,Dp||(Dp=!0,XM())}function Fc(A,e){if(!Nh&&Fd){Nh=!0;do for(var t=!1,n=Sd;n!==null;){if(!e)if(A!==0){var o=n.pendingLanes;if(o===0)var a=0;else{var r=n.suspendedLanes,i=n.pingedLanes;a=(1<<31-no(42|A)+1)-1,a&=o&~(r&~i),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(t=!0,Ow(n,a))}else a=xe,a=Gd(n,n===At?a:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),!(a&3)||Ec(n,a)||(t=!0,Ow(n,a));n=n.next}while(t);Nh=!1}}function VM(){MC()}function MC(){Fd=Dp=!1;var A=0;Cr!==0&&oI()&&(A=Cr);for(var e=eo(),t=null,n=Sd;n!==null;){var o=n.next,a=IC(n,e);a===0?(n.next=null,t===null?Sd=o:t.next=o,o===null&&(ss=t)):(t=n,(A!==0||a&3)&&(Fd=!0)),n=o}qt!==0&&qt!==5||Fc(A,!1),Cr!==0&&(Cr=0)}function IC(A,e){for(var t=A.suspendedLanes,n=A.pingedLanes,o=A.expirationTimes,a=A.pendingLanes&-62914561;0<a;){var r=31-no(a),i=1<<r,s=o[r];s===-1?(!(i&t)||i&n)&&(o[r]=Cx(i,e)):s<=e&&(A.expiredLanes|=i),a&=~i}if(e=At,t=xe,t=Gd(A,A===e?t:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),n=A.callbackNode,t===0||A===e&&(Ke===2||Ke===9)||A.cancelPendingCommit!==null)return n!==null&&n!==null&&hh(n),A.callbackNode=null,A.callbackPriority=0;if(!(t&3)||Ec(A,t)){if(e=t&-t,e===A.callbackPriority)return e;switch(n!==null&&hh(n),jp(t)){case 2:case 8:t=h1;break;case 32:t=gd;break;case 268435456:t=p1;break;default:t=gd}return n=DC.bind(null,A),t=Hp(t,n),A.callbackPriority=e,A.callbackNode=t,e}return n!==null&&n!==null&&hh(n),A.callbackPriority=2,A.callbackNode=null,2}function DC(A,e){if(qt!==0&&qt!==5)return A.callbackNode=null,A.callbackPriority=0,null;var t=A.callbackNode;if(qd()&&A.callbackNode!==t)return null;var n=xe;return n=Gd(A,A===At?n:0,A.cancelPendingCommit!==null||A.timeoutHandle!==-1),n===0?null:(fC(A,n,e),IC(A,eo()),A.callbackNode!=null&&A.callbackNode===t?DC.bind(null,A):null)}function Ow(A,e){if(qd())return null;fC(A,e,!0)}function XM(){rI(function(){Ge&6?Hp(f1,VM):MC()})}function Im(){if(Cr===0){var A=Fs;A===0&&(A=Tu,Tu<<=1,!(Tu&261888)&&(Tu=256)),Cr=A}return Cr}function Pw(A){return A==null||typeof A=="symbol"||typeof A=="boolean"?null:typeof A=="function"?A:Xu(""+A)}function Uw(A,e){var t=e.ownerDocument.createElement("input");return t.name=e.name,t.value=e.value,A.id&&t.setAttribute("form",A.id),e.parentNode.insertBefore(t,e),A=new FormData(A),t.parentNode.removeChild(t),A}function $M(A,e,t,n,o){if(e==="submit"&&t&&t.stateNode===o){var a=Pw((o[zn]||null).action),r=n.submitter;r&&(e=(e=r[zn]||null)?Pw(e.formAction):r.getAttribute("formAction"),e!==null&&(a=e,r=null));var i=new Nd("action","action",null,n,o);A.push({event:i,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Cr!==0){var s=r?Uw(o,r):new FormData(o);bp(t,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(i.preventDefault(),s=r?Uw(o,r):new FormData(o),bp(t,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(ju=0;ju<ip.length;ju++)Ku=ip[ju],Gw=Ku.toLowerCase(),Nw=Ku[0].toUpperCase()+Ku.slice(1),Wo(Gw,"on"+Nw);var Ku,Gw,Nw,ju;Wo(L1,"onAnimationEnd");Wo(H1,"onAnimationIteration");Wo(z1,"onAnimationStart");Wo("dblclick","onDoubleClick");Wo("focusin","onFocus");Wo("focusout","onBlur");Wo(hM,"onTransitionRun");Wo(pM,"onTransitionStart");Wo(mM,"onTransitionCancel");Wo(j1,"onTransitionEnd");Ds("onMouseEnter",["mouseout","mouseover"]);Ds("onMouseLeave",["mouseout","mouseover"]);Ds("onPointerEnter",["pointerout","pointerover"]);Ds("onPointerLeave",["pointerout","pointerover"]);vi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));vi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));vi("onBeforeInput",["compositionend","keypress","textInput","paste"]);vi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));vi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));vi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var mc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),ZM=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mc));function SC(A,e){e=(e&4)!==0;for(var t=0;t<A.length;t++){var n=A[t],o=n.event;n=n.listeners;A:{var a=void 0;if(e)for(var r=n.length-1;0<=r;r--){var i=n[r],s=i.instance,l=i.currentTarget;if(i=i.listener,s!==a&&o.isPropagationStopped())break A;a=i,o.currentTarget=l;try{a(o)}catch(d){hd(d)}o.currentTarget=null,a=s}else for(r=0;r<n.length;r++){if(i=n[r],s=i.instance,l=i.currentTarget,i=i.listener,s!==a&&o.isPropagationStopped())break A;a=i,o.currentTarget=l;try{a(o)}catch(d){hd(d)}o.currentTarget=null,a=s}}}}function we(A,e){var t=e[qh];t===void 0&&(t=e[qh]=new Set);var n=A+"__bubble";t.has(n)||(FC(e,A,2,!1),t.add(n))}function Lh(A,e,t){var n=0;e&&(n|=4),FC(t,A,n,e)}var Ju="_reactListening"+Math.random().toString(36).slice(2);function Dm(A){if(!A[Ju]){A[Ju]=!0,C1.forEach(function(t){t!=="selectionchange"&&(ZM.has(t)||Lh(t,!1,A),Lh(t,!0,A))});var e=A.nodeType===9?A:A.ownerDocument;e===null||e[Ju]||(e[Ju]=!0,Lh("selectionchange",!1,e))}}function FC(A,e,t,n){switch(jC(e)){case 2:var o=xI;break;case 8:o=MI;break;default:o=km}t=o.bind(null,e,t,A),o=void 0,!op||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(o=!0),n?o!==void 0?A.addEventListener(e,t,{capture:!0,passive:o}):A.addEventListener(e,t,!0):o!==void 0?A.addEventListener(e,t,{passive:o}):A.addEventListener(e,t,!1)}function Hh(A,e,t,n,o){var a=n;if(!(e&1)&&!(e&2)&&n!==null)A:for(;;){if(n===null)return;var r=n.tag;if(r===3||r===4){var i=n.stateNode.containerInfo;if(i===o)break;if(r===4)for(r=n.return;r!==null;){var s=r.tag;if((s===3||s===4)&&r.stateNode.containerInfo===o)return;r=r.return}for(;i!==null;){if(r=us(i),r===null)return;if(s=r.tag,s===5||s===6||s===26||s===27){n=a=r;continue A}i=i.parentNode}}n=n.return}S1(function(){var l=a,d=Wp(t),u=[];A:{var c=K1.get(A);if(c!==void 0){var p=Nd,B=A;switch(A){case"keypress":if(Zu(t)===0)break A;case"keydown":case"keyup":p=Wx;break;case"focusin":B="focus",p=wh;break;case"focusout":B="blur",p=wh;break;case"beforeblur":case"afterblur":p=wh;break;case"click":if(t.button===2)break A;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=Wb;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=Rx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=Xx;break;case L1:case H1:case z1:p=Ux;break;case j1:p=Zx;break;case"scroll":case"scrollend":p=kx;break;case"wheel":p=AM;break;case"copy":case"cut":case"paste":p=Nx;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Vb;break;case"toggle":case"beforetoggle":p=tM}var v=(e&4)!==0,Q=!v&&(A==="scroll"||A==="scrollend"),C=v?c!==null?c+"Capture":null:c;v=[];for(var y=l,w;y!==null;){var I=y;if(w=I.stateNode,I=I.tag,I!==5&&I!==26&&I!==27||w===null||C===null||(I=lc(y,C),I!=null&&v.push(yc(y,I,w))),Q)break;y=y.return}0<v.length&&(c=new p(c,B,null,t,d),u.push({event:c,listeners:v}))}}if(!(e&7)){A:{if(c=A==="mouseover"||A==="pointerover",p=A==="mouseout"||A==="pointerout",c&&t!==np&&(B=t.relatedTarget||t.fromElement)&&(us(B)||B[Gs]))break A;if((p||c)&&(c=d.window===d?d:(c=d.ownerDocument)?c.defaultView||c.parentWindow:window,p?(B=t.relatedTarget||t.toElement,p=l,B=B?us(B):null,B!==null&&(Q=Cc(B),v=B.tag,B!==Q||v!==5&&v!==27&&v!==6)&&(B=null)):(p=null,B=l),p!==B)){if(v=Wb,I="onMouseLeave",C="onMouseEnter",y="mouse",(A==="pointerout"||A==="pointerover")&&(v=Vb,I="onPointerLeave",C="onPointerEnter",y="pointer"),Q=p==null?c:Jl(p),w=B==null?c:Jl(B),c=new v(I,y+"leave",p,t,d),c.target=Q,c.relatedTarget=w,I=null,us(d)===l&&(v=new v(C,y+"enter",B,t,d),v.target=w,v.relatedTarget=Q,I=v),Q=I,p&&B)e:{for(v=qM,C=p,y=B,w=0,I=C;I;I=v(I))w++;I=0;for(var F=y;F;F=v(F))I++;for(;0<w-I;)C=v(C),w--;for(;0<I-w;)y=v(y),I--;for(;w--;){if(C===y||y!==null&&C===y.alternate){v=C;break e}C=v(C),y=v(y)}v=null}else v=null;p!==null&&Lw(u,c,p,v,!1),B!==null&&Q!==null&&Lw(u,Q,B,v,!0)}}A:{if(c=l?Jl(l):window,p=c.nodeName&&c.nodeName.toLowerCase(),p==="select"||p==="input"&&c.type==="file")var G=qb;else if(Zb(c))if(O1)G=dM;else{G=cM;var E=lM}else p=c.nodeName,!p||p.toLowerCase()!=="input"||c.type!=="checkbox"&&c.type!=="radio"?l&&Jp(l.elementType)&&(G=qb):G=uM;if(G&&(G=G(A,l))){R1(u,G,t,d);break A}E&&E(A,c,l),A==="focusout"&&l&&c.type==="number"&&l.memoizedProps.value!=null&&tp(c,"number",c.value)}switch(E=l?Jl(l):window,A){case"focusin":(Zb(E)||E.contentEditable==="true")&&(fs=E,ap=l,$l=null);break;case"focusout":$l=ap=fs=null;break;case"mousedown":rp=!0;break;case"contextmenu":case"mouseup":case"dragend":rp=!1,nw(u,t,d);break;case"selectionchange":if(fM)break;case"keydown":case"keyup":nw(u,t,d)}var D;if(Xp)A:{switch(A){case"compositionstart":var k="onCompositionStart";break A;case"compositionend":k="onCompositionEnd";break A;case"compositionupdate":k="onCompositionUpdate";break A}k=void 0}else gs?k1(A,t)&&(k="onCompositionEnd"):A==="keydown"&&t.keyCode===229&&(k="onCompositionStart");k&&(T1&&t.locale!=="ko"&&(gs||k!=="onCompositionStart"?k==="onCompositionEnd"&&gs&&(D=F1()):(br=d,_p="value"in br?br.value:br.textContent,gs=!0)),E=Td(l,k),0<E.length&&(k=new _b(k,A,null,t,d),u.push({event:k,listeners:E}),D?k.data=D:(D=Y1(t),D!==null&&(k.data=D)))),(D=oM?aM(A,t):rM(A,t))&&(k=Td(l,"onBeforeInput"),0<k.length&&(E=new _b("onBeforeInput","beforeinput",null,t,d),u.push({event:E,listeners:k}),E.data=D)),$M(u,A,l,t,d)}SC(u,e)})}function yc(A,e,t){return{instance:A,listener:e,currentTarget:t}}function Td(A,e){for(var t=e+"Capture",n=[];A!==null;){var o=A,a=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||a===null||(o=lc(A,t),o!=null&&n.unshift(yc(A,o,a)),o=lc(A,e),o!=null&&n.push(yc(A,o,a))),A.tag===3)return n;A=A.return}return[]}function qM(A){if(A===null)return null;do A=A.return;while(A&&A.tag!==5&&A.tag!==27);return A||null}function Lw(A,e,t,n,o){for(var a=e._reactName,r=[];t!==null&&t!==n;){var i=t,s=i.alternate,l=i.stateNode;if(i=i.tag,s!==null&&s===n)break;i!==5&&i!==26&&i!==27||l===null||(s=l,o?(l=lc(t,a),l!=null&&r.unshift(yc(t,l,s))):o||(l=lc(t,a),l!=null&&r.push(yc(t,l,s)))),t=t.return}r.length!==0&&A.push({event:e,listeners:r})}var AI=/\r\n?/g,eI=/\u0000|\uFFFD/g;function Hw(A){return(typeof A=="string"?A:""+A).replace(AI,`
|
|
9
|
+
`).replace(eI,"")}function TC(A,e){return e=Hw(e),Hw(A)===e}function Ve(A,e,t,n,o,a){switch(t){case"children":typeof n=="string"?e==="body"||e==="textarea"&&n===""||Ss(A,n):(typeof n=="number"||typeof n=="bigint")&&e!=="body"&&Ss(A,""+n);break;case"className":Ru(A,"class",n);break;case"tabIndex":Ru(A,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":Ru(A,t,n);break;case"style":D1(A,n,a);break;case"data":if(e!=="object"){Ru(A,"data",n);break}case"src":case"href":if(n===""&&(e!=="a"||t!=="href")){A.removeAttribute(t);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){A.removeAttribute(t);break}n=Xu(""+n),A.setAttribute(t,n);break;case"action":case"formAction":if(typeof n=="function"){A.setAttribute(t,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof a=="function"&&(t==="formAction"?(e!=="input"&&Ve(A,e,"name",o.name,o,null),Ve(A,e,"formEncType",o.formEncType,o,null),Ve(A,e,"formMethod",o.formMethod,o,null),Ve(A,e,"formTarget",o.formTarget,o,null)):(Ve(A,e,"encType",o.encType,o,null),Ve(A,e,"method",o.method,o,null),Ve(A,e,"target",o.target,o,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){A.removeAttribute(t);break}n=Xu(""+n),A.setAttribute(t,n);break;case"onClick":n!=null&&(A.onclick=Ua);break;case"onScroll":n!=null&&we("scroll",A);break;case"onScrollEnd":n!=null&&we("scrollend",A);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(cA(61));if(t=n.__html,t!=null){if(o.children!=null)throw Error(cA(60));A.innerHTML=t}}break;case"multiple":A.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":A.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){A.removeAttribute("xlink:href");break}t=Xu(""+n),A.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?A.setAttribute(t,""+n):A.removeAttribute(t);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":n&&typeof n!="function"&&typeof n!="symbol"?A.setAttribute(t,""):A.removeAttribute(t);break;case"capture":case"download":n===!0?A.setAttribute(t,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?A.setAttribute(t,n):A.removeAttribute(t);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?A.setAttribute(t,n):A.removeAttribute(t);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?A.removeAttribute(t):A.setAttribute(t,n);break;case"popover":we("beforetoggle",A),we("toggle",A),Vu(A,"popover",n);break;case"xlinkActuate":Sa(A,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":Sa(A,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":Sa(A,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":Sa(A,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":Sa(A,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":Sa(A,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":Sa(A,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":Sa(A,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":Sa(A,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":Vu(A,"is",n);break;case"innerText":case"textContent":break;default:(!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(t=Fx.get(t)||t,Vu(A,t,n))}}function Sp(A,e,t,n,o,a){switch(t){case"style":D1(A,n,a);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(cA(61));if(t=n.__html,t!=null){if(o.children!=null)throw Error(cA(60));A.innerHTML=t}}break;case"children":typeof n=="string"?Ss(A,n):(typeof n=="number"||typeof n=="bigint")&&Ss(A,""+n);break;case"onScroll":n!=null&&we("scroll",A);break;case"onScrollEnd":n!=null&&we("scrollend",A);break;case"onClick":n!=null&&(A.onclick=Ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!v1.hasOwnProperty(t))A:{if(t[0]==="o"&&t[1]==="n"&&(o=t.endsWith("Capture"),e=t.slice(2,o?t.length-7:void 0),a=A[zn]||null,a=a!=null?a[t]:null,typeof a=="function"&&A.removeEventListener(e,a,o),typeof n=="function")){typeof a!="function"&&a!==null&&(t in A?A[t]=null:A.hasAttribute(t)&&A.removeAttribute(t)),A.addEventListener(e,n,o);break A}t in A?A[t]=n:n===!0?A.setAttribute(t,""):Vu(A,t,n)}}}function fn(A,e,t){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":we("error",A),we("load",A);var n=!1,o=!1,a;for(a in t)if(t.hasOwnProperty(a)){var r=t[a];if(r!=null)switch(a){case"src":n=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(cA(137,e));default:Ve(A,e,a,r,t,null)}}o&&Ve(A,e,"srcSet",t.srcSet,t,null),n&&Ve(A,e,"src",t.src,t,null);return;case"input":we("invalid",A);var i=a=r=o=null,s=null,l=null;for(n in t)if(t.hasOwnProperty(n)){var d=t[n];if(d!=null)switch(n){case"name":o=d;break;case"type":r=d;break;case"checked":s=d;break;case"defaultChecked":l=d;break;case"value":a=d;break;case"defaultValue":i=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(cA(137,e));break;default:Ve(A,e,n,d,t,null)}}x1(A,a,i,s,l,r,o,!1);return;case"select":we("invalid",A),n=r=a=null;for(o in t)if(t.hasOwnProperty(o)&&(i=t[o],i!=null))switch(o){case"value":a=i;break;case"defaultValue":r=i;break;case"multiple":n=i;default:Ve(A,e,o,i,t,null)}e=a,t=r,A.multiple=!!n,e!=null?Cs(A,!!n,e,!1):t!=null&&Cs(A,!!n,t,!0);return;case"textarea":we("invalid",A),a=o=n=null;for(r in t)if(t.hasOwnProperty(r)&&(i=t[r],i!=null))switch(r){case"value":n=i;break;case"defaultValue":o=i;break;case"children":a=i;break;case"dangerouslySetInnerHTML":if(i!=null)throw Error(cA(91));break;default:Ve(A,e,r,i,t,null)}I1(A,n,o,a);return;case"option":for(s in t)if(t.hasOwnProperty(s)&&(n=t[s],n!=null))switch(s){case"selected":A.selected=n&&typeof n!="function"&&typeof n!="symbol";break;default:Ve(A,e,s,n,t,null)}return;case"dialog":we("beforetoggle",A),we("toggle",A),we("cancel",A),we("close",A);break;case"iframe":case"object":we("load",A);break;case"video":case"audio":for(n=0;n<mc.length;n++)we(mc[n],A);break;case"image":we("error",A),we("load",A);break;case"details":we("toggle",A);break;case"embed":case"source":case"link":we("error",A),we("load",A);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(l in t)if(t.hasOwnProperty(l)&&(n=t[l],n!=null))switch(l){case"children":case"dangerouslySetInnerHTML":throw Error(cA(137,e));default:Ve(A,e,l,n,t,null)}return;default:if(Jp(e)){for(d in t)t.hasOwnProperty(d)&&(n=t[d],n!==void 0&&Sp(A,e,d,n,t,void 0));return}}for(i in t)t.hasOwnProperty(i)&&(n=t[i],n!=null&&Ve(A,e,i,n,t,null))}function tI(A,e,t,n){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,a=null,r=null,i=null,s=null,l=null,d=null;for(p in t){var u=t[p];if(t.hasOwnProperty(p)&&u!=null)switch(p){case"checked":break;case"value":break;case"defaultValue":s=u;default:n.hasOwnProperty(p)||Ve(A,e,p,null,n,u)}}for(var c in n){var p=n[c];if(u=t[c],n.hasOwnProperty(c)&&(p!=null||u!=null))switch(c){case"type":a=p;break;case"name":o=p;break;case"checked":l=p;break;case"defaultChecked":d=p;break;case"value":r=p;break;case"defaultValue":i=p;break;case"children":case"dangerouslySetInnerHTML":if(p!=null)throw Error(cA(137,e));break;default:p!==u&&Ve(A,e,c,p,n,u)}}ep(A,r,i,s,l,d,a,o);return;case"select":p=r=i=c=null;for(a in t)if(s=t[a],t.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":p=s;default:n.hasOwnProperty(a)||Ve(A,e,a,null,n,s)}for(o in n)if(a=n[o],s=t[o],n.hasOwnProperty(o)&&(a!=null||s!=null))switch(o){case"value":c=a;break;case"defaultValue":i=a;break;case"multiple":r=a;default:a!==s&&Ve(A,e,o,a,n,s)}e=i,t=r,n=p,c!=null?Cs(A,!!t,c,!1):!!n!=!!t&&(e!=null?Cs(A,!!t,e,!0):Cs(A,!!t,t?[]:"",!1));return;case"textarea":p=c=null;for(i in t)if(o=t[i],t.hasOwnProperty(i)&&o!=null&&!n.hasOwnProperty(i))switch(i){case"value":break;case"children":break;default:Ve(A,e,i,null,n,o)}for(r in n)if(o=n[r],a=t[r],n.hasOwnProperty(r)&&(o!=null||a!=null))switch(r){case"value":c=o;break;case"defaultValue":p=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(cA(91));break;default:o!==a&&Ve(A,e,r,o,n,a)}M1(A,c,p);return;case"option":for(var B in t)if(c=t[B],t.hasOwnProperty(B)&&c!=null&&!n.hasOwnProperty(B))switch(B){case"selected":A.selected=!1;break;default:Ve(A,e,B,null,n,c)}for(s in n)if(c=n[s],p=t[s],n.hasOwnProperty(s)&&c!==p&&(c!=null||p!=null))switch(s){case"selected":A.selected=c&&typeof c!="function"&&typeof c!="symbol";break;default:Ve(A,e,s,c,n,p)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var v in t)c=t[v],t.hasOwnProperty(v)&&c!=null&&!n.hasOwnProperty(v)&&Ve(A,e,v,null,n,c);for(l in n)if(c=n[l],p=t[l],n.hasOwnProperty(l)&&c!==p&&(c!=null||p!=null))switch(l){case"children":case"dangerouslySetInnerHTML":if(c!=null)throw Error(cA(137,e));break;default:Ve(A,e,l,c,n,p)}return;default:if(Jp(e)){for(var Q in t)c=t[Q],t.hasOwnProperty(Q)&&c!==void 0&&!n.hasOwnProperty(Q)&&Sp(A,e,Q,void 0,n,c);for(d in n)c=n[d],p=t[d],!n.hasOwnProperty(d)||c===p||c===void 0&&p===void 0||Sp(A,e,d,c,n,p);return}}for(var C in t)c=t[C],t.hasOwnProperty(C)&&c!=null&&!n.hasOwnProperty(C)&&Ve(A,e,C,null,n,c);for(u in n)c=n[u],p=t[u],!n.hasOwnProperty(u)||c===p||c==null&&p==null||Ve(A,e,u,c,n,p)}function zw(A){switch(A){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function nI(){if(typeof performance.getEntriesByType=="function"){for(var A=0,e=0,t=performance.getEntriesByType("resource"),n=0;n<t.length;n++){var o=t[n],a=o.transferSize,r=o.initiatorType,i=o.duration;if(a&&i&&zw(r)){for(r=0,i=o.responseEnd,n+=1;n<t.length;n++){var s=t[n],l=s.startTime;if(l>i)break;var d=s.transferSize,u=s.initiatorType;d&&zw(u)&&(s=s.responseEnd,r+=d*(s<i?1:(i-l)/(s-l)))}if(--n,e+=8*(a+r)/(o.duration/1e3),A++,10<A)break}}if(0<A)return e/A/1e6}return navigator.connection&&(A=navigator.connection.downlink,typeof A=="number")?A:5}var Fp=null,Tp=null;function kd(A){return A.nodeType===9?A:A.ownerDocument}function jw(A){switch(A){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function kC(A,e){if(A===0)switch(e){case"svg":return 1;case"math":return 2;default:return 0}return A===1&&e==="foreignObject"?0:A}function kp(A,e){return A==="textarea"||A==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.children=="bigint"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var zh=null;function oI(){var A=window.event;return A&&A.type==="popstate"?A===zh?!1:(zh=A,!0):(zh=null,!1)}var YC=typeof setTimeout=="function"?setTimeout:void 0,aI=typeof clearTimeout=="function"?clearTimeout:void 0,Kw=typeof Promise=="function"?Promise:void 0,rI=typeof queueMicrotask=="function"?queueMicrotask:typeof Kw<"u"?function(A){return Kw.resolve(null).then(A).catch(iI)}:YC;function iI(A){setTimeout(function(){throw A})}function Pr(A){return A==="head"}function Jw(A,e){var t=e,n=0;do{var o=t.nextSibling;if(A.removeChild(t),o&&o.nodeType===8)if(t=o.data,t==="/$"||t==="/&"){if(n===0){A.removeChild(o),Us(e);return}n--}else if(t==="$"||t==="$?"||t==="$~"||t==="$!"||t==="&")n++;else if(t==="html")ic(A.ownerDocument.documentElement);else if(t==="head"){t=A.ownerDocument.head,ic(t);for(var a=t.firstChild;a;){var r=a.nextSibling,i=a.nodeName;a[xc]||i==="SCRIPT"||i==="STYLE"||i==="LINK"&&a.rel.toLowerCase()==="stylesheet"||t.removeChild(a),a=r}}else t==="body"&&ic(A.ownerDocument.body);t=o}while(t);Us(e)}function Ww(A,e){var t=A;A=0;do{var n=t.nextSibling;if(t.nodeType===1?e?(t._stashedDisplay=t.style.display,t.style.display="none"):(t.style.display=t._stashedDisplay||"",t.getAttribute("style")===""&&t.removeAttribute("style")):t.nodeType===3&&(e?(t._stashedText=t.nodeValue,t.nodeValue=""):t.nodeValue=t._stashedText||""),n&&n.nodeType===8)if(t=n.data,t==="/$"){if(A===0)break;A--}else t!=="$"&&t!=="$?"&&t!=="$~"&&t!=="$!"||A++;t=n}while(t)}function Yp(A){var e=A.firstChild;for(e&&e.nodeType===10&&(e=e.nextSibling);e;){var t=e;switch(e=e.nextSibling,t.nodeName){case"HTML":case"HEAD":case"BODY":Yp(t),Kp(t);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(t.rel.toLowerCase()==="stylesheet")continue}A.removeChild(t)}}function sI(A,e,t,n){for(;A.nodeType===1;){var o=t;if(A.nodeName.toLowerCase()!==e.toLowerCase()){if(!n&&(A.nodeName!=="INPUT"||A.type!=="hidden"))break}else if(n){if(!A[xc])switch(e){case"meta":if(!A.hasAttribute("itemprop"))break;return A;case"link":if(a=A.getAttribute("rel"),a==="stylesheet"&&A.hasAttribute("data-precedence"))break;if(a!==o.rel||A.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||A.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||A.getAttribute("title")!==(o.title==null?null:o.title))break;return A;case"style":if(A.hasAttribute("data-precedence"))break;return A;case"script":if(a=A.getAttribute("src"),(a!==(o.src==null?null:o.src)||A.getAttribute("type")!==(o.type==null?null:o.type)||A.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&a&&A.hasAttribute("async")&&!A.hasAttribute("itemprop"))break;return A;default:return A}}else if(e==="input"&&A.type==="hidden"){var a=o.name==null?null:""+o.name;if(o.type==="hidden"&&A.getAttribute("name")===a)return A}else return A;if(A=Do(A.nextSibling),A===null)break}return null}function lI(A,e,t){if(e==="")return null;for(;A.nodeType!==3;)if((A.nodeType!==1||A.nodeName!=="INPUT"||A.type!=="hidden")&&!t||(A=Do(A.nextSibling),A===null))return null;return A}function RC(A,e){for(;A.nodeType!==8;)if((A.nodeType!==1||A.nodeName!=="INPUT"||A.type!=="hidden")&&!e||(A=Do(A.nextSibling),A===null))return null;return A}function Rp(A){return A.data==="$?"||A.data==="$~"}function Op(A){return A.data==="$!"||A.data==="$?"&&A.ownerDocument.readyState!=="loading"}function cI(A,e){var t=A.ownerDocument;if(A.data==="$~")A._reactRetry=e;else if(A.data!=="$?"||t.readyState!=="loading")e();else{var n=function(){e(),t.removeEventListener("DOMContentLoaded",n)};t.addEventListener("DOMContentLoaded",n),A._reactRetry=n}}function Do(A){for(;A!=null;A=A.nextSibling){var e=A.nodeType;if(e===1||e===3)break;if(e===8){if(e=A.data,e==="$"||e==="$!"||e==="$?"||e==="$~"||e==="&"||e==="F!"||e==="F")break;if(e==="/$"||e==="/&")return null}}return A}var Pp=null;function _w(A){A=A.nextSibling;for(var e=0;A;){if(A.nodeType===8){var t=A.data;if(t==="/$"||t==="/&"){if(e===0)return Do(A.nextSibling);e--}else t!=="$"&&t!=="$!"&&t!=="$?"&&t!=="$~"&&t!=="&"||e++}A=A.nextSibling}return null}function Vw(A){A=A.previousSibling;for(var e=0;A;){if(A.nodeType===8){var t=A.data;if(t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"){if(e===0)return A;e--}else t!=="/$"&&t!=="/&"||e++}A=A.previousSibling}return null}function OC(A,e,t){switch(e=kd(t),A){case"html":if(A=e.documentElement,!A)throw Error(cA(452));return A;case"head":if(A=e.head,!A)throw Error(cA(453));return A;case"body":if(A=e.body,!A)throw Error(cA(454));return A;default:throw Error(cA(451))}}function ic(A){for(var e=A.attributes;e.length;)A.removeAttributeNode(e[0]);Kp(A)}var So=new Map,Xw=new Set;function Yd(A){return typeof A.getRootNode=="function"?A.getRootNode():A.nodeType===9?A:A.ownerDocument}var _a=Ne.d;Ne.d={f:uI,r:dI,D:gI,C:fI,L:hI,m:pI,X:yI,S:mI,M:bI};function uI(){var A=_a.f(),e=$d();return A||e}function dI(A){var e=Ns(A);e!==null&&e.tag===5&&e.type==="form"?DB(e):_a.r(A)}var js=typeof document>"u"?null:document;function PC(A,e,t){var n=js;if(n&&typeof e=="string"&&e){var o=Qo(e);o='link[rel="'+A+'"][href="'+o+'"]',typeof t=="string"&&(o+='[crossorigin="'+t+'"]'),Xw.has(o)||(Xw.add(o),A={rel:A,crossOrigin:t,href:e},n.querySelector(o)===null&&(e=n.createElement("link"),fn(e,"link",A),rn(e),n.head.appendChild(e)))}}function gI(A){_a.D(A),PC("dns-prefetch",A,null)}function fI(A,e){_a.C(A,e),PC("preconnect",A,e)}function hI(A,e,t){_a.L(A,e,t);var n=js;if(n&&A&&e){var o='link[rel="preload"][as="'+Qo(e)+'"]';e==="image"&&t&&t.imageSrcSet?(o+='[imagesrcset="'+Qo(t.imageSrcSet)+'"]',typeof t.imageSizes=="string"&&(o+='[imagesizes="'+Qo(t.imageSizes)+'"]')):o+='[href="'+Qo(A)+'"]';var a=o;switch(e){case"style":a=Ps(A);break;case"script":a=Ks(A)}So.has(a)||(A=mt({rel:"preload",href:e==="image"&&t&&t.imageSrcSet?void 0:A,as:e},t),So.set(a,A),n.querySelector(o)!==null||e==="style"&&n.querySelector(Tc(a))||e==="script"&&n.querySelector(kc(a))||(e=n.createElement("link"),fn(e,"link",A),rn(e),n.head.appendChild(e)))}}function pI(A,e){_a.m(A,e);var t=js;if(t&&A){var n=e&&typeof e.as=="string"?e.as:"script",o='link[rel="modulepreload"][as="'+Qo(n)+'"][href="'+Qo(A)+'"]',a=o;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=Ks(A)}if(!So.has(a)&&(A=mt({rel:"modulepreload",href:A},e),So.set(a,A),t.querySelector(o)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(t.querySelector(kc(a)))return}n=t.createElement("link"),fn(n,"link",A),rn(n),t.head.appendChild(n)}}}function mI(A,e,t){_a.S(A,e,t);var n=js;if(n&&A){var o=Bs(n).hoistableStyles,a=Ps(A);e=e||"default";var r=o.get(a);if(!r){var i={loading:0,preload:null};if(r=n.querySelector(Tc(a)))i.loading=5;else{A=mt({rel:"stylesheet",href:A,"data-precedence":e},t),(t=So.get(a))&&Sm(A,t);var s=r=n.createElement("link");rn(s),fn(s,"link",A),s._p=new Promise(function(l,d){s.onload=l,s.onerror=d}),s.addEventListener("load",function(){i.loading|=1}),s.addEventListener("error",function(){i.loading|=2}),i.loading|=4,rd(r,e,n)}r={type:"stylesheet",instance:r,count:1,state:i},o.set(a,r)}}}function yI(A,e){_a.X(A,e);var t=js;if(t&&A){var n=Bs(t).hoistableScripts,o=Ks(A),a=n.get(o);a||(a=t.querySelector(kc(o)),a||(A=mt({src:A,async:!0},e),(e=So.get(o))&&Fm(A,e),a=t.createElement("script"),rn(a),fn(a,"link",A),t.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function bI(A,e){_a.M(A,e);var t=js;if(t&&A){var n=Bs(t).hoistableScripts,o=Ks(A),a=n.get(o);a||(a=t.querySelector(kc(o)),a||(A=mt({src:A,async:!0,type:"module"},e),(e=So.get(o))&&Fm(A,e),a=t.createElement("script"),rn(a),fn(a,"link",A),t.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function $w(A,e,t,n){var o=(o=vr.current)?Yd(o):null;if(!o)throw Error(cA(446));switch(A){case"meta":case"title":return null;case"style":return typeof t.precedence=="string"&&typeof t.href=="string"?(e=Ps(t.href),t=Bs(o).hoistableStyles,n=t.get(e),n||(n={type:"style",instance:null,count:0,state:null},t.set(e,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(t.rel==="stylesheet"&&typeof t.href=="string"&&typeof t.precedence=="string"){A=Ps(t.href);var a=Bs(o).hoistableStyles,r=a.get(A);if(r||(o=o.ownerDocument||o,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(A,r),(a=o.querySelector(Tc(A)))&&!a._p&&(r.instance=a,r.state.loading=5),So.has(A)||(t={rel:"preload",as:"style",href:t.href,crossOrigin:t.crossOrigin,integrity:t.integrity,media:t.media,hrefLang:t.hrefLang,referrerPolicy:t.referrerPolicy},So.set(A,t),a||wI(o,A,t,r.state))),e&&n===null)throw Error(cA(528,""));return r}if(e&&n!==null)throw Error(cA(529,""));return null;case"script":return e=t.async,t=t.src,typeof t=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=Ks(t),t=Bs(o).hoistableScripts,n=t.get(e),n||(n={type:"script",instance:null,count:0,state:null},t.set(e,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(cA(444,A))}}function Ps(A){return'href="'+Qo(A)+'"'}function Tc(A){return'link[rel="stylesheet"]['+A+"]"}function UC(A){return mt({},A,{"data-precedence":A.precedence,precedence:null})}function wI(A,e,t,n){A.querySelector('link[rel="preload"][as="style"]['+e+"]")?n.loading=1:(e=A.createElement("link"),n.preload=e,e.addEventListener("load",function(){return n.loading|=1}),e.addEventListener("error",function(){return n.loading|=2}),fn(e,"link",t),rn(e),A.head.appendChild(e))}function Ks(A){return'[src="'+Qo(A)+'"]'}function kc(A){return"script[async]"+A}function Zw(A,e,t){if(e.count++,e.instance===null)switch(e.type){case"style":var n=A.querySelector('style[data-href~="'+Qo(t.href)+'"]');if(n)return e.instance=n,rn(n),n;var o=mt({},t,{"data-href":t.href,"data-precedence":t.precedence,href:null,precedence:null});return n=(A.ownerDocument||A).createElement("style"),rn(n),fn(n,"style",o),rd(n,t.precedence,A),e.instance=n;case"stylesheet":o=Ps(t.href);var a=A.querySelector(Tc(o));if(a)return e.state.loading|=4,e.instance=a,rn(a),a;n=UC(t),(o=So.get(o))&&Sm(n,o),a=(A.ownerDocument||A).createElement("link"),rn(a);var r=a;return r._p=new Promise(function(i,s){r.onload=i,r.onerror=s}),fn(a,"link",n),e.state.loading|=4,rd(a,t.precedence,A),e.instance=a;case"script":return a=Ks(t.src),(o=A.querySelector(kc(a)))?(e.instance=o,rn(o),o):(n=t,(o=So.get(a))&&(n=mt({},t),Fm(n,o)),A=A.ownerDocument||A,o=A.createElement("script"),rn(o),fn(o,"link",n),A.head.appendChild(o),e.instance=o);case"void":return null;default:throw Error(cA(443,e.type))}else e.type==="stylesheet"&&!(e.state.loading&4)&&(n=e.instance,e.state.loading|=4,rd(n,t.precedence,A));return e.instance}function rd(A,e,t){for(var n=t.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=n.length?n[n.length-1]:null,a=o,r=0;r<n.length;r++){var i=n[r];if(i.dataset.precedence===e)a=i;else if(a!==o)break}a?a.parentNode.insertBefore(A,a.nextSibling):(e=t.nodeType===9?t.head:t,e.insertBefore(A,e.firstChild))}function Sm(A,e){A.crossOrigin==null&&(A.crossOrigin=e.crossOrigin),A.referrerPolicy==null&&(A.referrerPolicy=e.referrerPolicy),A.title==null&&(A.title=e.title)}function Fm(A,e){A.crossOrigin==null&&(A.crossOrigin=e.crossOrigin),A.referrerPolicy==null&&(A.referrerPolicy=e.referrerPolicy),A.integrity==null&&(A.integrity=e.integrity)}var id=null;function qw(A,e,t){if(id===null){var n=new Map,o=id=new Map;o.set(t,n)}else o=id,n=o.get(t),n||(n=new Map,o.set(t,n));if(n.has(A))return n;for(n.set(A,null),t=t.getElementsByTagName(A),o=0;o<t.length;o++){var a=t[o];if(!(a[xc]||a[un]||A==="link"&&a.getAttribute("rel")==="stylesheet")&&a.namespaceURI!=="http://www.w3.org/2000/svg"){var r=a.getAttribute(e)||"";r=A+r;var i=n.get(r);i?i.push(a):n.set(r,[a])}}return n}function A1(A,e,t){A=A.ownerDocument||A,A.head.insertBefore(t,e==="title"?A.querySelector("head > title"):null)}function BI(A,e,t){if(t===1||e.itemProp!=null)return!1;switch(A){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return A=e.disabled,typeof e.precedence=="string"&&A==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function GC(A){return!(A.type==="stylesheet"&&!(A.state.loading&3))}function CI(A,e,t,n){if(t.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&!(t.state.loading&4)){if(t.instance===null){var o=Ps(n.href),a=e.querySelector(Tc(o));if(a){e=a._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(A.count++,A=Rd.bind(A),e.then(A,A)),t.state.loading|=4,t.instance=a,rn(a);return}a=e.ownerDocument||e,n=UC(n),(o=So.get(o))&&Sm(n,o),a=a.createElement("link"),rn(a);var r=a;r._p=new Promise(function(i,s){r.onload=i,r.onerror=s}),fn(a,"link",n),t.instance=a}A.stylesheets===null&&(A.stylesheets=new Map),A.stylesheets.set(t,e),(e=t.state.preload)&&!(t.state.loading&3)&&(A.count++,t=Rd.bind(A),e.addEventListener("load",t),e.addEventListener("error",t))}}var jh=0;function vI(A,e){return A.stylesheets&&A.count===0&&sd(A,A.stylesheets),0<A.count||0<A.imgCount?function(t){var n=setTimeout(function(){if(A.stylesheets&&sd(A,A.stylesheets),A.unsuspend){var a=A.unsuspend;A.unsuspend=null,a()}},6e4+e);0<A.imgBytes&&jh===0&&(jh=62500*nI());var o=setTimeout(function(){if(A.waitingForImages=!1,A.count===0&&(A.stylesheets&&sd(A,A.stylesheets),A.unsuspend)){var a=A.unsuspend;A.unsuspend=null,a()}},(A.imgBytes>jh?50:800)+e);return A.unsuspend=t,function(){A.unsuspend=null,clearTimeout(n),clearTimeout(o)}}:null}function Rd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)sd(this,this.stylesheets);else if(this.unsuspend){var A=this.unsuspend;this.unsuspend=null,A()}}}var Od=null;function sd(A,e){A.stylesheets=null,A.unsuspend!==null&&(A.count++,Od=new Map,e.forEach(EI,A),Od=null,Rd.call(A))}function EI(A,e){if(!(e.state.loading&4)){var t=Od.get(A);if(t)var n=t.get(null);else{t=new Map,Od.set(A,t);for(var o=A.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<o.length;a++){var r=o[a];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(t.set(r.dataset.precedence,r),n=r)}n&&t.set(null,n)}o=e.instance,r=o.getAttribute("data-precedence"),a=t.get(r)||n,a===n&&t.set(null,o),t.set(r,o),this.count++,n=Rd.bind(this),o.addEventListener("load",n),o.addEventListener("error",n),a?a.parentNode.insertBefore(o,a.nextSibling):(A=A.nodeType===9?A.head:A,A.insertBefore(o,A.firstChild)),e.state.loading|=4}}var bc={$$typeof:Pa,Provider:null,Consumer:null,_currentValue:gi,_currentValue2:gi,_threadCount:0};function QI(A,e,t,n,o,a,r,i,s){this.tag=1,this.containerInfo=A,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ph(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ph(0),this.hiddenUpdates=ph(null),this.identifierPrefix=n,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function NC(A,e,t,n,o,a,r,i,s,l,d,u){return A=new QI(A,e,t,r,s,l,d,u,i),e=1,a===!0&&(e|=24),a=qn(3,null,null,e),A.current=a,a.stateNode=A,e=nm(),e.refCount++,A.pooledCache=e,e.refCount++,a.memoizedState={element:n,isDehydrated:t,cache:e},rm(a),A}function LC(A){return A?(A=ms,A):ms}function HC(A,e,t,n,o,a){o=LC(o),n.context===null?n.context=o:n.pendingContext=o,n=Qr(e),n.payload={element:t},a=a===void 0?null:a,a!==null&&(n.callback=a),t=xr(A,n,e),t!==null&&(Hn(t,A,e),ql(t,A,e))}function e1(A,e){if(A=A.memoizedState,A!==null&&A.dehydrated!==null){var t=A.retryLane;A.retryLane=t!==0&&t<e?t:e}}function Tm(A,e){e1(A,e),(A=A.alternate)&&e1(A,e)}function zC(A){if(A.tag===13||A.tag===31){var e=xi(A,67108864);e!==null&&Hn(e,A,67108864),Tm(A,67108864)}}function t1(A){if(A.tag===13||A.tag===31){var e=oo();e=zp(e);var t=xi(A,e);t!==null&&Hn(t,A,e),Tm(A,e)}}var Pd=!0;function xI(A,e,t,n){var o=ae.T;ae.T=null;var a=Ne.p;try{Ne.p=2,km(A,e,t,n)}finally{Ne.p=a,ae.T=o}}function MI(A,e,t,n){var o=ae.T;ae.T=null;var a=Ne.p;try{Ne.p=8,km(A,e,t,n)}finally{Ne.p=a,ae.T=o}}function km(A,e,t,n){if(Pd){var o=Up(n);if(o===null)Hh(A,e,n,Ud,t),n1(A,n);else if(DI(o,A,e,t,n))n.stopPropagation();else if(n1(A,n),e&4&&-1<II.indexOf(A)){for(;o!==null;){var a=Ns(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var r=ci(a.pendingLanes);if(r!==0){var i=a;for(i.pendingLanes|=2,i.entangledLanes|=2;r;){var s=1<<31-no(r);i.entanglements[1]|=s,r&=~s}sa(a),!(Ge&6)&&(Md=eo()+500,Fc(0,!1))}}break;case 31:case 13:i=xi(a,2),i!==null&&Hn(i,a,2),$d(),Tm(a,2)}if(a=Up(n),a===null&&Hh(A,e,n,Ud,t),a===o)break;o=a}o!==null&&n.stopPropagation()}else Hh(A,e,n,null,t)}}function Up(A){return A=Wp(A),Ym(A)}var Ud=null;function Ym(A){if(Ud=null,A=us(A),A!==null){var e=Cc(A);if(e===null)A=null;else{var t=e.tag;if(t===13){if(A=l1(e),A!==null)return A;A=null}else if(t===31){if(A=c1(e),A!==null)return A;A=null}else if(t===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;A=null}else e!==A&&(A=null)}}return Ud=A,null}function jC(A){switch(A){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(hx()){case f1:return 2;case h1:return 8;case gd:case px:return 32;case p1:return 268435456;default:return 32}default:return 32}}var Gp=!1,Dr=null,Sr=null,Fr=null,wc=new Map,Bc=new Map,mr=[],II="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function n1(A,e){switch(A){case"focusin":case"focusout":Dr=null;break;case"dragenter":case"dragleave":Sr=null;break;case"mouseover":case"mouseout":Fr=null;break;case"pointerover":case"pointerout":wc.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":Bc.delete(e.pointerId)}}function Hl(A,e,t,n,o,a){return A===null||A.nativeEvent!==a?(A={blockedOn:e,domEventName:t,eventSystemFlags:n,nativeEvent:a,targetContainers:[o]},e!==null&&(e=Ns(e),e!==null&&zC(e)),A):(A.eventSystemFlags|=n,e=A.targetContainers,o!==null&&e.indexOf(o)===-1&&e.push(o),A)}function DI(A,e,t,n,o){switch(e){case"focusin":return Dr=Hl(Dr,A,e,t,n,o),!0;case"dragenter":return Sr=Hl(Sr,A,e,t,n,o),!0;case"mouseover":return Fr=Hl(Fr,A,e,t,n,o),!0;case"pointerover":var a=o.pointerId;return wc.set(a,Hl(wc.get(a)||null,A,e,t,n,o)),!0;case"gotpointercapture":return a=o.pointerId,Bc.set(a,Hl(Bc.get(a)||null,A,e,t,n,o)),!0}return!1}function KC(A){var e=us(A.target);if(e!==null){var t=Cc(e);if(t!==null){if(e=t.tag,e===13){if(e=l1(t),e!==null){A.blockedOn=e,Nb(A.priority,function(){t1(t)});return}}else if(e===31){if(e=c1(t),e!==null){A.blockedOn=e,Nb(A.priority,function(){t1(t)});return}}else if(e===3&&t.stateNode.current.memoizedState.isDehydrated){A.blockedOn=t.tag===3?t.stateNode.containerInfo:null;return}}}A.blockedOn=null}function ld(A){if(A.blockedOn!==null)return!1;for(var e=A.targetContainers;0<e.length;){var t=Up(A.nativeEvent);if(t===null){t=A.nativeEvent;var n=new t.constructor(t.type,t);np=n,t.target.dispatchEvent(n),np=null}else return e=Ns(t),e!==null&&zC(e),A.blockedOn=t,!1;e.shift()}return!0}function o1(A,e,t){ld(A)&&t.delete(e)}function SI(){Gp=!1,Dr!==null&&ld(Dr)&&(Dr=null),Sr!==null&&ld(Sr)&&(Sr=null),Fr!==null&&ld(Fr)&&(Fr=null),wc.forEach(o1),Bc.forEach(o1)}function Wu(A,e){A.blockedOn===e&&(A.blockedOn=null,Gp||(Gp=!0,An.unstable_scheduleCallback(An.unstable_NormalPriority,SI)))}var _u=null;function a1(A){_u!==A&&(_u=A,An.unstable_scheduleCallback(An.unstable_NormalPriority,function(){_u===A&&(_u=null);for(var e=0;e<A.length;e+=3){var t=A[e],n=A[e+1],o=A[e+2];if(typeof n!="function"){if(Ym(n||t)===null)continue;break}var a=Ns(t);a!==null&&(A.splice(e,3),e-=3,bp(a,{pending:!0,data:o,method:t.method,action:n},n,o))}}))}function Us(A){function e(s){return Wu(s,A)}Dr!==null&&Wu(Dr,A),Sr!==null&&Wu(Sr,A),Fr!==null&&Wu(Fr,A),wc.forEach(e),Bc.forEach(e);for(var t=0;t<mr.length;t++){var n=mr[t];n.blockedOn===A&&(n.blockedOn=null)}for(;0<mr.length&&(t=mr[0],t.blockedOn===null);)KC(t),t.blockedOn===null&&mr.shift();if(t=(A.ownerDocument||A).$$reactFormReplay,t!=null)for(n=0;n<t.length;n+=3){var o=t[n],a=t[n+1],r=o[zn]||null;if(typeof a=="function")r||a1(t);else if(r){var i=null;if(a&&a.hasAttribute("formAction")){if(o=a,r=a[zn]||null)i=r.formAction;else if(Ym(o)!==null)continue}else i=r.action;typeof i=="function"?t[n+1]=i:(t.splice(n,3),n-=3),a1(t)}}}function JC(){function A(a){a.canIntercept&&a.info==="react-transition"&&a.intercept({handler:function(){return new Promise(function(r){return o=r})},focusReset:"manual",scroll:"manual"})}function e(){o!==null&&(o(),o=null),n||setTimeout(t,20)}function t(){if(!n&&!navigation.transition){var a=navigation.currentEntry;a&&a.url!=null&&navigation.navigate(a.url,{state:a.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,o=null;return navigation.addEventListener("navigate",A),navigation.addEventListener("navigatesuccess",e),navigation.addEventListener("navigateerror",e),setTimeout(t,100),function(){n=!0,navigation.removeEventListener("navigate",A),navigation.removeEventListener("navigatesuccess",e),navigation.removeEventListener("navigateerror",e),o!==null&&(o(),o=null)}}}function Rm(A){this._internalRoot=A}Ag.prototype.render=Rm.prototype.render=function(A){var e=this._internalRoot;if(e===null)throw Error(cA(409));var t=e.current,n=oo();HC(t,n,A,e,null,null)};Ag.prototype.unmount=Rm.prototype.unmount=function(){var A=this._internalRoot;if(A!==null){this._internalRoot=null;var e=A.containerInfo;HC(A.current,2,null,A,null,null),$d(),e[Gs]=null}};function Ag(A){this._internalRoot=A}Ag.prototype.unstable_scheduleHydration=function(A){if(A){var e=B1();A={blockedOn:null,target:A,priority:e};for(var t=0;t<mr.length&&e!==0&&e<mr[t].priority;t++);mr.splice(t,0,A),t===0&&KC(A)}};var r1=i1.version;if(r1!=="19.2.3")throw Error(cA(527,r1,"19.2.3"));Ne.findDOMNode=function(A){var e=A._reactInternals;if(e===void 0)throw typeof A.render=="function"?Error(cA(188)):(A=Object.keys(A).join(","),Error(cA(268,A)));return A=sx(e),A=A!==null?u1(A):null,A=A===null?null:A.stateNode,A};var FI={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:ae,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(zl=__REACT_DEVTOOLS_GLOBAL_HOOK__,!zl.isDisabled&&zl.supportsFiber))try{vc=zl.inject(FI),to=zl}catch{}var zl;eg.createRoot=function(A,e){if(!s1(A))throw Error(cA(299));var t=!1,n="",o=PB,a=UB,r=GB;return e!=null&&(e.unstable_strictMode===!0&&(t=!0),e.identifierPrefix!==void 0&&(n=e.identifierPrefix),e.onUncaughtError!==void 0&&(o=e.onUncaughtError),e.onCaughtError!==void 0&&(a=e.onCaughtError),e.onRecoverableError!==void 0&&(r=e.onRecoverableError)),e=NC(A,1,!1,null,null,t,n,null,o,a,r,JC),A[Gs]=e.current,Dm(A),new Rm(e)};eg.hydrateRoot=function(A,e,t){if(!s1(A))throw Error(cA(299));var n=!1,o="",a=PB,r=UB,i=GB,s=null;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onUncaughtError!==void 0&&(a=t.onUncaughtError),t.onCaughtError!==void 0&&(r=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError),t.formState!==void 0&&(s=t.formState)),e=NC(A,1,!0,e,t??null,n,o,s,a,r,i,JC),e.context=LC(null),t=e.current,n=oo(),n=zp(n),o=Qr(n),o.callback=null,xr(t,o,n),t=n,e.current.lanes=t,Qc(e,t),sa(e),A[Gs]=e.current,Dm(A),new Ag(e)};eg.version="19.2.3"});var XC=jo((k6,VC)=>{"use strict";function _C(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_C)}catch(A){console.error(A)}}_C(),VC.exports=WC()});var yE=jo(Kg=>{"use strict";var DD=Symbol.for("react.transitional.element"),SD=Symbol.for("react.fragment");function mE(A,e,t){var n=null;if(t!==void 0&&(n=""+t),e.key!==void 0&&(n=""+e.key),"key"in e){t={};for(var o in e)o!=="key"&&(t[o]=e[o])}else t=e;return e=t.ref,{$$typeof:DD,type:A,key:n,ref:e!==void 0?e:null,props:t}}Kg.Fragment=SD;Kg.jsx=mE;Kg.jsxs=mE});var bt=jo((dT,bE)=>{"use strict";bE.exports=yE()});var y2=jo((eu,ey)=>{(function(e,t){typeof eu=="object"&&typeof ey=="object"?ey.exports=t():typeof define=="function"&&define.amd?define([],t):typeof eu=="object"?eu.rive=t():e.rive=t()})(eu,()=>(()=>{"use strict";var A=[,(o,a,r)=>{r.r(a),r.d(a,{Animation:()=>i.Animation});var i=r(2)},(o,a,r)=>{r.r(a),r.d(a,{Animation:()=>i});var i=function(){function s(l,d,u,c){this.animation=l,this.artboard=d,this.playing=c,this.loopCount=0,this.scrubTo=null,this.instance=new u.LinearAnimationInstance(l,d)}return Object.defineProperty(s.prototype,"name",{get:function(){return this.animation.name},enumerable:!1,configurable:!0}),Object.defineProperty(s.prototype,"time",{get:function(){return this.instance.time},set:function(l){this.instance.time=l},enumerable:!1,configurable:!0}),Object.defineProperty(s.prototype,"loopValue",{get:function(){return this.animation.loopValue},enumerable:!1,configurable:!0}),Object.defineProperty(s.prototype,"needsScrub",{get:function(){return this.scrubTo!==null},enumerable:!1,configurable:!0}),s.prototype.advance=function(l){this.scrubTo===null?this.instance.advance(l):(this.instance.time=0,this.instance.advance(this.scrubTo),this.scrubTo=null)},s.prototype.apply=function(l){this.instance.apply(l)},s.prototype.cleanup=function(){this.instance.delete()},s}()},(o,a,r)=>{r.r(a),r.d(a,{RuntimeLoader:()=>d});var i=r(4),s=r(5),l=function(){return l=Object.assign||function(u){for(var c,p=1,B=arguments.length;p<B;p++){c=arguments[p];for(var v in c)Object.prototype.hasOwnProperty.call(c,v)&&(u[v]=c[v])}return u},l.apply(this,arguments)},d=function(){function u(){}return u.notifyError=function(c){var p;for(u.isLoading=!1;u.errorCallbackQueue.length>0;)(p=u.errorCallbackQueue.shift())===null||p===void 0||p(c);u.callBackQueue=[]},u.loadRuntime=function(){var c=u.wasmURL,p=u.wasmBinary;u.enablePerfMarks&&performance.mark("rive:wasm-init:start"),i.default(l({locateFile:function(){return c}},p?{wasmBinary:p}:{})).then(function(B){var v;for(u.enablePerfMarks&&(performance.mark("rive:wasm-init:end"),performance.measure("rive:wasm-init","rive:wasm-init:start","rive:wasm-init:end")),u.runtime=B,u.errorCallbackQueue=[];u.callBackQueue.length>0;)(v=u.callBackQueue.shift())===null||v===void 0||v(u.runtime)}).catch(function(B){var v={message:B?.message||"Unknown error",type:B?.name||"Error",wasmError:B instanceof WebAssembly.CompileError||B instanceof WebAssembly.RuntimeError,originalError:B};console.debug("Rive WASM load error details:",v);var Q=u.wasmFallbackURL,C=Q!==null&&c.toLowerCase()===Q.toLowerCase();if(Q!==null&&!C)console.warn("Failed to load WASM from ".concat(c," (").concat(v.message,"), trying fallback URL: ").concat(Q)),u.wasmBinary=null,u.setWasmUrl(Q),u.loadRuntime();else{var y=C?"the configured WASM URL or its fallback (".concat(Q,")"):c,w=["Could not load Rive WASM file from ".concat(y,"."),"Possible reasons:","- Network connection is down","- WebAssembly is not supported in this environment","- The WASM file is corrupted or incompatible",`
|
|
10
|
+
Error details:`,"- Type: ".concat(v.type),"- Message: ".concat(v.message),"- WebAssembly-specific error: ".concat(v.wasmError),`
|
|
11
|
+
To resolve, you may need to:`,"1. Check your network connection","2. Set a new WASM source via RuntimeLoader.setWasmUrl()","3. Call RuntimeLoader.awaitInstance() again"].join(`
|
|
12
|
+
`);console.error(w),u.notifyError(new Error(w))}})},u.getInstance=function(c,p){u.isLoading||(u.isLoading=!0,u.loadRuntime()),u.runtime?c(u.runtime):(u.callBackQueue.push(c),p&&u.errorCallbackQueue.push(p))},u.awaitInstance=function(){return new Promise(function(c,p){return u.getInstance(c,p)})},u.setWasmUrl=function(c){u.wasmURL=c},u.getWasmUrl=function(){return u.wasmURL},u.setWasmFallbackUrl=function(c){u.wasmFallbackURL=c},u.getWasmFallbackUrl=function(){return u.wasmFallbackURL},u.setWasmBinary=function(c){if(c instanceof ArrayBuffer||c===null){u.wasmBinary=c;return}console.error("setWasmBinary expects an ArrayBuffer or null")},u.getWasmBinary=function(){return u.wasmBinary},u.isLoading=!1,u.callBackQueue=[],u.wasmURL="https://unpkg.com/".concat(s.name,"@").concat(s.version,"/rive.wasm"),u.wasmFallbackURL="https://cdn.jsdelivr.net/npm/".concat(s.name,"@").concat(s.version,"/rive_fallback.wasm"),u.wasmBinary=null,u.errorCallbackQueue=[],u.enablePerfMarks=!1,u}()},(o,a,r)=>{r.r(a),r.d(a,{default:()=>s});var i=(()=>{var l=globalThis.document?.currentScript?.src;return async function(d={}){var u,c=d,p=!!globalThis.window,B=!!globalThis.WorkerGlobalScope;function v(){function f(J){let W=M;b=h=0,M=new Map,W.forEach(nA=>{try{nA(J)}catch(oA){console.error(oA)}}),this.xb(),Y&&Y.bc()}let h=0,b=0,M=new Map,Y=null,z=null;this.requestAnimationFrame=function(J){h||=requestAnimationFrame(f.bind(this));let W=++b;return M.set(W,J),W},this.cancelAnimationFrame=function(J){M.delete(J),h&&M.size==0&&(cancelAnimationFrame(h),h=0)},this.$b=function(J){z&&(document.body.remove(z),z=null),J||(z=document.createElement("div"),z.style.backgroundColor="black",z.style.position="fixed",z.style.right=0,z.style.top=0,z.style.color="white",z.style.padding="4px",z.innerHTML="RIVE FPS",J=function(W){z.innerHTML="RIVE FPS "+W.toFixed(1)},document.body.appendChild(z)),Y=new function(){let W=0,nA=0;this.bc=function(){var oA=performance.now();nA?(++W,oA-=nA,1e3<oA&&(J(1e3*W/oA),W=nA=0)):(nA=oA,W=0)}}},this.Xb=function(){z&&(document.body.remove(z),z=null),Y=null},this.xb=function(){}}function Q(f){console.assert(!0);let h=new Map,b=-1/0;this.push=function(M){return M=M+((1<<f)-1)>>f,h.has(M)&&clearTimeout(h.get(M)),h.set(M,setTimeout(function(){h.delete(M),h.length==0?b=-1/0:M==b&&(b=Math.max(...h.keys()),console.assert(b<M))},1e3)),b=Math.max(M,b),b<<f}}let C=c.onRuntimeInitialized;c.onRuntimeInitialized=function(){C&&C();let f=c.decodeAudio;c.decodeAudio=function(J,W,nA=null){J=f(J,nA??null),W(J)};let h=c.decodeFont;c.decodeFont=function(J,W,nA=null){J=h(J,nA??null),W(J)};let b=c.FileAsset.prototype.decode;c.FileAsset.prototype.decode=function(J,W){return b.call(this,J,W??null)};let M=c.setFallbackFontCb;c.setFallbackFontCallback=typeof M=="function"?function(J){M(J)}:function(){console.warn("Module.setFallbackFontCallback called, but text support is not enabled in this build.")};let Y=c.FileAssetLoader;c.ptrToAsset=J=>{let W=c.ptrToFileAsset(J);return W.isImage?c.ptrToImageAsset(J):W.isFont?c.ptrToFontAsset(J):W.isAudio?c.ptrToAudioAsset(J):W},c.CustomFileAssetLoader=Y.extend("CustomFileAssetLoader",{__construct:function({loadContents:J}){this.__parent.__construct.call(this),this.Pb=J},loadContents:function(J,W){return J=c.ptrToAsset(J),this.Pb(J,W)}}),c.CDNFileAssetLoader=Y.extend("CDNFileAssetLoader",{__construct:function(J){this.__parent.__construct.call(this),this.Rb=J??null},loadContents:function(J){let W=c.ptrToAsset(J);if(J=W.cdnUuid,J==="")return!1;let nA=this.Rb??null;return function(oA,YA){var RA=new XMLHttpRequest;RA.responseType="arraybuffer",RA.onreadystatechange=function(){RA.readyState==4&&RA.status==200&&YA(RA)},RA.open("GET",oA,!0),RA.send(null)}(W.cdnBaseUrl+"/"+J,oA=>{W.decode(new Uint8Array(oA.response),nA)}),!0}}),c.FallbackFileAssetLoader=Y.extend("FallbackFileAssetLoader",{__construct:function(){this.__parent.__construct.call(this),this.sb=[]},addLoader:function(J){this.sb.push(J)},loadContents:function(J,W){for(let nA of this.sb)if(nA.loadContents(J,W))return!0;return!1}});let z=c.computeAlignment;c.computeAlignment=function(J,W,nA,oA,YA=1){return z.call(this,J,W,nA,oA,YA)}};let y="createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText".split(" "),w=new function(){function f(){if(!h){let Se=function(ke,OA,ot){if(OA=bA.createShader(OA),bA.shaderSource(OA,ot),bA.compileShader(OA),ot=bA.getShaderInfoLog(OA),0<(ot||"").length)throw ot;bA.attachShader(ke,OA)};var NA=document.createElement("canvas"),HA={alpha:1,depth:0,stencil:0,antialias:0,premultipliedAlpha:1,preserveDrawingBuffer:0,powerPreference:"high-performance",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:1,explicitSwapControl:1,renderViaOffscreenBackBuffer:1};let bA;if(/iPhone|iPad|iPod/i.test(navigator.userAgent)){if(bA=NA.getContext("webgl",HA),b=1,!bA)return console.log("No WebGL support. Image mesh will not be drawn."),!1}else if(bA=NA.getContext("webgl2",HA))b=2;else if(bA=NA.getContext("webgl",HA))b=1;else return console.log("No WebGL support. Image mesh will not be drawn."),!1;if(bA=new Proxy(bA,{get(ke,OA){if(ke.isContextLost()){if(nA||(console.error("Cannot render the mesh because the GL Context was lost. Tried to invoke ",OA),nA=!0),typeof ke[OA]=="function")return function(){}}else return typeof ke[OA]=="function"?function(...ot){return ke[OA].apply(ke,ot)}:ke[OA]},set(ke,OA,ot){if(ke.isContextLost())nA||(console.error("Cannot render the mesh because the GL Context was lost. Tried to set property "+OA),nA=!0);else return ke[OA]=ot,!0}}),M=Math.min(bA.getParameter(bA.MAX_RENDERBUFFER_SIZE),bA.getParameter(bA.MAX_TEXTURE_SIZE)),NA=bA.createProgram(),Se(NA,bA.VERTEX_SHADER,`attribute vec2 vertex;
|
|
13
|
+
attribute vec2 uv;
|
|
14
|
+
uniform vec4 mat;
|
|
15
|
+
uniform vec2 translate;
|
|
16
|
+
varying vec2 st;
|
|
17
|
+
void main() {
|
|
18
|
+
st = uv;
|
|
19
|
+
gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);
|
|
20
|
+
}`),Se(NA,bA.FRAGMENT_SHADER,`precision highp float;
|
|
21
|
+
uniform sampler2D image;
|
|
22
|
+
varying vec2 st;
|
|
23
|
+
void main() {
|
|
24
|
+
gl_FragColor = texture2D(image, st);
|
|
25
|
+
}`),bA.bindAttribLocation(NA,0,"vertex"),bA.bindAttribLocation(NA,1,"uv"),bA.linkProgram(NA),HA=bA.getProgramInfoLog(NA),0<(HA||"").trim().length)throw HA;Y=bA.getUniformLocation(NA,"mat"),z=bA.getUniformLocation(NA,"translate"),bA.useProgram(NA),bA.bindBuffer(bA.ARRAY_BUFFER,bA.createBuffer()),bA.enableVertexAttribArray(0),bA.enableVertexAttribArray(1),bA.bindBuffer(bA.ELEMENT_ARRAY_BUFFER,bA.createBuffer()),bA.uniform1i(bA.getUniformLocation(NA,"image"),0),bA.pixelStorei(bA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),h=bA}return!0}let h=null,b=0,M=0,Y=null,z=null,J=0,W=0,nA=!1;f(),this.pc=function(){return f(),M},this.Wb=function(NA){h&&h.deleteTexture&&h.deleteTexture(NA)},this.Vb=function(NA){if(!f())return null;let HA=h.createTexture();return HA?(h.bindTexture(h.TEXTURE_2D,HA),h.texImage2D(h.TEXTURE_2D,0,h.RGBA,h.RGBA,h.UNSIGNED_BYTE,NA),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_S,h.CLAMP_TO_EDGE),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_T,h.CLAMP_TO_EDGE),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MAG_FILTER,h.LINEAR),b==2?(h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MIN_FILTER,h.LINEAR_MIPMAP_LINEAR),h.generateMipmap(h.TEXTURE_2D)):h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MIN_FILTER,h.LINEAR),HA):null};let oA=new Q(8),YA=new Q(8),RA=new Q(10),FA=new Q(10);this.Zb=function(NA,HA,bA,Se,ke){if(f()){var OA=oA.push(NA),ot=YA.push(HA);if(h.canvas){(h.canvas.width!=OA||h.canvas.height!=ot)&&(h.canvas.width=OA,h.canvas.height=ot),h.viewport(0,ot-HA,NA,HA),h.disable(h.SCISSOR_TEST),h.clearColor(0,0,0,0),h.clear(h.COLOR_BUFFER_BIT),h.enable(h.SCISSOR_TEST),bA.sort((Qe,sr)=>sr.Eb-Qe.Eb),OA=RA.push(Se),J!=OA&&(h.bufferData(h.ARRAY_BUFFER,8*OA,h.DYNAMIC_DRAW),J=OA),OA=0;for(var gt of bA)h.bufferSubData(h.ARRAY_BUFFER,OA,gt.ab),OA+=4*gt.ab.length;console.assert(OA==4*Se);for(var On of bA)h.bufferSubData(h.ARRAY_BUFFER,OA,On.Ib),OA+=4*On.Ib.length;console.assert(OA==8*Se),OA=FA.push(ke),W!=OA&&(h.bufferData(h.ELEMENT_ARRAY_BUFFER,2*OA,h.DYNAMIC_DRAW),W=OA),gt=0;for(var Ia of bA)h.bufferSubData(h.ELEMENT_ARRAY_BUFFER,gt,Ia.indices),gt+=2*Ia.indices.length;console.assert(gt==2*ke),Ia=0,On=!0,OA=gt=0;for(let Qe of bA){Qe.image.Pa!=Ia&&(h.bindTexture(h.TEXTURE_2D,Qe.image.Na||null),Ia=Qe.image.Pa),Qe.tc?(h.scissor(Qe.ib,ot-Qe.jb-Qe.rb,Qe.Cc,Qe.rb),On=!0):On&&(h.scissor(0,ot-HA,NA,HA),On=!1),bA=2/NA;let sr=-2/HA;h.uniform4f(Y,Qe.ha[0]*bA*Qe.Da,Qe.ha[1]*sr*Qe.Ea,Qe.ha[2]*bA*Qe.Da,Qe.ha[3]*sr*Qe.Ea),h.uniform2f(z,Qe.ha[4]*bA*Qe.Da+bA*(Qe.ib-Qe.qc*Qe.Da)-1,Qe.ha[5]*sr*Qe.Ea+sr*(Qe.jb-Qe.rc*Qe.Ea)+1),h.vertexAttribPointer(0,2,h.FLOAT,!1,0,OA),h.vertexAttribPointer(1,2,h.FLOAT,!1,0,OA+4*Se),h.drawElements(h.TRIANGLES,Qe.indices.length,h.UNSIGNED_SHORT,gt),OA+=4*Qe.ab.length,gt+=2*Qe.indices.length}console.assert(OA==4*Se),console.assert(gt==2*ke)}}},this.canvas=function(){return f()&&h.canvas}},I=c.onRuntimeInitialized;c.onRuntimeInitialized=function(){function f(aA){switch(aA){case oA.srcOver:return"source-over";case oA.Gc:return"plus-lighter";case oA.screen:return"screen";case oA.overlay:return"overlay";case oA.darken:return"darken";case oA.lighten:return"lighten";case oA.colorDodge:return"color-dodge";case oA.colorBurn:return"color-burn";case oA.hardLight:return"hard-light";case oA.softLight:return"soft-light";case oA.difference:return"difference";case oA.exclusion:return"exclusion";case oA.multiply:return"multiply";case oA.hue:return"hue";case oA.saturation:return"saturation";case oA.color:return"color";case oA.luminosity:return"luminosity"}}function h(aA){return"rgba("+((16711680&aA)>>>16)+","+((65280&aA)>>>8)+","+((255&aA)>>>0)+","+((4278190080&aA)>>>24)/255+")"}function b(){0<On.length&&(w.Zb(gt.drawWidth(),gt.drawHeight(),On,Ia,Qe),On=[],Qe=Ia=0,gt.reset(512,512));for(let aA of OA){for(let yA of aA.J)yA();aA.J=[]}OA.clear()}I&&I();var M=c.RenderPaintStyle;let Y=c.RenderPath,z=c.RenderPaint,J=c.Renderer,W=c.StrokeCap,nA=c.StrokeJoin,oA=c.BlendMode,YA=M.fill,RA=M.stroke,FA=c.FillRule.evenOdd,NA=1;var HA=c.RenderImage.extend("CanvasRenderImage",{__construct:function({oa:aA,Ba:yA}={}){this.__parent.__construct.call(this),this.Pa=NA,NA=NA+1&2147483647||1,this.oa=aA,this.Ba=yA},__destruct:function(){this.Na&&(w.Wb(this.Na),URL.revokeObjectURL(this.gb)),this.__parent.__destruct.call(this)},decode:function(aA){var yA=this;yA.Ba&&yA.Ba(yA);var ZA=new Image;yA.gb=URL.createObjectURL(new Blob([aA],{type:"image/png"})),ZA.onload=function(){yA.Ob=ZA,yA.Na=w.Vb(ZA),yA.size(ZA.width,ZA.height),yA.oa&&yA.oa(yA)},ZA.src=yA.gb}});class bA{constructor(){this.Y=this.va=0,this.W=new Path2D}clear(){this.Y=this.va=0,this.W=new Path2D}Sb(yA){for(0<this.va&&this.Y<yA.length&&this.clear();this.Y<yA.length;)yA[this.Y++](this.W);return this.va++,this.W}release(yA){yA===this.W&&this.va--}}var Se=Y.extend("CanvasRenderPath",{__construct:function(){this.__parent.__construct.call(this),this.La=[],this.W=new bA,this.Ka=!1,this.la=null},rewind:function(){this.La.length=0,this.W.clear(),this.Ka=!1,this.la=null},addPath:function(aA,yA,ZA,zA,Oe,qA,oe){let XA=aA.Kb();this.ka(Fe=>{let Pe=new DOMMatrix;Pe.a=yA,Pe.b=ZA,Pe.c=zA,Pe.d=Oe,Pe.e=qA,Pe.f=oe,Fe.addPath(XA,Pe)})},fillRule:function(aA){this.fb=aA},moveTo:function(aA,yA){this.Ka=!0;let ZA={lb:!0};this.la=ZA,this.ka(zA=>{zA.moveTo(aA,yA),ZA.lb&&zA.lineTo(aA,yA)})},lineTo:function(aA,yA){this.eb(),this.Ia(),this.ka(ZA=>{ZA.lineTo(aA,yA)})},cubicTo:function(aA,yA,ZA,zA,Oe,qA){this.eb(),this.Ia(),this.ka(oe=>{oe.bezierCurveTo(aA,yA,ZA,zA,Oe,qA)})},close:function(){this.Ia(),this.ka(aA=>{aA.closePath()})},eb:function(){this.Ka||this.moveTo(0,0)},Ia:function(){this.la!==null&&(this.la.lb=!1,this.la=null)},ka:function(aA){this.La.push(aA)},Ha:function(){return this.W.Sb(this.La)},hb:function(aA){this.W.release(aA)},Kb:function(){let aA=this.Ha();return this.W.clear(),aA}}),ke=z.extend("CanvasRenderPaint",{__construct:function(){this.__parent.__construct.call(this),this.H=[],this.Ja=0,this.Ma=YA,this.Qa=h(4278190080),this.Oa=1,this.ta="miter",this.sa="butt",this.bb=f(oA.srcOver),this.ga=null},color:function(aA){this.H.push(()=>{this.Qa=h(aA)})},thickness:function(aA){this.H.push(()=>{this.Oa=Math.abs(aA)})},join:function(aA){this.H.push(()=>{switch(aA){case nA.miter:this.ta="miter";break;case nA.round:this.ta="round";break;case nA.bevel:this.ta="bevel"}})},cap:function(aA){this.H.push(()=>{switch(aA){case W.butt:this.sa="butt";break;case W.round:this.sa="round";break;case W.square:this.sa="square"}})},style:function(aA){this.H.push(()=>{this.Ma=aA})},blendMode:function(aA){this.H.push(()=>{this.bb=f(aA)})},clearGradient:function(){this.H.push(()=>{this.ga=null})},linearGradient:function(aA,yA,ZA,zA){this.H.push(()=>{this.ga={Fb:aA,Gb:yA,nb:ZA,ob:zA,$a:[]}})},radialGradient:function(aA,yA,ZA,zA){this.H.push(()=>{this.ga={Fb:aA,Gb:yA,nb:ZA,ob:zA,$a:[],nc:!0}})},addStop:function(aA,yA){this.H.push(()=>{this.ga.$a.push({color:aA,stop:yA})})},completeGradient:function(){},Lb:function(aA,yA,ZA,zA){if(this.Ma!==RA||0<this.Oa){var Oe=this.Ma,qA=this.Qa,oe=this.ga,XA=aA.globalCompositeOperation,Fe=aA.globalAlpha;if(aA.globalCompositeOperation=this.bb,aA.globalAlpha=zA,oe!=null){qA=oe.Fb;let on=oe.Gb,In=oe.nb;var Pe=oe.ob;zA=oe.$a,oe.nc?(oe=In-qA,Pe-=on,qA=aA.createRadialGradient(qA,on,0,qA,on,Math.sqrt(oe*oe+Pe*Pe))):qA=aA.createLinearGradient(qA,on,In,Pe);for(let Pn=0,Qu=zA.length;Pn<Qu;Pn++)oe=zA[Pn],qA.addColorStop(oe.stop,h(oe.color));this.Qa=qA,this.ga=null}switch(Oe){case RA:aA.strokeStyle=qA,aA.lineWidth=this.Oa,aA.lineCap=this.sa,aA.lineJoin=this.ta,aA.stroke(yA);break;case YA:aA.fillStyle=qA,aA.fill(yA,ZA)}aA.globalCompositeOperation=XA,aA.globalAlpha=Fe}},Nb:function(){return this.Ja+this.H.length},Mb:function(aA){let yA=aA-this.Ja;for(let ZA=0;ZA<yA;ZA++)this.H[ZA]();this.H.splice(0,yA),this.Ja=aA}});let OA=new Set,ot=Object.prototype.hasOwnProperty,gt=null,On=[],Ia=0,Qe=0;var sr=c.CanvasRenderer=J.extend("Renderer",{__construct:function(aA){this.__parent.__construct.call(this),this.V=[1,0,0,1,0,0],this.G=[1],this.D=aA.getContext("2d"),this.cb=aA,this.J=[]},save:function(){this.V.push(...this.V.slice(this.V.length-6)),this.G.push(this.G[this.G.length-1]),this.J.push(this.D.save.bind(this.D))},restore:function(){let aA=this.V.length-6;if(6>aA)throw"restore() called without matching save().";this.V.splice(aA),this.G.pop(),this.J.push(this.D.restore.bind(this.D))},transform:function(aA,yA,ZA,zA,Oe,qA){let oe=this.V,XA=oe.length-6;oe.splice(XA,6,oe[XA]*aA+oe[XA+2]*yA,oe[XA+1]*aA+oe[XA+3]*yA,oe[XA]*ZA+oe[XA+2]*zA,oe[XA+1]*ZA+oe[XA+3]*zA,oe[XA]*Oe+oe[XA+2]*qA+oe[XA+4],oe[XA+1]*Oe+oe[XA+3]*qA+oe[XA+5]),this.J.push(this.D.transform.bind(this.D,aA,yA,ZA,zA,Oe,qA))},rotate:function(aA){let yA=Math.sin(aA);aA=Math.cos(aA),this.transform(aA,yA,-yA,aA,0,0)},modulateOpacity:function(aA){this.G[this.G.length-1]*=aA},_drawPath:function(aA,yA){let ZA=aA.fb===FA?"evenodd":"nonzero",zA=Math.max(0,this.G[this.G.length-1]),Oe=aA.Ha(),qA=yA.Nb();this.J.push(()=>{yA.Mb(qA),yA.Lb(this.D,Oe,ZA,zA),aA.hb(Oe)})},_drawRiveImage:function(aA,yA,ZA){var zA=aA.Ob;if(zA){var Oe=this.D,qA=f(yA),oe=Math.max(0,ZA*this.G[this.G.length-1]);this.J.push(function(){Oe.globalCompositeOperation=qA,Oe.globalAlpha=oe,Oe.drawImage(zA,0,0),Oe.globalAlpha=1})}},_getMatrix:function(aA){let yA=this.V,ZA=yA.length-6;for(let zA=0;6>zA;++zA)aA[zA]=yA[ZA+zA]},_drawImageMesh:function(aA,yA,ZA,zA,Oe,qA,oe,XA,Fe,Pe,on,In,Pn){let Qu,nb,ob;try{Qu=c.HEAPF32.slice(zA>>2,(zA>>2)+Oe),nb=c.HEAPF32.slice(qA>>2,(qA>>2)+oe),ob=c.HEAPU16.slice(XA>>1,(XA>>1)+Fe)}catch{console.error("[Rive] _drawImageMesh: failed to read mesh data from WASM heap. Mesh skipped for this frame.");return}zA=this.D.canvas.width,qA=this.D.canvas.height,oe=In-Pe,XA=Pn-on,Pe=Math.max(Pe,0),on=Math.max(on,0),In=Math.min(In,zA),Pn=Math.min(Pn,qA);let Fl=In-Pe,Tl=Pn-on;if(console.assert(Fl<=Math.min(oe,zA)),console.assert(Tl<=Math.min(XA,qA)),!(0>=Fl||0>=Tl)){In=Fl<oe||Tl<XA,zA=Pn=1;var ri=Math.ceil(Fl*Pn),ii=Math.ceil(Tl*zA);qA=w.pc(),ri>qA&&(Pn*=qA/ri,ri=qA),ii>qA&&(zA*=qA/ii,ii=qA),gt||(gt=new c.DynamicRectanizer(qA),gt.reset(512,512)),qA=gt.addRect(ri,ii),0>qA&&(b(),OA.add(this),qA=gt.addRect(ri,ii),console.assert(0<=qA));var ab=qA&65535,rb=qA>>16;On.push({ha:this.V.slice(this.V.length-6),image:aA,ib:ab,jb:rb,qc:Pe,rc:on,Cc:ri,rb:ii,Da:Pn,Ea:zA,ab:Qu,Ib:nb,indices:ob,tc:In,Eb:aA.Pa<<1|(In?1:0)}),Ia+=Oe,Qe+=Fe;var qi=this.D,kQ=f(yA),YQ=Math.max(0,ZA*this.G[this.G.length-1]);this.J.push(function(){qi.save(),qi.resetTransform(),qi.globalCompositeOperation=kQ,qi.globalAlpha=YQ;let Vf=w.canvas();Vf&&qi.drawImage(Vf,ab,rb,ri,ii,Pe,on,Fl,Tl),qi.restore()})}},_clipPath:function(aA){let yA=aA.fb===FA?"evenodd":"nonzero",ZA=aA.Ha();this.J.push(()=>{this.D.clip(ZA,yA),aA.hb(ZA)})},beginFrame:function(aA=!0){OA.add(this),aA&&this.J.push(this.D.clearRect.bind(this.D,0,0,this.cb.width,this.cb.height))},clear:function(){this.beginFrame(!0)},flush:function(){},translate:function(aA,yA){this.transform(1,0,0,1,aA,yA)}});c.makeRenderer=function(aA){let yA=new sr(aA),ZA=yA.D,zA=null,Oe=null,qA={attachSession:function(XA){if(XA&&zA===XA)return!0;if(!XA||zA||typeof c.c2dDeferredClaim!="function"||typeof c.c2dDeferredRenderer!="function"||!c.c2dDeferredClaim(XA))return!1;let Fe=c.c2dDeferredRenderer(XA);return Fe?(zA=XA,Oe=Fe,!0):!1},detachSession:function(){zA&&c.c2dDeferredDetach(zA),Oe=zA=null},deferredActive:function(){return Oe!==null}},oe={save:function(){c.c2dDeferredSave(zA)},restore:function(){c.c2dDeferredRestore(zA)},transform:function(XA,Fe,Pe,on,In,Pn){c.c2dDeferredTransform(zA,XA,Fe,Pe,on,In,Pn)},translate:function(XA,Fe){c.c2dDeferredTransform(zA,1,0,0,1,XA,Fe)},rotate:function(XA){let Fe=Math.sin(XA);XA=Math.cos(XA),c.c2dDeferredTransform(zA,XA,Fe,-Fe,XA,0,0)},align:function(XA,Fe,Pe,on,In){c.c2dDeferredAlign(zA,XA,Fe,Pe.minX,Pe.minY,Pe.maxX,Pe.maxY,on.minX,on.minY,on.maxX,on.maxY,In===void 0?1:In)},beginFrame:function(XA=!0){yA.beginFrame(XA),c.c2dDeferredBeginFrame(zA)},clear:function(){yA.beginFrame(!0),c.c2dDeferredBeginFrame(zA)},flush:function(){c.c2dDeferredReplay(zA,yA)}};return new Proxy(yA,{get(XA,Fe){if(ot.call(qA,Fe))return qA[Fe];if(Fe==="_deferredRecorder")return Oe;if(Oe!==null&&ot.call(oe,Fe))return oe[Fe];if(typeof XA[Fe]=="function")return function(...Pe){return XA[Fe].apply(XA,Pe)};if(typeof ZA[Fe]=="function"){if(-1<y.indexOf(Fe))throw Error("RiveException: Method call to '"+Fe+"()' is not allowed, as the renderer cannot immediately pass through the return values of any canvas 2d context methods.");return function(...Pe){yA.J.push(ZA[Fe].bind(ZA,...Pe))}}return XA[Fe]},set(XA,Fe,Pe){if(Fe in ZA)return yA.J.push(()=>{ZA[Fe]=Pe}),!0}})},c.decodeImage=function(aA,yA){new HA({oa:yA}).decode(aA)},c.renderFactory={makeRenderPaint:function(){return new ke},makeRenderPath:function(){return new Se},makeRenderImage:function(){let aA=_f;return new HA({Ba:()=>{aA.total++},oa:()=>{if(aA.loaded++,aA.loaded===aA.total){let yA=aA.ready;yA&&(yA(),aA.ready=null)}}})}};let SQ=c.load,_f=null;c.load=function(aA,yA,ZA=!0,zA=null){let Oe=new c.FallbackFileAssetLoader;return yA!==void 0&&Oe.addLoader(yA),ZA&&(yA=new c.CDNFileAssetLoader(zA),Oe.addLoader(yA)),new Promise(function(qA){let oe=null;_f={total:0,loaded:0,ready:function(){qA(oe)}},oe=SQ(aA,Oe,zA??null),_f.total==0&&qA(oe)})};let FQ=c.Artboard.prototype.draw;c.Artboard.prototype.draw=function(aA){FQ.call(this,aA._deferredRecorder||aA)};let TQ=c.RendererWrapper.prototype.align;c.RendererWrapper.prototype.align=function(aA,yA,ZA,zA,Oe=1){TQ.call(this,aA,yA,ZA,zA,Oe)},M=new v,c.requestAnimationFrame=M.requestAnimationFrame.bind(M),c.cancelAnimationFrame=M.cancelAnimationFrame.bind(M),c.enableFPSCounter=M.$b.bind(M),c.disableFPSCounter=M.Xb,M.xb=b,c.resolveAnimationFrame=b,c.cleanup=function(){gt&>.delete()}};var F="./this.program";B&&(l=self.location.href);var G="",E,D;if(p||B){try{G=new URL(".",l).href}catch{}B&&(D=f=>{var h=new XMLHttpRequest;return h.open("GET",f,!1),h.responseType="arraybuffer",h.send(null),new Uint8Array(h.response)}),E=async f=>{if(P(f))return new Promise((b,M)=>{var Y=new XMLHttpRequest;Y.open("GET",f,!0),Y.responseType="arraybuffer",Y.onload=()=>{Y.status==200||Y.status==0&&Y.response?b(Y.response):M(Y.status)},Y.onerror=M,Y.send(null)});var h=await fetch(f,{credentials:"same-origin"});if(h.ok)return h.arrayBuffer();throw Error(h.status+" : "+h.url)}}var k=console.log.bind(console),U=console.error.bind(console),O,T=!1,R,P=f=>f.startsWith("file://"),j,K,H,N,Z,_,q,$,vA,fA,X=!1;function sA(){var f=Zi.buffer;c.HEAP8=H=new Int8Array(f),Z=new Int16Array(f),c.HEAPU8=N=new Uint8Array(f),c.HEAPU16=_=new Uint16Array(f),c.HEAP32=q=new Int32Array(f),c.HEAPU32=$=new Uint32Array(f),c.HEAPF32=vA=new Float32Array(f),fA=new Float64Array(f)}function DA(f){throw c.onAbort?.(f),f="Aborted("+f+")",U(f),T=!0,f=new WebAssembly.RuntimeError(f+". Build with -sASSERTIONS for more info."),K?.(f),f}var xA;async function wA(f){if(!O)try{var h=await E(f);return new Uint8Array(h)}catch{}if(f==xA&&O)f=new Uint8Array(O);else if(D)f=D(f);else throw"both async and sync fetching of the wasm failed";return f}async function AA(f,h){try{var b=await wA(f);return await WebAssembly.instantiate(b,h)}catch(M){U(`failed to asynchronously prepare wasm: ${M}`),DA(M)}}async function mA(f){var h=xA;if(!O&&!P(h))try{var b=fetch(h,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(b,f)}catch(M){U(`wasm streaming compile failed: ${M}`),U("falling back to ArrayBuffer instantiation")}return AA(h,f)}var UA,ye;class Ye{name="ExitStatus";constructor(h){this.message=`Program terminated with exit(${h})`,this.status=h}}var tt=f=>{for(;0<f.length;)f.shift()(c)},qe=[],lA=[],TA=()=>{var f=c.preRun.shift();lA.push(f)},JA=!0,LA=()=>{var f=q[+El>>2];return El+=4,f},ce=(f,h)=>{for(var b=0,M=f.length-1;0<=M;M--){var Y=f[M];Y==="."?f.splice(M,1):Y===".."?(f.splice(M,1),b++):b&&(f.splice(M,1),b--)}if(h)for(;b;b--)f.unshift("..");return f},EA=f=>{var h=f.charAt(0)==="/",b=f.slice(-1)==="/";return(f=ce(f.split("/").filter(M=>!!M),!h).join("/"))||h||(f="."),f&&b&&(f+="/"),(h?"/":"")+f},pA=f=>{var h=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(f).slice(1);return f=h[0],h=h[1],!f&&!h?".":(h&&=h.slice(0,-1),f+h)},dA=()=>f=>crypto.getRandomValues(f),BA=f=>{(BA=dA())(f)},IA=(...f)=>{for(var h="",b=!1,M=f.length-1;-1<=M&&!b;M--){if(b=0<=M?f[M]:"/",typeof b!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";h=b+"/"+h,b=b.charAt(0)==="/"}return h=ce(h.split("/").filter(Y=>!!Y),!b).join("/"),(b?"/":"")+h||"."},_A=globalThis.TextDecoder&&new TextDecoder,GA=(f,h,b,M)=>{if(b=h+b,M)return b;for(;f[h]&&!(h>=b);)++h;return h},Ae=(f,h=0,b,M)=>{if(b=GA(f,h,b,M),16<b-h&&f.buffer&&_A)return _A.decode(f.subarray(h,b));for(M="";h<b;){var Y=f[h++];if(Y&128){var z=f[h++]&63;if((Y&224)==192)M+=String.fromCharCode((Y&31)<<6|z);else{var J=f[h++]&63;Y=(Y&240)==224?(Y&15)<<12|z<<6|J:(Y&7)<<18|z<<12|J<<6|f[h++]&63,65536>Y?M+=String.fromCharCode(Y):(Y-=65536,M+=String.fromCharCode(55296|Y>>10,56320|Y&1023))}}else M+=String.fromCharCode(Y)}return M},ee=[],tA=f=>{for(var h=0,b=0;b<f.length;++b){var M=f.charCodeAt(b);127>=M?h++:2047>=M?h+=2:55296<=M&&57343>=M?(h+=4,++b):h+=3}return h},hA=(f,h,b,M)=>{if(!(0<M))return 0;var Y=b;M=b+M-1;for(var z=0;z<f.length;++z){var J=f.codePointAt(z);if(127>=J){if(b>=M)break;h[b++]=J}else if(2047>=J){if(b+1>=M)break;h[b++]=192|J>>6,h[b++]=128|J&63}else if(65535>=J){if(b+2>=M)break;h[b++]=224|J>>12,h[b++]=128|J>>6&63,h[b++]=128|J&63}else{if(b+3>=M)break;h[b++]=240|J>>18,h[b++]=128|J>>12&63,h[b++]=128|J>>6&63,h[b++]=128|J&63,z++}}return h[b]=0,b-Y},MA=[];function WA(f,h){MA[f]={input:[],output:[],$:h},Mn(f,pe)}var pe={open(f){var h=MA[f.node.Ca];if(!h)throw new eA(43);f.s=h,f.seekable=!1},close(f){f.s.$.ua(f.s)},ua(f){f.s.$.ua(f.s)},read(f,h,b,M){if(!f.s||!f.s.$.qb)throw new eA(60);for(var Y=0,z=0;z<M;z++){try{var J=f.s.$.qb(f.s)}catch{throw new eA(29)}if(J===void 0&&Y===0)throw new eA(6);if(J==null)break;Y++,h[b+z]=J}return Y&&(f.node.ea=Date.now()),Y},write(f,h,b,M){if(!f.s||!f.s.$.Xa)throw new eA(60);try{for(var Y=0;Y<M;Y++)f.s.$.Xa(f.s,h[b+Y])}catch{throw new eA(29)}return M&&(f.node.O=f.node.K=Date.now()),Y}},te={qb(){A:{if(!ee.length){var f=null;if(globalThis.window?.prompt&&(f=window.prompt("Input: "),f!==null&&(f+=`
|
|
26
|
+
`)),!f){var h=null;break A}h=Array(tA(f)+1),f=hA(f,h,0,h.length),h.length=f,ee=h}h=ee.shift()}return h},Xa(f,h){h===null||h===10?(k(Ae(f.output)),f.output=[]):h!=0&&f.output.push(h)},ua(f){0<f.output?.length&&(k(Ae(f.output)),f.output=[])},kc(){return{Lc:25856,Nc:5,Kc:191,Mc:35387,Jc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},lc(){return 0},mc(){return[24,80]}},Ee={Xa(f,h){h===null||h===10?(U(Ae(f.output)),f.output=[]):h!=0&&f.output.push(h)},ua(f){0<f.output?.length&&(U(Ae(f.output)),f.output=[])}},kA={S:null,Z(){return kA.createNode(null,"/",16895,0)},createNode(f,h,b,M){if((b&61440)===24576||(b&61440)===4096)throw new eA(63);return kA.S||(kA.S={dir:{node:{ca:kA.l.ca,U:kA.l.U,na:kA.l.na,za:kA.l.za,Bb:kA.l.Bb,Hb:kA.l.Hb,Db:kA.l.Db,Za:kA.l.Za,Ga:kA.l.Ga},stream:{R:kA.i.R}},file:{node:{ca:kA.l.ca,U:kA.l.U},stream:{R:kA.i.R,read:kA.i.read,write:kA.i.write,ub:kA.i.ub,wb:kA.i.wb}},link:{node:{ca:kA.l.ca,U:kA.l.U,pa:kA.l.pa},stream:{}},kb:{node:{ca:kA.l.ca,U:kA.l.U},stream:mo}}),b=dt(f,h,b,M),(b.mode&61440)===16384?(b.l=kA.S.dir.node,b.i=kA.S.dir.stream,b.j={}):(b.mode&61440)===32768?(b.l=kA.S.file.node,b.i=kA.S.file.stream,b.B=0,b.j=null):(b.mode&61440)===40960?(b.l=kA.S.link.node,b.i=kA.S.link.stream):(b.mode&61440)===8192&&(b.l=kA.S.kb.node,b.i=kA.S.kb.stream),b.ea=b.O=b.K=Date.now(),f&&(f.j[h]=b,f.ea=f.O=f.K=b.ea),b},Rc(f){return f.j?f.j.subarray?f.j.subarray(0,f.B):new Uint8Array(f.j):new Uint8Array(0)},l:{ca(f){var h={};return h.Oc=(f.mode&61440)===8192?f.id:1,h.Tc=f.id,h.mode=f.mode,h.Vc=1,h.uid=0,h.Sc=0,h.Ca=f.Ca,(f.mode&61440)===16384?h.size=4096:(f.mode&61440)===32768?h.size=f.B:(f.mode&61440)===40960?h.size=f.link.length:h.size=0,h.ea=new Date(f.ea),h.O=new Date(f.O),h.K=new Date(f.K),h.Tb=4096,h.Ic=Math.ceil(h.size/h.Tb),h},U(f,h){for(var b of["mode","atime","mtime","ctime"])h[b]!=null&&(f[b]=h[b]);h.size!==void 0&&(h=h.size,f.B!=h&&(h==0?(f.j=null,f.B=0):(b=f.j,f.j=new Uint8Array(h),b&&f.j.set(b.subarray(0,Math.min(h,f.B))),f.B=h)))},na(){throw kA.Ra||(kA.Ra=new eA(44),kA.Ra.stack="<generic error, no stack>"),kA.Ra},za(f,h,b,M){return kA.createNode(f,h,b,M)},Bb(f,h,b){try{var M=Re(h,b)}catch{}if(M){if((f.mode&61440)===16384)for(var Y in M.j)throw new eA(55);if(Y=ne(M.parent.id,M.name),S[Y]===M)S[Y]=M.ia;else for(Y=S[Y];Y;){if(Y.ia===M){Y.ia=M.ia;break}Y=Y.ia}}delete f.parent.j[f.name],h.j[b]=f,f.name=b,h.K=h.O=f.parent.K=f.parent.O=Date.now()},Hb(f,h){delete f.j[h],f.K=f.O=Date.now()},Db(f,h){var b=Re(f,h),M;for(M in b.j)throw new eA(55);delete f.j[h],f.K=f.O=Date.now()},Za(f){return[".","..",...Object.keys(f.j)]},Ga(f,h,b){return f=kA.createNode(f,h,41471,0),f.link=b,f},pa(f){if((f.mode&61440)!==40960)throw new eA(28);return f.link}},i:{read(f,h,b,M,Y){var z=f.node.j;if(Y>=f.node.B)return 0;if(f=Math.min(f.node.B-Y,M),8<f&&z.subarray)h.set(z.subarray(Y,Y+f),b);else for(M=0;M<f;M++)h[b+M]=z[Y+M];return f},write(f,h,b,M,Y,z){if(h.buffer===H.buffer&&(z=!1),!M)return 0;if(f=f.node,f.O=f.K=Date.now(),h.subarray&&(!f.j||f.j.subarray)){if(z)return f.j=h.subarray(b,b+M),f.B=M;if(f.B===0&&Y===0)return f.j=h.slice(b,b+M),f.B=M;if(Y+M<=f.B)return f.j.set(h.subarray(b,b+M),Y),M}z=Y+M;var J=f.j?f.j.length:0;if(J>=z||(z=Math.max(z,J*(1048576>J?2:1.125)>>>0),J!=0&&(z=Math.max(z,256)),J=f.j,f.j=new Uint8Array(z),0<f.B&&f.j.set(J.subarray(0,f.B),0)),f.j.subarray&&h.subarray)f.j.set(h.subarray(b,b+M),Y);else for(z=0;z<M;z++)f.j[Y+z]=h[b+z];return f.B=Math.max(f.B,Y+M),M},R(f,h,b){if(b===1?h+=f.position:b===2&&(f.node.mode&61440)===32768&&(h+=f.node.B),0>h)throw new eA(28);return h},ub(f,h,b,M,Y){if((f.node.mode&61440)!==32768)throw new eA(43);if(f=f.node.j,Y&2||!f||f.buffer!==H.buffer){if(M=!0,DA(),Y=void 0,!Y)throw new eA(48);f&&((0<b||b+h<f.length)&&(f.subarray?f=f.subarray(b,b+h):f=Array.prototype.slice.call(f,b,b+h)),H.set(f,Y))}else M=!1,Y=f.byteOffset;return{m:Y,Hc:M}},wb(f,h,b,M){return kA.i.write(f,h,0,M,b,!1),0}}},Yt=(f,h)=>{var b=0;return f&&(b|=365),h&&(b|=146),b},be=null,x={},g=[],m=1,S=null,L=!1,V=!0,iA={},eA=class{name="ErrnoError";constructor(f){this.aa=f}},SA=class{Y={};node=null;get flags(){return this.Y.flags}set flags(f){this.Y.flags=f}get position(){return this.Y.position}set position(f){this.Y.position=f}},QA=class{l={};i={};Aa=null;constructor(f,h,b,M){f||=this,this.parent=f,this.Z=f.Z,this.id=m++,this.name=h,this.mode=b,this.Ca=M,this.ea=this.O=this.K=Date.now()}get read(){return(this.mode&365)===365}set read(f){f?this.mode|=365:this.mode&=-366}get write(){return(this.mode&146)===146}set write(f){f?this.mode|=146:this.mode&=-147}};function VA(f,h={}){if(!f)throw new eA(44);h.Ta??(h.Ta=!0),f.charAt(0)==="/"||(f="//"+f);var b=0;A:for(;40>b;b++){f=f.split("/").filter(W=>!!W);for(var M=be,Y="/",z=0;z<f.length;z++){var J=z===f.length-1;if(J&&h.parent)break;if(f[z]!==".")if(f[z]==="..")if(Y=pA(Y),M===M.parent){f=Y+"/"+f.slice(z+1).join("/"),b--;continue A}else M=M.parent;else{Y=EA(Y+"/"+f[z]);try{M=Re(M,f[z])}catch(W){if(W?.aa===44&&J&&h.uc)return{path:Y};throw W}if(!M.Aa||J&&!h.Ta||(M=M.Aa.root),(M.mode&61440)===40960&&(!J||h.Sa)){if(!M.l.pa)throw new eA(52);M=M.l.pa(M),M.charAt(0)==="/"||(M=pA(Y)+"/"+M),f=M+"/"+f.slice(z+1).join("/");continue A}}}return{path:Y,node:M}}throw new eA(32)}function ne(f,h){for(var b=0,M=0;M<h.length;M++)b=(b<<5)-b+h.charCodeAt(M)|0;return(f+b>>>0)%S.length}function Re(f,h){var b=(f.mode&61440)===16384?(b=Mt(f,"x"))?b:f.l.na?0:2:54;if(b)throw new eA(b);for(b=S[ne(f.id,h)];b;b=b.ia){var M=b.name;if(b.parent.id===f.id&&M===h)return b}return f.l.na(f,h)}function dt(f,h,b,M){return f=new QA(f,h,b,M),h=ne(f.parent.id,f.name),f.ia=S[h],S[h]=f}function nt(f){var h=["r","w","rw"][f&3];return f&512&&(h+="w"),h}function Mt(f,h){if(V)return 0;if(!h.includes("r")||f.mode&292){if(h.includes("w")&&!(f.mode&146)||h.includes("x")&&!(f.mode&73))return 2}else return 2;return 0}function Yn(f,h){if((f.mode&61440)!==16384)return 54;try{return Re(f,h),20}catch{}return Mt(f,"wx")}function zt(f){if(f=g[f],!f)throw new eA(8);return f}function Rn(f,h=-1){if(f=Object.assign(new SA,f),h==-1)A:{for(h=0;4096>=h;h++)if(!g[h])break A;throw new eA(33)}return f.ba=h,g[h]=f}function Vn(f,h=-1){return f=Rn(f,h),f.i?.Qc?.(f),f}function po(f,h){var b=void 0,M=b?null:f;if(b??=f.l.U,!b)throw new eA(63);b(M,h)}var mo={open(f){f.i=x[f.node.Ca].i,f.i.open?.(f)},R(){throw new eA(70)}};function Mn(f,h){x[f]={i:h}}function yn(f,h){var b=h==="/";if(b&&be)throw new eA(10);if(!b&&h){var M=VA(h,{Ta:!1});if(h=M.path,M=M.node,M.Aa)throw new eA(10);if((M.mode&61440)!==16384)throw new eA(54)}h={type:f,Wc:{},vb:h,sc:[]},f=f.Z(h),f.Z=h,h.root=f,b?be=f:M&&(M.Aa=h,M.Z&&M.Z.sc.push(h))}function bn(f,h,b){var M=VA(f,{parent:!0}).node;if(f=f&&f.match(/([^\/]+|\/)\/*$/)[1],!f)throw new eA(28);if(f==="."||f==="..")throw new eA(20);var Y=Yn(M,f);if(Y)throw new eA(Y);if(!M.l.za)throw new eA(63);return M.l.za(M,f,h,b)}function le(f){return bn(f,16895,0)}function or(f,h,b){typeof b>"u"&&(b=h,h=438),bn(f,h|8192,b)}function Zt(f,h){if(!IA(f))throw new eA(44);var b=VA(h,{parent:!0}).node;if(!b)throw new eA(44);h=h&&h.match(/([^\/]+|\/)\/*$/)[1];var M=Yn(b,h);if(M)throw new eA(M);if(!b.l.Ga)throw new eA(63);b.l.Ga(b,h,f)}function ea(f,h,b=438){if(f==="")throw new eA(44);if(typeof h=="string"){var M={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[h];if(typeof M>"u")throw Error(`Unknown file open mode: ${h}`);h=M}if(b=h&64?b&4095|32768:0,typeof f=="object")M=f;else{var Y=f.endsWith("/");f=VA(f,{Sa:!(h&131072),uc:!0}),M=f.node,f=f.path}var z=!1;if(h&64)if(M){if(h&128)throw new eA(20)}else{if(Y)throw new eA(31);M=bn(f,b|511,0),z=!0}if(!M)throw new eA(44);if((M.mode&61440)===8192&&(h&=-513),h&65536&&(M.mode&61440)!==16384)throw new eA(54);if(!z&&(Y=M?(M.mode&61440)===40960?32:(M.mode&61440)===16384&&(nt(h)!=="r"||h&576)?31:Mt(M,nt(h)):44))throw new eA(Y);if(h&512&&!z){if(Y=M,Y=typeof Y=="string"?VA(Y,{Sa:!0}).node:Y,(Y.mode&61440)===16384)throw new eA(31);if((Y.mode&61440)!==32768)throw new eA(28);var J=Mt(Y,"w");if(J)throw new eA(J);po(Y,{size:0,timestamp:Date.now()})}h&=-131713;A:for(Y=M;;){if(Y===Y.parent){Y=Y.Z.vb;var W=W?Y[Y.length-1]!=="/"?`${Y}/${W}`:Y+W:Y;break A}W=W?`${Y.name}/${W}`:Y.name,Y=Y.parent}return W=Rn({node:M,path:W,flags:h,seekable:!0,position:0,i:M.i,Bc:[],error:!1}),W.i.open&&W.i.open(W),z&&(b&=511,M=typeof M=="string"?VA(M,{Sa:!0}).node:M,po(M,{mode:b&4095|M.mode&-4096,K:Date.now(),Pc:void 0})),!c.logReadFiles||h&1||f in iA||(iA[f]=1),W}function ar(f,h,b){if(f.ba===null)throw new eA(8);if(!f.seekable||!f.i.R)throw new eA(70);if(b!=0&&b!=1&&b!=2)throw new eA(28);f.position=f.i.R(f,h,b),f.Bc=[]}function rr(f,h,b){f=EA("/dev/"+f);var M=Yt(!!h,!!b);rr.tb??(rr.tb=64);var Y=rr.tb++<<8|0;Mn(Y,{open(z){z.seekable=!1},close(){b?.buffer?.length&&b(10)},read(z,J,W,nA){for(var oA=0,YA=0;YA<nA;YA++){try{var RA=h()}catch{throw new eA(29)}if(RA===void 0&&oA===0)throw new eA(6);if(RA==null)break;oA++,J[W+YA]=RA}return oA&&(z.node.ea=Date.now()),oA},write(z,J,W,nA){for(var oA=0;oA<nA;oA++)try{b(J[W+oA])}catch{throw new eA(29)}return nA&&(z.node.O=z.node.K=Date.now()),oA}}),or(f,M,Y)}var ni={},El=void 0,Ql=(f,h)=>Object.defineProperty(h,"name",{value:f}),Uy=[],oi=[0,1,,1,null,1,!0,1,!1,1],de=class extends Error{constructor(f){super(f),this.name="BindingError"}},zo=f=>{if(!f)throw new de(`Cannot use deleted val. handle = ${f}`);return oi[f]},xa=f=>{switch(f){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let h=Uy.pop()||oi.length;return oi[h]=f,oi[h+1]=1,h}};class AQ extends Error{}var Rt=f=>{for(var h="";;){var b=N[f++];if(!b)return h;h+=String.fromCharCode(b)}},xl={},Tf=(f,h)=>{if(h===void 0)throw new de("ptr should not be undefined");for(;f.C;)h=f.qa(h),f=f.C;return h},ai={},Gy=f=>{f=_y(f);var h=Rt(f);return ir(f),h},kf=(f,h)=>{var b=ai[f];if(b===void 0)throw f=`${h} has unknown type ${Gy(f)}`,new de(f);return b},gu=()=>{},Yf=!1,Xi=f=>globalThis.FinalizationRegistry?(Yf=new FinalizationRegistry(h=>{h=h.g,--h.count.value,h.count.value===0&&(h.F?h.M.T(h.F):h.u.h.T(h.m))}),Xi=h=>{var b=h.g;return b.F&&Yf.register(h,{g:b},h),h},gu=h=>{Yf.unregister(h)},Xi(f)):(Xi=h=>h,f),fu={},Ml=f=>{for(;f.length;){var h=f.pop();f.pop()(h)}};function Il(f){return this.o($[f>>2])}var $i={},hu={},pu=class extends Error{constructor(f){super(f),this.name="InternalError"}},Xn=(f,h,b)=>{function M(W){if(W=b(W),W.length!==f.length)throw new pu("Mismatched type converter count");for(var nA=0;nA<f.length;++nA)yo(f[nA],W[nA])}f.forEach(W=>hu[W]=h);var Y=Array(h.length),z=[],J=0;for(let[W,nA]of h.entries())ai.hasOwnProperty(nA)?Y[W]=ai[nA]:(z.push(nA),$i.hasOwnProperty(nA)||($i[nA]=[]),$i[nA].push(()=>{Y[W]=ai[nA],++J,J===z.length&&M(Y)}));z.length===0&&M(Y)};function eQ(f,h,b={}){var M=h.name;if(!f)throw new de(`type "${M}" must have a positive integer typeid pointer`);if(ai.hasOwnProperty(f)){if(b.ic)return;throw new de(`Cannot register type '${M}' twice`)}ai[f]=h,delete hu[f],$i.hasOwnProperty(f)&&(h=$i[f],delete $i[f],h.forEach(Y=>Y()))}function yo(f,h,b={}){return eQ(f,h,b)}var Rf=f=>{throw new de(f.g.u.h.name+" instance already deleted")},tQ=[];function mu(){}var Ny={},Of=(f,h,b)=>{if(f[h].v===void 0){var M=f[h];f[h]=function(...Y){if(!f[h].v.hasOwnProperty(Y.length))throw new de(`Function '${b}' called with an invalid number of arguments (${Y.length}) - expects one of (${f[h].v})!`);return f[h].v[Y.length].apply(this,Y)},f[h].v=[],f[h].v[M.X]=M}},Dl=(f,h,b)=>{if(c.hasOwnProperty(f)){if(b===void 0||c[f].v!==void 0&&c[f].v[b]!==void 0)throw new de(`Cannot register public name '${f}' twice`);if(Of(c,f,f),c[f].v.hasOwnProperty(b))throw new de(`Cannot register multiple overloads of a function with the same number of arguments (${b})!`);c[f].v[b]=h}else c[f]=h,c[f].X=b},nQ=f=>{f=f.replace(/[^a-zA-Z0-9_]/g,"$");var h=f.charCodeAt(0);return 48<=h&&57>=h?`_${f}`:f};function oQ(f,h,b,M,Y,z,J,W){this.name=f,this.constructor=h,this.P=b,this.T=M,this.C=Y,this.cc=z,this.qa=J,this.Yb=W,this.zb=[]}var yu=(f,h,b)=>{for(;h!==b;){if(!h.qa)throw new de(`Expected null or instance of ${b.name}, got an instance of ${h.name}`);f=h.qa(f),h=h.C}return f},Pf=f=>{if(f===null)return"null";var h=typeof f;return h==="object"||h==="array"||h==="function"?f.toString():""+f};function aQ(f,h){if(h===null){if(this.Va)throw new de(`null is not a valid ${this.name}`);return 0}if(!h.g)throw new de(`Cannot pass "${Pf(h)}" as a ${this.name}`);if(!h.g.m)throw new de(`Cannot pass deleted object as a pointer of type ${this.name}`);return yu(h.g.m,h.g.u.h,this.h)}function rQ(f,h){if(h===null){if(this.Va)throw new de(`null is not a valid ${this.name}`);if(this.ya){var b=this.Ya();return f!==null&&f.push(this.T,b),b}return 0}if(!h||!h.g)throw new de(`Cannot pass "${Pf(h)}" as a ${this.name}`);if(!h.g.m)throw new de(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.xa&&h.g.u.xa)throw new de(`Cannot convert argument of type ${h.g.M?h.g.M.name:h.g.u.name} to parameter type ${this.name}`);if(b=yu(h.g.m,h.g.u.h,this.h),this.ya){if(h.g.F===void 0)throw new de("Passing raw pointer to smart pointer is illegal");switch(this.Ac){case 0:if(h.g.M===this)b=h.g.F;else throw new de(`Cannot convert argument of type ${h.g.M?h.g.M.name:h.g.u.name} to parameter type ${this.name}`);break;case 1:b=h.g.F;break;case 2:if(h.g.M===this)b=h.g.F;else{var M=h.clone();b=this.wc(b,xa(()=>M.delete())),f!==null&&f.push(this.T,b)}break;default:throw new de("Unsupported sharing policy")}}return b}function iQ(f,h){if(h===null){if(this.Va)throw new de(`null is not a valid ${this.name}`);return 0}if(!h.g)throw new de(`Cannot pass "${Pf(h)}" as a ${this.name}`);if(!h.g.m)throw new de(`Cannot pass deleted object as a pointer of type ${this.name}`);if(h.g.u.xa)throw new de(`Cannot convert argument of type ${h.g.u.name} to parameter type ${this.name}`);return yu(h.g.m,h.g.u.h,this.h)}var Ly=(f,h,b)=>h===b?f:b.C===void 0?null:(f=Ly(f,h,b.C),f===null?null:b.Yb(f)),sQ=(f,h)=>(h=Tf(f,h),xl[h]),bu=(f,h)=>{if(!h.u||!h.m)throw new pu("makeClassHandle requires ptr and ptrType");if(!!h.M!=!!h.F)throw new pu("Both smartPtrType and smartPtr must be specified");return h.count={value:1},Xi(Object.create(f,{g:{value:h,writable:!0}}))};function wu(f,h,b,M,Y,z,J,W,nA,oA,YA){this.name=f,this.h=h,this.Va=b,this.xa=M,this.ya=Y,this.vc=z,this.Ac=J,this.Ab=W,this.Ya=nA,this.wc=oA,this.T=YA,Y||h.C!==void 0?this.A=rQ:(this.A=M?aQ:iQ,this.I=null)}var Hy=(f,h,b)=>{if(!c.hasOwnProperty(f))throw new pu("Replacing nonexistent public symbol");c[f].v!==void 0&&b!==void 0?c[f].v[b]=h:(c[f]=h,c[f].X=b)},bo={},lQ=(f,h,b=[])=>(f.includes("j")?(f=f.replace(/p/g,"i"),h=(0,bo[f])(h,...b)):h=vu.get(h)(...b),h),cQ=(f,h)=>(...b)=>lQ(f,h,b),wn=(f,h)=>{f=Rt(f);var b=f.includes("j")?cQ(f,h):vu.get(h);if(typeof b!="function")throw new de(`unknown function pointer with signature ${f}: ${h}`);return b};class uQ extends Error{}var Ma=(f,h)=>{function b(z){Y[z]||ai[z]||(hu[z]?hu[z].forEach(b):(M.push(z),Y[z]=!0))}var M=[],Y={};throw h.forEach(b),new uQ(`${f}: `+M.map(Gy).join([", "]))};function dQ(f){for(var h=1;h<f.length;++h)if(f[h]!==null&&f[h].I===void 0)return!0;return!1}function Bu(f,h,b,M,Y){var z=h.length;if(2>z)throw new de("argTypes array size mismatch! Must at least get return value and 'this' types!");var J=h[1]!==null&&b!==null,W=dQ(h),nA=!h[0].oc,oA=z-2,YA=Array(oA),RA=[],FA=[];return Ql(f,function(...NA){if(FA.length=0,RA.length=J?2:1,RA[0]=Y,J){var HA=h[1].A(FA,this);RA[1]=HA}for(var bA=0;bA<oA;++bA)YA[bA]=h[bA+2].A(FA,NA[bA]),RA.push(YA[bA]);if(NA=M(...RA),W)Ml(FA);else for(bA=J?1:2;bA<h.length;bA++){var Se=bA===1?HA:YA[bA-2];h[bA].I!==null&&h[bA].I(Se)}return HA=nA?h[0].o(NA):void 0,HA})}var Cu=(f,h)=>{for(var b=[],M=0;M<f;M++)b.push($[h+4*M>>2]);return b},Uf=f=>{f=f.trim();let h=f.indexOf("(");return h===-1?f:f.slice(0,h)},zy=(f,h,b)=>{if(!(f instanceof Object))throw new de(`${b} with invalid "this": ${f}`);if(!(f instanceof h.h.constructor))throw new de(`${b} incompatible with "this" of type ${f.constructor.name}`);if(!f.g.m)throw new de(`cannot call emscripten binding method ${b} on deleted object`);return yu(f.g.m,f.g.u.h,h.h)},Gf=f=>{9<f&&--oi[f+1]===0&&(oi[f]=void 0,Uy.push(f))},gQ={name:"emscripten::val",o:f=>{var h=zo(f);return Gf(f),h},A:(f,h)=>xa(h),L:Il,I:null},Nf=(f,h,b)=>{switch(h){case 1:return b?function(M){return this.o(H[M])}:function(M){return this.o(N[M])};case 2:return b?function(M){return this.o(Z[M>>1])}:function(M){return this.o(_[M>>1])};case 4:return b?function(M){return this.o(q[M>>2])}:function(M){return this.o($[M>>2])};default:throw new TypeError(`invalid integer width (${h}): ${f}`)}},fQ=(f,h)=>{switch(h){case 4:return function(b){return this.o(vA[b>>2])};case 8:return function(b){return this.o(fA[b>>3])};default:throw new TypeError(`invalid float width (${h}): ${f}`)}},hQ=(f,h,b)=>{switch(h){case 1:return b?M=>H[M]:M=>N[M];case 2:return b?M=>Z[M>>1]:M=>_[M>>1];case 4:return b?M=>q[M>>2]:M=>$[M>>2];default:throw new TypeError(`invalid integer width (${h}): ${f}`)}},jy=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,pQ=(f,h,b)=>{if(f>>=1,h=GA(_,f,h/2,b),16<h-f&&jy)return jy.decode(_.subarray(f,h));for(b="";f<h;++f)b+=String.fromCharCode(_[f]);return b},mQ=(f,h,b)=>{if(b??=2147483647,2>b)return 0;b-=2;var M=h;b=b<2*f.length?b/2:f.length;for(var Y=0;Y<b;++Y)Z[h>>1]=f.charCodeAt(Y),h+=2;return Z[h>>1]=0,h-M},yQ=f=>2*f.length,bQ=(f,h,b)=>{var M="";f>>=2;for(var Y=0;!(Y>=h/4);Y++){var z=$[f+Y];if(!z&&!b)break;M+=String.fromCodePoint(z)}return M},wQ=(f,h,b)=>{if(b??=2147483647,4>b)return 0;var M=h;b=M+b-4;for(var Y=0;Y<f.length;++Y){var z=f.codePointAt(Y);if(65535<z&&Y++,q[h>>2]=z,h+=4,h+4>b)break}return q[h>>2]=0,h-M},BQ=f=>{for(var h=0,b=0;b<f.length;++b)65535<f.codePointAt(b)&&b++,h+=4;return h},Lf=0,Hf=[],CQ=f=>{var h=Hf.length;return Hf.push(f),h},vQ=(f,h)=>{for(var b=Array(f),M=0;M<f;++M)b[M]=kf($[h+4*M>>2],`parameter ${M}`);return b},EQ={},zf=f=>{var h=EQ[f];return h===void 0?Rt(f):h},QQ=[0,31,60,91,121,152,182,213,244,274,305,335],xQ=[0,31,59,90,120,151,181,212,243,273,304,334],Sl={},Ky=f=>{if(!(f instanceof Ye||f=="unwind"))throw f},Jy=f=>{throw R=f,JA||0<Lf||(c.onExit?.(f),T=!0),new Ye(f)},MQ=f=>{if(!T)try{if(f(),!(JA||0<Lf))try{R=f=R,Jy(f)}catch(h){Ky(h)}}catch(h){Ky(h)}},jf=[],Kf={},Wy=()=>{if(!Jf){var f={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:F||"./this.program"},h;for(h in Kf)Kf[h]===void 0?delete f[h]:f[h]=Kf[h];var b=[];for(h in f)b.push(`${h}=${f[h]}`);Jf=b}return Jf},Jf;if(S=Array(4096),yn(kA,"/"),le("/tmp"),le("/home"),le("/home/web_user"),function(){le("/dev"),Mn(259,{read:()=>0,write:(M,Y,z,J)=>J,R:()=>0}),or("/dev/null",259),WA(1280,te),WA(1536,Ee),or("/dev/tty",1280),or("/dev/tty1",1536);var f=new Uint8Array(1024),h=0,b=()=>(h===0&&(BA(f),h=f.byteLength),f[--h]);rr("random",b),rr("urandom",b),le("/dev/shm"),le("/dev/shm/tmp")}(),function(){le("/proc");var f=le("/proc/self");le("/proc/self/fd"),yn({Z(){var h=dt(f,"fd",16895,73);return h.i={R:kA.i.R},h.l={na(b,M){b=+M;var Y=zt(b);return b={parent:null,Z:{vb:"fake"},l:{pa:()=>Y.path},id:b+1},b.parent=b},Za(){return Array.from(g.entries()).filter(([,b])=>b).map(([b])=>b.toString())}},h}},"/proc/self/fd")}(),(()=>{let f=mu.prototype;Object.assign(f,{isAliasOf:function(b){if(!(this instanceof mu&&b instanceof mu))return!1;var M=this.g.u.h,Y=this.g.m;b.g=b.g;var z=b.g.u.h;for(b=b.g.m;M.C;)Y=M.qa(Y),M=M.C;for(;z.C;)b=z.qa(b),z=z.C;return M===z&&Y===b},clone:function(){if(this.g.m||Rf(this),this.g.ja)return this.g.count.value+=1,this;var b=Xi,M=Object,Y=M.create,z=Object.getPrototypeOf(this),J=this.g;return b=b(Y.call(M,z,{g:{value:{count:J.count,ma:J.ma,ja:J.ja,m:J.m,u:J.u,F:J.F,M:J.M}}})),b.g.count.value+=1,b.g.ma=!1,b},delete(){if(this.g.m||Rf(this),this.g.ma&&!this.g.ja)throw new de("Object already scheduled for deletion");gu(this);var b=this.g;--b.count.value,b.count.value===0&&(b.F?b.M.T(b.F):b.u.h.T(b.m)),this.g.ja||(this.g.F=void 0,this.g.m=void 0)},isDeleted:function(){return!this.g.m},deleteLater:function(){if(this.g.m||Rf(this),this.g.ma&&!this.g.ja)throw new de("Object already scheduled for deletion");return tQ.push(this),this.g.ma=!0,this}});let h=Symbol.dispose;h&&(f[h]=f.delete)})(),Object.assign(wu.prototype,{dc(f){return this.Ab&&(f=this.Ab(f)),f},mb(f){this.T?.(f)},L:Il,o:function(f){function h(){return this.ya?bu(this.h.P,{u:this.vc,m:b,M:this,F:f}):bu(this.h.P,{u:this,m:f})}var b=this.dc(f);if(!b)return this.mb(f),null;var M=sQ(this.h,b);if(M!==void 0)return M.g.count.value===0?(M.g.m=b,M.g.F=f,M.clone()):(M=M.clone(),this.mb(f),M);if(M=this.h.cc(b),M=Ny[M],!M)return h.call(this);M=this.xa?M.Ub:M.pointerType;var Y=Ly(b,this.h,M.h);return Y===null?h.call(this):this.ya?bu(M.h.P,{u:M,m:Y,M:this,F:f}):bu(M.h.P,{u:M,m:Y})}}),c.noExitRuntime&&(JA=c.noExitRuntime),c.print&&(k=c.print),c.printErr&&(U=c.printErr),c.wasmBinary&&(O=c.wasmBinary),c.thisProgram&&(F=c.thisProgram),c.preInit)for(typeof c.preInit=="function"&&(c.preInit=[c.preInit]);0<c.preInit.length;)c.preInit.shift()();var IQ={259262:(f,h,b,M,Y)=>{if(typeof window>"u"||(window.AudioContext||window.webkitAudioContext)===void 0)return 0;if(typeof window.miniaudio>"u"){window.miniaudio={referenceCount:0},window.miniaudio.device_type={},window.miniaudio.device_type.playback=f,window.miniaudio.device_type.capture=h,window.miniaudio.device_type.duplex=b,window.miniaudio.device_state={},window.miniaudio.device_state.stopped=M,window.miniaudio.device_state.started=Y;let z=window.miniaudio;z.devices=[],z.track_device=function(J){for(var W=0;W<z.devices.length;++W)if(z.devices[W]==null)return z.devices[W]=J,W;return z.devices.push(J),z.devices.length-1},z.untrack_device_by_index=function(J){for(z.devices[J]=null;0<z.devices.length&&z.devices[z.devices.length-1]==null;)z.devices.pop()},z.untrack_device=function(J){for(var W=0;W<z.devices.length;++W)if(z.devices[W]==J)return z.untrack_device_by_index(W)},z.get_device_by_index=function(J){return z.devices[J]},z.unlock_event_types=["touchend","click"],z.unlock=function(){for(var J=0;J<z.devices.length;++J){var W=z.devices[J];W!=null&&W.N!=null&&W.state===z.device_state.started&&W.N.resume().then(()=>{Vy(W.yb)},nA=>{console.error("Failed to resume audiocontext",nA)})}z.unlock_event_types.map(function(nA){document.removeEventListener(nA,z.unlock,!0)})},z.unlock_event_types.map(function(J){document.addEventListener(J,z.unlock,!0)})}return window.miniaudio.referenceCount+=1,1},261440:()=>{typeof window.miniaudio<"u"&&(window.miniaudio.unlock_event_types.map(function(f){document.removeEventListener(f,window.miniaudio.unlock,!0)}),--window.miniaudio.referenceCount,window.miniaudio.referenceCount===0&&delete window.miniaudio)},261744:()=>navigator.mediaDevices!==void 0&&navigator.mediaDevices.getUserMedia!==void 0,261848:()=>{try{var f=new(window.AudioContext||window.webkitAudioContext),h=f.sampleRate;return f.close(),h}catch{return 0}},262019:(f,h,b,M,Y,z)=>{if(typeof window.miniaudio>"u")return-1;var J={},W={};return f==window.miniaudio.device_type.playback&&b!=0&&(W.sampleRate=b),J.N=new(window.AudioContext||window.webkitAudioContext)(W),J.N.suspend(),J.state=window.miniaudio.device_state.stopped,b=0,f!=window.miniaudio.device_type.playback&&(b=h),J.da=J.N.createScriptProcessor(M,b,h),J.da.onaudioprocess=function(nA){if((J.wa==null||J.wa.length==0)&&(J.wa=new Float32Array(vA.buffer,Y,M*h)),f==window.miniaudio.device_type.capture||f==window.miniaudio.device_type.duplex){for(var oA=0;oA<h;oA+=1)for(var YA=nA.inputBuffer.getChannelData(oA),RA=J.wa,FA=0;FA<M;FA+=1)RA[FA*h+oA]=YA[FA];Xy(z,M,Y)}if(f==window.miniaudio.device_type.playback||f==window.miniaudio.device_type.duplex)for($y(z,M,Y),oA=0;oA<nA.outputBuffer.numberOfChannels;++oA)for(YA=nA.outputBuffer.getChannelData(oA),RA=J.wa,FA=0;FA<M;FA+=1)YA[FA]=RA[FA*h+oA];else for(oA=0;oA<nA.outputBuffer.numberOfChannels;++oA)nA.outputBuffer.getChannelData(oA).fill(0)},f!=window.miniaudio.device_type.capture&&f!=window.miniaudio.device_type.duplex||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(nA){J.Fa=J.N.createMediaStreamSource(nA),J.Fa.connect(J.da),J.da.connect(J.N.destination)}).catch(function(nA){console.log("Failed to get user media: "+nA)}),f==window.miniaudio.device_type.playback&&J.da.connect(J.N.destination),J.yb=z,window.miniaudio.track_device(J)},264896:f=>window.miniaudio.get_device_by_index(f).N.sampleRate,264969:f=>{f=window.miniaudio.get_device_by_index(f),f.da!==void 0&&(f.da.onaudioprocess=function(){},f.da.disconnect(),f.da=void 0),f.Fa!==void 0&&(f.Fa.disconnect(),f.Fa=void 0),f.N.close(),f.N=void 0,f.yb=void 0},265369:f=>{window.miniaudio.untrack_device_by_index(f)},265419:f=>{f=window.miniaudio.get_device_by_index(f),f.N.resume(),f.state=window.miniaudio.device_state.started},265558:f=>{f=window.miniaudio.get_device_by_index(f),f.N.suspend(),f.state=window.miniaudio.device_state.stopped}},ir,Wf,_y,Vy,Xy,$y,Zy,qy,Ab,eb,Zi,vu,tb={__syscall_fcntl64:function(f,h,b){El=b;try{var M=zt(f);switch(h){case 0:var Y=LA();if(0>Y)break;for(;g[Y];)Y++;return Vn(M,Y).ba;case 1:case 2:return 0;case 3:return M.flags;case 4:return Y=LA(),M.flags|=Y,0;case 12:return Y=LA(),Z[Y+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(z){if(typeof ni>"u"||z.name!=="ErrnoError")throw z;return-z.aa}},__syscall_ioctl:function(f,h,b){El=b;try{var M=zt(f);switch(h){case 21509:return M.s?0:-59;case 21505:if(!M.s)return-59;if(M.s.$.kc){f=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var Y=LA();q[Y>>2]=25856,q[Y+4>>2]=5,q[Y+8>>2]=191,q[Y+12>>2]=35387;for(var z=0;32>z;z++)H[Y+z+17]=f[z]||0}return 0;case 21510:case 21511:case 21512:return M.s?0:-59;case 21506:case 21507:case 21508:if(!M.s)return-59;if(M.s.$.lc)for(Y=LA(),f=[],z=0;32>z;z++)f.push(H[Y+z+17]);return 0;case 21519:return M.s?(Y=LA(),q[Y>>2]=0):-59;case 21520:return M.s?-28:-59;case 21537:case 21531:if(Y=LA(),!M.i.jc)throw new eA(59);return M.i.jc(M,h,Y);case 21523:return M.s?(M.s.$.mc&&(z=[24,80],Y=LA(),Z[Y>>1]=z[0],Z[Y+2>>1]=z[1]),0):-59;case 21524:return M.s?0:-59;case 21515:return M.s?0:-59;default:return-28}}catch(J){if(typeof ni>"u"||J.name!=="ErrnoError")throw J;return-J.aa}},__syscall_openat:function(f,h,b,M){El=M;try{h=h?Ae(N,h):"";var Y=h;if(Y.charAt(0)==="/")h=Y;else{var z=f===-100?"/":zt(f).path;if(Y.length==0)throw new eA(44);h=z+"/"+Y}var J=M?LA():0;return ea(h,b,J).ba}catch(W){if(typeof ni>"u"||W.name!=="ErrnoError")throw W;return-W.aa}},_abort_js:()=>DA(""),_embind_create_inheriting_constructor:(f,h,b)=>{f=Rt(f),h=kf(h,"wrapper"),b=zo(b);var M=h.h,Y=M.P,z=M.C.P,J=M.C.constructor;return f=Ql(f,function(...W){for(var nA of M.C.zb)if(this[nA]===z[nA])throw new AQ(`Pure virtual function ${nA} must be implemented in JavaScript`);Object.defineProperty(this,"__parent",{value:Y}),this.__construct(...W)}),Y.__construct=function(...W){if(this===Y)throw new de("Pass correct 'this' to __construct");W=J.implement(this,...W),gu(W);var nA=W.g;if(W.notifyOnDestruction(),nA.ja=!0,Object.defineProperties(this,{g:{value:nA}}),Xi(this),W=nA.m,W=Tf(M,W),xl.hasOwnProperty(W))throw new de(`Tried to register registered instance: ${W}`);xl[W]=this},Y.__destruct=function(){if(this===Y)throw new de("Pass correct 'this' to __destruct");gu(this);var W=this.g.m;if(W=Tf(M,W),xl.hasOwnProperty(W))delete xl[W];else throw new de(`Tried to unregister unregistered instance: ${W}`)},f.prototype=Object.create(Y),Object.assign(f.prototype,b),xa(f)},_embind_finalize_value_object:f=>{var h=fu[f];delete fu[f];var b=h.Ya,M=h.T,Y=h.pb,z=Y.map(J=>J.hc).concat(Y.map(J=>J.yc));Xn([f],z,J=>{var W={},nA,oA;for([nA,oA]of Y.entries()){let YA=J[nA],RA=oA.ec,FA=oA.fc,NA=J[nA+Y.length],HA=oA.xc,bA=oA.zc;W[oA.ac]={read:Se=>YA.o(RA(FA,Se)),write:(Se,ke)=>{var OA=[];HA(bA,Se,NA.A(OA,ke)),Ml(OA)},optional:YA.optional}}return[{name:h.name,o:YA=>{var RA={},FA;for(FA in W)RA[FA]=W[FA].read(YA);return M(YA),RA},A:(YA,RA)=>{for(var FA in W)if(!(FA in RA||W[FA].optional))throw new TypeError(`Missing field: "${FA}"`);var NA=b();for(FA in W)W[FA].write(NA,RA[FA]);return YA!==null&&YA.push(M,NA),NA},L:Il,I:M}]})},_embind_register_bigint:()=>{},_embind_register_bool:(f,h,b,M)=>{h=Rt(h),yo(f,{name:h,o:function(Y){return!!Y},A:function(Y,z){return z?b:M},L:function(Y){return this.o(N[Y])},I:null})},_embind_register_class:(f,h,b,M,Y,z,J,W,nA,oA,YA,RA,FA)=>{YA=Rt(YA),z=wn(Y,z),W&&=wn(J,W),oA&&=wn(nA,oA),FA=wn(RA,FA);var NA=nQ(YA);Dl(NA,function(){Ma(`Cannot construct ${YA} due to unbound types`,[M])}),Xn([f,h,b],M?[M]:[],HA=>{if(HA=HA[0],M)var bA=HA.h,Se=bA.P;else Se=mu.prototype;HA=Ql(YA,function(...gt){if(Object.getPrototypeOf(this)!==ke)throw new de(`Use 'new' to construct ${YA}`);if(OA.fa===void 0)throw new de(`${YA} has no accessible constructor`);var On=OA.fa[gt.length];if(On===void 0)throw new de(`Tried to invoke ctor of ${YA} with invalid number of parameters (${gt.length}) - expected (${Object.keys(OA.fa).toString()}) parameters instead!`);return On.apply(this,gt)});var ke=Object.create(Se,{constructor:{value:HA}});HA.prototype=ke;var OA=new oQ(YA,HA,ke,FA,bA,z,W,oA);if(OA.C){var ot;(ot=OA.C).ra??(ot.ra=[]),OA.C.ra.push(OA)}return bA=new wu(YA,OA,!0,!1,!1),ot=new wu(YA+"*",OA,!1,!1,!1),Se=new wu(YA+" const*",OA,!1,!0,!1),Ny[f]={pointerType:ot,Ub:Se},Hy(NA,HA),[bA,ot,Se]})},_embind_register_class_class_function:(f,h,b,M,Y,z,J)=>{var W=Cu(b,M);h=Rt(h),h=Uf(h),z=wn(Y,z),Xn([],[f],nA=>{function oA(){Ma(`Cannot call ${YA} due to unbound types`,W)}nA=nA[0];var YA=`${nA.name}.${h}`;h.startsWith("@@")&&(h=Symbol[h.substring(2)]);var RA=nA.h.constructor;return RA[h]===void 0?(oA.X=b-1,RA[h]=oA):(Of(RA,h,YA),RA[h].v[b-1]=oA),Xn([],W,FA=>{if(FA=Bu(YA,[FA[0],null].concat(FA.slice(1)),null,z,J),RA[h].v===void 0?(FA.X=b-1,RA[h]=FA):RA[h].v[b-1]=FA,nA.h.ra)for(let NA of nA.h.ra)NA.constructor.hasOwnProperty(h)||(NA.constructor[h]=FA);return[]}),[]})},_embind_register_class_class_property:(f,h,b,M,Y,z,J,W)=>{h=Rt(h),z=wn(Y,z),Xn([],[f],nA=>{nA=nA[0];var oA=`${nA.name}.${h}`,YA={get(){Ma(`Cannot access ${oA} due to unbound types`,[b])},enumerable:!0,configurable:!0};return YA.set=W?()=>{Ma(`Cannot access ${oA} due to unbound types`,[b])}:()=>{throw new de(`${oA} is a read-only property`)},Object.defineProperty(nA.h.constructor,h,YA),Xn([],[b],RA=>{RA=RA[0];var FA={get(){return RA.o(z(M))},enumerable:!0};return W&&(W=wn(J,W),FA.set=NA=>{var HA=[];W(M,RA.A(HA,NA)),Ml(HA)}),Object.defineProperty(nA.h.constructor,h,FA),[]}),[]})},_embind_register_class_constructor:(f,h,b,M,Y,z)=>{var J=Cu(h,b);Y=wn(M,Y),Xn([],[f],W=>{W=W[0];var nA=`constructor ${W.name}`;if(W.h.fa===void 0&&(W.h.fa=[]),W.h.fa[h-1]!==void 0)throw new de(`Cannot register multiple constructors with identical number of parameters (${h-1}) for class '${W.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return W.h.fa[h-1]=()=>{Ma(`Cannot construct ${W.name} due to unbound types`,J)},Xn([],J,oA=>(oA.splice(1,0,null),W.h.fa[h-1]=Bu(nA,oA,null,Y,z),[])),[]})},_embind_register_class_function:(f,h,b,M,Y,z,J,W)=>{var nA=Cu(b,M);h=Rt(h),h=Uf(h),z=wn(Y,z),Xn([],[f],oA=>{function YA(){Ma(`Cannot call ${RA} due to unbound types`,nA)}oA=oA[0];var RA=`${oA.name}.${h}`;h.startsWith("@@")&&(h=Symbol[h.substring(2)]),W&&oA.h.zb.push(h);var FA=oA.h.P,NA=FA[h];return NA===void 0||NA.v===void 0&&NA.className!==oA.name&&NA.X===b-2?(YA.X=b-2,YA.className=oA.name,FA[h]=YA):(Of(FA,h,RA),FA[h].v[b-2]=YA),Xn([],nA,HA=>(HA=Bu(RA,HA,oA,z,J),FA[h].v===void 0?(HA.X=b-2,FA[h]=HA):FA[h].v[b-2]=HA,[])),[]})},_embind_register_class_property:(f,h,b,M,Y,z,J,W,nA,oA)=>{h=Rt(h),Y=wn(M,Y),Xn([],[f],YA=>{YA=YA[0];var RA=`${YA.name}.${h}`,FA={get(){Ma(`Cannot access ${RA} due to unbound types`,[b,J])},enumerable:!0,configurable:!0};return FA.set=nA?()=>Ma(`Cannot access ${RA} due to unbound types`,[b,J]):()=>{throw new de(RA+" is a read-only property")},Object.defineProperty(YA.h.P,h,FA),Xn([],nA?[b,J]:[b],NA=>{var HA=NA[0],bA={get(){var ke=zy(this,YA,RA+" getter");return HA.o(Y(z,ke))},enumerable:!0};if(nA){nA=wn(W,nA);var Se=NA[1];bA.set=function(ke){var OA=zy(this,YA,RA+" setter"),ot=[];nA(oA,OA,Se.A(ot,ke)),Ml(ot)}}return Object.defineProperty(YA.h.P,h,bA),[]}),[]})},_embind_register_emval:f=>yo(f,gQ),_embind_register_enum:(f,h,b,M,Y)=>{switch(h=Rt(h),Y=Y===0?"object":Y===1?"number":"string",Y){case"object":let J=function(){};J.values={},yo(f,{name:h,constructor:J,valueType:Y,o:function(W){return this.constructor.values[W]},A:(W,nA)=>nA.value,L:Nf(h,b,M),I:null}),Dl(h,J);break;case"number":var z={};yo(f,{name:h,Wa:z,valueType:Y,o:W=>W,A:(W,nA)=>nA,L:Nf(h,b,M),I:null}),Dl(h,z),delete c[h].X;break;case"string":z={},yo(f,{name:h,Jb:{},Cb:{},Wa:z,valueType:Y,o:function(W){return this.Cb[W]},A:function(W,nA){return this.Jb[nA]},L:Nf(h,b,M),I:null}),Dl(h,z),delete c[h].X}},_embind_register_enum_value:(f,h,b)=>{var M=kf(f,"enum");switch(h=Rt(h),M.valueType){case"object":f=M.constructor,M=Object.create(M.constructor.prototype,{value:{value:b},constructor:{value:Ql(`${M.name}_${h}`,function(){})}}),f.values[b]=M,f[h]=M;break;case"number":M.Wa[h]=b;break;case"string":M.Jb[h]=b,M.Cb[b]=h,M.Wa[h]=h}},_embind_register_float:(f,h,b)=>{h=Rt(h),yo(f,{name:h,o:M=>M,A:(M,Y)=>Y,L:fQ(h,b),I:null})},_embind_register_function:(f,h,b,M,Y,z)=>{var J=Cu(h,b);f=Rt(f),f=Uf(f),Y=wn(M,Y),Dl(f,function(){Ma(`Cannot call ${f} due to unbound types`,J)},h-1),Xn([],J,W=>(Hy(f,Bu(f,[W[0],null].concat(W.slice(1)),null,Y,z),h-1),[]))},_embind_register_integer:(f,h,b,M,Y)=>{h=Rt(h);let z=W=>W;if(M===0){var J=32-8*b;z=W=>W<<J>>>J,Y=z(Y)}yo(f,{name:h,o:z,A:(W,nA)=>nA,L:hQ(h,b,M!==0),I:null})},_embind_register_memory_view:(f,h,b)=>{function M(z){return new Y(H.buffer,$[z+4>>2],$[z>>2])}var Y=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][h];b=Rt(b),yo(f,{name:b,o:M,L:M},{ic:!0})},_embind_register_std_string:(f,h)=>{h=Rt(h),yo(f,{name:h,o(b){var M=(M=b+4)?Ae(N,M,$[b>>2],!0):"";return ir(b),M},A(b,M){M instanceof ArrayBuffer&&(M=new Uint8Array(M));var Y=typeof M=="string";if(!(Y||ArrayBuffer.isView(M)&&M.BYTES_PER_ELEMENT==1))throw new de("Cannot pass non-string to std::string");var z=Y?tA(M):M.length,J=Wf(4+z+1),W=J+4;return $[J>>2]=z,Y?hA(M,N,W,z+1):N.set(M,W),b!==null&&b.push(ir,J),J},L:Il,I(b){ir(b)}})},_embind_register_std_wstring:(f,h,b)=>{if(b=Rt(b),h===2)var M=pQ,Y=mQ,z=yQ;else M=bQ,Y=wQ,z=BQ;yo(f,{name:b,o:J=>{var W=M(J+4,$[J>>2]*h,!0);return ir(J),W},A:(J,W)=>{if(typeof W!="string")throw new de(`Cannot pass non-string to C++ string type ${b}`);var nA=z(W),oA=Wf(4+nA+h);return $[oA>>2]=nA/h,Y(W,oA+4,nA+h),J!==null&&J.push(ir,oA),oA},L:Il,I(J){ir(J)}})},_embind_register_value_object:(f,h,b,M,Y,z)=>{fu[f]={name:Rt(h),Ya:wn(b,M),T:wn(Y,z),pb:[]}},_embind_register_value_object_field:(f,h,b,M,Y,z,J,W,nA,oA)=>{fu[f].pb.push({ac:Rt(h),hc:b,ec:wn(M,Y),fc:z,yc:J,xc:wn(W,nA),zc:oA})},_embind_register_void:(f,h)=>{h=Rt(h),yo(f,{oc:!0,name:h,o:()=>{},A:()=>{}})},_emscripten_runtime_keepalive_clear:()=>{JA=!1,Lf=0},_emscripten_throw_longjmp:()=>{throw 1/0},_emval_create_invoker:(f,h,b)=>{var[M,...Y]=vQ(f,h),z=M.A.bind(M),J=Y.map(nA=>nA.L.bind(nA));f--;var W=Array(f);return h=`methodCaller<(${Y.map(nA=>nA.name)}) => ${M.name}>`,CQ(Ql(h,(nA,oA,YA,RA)=>{for(var FA=0,NA=0;NA<f;++NA)W[NA]=J[NA](RA+FA),FA+=8;switch(b){case 0:var HA=zo(nA).apply(null,W);break;case 2:HA=Reflect.construct(zo(nA),W);break;case 3:HA=W[0];break;case 1:HA=zo(nA)[zf(oA)](...W)}return nA=[],HA=z(nA,HA),nA.length&&($[YA>>2]=xa(nA)),HA}))},_emval_decref:Gf,_emval_get_module_property:f=>(f=zf(f),xa(c[f])),_emval_get_property:(f,h)=>(f=zo(f),h=zo(h),xa(f[h])),_emval_incref:f=>{9<f&&(oi[f+1]+=1)},_emval_invoke:(f,h,b,M,Y)=>Hf[f](h,b,M,Y),_emval_new_array:()=>xa([]),_emval_new_cstring:f=>xa(zf(f)),_emval_new_object:()=>xa({}),_emval_run_destructors:f=>{var h=zo(f);Ml(h),Gf(f)},_emval_set_property:(f,h,b)=>{f=zo(f),h=zo(h),b=zo(b),f[h]=b},_gmtime_js:function(f,h,b){f=new Date(1e3*(h+2097152>>>0<4194305-!!f?(f>>>0)+4294967296*h:NaN)),q[b>>2]=f.getUTCSeconds(),q[b+4>>2]=f.getUTCMinutes(),q[b+8>>2]=f.getUTCHours(),q[b+12>>2]=f.getUTCDate(),q[b+16>>2]=f.getUTCMonth(),q[b+20>>2]=f.getUTCFullYear()-1900,q[b+24>>2]=f.getUTCDay(),q[b+28>>2]=(f.getTime()-Date.UTC(f.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},_localtime_js:function(f,h,b){f=new Date(1e3*(h+2097152>>>0<4194305-!!f?(f>>>0)+4294967296*h:NaN)),q[b>>2]=f.getSeconds(),q[b+4>>2]=f.getMinutes(),q[b+8>>2]=f.getHours(),q[b+12>>2]=f.getDate(),q[b+16>>2]=f.getMonth(),q[b+20>>2]=f.getFullYear()-1900,q[b+24>>2]=f.getDay(),h=f.getFullYear(),q[b+28>>2]=(h%4!==0||h%100===0&&h%400!==0?xQ:QQ)[f.getMonth()]+f.getDate()-1|0,q[b+36>>2]=-(60*f.getTimezoneOffset()),h=new Date(f.getFullYear(),6,1).getTimezoneOffset();var M=new Date(f.getFullYear(),0,1).getTimezoneOffset();q[b+32>>2]=(h!=M&&f.getTimezoneOffset()==Math.min(M,h))|0},_setitimer_js:(f,h)=>{if(Sl[f]&&(clearTimeout(Sl[f].id),delete Sl[f]),!h)return 0;var b=setTimeout(()=>{delete Sl[f],MQ(()=>Zy(f,performance.now()))},h);return Sl[f]={id:b,Yc:h},0},_tzset_js:(f,h,b,M)=>{var Y=new Date().getFullYear(),z=new Date(Y,0,1).getTimezoneOffset();Y=new Date(Y,6,1).getTimezoneOffset(),$[f>>2]=60*Math.max(z,Y),q[h>>2]=+(z!=Y),h=J=>{var W=Math.abs(J);return`UTC${0<=J?"-":"+"}${String(Math.floor(W/60)).padStart(2,"0")}${String(W%60).padStart(2,"0")}`},f=h(z),h=h(Y),Y<z?(hA(f,N,b,17),hA(h,N,M,17)):(hA(f,N,M,17),hA(h,N,b,17))},clock_time_get:function(f,h,b,M){return 0<=f&&3>=f?(f=Math.round(1e6*(f===0?Date.now():performance.now())),ye=[f>>>0,(UA=f,1<=+Math.abs(UA)?0<UA?+Math.floor(UA/4294967296)>>>0:~~+Math.ceil((UA-+(~~UA>>>0))/4294967296)>>>0:0)],q[M>>2]=ye[0],q[M+4>>2]=ye[1],0):28},emscripten_asm_const_int:(f,h,b)=>{jf.length=0;for(var M;M=N[h++];){var Y=M!=105;Y&=M!=112,b+=Y&&b%8?4:0,jf.push(M==112?$[b>>2]:M==105?q[b>>2]:fA[b>>3]),b+=Y?8:4}return IQ[f](...jf)},emscripten_date_now:()=>Date.now(),emscripten_get_now:()=>performance.now(),emscripten_resize_heap:f=>{var h=N.length;if(f>>>=0,2147483648<f)return!1;for(var b=1;4>=b;b*=2){var M=h*(1+.2/b);M=Math.min(M,f+100663296);A:{M=(Math.min(2147483648,65536*Math.ceil(Math.max(f,M)/65536))-Zi.buffer.byteLength+65535)/65536|0;try{Zi.grow(M),sA();var Y=1;break A}catch{}Y=void 0}if(Y)return!0}return!1},environ_get:(f,h)=>{var b=0,M=0,Y;for(Y of Wy()){var z=h+b;$[f+M>>2]=z,b+=hA(Y,N,z,1/0)+1,M+=4}return 0},environ_sizes_get:(f,h)=>{var b=Wy();$[f>>2]=b.length,f=0;for(var M of b)f+=tA(M)+1;return $[h>>2]=f,0},fd_close:function(f){try{var h=zt(f);if(h.ba===null)throw new eA(8);h.Ua&&(h.Ua=null);try{h.i.close&&h.i.close(h)}catch(b){throw b}finally{g[h.ba]=null}return h.ba=null,0}catch(b){if(typeof ni>"u"||b.name!=="ErrnoError")throw b;return b.aa}},fd_read:function(f,h,b,M){try{A:{var Y=zt(f);f=h;for(var z,J=h=0;J<b;J++){var W=$[f>>2],nA=$[f+4>>2];f+=8;var oA=Y,YA=W,RA=nA,FA=z,NA=H;if(0>RA||0>FA)throw new eA(28);if(oA.ba===null)throw new eA(8);if((oA.flags&2097155)===1)throw new eA(8);if((oA.node.mode&61440)===16384)throw new eA(31);if(!oA.i.read)throw new eA(28);var HA=typeof FA<"u";if(!HA)FA=oA.position;else if(!oA.seekable)throw new eA(70);var bA=oA.i.read(oA,NA,YA,RA,FA);HA||(oA.position+=bA);var Se=bA;if(0>Se){var ke=-1;break A}if(h+=Se,Se<nA)break;typeof z<"u"&&(z+=Se)}ke=h}return $[M>>2]=ke,0}catch(OA){if(typeof ni>"u"||OA.name!=="ErrnoError")throw OA;return OA.aa}},fd_seek:function(f,h,b,M,Y){h=b+2097152>>>0<4194305-!!h?(h>>>0)+4294967296*b:NaN;try{if(isNaN(h))return 61;var z=zt(f);return ar(z,h,M),ye=[z.position>>>0,(UA=z.position,1<=+Math.abs(UA)?0<UA?+Math.floor(UA/4294967296)>>>0:~~+Math.ceil((UA-+(~~UA>>>0))/4294967296)>>>0:0)],q[Y>>2]=ye[0],q[Y+4>>2]=ye[1],z.Ua&&h===0&&M===0&&(z.Ua=null),0}catch(J){if(typeof ni>"u"||J.name!=="ErrnoError")throw J;return J.aa}},fd_write:function(f,h,b,M){try{A:{var Y=zt(f);f=h;for(var z,J=h=0;J<b;J++){var W=$[f>>2],nA=$[f+4>>2];f+=8;var oA=Y,YA=W,RA=nA,FA=z,NA=H;if(0>RA||0>FA)throw new eA(28);if(oA.ba===null)throw new eA(8);if(!(oA.flags&2097155))throw new eA(8);if((oA.node.mode&61440)===16384)throw new eA(31);if(!oA.i.write)throw new eA(28);oA.seekable&&oA.flags&1024&&ar(oA,0,2);var HA=typeof FA<"u";if(!HA)FA=oA.position;else if(!oA.seekable)throw new eA(70);var bA=oA.i.write(oA,NA,YA,RA,FA,void 0);HA||(oA.position+=bA);var Se=bA;if(0>Se){var ke=-1;break A}if(h+=Se,Se<nA)break;typeof z<"u"&&(z+=Se)}ke=h}return $[M>>2]=ke,0}catch(OA){if(typeof ni>"u"||OA.name!=="ErrnoError")throw OA;return OA.aa}},invoke_vii:DQ,isWindowsBrowser:function(){return-1<navigator.platform.indexOf("Win")},proc_exit:Jy,wasm_start_image_decode:function(f,h,b){h=new Uint8Array(Zi.buffer,h,b),b=new Uint8Array(b),b.set(h),createImageBitmap(new Blob([b])).then(function(M){var Y=new OffscreenCanvas(M.width,M.height).getContext("2d");Y.drawImage(M,0,0),Y=Y.getImageData(0,0,M.width,M.height);var z=Y.data.length,J=c.Qb(z);new Uint8Array(Zi.buffer,J,z).set(Y.data),c.Ec(f,M.width,M.height,J,z)}).catch(function(M){M=M.message||"decode failed";var Y=c.Uc(M)+1,z=c.Qb(Y);c.Xc(M,z,Y),c.Fc(f,z),c.Dc(z)})}};function DQ(f,h,b){var M=eb();try{vu.get(f)(h,b)}catch(Y){if(Ab(M),Y!==Y+0)throw Y;qy(1,0)}}var Eu;return Eu=await async function(){function f(b){return b=Eu=b.exports,ir=b.free,Wf=b.malloc,_y=b.__getTypeName,c._wasm_image_decode_complete=b.wasm_image_decode_complete,c._wasm_image_decode_error=b.wasm_image_decode_error,Vy=c._ma_device__on_notification_unlocked=b.ma_device__on_notification_unlocked,c._ma_malloc_emscripten=b.ma_malloc_emscripten,c._ma_free_emscripten=b.ma_free_emscripten,Xy=c._ma_device_process_pcm_frames_capture__webaudio=b.ma_device_process_pcm_frames_capture__webaudio,$y=c._ma_device_process_pcm_frames_playback__webaudio=b.ma_device_process_pcm_frames_playback__webaudio,Zy=b._emscripten_timeout,qy=b.setThrew,Ab=b._emscripten_stack_restore,eb=b.emscripten_stack_get_current,bo.iiji=b.dynCall_iiji,bo.jiji=b.dynCall_jiji,bo.vij=b.dynCall_vij,bo.iij=b.dynCall_iij,bo.ji=b.dynCall_ji,bo.iiiji=b.dynCall_iiiji,bo.jii=b.dynCall_jii,bo.viijii=b.dynCall_viijii,bo.iiiiij=b.dynCall_iiiiij,bo.iiiiijj=b.dynCall_iiiiijj,bo.iiiiiijj=b.dynCall_iiiiiijj,Zi=b.memory,vu=b.__indirect_function_table,sA(),Eu}var h={env:tb,wasi_snapshot_preview1:tb};return c.instantiateWasm?new Promise(b=>{c.instantiateWasm(h,(M,Y)=>{b(f(M,Y))})}):(xA??=c.locateFile?c.locateFile("canvas_advanced.wasm",G):G+"canvas_advanced.wasm",f((await mA(h)).instance))}(),function(){function f(){if(c.calledRun=!0,!T){if(X=!0,!c.noFSInit&&!L){var h,b;L=!0,h??=c.stdin,b??=c.stdout,M??=c.stderr,h?rr("stdin",h):Zt("/dev/tty","/dev/stdin"),b?rr("stdout",null,b):Zt("/dev/tty","/dev/stdout"),M?rr("stderr",null,M):Zt("/dev/tty1","/dev/stderr"),ea("/dev/stdin",0),ea("/dev/stdout",1),ea("/dev/stderr",1)}if(Eu.__wasm_call_ctors(),V=!1,j?.(c),c.onRuntimeInitialized?.(),c.postRun)for(typeof c.postRun=="function"&&(c.postRun=[c.postRun]);c.postRun.length;){var M=c.postRun.shift();qe.push(M)}tt(qe)}}if(c.preRun)for(typeof c.preRun=="function"&&(c.preRun=[c.preRun]);c.preRun.length;)TA();tt(lA),c.setStatus?(c.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>c.setStatus(""),1),f()},1)):f()}(),X?u=c:u=new Promise((f,h)=>{j=f,K=h}),u}})();let s=i},o=>{o.exports=JSON.parse(`{"name":"@rive-app/canvas","version":"2.43.1","description":"Rive's canvas based web api.","main":"rive.js","homepage":"https://rive.app","repository":{"type":"git","url":"https://github.com/rive-app/rive-wasm/tree/master/js"},"keywords":["rive","animation"],"author":"Rive","contributors":["Luigi Rosso <luigi@rive.app> (https://rive.app)","Maxwell Talbot <max@rive.app> (https://rive.app)","Arthur Vivian <arthur@rive.app> (https://rive.app)","Umberto Sonnino <umberto@rive.app> (https://rive.app)","Matthew Sullivan <matt.j.sullivan@gmail.com> (mailto:matt.j.sullivan@gmail.com)"],"license":"MIT","files":["rive.js","rive.js.map","rive.wasm","rive_fallback.wasm","rive.d.ts","rive_advanced.mjs.d.ts","runtimeLoader.d.ts","utils","semantics"],"typings":"rive.d.ts","dependencies":{},"browser":{"fs":false,"path":false}}`)},(o,a,r)=>{r.r(a),r.d(a,{AccessibilityOverlay:()=>s.AccessibilityOverlay,CHECK_STATE_MASK:()=>l.CHECK_STATE_MASK,CHECK_STATE_OFFSET:()=>l.CHECK_STATE_OFFSET,SemanticActionType:()=>l.SemanticActionType,SemanticCheckState:()=>l.SemanticCheckState,SemanticMode:()=>l.SemanticMode,SemanticRole:()=>l.SemanticRole,SemanticState:()=>l.SemanticState,SemanticTrait:()=>l.SemanticTrait,SemanticTreeModel:()=>i.SemanticTreeModel,checkStateOf:()=>l.checkStateOf,hasState:()=>l.hasState,hasTrait:()=>l.hasTrait,roleName:()=>l.roleName,stateNames:()=>l.stateNames,traitNames:()=>l.traitNames});var i=r(7),s=r(9),l=r(8)},(o,a,r)=>{r.r(a),r.d(a,{SemanticTreeModel:()=>l});var i=r(8),s=function(C,y,w){if(w||arguments.length===2)for(var I=0,F=y.length,G;I<F;I++)(G||!(I in y))&&(G||(G=Array.prototype.slice.call(y,0,I)),G[I]=y[I]);return C.concat(G||Array.prototype.slice.call(y))},l=function(){function C(){this._nodesById=new Map,this._roots=[],this._semanticVersion=0,this._geometryVersion=0,this._geometryChangedIds=new Set,this._semanticChangedIds=new Set,this._debug=!1}return Object.defineProperty(C.prototype,"nodeCount",{get:function(){return this._nodesById.size},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"semanticVersion",{get:function(){return this._semanticVersion},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"geometryVersion",{get:function(){return this._geometryVersion},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"geometryChangedIds",{get:function(){return this._geometryChangedIds},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"semanticChangedIds",{get:function(){return this._semanticChangedIds},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"roots",{get:function(){return this._roots},enumerable:!1,configurable:!0}),C.prototype.nodeById=function(y){return this._nodesById.get(y)},C.prototype.siblingIndexOf=function(y){var w=this._nodesById.get(y);if(!w)return-1;if(w.parentId<0)return this._roots.indexOf(y);var I=this._nodesById.get(w.parentId);return I?I.children.indexOf(y):-1},C.prototype.detach=function(y){var w=this._nodesById.get(y);if(w)if(w.parentId<0){var I=this._roots.indexOf(y);I!==-1&&this._roots.splice(I,1)}else{var F=this._nodesById.get(w.parentId);if(F){var I=F.children.indexOf(y);I!==-1&&F.children.splice(I,1)}}},C.prototype.attach=function(y,w,I){var F=this._nodesById.get(y);if(F)if(w<0){F.parentId=-1;var G=d(I,0,this._roots.length);this._roots.splice(G,0,y)}else{var E=this._nodesById.get(w);if(!E)F.parentId=-1,this._roots.push(y);else{F.parentId=w;var G=d(I,0,E.children.length);E.children.splice(G,0,y)}}},C.prototype.removeSubtree=function(y){var w=this._nodesById.get(y);if(w){for(var I=s([],w.children,!0),F=0,G=I;F<G.length;F++){var E=G[F];this.removeSubtree(E)}this.detach(y),this._nodesById.delete(y)}},C.prototype.applyDiff=function(y){var w,I,F=this;this._geometryChangedIds.clear(),this._semanticChangedIds.clear();for(var G=!1,E=!1,D=function(){G=!0},k=function(lA){G=!0,F._semanticChangedIds.add(lA)},U=function(lA){E=!0,F._geometryChangedIds.add(lA)},O=0,T=y.removed;O<T.length;O++){var R=T[O];this._nodesById.has(R)&&(this.removeSubtree(R),D())}for(var P=0,j=y.added;P<j.length;P++){var K=j[P],H=this._nodesById.get(K.id);H?(p(H,K)&&(v(H,K),k(K.id)),B(H,K)&&(Q(H,K),U(K.id))):(this._nodesById.set(K.id,c(K)),k(K.id),U(K.id)),this.detach(K.id),this.attach(K.id,K.parentId,K.siblingIndex)}for(var N=0,Z=y.moved;N<Z.length;N++){var K=Z[N],H=this._nodesById.get(K.id);if(H){var _=H.parentId!==K.parentId,q=this.siblingIndexOf(K.id),$=B(H,K);$&&(Q(H,K),U(K.id)),this.detach(K.id),this.attach(K.id,K.parentId,K.siblingIndex),(_||this.siblingIndexOf(K.id)!==q)&&D()}}for(var vA=0,fA=y.childrenUpdated;vA<fA.length;vA++){var X=fA[vA];if(X.parentId<0){var sA=X.childIds.filter(function(lA){return F._nodesById.has(lA)});if(!u(this._roots,sA)){this._roots.length=0,(w=this._roots).push.apply(w,sA);for(var DA=0,xA=this._roots;DA<xA.length;DA++){var R=xA[DA],wA=this._nodesById.get(R);wA&&(wA.parentId=-1)}D()}}else{var AA=this._nodesById.get(X.parentId);if(!AA)continue;var sA=X.childIds.filter(function(TA){return F._nodesById.has(TA)});if(!u(AA.children,sA)){AA.children.length=0,(I=AA.children).push.apply(I,sA);for(var mA=0,UA=AA.children;mA<UA.length;mA++){var R=UA[mA],wA=this._nodesById.get(R);wA&&(wA.parentId=X.parentId)}D()}}}for(var ye=0,Ye=y.updatedSemantic;ye<Ye.length;ye++){var K=Ye[ye],H=this._nodesById.get(K.id);H&&p(H,K)&&(v(H,K),k(K.id))}for(var tt=0,qe=y.updatedGeometry;tt<qe.length;tt++){var K=qe[tt],H=this._nodesById.get(K.id);H&&B(H,K)&&(Q(H,K),U(K.id))}!G&&!E||(G&&this._semanticVersion++,E&&this._geometryVersion++,this._debug&&this.logDiff(y,G,E))},Object.defineProperty(C.prototype,"debug",{set:function(y){this._debug=y},enumerable:!1,configurable:!0}),C.prototype.logDiff=function(y,w,I){for(var F=["[rive:semantics] semantic v".concat(this._semanticVersion)+(I?" geometry v".concat(this._geometryVersion):"")+(w?"":" (geometry-only)")],G=0,E=y.removed;G<E.length;G++){var D=E[G];F.push(" - removed #".concat(D))}for(var k=0,U=y.added;k<U.length;k++){var O=U[k];F.push(" + added #".concat(O.id," ").concat((0,i.roleName)(O.role))+(O.label?' "'.concat(O.label,'"'):"")+" bounds:(".concat(O.minX.toFixed(1),",").concat(O.minY.toFixed(1),")-(").concat(O.maxX.toFixed(1),",").concat(O.maxY.toFixed(1),")")+" states=[".concat((0,i.stateNames)(O.stateFlags),"]")+" traits=[".concat((0,i.traitNames)(O.traitFlags),"]"))}for(var T=0,R=y.moved;T<R.length;T++){var O=R[T];F.push(" ~ moved #".concat(O.id," \u2192 parent=").concat(O.parentId," idx=").concat(O.siblingIndex)+" bounds:(".concat(O.minX.toFixed(1),",").concat(O.minY.toFixed(1),")-(").concat(O.maxX.toFixed(1),",").concat(O.maxY.toFixed(1),")"))}for(var P=0,j=y.childrenUpdated;P<j.length;P++){var K=j[P];F.push(" \u2195 children of ".concat(K.parentId<0?"root":"#"+K.parentId,": [").concat(K.childIds.join(", "),"]"))}for(var H=0,N=y.updatedSemantic;H<N.length;H++){var O=N[H];F.push(" \u270E semantic #".concat(O.id," ").concat((0,i.roleName)(O.role))+(O.label?' "'.concat(O.label,'"'):"")+" states=[".concat((0,i.stateNames)(O.stateFlags),"]")+" traits=[".concat((0,i.traitNames)(O.traitFlags),"]"))}for(var Z=0,_=y.updatedGeometry;Z<_.length;Z++){var O=_[Z];F.push(" \u229E geometry #".concat(O.id," (").concat(O.minX.toFixed(1),",").concat(O.minY.toFixed(1),")-(").concat(O.maxX.toFixed(1),",").concat(O.maxY.toFixed(1),")"))}console.log(F.join(`
|
|
27
|
+
`))},C.prototype.flattened=function(){for(var y=this,w=[],I=function(D,k){var U=y._nodesById.get(D);if(U){w.push({depth:k,node:U});for(var O=0,T=U.children;O<T.length;O++){var R=T[O];I(R,k+1)}}},F=0,G=this._roots;F<G.length;F++){var E=G[F];I(E,0)}return w},C}();function d(C,y,w){return C<y?y:C>w?w:C}function u(C,y){if(C.length!==y.length)return!1;for(var w=0;w<C.length;w++)if(C[w]!==y[w])return!1;return!0}function c(C){return{id:C.id,parentId:-1,role:C.role,label:C.label,value:C.value,hint:C.hint,stateFlags:C.stateFlags,traitFlags:C.traitFlags,headingLevel:C.headingLevel,minX:C.minX,minY:C.minY,maxX:C.maxX,maxY:C.maxY,children:[]}}function p(C,y){return C.role!==y.role||C.label!==y.label||C.value!==y.value||C.hint!==y.hint||C.stateFlags!==y.stateFlags||C.traitFlags!==y.traitFlags||C.headingLevel!==y.headingLevel}function B(C,y){return C.minX!==y.minX||C.minY!==y.minY||C.maxX!==y.maxX||C.maxY!==y.maxY}function v(C,y){C.role=y.role,C.label=y.label,C.value=y.value,C.hint=y.hint,C.stateFlags=y.stateFlags,C.traitFlags=y.traitFlags,C.headingLevel=y.headingLevel}function Q(C,y){C.minX=y.minX,C.minY=y.minY,C.maxX=y.maxX,C.maxY=y.maxY}},(o,a,r)=>{r.r(a),r.d(a,{CHECK_STATE_MASK:()=>c,CHECK_STATE_OFFSET:()=>u,SemanticActionType:()=>C,SemanticCheckState:()=>d,SemanticMode:()=>B,SemanticRole:()=>i,SemanticState:()=>s,SemanticTrait:()=>v,checkStateOf:()=>p,hasState:()=>l,hasTrait:()=>Q,roleName:()=>U,stateNames:()=>O,traitNames:()=>T});var i={none:0,button:1,link:2,checkbox:3,switchControl:4,slider:5,textField:6,text:7,image:8,group:9,list:10,listItem:11,tab:12,tabList:13,dialog:14,alertDialog:15,radioGroup:16,radioButton:17},s={None:0,Expanded:1,Selected:2,Toggled:16,Required:32,Disabled:64,Focused:128,Hidden:256,LiveRegion:512,ReadOnly:1024,Modal:2048,Obscured:4096,Multiline:8192};function l(R,P){return(R&P)!==0}var d={Unchecked:0,Checked:1,Mixed:2},u=2,c=3<<u;function p(R){var P=(R&c)>>u;return P>=d.Mixed?d.Mixed:P}var B={Disabled:"disabled",Enabled:"enabled"},v={None:0,Expandable:1,Selectable:2,Checkable:4,Toggleable:8,Requirable:16,Enablable:32,Focusable:64};function Q(R,P){return(R&P)!==0}for(var C={tap:0,increase:1,decrease:2},y={},w=0,I=Object.entries(i);w<I.length;w++){var F=I[w],G=F[0],E=F[1];y[E]=G}var D=Object.entries(s).filter(function(R){var P=R[1];return P!==0}),k=Object.entries(v).filter(function(R){var P=R[1];return P!==0});function U(R){var P;return(P=y[R])!==null&&P!==void 0?P:"unknown(".concat(R,")")}function O(R){if(R===0)return"none";for(var P=[],j=0,K=D;j<K.length;j++){var H=K[j],N=H[0],Z=H[1];R&Z&&P.push(N)}switch(p(R)){case d.Checked:P.push("Checked");break;case d.Mixed:P.push("Mixed");break}return P.join(", ")||"none"}function T(R){if(R===0)return"none";for(var P=[],j=0,K=k;j<K.length;j++){var H=K[j],N=H[0],Z=H[1];R&Z&&P.push(N)}return P.join(", ")||"none"}},(o,a,r)=>{r.r(a),r.d(a,{AccessibilityOverlay:()=>s});var i=r(8),s=function(){function O(T){var R=this,P;this.elements=new Map,this.descElements=new Map,this.lastSemanticVersion=-1,this.lastGeometryVersion=-1,this.pendingTextGeometry=[],this.textGeometryKeys=new WeakMap,this.lastCanvasPositioning={width:-1,height:-1,offsetTop:-1,offsetLeft:-1},this._geometryDirty=!0,this.isUpdating=!1,this.transformContainer=null,this._artboardBounds={minX:0,minY:0,maxX:0,maxY:0},this.repositionTimer=null,this.canvasResizeObserver=null,this.parentResizeObserver=null,this.positionObserver=null,this._onWindowResize=function(){return R.scheduleReposition()},this.instanceId=T.instanceId,this.fireAction=T.fireAction,this.requestFocus=T.requestFocus,this.clearFocus=T.clearFocus,this.canvas=T.canvas,this.semanticsOptions=T.semanticsOptions,this.allowFocusInterrupt=(P=T.allowFocusInterrupt)!==null&&P!==void 0?P:!1,this.container=this.createContainer(T.canvas),this.attachPositionObservers()}return O.prototype.getSemanticOverlayContainer=function(){return this.container},O.prototype.attachPositionObservers=function(){var T=this;this.canvasResizeObserver=new ResizeObserver(function(){return T.scheduleReposition()}),this.canvasResizeObserver.observe(this.canvas);var R=this.canvas.parentElement;R&&(this.parentResizeObserver=new ResizeObserver(function(){return T.scheduleReposition()}),this.parentResizeObserver.observe(R)),window.addEventListener("resize",this._onWindowResize),this.observePosition()},O.prototype.observePosition=function(){var T=this,R;if(!(typeof IntersectionObserver>"u")){(R=this.positionObserver)===null||R===void 0||R.disconnect(),this.positionObserver=null;var P=this.canvas.getBoundingClientRect();if(!(!P.width||!P.height)){var j=function(N){return"".concat(-Math.round(N),"px")},K=[P.top,window.innerWidth-P.right,window.innerHeight-P.bottom,P.left].map(j).join(" "),H=!1;this.positionObserver=new IntersectionObserver(function(){if(!H){H=!0;return}T.scheduleReposition()},{threshold:1,rootMargin:K}),this.positionObserver.observe(this.canvas)}}},O.prototype.scheduleReposition=function(){var T=this;this._geometryDirty=!0,this.repositionTimer===null&&(this.repositionTimer=setTimeout(function(){T.repositionTimer=null,T.syncContainerGeometry(),T.observePosition()},500))},O.prototype.syncContainerGeometry=function(){var T=this.canvas.getBoundingClientRect(),R=this.canvas.offsetTop,P=this.canvas.offsetLeft;T.width===this.lastCanvasPositioning.width&&T.height===this.lastCanvasPositioning.height&&R===this.lastCanvasPositioning.offsetTop&&P===this.lastCanvasPositioning.offsetLeft||(this.container.style.top=R+"px",this.container.style.left=P+"px",this.container.style.width=T.width+"px",this.container.style.height=T.height+"px",this.container.tabIndex=-1,this.lastCanvasPositioning.width=T.width,this.lastCanvasPositioning.height=T.height,this.lastCanvasPositioning.offsetTop=R,this.lastCanvasPositioning.offsetLeft=P)},O.prototype.createContainer=function(T){var R,P,j=document.createElement("div");j.id="rive-a11y-".concat(this.instanceId),j.setAttribute("role","region"),j.setAttribute("aria-label",(P=(R=this.semanticsOptions)===null||R===void 0?void 0:R.riveCanvasLabel)!==null&&P!==void 0?P:"Rive animation");var K=T.getBoundingClientRect();return j.style.cssText=["position:absolute","top:".concat(T.offsetTop,"px"),"left:".concat(T.offsetLeft,"px"),"width:".concat(K.width,"px"),"height:".concat(K.height,"px"),"overflow:hidden","pointer-events:none","opacity:0"].join(";"),T.insertAdjacentElement("afterend",j),j},O.prototype.needsUpdate=function(T){var R=T.semanticVersion!==this.lastSemanticVersion,P=T.geometryVersion!==this.lastGeometryVersion,j=this._geometryDirty||!this.transformContainer;return!R&&!P&&!j?null:{semanticChanged:R,nodeGeometryChanged:P,layoutChanged:j}},O.prototype.update=function(T,R,P,j,K){var H=K??this.needsUpdate(T);!H&&R&&(H={semanticChanged:!1,nodeGeometryChanged:!1,layoutChanged:!0}),H&&this.performUpdate(T,R,P,j,H)},O.prototype.performUpdate=function(T,R,P,j,K){var H,N=K.semanticChanged,Z=K.nodeGeometryChanged,_=T.semanticVersion-this.lastSemanticVersion>1;if(this.lastSemanticVersion=T.semanticVersion,this.lastGeometryVersion=T.geometryVersion,this.isUpdating=!0,this._artboardBounds=j,R&&(this.syncContainerGeometry(),this.syncTransformContainer(R,P,j),this._geometryDirty=!1),N){var q=(H=this.transformContainer)!==null&&H!==void 0?H:this.container,$=new Set;this.rebuildChildren(q,T.roots,T,0,0,$,_);var vA=[];this.elements.forEach(function(wA,AA){$.has(AA)||vA.push(AA)});for(var fA=0,X=vA;fA<X.length;fA++){var sA=X[fA],DA=this.elements.get(sA);DA&&DA.parentNode&&DA.parentNode.removeChild(DA),this.elements.delete(sA);var xA=this.descElements.get(sA);xA&&xA.parentNode&&xA.parentNode.removeChild(xA),this.descElements.delete(sA)}}else Z&&this.updateGeometryForChangedNodes(T);this.flushTextGeometry(),this.isUpdating=!1},O.prototype.destroy=function(){var T,R,P;this.repositionTimer!==null&&(clearTimeout(this.repositionTimer),this.repositionTimer=null),window.removeEventListener("resize",this._onWindowResize),(T=this.canvasResizeObserver)===null||T===void 0||T.disconnect(),(R=this.parentResizeObserver)===null||R===void 0||R.disconnect(),(P=this.positionObserver)===null||P===void 0||P.disconnect(),this.container.parentNode&&this.container.parentNode.removeChild(this.container),this.elements.clear(),this.descElements.clear(),this.pendingTextGeometry.length=0},O.prototype.rebuildChildren=function(T,R,P,j,K,H,N){for(var Z=0;Z<R.length;Z++){var _=R[Z],q=P.nodeById(_);if(q){H.add(_);var $=this.elements.get(_),vA=!$;$||($=this.createElement(q),this.elements.set(_,$)),(vA||N||P.semanticChangedIds.has(_))&&this.applyAttributes($,q),this.applyPosition($,q,j,K);var fA=T.children[Z];if(fA!==$&&(fA?T.insertBefore($,fA):T.appendChild($)),(0,i.hasTrait)(q.traitFlags,i.SemanticTrait.Focusable)&&(0,i.hasState)(q.stateFlags,i.SemanticState.Focused)){var X=document.activeElement,sA=X?.closest('[aria-modal="true"]'),DA=!!sA&&this.container.contains(sA)&&!sA.contains($);X!==$&&!DA&&this.canMoveFocus()&&$.focus()}q.children.length>0&&this.rebuildChildren($,q.children,P,q.minX,q.minY,H,N),vA&&this.autoFocusDialogOnAppear($,q,P)}}},O.prototype.updateGeometryForChangedNodes=function(T){for(var R,P,j=0,K=Array.from(T.geometryChangedIds);j<K.length;j++){var H=K[j],N=T.nodeById(H);if(N){var Z=0,_=0,q=(R=this.transformContainer)!==null&&R!==void 0?R:this.container;if(N.parentId>=0){var $=T.nodeById(N.parentId);$&&(Z=$.minX,_=$.minY,q=(P=this.elements.get(N.parentId))!==null&&P!==void 0?P:q)}this.updateNodeGeometrySubtree(T,H,Z,_,q)}}},O.prototype.updateNodeGeometrySubtree=function(T,R,P,j,K){var H=T.nodeById(R);if(H){var N=this.elements.get(R);if(N){this.applyPosition(N,H,P,j);for(var Z=0,_=H.children;Z<_.length;Z++){var q=_[Z];this.updateNodeGeometrySubtree(T,q,H.minX,H.minY,N)}}}},O.prototype.canMoveFocus=function(){var T=document.activeElement,R=T===this.canvas||this.container.contains(T);return R||this.allowFocusInterrupt},O.prototype.autoFocusDialogOnAppear=function(T,R,P){var j;if(E(R.role,R.stateFlags)&&this.canMoveFocus()){var K=document.activeElement;if(!(K&&K!==T&&T.contains(K))){var H=(j=this.routeDefaultFocusTarget(R,P))!==null&&j!==void 0?j:T;H.hasAttribute("tabindex")||H.setAttribute("tabindex","-1"),document.activeElement!==H&&H.focus({preventScroll:!0})}}},O.prototype.routeDefaultFocusTarget=function(T,R){for(var P,j=0,K=T.children;j<K.length;j++){var H=K[j],N=R.nodeById(H);if(N){var Z=this.elements.get(H);if(Z&&D(N))return Z;if(N.children.length>0||!N.label){var _=this.routeDefaultFocusTarget(N,R);if(_)return _;continue}if(Z)return(P=Z.querySelector(":scope > span"))!==null&&P!==void 0?P:Z}}return null},Object.defineProperty(O.prototype,"nodeIdPrefix",{get:function(){return"rive-".concat(this.instanceId,"-sem-")},enumerable:!1,configurable:!0}),O.prototype.nodeIdFromElement=function(T){if(!T.id.startsWith(this.nodeIdPrefix))return null;var R=T.id.slice(this.nodeIdPrefix.length);if(!R)return null;var P=Number(R);return Number.isNaN(P)?null:P},O.prototype.createElement=function(T){var R=k(T.role),P=document.createElement(R);if(P.id="".concat(this.nodeIdPrefix).concat(T.id),P.style.cssText=Q,T.role===i.SemanticRole.text){var j=document.createElement("span");j.style.cssText=C,P.appendChild(j)}return this.attachActionHandlers(P,T),P},O.prototype.attachRovingNav=function(T,R){var P=this;T.addEventListener("keydown",function(j){var K=null;if(j.key==="ArrowRight"||j.key==="ArrowDown"?K="next":j.key==="ArrowLeft"||j.key==="ArrowUp"?K="prev":R.includeHomeEnd&&j.key==="Home"?K="first":R.includeHomeEnd&&j.key==="End"&&(K="last"),!!K){j.preventDefault();var H=R.members(),N=H.indexOf(T);if(!(N<0)){var Z=H.length,_=K==="next"?H[(N+1)%Z]:K==="prev"?H[(N-1+Z)%Z]:K==="first"?H[0]:H[Z-1];if(_&&_!==T){_.focus();var q=P.nodeIdFromElement(_);q!==null&&P.fireAction(q,i.SemanticActionType.tap)}}}})},O.prototype.attachActionHandlers=function(T,R){var P=this,j=R.role,K=R.id;if(F(j)){T.addEventListener("click",function(){P.fireAction(K,i.SemanticActionType.tap)});var H=j===i.SemanticRole.link?["Enter"]:["Enter"," "];T.addEventListener("keydown",function(N){H.includes(N.key)&&(N.preventDefault(),P.fireAction(K,i.SemanticActionType.tap))})}j===i.SemanticRole.slider&&T.addEventListener("keydown",function(N){N.key==="ArrowRight"||N.key==="ArrowUp"?(N.preventDefault(),P.fireAction(K,i.SemanticActionType.increase)):(N.key==="ArrowLeft"||N.key==="ArrowDown")&&(N.preventDefault(),P.fireAction(K,i.SemanticActionType.decrease))}),j===i.SemanticRole.tab&&this.attachRovingNav(T,{includeHomeEnd:!0,members:function(){var N=T.parentElement;return N?Array.from(N.children).filter(function(Z){return Z instanceof HTMLElement&&Z.getAttribute("role")==="tab"}):[]}}),j===i.SemanticRole.radioButton&&this.attachRovingNav(T,{includeHomeEnd:!1,members:function(){var N,Z=(N=T.closest('[role="radiogroup"]'))!==null&&N!==void 0?N:T.parentElement;return Z?Array.from(Z.querySelectorAll('[role="radio"]')):[]}}),(0,i.hasTrait)(R.traitFlags,i.SemanticTrait.Focusable)&&T.addEventListener("focus",function(){P.requestFocus(K)})},O.prototype.applyAttributes=function(T,R){var P,j,K,H=R.role,N=R.stateFlags,Z=R.traitFlags,_=U(H);if(_?y(T,"role",_):w(T,"role"),H===i.SemanticRole.link&&y(T,"role","link"),G(H)||(0,i.hasTrait)(Z,i.SemanticTrait.Focusable)||H===i.SemanticRole.listItem?y(T,"tabindex","-1"):w(T,"tabindex"),R.label?y(T,"aria-label",R.label):w(T,"aria-label"),H===i.SemanticRole.slider){if(R.value){var q=parseFloat(R.value);Number.isFinite(q)?y(T,"aria-valuenow",String(q)):w(T,"aria-valuenow"),y(T,"aria-valuetext",R.value)}else w(T,"aria-valuenow"),w(T,"aria-valuetext");y(T,"aria-orientation","horizontal"),I(T,"aria-readonly",(0,i.hasState)(N,i.SemanticState.ReadOnly))}else w(T,"aria-valuenow"),w(T,"aria-valuetext"),w(T,"aria-orientation"),w(T,"aria-readonly");if(R.hint){var $="rive-".concat(this.instanceId,"-desc-").concat(R.id),vA=this.descElements.get(R.id);vA||(vA=document.createElement("span"),vA.id=$,vA.style.cssText=v,this.container.appendChild(vA),this.descElements.set(R.id,vA)),vA.textContent!==R.hint&&(vA.textContent=R.hint),y(T,"aria-describedby",$)}else{w(T,"aria-describedby");var fA=this.descElements.get(R.id);fA&&(fA.parentNode&&fA.parentNode.removeChild(fA),this.descElements.delete(R.id))}if(H===i.SemanticRole.text){var X=(P=T.querySelector(":scope > span"))!==null&&P!==void 0?P:T,sA=(j=R.label)!==null&&j!==void 0?j:"";X.textContent!==sA&&(X.textContent=sA),w(T,"aria-label"),R.headingLevel>0?(y(T,"role","heading"),y(T,"aria-level",String(R.headingLevel))):w(T,"aria-level")}if((0,i.hasTrait)(Z,i.SemanticTrait.Expandable)&&l.has(H)?I(T,"aria-expanded",(0,i.hasState)(N,i.SemanticState.Expanded)):w(T,"aria-expanded"),H===i.SemanticRole.tab||(0,i.hasTrait)(Z,i.SemanticTrait.Selectable)&&d.has(H)?I(T,"aria-selected",(0,i.hasState)(N,i.SemanticState.Selected)):w(T,"aria-selected"),(0,i.hasTrait)(Z,i.SemanticTrait.Checkable)&&u.has(H)){var DA=(0,i.checkStateOf)(N);DA===i.SemanticCheckState.Mixed&&c.has(H)?y(T,"aria-checked","mixed"):I(T,"aria-checked",DA===i.SemanticCheckState.Checked)}else w(T,"aria-checked");(0,i.hasTrait)(Z,i.SemanticTrait.Toggleable)?(p.has(H)?I(T,"aria-pressed",(0,i.hasState)(N,i.SemanticState.Toggled)):w(T,"aria-pressed"),H===i.SemanticRole.switchControl&&I(T,"aria-checked",(0,i.hasState)(N,i.SemanticState.Toggled))):w(T,"aria-pressed"),(0,i.hasTrait)(Z,i.SemanticTrait.Requirable)&&B.has(H)?I(T,"aria-required",(0,i.hasState)(N,i.SemanticState.Required)):w(T,"aria-required"),(0,i.hasTrait)(Z,i.SemanticTrait.Enablable)?I(T,"aria-disabled",(0,i.hasState)(N,i.SemanticState.Disabled)):w(T,"aria-disabled");var xA=H===i.SemanticRole.image&&!R.label;if((0,i.hasState)(N,i.SemanticState.Hidden)||(0,i.hasState)(N,i.SemanticState.Obscured)||xA?y(T,"aria-hidden","true"):w(T,"aria-hidden"),(0,i.hasState)(N,i.SemanticState.LiveRegion)?y(T,"aria-live","polite"):w(T,"aria-live"),H===i.SemanticRole.textField){if(I(T,"aria-readonly",(0,i.hasState)(N,i.SemanticState.ReadOnly)),I(T,"aria-multiline",(0,i.hasState)(N,i.SemanticState.Multiline)),R.children.length===0){var wA=(K=R.value)!==null&&K!==void 0?K:"";T.textContent!==wA&&(T.textContent=wA)}}else w(T,"aria-multiline");E(H,N)?y(T,"aria-modal","true"):w(T,"aria-modal")},O.prototype.applyPosition=function(T,R,P,j){var K=this._artboardBounds,H=Math.max(R.minX,K.minX),N=Math.max(R.minY,K.minY),Z=Math.min(R.maxX,K.maxX),_=Math.min(R.maxY,K.maxY),q=H-P,$=N-j,vA=Math.max(0,Z-H),fA=Math.max(0,_-N),X=Math.round(q),sA=Math.round($),DA=Math.round(vA)+"px",xA=Math.round(fA)+"px",wA=X+"px",AA=sA+"px";T.style.left!==wA&&(T.style.left=wA),T.style.top!==AA&&(T.style.top=AA),T.style.width!==DA&&(T.style.width=DA),T.style.height!==xA&&(T.style.height=xA),T.style.transform&&(T.style.transform=""),R.role===i.SemanticRole.text&&this.pendingTextGeometry.push(T)},O.prototype.flushTextGeometry=function(){var T;if(this.pendingTextGeometry.length!==0){for(var R=[],P=0,j=this.pendingTextGeometry;P<j.length;P++){var K=j[P],H=(T=K.querySelector(":scope > span"))!==null&&T!==void 0?T:K,N="".concat(K.style.width,"|").concat(K.style.height,"|").concat(H.textContent);this.textGeometryKeys.get(K)!==N&&(H.style.width="auto",H.style.height="auto",H.style.transformOrigin="0 0",H.style.transform="",R.push({host:K,span:H,key:N}))}this.pendingTextGeometry.length=0;for(var Z=R.map(function($){var vA=$.host,fA=$.span,X=vA.getBoundingClientRect(),sA=fA.getBoundingClientRect();if(sA.width>0&&sA.height>0){var DA=X.width/sA.width,xA=X.height/sA.height;return"scale(".concat(DA,", ").concat(xA,")")}return"none"}),_=0;_<R.length;_++){var q=R[_],K=q.host,H=q.span,N=q.key;H.style.transform=Z[_],this.textGeometryKeys.set(K,N)}}},O.prototype.syncTransformContainer=function(T,R,P){if(!this.transformContainer){var j=document.createElement("div");j.style.cssText=["position:absolute","top:0","left:0","overflow:visible","pointer-events:none","transform-origin:0 0"].join(";"),this.container.appendChild(j),this.transformContainer=j}var K=P.maxX-P.minX,H=P.maxY-P.minY;this.transformContainer.style.width=Math.round(K)+"px",this.transformContainer.style.height=Math.round(H)+"px";var N=1/(R||1),Z=T.xx*N,_=T.xy*N,q=T.yx*N,$=T.yy*N,vA=T.tx*N,fA=T.ty*N;this.transformContainer.style.transform="matrix(".concat(Z,",").concat(_,",").concat(q,",").concat($,",").concat(vA,",").concat(fA,")")},O}(),l=new Set([i.SemanticRole.button,i.SemanticRole.link,i.SemanticRole.checkbox,i.SemanticRole.switchControl,i.SemanticRole.tab]),d=new Set([i.SemanticRole.tab]),u=new Set([i.SemanticRole.checkbox,i.SemanticRole.radioButton,i.SemanticRole.switchControl]),c=new Set([i.SemanticRole.checkbox]),p=new Set([i.SemanticRole.button]),B=new Set([i.SemanticRole.checkbox,i.SemanticRole.textField,i.SemanticRole.radioGroup]),v=["position:absolute","width:1px","height:1px","overflow:hidden","pointer-events:none","left:-9999px"].join(";"),Q=["position:absolute","pointer-events:none","box-sizing:border-box","overflow:visible","margin:0","padding:0","transform-origin: 0px 0px 0px","border:none","background:transparent","color:transparent"].join(";"),C=["display:inline-block","white-space:nowrap","pointer-events:none"].join(";");function y(O,T,R){O.getAttribute(T)!==R&&O.setAttribute(T,R)}function w(O,T){O.hasAttribute(T)&&O.removeAttribute(T)}function I(O,T,R){y(O,T,R?"true":"false")}function F(O){switch(O){case i.SemanticRole.button:case i.SemanticRole.link:case i.SemanticRole.checkbox:case i.SemanticRole.switchControl:case i.SemanticRole.tab:case i.SemanticRole.radioButton:return!0;default:return!1}}function G(O){switch(O){case i.SemanticRole.button:case i.SemanticRole.link:case i.SemanticRole.checkbox:case i.SemanticRole.switchControl:case i.SemanticRole.slider:case i.SemanticRole.tab:case i.SemanticRole.radioButton:case i.SemanticRole.textField:return!0;default:return!1}}function E(O,T){return O===i.SemanticRole.alertDialog||O===i.SemanticRole.dialog&&(0,i.hasState)(T,i.SemanticState.Modal)}function D(O){return G(O.role)||(0,i.hasTrait)(O.traitFlags,i.SemanticTrait.Focusable)}function k(O){switch(O){case i.SemanticRole.link:return"a";case i.SemanticRole.text:return"div";default:return"div"}}function U(O){switch(O){case i.SemanticRole.none:return"group";case i.SemanticRole.button:return"button";case i.SemanticRole.link:return null;case i.SemanticRole.checkbox:return"checkbox";case i.SemanticRole.switchControl:return"switch";case i.SemanticRole.slider:return"slider";case i.SemanticRole.textField:return"textbox";case i.SemanticRole.image:return"img";case i.SemanticRole.group:return"group";case i.SemanticRole.list:return"list";case i.SemanticRole.listItem:return"listitem";case i.SemanticRole.tab:return"tab";case i.SemanticRole.tabList:return"tablist";case i.SemanticRole.dialog:return"dialog";case i.SemanticRole.alertDialog:return"alertdialog";case i.SemanticRole.radioGroup:return"radiogroup";case i.SemanticRole.radioButton:return"radio";case i.SemanticRole.text:return null;default:return null}}},(o,a,r)=>{r.r(a),r.d(a,{AudioAssetWrapper:()=>d.AudioAssetWrapper,AudioWrapper:()=>d.AudioWrapper,BLANK_URL:()=>l.BLANK_URL,CustomFileAssetLoaderWrapper:()=>d.CustomFileAssetLoaderWrapper,FileAssetWrapper:()=>d.FileAssetWrapper,FileFinalizer:()=>d.FileFinalizer,FocusSessionState:()=>s.FocusSessionState,FontAssetWrapper:()=>d.FontAssetWrapper,FontWrapper:()=>d.FontWrapper,ImageAssetWrapper:()=>d.ImageAssetWrapper,ImageWrapper:()=>d.ImageWrapper,KeyboardInteractions:()=>s.KeyboardInteractions,RiveFont:()=>u.RiveFont,createFinalization:()=>d.createFinalization,finalizationRegistry:()=>d.finalizationRegistry,registerTouchInteractions:()=>i.registerTouchInteractions,sanitizeUrl:()=>l.sanitizeUrl});var i=r(11),s=r(12),l=r(13),d=r(14),u=r(15)},(o,a,r)=>{r.r(a),r.d(a,{registerTouchInteractions:()=>d});var i=void 0,s=function(u,c,p){var B,v=[];if(c)for(var Q=0;Q<u.length;Q++){var C=u[Q];v.push({clientX:C.clientX,clientY:C.clientY,identifier:C.identifier})}else{var y=p!==null?(B=Array.from(u).find(function(w){return w.identifier===p}))!==null&&B!==void 0?B:null:u[0];y&&v.push({clientX:y.clientX,clientY:y.clientY,identifier:y.identifier})}return v},l=function(u,c,p,B){var v,Q=u;return!((v=Q.changedTouches)===null||v===void 0)&&v.length?(!c&&["touchstart","touchmove"].includes(u.type)&&u.preventDefault(),s(Q.changedTouches,p,B)):[{clientX:u.clientX,clientY:u.clientY,identifier:0}]},d=function(u){var c=u.canvas,p=u.artboard,B=u.stateMachines,v=B===void 0?[]:B,Q=u.renderer,C=u.rive,y=u.fit,w=u.alignment,I=u.isTouchScrollEnabled,F=I===void 0?!1:I,G=u.dispatchPointerExit,E=G===void 0?!0:G,D=u.enableMultiTouch,k=D===void 0?!1:D,U=u.layoutScaleFactor,O=U===void 0?1:U,T=u.advanceAndDrain;if(!c||!v.length||!Q||!C||!p||typeof window>"u")return null;var R=null,P=!1,j=null,K=function(Z){var _;if(P&&Z instanceof MouseEvent){Z.type=="mouseup"&&(P=!1);return}P=F&&Z.type==="touchend"&&R==="touchstart",R=Z.type;var q=Z.currentTarget.getBoundingClientRect();if(!k&&Z.type==="touchstart"&&j===null){var $=(_=Z.changedTouches)===null||_===void 0?void 0:_[0];$&&(j=$.identifier)}var vA=l(Z,F,k,k?null:j),fA=C.computeAlignment(y,w,{minX:0,minY:0,maxX:q.width,maxY:q.height},p.bounds,O),X=new C.Mat2D;switch(fA.invert(X),vA.forEach(function(EA){var pA=EA.clientX,dA=EA.clientY;if(!(!pA&&!dA)){var BA=pA-q.left,IA=dA-q.top,_A=new C.Vec2D(BA,IA),GA=C.mapXY(X,_A),Ae=GA.x(),ee=GA.y();EA.transformedX=Ae,EA.transformedY=ee,GA.delete(),_A.delete()}}),X.delete(),fA.delete(),Z.type){case"mouseout":for(var sA=function(EA){E?vA.forEach(function(pA){EA.pointerExit(pA.transformedX,pA.transformedY,pA.identifier)}):vA.forEach(function(pA){EA.pointerMove(pA.transformedX,pA.transformedY,pA.identifier)})},DA=0,xA=v;DA<xA.length;DA++){var wA=xA[DA];sA(wA)}break;case"touchmove":case"mouseover":case"mousemove":{for(var AA=function(EA){vA.forEach(function(pA){EA.pointerMove(pA.transformedX,pA.transformedY,pA.identifier)})},mA=0,UA=v;mA<UA.length;mA++){var wA=UA[mA];AA(wA)}break}case"touchstart":case"mousedown":{for(var ye=function(EA){vA.forEach(function(pA){EA.pointerDown(pA.transformedX,pA.transformedY,pA.identifier)})},Ye=0,tt=v;Ye<tt.length;Ye++){var wA=tt[Ye];ye(wA)}T(0);break}case"touchend":{for(var qe=function(EA){vA.forEach(function(pA){EA.pointerUp(pA.transformedX,pA.transformedY,pA.identifier),EA.pointerExit(pA.transformedX,pA.transformedY,pA.identifier)})},lA=0,TA=v;lA<TA.length;lA++){var wA=TA[lA];qe(wA)}T(0),!k&&vA.some(function(EA){return EA.identifier===j})&&(j=null);break}case"mouseup":{for(var JA=function(EA){vA.forEach(function(pA){EA.pointerUp(pA.transformedX,pA.transformedY,pA.identifier)})},LA=0,ce=v;LA<ce.length;LA++){var wA=ce[LA];JA(wA)}T(0);break}default:}},H=function(){j=null},N=K.bind(i);return c.addEventListener("mouseover",N),c.addEventListener("mouseout",N),c.addEventListener("mousemove",N),c.addEventListener("mousedown",N),c.addEventListener("mouseup",N),c.addEventListener("touchmove",N,{passive:F}),c.addEventListener("touchstart",N,{passive:F}),c.addEventListener("touchend",N),c.addEventListener("touchcancel",H),function(){c.removeEventListener("mouseover",N),c.removeEventListener("mouseout",N),c.removeEventListener("mousemove",N),c.removeEventListener("mousedown",N),c.removeEventListener("mouseup",N),c.removeEventListener("touchmove",N),c.removeEventListener("touchstart",N),c.removeEventListener("touchend",N),c.removeEventListener("touchcancel",H)}}},(o,a,r)=>{r.r(a),r.d(a,{FocusSessionState:()=>i,KeyboardInteractions:()=>s});var i;(function(l){l.NotFocused="notFocused",l.EntryPending="entryPending",l.RiveFocused="riveFocused"})(i||(i={}));var s=function(){function l(d){var u=d.canvas,c=d.stateMachine,p=d.hasFocusNodes,B=d.getOverlayElement,v=this,Q;this.focusSessionState=i.NotFocused,this.canvasHasFocus=!1,this.focusDomainReleased=!1,this.currentOverlayElement=null,this.onCanvasFocus=function(C){if(v.syncOverlayListener(),v.canvasHasFocus=!0,v.focusDomainReleased=!1,!!v.hasFocusNodes&&!v.mainSm.focusState().hasFocus&&(v.focusSessionState=i.EntryPending,!!v.isKeyboardDrivenFocus())){var y=v.cameFromBeforeCanvas(C.relatedTarget);(y?v.mainSm.focusNext():v.mainSm.focusPrevious())&&(v.focusSessionState=i.RiveFocused)}},this.onCanvasBlur=function(C){v.focusSessionState=i.NotFocused,v.canvasHasFocus=!1;var y=v.isInFocusDomain(C.relatedTarget),w=C.relatedTarget===null&&!document.hasFocus();y||w||v.mainSm.clearFocus()},this.onOverlayFocusIn=function(C){v.isInOverlay(C.target)&&(v.focusDomainReleased=!1,v.hasFocusNodes&&v.focusSessionState===i.NotFocused&&(v.focusSessionState=v.mainSm.focusState().hasFocus?i.RiveFocused:i.EntryPending))},this.onFocusDomainHostFocusIn=function(C){v.syncOverlayListener(),v.onOverlayFocusIn(C)},this.onKeyDown=function(C){if(v.syncOverlayListener(),!v.focusDomainReleased&&v.shouldRiveHandleKeyEvent(C)&&C.code==="Tab"&&v.hasFocusNodes){var y=!C.shiftKey,w=y?v.mainSm.focusNext():v.mainSm.focusPrevious(),I=v.mainSm.focusState();w||I.hasFocus?(v.focusSessionState=i.RiveFocused,C.preventDefault()):(v.focusSessionState=i.NotFocused,v.focusDomainReleased=!0,v.canvasHasFocus=!1),v.syncOverlayListener()}},this.canvas=u,this.mainSm=c,this.hasFocusNodes=p,this.getOverlayElement=B,this.focusDomainHost=(Q=u.parentElement)!==null&&Q!==void 0?Q:document,u.addEventListener("focus",this.onCanvasFocus),u.addEventListener("blur",this.onCanvasBlur),u.addEventListener("keydown",this.onKeyDown),this.focusDomainHost.addEventListener("focusin",this.onFocusDomainHostFocusIn),this.syncOverlayListener()}return l.prototype.setFocusSessionState=function(d){this.focusSessionState=d},l.prototype.notifyRiveFocused=function(){this.focusSessionState=i.RiveFocused},l.prototype.shouldRiveHandleKeyEvent=function(d){if(this.focusSessionState===i.NotFocused)return!1;var u=this.isInFocusDomain(document.activeElement)||this.isInOverlay(d.target),c=d.target===this.canvas;return u||this.canvasHasFocus||c},l.prototype.isInFocusDomain=function(d){return d===this.canvas?!0:this.isInOverlay(d)},l.prototype.isInOverlay=function(d){var u,c,p;return d instanceof Node&&(p=(c=(u=this.getOverlayElement)===null||u===void 0?void 0:u.call(this))===null||c===void 0?void 0:c.contains(d))!==null&&p!==void 0?p:!1},l.prototype.syncOverlayListener=function(){var d,u,c,p,B,v,Q=(u=(d=this.getOverlayElement)===null||d===void 0?void 0:d.call(this))!==null&&u!==void 0?u:null;Q!==this.currentOverlayElement&&((c=this.currentOverlayElement)===null||c===void 0||c.removeEventListener("focusin",this.onOverlayFocusIn),(p=this.currentOverlayElement)===null||p===void 0||p.removeEventListener("keydown",this.onKeyDown,!0),this.currentOverlayElement=Q,(B=this.currentOverlayElement)===null||B===void 0||B.addEventListener("focusin",this.onOverlayFocusIn),(v=this.currentOverlayElement)===null||v===void 0||v.addEventListener("keydown",this.onKeyDown,!0))},l.prototype.isKeyboardDrivenFocus=function(){try{return this.canvas.matches(":focus-visible")}catch{return!1}},l.prototype.cameFromBeforeCanvas=function(d){if(!d)return!0;var u=this.canvas.compareDocumentPosition(d);return u&Node.DOCUMENT_POSITION_PRECEDING?!0:!(u&Node.DOCUMENT_POSITION_FOLLOWING)},l.prototype.cleanup=function(){var d,u;this.canvas.removeEventListener("focus",this.onCanvasFocus),this.canvas.removeEventListener("blur",this.onCanvasBlur),this.canvas.removeEventListener("keydown",this.onKeyDown),this.focusDomainHost.removeEventListener("focusin",this.onFocusDomainHostFocusIn),(d=this.currentOverlayElement)===null||d===void 0||d.removeEventListener("focusin",this.onOverlayFocusIn),(u=this.currentOverlayElement)===null||u===void 0||u.removeEventListener("keydown",this.onKeyDown,!0)},l}()},(o,a,r)=>{r.r(a),r.d(a,{BLANK_URL:()=>p,sanitizeUrl:()=>Q});var i=/^([^\w]*)(javascript|data|vbscript)/im,s=/&#(\w+)(^\w|;)?/g,l=/&(newline|tab);/gi,d=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,u=/^.+(:|:)/gim,c=[".","/"],p="about:blank";function B(C){return c.indexOf(C[0])>-1}function v(C){var y=C.replace(d,"");return y.replace(s,function(w,I){return String.fromCharCode(I)})}function Q(C){if(!C)return p;var y=v(C).replace(l,"").replace(d,"").trim();if(!y)return p;if(B(y))return y;var w=y.match(u);if(!w)return y;var I=w[0];return i.test(I)?p:y}},(o,a,r)=>{r.r(a),r.d(a,{AudioAssetWrapper:()=>C,AudioWrapper:()=>c,CustomFileAssetLoaderWrapper:()=>B,FileAssetWrapper:()=>v,FileFinalizer:()=>s,FontAssetWrapper:()=>y,FontWrapper:()=>p,ImageAssetWrapper:()=>Q,ImageWrapper:()=>u,createFinalization:()=>G,finalizationRegistry:()=>F});var i=function(){var E=function(D,k){return E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(U,O){U.__proto__=O}||function(U,O){for(var T in O)Object.prototype.hasOwnProperty.call(O,T)&&(U[T]=O[T])},E(D,k)};return function(D,k){if(typeof k!="function"&&k!==null)throw new TypeError("Class extends value "+String(k)+" is not a constructor or null");E(D,k);function U(){this.constructor=D}D.prototype=k===null?Object.create(k):(U.prototype=k.prototype,new U)}}(),s=function(){function E(D,k){k===void 0&&(k=null),this.selfUnref=!1,this._file=D,this._session=k}return E.prototype.unref=function(){this._file&&this._file.unref(),this._session&&(this._session.delete(),this._session=null)},E.prototype.release=function(){this._file=null,this._session=null},E}(),l=function(){function E(D){this._finalizableObject=D}return E.prototype.unref=function(){this._finalizableObject.unref()},E}(),d=function(){function E(){this.selfUnref=!1}return E.prototype.unref=function(){},E}(),u=function(E){i(D,E);function D(k){var U=E.call(this)||this;return U._nativeImage=k,U}return Object.defineProperty(D.prototype,"nativeImage",{get:function(){return this._nativeImage},enumerable:!1,configurable:!0}),D.prototype.unref=function(){this.selfUnref&&this._nativeImage.unref()},D}(d),c=function(E){i(D,E);function D(k){var U=E.call(this)||this;return U._nativeAudio=k,U}return Object.defineProperty(D.prototype,"nativeAudio",{get:function(){return this._nativeAudio},enumerable:!1,configurable:!0}),D.prototype.unref=function(){this.selfUnref&&this._nativeAudio.unref()},D}(d),p=function(E){i(D,E);function D(k){var U=E.call(this)||this;return U._nativeFont=k,U}return Object.defineProperty(D.prototype,"nativeFont",{get:function(){return this._nativeFont},enumerable:!1,configurable:!0}),D.prototype.unref=function(){this.selfUnref&&this._nativeFont.unref()},D}(d),B=function(){function E(D,k,U){U===void 0&&(U=null),this._assetLoaderCallback=k,this._session=U,this.assetLoader=new D.CustomFileAssetLoader({loadContents:this.loadContents.bind(this)})}return E.prototype.loadContents=function(D,k){var U;if(D.isImage)U=new Q(D,this._session);else if(D.isAudio)U=new C(D,this._session);else if(D.isFont)U=new y(D,this._session);else return!1;return this._assetLoaderCallback(U,k)},E}(),v=function(){function E(D,k){k===void 0&&(k=null),this._nativeFileAsset=D,this._session=k}return E.prototype.decode=function(D){this._nativeFileAsset.decode(D,this._session)},Object.defineProperty(E.prototype,"name",{get:function(){return this._nativeFileAsset.name},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"fileExtension",{get:function(){return this._nativeFileAsset.fileExtension},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"uniqueFilename",{get:function(){return this._nativeFileAsset.uniqueFilename},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isAudio",{get:function(){return this._nativeFileAsset.isAudio},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isImage",{get:function(){return this._nativeFileAsset.isImage},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"isFont",{get:function(){return this._nativeFileAsset.isFont},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"cdnUuid",{get:function(){return this._nativeFileAsset.cdnUuid},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"nativeFileAsset",{get:function(){return this._nativeFileAsset},enumerable:!1,configurable:!0}),E}(),Q=function(E){i(D,E);function D(){return E!==null&&E.apply(this,arguments)||this}return D.prototype.setRenderImage=function(k){this._nativeFileAsset.setRenderImage(k.nativeImage)},D}(v),C=function(E){i(D,E);function D(){return E!==null&&E.apply(this,arguments)||this}return D.prototype.setAudioSource=function(k){this._nativeFileAsset.setAudioSource(k.nativeAudio)},D}(v),y=function(E){i(D,E);function D(){return E!==null&&E.apply(this,arguments)||this}return D.prototype.setFont=function(k){this._nativeFileAsset.setFont(k.nativeFont)},D}(v),w=function(){function E(D){}return E.prototype.register=function(D){D.selfUnref=!0},E.prototype.unregister=function(D){},E}(),I=typeof FinalizationRegistry<"u"?FinalizationRegistry:w,F=new I(function(E){E?.unref()}),G=function(E,D){var k=new l(D);F.register(E,k)}},(o,a,r)=>{r.r(a),r.d(a,{RiveFont:()=>s});var i=r(3),s=function(){function l(){}return l.setFallbackFontCallback=function(d){l._fallbackFontCallback=d??null,l._wireFallbackProc()},l._fontToPtr=function(d){var u;if(d==null)return null;var c=d.nativeFont,p=(u=c?.ptr)===null||u===void 0?void 0:u.call(c);return p??null},l._getFallbackPtr=function(d,u){return u<0||u>=d.length?null:l._fontToPtr(d[u])},l._wireFallbackProc=function(){i.RuntimeLoader.getInstance(function(d){var u=l._fallbackFontCallback;u?d.setFallbackFontCallback(function(c,p,B){var v=u(c,B);return v?Array.isArray(v)?l._getFallbackPtr(v,p):p===0?l._fontToPtr(v):null:null}):d.setFallbackFontCallback(null)})},l._fallbackFontCallback=null,l}()}],e={};function t(o){var a=e[o];if(a!==void 0)return a.exports;var r=e[o]={exports:{}};return A[o](r,r.exports,t),r.exports}t.d=(o,a)=>{for(var r in a)t.o(a,r)&&!t.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:a[r]})},t.o=(o,a)=>Object.prototype.hasOwnProperty.call(o,a),t.r=o=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})};var n={};return(()=>{t.r(n),t.d(n,{Alignment:()=>Q,DataEnum:()=>ce,DataType:()=>JA,DeprecationKeys:()=>H,DrawOptimizationOptions:()=>C,EventType:()=>O,Fit:()=>v,Layout:()=>y,LoopType:()=>X,Rive:()=>TA,RiveEventType:()=>F,RiveFile:()=>lA,RiveFont:()=>i.RiveFont,RuntimeLoader:()=>a.RuntimeLoader,SemanticMode:()=>r.SemanticMode,StateMachineInput:()=>I,StateMachineInputType:()=>w,Testing:()=>Ee,ViewModel:()=>LA,ViewModelInstance:()=>pA,ViewModelInstanceArtboard:()=>WA,ViewModelInstanceAssetFont:()=>MA,ViewModelInstanceAssetImage:()=>hA,ViewModelInstanceBoolean:()=>_A,ViewModelInstanceColor:()=>tA,ViewModelInstanceEnum:()=>Ae,ViewModelInstanceList:()=>ee,ViewModelInstanceNumber:()=>IA,ViewModelInstanceString:()=>BA,ViewModelInstanceTrigger:()=>GA,ViewModelInstanceValue:()=>dA,decodeAudio:()=>kA,decodeFont:()=>be,decodeImage:()=>Yt});var o=t(1),a=t(3),r=t(6),i=t(10),s=function(){var x=function(g,m){return x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,L){S.__proto__=L}||function(S,L){for(var V in L)Object.prototype.hasOwnProperty.call(L,V)&&(S[V]=L[V])},x(g,m)};return function(g,m){if(typeof m!="function"&&m!==null)throw new TypeError("Class extends value "+String(m)+" is not a constructor or null");x(g,m);function S(){this.constructor=g}g.prototype=m===null?Object.create(m):(S.prototype=m.prototype,new S)}}(),l=function(){return l=Object.assign||function(x){for(var g,m=1,S=arguments.length;m<S;m++){g=arguments[m];for(var L in g)Object.prototype.hasOwnProperty.call(g,L)&&(x[L]=g[L])}return x},l.apply(this,arguments)},d=function(x,g,m,S){function L(V){return V instanceof m?V:new m(function(iA){iA(V)})}return new(m||(m=Promise))(function(V,iA){function eA(VA){try{QA(S.next(VA))}catch(ne){iA(ne)}}function SA(VA){try{QA(S.throw(VA))}catch(ne){iA(ne)}}function QA(VA){VA.done?V(VA.value):L(VA.value).then(eA,SA)}QA((S=S.apply(x,g||[])).next())})},u=function(x,g){var m={label:0,sent:function(){if(V[0]&1)throw V[1];return V[1]},trys:[],ops:[]},S,L,V,iA=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return iA.next=eA(0),iA.throw=eA(1),iA.return=eA(2),typeof Symbol=="function"&&(iA[Symbol.iterator]=function(){return this}),iA;function eA(QA){return function(VA){return SA([QA,VA])}}function SA(QA){if(S)throw new TypeError("Generator is already executing.");for(;iA&&(iA=0,QA[0]&&(m=0)),m;)try{if(S=1,L&&(V=QA[0]&2?L.return:QA[0]?L.throw||((V=L.return)&&V.call(L),0):L.next)&&!(V=V.call(L,QA[1])).done)return V;switch(L=0,V&&(QA=[QA[0]&2,V.value]),QA[0]){case 0:case 1:V=QA;break;case 4:return m.label++,{value:QA[1],done:!1};case 5:m.label++,L=QA[1],QA=[0];continue;case 7:QA=m.ops.pop(),m.trys.pop();continue;default:if(V=m.trys,!(V=V.length>0&&V[V.length-1])&&(QA[0]===6||QA[0]===2)){m=0;continue}if(QA[0]===3&&(!V||QA[1]>V[0]&&QA[1]<V[3])){m.label=QA[1];break}if(QA[0]===6&&m.label<V[1]){m.label=V[1],V=QA;break}if(V&&m.label<V[2]){m.label=V[2],m.ops.push(QA);break}V[2]&&m.ops.pop(),m.trys.pop();continue}QA=g.call(x,m)}catch(VA){QA=[6,VA],L=0}finally{S=V=0}if(QA[0]&5)throw QA[1];return{value:QA[0]?QA[1]:void 0,done:!0}}},c=function(x,g,m){if(m||arguments.length===2)for(var S=0,L=g.length,V;S<L;S++)(V||!(S in g))&&(V||(V=Array.prototype.slice.call(g,0,S)),V[S]=g[S]);return x.concat(V||Array.prototype.slice.call(g))},p=function(x){s(g,x);function g(){var m=x!==null&&x.apply(this,arguments)||this;return m.isHandledError=!0,m}return g}(Error),B=function(x){return x&&x.isHandledError?x.message:"Problem loading file; may be corrupt!"},v;(function(x){x.Cover="cover",x.Contain="contain",x.Fill="fill",x.FitWidth="fitWidth",x.FitHeight="fitHeight",x.None="none",x.ScaleDown="scaleDown",x.Layout="layout"})(v||(v={}));var Q;(function(x){x.Center="center",x.TopLeft="topLeft",x.TopCenter="topCenter",x.TopRight="topRight",x.CenterLeft="centerLeft",x.CenterRight="centerRight",x.BottomLeft="bottomLeft",x.BottomCenter="bottomCenter",x.BottomRight="bottomRight"})(Q||(Q={}));var C;(function(x){x.AlwaysDraw="alwaysDraw",x.DrawOnChanged="drawOnChanged"})(C||(C={}));var y=function(){function x(g){var m,S,L,V,iA,eA,SA;this.fit=(m=g?.fit)!==null&&m!==void 0?m:v.Contain,this.alignment=(S=g?.alignment)!==null&&S!==void 0?S:Q.Center,this.layoutScaleFactor=(L=g?.layoutScaleFactor)!==null&&L!==void 0?L:1,this.minX=(V=g?.minX)!==null&&V!==void 0?V:0,this.minY=(iA=g?.minY)!==null&&iA!==void 0?iA:0,this.maxX=(eA=g?.maxX)!==null&&eA!==void 0?eA:0,this.maxY=(SA=g?.maxY)!==null&&SA!==void 0?SA:0}return x.new=function(g){var m=g.fit,S=g.alignment,L=g.minX,V=g.minY,iA=g.maxX,eA=g.maxY;return $(H.legacyConstructors,"This function is deprecated: please use `new Layout({})` instead"),new x({fit:m,alignment:S,minX:L,minY:V,maxX:iA,maxY:eA})},x.prototype.copyWith=function(g){var m=g.fit,S=g.alignment,L=g.layoutScaleFactor,V=g.minX,iA=g.minY,eA=g.maxX,SA=g.maxY;return new x({fit:m??this.fit,alignment:S??this.alignment,layoutScaleFactor:L??this.layoutScaleFactor,minX:V??this.minX,minY:iA??this.minY,maxX:eA??this.maxX,maxY:SA??this.maxY})},x.prototype.runtimeFit=function(g){if(this.cachedRuntimeFit)return this.cachedRuntimeFit;var m;return this.fit===v.Cover?m=g.Fit.cover:this.fit===v.Contain?m=g.Fit.contain:this.fit===v.Fill?m=g.Fit.fill:this.fit===v.FitWidth?m=g.Fit.fitWidth:this.fit===v.FitHeight?m=g.Fit.fitHeight:this.fit===v.ScaleDown?m=g.Fit.scaleDown:this.fit===v.Layout?m=g.Fit.layout:m=g.Fit.none,this.cachedRuntimeFit=m,m},x.prototype.runtimeAlignment=function(g){if(this.cachedRuntimeAlignment)return this.cachedRuntimeAlignment;var m;return this.alignment===Q.TopLeft?m=g.Alignment.topLeft:this.alignment===Q.TopCenter?m=g.Alignment.topCenter:this.alignment===Q.TopRight?m=g.Alignment.topRight:this.alignment===Q.CenterLeft?m=g.Alignment.centerLeft:this.alignment===Q.CenterRight?m=g.Alignment.centerRight:this.alignment===Q.BottomLeft?m=g.Alignment.bottomLeft:this.alignment===Q.BottomCenter?m=g.Alignment.bottomCenter:this.alignment===Q.BottomRight?m=g.Alignment.bottomRight:m=g.Alignment.center,this.cachedRuntimeAlignment=m,m},x}(),w;(function(x){x[x.Number=56]="Number",x[x.Trigger=58]="Trigger",x[x.Boolean=59]="Boolean"})(w||(w={}));var I=function(){function x(g,m){this.type=g,this.runtimeInput=m}return Object.defineProperty(x.prototype,"name",{get:function(){return this.runtimeInput.name},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"value",{get:function(){return this.runtimeInput.value},set:function(g){this.runtimeInput.value=g},enumerable:!1,configurable:!0}),x.prototype.fire=function(){this.type===w.Trigger&&this.runtimeInput.fire()},x.prototype.delete=function(){this.runtimeInput=null},x}(),F;(function(x){x[x.General=128]="General",x[x.OpenUrl=131]="OpenUrl"})(F||(F={}));var G=function(){function x(g){this.isBindableArtboard=!1,this.isBindableArtboard=g}return x}(),E=function(x){s(g,x);function g(m,S){var L=x.call(this,!1)||this;return L.nativeArtboard=m,L.file=S,L}return g}(G),D=function(x){s(g,x);function g(m){var S=x.call(this,!0)||this;return S.selfUnref=!1,S.nativeArtboard=m,S}return Object.defineProperty(g.prototype,"viewModel",{set:function(m){this.nativeViewModel=m.nativeInstance},enumerable:!1,configurable:!0}),g.prototype.destroy=function(){var m;this.selfUnref&&(this.nativeArtboard.unref(),(m=this.nativeViewModel)===null||m===void 0||m.unref())},g}(G),k=function(){function x(g,m,S,L){this.stateMachine=g,this.playing=S,this.artboard=L,this.inputs=[],this.instance=new m.StateMachineInstance(g,L),this.initInputs(m)}return Object.defineProperty(x.prototype,"hasFocusNodes",{get:function(){return this.instance.hasFocusNodes()},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"name",{get:function(){return this.stateMachine.name},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"statesChanged",{get:function(){for(var g=[],m=0;m<this.instance.stateChangedCount();m++)g.push(this.instance.stateChangedNameByIndex(m));return g},enumerable:!1,configurable:!0}),x.prototype.advance=function(g){this.instance.advance(g)},x.prototype.advanceAndApply=function(g){this.instance.advanceAndApply(g)},x.prototype.enableSemantics=function(){this.instance.enableSemantics()},x.prototype.drainSemanticsDiff=function(){return this.instance.drainSemanticsDiff()},x.prototype.fireSemanticAction=function(g,m){this.instance.fireSemanticAction(g,m)},x.prototype.focusSemanticNode=function(g){return this.instance.focusSemanticNode(g)},x.prototype.reportedEventCount=function(){return this.instance.reportedEventCount()},x.prototype.reportedEventAt=function(g){return this.instance.reportedEventAt(g)},x.prototype.initInputs=function(g){for(var m=0;m<this.instance.inputCount();m++){var S=this.instance.input(m);this.inputs.push(this.mapRuntimeInput(S,g))}},x.prototype.mapRuntimeInput=function(g,m){if(g.type===m.SMIInput.bool)return new I(w.Boolean,g.asBool());if(g.type===m.SMIInput.number)return new I(w.Number,g.asNumber());if(g.type===m.SMIInput.trigger)return new I(w.Trigger,g.asTrigger())},x.prototype.cleanup=function(){this.inputs.forEach(function(g){g.delete()}),this.inputs.length=0,this.instance.delete()},x.prototype.bindViewModelInstance=function(g){g.runtimeInstance!=null&&this.instance.bindViewModelInstance(g.runtimeInstance)},x.prototype.focusState=function(){return this.instance.focusState()},x.prototype.clearFocus=function(){this.instance.clearFocus()},x}(),U=function(){function x(g,m,S,L,V){L===void 0&&(L=[]),V===void 0&&(V=[]),this.runtime=g,this.artboard=m,this.eventManager=S,this.animations=L,this.stateMachines=V}return x.prototype.add=function(g,m,S,L){if(S===void 0&&(S=!0),L===void 0&&(L=!1),g=te(g),g.length===0)this.animations.forEach(function(nt){return nt.playing=m}),this.stateMachines.forEach(function(nt){return nt.playing=m});else for(var V=this.animations.map(function(nt){return nt.name}),iA=this.stateMachines.map(function(nt){return nt.name}),eA=0;eA<g.length;eA++){var SA=V.indexOf(g[eA]),QA=iA.indexOf(g[eA]);if(SA>=0||QA>=0)SA>=0?this.animations[SA].playing=m:this.stateMachines[QA].playing=m;else{var VA=this.artboard.animationByName(g[eA]);if(VA){var ne=new o.Animation(VA,this.artboard,this.runtime,m);ne.advance(0),ne.apply(1),this.animations.push(ne)}else{var Re=this.artboard.stateMachineByName(g[eA]);if(Re){var dt=new k(Re,this.runtime,m,this.artboard);L&&dt.enableSemantics(),this.stateMachines.push(dt)}}}}return S&&(m?this.eventManager.fire({type:O.Play,data:this.playing}):this.eventManager.fire({type:O.Pause,data:this.paused})),m?this.playing:this.paused},x.prototype.initLinearAnimations=function(g,m,S){S===void 0&&(S=!1);for(var L=this.animations.map(function(VA){return VA.name}),V=0;V<g.length;V++){var iA=L.indexOf(g[V]);if(iA>=0)this.animations[iA].playing=m;else{var eA=this.artboard.animationByName(g[V]);if(eA){var SA=new o.Animation(eA,this.artboard,this.runtime,m);SA.advance(0),SA.apply(1),this.animations.push(SA)}else if(S){var QA="State Machine with name ".concat(g[V]," not found");throw new p(QA)}else console.error("Animation with name ".concat(g[V]," not found."))}}},x.prototype.initStateMachines=function(g,m,S){for(var L=this.stateMachines.map(function(QA){return QA.name}),V=0;V<g.length;V++){var iA=L.indexOf(g[V]);if(iA>=0)this.stateMachines[iA].playing=m;else{var eA=this.artboard.stateMachineByName(g[V]);if(eA){var SA=new k(eA,this.runtime,m,this.artboard);S&&SA.enableSemantics(),this.stateMachines.push(SA)}else console.warn("State Machine with name ".concat(g[V]," not found. Falling back to find an animation with the same name.")),this.initLinearAnimations([g[V]],m,!0)}}},x.prototype.play=function(g){return this.add(g,!0)},x.prototype.advanceIfPaused=function(){this.stateMachines.forEach(function(g){g.playing||g.advanceAndApply(0)})},x.prototype.pause=function(g){return this.add(g,!1)},x.prototype.scrub=function(g,m){var S=this.animations.filter(function(L){return g.includes(L.name)});return S.forEach(function(L){return L.scrubTo=m}),S.map(function(L){return L.name})},Object.defineProperty(x.prototype,"playing",{get:function(){return this.animations.filter(function(g){return g.playing}).map(function(g){return g.name}).concat(this.stateMachines.filter(function(g){return g.playing}).map(function(g){return g.name}))},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"paused",{get:function(){return this.animations.filter(function(g){return!g.playing}).map(function(g){return g.name}).concat(this.stateMachines.filter(function(g){return!g.playing}).map(function(g){return g.name}))},enumerable:!1,configurable:!0}),x.prototype.stop=function(g){var m=this;g=te(g);var S=[];if(g.length===0)S=this.animations.map(function(iA){return iA.name}).concat(this.stateMachines.map(function(iA){return iA.name})),this.animations.forEach(function(iA){return iA.cleanup()}),this.stateMachines.forEach(function(iA){return iA.cleanup()}),this.animations.splice(0,this.animations.length),this.stateMachines.splice(0,this.stateMachines.length);else{var L=this.animations.filter(function(iA){return g.includes(iA.name)});L.forEach(function(iA){iA.cleanup(),m.animations.splice(m.animations.indexOf(iA),1)});var V=this.stateMachines.filter(function(iA){return g.includes(iA.name)});V.forEach(function(iA){iA.cleanup(),m.stateMachines.splice(m.stateMachines.indexOf(iA),1)}),S=L.map(function(iA){return iA.name}).concat(V.map(function(iA){return iA.name}))}return this.eventManager.fire({type:O.Stop,data:S}),S},Object.defineProperty(x.prototype,"isPlaying",{get:function(){return this.animations.reduce(function(g,m){return g||m.playing},!1)||this.stateMachines.reduce(function(g,m){return g||m.playing},!1)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isPaused",{get:function(){return!this.isPlaying&&(this.animations.length>0||this.stateMachines.length>0)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isStopped",{get:function(){return this.animations.length===0&&this.stateMachines.length===0},enumerable:!1,configurable:!0}),x.prototype.atLeastOne=function(g,m,S){m===void 0&&(m=!0),S===void 0&&(S=!1);var L;return this.animations.length===0&&this.stateMachines.length===0&&(this.artboard.animationCount()>0?(this.artboard.stateMachineCount()>0&&$(H.defaultStateMachine,"No `stateMachine` was specified, so the artboard's first linear animation is playing by default. In the next major version, the artboard's state machine will be played by default instead when one exists. Pass the `stateMachine` parameter to adopt that behavior now."),this.add([L=this.artboard.animationByIndex(0).name],g,m)):this.artboard.stateMachineCount()>0&&this.add([L=this.artboard.stateMachineByIndex(0).name],g,m,S)),L},x.prototype.handleLooping=function(){for(var g=0,m=this.animations.filter(function(L){return L.playing});g<m.length;g++){var S=m[g];S.loopValue===0&&S.loopCount?(S.loopCount=0,this.stop(S.name)):S.loopValue===1&&S.loopCount?(this.eventManager.fire({type:O.Loop,data:{animation:S.name,type:X.Loop}}),S.loopCount=0):S.loopValue===2&&S.loopCount>1&&(this.eventManager.fire({type:O.Loop,data:{animation:S.name,type:X.PingPong}}),S.loopCount=0)}},x.prototype.handleStateChanges=function(){for(var g=[],m=0,S=this.stateMachines.filter(function(V){return V.playing});m<S.length;m++){var L=S[m];g.push.apply(g,L.statesChanged)}g.length>0&&this.eventManager.fire({type:O.StateChange,data:g})},x.prototype.handleAdvancing=function(g){this.eventManager.fire({type:O.Advance,data:g})},x}(),O;(function(x){x.Load="load",x.LoadError="loaderror",x.Play="play",x.Pause="pause",x.Stop="stop",x.Loop="loop",x.Draw="draw",x.Advance="advance",x.StateChange="statechange",x.RiveEvent="riveevent",x.AudioStatusChange="audiostatuschange"})(O||(O={}));var T="Subscribing to Rive Events at runtime is deprecated and will be removed in a future major version: please use data binding instead. See https://rive.app/docs/runtimes/web/rive-events for how to migrate.",R="State machine inputs are deprecated and will be removed in a future major version: please use data binding properties instead. See https://rive.app/docs/editor/data-binding/migration-guide#state-machine-inputs for how to migrate.",P="Text run APIs are deprecated and will be removed in a future major version: please use data binding instead. See https://rive.app/docs/editor/data-binding/migration-guide#updating-text-runs-at-runtime for how to migrate.",j="Loop events are deprecated and will be removed in a future major version: they are only reported for linear animation playback, which is deprecated. Use a state machine to control playback and data binding to react to changes instead. See https://rive.app/docs/editor/data-binding/migration-guide for how to migrate.",K="Subscribing to state change events at runtime is deprecated and will be removed in a future major version: use data binding (view model property observers) or state machine actions to react to changes from your graphic instead. See https://rive.app/docs/editor/state-machine/states#actions for how to migrate.",H={animationNames:"animation-names",animationsParam:"animations-param",defaultStateMachine:"default-state-machine",legacyConstructors:"legacy-constructors",legacyUnsubscribe:"legacy-unsubscribe",loopEvents:"loop-events",namesArray:"names-array",riveEvents:"rive-events",scrub:"scrub",stateChangeEvents:"state-change-events",stateMachineInputs:"state-machine-inputs",stateMachinesParam:"state-machines-param",textRuns:"text-runs"},N=new Set(Object.keys(H).map(function(x){return H[x]})),Z=new Set,_=function(x){if(Z.clear(),!Array.isArray(x)){console.warn("[Rive] `suppressDeprecationWarnings` expects an array of deprecation ids, "+"received ".concat(typeof x,". Nothing was suppressed."));return}for(var g=0,m=x;g<m.length;g++){var S=m[g];N.has(S)&&Z.add(S)}},q=new Set,$=function(x,g){if(!Z.has(x)){var m="".concat(x,":").concat(g);q.has(m)||(q.add(m),console.warn("[Rive: ".concat(x,"] ").concat(g,`
|
|
28
|
+
`)+'To suppress this warning, set Rive.suppressDeprecationWarnings = ["'.concat(x,'"]')))}},vA=function(x,g){Array.isArray(x)&&$(H.namesArray,"Passing an array of names to `".concat(g,"()` is deprecated: in the next major version this parameter will be a single string, and playing multiple animations or state machines at once will not be supported."))},fA=function(x){$(H.animationNames,"Passing linear animation names to `".concat(x,"()` is deprecated and will be removed in a future major version: ")+"Pass a single state machine name to control playback instead.")},X;(function(x){x.OneShot="oneshot",x.Loop="loop",x.PingPong="pingpong"})(X||(X={}));var sA=function(){function x(g){g===void 0&&(g=[]),this.listeners=g}return x.prototype.getListeners=function(g){return this.listeners.filter(function(m){return m.type===g})},x.prototype.add=function(g){this.listeners.includes(g)||this.listeners.push(g)},x.prototype.remove=function(g){for(var m=0;m<this.listeners.length;m++){var S=this.listeners[m];if(S.type===g.type&&S.callback===g.callback){this.listeners.splice(m,1);break}}},x.prototype.removeAll=function(g){var m=this;g?this.listeners.filter(function(S){return S.type===g}).forEach(function(S){return m.remove(S)}):this.listeners.splice(0,this.listeners.length)},x.prototype.fire=function(g){var m=this.getListeners(g.type);m.forEach(function(S){return S.callback(g)})},x}(),DA=function(){function x(g){this.eventManager=g,this.queue=[]}return x.prototype.add=function(g){this.queue.push(g)},x.prototype.process=function(){for(;this.queue.length>0;){var g=this.queue.shift();g?.action&&g.action(),g?.event&&this.eventManager.fire(g.event)}},x}(),xA;(function(x){x[x.AVAILABLE=0]="AVAILABLE",x[x.UNAVAILABLE=1]="UNAVAILABLE"})(xA||(xA={}));var wA=function(x){s(g,x);function g(){var m=x!==null&&x.apply(this,arguments)||this;return m._started=!1,m._enabled=!1,m._status=xA.UNAVAILABLE,m}return g.prototype.delay=function(m){return d(this,void 0,void 0,function(){return u(this,function(S){return[2,new Promise(function(L){return setTimeout(L,m)})]})})},g.prototype.timeout=function(){return d(this,void 0,void 0,function(){return u(this,function(m){return[2,new Promise(function(S,L){return setTimeout(L,50)})]})})},g.prototype.reportToListeners=function(){this.fire({type:O.AudioStatusChange}),this.removeAll()},g.prototype.enableAudio=function(){return d(this,void 0,void 0,function(){return u(this,function(m){return this._enabled||(this._enabled=!0,this._status=xA.AVAILABLE,this.reportToListeners()),[2]})})},g.prototype.testAudio=function(){return d(this,void 0,void 0,function(){var m;return u(this,function(S){switch(S.label){case 0:if(!(this._status===xA.UNAVAILABLE&&this._audioContext!==null))return[3,4];S.label=1;case 1:return S.trys.push([1,3,,4]),[4,Promise.race([this._audioContext.resume(),this.timeout()])];case 2:return S.sent(),this.enableAudio(),[3,4];case 3:return m=S.sent(),[3,4];case 4:return[2]}})})},g.prototype._establishAudio=function(){return d(this,void 0,void 0,function(){return u(this,function(m){switch(m.label){case 0:return this._started?[3,5]:(this._started=!0,typeof window>"u"?(this.enableAudio(),[3,5]):[3,1]);case 1:this._audioContext=new AudioContext,this.listenForUserAction(),m.label=2;case 2:return this._status!==xA.UNAVAILABLE?[3,5]:[4,this.testAudio()];case 3:return m.sent(),[4,this.delay(1e3)];case 4:return m.sent(),[3,2];case 5:return[2]}})})},g.prototype.listenForUserAction=function(){var m=this,S=function(){return d(m,void 0,void 0,function(){return u(this,function(L){return this.enableAudio(),[2]})})};document.addEventListener("pointerdown",S,{once:!0})},g.prototype.establishAudio=function(){return d(this,void 0,void 0,function(){return u(this,function(m){return this._establishAudio(),[2]})})},Object.defineProperty(g.prototype,"systemVolume",{get:function(){return this._status===xA.UNAVAILABLE?(this.testAudio(),0):1},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"status",{get:function(){return this._status},enumerable:!1,configurable:!0}),g}(sA),AA=new wA,mA=function(){function x(){}return x.prototype.observe=function(){},x.prototype.unobserve=function(){},x.prototype.disconnect=function(){},x}(),UA=globalThis.ResizeObserver||mA,ye=function(){function x(){var g=this;this._elementsMap=new Map,this._onObservedEntry=function(m){var S=g._elementsMap.get(m.target);S!==null?S.onResize(m.target.clientWidth==0||m.target.clientHeight==0):g._resizeObserver.unobserve(m.target)},this._onObserved=function(m){m.forEach(g._onObservedEntry)},this._resizeObserver=new UA(this._onObserved)}return x.prototype.add=function(g,m){var S={onResize:m,element:g};return this._elementsMap.set(g,S),this._resizeObserver.observe(g),S},x.prototype.remove=function(g){this._resizeObserver.unobserve(g.element),this._elementsMap.delete(g.element)},x}(),Ye=new ye,tt=0,qe=function(x){var g=x.stateMachine,m=x.animations,S=x.stateMachines;return m!==void 0&&$(H.animationsParam,"The `animations` parameter is deprecated and will be removed in a future major version: please use the `stateMachine` parameter to play a state machine instead."),S!==void 0&&$(H.stateMachinesParam,"The `stateMachines` parameter is deprecated: please use `stateMachine` with a single state machine name instead."),g?{startingAnimationNames:[],startingStateMachineNames:[g]}:{startingAnimationNames:te(m),startingStateMachineNames:te(S)}},lA=function(){function x(g){this.enableRiveAssetCDN=!0,this.enablePerfMarks=!1,this.referenceCount=0,this.destroyed=!1,this.selfUnref=!1,this.bindableArtboards=[],this.deferred=!1,this.session=null,this._sessionClaimed=!1,this.fileFinalizer=null,this.boundElsewhereWarned=!1,this.src=g.src,this.buffer=g.buffer,this.deferred=!!g.enableGPUCanvas,g.assetLoader&&(this.assetLoader=g.assetLoader),this.enableRiveAssetCDN=typeof g.enableRiveAssetCDN=="boolean"?g.enableRiveAssetCDN:!0,this.enablePerfMarks=!!g.enablePerfMarks,this.enablePerfMarks&&(a.RuntimeLoader.enablePerfMarks=!0),this.eventManager=new sA,g.onLoad&&this.on(O.Load,g.onLoad),g.onLoadError&&this.on(O.LoadError,g.onLoadError)}return x.prototype.releaseFile=function(){var g,m;(g=this.fileFinalizer)===null||g===void 0||g.release(),(m=this.file)===null||m===void 0||m.unref(),this.fileFinalizer=null,this.file=null},x.prototype.releaseSession=function(){var g;(g=this.session)===null||g===void 0||g.delete(),this.session=null},x.prototype.releaseBindableArtboards=function(){this.bindableArtboards.forEach(function(g){return g.destroy()})},x.prototype.initData=function(){return d(this,void 0,void 0,function(){var g,m,S,L,V,iA,eA;return u(this,function(SA){switch(SA.label){case 0:if(!(this.src&&!this.buffer))return[3,4];SA.label=1;case 1:return SA.trys.push([1,3,,4]),g=this,[4,pe(this.src)];case 2:return g.buffer=SA.sent(),[3,4];case 3:throw m=SA.sent(),m instanceof Error?m:new p(x.fileLoadErrorMessage);case 4:if(this.destroyed)return[2];this.deferred&&this.session===null&&(this.session=x.makeDeferredSession(this.runtime)),this.assetLoader&&(L=new i.CustomFileAssetLoaderWrapper(this.runtime,this.assetLoader,this.session),S=L.assetLoader),this.enablePerfMarks&&performance.mark("rive:file-load:start"),SA.label=5;case 5:return SA.trys.push([5,7,,8]),V=this,[4,this.runtime.load(new Uint8Array(this.buffer),S,this.enableRiveAssetCDN,this.session)];case 6:return V.file=SA.sent(),[3,8];case 7:throw iA=SA.sent(),this.releaseSession(),iA;case 8:return this.enablePerfMarks&&(performance.mark("rive:file-load:end"),performance.measure("rive:file-load","rive:file-load:start","rive:file-load:end")),this.destroyed?(this.releaseFile(),this.releaseSession(),[2]):this.file===null?(this.releaseSession(),this.fireLoadError(x.fileLoadErrorMessage),[2]):(eA=new i.FileFinalizer(this.file,this.session),this.fileFinalizer=eA,i.finalizationRegistry.register(this,eA),this.eventManager.fire({type:O.Load,data:this}),[2])}})})},x.prototype.loadRiveFileBytes=function(){return d(this,void 0,void 0,function(){var g;return u(this,function(m){return this.enablePerfMarks&&performance.mark("rive:fetch-riv:start"),g=this.src?pe(this.src):Promise.resolve(this.buffer),this.enablePerfMarks&&this.src&&g.then(function(){performance.mark("rive:fetch-riv:end"),performance.measure("rive:fetch-riv","rive:fetch-riv:start","rive:fetch-riv:end")}),[2,g]})})},x.prototype.loadRuntime=function(){return d(this,void 0,void 0,function(){var g;return u(this,function(m){return this.enablePerfMarks&&performance.mark("rive:await-wasm:start"),g=a.RuntimeLoader.awaitInstance(),this.enablePerfMarks&&g.then(function(){performance.mark("rive:await-wasm:end"),performance.measure("rive:await-wasm","rive:await-wasm:start","rive:await-wasm:end")}),[2,g]})})},x.prototype.init=function(){return d(this,void 0,void 0,function(){var g,m,S,L;return u(this,function(V){switch(V.label){case 0:if(!this.src&&!this.buffer)return this.fireLoadError(x.missingErrorMessage),[2];V.label=1;case 1:return V.trys.push([1,4,,5]),[4,Promise.all([this.loadRiveFileBytes(),this.loadRuntime()])];case 2:return g=V.sent(),m=g[0],S=g[1],this.destroyed?[2]:(this.buffer=m,this.runtime=S,this.enablePerfMarks&&performance.mark("rive:init-data:start"),[4,this.initData()]);case 3:return V.sent(),this.enablePerfMarks&&(performance.mark("rive:init-data:end"),performance.measure("rive:init-data","rive:init-data:start","rive:init-data:end")),[3,5];case 4:return L=V.sent(),this.fireLoadError(L instanceof Error?L.message:x.fileLoadErrorMessage),[3,5];case 5:return[2]}})})},x.prototype.fireLoadError=function(g){throw this.eventManager.fire({type:O.LoadError,data:g}),new p(g)},x.prototype.on=function(g,m){this.eventManager.add({type:g,callback:m})},x.prototype.off=function(g,m){this.eventManager.remove({type:g,callback:m})},x.prototype.cleanup=function(){this.referenceCount-=1,this.referenceCount<=0&&(this.removeAllRiveEventListeners(),this.releaseFile(),this.releaseBindableArtboards(),this.releaseSession(),this.destroyed=!0)},x.makeDeferredSession=function(g){var m,S,L=(S=(m=g.makeDeferredSession)===null||m===void 0?void 0:m.call(g))!==null&&S!==void 0?S:null;return L===null&&!x.deferredUnsupportedWarned&&(x.deferredUnsupportedWarned=!0,console.warn("Rive: `enableGPUCanvas: true` was ignored because this runtime build has no GPU Canvas support; importing in immediate mode. Use a @rive-app/webgl2 or @rive-app/canvas build with deferred rendering compiled in.")),L},Object.defineProperty(x.prototype,"deferredSession",{get:function(){return this.session},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"deferredRequested",{get:function(){return this.deferred},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"sessionClaimed",{get:function(){return this._sessionClaimed},enumerable:!1,configurable:!0}),x.prototype.claimSession=function(){this._sessionClaimed=!0},x.prototype.warnBoundElsewhereOnce=function(){this.boundElsewhereWarned||(this.boundElsewhereWarned=!0,console.warn("Rive: this deferred RiveFile is already bound to another Rive instance's canvas, and a deferred session cannot span canvases. Re-importing the file for this instance (an extra parse of the retained buffer, no extra network request)."))},x.prototype.reimport=function(g){return d(this,void 0,void 0,function(){var m;return u(this,function(S){switch(S.label){case 0:return m=new x({buffer:this.buffer,assetLoader:this.assetLoader,enableRiveAssetCDN:this.enableRiveAssetCDN,enablePerfMarks:this.enablePerfMarks,enableGPUCanvas:g}),[4,m.init()];case 1:return S.sent(),[2,m]}})})},x.prototype.removeAllRiveEventListeners=function(g){this.eventManager.removeAll(g)},x.prototype.getInstance=function(){if(this.file!==null)return this.referenceCount+=1,this.file},x.prototype.destroyIfUnused=function(){this.referenceCount<=0&&this.cleanup()},x.prototype.createBindableArtboard=function(g){if(g!=null){var m=new D(g);return(0,i.createFinalization)(m,m.nativeArtboard),this.bindableArtboards.push(m),m}return null},x.prototype.getArtboard=function(g){var m=this.file.artboardByName(g);if(m!=null)return new E(m,this)},x.prototype.getBindableArtboard=function(g){var m=this.file.bindableArtboardByName(g);return this.createBindableArtboard(m)},x.prototype.getDefaultBindableArtboard=function(){var g=this.file.bindableArtboardDefault();return this.createBindableArtboard(g)},x.prototype.internalBindableArtboardFromArtboard=function(g){var m=this.file.internalBindableArtboardFromArtboard(g);return this.createBindableArtboard(m)},x.prototype.viewModelByName=function(g){var m=this.file.viewModelByName(g);return m!==null?new LA(m):null},x.prototype.globalViewModelNames=function(){return this.file.globalViewModelNames()},x.missingErrorMessage="Rive source file or data buffer required",x.fileLoadErrorMessage="The file failed to load",x.deferredUnsupportedWarned=!1,x}(),TA=function(){function x(g){var m=this,S,L,V,iA;this.loaded=!1,this.destroyed=!1,this._observed=null,this.readyForPlaying=!1,this.deferredRenderer=!1,this.ownsRiveFile=!1,this.artboard=null,this.eventCleanup=null,this._keyboardInteractions=null,this.shouldDisableRiveListeners=!1,this.automaticallyHandleEvents=!1,this.dispatchPointerExit=!0,this.enableMultiTouch=!1,this.enableRiveAssetCDN=!0,this.semanticsMode=r.SemanticMode.Disabled,this.semanticsOptions={riveCanvasLabel:"Rive animation"},this._semanticsActive=!1,this._volume=1,this._artboardWidth=void 0,this._artboardHeight=void 0,this._devicePixelRatioUsed=1,this._hasZeroSize=!1,this._needsRedraw=!1,this._currentCanvasWidth=0,this._currentCanvasHeight=0,this._audioEventListener=null,this._boundDraw=null,this._pageVisibilityHandler=null,this._explicitlyStoppedRendering=!1,this._viewModelInstance=null,this._globalViewModelInstances=new Map,this._dataEnums=null,this._tabIndex=null,this._prevHasFocus=!1,this._focusOptions={allowFocusInterrupt:!1},this._semanticTree=null,this._accessibilityOverlay=null,this._overlayTransformDirty=!0,this._instanceId="".concat(tt++),this.drawOptimization=C.DrawOnChanged,this.enablePerfMarks=!1,this.durations=[],this.frameTimes=[],this.frameCount=0,this.isTouchScrollEnabled=!1,this.onCanvasResize=function(eA){var SA=m._hasZeroSize!==eA;m._hasZeroSize=eA,eA?(!m._layout.maxX||!m._layout.maxY)&&m.resizeToCanvas():SA&&m.resizeDrawingSurfaceToCanvas()},this.frameRequestId=null,this.renderSecondTimer=0,this._boundDraw=this.draw.bind(this),typeof document<"u"&&(this._pageVisibilityHandler=this._onPageVisibilityChange.bind(this),document.addEventListener("visibilitychange",this._pageVisibilityHandler)),this.canvas=g.canvas,g.canvas.constructor===HTMLCanvasElement&&(this._observed=Ye.add(this.canvas,this.onCanvasResize)),this._currentCanvasWidth=this.canvas.width,this._currentCanvasHeight=this.canvas.height,this.src=g.src,this.buffer=g.buffer,this.riveFile=g.riveFile,this.layout=(S=g.layout)!==null&&S!==void 0?S:new y,this.shouldDisableRiveListeners=!!g.shouldDisableRiveListeners,this.isTouchScrollEnabled=!!g.isTouchScrollEnabled,g.automaticallyHandleEvents&&$(H.riveEvents,"The `automaticallyHandleEvents` parameter is deprecated. "+T),this.automaticallyHandleEvents=!!g.automaticallyHandleEvents,this.dispatchPointerExit=g.dispatchPointerExit===!1?g.dispatchPointerExit:this.dispatchPointerExit,this.enableMultiTouch=!!g.enableMultiTouch,this.drawOptimization=(L=g.drawingOptions)!==null&&L!==void 0?L:this.drawOptimization,this.enableRiveAssetCDN=g.enableRiveAssetCDN===void 0?!0:g.enableRiveAssetCDN,this.enablePerfMarks=!!g.enablePerfMarks,this.enablePerfMarks&&(a.RuntimeLoader.enablePerfMarks=!0),this._focusOptions=(V=g.focusOptions)!==null&&V!==void 0?V:this._focusOptions,this._tabIndex=(iA=g.tabIndex)!==null&&iA!==void 0?iA:null,this.deferredRenderer=!!g.enableGPUCanvas,this.eventManager=new sA,g.onLoad&&this.on(O.Load,g.onLoad),g.onLoadError&&this.on(O.LoadError,g.onLoadError),g.onPlay&&this.on(O.Play,g.onPlay),g.onPause&&this.on(O.Pause,g.onPause),g.onStop&&this.on(O.Stop,g.onStop),g.onLoop&&this.on(O.Loop,g.onLoop),g.onStateChange&&this.on(O.StateChange,g.onStateChange),g.onAdvance&&this.on(O.Advance,g.onAdvance),g.onload&&!g.onLoad&&this.on(O.Load,g.onload),g.onloaderror&&!g.onLoadError&&this.on(O.LoadError,g.onloaderror),g.onplay&&!g.onPlay&&this.on(O.Play,g.onplay),g.onpause&&!g.onPause&&this.on(O.Pause,g.onpause),g.onstop&&!g.onStop&&this.on(O.Stop,g.onstop),g.onloop&&!g.onLoop&&this.on(O.Loop,g.onloop),g.onstatechange&&!g.onStateChange&&this.on(O.StateChange,g.onstatechange),g.assetLoader&&(this.assetLoader=g.assetLoader),this.taskQueue=new DA(this.eventManager),this.init({src:this.src,buffer:this.buffer,riveFile:this.riveFile,autoplay:g.autoplay,autoBind:g.autoBind,stateMachine:g.stateMachine,animations:g.animations,stateMachines:g.stateMachines,artboard:g.artboard,useOffscreenRenderer:g.useOffscreenRenderer,tabIndex:g.tabIndex,semanticsMode:g.semanticsMode,semanticsOptions:g.semanticsOptions,enableGPUCanvas:this.deferredRenderer})}return Object.defineProperty(x,"suppressDeprecationWarnings",{get:function(){return Object.freeze(Array.from(Z))},set:function(g){_(g)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"viewModelCount",{get:function(){return this.file.viewModelCount()},enumerable:!1,configurable:!0}),x.new=function(g){return $(H.legacyConstructors,"This function is deprecated: please use `new Rive({})` instead"),new x(g)},x.prototype.enableSemantics=function(){this.semanticsMode=r.SemanticMode.Enabled,this.activateSemantics()},x.prototype.activateSemantics=function(){this._semanticsActive||this.semanticsMode===r.SemanticMode.Disabled||(this._semanticsActive=!0,this.syncSemanticsOnStateMachines())},x.prototype.syncSemanticsOnStateMachines=function(){if(!(!this._semanticsActive||!this.animator))for(var g=0,m=this.animator.stateMachines;g<m.length;g++){var S=m[g];S.enableSemantics()}},x.prototype.cleanupSemantics=function(){this._semanticTree=null,this._accessibilityOverlay&&(this._accessibilityOverlay.destroy(),this._accessibilityOverlay=null)},x.prototype.onSystemAudioChanged=function(){this.volume=this._volume},x.prototype.init=function(g){var m=this,S,L,V,iA,eA,SA=g.src,QA=g.buffer,VA=g.riveFile,ne=g.stateMachine,Re=g.animations,dt=g.stateMachines,nt=g.artboard,Mt=g.autoplay,Yn=Mt===void 0?!1:Mt,zt=g.useOffscreenRenderer,Rn=zt===void 0?!1:zt,Vn=g.autoBind,po=Vn===void 0?!1:Vn,mo=g.tabIndex,Mn=g.semanticsMode,yn=g.semanticsOptions,bn=g.enableGPUCanvas;if(!this.destroyed){if(!SA&&!QA&&!VA)throw new p(x.missingErrorMessage);this.artboard&&((L=(S=this.renderer)===null||S===void 0?void 0:S.bindContext)===null||L===void 0||L.call(S),(V=this.animator)===null||V===void 0||V.stop(),this.artboard.delete(),this.artboard=null),this.renderer&&((eA=(iA=this.renderer).detachSession)===null||eA===void 0||eA.call(iA)),this.releaseCurrentRiveFile(!1),this.src=SA,this.buffer=QA,this.riveFile=VA,this.ownsRiveFile=!1,this.deferredRenderer=bn??this.deferredRenderer,this._tabIndex=mo??null,this.semanticsMode=Mn??r.SemanticMode.Disabled,this.semanticsOptions=yn??this.semanticsOptions;var le=qe({stateMachine:ne,animations:Re,stateMachines:dt}),or=le.startingAnimationNames,Zt=le.startingStateMachineNames;this.loaded=!1,this.readyForPlaying=!1,a.RuntimeLoader.awaitInstance().then(function(ea){if(!m.destroyed){m.runtime=ea,m.removeRiveListeners(),m.cleanupSemantics(),m.deleteRiveRenderer(),m.enablePerfMarks&&performance.mark("rive:make-renderer:start");try{if(m.renderer=m.runtime.makeRenderer(m.canvas,Rn),!m.renderer)throw new Error("Renderer is null, cannot render Rive on the canvas.")}catch(ar){throw console.error(ar),new p("Unable to create the renderer, your environment may not support WebGL. Try the @rive-app/canvas runtime as an alternative.")}m.enablePerfMarks&&(performance.mark("rive:make-renderer:end"),performance.measure("rive:make-renderer","rive:make-renderer:start","rive:make-renderer:end")),m.canvas.width||m.canvas.height||m.resizeDrawingSurfaceToCanvas(),m.initData(nt,or,Zt,Yn,po).then(function(ar){if(ar)return m.setupRiveListeners()}).catch(function(ar){console.error(ar)})}}).catch(function(ea){m.eventManager.fire({type:O.LoadError,data:ea.message})})}},x.prototype.setupRiveListeners=function(g){var m=this;if(this.eventCleanup&&this.eventCleanup(),this.cleanupKeyboardInteractions(),!this.shouldDisableRiveListeners){var S=this.animator.stateMachines.filter(function(SA){return SA.playing}),L=S.filter(function(SA){return m.runtime.hasListeners(SA.instance)}).map(function(SA){return SA.instance}),V=this.isTouchScrollEnabled,iA=this.dispatchPointerExit,eA=this.enableMultiTouch;g&&"isTouchScrollEnabled"in g&&(V=g.isTouchScrollEnabled),this.eventCleanup=(0,i.registerTouchInteractions)({canvas:this.canvas,artboard:this.artboard,stateMachines:L,renderer:this.renderer,rive:this.runtime,fit:this._layout.runtimeFit(this.runtime),alignment:this._layout.runtimeAlignment(this.runtime),isTouchScrollEnabled:V,dispatchPointerExit:iA,enableMultiTouch:eA,layoutScaleFactor:this._layout.layoutScaleFactor,advanceAndDrain:this.advanceAndReportChanges.bind(this)}),this.ensureKeyboardInteractions()}},x.prototype.ensureKeyboardInteractions=function(){var g=this;if(!(this._keyboardInteractions||this.shouldDisableRiveListeners||typeof window>"u"||!(this.canvas instanceof HTMLCanvasElement))){var m=this.animator.stateMachines.find(function(L){return L.playing&&L.hasFocusNodes});if(m){var S=this.canvas.tabIndex;(S===-1||isNaN(S))&&(this.canvas.tabIndex=this._tabIndex!==null?this._tabIndex:0),this._keyboardInteractions=new i.KeyboardInteractions({canvas:this.canvas,stateMachine:m.instance,hasFocusNodes:!0,getOverlayElement:function(){var L,V;return(V=(L=g._accessibilityOverlay)===null||L===void 0?void 0:L.getSemanticOverlayContainer())!==null&&V!==void 0?V:null}})}}},x.prototype.cleanupKeyboardInteractions=function(){this._keyboardInteractions&&(this._keyboardInteractions.cleanup(),this._keyboardInteractions=null)},x.prototype.removeRiveListeners=function(){this.eventCleanup&&(this.eventCleanup(),this.eventCleanup=null),this.cleanupKeyboardInteractions()},x.prototype.initializeAudio=function(){var g=this,m;AA.status==xA.UNAVAILABLE&&(this.file.hasAudio||!((m=this.artboard)===null||m===void 0)&&m.hasAudio&&this._audioEventListener===null)&&(this._audioEventListener={type:O.AudioStatusChange,callback:function(){return g.onSystemAudioChanged()}},AA.add(this._audioEventListener),AA.establishAudio())},x.prototype.initArtboardSize=function(){this.artboard&&(this._artboardWidth=this.artboard.width=this._artboardWidth||this.artboard.width,this._artboardHeight=this.artboard.height=this._artboardHeight||this.artboard.height)},x.prototype.initData=function(g,m,S,L,V){return d(this,void 0,void 0,function(){var iA,eA,SA,QA,VA;return u(this,function(ne){switch(ne.label){case 0:return ne.trys.push([0,5,,6]),this.ownsRiveFile=this.riveFile==null,this.ownsRiveFile?(iA=new lA({src:this.src,buffer:this.buffer,enableRiveAssetCDN:this.enableRiveAssetCDN,assetLoader:this.assetLoader,enablePerfMarks:this.enablePerfMarks,enableGPUCanvas:this.deferredRenderer}),this.riveFile=iA,[4,iA.init()]):[3,2];case 1:if(ne.sent(),this.destroyed)return iA.destroyIfUnused(),[2,!1];ne.label=2;case 2:return this.riveFile.deferredSession!==null||this.deferredRenderer?[4,this.resolveDeferredRendering()]:[3,4];case 3:if(ne.sent(),this.destroyed)return this.ownsRiveFile&&((QA=this.riveFile)===null||QA===void 0||QA.destroyIfUnused()),[2,!1];ne.label=4;case 4:this.file=this.riveFile.getInstance(),this.initArtboard(g,m,S,L,V),this.initArtboardSize(),this.initializeAudio(),this.semanticsMode===r.SemanticMode.Enabled?this.activateSemantics():this._semanticsActive&&this.syncSemanticsOnStateMachines();try{this.loaded=!0,this.eventManager.fire({type:O.Load,data:(VA=this.src)!==null&&VA!==void 0?VA:"buffer"})}catch(Re){console.error(Re)}return this.animator.advanceIfPaused(),this.readyForPlaying=!0,this.taskQueue.process(),this.drawFrame(),[2,!0];case 5:return eA=ne.sent(),SA=B(eA),this.eventManager.fire({type:O.LoadError,data:SA}),[2,Promise.reject(SA)];case 6:return[2]}})})},x.prototype.resolveDeferredRendering=function(){return d(this,void 0,void 0,function(){var g,m,S,L,V,iA,eA,SA,QA,VA;return u(this,function(ne){switch(ne.label){case 0:return g=this.riveFile,m=this.ownsRiveFile,S=this.renderer,L=g.deferredSession,L===null?(this.deferredRenderer&&!g.deferredRequested&&console.warn("Rive: `enableGPUCanvas: true` was ignored because this RiveFile was imported without it. The mode is fixed at import: construct the RiveFile with `enableGPUCanvas: true` to opt in."),[2]):(this.deferredRenderer||console.warn("Rive: this RiveFile was imported with `enableGPUCanvas: true`, so this instance renders deferred even though `enableGPUCanvas` is false on the instance. An immediate renderer would drop the file's deferred resources and draw nothing."),V=S?.attachSession,typeof V=="function"?[3,2]:(console.warn("Rive: this renderer cannot replay a deferred session (`useOffscreenRenderer` is not supported with deferred rendering). Re-importing the file in immediate mode for this instance."),[4,g.reimport(!1)]));case 1:return iA=ne.sent(),this.destroyed?(iA.destroyIfUnused(),[2]):(this.riveFile=iA,this.ownsRiveFile=!0,m&&g.destroyIfUnused(),[2]);case 2:return!g.sessionClaimed&&V.call(S,L)?(g.claimSession(),[2]):(g.warnBoundElsewhereOnce(),[4,g.reimport(!0)]);case 3:return eA=ne.sent(),this.destroyed?(eA.destroyIfUnused(),[2]):(this.riveFile=eA,this.ownsRiveFile=!0,SA=eA.deferredSession,SA!==null&&V.call(S,SA)?(eA.claimSession(),[2]):(console.warn("Rive: could not attach the re-imported file's deferred session to this canvas; falling back to immediate rendering for this instance."),(VA=S.detachSession)===null||VA===void 0||VA.call(S),[4,g.reimport(!1)]));case 4:return QA=ne.sent(),eA.destroyIfUnused(),this.destroyed?(QA.destroyIfUnused(),[2]):(this.riveFile=QA,this.ownsRiveFile=!0,m&&g.destroyIfUnused(),[2])}})})},x.prototype.initArtboard=function(g,m,S,L,V){if(this.file){var iA=g?this.file.artboardByName(g):this.file.defaultArtboard();if(!iA)throw new p("Invalid artboard name or no default artboard");this.artboard=iA,iA.volume=this._volume*AA.systemVolume,this.animator=new U(this.runtime,this.artboard,this.eventManager);var eA;if(m.length>0||S.length>0?(eA=m.concat(S),this.animator.initLinearAnimations(m,L),this.animator.initStateMachines(S,L,this._semanticsActive)):eA=[this.animator.atLeastOne(L,!1,this._semanticsActive)],this.taskQueue.add({event:{type:L?O.Play:O.Pause,data:eA}}),V){var SA=this.file.defaultArtboardViewModel(iA);if(SA!==null){var QA=SA.defaultInstance();if(QA!==null){var VA=new pA(QA,null);(0,i.createFinalization)(VA,VA.runtimeInstance),this.setViewModelInstance(VA)}}for(var ne=0,Re=this.file.globalViewModelNames();ne<Re.length;ne++){var dt=Re[ne],nt=this.file.viewModelByName(dt);if(nt!==null){var Mt=new LA(nt).defaultInstance();Mt!==null&&this.setGlobalViewModelInstance(dt,Mt)}}this.bind()}}},x.prototype.drawFrame=function(){var g,m;!((g=document?.timeline)===null||g===void 0)&&g.currentTime?this.loaded&&this.artboard&&!this.frameRequestId&&(this._boundDraw(document.timeline.currentTime),(m=this.runtime)===null||m===void 0||m.resolveAnimationFrame()):this.scheduleRendering()},x.prototype._canvasSizeChanged=function(){var g=!1;return this.canvas&&(this.canvas.width!==this._currentCanvasWidth&&(this._currentCanvasWidth=this.canvas.width,g=!0),this.canvas.height!==this._currentCanvasHeight&&(this._currentCanvasHeight=this.canvas.height,g=!0)),g},x.prototype._deferredWorkPending=function(){var g,m,S;return(S=(m=(g=this.riveFile)===null||g===void 0?void 0:g.deferredSession)===null||m===void 0?void 0:m.recordedThisFrame())!==null&&S!==void 0?S:!1},x.prototype.pollFocusState=function(){var g,m;if(this.ensureKeyboardInteractions(),!this._keyboardInteractions){this._prevHasFocus=!1;return}var S=this.animator.stateMachines.find(function(eA){return eA.playing&&eA.hasFocusNodes});if(!S){this._prevHasFocus=!1;return}if(this.canvas instanceof HTMLCanvasElement){var L=S.focusState().hasFocus;if(L){if(this._keyboardInteractions.notifyRiveFocused(),!this._prevHasFocus){var V=(g=this._accessibilityOverlay)===null||g===void 0?void 0:g.getSemanticOverlayContainer(),iA=document.activeElement===this.canvas||((m=V?.contains(document.activeElement))!==null&&m!==void 0?m:!1);!iA&&this._focusOptions.allowFocusInterrupt&&this.canvas.focus(),this._prevHasFocus=!0}return}this._prevHasFocus=!1,this._keyboardInteractions.focusSessionState===i.FocusSessionState.RiveFocused&&this._keyboardInteractions.setFocusSessionState(i.FocusSessionState.NotFocused)}},x.prototype.advanceAndReportChanges=function(g){for(var m,S,L=this.animator.animations.filter(function(Zt){return Zt.playing||Zt.needsScrub}).sort(function(Zt){return Zt.needsScrub?-1:1}),V=0,iA=L;V<iA.length;V++){var eA=iA[V];eA.advance(g),eA.instance.didLoop&&(eA.loopCount+=1),eA.apply(1)}for(var SA=this.animator.stateMachines.filter(function(Zt){return Zt.playing}),QA=this.enablePerfMarks&&this.frameCount<3?this.frameCount:-1,VA=0,ne=SA;VA<ne.length;VA++){var Re=ne[VA],dt=Re.reportedEventCount();if(dt)for(var nt=0;nt<dt;nt++){var Mt=Re.reportedEventAt(nt);if(Mt)if(Mt.type===F.OpenUrl){if(this.eventManager.fire({type:O.RiveEvent,data:Mt}),this.automaticallyHandleEvents){var Yn=document.createElement("a"),zt=Mt,Rn=zt.url,Vn=zt.target,po=(0,i.sanitizeUrl)(Rn);Rn&&Yn.setAttribute("href",po),Vn&&Yn.setAttribute("target",Vn),po&&po!==i.BLANK_URL&&Yn.click()}}else this.eventManager.fire({type:O.RiveEvent,data:Mt})}if(QA>=0&&performance.mark("rive:sm-advance:start:f".concat(QA)),Re.advanceAndApply(g),QA>=0&&(performance.mark("rive:sm-advance:end:f".concat(QA)),performance.measure("rive:sm-advance:f".concat(QA),"rive:sm-advance:start:f".concat(QA),"rive:sm-advance:end:f".concat(QA))),this._semanticsActive){var mo=Re.drainSemanticsDiff();mo&&(this._semanticTree||(this._semanticTree=new r.SemanticTreeModel),this._semanticTree.applyDiff(mo))}}if(this._semanticsActive&&this._semanticTree&&SA.length>0&&this.canvas instanceof HTMLCanvasElement){if(!this._accessibilityOverlay){var Mn=SA[0];this._accessibilityOverlay=new r.AccessibilityOverlay({canvas:this.canvas,instanceId:this._instanceId,semanticsOptions:this.semanticsOptions,allowFocusInterrupt:this._focusOptions.allowFocusInterrupt,fireAction:function(Zt,ea){Mn.fireSemanticAction(Zt,ea)},requestFocus:function(Zt){return Mn.focusSemanticNode(Zt)},clearFocus:function(){return Mn.instance.clearFocus()}})}var yn=(m=this._accessibilityOverlay)===null||m===void 0?void 0:m.needsUpdate(this._semanticTree);if(yn||this._overlayTransformDirty){var bn=null;if(yn?.layoutChanged||this._overlayTransformDirty){var le=this._layout.runtimeFit(this.runtime),or=this._layout.runtimeAlignment(this.runtime);bn=this.runtime.computeAlignment(le,or,{minX:this._layout.minX,minY:this._layout.minY,maxX:this._layout.maxX,maxY:this._layout.maxY},this.artboard.bounds,this._devicePixelRatioUsed*this._layout.layoutScaleFactor),this._overlayTransformDirty=!1}this._accessibilityOverlay.update(this._semanticTree,bn,this._devicePixelRatioUsed,this.artboard.bounds,yn),bn?.delete()}}this.animator.stateMachines.length==0&&this.artboard.advance(g),this.animator.handleLooping(),this.animator.handleStateChanges(),this.animator.handleAdvancing(g),this.pollFocusState(),(S=this._viewModelInstance)===null||S===void 0||S.handleCallbacks(),this._globalViewModelInstances.forEach(function(Zt){Zt&&Zt.handleCallbacks()})},x.prototype.draw=function(g,m){if(this.frameRequestId=null,!!this.artboard){var S=performance.now(),L=this.enablePerfMarks&&this.frameCount<3?this.frameCount:-1;this.lastRenderTime||(this.lastRenderTime=g),this.renderSecondTimer+=g-this.lastRenderTime,this.renderSecondTimer>5e3&&(this.renderSecondTimer=0,m?.());var V=(g-this.lastRenderTime)/1e3;this.lastRenderTime=g,this.advanceAndReportChanges(V);var iA=this.renderer;this._hasZeroSize||(this.drawOptimization==C.AlwaysDraw||this.artboard.didChange()||this._deferredWorkPending()||this._needsRedraw||this._canvasSizeChanged())&&(iA.clear(),iA.save(),L>=0&&performance.mark("rive:align-renderer:start:f".concat(L)),this.alignRenderer(),L>=0&&(performance.mark("rive:align-renderer:end:f".concat(L)),performance.measure("rive:align-renderer:f".concat(L),"rive:align-renderer:start:f".concat(L),"rive:align-renderer:end:f".concat(L))),L>=0&&performance.mark("rive:artboard-draw:start:f".concat(L)),this.artboard.draw(iA),L>=0&&(performance.mark("rive:artboard-draw:end:f".concat(L)),performance.measure("rive:artboard-draw:f".concat(L),"rive:artboard-draw:start:f".concat(L),"rive:artboard-draw:end:f".concat(L))),iA.restore(),L>=0&&performance.mark("rive:renderer-flush:start:f".concat(L)),iA.flush(),L>=0&&(performance.mark("rive:renderer-flush:end:f".concat(L)),performance.measure("rive:renderer-flush:f".concat(L),"rive:renderer-flush:start:f".concat(L),"rive:renderer-flush:end:f".concat(L))),this._needsRedraw=!1),this.frameCount++;var eA=performance.now();for(this.frameTimes.push(eA),this.durations.push(eA-S);this.frameTimes[0]<=eA-1e3;)this.frameTimes.shift(),this.durations.shift();this.animator.isPlaying?this.scheduleRendering():this.animator.isPaused?this.lastRenderTime=0:this.animator.isStopped&&(this.lastRenderTime=0)}},x.prototype.alignRenderer=function(){var g=this,m=g.renderer,S=g.runtime,L=g._layout,V=g.artboard;m.align(L.runtimeFit(S),L.runtimeAlignment(S),{minX:L.minX,minY:L.minY,maxX:L.maxX,maxY:L.maxY},V.bounds,this._devicePixelRatioUsed*L.layoutScaleFactor)},Object.defineProperty(x.prototype,"fps",{get:function(){return this.durations.length},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"frameTime",{get:function(){return this.durations.length===0?0:(this.durations.reduce(function(g,m){return g+m},0)/this.durations.length).toFixed(4)},enumerable:!1,configurable:!0}),x.prototype.cleanup=function(){var g,m,S,L,V;this.destroyed=!0,this.stopRendering(),(m=(g=this.renderer)===null||g===void 0?void 0:g.bindContext)===null||m===void 0||m.call(g),this.cleanupInstances(),this._observed!==null&&Ye.remove(this._observed),this.removeRiveListeners(),this.renderer&&((L=(S=this.renderer).detachSession)===null||L===void 0||L.call(S)),this.releaseCurrentRiveFile(!0),this.riveFile=null,this.deleteRiveRenderer(),this._audioEventListener!==null&&(AA.remove(this._audioEventListener),this._audioEventListener=null),this._pageVisibilityHandler&&(document.removeEventListener("visibilitychange",this._pageVisibilityHandler),this._pageVisibilityHandler=null),(V=this._viewModelInstance)===null||V===void 0||V.cleanup(),this._viewModelInstance=null,this._globalViewModelInstances.forEach(function(iA){return iA.cleanup()}),this._globalViewModelInstances.clear(),this._dataEnums=null},x.prototype.releaseCurrentRiveFile=function(g){var m,S;this.file?((g||this.ownsRiveFile)&&((m=this.riveFile)===null||m===void 0||m.cleanup()),this.file=null):this.ownsRiveFile&&((S=this.riveFile)===null||S===void 0||S.destroyIfUnused())},x.prototype.deleteRiveRenderer=function(){var g,m;this.renderer&&((m=(g=this.renderer).detachSession)===null||m===void 0||m.call(g),this.renderer.delete()),this.renderer=null},Object.defineProperty(x.prototype,"deferredRendererActive",{get:function(){var g,m,S;return(S=(m=(g=this.renderer)===null||g===void 0?void 0:g.deferredActive)===null||m===void 0?void 0:m.call(g))!==null&&S!==void 0?S:!1},enumerable:!1,configurable:!0}),x.prototype.cleanupInstances=function(){var g;this.eventCleanup!==null&&this.eventCleanup(),this.cleanupKeyboardInteractions(),this.cleanupSemantics(),(g=this.animator)===null||g===void 0||g.stop(),this.artboard&&(this.artboard.delete(),this.artboard=null)},x.prototype.retrieveTextRun=function(g){var m;if(!g){console.warn("No text run name provided");return}if(!this.artboard){console.warn("Tried to access text run, but the Artboard is null");return}var S=this.artboard.textRun(g);if(!S){console.warn("Could not access a text run with name '".concat(g,"' in the '").concat((m=this.artboard)===null||m===void 0?void 0:m.name,"' Artboard. Note that you must rename a text run node in the Rive editor to make it queryable at runtime."));return}return S},x.prototype.getTextRunValue=function(g){$(H.textRuns,P);var m=this.retrieveTextRun(g);return m?m.text:void 0},x.prototype.setTextRunValue=function(g,m){$(H.textRuns,P);var S=this.retrieveTextRun(g);S&&(S.text=m)},x.prototype.warnIfLinearAnimationNames=function(g,m){this.animator&&this.animator.animations.some(function(S){return g.includes(S.name)})&&fA(m)},x.prototype.play=function(g,m){var S=this;vA(g,"play");var L=te(g);if(!this.readyForPlaying){this.taskQueue.add({action:function(){return S.play(g,m)}});return}this.animator.play(L),this.warnIfLinearAnimationNames(L,"play"),this.syncSemanticsOnStateMachines(),this.eventCleanup&&this.eventCleanup(),this.cleanupKeyboardInteractions(),this.setupRiveListeners(),this.startRendering()},x.prototype.pause=function(g){var m=this;vA(g,"pause");var S=te(g);if(!this.readyForPlaying){this.taskQueue.add({action:function(){return m.pause(g)}});return}this.eventCleanup&&this.eventCleanup(),this.cleanupKeyboardInteractions(),this.animator.pause(S),this.warnIfLinearAnimationNames(S,"pause")},x.prototype.scrub=function(g,m){var S=this;$(H.scrub,"`scrub()` is deprecated and will be removed in a future major version: use a state machine to control playback instead.");var L=te(g);if(!this.readyForPlaying){this.taskQueue.add({action:function(){return S.scrub(g,m)}});return}this.animator.scrub(L,m||0),this.drawFrame()},x.prototype.stop=function(g){var m=this;vA(g,"stop");var S=te(g);if(!this.readyForPlaying){this.taskQueue.add({action:function(){return m.stop(g)}});return}this.warnIfLinearAnimationNames(S,"stop"),this.animator&&this.animator.stop(S),this.eventCleanup&&this.eventCleanup(),this.cleanupKeyboardInteractions(),this.cleanupSemantics()},x.prototype.reset=function(g){var m,S,L=g?.artboard,V=qe({stateMachine:g?.stateMachine,animations:g?.animations,stateMachines:g?.stateMachines}),iA=V.startingAnimationNames,eA=V.startingStateMachineNames,SA=(m=g?.autoplay)!==null&&m!==void 0?m:!1,QA=(S=g?.autoBind)!==null&&S!==void 0?S:!1;this.cleanupInstances(),this.initArtboard(L,iA,eA,SA,QA),this.readyForPlaying&&this.taskQueue.process()},x.prototype.load=function(g){if(!g.src&&!g.buffer&&!g.riveFile)throw new p(x.missingErrorMessage);this.stop(),this.init(g)},Object.defineProperty(x.prototype,"layout",{get:function(){return this._layout},set:function(g){this._layout=g,this._overlayTransformDirty=!0,(!g.maxX||!g.maxY)&&this.resizeToCanvas(),this.loaded&&!this.animator.isPlaying&&this.drawFrame()},enumerable:!1,configurable:!0}),x.prototype.resizeToCanvas=function(){this._layout=this.layout.copyWith({minX:0,minY:0,maxX:this.canvas.width,maxY:this.canvas.height}),this._overlayTransformDirty=!0},x.prototype.resizeDrawingSurfaceToCanvas=function(g){if(this.canvas instanceof HTMLCanvasElement&&window){var m=this.canvas.getBoundingClientRect(),S=m.width,L=m.height,V=g||window.devicePixelRatio||1;if(this.devicePixelRatioUsed=V,this.canvas.width=V*S,this.canvas.height=V*L,this._needsRedraw=!0,this.resizeToCanvas(),this.layout.fit===v.Layout&&this.artboard){var iA=this._layout.layoutScaleFactor;this.artboard.width=S/iA,this.artboard.height=L/iA}this.drawFrame()}},Object.defineProperty(x.prototype,"source",{get:function(){return this.src},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"activeArtboard",{get:function(){return this.artboard?this.artboard.name:""},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"semanticTree",{get:function(){return this._semanticTree},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"accessibilityOverlay",{get:function(){return this._accessibilityOverlay},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"animationNames",{get:function(){if(!this.loaded||!this.artboard)return[];for(var g=[],m=0;m<this.artboard.animationCount();m++)g.push(this.artboard.animationByIndex(m).name);return g},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"stateMachineNames",{get:function(){if(!this.loaded||!this.artboard)return[];for(var g=[],m=0;m<this.artboard.stateMachineCount();m++)g.push(this.artboard.stateMachineByIndex(m).name);return g},enumerable:!1,configurable:!0}),x.prototype.stateMachineInputs=function(g){if($(H.stateMachineInputs,R),!!this.loaded){var m=this.animator.stateMachines.find(function(S){return S.name===g});return m?.inputs}},x.prototype.retrieveInputAtPath=function(g,m){if(!g){console.warn("No input name provided for path '".concat(m,"'"));return}if(!this.artboard){console.warn("Tried to access input: '".concat(g,"', at path: '").concat(m,"', but the Artboard is null"));return}var S=this.artboard.inputByPath(g,m);if(!S){console.warn("Could not access an input with name: '".concat(g,"', at path:'").concat(m,"'"));return}return S},x.prototype.setBooleanStateAtPath=function(g,m,S){$(H.stateMachineInputs,R);var L=this.retrieveInputAtPath(g,S);L&&(L.type===w.Boolean?L.asBool().value=m:console.warn("Input with name: '".concat(g,"', at path:'").concat(S,"' is not a boolean")))},x.prototype.setNumberStateAtPath=function(g,m,S){$(H.stateMachineInputs,R);var L=this.retrieveInputAtPath(g,S);L&&(L.type===w.Number?L.asNumber().value=m:console.warn("Input with name: '".concat(g,"', at path:'").concat(S,"' is not a number")))},x.prototype.fireStateAtPath=function(g,m){$(H.stateMachineInputs,R);var S=this.retrieveInputAtPath(g,m);S&&(S.type===w.Trigger?S.asTrigger().fire():console.warn("Input with name: '".concat(g,"', at path:'").concat(m,"' is not a trigger")))},x.prototype.retrieveTextAtPath=function(g,m){if(!g){console.warn("No text name provided for path '".concat(m,"'"));return}if(!m){console.warn("No path provided for text '".concat(g,"'"));return}if(!this.artboard){console.warn("Tried to access text: '".concat(g,"', at path: '").concat(m,"', but the Artboard is null"));return}var S=this.artboard.textByPath(g,m);if(!S){console.warn("Could not access text with name: '".concat(g,"', at path:'").concat(m,"'"));return}return S},x.prototype.getTextRunValueAtPath=function(g,m){$(H.textRuns,P);var S=this.retrieveTextAtPath(g,m);if(!S){console.warn("Could not get text with name: '".concat(g,"', at path:'").concat(m,"'"));return}return S.text},x.prototype.setTextRunValueAtPath=function(g,m,S){$(H.textRuns,P);var L=this.retrieveTextAtPath(g,S);if(!L){console.warn("Could not set text with name: '".concat(g,"', at path:'").concat(S,"'"));return}L.text=m},Object.defineProperty(x.prototype,"playingStateMachineNames",{get:function(){return this.loaded?this.animator.stateMachines.filter(function(g){return g.playing}).map(function(g){return g.name}):[]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"playingAnimationNames",{get:function(){return this.loaded?this.animator.animations.filter(function(g){return g.playing}).map(function(g){return g.name}):[]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"pausedAnimationNames",{get:function(){return this.loaded?this.animator.animations.filter(function(g){return!g.playing}).map(function(g){return g.name}):[]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"pausedStateMachineNames",{get:function(){return this.loaded?this.animator.stateMachines.filter(function(g){return!g.playing}).map(function(g){return g.name}):[]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isPlaying",{get:function(){return this.animator.isPlaying},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isPaused",{get:function(){return this.animator.isPaused},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isStopped",{get:function(){var g,m;return(m=(g=this.animator)===null||g===void 0?void 0:g.isStopped)!==null&&m!==void 0?m:!0},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"bounds",{get:function(){return this.artboard?this.artboard.bounds:void 0},enumerable:!1,configurable:!0}),x.prototype.on=function(g,m){g===O.RiveEvent?$(H.riveEvents,T):g===O.StateChange?$(H.stateChangeEvents,K):g===O.Loop&&$(H.loopEvents,j),this.eventManager.add({type:g,callback:m})},x.prototype.off=function(g,m){this.eventManager.remove({type:g,callback:m})},x.prototype.unsubscribe=function(g,m){$(H.legacyUnsubscribe,"This function is deprecated: please use `off()` instead."),this.off(g,m)},x.prototype.removeAllRiveEventListeners=function(g){this.eventManager.removeAll(g)},x.prototype.unsubscribeAll=function(g){$(H.legacyUnsubscribe,"This function is deprecated: please use `removeAllRiveEventListeners()` instead."),this.removeAllRiveEventListeners(g)},x.prototype.stopRendering=function(){this._explicitlyStoppedRendering=!0,this.loaded&&this.frameRequestId&&(this.runtime.cancelAnimationFrame?this.runtime.cancelAnimationFrame(this.frameRequestId):cancelAnimationFrame(this.frameRequestId),this.frameRequestId=null)},x.prototype.startRendering=function(){this._explicitlyStoppedRendering=!1,this.drawFrame()},x.prototype.scheduleRendering=function(){this.loaded&&this.artboard&&!this.frameRequestId&&(this.runtime.requestAnimationFrame?this.frameRequestId=this.runtime.requestAnimationFrame(this._boundDraw):this.frameRequestId=requestAnimationFrame(this._boundDraw))},x.prototype._onPageVisibilityChange=function(){var g,m;document.hidden?(this.frameRequestId!==null&&(!((g=this.runtime)===null||g===void 0)&&g.cancelAnimationFrame?this.runtime.cancelAnimationFrame(this.frameRequestId):cancelAnimationFrame(this.frameRequestId),this.frameRequestId=null),this.lastRenderTime=0):!((m=this.animator)===null||m===void 0)&&m.isPlaying&&!this._explicitlyStoppedRendering&&this.scheduleRendering()},x.prototype.enableFPSCounter=function(g){this.runtime.enableFPSCounter(g)},x.prototype.disableFPSCounter=function(){this.runtime.disableFPSCounter()},Object.defineProperty(x.prototype,"contents",{get:function(){if(this.loaded){for(var g={artboards:[]},m=0;m<this.file.artboardCount();m++){for(var S=this.file.artboardByIndex(m),L={name:S.name,animations:[],stateMachines:[]},V=0;V<S.animationCount();V++){var iA=S.animationByIndex(V);L.animations.push(iA.name)}for(var eA=0;eA<S.stateMachineCount();eA++){for(var SA=S.stateMachineByIndex(eA),QA=SA.name,VA=new this.runtime.StateMachineInstance(SA,S),ne=[],Re=0;Re<VA.inputCount();Re++){var dt=VA.input(Re);ne.push({name:dt.name,type:dt.type})}L.stateMachines.push({name:QA,inputs:ne})}g.artboards.push(L)}return g}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"volume",{get:function(){return this.artboard&&this.artboard.volume!==this._volume&&(this._volume=this.artboard.volume),this._volume},set:function(g){this._volume=g,this.artboard&&(this.artboard.volume=g*AA.systemVolume)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"artboardWidth",{get:function(){var g;return this.artboard?this.artboard.width:(g=this._artboardWidth)!==null&&g!==void 0?g:0},set:function(g){this._artboardWidth=g,this.artboard&&(this.artboard.width=g)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"artboardHeight",{get:function(){var g;return this.artboard?this.artboard.height:(g=this._artboardHeight)!==null&&g!==void 0?g:0},set:function(g){this._artboardHeight=g,this.artboard&&(this.artboard.height=g)},enumerable:!1,configurable:!0}),x.prototype.resetArtboardSize=function(){this.artboard?(this.artboard.resetArtboardSize(),this._artboardWidth=this.artboard.width,this._artboardHeight=this.artboard.height):(this._artboardWidth=void 0,this._artboardHeight=void 0)},Object.defineProperty(x.prototype,"devicePixelRatioUsed",{get:function(){return this._devicePixelRatioUsed},set:function(g){g!==this._devicePixelRatioUsed&&(this._overlayTransformDirty=!0),this._devicePixelRatioUsed=g},enumerable:!1,configurable:!0}),x.prototype.bindViewModelInstance=function(g){g&&(this.setViewModelInstance(g),this.bind())},x.prototype.setViewModelInstance=function(g){var m,S=g?.runtimeInstance;!this.artboard||this.destroyed||!g||!S||(g.internalIncrementReferenceCount(),(m=this._viewModelInstance)===null||m===void 0||m.cleanup(),this._viewModelInstance=g,this.animator.stateMachines.length>0?this.animator.stateMachines.forEach(function(L){return L.instance.setViewModelInstance(S)}):this.artboard.setViewModelInstance(S))},x.prototype.bind=function(){!this.artboard||this.destroyed||(this.animator.stateMachines.length>0?this.animator.stateMachines.forEach(function(g){return g.instance.bind()}):this.artboard.bind())},Object.defineProperty(x.prototype,"viewModelInstance",{get:function(){return this._viewModelInstance},enumerable:!1,configurable:!0}),x.prototype.setGlobalViewModelInstance=function(g,m){var S,L=m?.runtimeInstance;if(!this.artboard||this.destroyed||!L)return!1;var V=!1;return this.animator.stateMachines.length>0?this.animator.stateMachines.forEach(function(iA){iA.instance.setGlobalViewModelInstance(g,L)&&(V=!0)}):V=this.artboard.setGlobalViewModelInstance(g,L),V&&(m.internalIncrementReferenceCount(),(S=this._globalViewModelInstances.get(g))===null||S===void 0||S.cleanup(),this._globalViewModelInstances.set(g,m)),V},x.prototype.globalViewModelInstance=function(g){var m=this._globalViewModelInstances.get(g);if(m)return m;if(!this.artboard||this.destroyed)return null;var S=this.animator.stateMachines.length>0?this.animator.stateMachines[0].instance.globalViewModelInstance(g):this.artboard.globalViewModelInstance(g);if(S===null)return null;var L=new pA(S,null);return(0,i.createFinalization)(L,S),L.internalIncrementReferenceCount(),this._globalViewModelInstances.set(g,L),L},x.prototype.globalViewModelNames=function(){var g,m;return(m=(g=this.file)===null||g===void 0?void 0:g.globalViewModelNames())!==null&&m!==void 0?m:[]},x.prototype.viewModelByIndex=function(g){var m=this.file.viewModelByIndex(g);return m!==null?new LA(m):null},x.prototype.viewModelByName=function(g){var m;return(m=this.riveFile)===null||m===void 0?void 0:m.viewModelByName(g)},x.prototype.enums=function(){if(this._dataEnums===null){var g=this.file.enums();this._dataEnums=g.map(function(m){return new ce(m)})}return this._dataEnums},x.prototype.defaultViewModel=function(){if(this.artboard){var g=this.file.defaultArtboardViewModel(this.artboard);if(g)return new LA(g)}return null},x.prototype.getArtboard=function(g){var m,S;return(S=(m=this.riveFile)===null||m===void 0?void 0:m.getArtboard(g))!==null&&S!==void 0?S:null},x.prototype.getBindableArtboard=function(g){var m,S;return(S=(m=this.riveFile)===null||m===void 0?void 0:m.getBindableArtboard(g))!==null&&S!==void 0?S:null},x.prototype.getDefaultBindableArtboard=function(){var g,m;return(m=(g=this.riveFile)===null||g===void 0?void 0:g.getDefaultBindableArtboard())!==null&&m!==void 0?m:null},x.prototype.clearFocus=function(){var g=this.animator.stateMachines.filter(function(m){return m.playing&&m.hasFocusNodes});g.forEach(function(m){return m.clearFocus()})},x.missingErrorMessage="Rive source file or data buffer required",x.cleanupErrorMessage="Attempt to use file after calling cleanup.",x}(),JA;(function(x){x.none="none",x.string="string",x.number="number",x.boolean="boolean",x.color="color",x.list="list",x.enumType="enumType",x.trigger="trigger",x.viewModel="viewModel",x.integer="integer",x.listIndex="listIndex",x.image="image",x.artboard="artboard"})(JA||(JA={}));var LA=function(){function x(g){this._viewModel=g}return Object.defineProperty(x.prototype,"instanceCount",{get:function(){return this._viewModel.instanceCount},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"name",{get:function(){return this._viewModel.name},enumerable:!1,configurable:!0}),x.prototype.instanceByIndex=function(g){var m=this._viewModel.instanceByIndex(g);if(m!==null){var S=new pA(m,null);return(0,i.createFinalization)(S,m),S}return null},x.prototype.instanceByName=function(g){var m=this._viewModel.instanceByName(g);if(m!==null){var S=new pA(m,null);return(0,i.createFinalization)(S,m),S}return null},x.prototype.defaultInstance=function(){var g=this._viewModel.defaultInstance();if(g!==null){var m=new pA(g,null);return(0,i.createFinalization)(m,g),m}return null},x.prototype.instance=function(){var g=this._viewModel.instance();if(g!==null){var m=new pA(g,null);return(0,i.createFinalization)(m,g),m}return null},Object.defineProperty(x.prototype,"properties",{get:function(){return this._viewModel.getProperties()},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"instanceNames",{get:function(){return this._viewModel.getInstanceNames()},enumerable:!1,configurable:!0}),x}(),ce=function(){function x(g){this._dataEnum=g}return Object.defineProperty(x.prototype,"name",{get:function(){return this._dataEnum.name},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"values",{get:function(){return this._dataEnum.values},enumerable:!1,configurable:!0}),x}(),EA;(function(x){x.Number="number",x.String="string",x.Boolean="boolean",x.Color="color",x.Trigger="trigger",x.Enum="enum",x.List="list",x.Image="image",x.Font="font",x.Artboard="artboard"})(EA||(EA={}));var pA=function(){function x(g,m){this._parents=[],this._children=[],this._viewModelInstances=new Map,this._propertiesWithCallbacks=[],this._referenceCount=0,this.selfUnref=!1,this._runtimeInstance=g,m!==null&&this._parents.push(m)}return Object.defineProperty(x.prototype,"runtimeInstance",{get:function(){return this._runtimeInstance},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"nativeInstance",{get:function(){return this._runtimeInstance},enumerable:!1,configurable:!0}),x.prototype.handleCallbacks=function(){this._propertiesWithCallbacks.length!==0&&(this._propertiesWithCallbacks.forEach(function(g){g.handleCallbacks()}),this._propertiesWithCallbacks.forEach(function(g){g.clearChanges()})),this._children.forEach(function(g){return g.handleCallbacks()})},x.prototype.addParent=function(g){this._parents.includes(g)||(this._parents.push(g),(this._propertiesWithCallbacks.length>0||this._children.length>0)&&g.addToViewModelCallbacks(this))},x.prototype.removeParent=function(g){var m=this._parents.indexOf(g);if(m!==-1){var S=this._parents[m];S.removeFromViewModelCallbacks(this),this._parents.splice(m,1)}},x.prototype.addToPropertyCallbacks=function(g){var m=this;this._propertiesWithCallbacks.includes(g)||(this._propertiesWithCallbacks.push(g),this._propertiesWithCallbacks.length>0&&this._parents.forEach(function(S){S.addToViewModelCallbacks(m)}))},x.prototype.removeFromPropertyCallbacks=function(g){var m=this;this._propertiesWithCallbacks.includes(g)&&(this._propertiesWithCallbacks=this._propertiesWithCallbacks.filter(function(S){return S!==g}),this._children.length===0&&this._propertiesWithCallbacks.length===0&&this._parents.forEach(function(S){S.removeFromViewModelCallbacks(m)}))},x.prototype.addToViewModelCallbacks=function(g){var m=this;this._children.includes(g)||(this._children.push(g),this._parents.forEach(function(S){S.addToViewModelCallbacks(m)}))},x.prototype.removeFromViewModelCallbacks=function(g){var m=this;this._children.includes(g)&&(this._children=this._children.filter(function(S){return S!==g}),this._children.length===0&&this._propertiesWithCallbacks.length===0&&this._parents.forEach(function(S){S.removeFromViewModelCallbacks(m)}))},x.prototype.clearCallbacks=function(){this._propertiesWithCallbacks.forEach(function(g){g.clearCallbacks()})},x.prototype.propertyFromPath=function(g,m){var S=g.split("/");return this.propertyFromPathSegments(S,0,m)},x.prototype.viewModelFromPathSegments=function(g,m){var S=this.internalViewModelInstance(g[m]);return S!==null?m==g.length-1?S:S.viewModelFromPathSegments(g,m++):null},x.prototype.propertyFromPathSegments=function(g,m,S){var L,V,iA,eA,SA,QA,VA,ne,Re,dt,nt,Mt,Yn,zt,Rn,Vn,po,mo,Mn,yn;if(m<g.length-1){var bn=this.internalViewModelInstance(g[m]);return bn!==null?bn.propertyFromPathSegments(g,m+1,S):null}var le=null;switch(S){case EA.Number:if(le=(V=(L=this._runtimeInstance)===null||L===void 0?void 0:L.number(g[m]))!==null&&V!==void 0?V:null,le!==null)return new IA(le,this);break;case EA.String:if(le=(eA=(iA=this._runtimeInstance)===null||iA===void 0?void 0:iA.string(g[m]))!==null&&eA!==void 0?eA:null,le!==null)return new BA(le,this);break;case EA.Boolean:if(le=(QA=(SA=this._runtimeInstance)===null||SA===void 0?void 0:SA.boolean(g[m]))!==null&&QA!==void 0?QA:null,le!==null)return new _A(le,this);break;case EA.Color:if(le=(ne=(VA=this._runtimeInstance)===null||VA===void 0?void 0:VA.color(g[m]))!==null&&ne!==void 0?ne:null,le!==null)return new tA(le,this);break;case EA.Trigger:if(le=(dt=(Re=this._runtimeInstance)===null||Re===void 0?void 0:Re.trigger(g[m]))!==null&&dt!==void 0?dt:null,le!==null)return new GA(le,this);break;case EA.Enum:if(le=(Mt=(nt=this._runtimeInstance)===null||nt===void 0?void 0:nt.enum(g[m]))!==null&&Mt!==void 0?Mt:null,le!==null)return new Ae(le,this);break;case EA.List:if(le=(zt=(Yn=this._runtimeInstance)===null||Yn===void 0?void 0:Yn.list(g[m]))!==null&&zt!==void 0?zt:null,le!==null)return new ee(le,this);break;case EA.Image:if(le=(Vn=(Rn=this._runtimeInstance)===null||Rn===void 0?void 0:Rn.image(g[m]))!==null&&Vn!==void 0?Vn:null,le!==null)return new hA(le,this);break;case EA.Font:if(le=(mo=(po=this._runtimeInstance)===null||po===void 0?void 0:po.font(g[m]))!==null&&mo!==void 0?mo:null,le!==null)return new MA(le,this);break;case EA.Artboard:if(le=(yn=(Mn=this._runtimeInstance)===null||Mn===void 0?void 0:Mn.artboard(g[m]))!==null&&yn!==void 0?yn:null,le!==null)return new WA(le,this);break}return null},x.prototype.internalViewModelInstance=function(g){var m;if(this._viewModelInstances.has(g))return this._viewModelInstances.get(g);var S=(m=this._runtimeInstance)===null||m===void 0?void 0:m.viewModel(g);if(S!==null){var L=new x(S,this);return(0,i.createFinalization)(L,S),L.internalIncrementReferenceCount(),this._viewModelInstances.set(g,L),L}return null},x.prototype.number=function(g){var m=this.propertyFromPath(g,EA.Number);return m},x.prototype.string=function(g){var m=this.propertyFromPath(g,EA.String);return m},x.prototype.boolean=function(g){var m=this.propertyFromPath(g,EA.Boolean);return m},x.prototype.color=function(g){var m=this.propertyFromPath(g,EA.Color);return m},x.prototype.trigger=function(g){var m=this.propertyFromPath(g,EA.Trigger);return m},x.prototype.enum=function(g){var m=this.propertyFromPath(g,EA.Enum);return m},x.prototype.list=function(g){var m=this.propertyFromPath(g,EA.List);return m},x.prototype.image=function(g){var m=this.propertyFromPath(g,EA.Image);return m},x.prototype.font=function(g){var m=this.propertyFromPath(g,EA.Font);return m},x.prototype.artboard=function(g){var m=this.propertyFromPath(g,EA.Artboard);return m},x.prototype.viewModel=function(g){var m=g.split("/"),S=m.length>1?this.viewModelFromPathSegments(m.slice(0,m.length-1),0):this;return S!=null?S.internalViewModelInstance(m[m.length-1]):null},x.prototype.internalReplaceViewModel=function(g,m){var S;if(m.runtimeInstance!==null){var L=((S=this._runtimeInstance)===null||S===void 0?void 0:S.replaceViewModel(g,m.runtimeInstance))||!1;if(L){m.internalIncrementReferenceCount();var V=this.internalViewModelInstance(g);V!==null&&(V.removeParent(this),this._children.includes(V)&&(this._children=this._children.filter(function(iA){return iA!==V})),V.cleanup()),this._viewModelInstances.set(g,m),m.addParent(this)}return L}return!1},x.prototype.replaceViewModel=function(g,m){var S,L=g.split("/"),V=L.length>1?this.viewModelFromPathSegments(L.slice(0,L.length-1),0):this;return(S=V?.internalReplaceViewModel(L[L.length-1],m))!==null&&S!==void 0?S:!1},x.prototype.incrementReferenceCount=function(){var g;this._referenceCount++,(g=this._runtimeInstance)===null||g===void 0||g.incrementReferenceCount()},x.prototype.decrementReferenceCount=function(){var g;this._referenceCount--,(g=this._runtimeInstance)===null||g===void 0||g.decrementReferenceCount()},Object.defineProperty(x.prototype,"properties",{get:function(){var g;return((g=this._runtimeInstance)===null||g===void 0?void 0:g.getProperties().map(function(m){return l({},m)}))||[]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"viewModelName",{get:function(){var g,m;return(m=(g=this._runtimeInstance)===null||g===void 0?void 0:g.getViewModelName())!==null&&m!==void 0?m:""},enumerable:!1,configurable:!0}),x.prototype.internalIncrementReferenceCount=function(){this._referenceCount++},x.prototype.cleanup=function(){var g=this,m;if(this._referenceCount--,this._referenceCount<=0){this.selfUnref&&((m=this._runtimeInstance)===null||m===void 0||m.unref()),this._runtimeInstance=null,this.clearCallbacks(),this._propertiesWithCallbacks=[],this._viewModelInstances.forEach(function(V){V.cleanup()}),this._viewModelInstances.clear();var S=c([],this._children,!0);this._children.length=0;var L=c([],this._parents,!0);this._parents.length=0,S.forEach(function(V){V.removeParent(g)}),L.forEach(function(V){V.removeFromViewModelCallbacks(g)})}},x}(),dA=function(){function x(g,m){this.callbacks=[],this._viewModelInstanceValue=g,this._parentViewModel=m}return x.prototype.on=function(g){this.callbacks.length===0&&this._viewModelInstanceValue.clearChanges(),this.callbacks.includes(g)||(this.callbacks.push(g),this._parentViewModel.addToPropertyCallbacks(this))},x.prototype.off=function(g){g?this.callbacks=this.callbacks.filter(function(m){return m!==g}):this.callbacks.length=0,this.callbacks.length===0&&this._parentViewModel.removeFromPropertyCallbacks(this)},x.prototype.internalHandleCallback=function(g){},x.prototype.handleCallbacks=function(){var g=this;this._viewModelInstanceValue.hasChanged&&this.callbacks.forEach(function(m){g.internalHandleCallback(m)})},x.prototype.clearChanges=function(){this._viewModelInstanceValue.clearChanges()},x.prototype.clearCallbacks=function(){this.callbacks.length=0},Object.defineProperty(x.prototype,"name",{get:function(){return this._viewModelInstanceValue.name},enumerable:!1,configurable:!0}),x}(),BA=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{get:function(){return this._viewModelInstanceValue.value},set:function(m){this._viewModelInstanceValue.value=m},enumerable:!1,configurable:!0}),g.prototype.internalHandleCallback=function(m){m(this.value)},g}(dA),IA=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{get:function(){return this._viewModelInstanceValue.value},set:function(m){this._viewModelInstanceValue.value=m},enumerable:!1,configurable:!0}),g.prototype.internalHandleCallback=function(m){m(this.value)},g}(dA),_A=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{get:function(){return this._viewModelInstanceValue.value},set:function(m){this._viewModelInstanceValue.value=m},enumerable:!1,configurable:!0}),g.prototype.internalHandleCallback=function(m){m(this.value)},g}(dA),GA=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return g.prototype.trigger=function(){return this._viewModelInstanceValue.trigger()},g.prototype.internalHandleCallback=function(m){m()},g}(dA),Ae=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{get:function(){return this._viewModelInstanceValue.value},set:function(m){this._viewModelInstanceValue.value=m},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"valueIndex",{get:function(){return this._viewModelInstanceValue.valueIndex},set:function(m){this._viewModelInstanceValue.valueIndex=m},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"values",{get:function(){return this._viewModelInstanceValue.values},enumerable:!1,configurable:!0}),g.prototype.internalHandleCallback=function(m){m(this.value)},g}(dA),ee=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"length",{get:function(){return this._viewModelInstanceValue.size},enumerable:!1,configurable:!0}),g.prototype.addInstance=function(m){m.runtimeInstance!=null&&(this._viewModelInstanceValue.addInstance(m.runtimeInstance),m.addParent(this._parentViewModel))},g.prototype.addInstanceAt=function(m,S){return m.runtimeInstance!=null&&this._viewModelInstanceValue.addInstanceAt(m.runtimeInstance,S)?(m.addParent(this._parentViewModel),!0):!1},g.prototype.removeInstance=function(m){m.runtimeInstance!=null&&(this._viewModelInstanceValue.removeInstance(m.runtimeInstance),m.removeParent(this._parentViewModel))},g.prototype.removeInstanceAt=function(m){this._viewModelInstanceValue.removeInstanceAt(m)},g.prototype.instanceAt=function(m){var S=this._viewModelInstanceValue.instanceAt(m);if(S!=null){var L=new pA(S,this._parentViewModel);return(0,i.createFinalization)(L,S),L}return null},g.prototype.swap=function(m,S){this._viewModelInstanceValue.swap(m,S)},g.prototype.internalHandleCallback=function(m){m()},g}(dA),tA=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{get:function(){return this._viewModelInstanceValue.value},set:function(m){this._viewModelInstanceValue.value=m},enumerable:!1,configurable:!0}),g.prototype.rgb=function(m,S,L){this._viewModelInstanceValue.rgb(m,S,L)},g.prototype.rgba=function(m,S,L,V){this._viewModelInstanceValue.argb(V,m,S,L)},g.prototype.argb=function(m,S,L,V){this._viewModelInstanceValue.argb(m,S,L,V)},g.prototype.alpha=function(m){this._viewModelInstanceValue.alpha(m)},g.prototype.opacity=function(m){this._viewModelInstanceValue.alpha(Math.round(Math.max(0,Math.min(1,m))*255))},g.prototype.internalHandleCallback=function(m){m(this.value)},g}(dA),hA=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{set:function(m){var S;this._viewModelInstanceValue.value((S=m?.nativeImage)!==null&&S!==void 0?S:null)},enumerable:!1,configurable:!0}),g.prototype.internalHandleCallback=function(m){m()},g}(dA),MA=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{set:function(m){var S;this._viewModelInstanceValue.value((S=m?.nativeFont)!==null&&S!==void 0?S:null)},enumerable:!1,configurable:!0}),g.prototype.internalHandleCallback=function(m){m()},g}(dA),WA=function(x){s(g,x);function g(m,S){return x.call(this,m,S)||this}return Object.defineProperty(g.prototype,"value",{set:function(m){var S,L,V;m.isBindableArtboard?V=m:V=m.file.internalBindableArtboardFromArtboard(m.nativeArtboard),this._viewModelInstanceValue.value((S=V?.nativeArtboard)!==null&&S!==void 0?S:null),V?.nativeViewModel&&this._viewModelInstanceValue.viewModelInstance((L=V?.nativeViewModel)!==null&&L!==void 0?L:null)},enumerable:!1,configurable:!0}),g.prototype.internalHandleCallback=function(m){m()},g}(dA),pe=function(x){return d(void 0,void 0,void 0,function(){var g,m,S;return u(this,function(L){switch(L.label){case 0:return g=new Request(x),[4,fetch(g)];case 1:if(m=L.sent(),!m.ok)throw new Error("Failed to fetch the Rive file: HTTP ".concat(m.status));return[4,m.arrayBuffer()];case 2:return S=L.sent(),[2,S]}})})},te=function(x){return typeof x=="string"?[x]:x instanceof Array?x:[]},Ee={EventManager:sA,TaskQueueManager:DA},kA=function(x){return d(void 0,void 0,void 0,function(){var g,m,S;return u(this,function(L){switch(L.label){case 0:return g=new Promise(function(V){return a.RuntimeLoader.getInstance(function(iA){iA.decodeAudio(x,V,null)})}),[4,g];case 1:return m=L.sent(),S=new i.AudioWrapper(m),i.finalizationRegistry.register(S,m),[2,S]}})})},Yt=function(x){return d(void 0,void 0,void 0,function(){var g,m,S;return u(this,function(L){switch(L.label){case 0:return g=new Promise(function(V){return a.RuntimeLoader.getInstance(function(iA){iA.decodeImage(x,V,null)})}),[4,g];case 1:return m=L.sent(),S=new i.ImageWrapper(m),i.finalizationRegistry.register(S,m),[2,S]}})})},be=function(x){return d(void 0,void 0,void 0,function(){var g,m,S;return u(this,function(L){switch(L.label){case 0:return g=new Promise(function(V){return a.RuntimeLoader.getInstance(function(iA){iA.decodeFont(x,V,null)})}),[4,g];case 1:return m=L.sent(),S=new i.FontWrapper(m),i.finalizationRegistry.register(S,m),[2,S]}})})}})(),n})())});var Oy=Ue(nh(),1),q4=Ue(XC(),1);var tg=["linear","hold","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInExpo","easeOutExpo","easeInOutExpo","easeOutBack"],TI=["16:9","9:16","1:1"],kI=[24,25,30,48,50,60],YI=["Inter"],RI=["center","topCenter","bottomCenter","centerLeft","centerRight"],OI=["none","wave","stretch","rotate","scramble","warp","verticalMorph","horizontalMorph"],PI=["type","centerOut","leftToRight","rightToLeft"],Ii=["cursor","what","line","collapse","aiAgent","developers"],$C=["canvas","background","typography","text","characters","cursor","brackets","brace","distortion","glow","motion","scenes","export"],Di=(A={})=>({userEditable:A.userEditable??!0,agentEditable:A.agentEditable??!0,...A.unit?{unit:A.unit}:{},...A.step!==void 0?{step:A.step}:{}}),Si=A=>A.split(".")[0],CA=(A,e,t,n,o,a={})=>({path:A,group:Si(A),type:"number",default:e,min:t,max:n,description:o,...Di(a)}),Gr=(A,e,t,n,o,a={})=>({path:A,group:Si(A),type:"integer",default:e,min:t,max:n,description:o,...Di({step:1,...a})}),Le=(A,e,t,n,o=0)=>Gr(A,e,o,t,n,{unit:"frames"}),Qt=(A,e,t,n={})=>({path:A,group:Si(A),type:"boolean",default:e,description:t,...Di(n)}),Ut=(A,e,t,n={})=>({path:A,group:Si(A),type:"color",default:e,description:t,...Di(n)}),en=(A,e,t,n,o={})=>({path:A,group:Si(A),type:"enum",default:e,options:t,description:n,...Di(o)}),Ur=(A,e,t,n,o={})=>({path:A,group:Si(A),type:"text",default:e,maxLength:t,minLength:o.minLength??0,description:n,...Di(o)}),la=(A,e,t)=>({path:A,group:Si(A),type:"easing",default:e,description:t,...Di()}),_t=(A,e,t)=>CA(A,e,0,1,t,{step:.01,unit:"fraction"}),ca=[en("canvas.aspectRatio","16:9",TI,"Canvas shape. Layouts recompose for each shape (normalized positions, safe area, fit width); nothing is stretched or rotated."),Gr("canvas.width",3840,256,7680,"Output width in pixels. Must match the aspect ratio (\xB11%).",{unit:"px"}),Gr("canvas.height",2160,256,7680,"Output height in pixels. Must match the aspect ratio (\xB11%).",{unit:"px"}),en("canvas.fps",60,kI,"Output frame rate. Timing is authored in 60 fps motion frames; a lower rate samples the same motion, it does not slow it down."),Gr("canvas.seed",20260929,0,2147483647,"Seed for every random choice (placeholder glyphs, streak positions). The same config and seed always render the same frames."),CA("canvas.safeArea",.05,0,.3,"Inset on every side, as a fraction of the canvas, that text and frames keep clear of.",{step:.01,unit:"fraction"}),en("canvas.timingMode","speed",["speed","totalFrames"],"Which value sets the overall length. speed: playbackSpeed is set and the total frames follow from it. totalFrames: totalFrames is set and the speed follows from it. Either way every scene, hold and transition scales together."),CA("canvas.playbackSpeed",.6,.25,4,"Overall speed (timingMode speed): every scene, hold and transition together. 1 is the reference GIF's own speed (5.43 s); the default 0.6 plays it slower (9.07 s); 2 plays it in half the time.",{step:.05,unit:"factor"}),Gr("canvas.totalFrames",544,24,36e3,"Overall length in output frames at canvas.fps, for one play-through (timingMode totalFrames). More frames = slower, fewer = faster; the speed this implies must stay within 0.25\u20134.",{unit:"frames"}),Qt("canvas.loop",!1,"Play again from the start after the last frame (live players; a video repeats the timeline loopCount times)."),Gr("canvas.loopCount",1,1,100,"How many times the timeline plays in a rendered video when loop is on."),Ut("background.dark.color","#020415","Base colour of the dark scenes (cursor \u2192 AI Agent?)."),Ut("background.light.color","#ffffff","Base colour of the light scene (the brace mark)."),Qt("background.gradient.enabled",!1,"Lay a linear gradient over the dark base. Off in the reference."),CA("background.gradient.angle",180,0,360,"Gradient direction in degrees (0 = upwards, 90 = to the right).",{unit:"deg"}),Ut("background.gradient.from","#020415","Gradient start colour."),Ut("background.gradient.to","#0a1040","Gradient end colour."),_t("background.gradient.opacity",1,"Gradient opacity over the base."),Qt("background.topGlow.enabled",!0,"The dim radial glow at the top of the dark scenes."),Ut("background.topGlow.color","#080c3b","Top glow core colour (fades to transparent)."),CA("background.topGlow.x",.5,-.5,1.5,"Top glow centre, across the canvas.",{step:.01,unit:"normalized"}),CA("background.topGlow.y",0,-.5,1.5,"Top glow centre, down the canvas.",{step:.01,unit:"normalized"}),CA("background.topGlow.radiusX",.55,0,2,"Top glow horizontal radius, as a fraction of the canvas width.",{step:.01,unit:"normalized"}),CA("background.topGlow.radiusY",.5,0,2,"Top glow vertical radius, as a fraction of the canvas height.",{step:.01,unit:"normalized"}),_t("background.topGlow.intensity",1,"Top glow strength."),Qt("background.bottomGlow.enabled",!0,"The blue radial glow that rises from the bottom edge during the sentence."),Ut("background.bottomGlow.color","#09135b","Bottom glow core colour (fades to transparent)."),CA("background.bottomGlow.x",.5,-.5,1.5,"Bottom glow centre, across the canvas.",{step:.01,unit:"normalized"}),CA("background.bottomGlow.y",1,-.5,1.5,"Bottom glow centre, down the canvas.",{step:.01,unit:"normalized"}),CA("background.bottomGlow.radiusX",.55,0,2,"Bottom glow horizontal radius, as a fraction of the canvas width.",{step:.01,unit:"normalized"}),CA("background.bottomGlow.radiusY",.6,0,2,"Bottom glow vertical radius, as a fraction of the canvas height.",{step:.01,unit:"normalized"}),_t("background.bottomGlow.intensity",1,"Bottom glow strength."),_t("background.vignette.intensity",0,"Darkening towards the corners of the dark scenes. Off in the reference."),Ut("background.vignette.color","#000000","Vignette colour."),Qt("background.streaks.enabled",!0,"Faint vertical streaks in the left and right bands of the dark scenes (from the collapse on)."),Gr("background.streaks.count",8,0,12,"Number of streaks (split between the two bands)."),Ut("background.streaks.color","#000000","Streak colour."),_t("background.streaks.opacity",.18,"Streak opacity."),CA("background.streaks.width",14,1,120,"Streak width.",{unit:"du"}),CA("background.streaks.band",.2,0,.5,"Width of each edge band the streaks are scattered in, as a fraction of the canvas width.",{step:.01,unit:"normalized"}),en("background.streaks.fromScene","collapse",Ii,"The first scene the streaks show in (they stay until the light scene)."),en("typography.fontFamily","Inter",YI,"Typeface. Inter (OFL) is the closest registered match to the reference; the reference font itself cannot be established from a 414-pixel GIF."),CA("typography.sizeScale",1,.2,4,"Multiplies every scene's font size.",{step:.05,unit:"factor"}),en("typography.textTransform","none",["none","uppercase","lowercase"],"Case applied to all copy."),CA("typography.lineHeight",1.2,.8,2,"Line box height in em (vertical centring of the single line).",{step:.05,unit:"em"}),Ut("typography.color.dark","#fefefe","Text colour in the dark scenes."),Ut("typography.color.light","#000000","Text colour in the light scene."),_t("typography.opacity",1,"Opacity of all text."),Ur("text.what","What",40,"The first word, typed on its own after the cursor.",{minLength:1}),Ur("text.line","does it take to build an",80,"Typed after the first word, on the same line. Empty ends the sentence at the first word."),Ur("text.aiAgent","AI Agent?",40,"The display line that tracks in after the collapse.",{minLength:1}),Ur("text.final1","Developers",30,"First word inside the braces, typed.",{minLength:1}),Ur("text.final2","Delays",30,"Second word, added inside the braces. Empty skips it."),Ur("text.final3","Documentation",30,"Third word, added inside the braces. Empty skips it."),Ur("text.ariaLabel","",200,"Accessible description. Empty means it is built from the copy."),Qt("characters.scramble.enabled",!0,"Show a placeholder glyph at the typing head before each character resolves."),Ur("characters.scramble.glyphs","#<@%*!>",32,"Placeholder glyphs, picked with the seed. Printable ASCII, no spaces.",{minLength:1}),Le("characters.scramble.leadFrames",3,24,"How long a placeholder shows before its character resolves."),Le("characters.scramble.changeEveryFrames",2,24,"A placeholder shown longer than this changes glyph this often.",1),_t("characters.scramble.opacity",.8,"Placeholder opacity (the reference's placeholder is blurred; see known differences)."),CA("characters.enter.offsetY",0,-2,2,"Where a newly typed glyph starts, vertically, in em (0 = in place).",{step:.01,unit:"em"}),CA("characters.enter.offsetX",0,-2,2,"Where a newly typed glyph starts, horizontally, in em.",{step:.01,unit:"em"}),CA("characters.enter.scale",1,0,4,"Scale of a newly typed glyph as it appears.",{step:.01,unit:"factor"}),CA("characters.enter.rotation",0,-180,180,"Rotation of a newly typed glyph as it appears.",{unit:"deg"}),_t("characters.enter.opacity",1,"Opacity of a newly typed glyph as it appears."),Le("characters.enter.durationFrames",0,60,"How long a newly typed glyph takes to settle from the values above. 0 = it appears settled (the reference)."),la("characters.enter.easing","easeOutCubic","How a newly typed glyph settles."),Qt("cursor.enabled",!0,"Show the typing cursor."),en("cursor.dark.style","hollow",["hollow","solid"],"Cursor style in the dark scenes (outlined, as in the reference, or filled)."),CA("cursor.dark.width",.105,.005,1,"Dark cursor width.",{step:.005,unit:"em"}),CA("cursor.dark.height",1.1,.1,4,"Dark cursor height.",{step:.01,unit:"em"}),CA("cursor.dark.strokeWidth",.016,.001,.2,"Outline width of the hollow cursor.",{step:.001,unit:"em"}),CA("cursor.dark.cornerRadius",.03,0,.5,"Corner radius of the dark cursor.",{step:.005,unit:"em"}),Ut("cursor.dark.color","#99a2cb","Dark cursor colour."),en("cursor.light.style","solid",["hollow","solid"],"Cursor style in the light scene."),CA("cursor.light.width",.062,.005,1,"Light cursor width.",{step:.005,unit:"em"}),CA("cursor.light.height",1.23,.1,4,"Light cursor height.",{step:.01,unit:"em"}),Ut("cursor.light.color","#000000","Light cursor colour."),CA("cursor.gap",.1,0,2,"Space between the end of the text and the cursor.",{step:.01,unit:"em"}),_t("cursor.opacity",1,"Cursor opacity."),Qt("cursor.glow.enabled",!1,"A soft glow around the cursor. Off in the reference (its glow is the text head glow)."),Ut("cursor.glow.color","#3f57a8","Cursor glow colour."),CA("cursor.glow.radius",.6,0,4,"Cursor glow radius.",{step:.05,unit:"em"}),_t("cursor.glow.intensity",.5,"Cursor glow strength."),Qt("cursor.blink.enabled",!1,"Blink the cursor while it waits. The reference never blinks."),Le("cursor.blink.periodFrames",60,240,"One blink cycle (on then off).",2),Qt("cursor.hideOnComplete",!0,"Hide the cursor once the sentence is fully typed."),Qt("brackets.enabled",!0,"Frame the sentence with square brackets."),Ut("brackets.color","#8b8db9","Bracket colour."),_t("brackets.opacity",1,"Bracket opacity."),CA("brackets.thickness",.28,.01,1,"Stroke thickness.",{step:.01,unit:"em"}),CA("brackets.height",5,.5,20,"Bracket height.",{step:.05,unit:"em"}),CA("brackets.serifLength",.45,0,3,"Length of the short horizontal ends.",{step:.01,unit:"em"}),CA("brackets.padding",1.7,0,10,"Gap between the text and each bracket.",{step:.01,unit:"em"}),en("brackets.enter.mode","slide",["slide","draw","fade"],"How the brackets arrive: slide in from the edges (reference), draw their stroke, or fade."),CA("brackets.enter.distance",.12,0,2,"How far the brackets slide from, as a fraction of the canvas width.",{step:.01,unit:"normalized"}),Le("brackets.enter.durationFrames",14,240,"How long each bracket takes to arrive.",1),Le("brackets.enter.staggerFrames",6,120,"The right bracket starts this long after the left."),la("brackets.enter.easing","easeOutQuad","How the brackets arrive."),Qt("brackets.glow.enabled",!1,"A soft glow behind each bracket. Off in the reference."),Ut("brackets.glow.color","#3f57a8","Bracket glow colour."),_t("brackets.glow.intensity",.5,"Bracket glow strength."),CA("brackets.glow.radius",1.2,0,6,"Bracket glow radius.",{step:.05,unit:"em"}),Qt("brace.enabled",!0,"Wrap the final words in curly braces."),Ut("brace.color","#0b5bf8","Brace colour."),_t("brace.opacity",1,"Brace opacity."),CA("brace.size",1.9,.5,5,"Brace glyph size, relative to the text.",{step:.05,unit:"factor"}),CA("brace.weight",450,100,900,"Brace glyph weight (estimated from the reference's stroke thickness).",{step:10,unit:"weight"}),CA("brace.padding",.1,0,4,"Gap between the text and each brace.",{step:.01,unit:"em"}),CA("brace.offsetY",0,-1,1,"Vertical offset of the braces from the text centre.",{step:.01,unit:"em"}),Le("brace.closingDelayFrames",4,120,"The closing brace appears this long after typing starts, then rides after the typing head."),Le("brace.gapFrames",8,60,"When a word is added, how long the closing brace takes to open the gap.",1),la("brace.gapEasing","easeOutCubic","How the closing brace opens the gap."),Qt("brace.glow.enabled",!1,"A soft glow behind each brace. Off in the reference."),Ut("brace.glow.color","#0b5bf8","Brace glow colour."),_t("brace.glow.intensity",.3,"Brace glow strength."),CA("brace.glow.radius",1,0,6,"Brace glow radius.",{step:.05,unit:"em"}),en("distortion.mode","scramble",OI,'Per-glyph distortion. "scramble" is the reference: placeholder glyphs at the typing head (see characters.scramble). The others move a band of glyphs along the line.'),_t("distortion.amount",1,"Strength of the distortion."),CA("distortion.frequency",1,.1,10,"Bands per line: higher is a tighter band.",{step:.1,unit:"factor"}),CA("distortion.speed",1,-5,5,"Lines per second the band travels (negative runs right to left).",{step:.1,unit:"factor"}),CA("distortion.phase",0,0,1,"Starting position of the band along the line.",{step:.01,unit:"fraction"}),CA("distortion.displacement",.25,-2,2,"Vertical displacement at full strength (wave, warp).",{step:.01,unit:"em"}),CA("distortion.rotation",12,-90,90,"Rotation at full strength (rotate, warp).",{unit:"deg"}),CA("distortion.scaleX",1.4,.1,4,"Horizontal scale at full strength (stretch, horizontalMorph).",{step:.05,unit:"factor"}),CA("distortion.scaleY",1.4,.1,4,"Vertical scale at full strength (stretch, verticalMorph).",{step:.05,unit:"factor"}),_t("distortion.opacity",1,"Glyph opacity at full strength."),Qt("distortion.whileTypingOnly",!0,"Apply only while a line is being typed or tracked in."),Qt("glow.enabled",!0,"The blue radial light that sits on the typing head."),Ut("glow.color","#5a80c9","Head glow core colour (fades to transparent)."),_t("glow.intensity",1,"Head glow strength at rest."),CA("glow.radiusX",1.6,0,6,"Head glow horizontal radius.",{step:.01,unit:"em"}),CA("glow.radiusY",.95,0,6,"Head glow vertical radius.",{step:.01,unit:"em"}),CA("glow.falloff",.5,.05,.95,"Where the glow is half strength, from centre (0) to edge (1).",{step:.01,unit:"fraction"}),CA("glow.offsetX",-.8,-4,4,"Glow centre relative to the typing head.",{step:.01,unit:"em"}),CA("glow.offsetY",0,-4,4,"Glow centre relative to the line centre.",{step:.01,unit:"em"}),Le("glow.fadeOutFrames",40,240,"How long the glow takes to fade once typing pauses."),en("glow.blendMode","screen",["normal","screen","additive"],"How the glow mixes with what is under it."),Qt("motion.reducedMotion",!1,"Reduced motion: no typing, zoom, distortion or placeholders \u2014 each scene shows resolved, and a live player can jump straight to the final mark."),en("motion.anchor","center",RI,"Which point of the text group sits on motion.position."),CA("motion.position.x",.5,0,1,"Where the text group sits, across the safe area.",{step:.01,unit:"normalized"}),CA("motion.position.y",.5,0,1,"Where the text group sits, down the safe area.",{step:.01,unit:"normalized"}),CA("motion.rotation",0,-180,180,"Rotation of the whole text group.",{unit:"deg"}),CA("motion.scale",1,.1,4,"Scale of the whole text group.",{step:.01,unit:"factor"}),Qt("motion.zoom.enabled",!0,"Zoom out as a line grows so it keeps within the fit width."),CA("motion.zoom.fitWidth",.8,.1,1,"The widest a line may get, as a fraction of the safe area's width.",{step:.01,unit:"fraction"}),en("motion.zoom.mode","anticipate",["fit","anticipate"],"fit: zoom out only as far as the text so far needs. anticipate: ease towards the finished line's zoom while typing (the reference), never less zoomed than fit."),Le("motion.zoom.smoothingFrames",6,60,"How far the zoom trails the text (0 = exact)."),CA("motion.zoom.minScale",.05,.01,1,"Never zoom out further than this.",{step:.01,unit:"factor"}),la("motion.driftEasing","linear","How the slow drifts in every hold move."),Le("scenes.cursor.durationFrames",20,600,"Cursor scene length.",1),CA("scenes.cursor.fromScale",2.45,0,20,"Cursor scale at the start; it settles to 1.",{step:.05,unit:"factor"}),Le("scenes.cursor.introFrames",18,600,"How long the cursor takes to settle.",1),la("scenes.cursor.easing","easeOutQuart","How the cursor settles."),Le("scenes.what.durationFrames",32,600,"First-word scene length (typing plus hold).",1),CA("scenes.what.fontSize",323,8,1200,"Font size of the first word (the line zooms out from this).",{unit:"du"}),CA("scenes.what.fontWeight",400,100,900,"Font weight of the sentence.",{step:10,unit:"weight"}),CA("scenes.what.letterSpacing",.045,-.2,1,"Letter spacing of the sentence.",{step:.005,unit:"em"}),CA("scenes.what.cps",17,1,240,"Typing speed, characters per second.",{unit:"cps"}),CA("scenes.what.driftScale",.9,.1,2,"Scale reached by the end of the hold (a slow zoom out).",{step:.01,unit:"factor"}),_t("scenes.what.glowIntensity",1,"Head glow strength in this scene, multiplied by glow.intensity."),Qt("scenes.line.enabled",!0,"Type the rest of the sentence. Off ends the sentence at the first word."),Le("scenes.line.durationFrames",34,600,"Sentence scene length.",1),CA("scenes.line.startCps",66,1,240,"Typing speed at the start of the line, characters per second.",{unit:"cps"}),CA("scenes.line.endCps",40,1,240,"Typing speed by the end of the line (the reference slows as it finishes).",{unit:"cps"}),Le("scenes.line.zoomFrames",34,600,"anticipate zoom: how long the zoom takes to reach the finished line's scale.",1),la("scenes.line.zoomEasing","easeOutCubic","anticipate zoom: how it gets there."),Le("scenes.line.bracketsAtFrame",14,600,"When the brackets start to arrive, from the scene start."),Le("scenes.line.backgroundGlowAtFrame",8,600,"When the background glows start to rise, from the scene start."),Le("scenes.line.backgroundGlowFrames",24,600,"How long the background glows take to rise.",1),_t("scenes.line.glowIntensity",.5,"Head glow strength in this scene, multiplied by glow.intensity."),Qt("scenes.collapse.enabled",!0,"Collapse the framed sentence to a point. Off cuts straight to the next scene."),Le("scenes.collapse.durationFrames",56,600,"Collapse scene length (hold plus collapse).",1),Le("scenes.collapse.holdFrames",28,600,"How long the framed sentence holds before collapsing."),CA("scenes.collapse.holdDriftScale",.875,.1,2,"Scale reached by the end of the hold.",{step:.005,unit:"factor"}),Le("scenes.collapse.collapseFrames",26,600,"How long the collapse takes.",1),la("scenes.collapse.easing","easeInCubic","How the sentence collapses."),CA("scenes.collapse.toScale",0,0,1,"Scale the sentence collapses to.",{step:.01,unit:"factor"}),Qt("scenes.collapse.fade",!0,"Fade out while collapsing."),Qt("scenes.aiAgent.enabled",!0,"Show the display line."),Le("scenes.aiAgent.durationFrames",84,600,"Display-line scene length (track-in plus drift).",1),CA("scenes.aiAgent.fontSize",167,8,1200,"Font size of the display line once settled.",{unit:"du"}),CA("scenes.aiAgent.fontWeight",400,100,900,"Font weight of the display line.",{step:10,unit:"weight"}),CA("scenes.aiAgent.letterSpacing",.03,-.2,1,"Letter spacing once settled.",{step:.005,unit:"em"}),CA("scenes.aiAgent.fromLetterSpacing",.25,-.2,2,"Letter spacing it tracks in from.",{step:.005,unit:"em"}),CA("scenes.aiAgent.fromScale",1.64,.1,10,"Scale it tracks in from.",{step:.01,unit:"factor"}),Le("scenes.aiAgent.trackInFrames",18,600,"How long the track-in takes.",1),la("scenes.aiAgent.easing","easeOutCubic","How the track-in settles."),en("scenes.aiAgent.revealMode","centerOut",PI,"Order the glyphs appear in during the track-in."),Le("scenes.aiAgent.revealFrames",14,600,"How long the reveal takes."),la("scenes.aiAgent.revealEasing","linear","How the reveal spreads."),CA("scenes.aiAgent.revealSoftness",.2,0,1,"Soft edge of the reveal: partially transparent glyphs at its edges.",{step:.01,unit:"fraction"}),CA("scenes.aiAgent.driftScale",.6,.1,2,"Scale reached by the end of the scene.",{step:.01,unit:"factor"}),_t("scenes.aiAgent.dimTo",.75,"Opacity reached by the end of the scene."),Ut("scenes.aiAgent.gradientTop","#e1e3e8","Top colour of the display line's vertical gradient."),Ut("scenes.aiAgent.gradientBottom","#7179ab","Bottom colour of the display line's vertical gradient."),Qt("scenes.developers.enabled",!0,"Show the light scene with the brace mark."),Le("scenes.developers.durationFrames",100,900,"Light scene length.",1),CA("scenes.developers.fontSize",57,8,1200,"Font size of the final words.",{unit:"du"}),CA("scenes.developers.fontWeight",400,100,900,"Font weight of the final words.",{step:10,unit:"weight"}),CA("scenes.developers.letterSpacing",.045,-.2,1,"Letter spacing of the final words.",{step:.005,unit:"em"}),CA("scenes.developers.introFromScale",8.1,.1,20,"Scale the brace mark settles from after the cut.",{step:.05,unit:"factor"}),Le("scenes.developers.introFrames",24,600,"How long the brace mark takes to settle.",1),la("scenes.developers.introEasing","easeOutCubic","How the brace mark settles."),Le("scenes.developers.typingAtFrame",4,600,"When the first word starts typing, from the scene start."),CA("scenes.developers.cps",34,1,240,"Typing speed of the first word, characters per second.",{unit:"cps"}),Le("scenes.developers.word2AtFrame",38,900,"When the second word is added, from the scene start."),Le("scenes.developers.word3AtFrame",62,900,"When the third word is added, from the scene start."),Le("scenes.developers.wordDelayFrames",3,60,"An added word starts resolving this long after the brace starts opening its gap."),Le("scenes.developers.wordFadeFrames",10,120,"How long an added word takes to resolve.",1),Ut("scenes.developers.wordFromColor","#7c8fb3","Colour an added word resolves from."),CA("scenes.developers.driftScale",.92,.1,2,"Scale reached by the end of the scene.",{step:.01,unit:"factor"}),en("export.codec","h264",["h264","h265","prores","vp9"],"Video codec."),en("export.pixelFormat","yuv420p",["yuv420p","yuv422p10le","yuv444p","yuv444p10le"],"Pixel format."),en("export.colorSpace","bt709",["default","bt709","bt2020-ncl"],"Colour space."),Gr("export.crf",12,0,51,"Constant rate factor (lower is higher quality)."),en("export.x264Preset","slow",["ultrafast","veryfast","fast","medium","slow","slower","veryslow"],"x264 speed/size trade-off."),en("export.imageFormat","png",["png","jpeg"],"Intermediate frame format (PNG keeps flat colour clean).")],Yc=new Map(ca.map(A=>[A.path,A]));var ng="replication-2/1",ua=A=>typeof A=="object"&&A!==null&&!Array.isArray(A);function Kn(A,e){let t=A;for(let n of e.split(".")){if(!ua(t))return;t=t[n]}return t}function Rc(A,e,t){let n=e.split("."),o=A;for(let a of n.slice(0,-1))ua(o[a])||(o[a]={}),o=o[a];o[n.at(-1)]=t}var Js=A=>A===void 0?A:JSON.parse(JSON.stringify(A));function og(){let A={schema:ng};for(let e of ca)Rc(A,e.path,Js(e.default));return A}var UI=/^#[0-9a-fA-F]{6}$/,GI=/[\u0000-\u001f\u007f]/;function NI(A,e,t){if(typeof A=="string"){tg.includes(A)||t.push({path:e,message:`${e} must be one of ${tg.join(", ")}, or a cubicBezier / spring object (got "${A}").`});return}if(!ua(A))return void t.push({path:e,message:`${e} must be an easing name or a cubicBezier / spring object.`});let n=(o,a)=>{let r=Object.keys(A).filter(i=>i!=="type"&&!o.includes(i));r.length&&t.push({path:e,message:`${e}: ${r.join(", ")} ${r.length===1?"is":"are"} not part of a ${String(A.type)} easing.`});for(let i of o){let s=A[i],[l,d]=a[i];typeof s!="number"||!Number.isFinite(s)?t.push({path:`${e}.${i}`,message:`${e}.${i} must be a finite number.`}):(s<l||s>d)&&t.push({path:`${e}.${i}`,message:`${e}.${i} must be between ${l} and ${d} (got ${s}).`})}};A.type==="cubicBezier"?n(["x1","y1","x2","y2"],{x1:[0,1],y1:[-2,3],x2:[0,1],y2:[-2,3]}):A.type==="spring"?n(["mass","damping","stiffness","velocity"],{mass:[.1,20],damping:[.1,200],stiffness:[1,1e3],velocity:[-50,50]}):t.push({path:e,message:`${e}.type must be "cubicBezier" or "spring".`})}function LI(A,e,t){let n=A.path;switch(A.type){case"number":case"integer":{if(typeof e!="number"||!Number.isFinite(e))return void t.push({path:n,message:`${n} must be a finite number (got ${JSON.stringify(e)}).`});if(A.type==="integer"&&!Number.isInteger(e))return void t.push({path:n,message:`${n} must be a whole number (got ${e}).`});(e<A.min||e>A.max)&&t.push({path:n,message:`${n} must be between ${A.min} and ${A.max}${A.unit&&!["fraction","factor"].includes(A.unit)?` ${A.unit}`:""} (got ${e}).`});return}case"boolean":typeof e!="boolean"&&t.push({path:n,message:`${n} must be true or false.`});return;case"color":(typeof e!="string"||!UI.test(e))&&t.push({path:n,message:`${n} must be a hex colour in the form #rrggbb (got ${JSON.stringify(e)}).`});return;case"enum":A.options.includes(e)||t.push({path:n,message:`${n} must be one of ${A.options.map(o=>JSON.stringify(o)).join(", ")} (got ${JSON.stringify(e)}).`});return;case"text":{if(typeof e!="string")return void t.push({path:n,message:`${n} must be a string.`});if(GI.test(e))return void t.push({path:n,message:`${n} must be a single line of plain text (no control characters or line breaks).`});e.trim().length<(A.minLength??0)&&t.push({path:n,message:`${n} must not be empty.`}),e.length>A.maxLength&&t.push({path:n,message:`${n} accepts at most ${A.maxLength} characters (got ${e.length}).`}),n==="characters.scramble.glyphs"&&/[^\x21-\x7e]/.test(e)&&t.push({path:n,message:`${n} must be printable ASCII with no spaces.`});return}case"easing":NI(e,n,t)}}var HI={"16:9":16/9,"9:16":9/16,"1:1":1};function zI(A,e){let t=s=>Kn(A,s),n=HI[Kn(A,"canvas.aspectRatio")];if(n&&Number.isFinite(t("canvas.width"))&&Number.isFinite(t("canvas.height"))){let s=t("canvas.width")/t("canvas.height");Math.abs(s/n-1)>.01&&e.push({path:"canvas.width",message:`canvas.width \xD7 canvas.height (${t("canvas.width")} \xD7 ${t("canvas.height")}) does not match canvas.aspectRatio ${String(Kn(A,"canvas.aspectRatio"))}. Set all three together (the portrait, landscape and square presets do).`})}if(Kn(A,"canvas.timingMode")==="totalFrames"){let s=Ii.reduce((d,u)=>{let c=Kn(A,`scenes.${u}.enabled`);return d+(c===!1?0:t(`scenes.${u}.durationFrames`))},0),l=s*t("canvas.fps")/60/t("canvas.totalFrames");if(l<.25||l>4){let d=Math.ceil(s*t("canvas.fps")/60/4),u=Math.floor(s*t("canvas.fps")/60/.25);e.push({path:"canvas.totalFrames",message:`canvas.totalFrames ${t("canvas.totalFrames")} would play at ${l.toFixed(2)}\xD7 speed; with these scenes at ${t("canvas.fps")} fps it must be between ${d} and ${u} frames (0.25\xD7\u20134\xD7).`})}}let o=(s,l)=>{let d=t(`scenes.${s}.durationFrames`);for(let[u,c]of l)Number.isFinite(c)&&Number.isFinite(d)&&c>d&&e.push({path:`scenes.${s}.durationFrames`,message:`scenes.${s}: ${u} ends at frame ${c}, after the scene's ${d} frames. Lengthen the scene or shorten the part.`})};o("cursor",[["the intro (introFrames)",t("scenes.cursor.introFrames")]]),o("line",[["the brackets (bracketsAtFrame + stagger + duration)",t("scenes.line.bracketsAtFrame")+t("brackets.enter.staggerFrames")+t("brackets.enter.durationFrames")],["the background glow (backgroundGlowAtFrame + backgroundGlowFrames)",t("scenes.line.backgroundGlowAtFrame")+t("scenes.line.backgroundGlowFrames")]]),o("collapse",[["the hold and collapse (holdFrames + collapseFrames)",t("scenes.collapse.holdFrames")+t("scenes.collapse.collapseFrames")]]),o("aiAgent",[["the track-in (trackInFrames)",t("scenes.aiAgent.trackInFrames")],["the reveal (revealFrames)",t("scenes.aiAgent.revealFrames")]]),o("developers",[["the intro (introFrames)",t("scenes.developers.introFrames")],["the third word (word3AtFrame + wordDelayFrames + wordFadeFrames)",t("scenes.developers.word3AtFrame")+t("scenes.developers.wordDelayFrames")+t("scenes.developers.wordFadeFrames")]]);let a=t("scenes.developers.typingAtFrame"),r=t("scenes.developers.word2AtFrame"),i=t("scenes.developers.word3AtFrame");r<=a&&e.push({path:"scenes.developers.word2AtFrame",message:`scenes.developers.word2AtFrame (${r}) must come after typingAtFrame (${a}).`}),i<=r&&e.push({path:"scenes.developers.word3AtFrame",message:`scenes.developers.word3AtFrame (${i}) must come after word2AtFrame (${r}).`}),Kn(A,"text.final2")===""&&Kn(A,"text.final3")!==""&&e.push({path:"text.final3",message:"text.final3 needs text.final2: the words are added in order."})}function ZC(A,e=""){let t=[];for(let[n,o]of Object.entries(A)){let a=e?`${e}.${n}`:n;if(!e&&n==="schema"||Yc.get(a))continue;ca.some(s=>s.path.startsWith(`${a}.`))&&ua(o)?t.push(...ZC(o,a)):t.push(a)}return t}function Ws(A){let e=[];if(!ua(A))return{valid:!1,errors:[{path:"",message:"The configuration must be a JSON object."}]};A.schema!==void 0&&A.schema!==ng&&e.push({path:"schema",message:`schema must be "${ng}" (got ${JSON.stringify(A.schema)}).`});for(let n of ZC(A))e.push({path:n,message:`${n} is not a Replication 2 control. Only the values in the schema can be set \u2014 no code, CSS, SVG, HTML or shader of any kind.`});let t=og();for(let n of ca){let o=Kn(A,n.path);if(o===void 0)continue;let a=e.length;LI(n,o,e),e.length===a&&Rc(t,n.path,Js(o))}return e.length||zI(t,e),e.length?{valid:!1,errors:e}:{valid:!0,errors:e,config:t}}var qC=(A,e)=>Object.entries(A).flatMap(([t,n])=>{let o=e?`${e}.${t}`:t;return ua(n)&&!Yc.has(o)?qC(n,o):[[o,n]]});function Av(A,e){let t=Ws(A);if(!t.valid)return{valid:!1,errors:t.errors.map(l=>({...l,message:`(before the patch) ${l.message}`}))};let n;if(Array.isArray(e))n=e;else if(ua(e)&&ua(e.patch)&&Object.keys(e).length===1)n=Object.entries(e.patch).map(([l,d])=>({op:"replace",path:l,value:d}));else return{valid:!1,errors:[{path:"",message:'A patch is a list of { op, path, value } operations, or { "patch": { "<path>": value } }.'}]};let o=Js(t.config),a=[],r=[],i=l=>ca.some(d=>d.path.startsWith(`${l}.`));if(n.forEach((l,d)=>{let u=`patch[${d}]`;if(!ua(l)||typeof l.path!="string")return void a.push({path:u,message:`${u} must be { op, path, value } with a dotted path.`});let c=Object.keys(l).filter(p=>!["op","path","value"].includes(p));if(c.length)return void a.push({path:u,message:`${u}: ${c.join(", ")} ${c.length===1?"is":"are"} not part of a patch operation.`});if(l.op==="replace"){if(!Yc.has(l.path))return void a.push({path:l.path,message:`${l.path} is not a Replication 2 control${i(l.path)?' (it is a group: use "merge")':""}.`});Rc(o,l.path,Js(l.value)),r.push(l.path)}else if(l.op==="merge"){if(!i(l.path)||!ua(l.value))return void a.push({path:l.path,message:'merge needs a group path (such as "cursor.dark") and an object value.'});for(let[p,B]of qC(l.value,l.path)){if(!Yc.has(p)){a.push({path:p,message:`${p} is not a Replication 2 control.`});continue}Rc(o,p,Js(B)),r.push(p)}}else if(l.op==="remove"){let p=ca.filter(B=>B.path===l.path||B.path.startsWith(`${l.path}.`));if(!p.length)return void a.push({path:l.path,message:`${l.path} is not a Replication 2 control or group.`});for(let B of p)Rc(o,B.path,Js(B.default)),r.push(B.path)}else a.push({path:u,message:`${u}.op must be "replace", "merge" or "remove".`})}),a.length)return{valid:!1,errors:a};let s=Ws(o);return s.valid?{valid:!0,config:s.config,changed:r}:{valid:!1,errors:s.errors}}var jI={oneOf:[{type:"string",enum:[...tg]},{type:"object",additionalProperties:!1,required:["type","x1","y1","x2","y2"],properties:{type:{const:"cubicBezier"},x1:{type:"number",minimum:0,maximum:1},y1:{type:"number",minimum:-2,maximum:3},x2:{type:"number",minimum:0,maximum:1},y2:{type:"number",minimum:-2,maximum:3}}},{type:"object",additionalProperties:!1,required:["type","mass","damping","stiffness","velocity"],properties:{type:{const:"spring"},mass:{type:"number",minimum:.1,maximum:20},damping:{type:"number",minimum:.1,maximum:200},stiffness:{type:"number",minimum:1,maximum:1e3},velocity:{type:"number",minimum:-50,maximum:50}}}]};function KI(A){let e={description:A.description,default:A.default,"x-group":A.group,"x-userEditable":A.userEditable,"x-agentEditable":A.agentEditable,...A.unit?{"x-unit":A.unit}:{}};switch(A.type){case"number":return{type:"number",minimum:A.min,maximum:A.max,...e};case"integer":return{type:"integer",minimum:A.min,maximum:A.max,...e};case"boolean":return{type:"boolean",...e};case"color":return{type:"string",pattern:"^#[0-9a-fA-F]{6}$",format:"hex-color",...e};case"enum":return{enum:[...A.options],...e};case"text":return{type:"string",minLength:A.minLength??0,maxLength:A.maxLength,pattern:"^[^\\u0000-\\u001f\\u007f]*$",...e};case"easing":return{...jI,...e}}}function ev(){let A={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://comppack.vercel.app/schemas/replication-2.json",title:"Replication 2 configuration",description:"The one canonical configuration of the replication-2 configurable-motion template. People and agents edit the same object; only these values exist.",type:"object",additionalProperties:!1,properties:{schema:{const:ng}}};for(let e of ca){let t=A,n=e.path.split(".");for(let o of n.slice(0,-1)){let a=t.properties;a[o]??={type:"object",additionalProperties:!1,properties:{}},t=a[o]}t.properties[n.at(-1)]=KI(e)}return A}var Gm=A=>({in:e=>e**A,out:e=>1-(1-e)**A,inOut:e=>e<.5?2**(A-1)*e**A:1-(-2*e+2)**A/2}),Om=Gm(2),Pm=Gm(3),Um=Gm(4),tv={linear:A=>A,hold:A=>A>=1?1:0,easeInQuad:Om.in,easeOutQuad:Om.out,easeInOutQuad:Om.inOut,easeInCubic:Pm.in,easeOutCubic:Pm.out,easeInOutCubic:Pm.inOut,easeInQuart:Um.in,easeOutQuart:Um.out,easeInOutQuart:Um.inOut,easeInExpo:A=>A<=0?0:2**(10*A-10),easeOutExpo:A=>A>=1?1:1-2**(-10*A),easeInOutExpo:A=>A<=0?0:A>=1?1:A<.5?2**(20*A-10)/2:(2-2**(-20*A+10))/2,easeOutBack:A=>1+2.70158*(A-1)**3+1.70158*(A-1)**2};function JI(A,e,t,n){let o=3*A,a=3*(t-A)-o,r=1-o-a,i=3*e,s=3*(n-e)-i,l=1-i-s,d=p=>((r*p+a)*p+o)*p,u=p=>((l*p+s)*p+i)*p,c=p=>(3*r*p+2*a)*p+o;return p=>{let B=p;for(let C=0;C<8;C++){let y=d(B)-p;if(Math.abs(y)<1e-6)return u(B);let w=c(B);if(Math.abs(w)<1e-6)break;B-=y/w}let v=0,Q=1;B=p;for(let C=0;C<40;C++)d(B)<p?v=B:Q=B,B=(v+Q)/2;return u(B)}}function ag(A,{mass:e,damping:t,stiffness:n,velocity:o}){let a=Math.sqrt(n/e),r=t/(2*Math.sqrt(n*e)),i=-o,s=-1,l=A,d;if(r<1){let u=a*Math.sqrt(1-r*r);d=Math.exp(-r*a*l)*(s*Math.cos(u*l)+(i+r*a*s)/u*Math.sin(u*l))}else if(r===1)d=Math.exp(-a*l)*(s+(i+a*s)*l);else{let u=-a*(r-Math.sqrt(r*r-1)),c=-a*(r+Math.sqrt(r*r-1)),p=(i-u*s)/(c-u);d=(s-p)*Math.exp(u*l)+p*Math.exp(c*l)}return 1+d}var WI=A=>A<0?0:A>1?1:A;function io(A,e,t=60){let n=WI(e);return typeof A=="string"?(tv[A]??tv.linear)(n):A.type==="cubicBezier"?JI(A.x1,A.y1,A.x2,A.y2)(n):n>=1?1:ag(n*t/60,A)}var nv=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF\u2018\u2019\u201C\u201D\u2026\u2013\u2014",Nm=[100,200,300,400,500,600,700,800,900],Lm=[[281,271,388,634,612,847,584,275,315,315,500,637,271,438,271,323,591,367,621,582,595,552,564,547,597,564,271,274,637,637,637,479,981,640,640,723,714,584,584,738,734,249,559,598,562,895,771,747,606,747,615,612,616,719,640,929,620,641,607,315,322,315,400,432,280,525,581,535,581,572,294,581,584,216,219,487,216,866,584,579,581,581,325,493,240,584,544,809,500,544,523,396,272,396,637,281,271,535,597,681,522,187,544,584,914,423,438,637,666,391,454,637,429,406,280,586,557,271,204,266,464,438,662,748,745,479,640,640,640,640,640,640,958,723,584,584,584,584,249,249,249,249,714,771,747,747,747,747,747,637,747,719,719,719,719,641,591,575,525,525,525,525,525,525,915,535,572,572,572,572,216,216,216,216,593,584,579,579,579,579,579,637,579,584,584,584,584,544,581,544,205,205,342,342,812,500,1e3],[281,276,414,634,622,892,604,283,332,332,500,645,276,446,276,335,604,380,617,594,612,565,583,553,604,583,276,284,645,645,645,489,976,656,645,725,716,590,586,741,737,255,562,623,563,897,766,753,617,753,625,622,626,727,656,948,641,653,615,332,335,332,424,440,294,538,591,547,591,576,319,592,586,225,227,508,225,870,586,586,591,591,342,505,269,586,550,812,515,550,533,406,292,406,645,281,276,547,602,695,532,214,552,586,914,433,486,645,666,419,455,645,434,419,294,586,572,276,226,278,470,486,708,781,791,489,656,656,656,656,656,656,970,725,590,590,590,590,255,255,255,255,721,766,753,753,753,753,753,645,753,727,727,727,727,653,606,589,538,538,538,538,538,538,916,547,576,576,576,576,225,225,225,225,589,586,586,586,586,586,586,645,586,586,586,586,586,550,591,550,224,224,375,375,829,500,1e3],[281,282,440,633,632,937,624,292,348,348,500,653,282,453,282,348,618,394,614,606,629,580,602,560,611,602,282,292,653,653,653,500,971,673,649,728,719,595,588,744,740,262,567,647,564,900,759,759,628,759,634,632,636,736,673,966,662,666,622,348,348,348,448,448,309,549,602,559,602,580,345,603,589,233,234,528,233,873,588,593,602,602,359,516,298,589,556,815,531,556,542,416,312,416,653,281,282,559,606,710,541,242,560,588,914,443,535,653,666,449,455,653,438,433,309,586,587,282,247,292,477,535,755,814,836,500,673,673,673,673,673,673,982,728,595,595,595,595,262,262,262,262,728,759,759,759,759,759,759,653,759,736,736,736,736,666,621,603,549,549,549,549,549,549,917,559,580,580,580,580,233,233,233,233,586,588,593,593,593,593,593,653,593,589,589,589,589,556,602,556,242,242,408,408,847,500,1e3],[281,288,466,633,642,982,644,300,365,365,501,662,288,460,288,360,631,407,610,618,646,593,620,566,619,620,288,302,662,662,662,511,966,690,654,730,722,601,590,746,743,269,571,672,565,903,753,765,639,765,644,642,646,744,690,985,682,679,629,365,360,365,471,456,323,562,612,571,612,583,370,613,591,242,242,549,242,876,591,600,612,612,376,528,327,591,562,818,546,562,552,426,333,426,662,281,288,571,611,725,550,270,568,591,914,454,583,662,666,478,456,662,442,446,323,586,603,288,268,304,482,583,802,847,882,511,690,690,690,690,690,690,994,730,601,601,601,601,269,269,269,269,735,753,765,765,765,765,765,662,765,744,744,744,744,679,636,616,562,562,562,562,562,562,917,571,583,583,583,583,242,242,242,242,583,591,600,600,600,600,600,662,600,591,591,591,591,562,612,562,261,261,440,440,864,500,1e3],[267,304,494,639,646,993,653,313,369,369,521,667,303,462,303,370,646,415,616,627,656,603,630,571,629,630,303,315,667,667,667,527,982,709,657,733,722,603,589,748,745,272,575,688,565,913,756,767,642,769,648,646,653,740,709,1003,701,696,641,369,370,369,477,463,337,568,618,577,618,587,379,620,602,252,252,559,252,888,602,604,618,618,387,539,340,602,575,829,557,575,559,440,346,440,667,267,304,577,620,737,557,293,568,602,914,457,608,667,665,465,457,667,448,455,337,600,601,303,300,314,485,608,817,858,895,527,709,709,709,709,709,709,1003,733,603,603,603,603,272,272,272,272,743,756,767,767,767,767,767,667,767,740,740,740,740,696,647,630,568,568,568,568,568,568,915,577,587,587,587,587,252,252,252,252,588,602,604,604,604,604,604,667,604,602,602,602,602,575,618,575,277,277,474,471,910,500,1e3],[252,321,523,644,650,1004,663,326,373,373,540,673,319,465,319,379,660,423,623,636,666,612,640,576,640,640,319,329,673,673,673,543,999,728,659,737,722,605,588,749,746,277,580,703,565,922,759,769,645,773,652,650,660,736,728,1020,720,713,652,373,379,373,481,469,351,574,624,583,624,591,389,625,612,262,262,569,262,900,612,609,624,624,397,549,353,612,587,839,569,588,566,455,359,455,673,252,321,583,629,749,563,316,568,612,914,460,634,673,664,452,458,673,454,463,351,614,600,319,332,324,487,634,831,870,907,543,728,728,728,728,728,728,1013,737,605,605,605,605,277,277,277,277,751,759,769,769,769,769,769,673,769,736,736,736,736,713,658,644,574,574,574,574,574,574,913,583,591,591,591,591,262,262,262,262,594,612,609,609,609,609,609,673,609,612,612,612,612,588,624,588,294,294,507,501,956,500,1e3],[237,338,551,649,655,1016,672,339,377,377,559,679,334,468,334,388,674,431,629,646,676,622,649,582,651,649,334,343,679,679,679,560,1016,747,662,740,722,607,587,750,747,281,584,719,565,932,762,771,648,777,657,655,667,732,747,1038,738,731,664,377,388,377,487,476,365,581,630,588,630,596,398,632,623,271,271,580,271,913,623,613,630,630,407,560,366,623,600,850,580,602,573,469,372,469,679,237,338,588,639,762,570,339,568,623,914,464,660,679,662,439,459,679,460,472,365,628,599,334,364,333,490,660,846,881,920,560,747,747,747,747,747,747,1022,740,607,607,607,607,281,281,281,281,760,762,771,771,771,771,771,679,771,732,732,732,732,731,669,657,581,581,581,581,581,581,910,588,596,596,596,596,271,271,271,271,599,623,613,613,613,613,613,679,613,623,623,623,623,602,630,602,311,311,540,532,1002,500,1e3],[219,358,586,655,660,1029,683,354,382,382,583,686,353,471,353,400,692,441,638,657,688,634,662,588,664,662,353,360,686,686,686,579,1036,770,665,744,723,610,585,752,749,286,590,738,565,943,766,773,652,782,662,660,677,727,770,1059,761,752,679,382,400,382,493,484,382,588,638,595,638,601,410,639,635,283,283,593,283,927,635,619,638,638,420,573,382,635,615,863,594,618,581,486,388,486,686,219,358,595,650,776,579,367,568,635,914,468,691,686,661,423,461,686,467,482,382,646,597,353,403,345,493,691,863,895,935,579,770,770,770,770,770,770,1035,744,610,610,610,610,286,286,286,286,770,766,773,773,773,773,773,686,773,727,727,727,727,752,683,674,588,588,588,588,588,588,907,595,601,601,601,601,283,283,283,283,606,635,619,619,619,619,619,686,619,635,635,635,635,618,638,618,331,331,581,569,1058,500,1e3],[199,381,625,662,666,1044,695,372,388,388,608,693,373,475,373,412,711,452,646,669,702,646,675,595,679,675,373,378,693,693,693,601,1059,795,668,748,723,613,584,754,750,291,596,759,565,956,770,775,656,787,668,666,687,722,795,1082,786,775,694,388,412,388,500,493,401,597,646,603,646,606,422,647,649,296,296,606,296,943,649,625,646,646,434,588,399,649,632,877,609,636,590,505,405,505,693,199,381,603,662,793,588,397,568,649,914,472,726,693,659,406,463,693,475,494,401,664,596,373,446,358,496,726,883,910,952,601,795,795,795,795,795,795,1047,748,613,613,613,613,291,291,291,291,781,770,775,775,775,775,775,693,775,722,722,722,722,775,697,692,597,597,597,597,597,597,904,603,606,606,606,606,296,296,296,296,613,649,625,625,625,625,625,693,625,649,649,649,649,636,646,636,353,353,625,610,1119,500,1e3]],ov={'"&':-34,'",':-82,'".':-82,'"4':-62,'"A':-79,'"J':-165,'"c':-15,'"d':-15,'"e':-15,'"g':-15,'"o':-15,'"q':-15,'"\xA2':-15,'"\xC0':-79,'"\xC1':-79,'"\xC2':-79,'"\xC3':-79,'"\xC4':-79,'"\xC5':-79,'"\xC6':-79,'"\xE7':-15,'"\xE8':-15,'"\xE9':-15,'"\xEA':-15,'"\xEB':-15,'"\xF0':-15,'"\xF2':-15,'"\xF3':-15,'"\xF4':-15,'"\xF5':-15,'"\xF6':-15,'"\xF8':-15,'"\u2026':-82,$T:-5,$X:-10,$\u00EF:45,"%\u2018":-62,"%\u2019":-68,"%\u201C":-62,"%\u201D":-68,'&"':-34,"&'":-34,"&T":-57,"&V":-62,"&W":-40,"&Y":-74,"&\\":-62,"&v":-34,"&w":-34,"&y":-34,"&\xAA":-40,"&\xAE":-22,"&\xBA":-40,"&\xDD":-74,"&\xFD":-34,"&\xFF":-34,"&\u2018":-91,"&\u201C":-91,"'&":-34,"',":-82,"'.":-82,"'4":-62,"'A":-79,"'J":-165,"'c":-15,"'d":-15,"'e":-15,"'g":-15,"'o":-15,"'q":-15,"'\xA2":-15,"'\xC0":-79,"'\xC1":-79,"'\xC2":-79,"'\xC3":-79,"'\xC4":-79,"'\xC5":-79,"'\xC6":-79,"'\xE7":-15,"'\xE8":-15,"'\xE9":-15,"'\xEA":-15,"'\xEB":-15,"'\xF0":-15,"'\xF2":-15,"'\xF3":-15,"'\xF4":-15,"'\xF5":-15,"'\xF6":-15,"'\xF8":-15,"'\u2026":-82,"(c":-11,"(d":-11,"(e":-11,"(g":-11,"(j":28,"(o":-11,"(q":-11,"(\xA2":-11,"(\xE7":-11,"(\xE8":-11,"(\xE9":-11,"(\xEA":-11,"(\xEB":-11,"(\xF0":-11,"(\xF2":-11,"(\xF3":-11,"(\xF4":-11,"(\xF5":-11,"(\xF6":-11,"(\xF8":-11,")\u2018":-34,")\u201C":-34,"*&":-34,"*,":-136,"*.":-136,"*4":-45,"*@":-11,"*A":-79,"*C":-11,"*G":-11,"*J":-96,"*O":-11,"*Q":-11,"*_":-68,"*\xA9":-11,"*\xC0":-79,"*\xC1":-79,"*\xC2":-79,"*\xC3":-79,"*\xC4":-79,"*\xC5":-79,"*\xC6":-79,"*\xC7":-11,"*\xD2":-11,"*\xD3":-11,"*\xD4":-11,"*\xD5":-11,"*\xD6":-11,"*\xD8":-11,"*\u2026":-136,"+2":-34,"+3":-11,"+7":-22,"+A":-34,"+J":-45,"+T":-74,"+V":-51,"+W":-51,"+X":-34,"+Y":-79,"+\\":-51,"+x":-22,"+\xB6":-17,"+\xC0":-34,"+\xC1":-34,"+\xC2":-34,"+\xC3":-34,"+\xC4":-34,"+\xC5":-34,"+\xC6":-34,"+\xDD":-79,"+\u2018":-62,"+\u201C":-62,',"':-82,",'":-82,",0":-25,",1":-86,",3":-27,",5":-14,",6":-25,",7":-14,",8":-22,",9":-7,",?":-88,",@":-44,",C":-44,",G":-44,",O":-44,",Q":-44,",T":-34,",Y":-34,",\xA9":-44,",\xB6":-51,",\xC7":-44,",\xD2":-44,",\xD3":-44,",\xD4":-44,",\xD5":-44,",\xD6":-44,",\xD8":-44,",\xDD":-34,",\u2019":-57,",\u201D":-57,"-2":-34,"-3":-11,"-7":-22,"-A":-34,"-J":-45,"-T":-74,"-V":-51,"-W":-51,"-X":-34,"-Y":-79,"-\\":-51,"-x":-22,"-\xB6":-17,"-\xC0":-34,"-\xC1":-34,"-\xC2":-34,"-\xC3":-34,"-\xC4":-34,"-\xC5":-34,"-\xC6":-34,"-\xDD":-79,"-\u2018":-62,"-\u201C":-62,'."':-82,".'":-82,".0":-25,".1":-86,".3":-27,".5":-14,".6":-25,".7":-14,".8":-22,".9":-7,".?":-88,".@":-44,".C":-44,".G":-44,".O":-44,".Q":-44,".T":-34,".Y":-34,".\xA9":-44,".\xB6":-51,".\xC7":-44,".\xD2":-44,".\xD3":-44,".\xD4":-44,".\xD5":-44,".\xD6":-44,".\xD8":-44,".\xDD":-34,".\u2019":-57,".\u201D":-57,"/,":-40,"/.":-40,"/A":-24,"/J":-62,"/\xC0":-24,"/\xC1":-24,"/\xC2":-24,"/\xC3":-24,"/\xC4":-24,"/\xC5":-24,"/\xC6":-24,"/\u2026":-40,"0,":-25,"0.":-25,"07":-20,"0V":-10,"0X":-34,"0Y":-34,"0\\":-10,"0_":-45,"0t":15,"0\xDD":-34,"0\u2018":-45,"0\u201C":-45,"0\u2026":-25,"1t":15,"1v":5,"1y":5,"1\xD0":34,"1\xEF":59,"1\xFD":5,"1\xFF":5,24:-16,"3*":-15,"3,":-22,"3.":-22,"3X":-20,"3^":-15,"3\xAB":-34,"3\xB0":-15,"3\u2026":-22,"4*":-20,"4,":-34,"4.":-34,41:-20,"4^":-20,"4\xAE":-5,"4\xB0":-20,"4\xB6":-39,"4\u2026":-34,"5,":-27,"5.":-27,"5\xAE":-5,"5\u2026":-27,"6,":-34,"6.":-34,"6_":-45,"6\u2026":-34,"7#":-57,"7&":-45,"7,":-125,"7.":-125,70:-16,73:-17,74:-58,75:-10,76:-16,77:20,78:-14,79:-10,"7:":-34,"7;":-34,"7<":-91,"7A":-108,"7J":-96,"7_":-159,"7a":-45,"7c":-51,"7d":-51,"7e":-51,"7g":-51,"7m":-51,"7n":-51,"7o":-51,"7p":-51,"7q":-51,"7r":-51,"7s":-40,"7\xA2":-51,"7\xAB":-62,"7\xC0":-108,"7\xC1":-108,"7\xC2":-108,"7\xC3":-108,"7\xC4":-108,"7\xC5":-108,"7\xC6":-108,"7\xE0":-45,"7\xE1":-45,"7\xE2":-45,"7\xE3":-45,"7\xE4":-45,"7\xE5":-45,"7\xE6":-45,"7\xE7":-51,"7\xE8":-51,"7\xE9":-51,"7\xEA":-51,"7\xEB":-51,"7\xEF":91,"7\xF0":-51,"7\xF1":-51,"7\xF2":-51,"7\xF3":-51,"7\xF4":-51,"7\xF5":-51,"7\xF6":-51,"7\xF8":-51,"7\u2026":-125,"8*":-15,"8,":-22,"8.":-22,"8X":-20,"8^":-15,"8\xAB":-34,"8\xB0":-15,"8\u2026":-22,"9,":-25,"9.":-25,97:-20,"9V":-10,"9X":-34,"9Y":-34,"9\\":-10,"9_":-45,"9t":15,"9\xDD":-34,"9\u2018":-45,"9\u201C":-45,"9\u2026":-25,":T":-34,":V":-62,":\\":-62,":\u2018":-45,":\u201C":-45,";T":-34,";V":-62,";\\":-62,";\u2018":-45,";\u201C":-45,"=A":-51,"=T":-45,"=V":-68,"=W":-62,"=X":-51,"=Y":-96,"=\\":-68,"=v":-40,"=x":-34,"=y":-40,"=\xC0":-51,"=\xC1":-51,"=\xC2":-51,"=\xC3":-51,"=\xC4":-51,"=\xC5":-51,"=\xC6":-51,"=\xDD":-96,"=\xFD":-40,"=\xFF":-40,"=\u2018":-57,"=\u201C":-57,">7":-74,">T":-79,">V":-74,">W":-74,">X":-57,">Y":-91,">Z":-62,">\\":-74,">\xDD":-91,">\u2018":-96,">\u201C":-96,"?A":-62,"?\xC0":-62,"?\xC1":-62,"?\xC2":-62,"?\xC3":-62,"?\xC4":-62,"?\xC5":-62,"?\xC6":-62,"@,":-44,"@.":-44,"@/":-40,"@A":-34,"@T":-30,"@V":-34,"@X":-34,"@Y":-34,"@\\":-34,"@_":-40,"@\xAE":-5,"@\xC0":-34,"@\xC1":-34,"@\xC2":-34,"@\xC3":-34,"@\xC4":-34,"@\xC5":-34,"@\xC6":-34,"@\xDD":-34,"@\u2018":-34,"@\u201C":-34,"@\u2026":-44,'A"':-79,"A'":-79,"A*":-79,"A+":-34,"A-":-34,"A/":20,A1:-34,"A=":-51,"A?":-62,"A@":-34,AA:15,AC:-34,AG:-34,AO:-34,AQ:-34,AT:-85,AU:-20,AV:-68,AW:-57,AY:-74,"A\\":-68,"A^":-79,Ai:5,At:-20,Av:-68,Aw:-68,Ay:-68,"A~":-34,"A\xA9":-34,A\u00AA:-74,"A\xAB":-34,"A\xAC":-34,"A\xAE":-71,"A\xB0":-79,"A\xB1":-51,"A\xB6":-49,"A\xB7":-34,A\u00BA:-74,"A\xBB":-34,A\u00C0:15,A\u00C1:15,A\u00C2:15,A\u00C3:15,A\u00C4:15,A\u00C5:15,A\u00C6:15,A\u00C7:-34,A\u00D2:-34,A\u00D3:-34,A\u00D4:-34,A\u00D5:-34,A\u00D6:-34,"A\xD7":-34,A\u00D8:-34,A\u00D9:-20,A\u00DA:-20,A\u00DB:-20,A\u00DC:-20,A\u00DD:-74,A\u00EC:5,A\u00ED:5,A\u00EE:5,"A\xF7":-34,A\u00FD:-68,A\u00FF:-68,"A\u2018":-130,"A\u2019":-102,"A\u201C":-130,"A\u201D":-102,BT:-57,B\u00EF:34,"B\u2018":-62,"B\u201C":-62,CA:-20,CX:-5,C_:-40,C\u00C0:-20,C\u00C1:-20,C\u00C2:-20,C\u00C3:-20,C\u00C4:-20,C\u00C5:-20,C\u00C6:-20,C\u00EF:34,"D,":-44,"D.":-44,"D/":-40,DA:-34,DT:-30,DV:-34,DX:-34,DY:-34,"D\\":-34,D_:-40,"D\xAE":-5,D\u00C0:-34,D\u00C1:-34,D\u00C2:-34,D\u00C3:-34,D\u00C4:-34,D\u00C5:-34,D\u00C6:-34,D\u00DD:-34,"D\u2018":-34,"D\u201C":-34,"D\u2026":-44,E\u00EF:74,"F,":-40,"F.":-34,FA:-91,FJ:-68,F_:-34,Fa:-24,Fc:-40,Fd:-40,Fe:-40,Fg:-40,Fm:-29,Fn:-29,Fo:-40,Fp:-29,Fq:-40,Fr:-29,Fu:-34,Fv:-34,Fy:-34,Fz:-34,"F\xA2":-40,F\u00B5:-34,F\u00C0:-91,F\u00C1:-91,F\u00C2:-91,F\u00C3:-91,F\u00C4:-91,F\u00C5:-91,F\u00C6:-91,F\u00E0:-24,F\u00E1:-24,F\u00E2:-24,F\u00E3:-24,F\u00E4:-24,F\u00E5:-24,F\u00E6:-24,F\u00E7:-40,F\u00E8:-40,F\u00E9:-40,F\u00EA:-40,F\u00EB:-40,F\u00F0:-40,F\u00F1:-29,F\u00F2:-40,F\u00F3:-40,F\u00F4:-40,F\u00F5:-40,F\u00F6:-40,F\u00F8:-40,F\u00F9:-34,F\u00FA:-34,F\u00FB:-34,F\u00FC:-34,F\u00FD:-34,F\u00FF:-34,"F\u2026":-85,GA:-22,GT:-30,GV:-22,GX:-5,GY:-22,"G\\":-22,G\u00C0:-22,G\u00C1:-22,G\u00C2:-22,G\u00C3:-22,G\u00C4:-22,G\u00C5:-22,G\u00C6:-22,G\u00DD:-22,G\u00EF:34,Ht:15,Hv:5,Hy:5,H\u00D0:34,H\u00EF:59,H\u00FD:5,H\u00FF:5,It:15,Iv:5,Iy:5,I\u00D0:34,I\u00EF:59,I\u00FD:5,I\u00FF:5,"J,":-34,"J.":-34,"J/":-57,JA:-20,J_:-51,J\u00C0:-20,J\u00C1:-20,J\u00C2:-20,J\u00C3:-20,J\u00C4:-20,J\u00C5:-20,J\u00C6:-20,"J\u2026":-34,K$:-10,"K+":-108,"K-":-108,"K<":-68,"K=":-34,"K@":-34,KC:-34,KG:-34,KO:-34,KQ:-34,KS:-10,Kc:-40,Kd:-40,Ke:-40,Kg:-40,Ki:16,Ko:-40,Kq:-40,Ku:-34,Kv:-40,Kw:-62,Ky:-40,"K~":-108,"K\xA2":-40,"K\xA9":-34,"K\xAB":-51,"K\xAC":-51,"K\xAE":-15,"K\xB1":-34,K\u00B5:-34,"K\xB7":-45,K\u00C7:-34,K\u00D2:-34,K\u00D3:-34,K\u00D4:-34,K\u00D5:-34,K\u00D6:-34,"K\xD7":-34,K\u00D8:-34,K\u00E7:-40,K\u00E8:-40,K\u00E9:-40,K\u00EA:-40,K\u00EB:-40,K\u00EC:16,K\u00ED:16,K\u00EE:16,K\u00EF:85,K\u00F0:-40,K\u00F2:-40,K\u00F3:-40,K\u00F4:-40,K\u00F5:-40,K\u00F6:-40,"K\xF7":-108,K\u00F8:-40,K\u00F9:-34,K\u00FA:-34,K\u00FB:-34,K\u00FC:-34,K\u00FD:-40,K\u00FF:-40,'L"':-91,"L'":-91,"L*":-40,"L+":-85,"L-":-51,L1:-45,"L@":-28,LC:-28,LG:-28,LO:-28,LQ:-28,LT:-96,LV:-68,LY:-34,"L\\":-68,"L^":-130,Lt:-22,Lv:-68,Ly:-68,"L~":-40,"L\xA9":-28,L\u00AA:-96,"L\xAB":-62,"L\xAC":-130,"L\xAE":-81,"L\xB0":-45,"L\xB6":-88,"L\xB7":-62,L\u00BA:-96,L\u00C7:-28,L\u00D2:-28,L\u00D3:-28,L\u00D4:-28,L\u00D5:-28,L\u00D6:-28,"L\xD7":-34,L\u00D8:-28,L\u00DD:-34,"L\xF7":-85,L\u00FD:-68,L\u00FF:-68,"L\u2018":-85,"L\u2019":-39,"L\u201C":-85,"L\u201D":-39,Mt:15,Mv:5,My:5,M\u00D0:34,M\u00EF:59,M\u00FD:5,M\u00FF:5,Nt:15,Nv:5,Ny:5,N\u00D0:34,N\u00EF:59,N\u00FD:5,N\u00FF:5,"O,":-44,"O.":-44,"O/":-40,OA:-34,OT:-30,OV:-34,OX:-34,OY:-34,"O\\":-34,O_:-40,"O\xAE":-5,O\u00C0:-34,O\u00C1:-34,O\u00C2:-34,O\u00C3:-34,O\u00C4:-34,O\u00C5:-34,O\u00C6:-34,O\u00DD:-34,"O\u2018":-34,"O\u201C":-34,"O\u2026":-44,"P&":-34,"P+":-45,"P,":-40,"P-":-45,"P.":-34,PA:-74,PJ:-96,Pc:-5,Pd:-5,Pe:-5,Pg:-5,Po:-5,Pq:-5,"P~":-45,"P\xA2":-5,"P\xAC":-45,"P\xB7":-45,P\u00C0:-74,P\u00C1:-74,P\u00C2:-74,P\u00C3:-74,P\u00C4:-74,P\u00C5:-74,P\u00C6:-74,P\u00E7:-5,P\u00E8:-5,P\u00E9:-5,P\u00EA:-5,P\u00EB:-5,P\u00F0:-5,P\u00F2:-5,P\u00F3:-5,P\u00F4:-5,P\u00F5:-5,P\u00F6:-5,"P\xF7":-45,P\u00F8:-5,"P\u2026":-96,"Q,":-44,"Q.":-44,"Q/":-40,QA:-34,QT:-30,QV:-34,QX:-34,QY:-34,"Q\\":-34,Q_:-40,"Q\xAE":-5,Q\u00C0:-34,Q\u00C1:-34,Q\u00C2:-34,Q\u00C3:-34,Q\u00C4:-34,Q\u00C5:-34,Q\u00C6:-34,Q\u00DD:-34,"Q\u2018":-34,"Q\u201C":-34,"Q\u2026":-44,RV:-17,RY:-24,"R\\":-17,Ra:-5,Rc:-15,Rd:-15,Re:-15,Rg:-15,Ro:-15,Rq:-15,"R\xA2":-15,R\u00DD:-24,R\u00E0:-5,R\u00E1:-5,R\u00E2:-5,R\u00E3:-5,R\u00E4:-5,R\u00E5:-5,R\u00E6:-5,R\u00E7:-15,R\u00E8:-15,R\u00E9:-15,R\u00EA:-15,R\u00EB:-15,R\u00EF:45,R\u00F0:-15,R\u00F2:-15,R\u00F3:-15,R\u00F4:-15,R\u00F5:-15,R\u00F6:-15,R\u00F8:-15,ST:-5,SX:-10,S\u00EF:45,"T&":-34,"T+":-74,"T,":-34,"T-":-74,"T.":-34,"T/":-51,T0:-34,T4:-68,T6:-34,T7:-79,"T:":-34,"T;":-34,"T<":-79,"T=":-34,"T@":-30,TA:-85,TC:-30,TG:-30,TJ:-91,TO:-30,TQ:-30,TY:20,T_:-57,Ta:-73,Tc:-78,Td:-78,Te:-78,Tg:-78,Tm:-57,Tn:-57,To:-78,Tp:-57,Tq:-78,Tr:-57,Ts:-74,Tt:-102,Tu:-74,Tv:-62,Tw:-62,Tx:-62,Ty:-62,Tz:-45,"T~":-74,"T\xA2":-78,"T\xA9":-30,"T\xAB":-130,"T\xAC":-74,"T\xB1":-34,T\u00B5:-102,"T\xB7":-79,"T\xBB":-51,T\u00C0:-85,T\u00C1:-85,T\u00C2:-85,T\u00C3:-85,T\u00C4:-85,T\u00C5:-85,T\u00C6:-85,T\u00C7:-30,T\u00D2:-30,T\u00D3:-30,T\u00D4:-30,T\u00D5:-30,T\u00D6:-30,"T\xD7":-34,T\u00D8:-30,T\u00DD:20,T\u00E0:-73,T\u00E1:-73,T\u00E2:-73,T\u00E3:-40,T\u00E4:-40,T\u00E5:-73,T\u00E6:-73,T\u00E7:-78,T\u00E8:-78,T\u00E9:-78,T\u00EA:-78,T\u00EB:-51,T\u00EF:91,T\u00F0:-78,T\u00F1:-57,T\u00F2:-78,T\u00F3:-78,T\u00F4:-78,T\u00F5:-51,T\u00F6:-51,"T\xF7":-74,T\u00F8:-78,T\u00F9:-74,T\u00FA:-74,T\u00FB:-74,T\u00FC:-51,T\u00FD:-62,T\u00FF:-34,"T\u2026":-85,"U,":-34,"U.":-34,"U/":-57,UA:-20,U_:-51,U\u00C0:-20,U\u00C1:-20,U\u00C2:-20,U\u00C3:-20,U\u00C4:-20,U\u00C5:-20,U\u00C6:-20,"U\u2026":-34,"V&":-51,"V+":-51,"V,":-96,"V-":-51,"V.":-96,"V/":-49,V0:-10,V4:-34,V6:-10,"V:":-62,"V;":-62,"V<":-74,"V=":-62,"V@":-34,VA:-68,VC:-34,VG:-34,VJ:-96,VO:-34,VQ:-34,VV:15,"V\\":15,V_:-79,Va:-51,Vc:-51,Vd:-51,Ve:-51,Vg:-51,Vo:-51,Vq:-51,Vs:-45,"V~":-51,"V\xA2":-51,"V\xA9":-34,"V\xAB":-57,"V\xAC":-62,"V\xB1":-62,"V\xB7":-40,V\u00C0:-68,V\u00C1:-68,V\u00C2:-68,V\u00C3:-68,V\u00C4:-68,V\u00C5:-68,V\u00C6:-68,V\u00C7:-34,V\u00D2:-34,V\u00D3:-34,V\u00D4:-34,V\u00D5:-34,V\u00D6:-34,"V\xD7":-40,V\u00D8:-34,V\u00E0:-51,V\u00E1:-51,V\u00E2:-51,V\u00E3:-51,V\u00E4:-40,V\u00E5:-51,V\u00E6:-51,V\u00E7:-51,V\u00E8:-51,V\u00E9:-51,V\u00EA:-51,V\u00EB:-51,V\u00EF:85,V\u00F0:-51,V\u00F2:-51,V\u00F3:-51,V\u00F4:-51,V\u00F5:-45,V\u00F6:-51,"V\xF7":-51,V\u00F8:-51,"V\u2026":-96,"W&":-51,"W+":-51,"W,":-96,"W-":-51,"W.":-96,W4:-34,"W:":-51,"W;":-51,"W<":-74,"W=":-62,WA:-57,WJ:-62,WW:24,Wa:-51,Wc:-51,Wd:-51,We:-51,Wg:-51,Wm:-34,Wn:-34,Wo:-51,Wp:-34,Wq:-51,Wr:-34,Ws:-34,"W~":-51,"W\xA2":-51,"W\xAB":-57,"W\xAC":-51,"W\xB1":-62,"W\xB7":-34,W\u00C0:-57,W\u00C1:-57,W\u00C2:-57,W\u00C3:-57,W\u00C4:-57,W\u00C5:-57,W\u00C6:-57,W\u00E0:-51,W\u00E1:-51,W\u00E2:-51,W\u00E3:-51,W\u00E4:-51,W\u00E5:-51,W\u00E6:-51,W\u00E7:-51,W\u00E8:-51,W\u00E9:-51,W\u00EA:-51,W\u00EB:-51,W\u00F0:-51,W\u00F1:-34,W\u00F2:-51,W\u00F3:-51,W\u00F4:-51,W\u00F5:-51,W\u00F6:-51,"W\xF7":-51,W\u00F8:-51,"W\u2026":-96,X$:-10,"X+":-34,"X-":-34,X0:-34,X3:-20,X4:-40,X6:-34,X8:-20,"X<":-57,"X=":-51,"X@":-34,XC:-34,XG:-34,XO:-34,XQ:-34,XS:-10,XT:-40,Xa:-57,Xc:-28,Xd:-28,Xe:-28,Xg:-28,Xo:-28,Xq:-28,"X~":-34,"X\xA2":-28,"X\xA9":-34,"X\xAB":-40,"X\xAC":-51,"X\xAE":-7,"X\xB1":-51,"X\xB7":-45,X\u00C7:-34,X\u00D2:-34,X\u00D3:-34,X\u00D4:-34,X\u00D5:-34,X\u00D6:-34,"X\xD7":-45,X\u00D8:-34,X\u00E0:-57,X\u00E1:-57,X\u00E2:-57,X\u00E3:-57,X\u00E4:-57,X\u00E5:-57,X\u00E6:-57,X\u00E7:-28,X\u00E8:-28,X\u00E9:-28,X\u00EA:-28,X\u00EB:-28,X\u00F0:-28,X\u00F2:-28,X\u00F3:-28,X\u00F4:-28,X\u00F5:-28,X\u00F6:-28,"X\xF7":-34,X\u00F8:-28,"Y&":-62,"Y+":-79,"Y,":-34,"Y-":-79,"Y.":-34,Y4:-68,"Y:":-62,"Y;":-62,"Y<":-102,"Y=":-96,"Y@":-34,YA:-74,YC:-34,YG:-34,YJ:-34,YO:-34,YQ:-34,YT:20,Ya:-71,Yc:-77,Yd:-77,Ye:-77,Yg:-77,Yi:-28,Ym:-39,Yn:-39,Yo:-77,Yp:-39,Yq:-77,Yr:-39,Ys:-68,Yu:-40,"Y~":-79,"Y\xA2":-77,"Y\xA9":-34,"Y\xAB":-91,"Y\xAC":-51,"Y\xAE":-8,"Y\xB1":-96,Y\u00B5:-40,"Y\xB7":-51,"Y\xBB":-62,Y\u00C0:-74,Y\u00C1:-74,Y\u00C2:-74,Y\u00C3:-74,Y\u00C4:-74,Y\u00C5:-74,Y\u00C6:-74,Y\u00C7:-34,Y\u00D2:-34,Y\u00D3:-34,Y\u00D4:-34,Y\u00D5:-34,Y\u00D6:-34,"Y\xD7":-45,Y\u00D8:-34,Y\u00E0:-71,Y\u00E1:-71,Y\u00E2:-71,Y\u00E3:-71,Y\u00E4:-49,Y\u00E5:-71,Y\u00E6:-71,Y\u00E7:-77,Y\u00E8:-77,Y\u00E9:-77,Y\u00EA:-77,Y\u00EB:-77,Y\u00EC:-28,Y\u00ED:-28,Y\u00EE:-28,Y\u00F0:-77,Y\u00F1:-39,Y\u00F2:-77,Y\u00F3:-77,Y\u00F4:-77,Y\u00F5:-77,Y\u00F6:-77,"Y\xF7":-79,Y\u00F8:-77,Y\u00F9:-40,Y\u00FA:-40,Y\u00FB:-40,Y\u00FC:-40,"Y\u2026":-96,"Z+":-40,"Z-":-40,"Z<":-62,"Z@":-34,ZC:-34,ZG:-34,ZO:-34,ZQ:-34,"Z~":-40,"Z\xA9":-34,"Z\xAB":-34,"Z\xAC":-40,"Z\xB7":-34,Z\u00C7:-34,Z\u00D2:-34,Z\u00D3:-34,Z\u00D4:-34,Z\u00D5:-34,Z\u00D6:-34,Z\u00D8:-34,Z\u00EF:85,"Z\xF7":-40,"[c":-11,"[d":-11,"[e":-11,"[g":-11,"[j":28,"[o":-11,"[q":-11,"[\xA2":-11,"[\xE7":-11,"[\xE8":-11,"[\xE9":-11,"[\xEA":-11,"[\xEB":-11,"[\xF0":-11,"[\xF2":-11,"[\xF3":-11,"[\xF4":-11,"[\xF5":-11,"[\xF6":-11,"[\xF8":-11,'\\"':-79,"\\'":-79,"\\*":-79,"\\+":-34,"\\-":-34,"\\/":20,"\\1":-34,"\\=":-51,"\\?":-62,"\\@":-34,"\\A":15,"\\C":-34,"\\G":-34,"\\O":-34,"\\Q":-34,"\\T":-40,"\\U":-20,"\\V":-49,"\\W":-57,"\\Y":-74,"\\\\":-49,"\\^":-79,"\\i":5,"\\t":-20,"\\v":-51,"\\w":-68,"\\y":-51,"\\~":-34,"\\\xA9":-34,"\\\xAA":-74,"\\\xAB":-34,"\\\xAC":-34,"\\\xAE":-71,"\\\xB0":-79,"\\\xB1":-51,"\\\xB6":-49,"\\\xB7":-34,"\\\xBA":-74,"\\\xBB":-34,"\\\xC0":15,"\\\xC1":15,"\\\xC2":15,"\\\xC3":15,"\\\xC4":15,"\\\xC5":15,"\\\xC6":15,"\\\xC7":-34,"\\\xD2":-34,"\\\xD3":-34,"\\\xD4":-34,"\\\xD5":-34,"\\\xD6":-34,"\\\xD7":-34,"\\\xD8":-34,"\\\xD9":-20,"\\\xDA":-20,"\\\xDB":-20,"\\\xDC":-20,"\\\xDD":-74,"\\\xEC":5,"\\\xED":5,"\\\xEE":5,"\\\xF7":-34,"\\\xFD":-51,"\\\xFF":-51,"\\\u2018":-42,"\\\u2019":-57,"\\\u201C":-42,"\\\u201D":-57,"]\u2018":-34,"]\u201C":-34,"^&":-34,"^,":-136,"^.":-136,"^4":-45,"^@":-11,"^A":-79,"^C":-11,"^G":-11,"^J":-96,"^O":-11,"^Q":-11,"^_":-68,"^\xA9":-11,"^\xC0":-79,"^\xC1":-79,"^\xC2":-79,"^\xC3":-79,"^\xC4":-79,"^\xC5":-79,"^\xC6":-79,"^\xC7":-11,"^\xD2":-11,"^\xD3":-11,"^\xD4":-11,"^\xD5":-11,"^\xD6":-11,"^\xD8":-11,"^\u2026":-136,"_*":-68,_0:-45,_1:-108,_3:-45,_4:-57,_5:-45,_6:-45,_8:-45,_9:-45,"_@":-40,_B:34,_C:-40,_D:34,_E:34,_F:34,_G:-40,_H:34,_I:34,_K:34,_L:34,_M:34,_N:34,_O:-40,_P:34,_Q:-40,_R:34,_T:-57,_U:-40,_V:-79,"_\\":-79,"_^":-68,_b:34,_h:34,_i:34,_j:96,_k:34,_l:34,_m:34,_n:34,_p:34,_r:34,_v:-79,_y:-79,"_|":34,"_\xA9":-40,"_\xB0":-68,"_\xB6":-45,_\u00C7:-40,_\u00C8:34,_\u00C9:34,_\u00CA:34,_\u00CB:34,_\u00CC:34,_\u00CD:34,_\u00D1:34,_\u00D2:-40,_\u00D3:-40,_\u00D4:-40,_\u00D5:-40,_\u00D6:-40,_\u00D8:-40,_\u00D9:-40,_\u00DA:-40,_\u00DB:-40,_\u00DC:-40,_\u00DE:34,_\u00DF:34,_\u00EC:34,_\u00ED:34,_\u00EE:34,_\u00F1:34,_\u00FD:-79,_\u00FE:34,_\u00FF:-79,"_\u2018":-40,"_\u201C":-40,a1:-40,aT:-68,aV:-51,aW:-51,aY:-74,"a\\":-51,av:-15,ay:-15,"a\xAE":-8,a\u00DD:-74,a\u00FD:-15,a\u00FF:-15,"a\u2018":-45,"a\u2019":-20,"a\u201C":-45,"a\u201D":-20,'b"':-15,"b'":-15,"b)":-11,b1:-34,bA:-34,bT:-78,bV:-51,bW:-51,bX:-28,bY:-85,"b\\":-51,"b]":-11,ba:10,bv:-20,bw:-18,bx:-22,by:-20,bz:-15,"b}":-11,b\u00AA:-34,"b\xAE":-11,b\u00BA:-34,b\u00C0:-34,b\u00C1:-34,b\u00C2:-34,b\u00C3:-34,b\u00C4:-34,b\u00C5:-34,b\u00C6:-34,b\u00DD:-85,b\u00E0:10,b\u00E1:10,b\u00E2:10,b\u00E3:10,b\u00E4:10,b\u00E5:10,b\u00E6:10,b\u00FD:-20,b\u00FF:-20,"b\u2018":-62,"b\u2019":-24,"b\u201C":-62,"b\u201D":-24,'c"':-15,"c'":-15,"c)":-11,c1:-34,cA:-34,cT:-78,cV:-51,cW:-51,cX:-28,cY:-85,"c\\":-51,"c]":-11,ca:10,cv:-20,cw:-18,cx:-22,cy:-20,cz:-15,"c}":-11,c\u00AA:-34,"c\xAE":-11,c\u00BA:-34,c\u00C0:-34,c\u00C1:-34,c\u00C2:-34,c\u00C3:-34,c\u00C4:-34,c\u00C5:-34,c\u00C6:-34,c\u00DD:-85,c\u00E0:10,c\u00E1:10,c\u00E2:10,c\u00E3:10,c\u00E4:10,c\u00E5:10,c\u00E6:10,c\u00FD:-20,c\u00FF:-20,"c\u2018":-62,"c\u2019":-24,"c\u201C":-62,"c\u201D":-24,dt:15,dv:5,dy:5,d\u00D0:34,d\u00EF:59,d\u00FD:5,d\u00FF:5,'e"':-15,"e'":-15,"e)":-11,e1:-34,eA:-34,eT:-78,eV:-51,eW:-51,eX:-28,eY:-85,"e\\":-51,"e]":-11,ea:10,ev:-20,ew:-18,ex:-22,ey:-20,ez:-15,"e}":-11,e\u00AA:-34,"e\xAE":-11,e\u00BA:-34,e\u00C0:-34,e\u00C1:-34,e\u00C2:-34,e\u00C3:-34,e\u00C4:-34,e\u00C5:-34,e\u00C6:-34,e\u00DD:-85,e\u00E0:10,e\u00E1:10,e\u00E2:10,e\u00E3:10,e\u00E4:10,e\u00E5:10,e\u00E6:10,e\u00FD:-20,e\u00FF:-20,"e\u2018":-62,"e\u2019":-24,"e\u201C":-62,"e\u201D":-24,"f+":-28,"f,":-57,"f-":-28,"f.":-57,"f/":-28,f4:-62,fA:-34,fJ:-62,fY:10,f_:-14,fa:-16,fc:-29,fd:-29,fe:-29,ff:-39,fg:-29,fo:-29,fq:-29,fs:-22,ft:-34,fw:15,"f~":-28,"f\xA2":-29,"f\xAB":-40,"f\xAC":-28,"f\xB7":-28,f\u00C0:-34,f\u00C1:-34,f\u00C2:-34,f\u00C3:-34,f\u00C4:-34,f\u00C5:-34,f\u00C6:-34,"f\xD7":-22,f\u00DD:10,f\u00E0:-16,f\u00E1:-16,f\u00E2:-16,f\u00E3:-16,f\u00E4:-16,f\u00E5:-16,f\u00E6:-16,f\u00E7:-29,f\u00E8:-29,f\u00E9:-29,f\u00EA:-29,f\u00EB:-29,f\u00EF:102,f\u00F0:-29,f\u00F2:-29,f\u00F3:-29,f\u00F4:-29,f\u00F5:-29,f\u00F6:-29,"f\xF7":-28,f\u00F8:-29,"f\u2026":-57,gT:-51,h1:-40,hT:-68,hV:-51,hW:-51,hY:-74,"h\\":-51,hv:-15,hy:-15,"h\xAE":-8,h\u00DD:-74,h\u00FD:-15,h\u00FF:-15,"h\u2018":-45,"h\u2019":-20,"h\u201C":-45,"h\u201D":-20,i\u00EF:63,j\u00EF:63,"k+":-45,"k-":-45,k4:-45,"k<":-85,kT:-57,kc:-22,kd:-22,ke:-22,kg:-22,ko:-22,kq:-22,"k~":-45,"k\xA2":-22,"k\xAB":-51,"k\xAC":-68,"k\xB7":-45,k\u00E7:-22,k\u00E8:-22,k\u00E9:-22,k\u00EA:-22,k\u00EB:-22,k\u00F0:-22,k\u00F2:-22,k\u00F3:-22,k\u00F4:-22,k\u00F5:-22,k\u00F6:-22,"k\xF7":-45,k\u00F8:-22,lt:15,lv:5,ly:5,l\u00D0:34,l\u00EF:59,l\u00FD:5,l\u00FF:5,m1:-40,mT:-68,mV:-51,mW:-51,mY:-74,"m\\":-51,mv:-15,my:-15,"m\xAE":-8,m\u00DD:-74,m\u00FD:-15,m\u00FF:-15,"m\u2018":-45,"m\u2019":-20,"m\u201C":-45,"m\u201D":-20,n1:-40,nT:-68,nV:-51,nW:-51,nY:-74,"n\\":-51,nv:-15,ny:-15,"n\xAE":-8,n\u00DD:-74,n\u00FD:-15,n\u00FF:-15,"n\u2018":-45,"n\u2019":-20,"n\u201C":-45,"n\u201D":-20,'o"':-15,"o'":-15,"o)":-11,o1:-34,oA:-34,oT:-78,oV:-51,oW:-51,oX:-28,oY:-85,"o\\":-51,"o]":-11,oa:10,ov:-20,ow:-18,ox:-22,oy:-20,oz:-15,"o}":-11,o\u00AA:-34,"o\xAE":-11,o\u00BA:-34,o\u00C0:-34,o\u00C1:-34,o\u00C2:-34,o\u00C3:-34,o\u00C4:-34,o\u00C5:-34,o\u00C6:-34,o\u00DD:-85,o\u00E0:10,o\u00E1:10,o\u00E2:10,o\u00E3:10,o\u00E4:10,o\u00E5:10,o\u00E6:10,o\u00FD:-20,o\u00FF:-20,"o\u2018":-62,"o\u2019":-24,"o\u201C":-62,"o\u201D":-24,'p"':-15,"p'":-15,"p)":-11,p1:-34,pA:-34,pT:-78,pV:-51,pW:-51,pX:-28,pY:-85,"p\\":-51,"p]":-11,pa:10,pv:-20,pw:-18,px:-22,py:-20,pz:-15,"p}":-11,p\u00AA:-34,"p\xAE":-11,p\u00BA:-34,p\u00C0:-34,p\u00C1:-34,p\u00C2:-34,p\u00C3:-34,p\u00C4:-34,p\u00C5:-34,p\u00C6:-34,p\u00DD:-85,p\u00E0:10,p\u00E1:10,p\u00E2:10,p\u00E3:10,p\u00E4:10,p\u00E5:10,p\u00E6:10,p\u00FD:-20,p\u00FF:-20,"p\u2018":-62,"p\u2019":-24,"p\u201C":-62,"p\u201D":-24,qT:-51,"r+":-40,"r,":-62,"r-":-40,"r.":-62,"r/":-34,"r<":-40,rA:-40,rB:16,rD:16,rE:16,rF:16,rH:16,rI:16,rJ:-57,rK:16,rL:16,rM:16,rN:16,rP:16,rR:16,rT:-57,rZ:-34,rb:16,rc:-17,rd:-17,re:-17,rf:16,rg:-17,rh:16,ri:10,rj:16,rk:16,rl:16,rm:16,rn:16,ro:-17,rp:16,rq:-17,rr:16,rt:16,rv:16,rw:8,rx:16,ry:16,"r|":16,"r~":-40,"r\xA2":-17,"r\xAC":-34,"r\xB7":-40,r\u00C0:-40,r\u00C1:-40,r\u00C2:-40,r\u00C3:-40,r\u00C4:-40,r\u00C5:-40,r\u00C6:-40,r\u00C8:16,r\u00C9:16,r\u00CA:16,r\u00CB:16,r\u00CC:16,r\u00CD:16,r\u00D1:16,r\u00DE:16,r\u00DF:16,r\u00E7:-17,r\u00E8:-17,r\u00E9:-17,r\u00EA:-17,r\u00EB:-17,r\u00EC:10,r\u00ED:10,r\u00EE:10,r\u00EF:34,r\u00F0:-17,r\u00F1:16,r\u00F2:-17,r\u00F3:-17,r\u00F4:-17,r\u00F5:-17,r\u00F6:-17,"r\xF7":-40,r\u00F8:-17,r\u00FD:16,r\u00FE:16,r\u00FF:16,"r\u2018":-40,"r\u2019":16,"r\u201C":-40,"r\u201D":16,"r\u2026":-62,sT:-74,sV:-45,sW:-34,sY:-74,"s\\":-45,"s\xAE":-8,s\u00DD:-74,"s\u2018":-51,"s\u201C":-51,"t+":-20,"t-":-20,t4:-14,"t<":-28,tT:-34,tV:-10,tW:-10,tY:-16,"t\\":-10,ta:5,tc:-10,td:-10,te:-10,tf:-24,tg:-10,tj:10,to:-10,tq:-10,ts:-10,tv:20,tw:15,ty:20,"t~":-20,"t\xA2":-10,"t\xAC":-20,"t\xB7":-20,"t\xD7":-11,t\u00DD:-16,t\u00E0:5,t\u00E1:5,t\u00E2:5,t\u00E3:5,t\u00E4:5,t\u00E5:5,t\u00E6:5,t\u00E7:-10,t\u00E8:-10,t\u00E9:-10,t\u00EA:-10,t\u00EB:-10,t\u00F0:-10,t\u00F2:-10,t\u00F3:-10,t\u00F4:-10,t\u00F5:-10,t\u00F6:-10,"t\xF7":-20,t\u00F8:-10,t\u00FD:20,t\u00FF:20,"t\u2018":-40,"t\u201C":-40,"u+":-40,"u-":-40,"u/":-34,"u<":-40,uT:-51,uY:-57,u_:-34,"u~":-40,"u\xAC":-34,"u\xB7":-40,u\u00DD:-57,"u\xF7":-40,"u\u2018":-40,"u\u2019":14,"u\u201C":-40,"u\u201D":14,"v+":-40,"v,":-44,"v-":-40,"v.":-44,"v/":-57,"v<":-34,"v=":-40,vA:-68,vB:5,vD:5,vE:5,vF:5,vH:5,vI:5,vJ:-62,vK:5,vL:5,vM:5,vN:5,vP:5,vR:5,vT:-34,vY:-34,v_:-79,va:-5,vb:5,vc:-20,vd:-20,ve:-20,vf:15,vg:-20,vh:5,vk:5,vl:5,vo:-20,vq:-20,vt:15,"v|":5,"v~":-40,"v\xA2":-20,"v\xAB":-40,"v\xAC":-40,"v\xB1":-40,"v\xB7":-40,v\u00C0:-68,v\u00C1:-68,v\u00C2:-68,v\u00C3:-68,v\u00C4:-68,v\u00C5:-68,v\u00C6:-68,v\u00C8:5,v\u00C9:5,v\u00CA:5,v\u00CB:5,v\u00CC:5,v\u00CD:5,v\u00D1:5,v\u00DD:-34,v\u00DE:5,v\u00DF:5,v\u00E0:-5,v\u00E1:-5,v\u00E2:-5,v\u00E3:-5,v\u00E4:-5,v\u00E5:-5,v\u00E6:-5,v\u00E7:-20,v\u00E8:-20,v\u00E9:-20,v\u00EA:-20,v\u00EB:-20,v\u00F0:-20,v\u00F2:-20,v\u00F3:-20,v\u00F4:-20,v\u00F5:-20,v\u00F6:-20,"v\xF7":-40,v\u00F8:-20,v\u00FE:5,"v\u2026":-74,"w&":-34,"w,":-74,"w.":-74,wA:-68,wJ:-57,wT:-51,wZ:-34,wc:-18,wd:-18,we:-18,wg:-18,wo:-18,wq:-18,"w\xA2":-18,"w\xAB":-34,w\u00C0:-68,w\u00C1:-68,w\u00C2:-68,w\u00C3:-68,w\u00C4:-68,w\u00C5:-68,w\u00C6:-68,w\u00E7:-18,w\u00E8:-18,w\u00E9:-18,w\u00EA:-18,w\u00EB:-18,w\u00F0:-18,w\u00F2:-18,w\u00F3:-18,w\u00F4:-18,w\u00F5:-18,w\u00F6:-18,w\u00F8:-18,"w\u2026":-74,"x+":-22,"x-":-22,"x=":-34,xT:-62,xc:-22,xd:-22,xe:-22,xf:20,xg:-22,xo:-22,xq:-22,xt:20,"x~":-22,"x\xA2":-22,"x\xAB":-34,"x\xAC":-22,"x\xB1":-34,"x\xB7":-22,x\u00E7:-22,x\u00E8:-22,x\u00E9:-22,x\u00EA:-22,x\u00EB:-22,x\u00F0:-22,x\u00F2:-22,x\u00F3:-22,x\u00F4:-22,x\u00F5:-22,x\u00F6:-22,"x\xF7":-22,x\u00F8:-22,"y+":-40,"y,":-44,"y-":-40,"y.":-44,"y/":-57,"y<":-34,"y=":-40,yA:-68,yB:5,yD:5,yE:5,yF:5,yH:5,yI:5,yJ:-62,yK:5,yL:5,yM:5,yN:5,yP:5,yR:5,yT:-34,yY:-34,y_:-79,ya:-5,yb:5,yc:-20,yd:-20,ye:-20,yf:15,yg:-20,yh:5,yk:5,yl:5,yo:-20,yq:-20,yt:15,"y|":5,"y~":-40,"y\xA2":-20,"y\xAB":-40,"y\xAC":-40,"y\xB1":-40,"y\xB7":-40,y\u00C0:-68,y\u00C1:-68,y\u00C2:-68,y\u00C3:-68,y\u00C4:-68,y\u00C5:-68,y\u00C6:-68,y\u00C8:5,y\u00C9:5,y\u00CA:5,y\u00CB:5,y\u00CC:5,y\u00CD:5,y\u00D1:5,y\u00DD:-34,y\u00DE:5,y\u00DF:5,y\u00E0:-5,y\u00E1:-5,y\u00E2:-5,y\u00E3:-5,y\u00E4:-5,y\u00E5:-5,y\u00E6:-5,y\u00E7:-20,y\u00E8:-20,y\u00E9:-20,y\u00EA:-20,y\u00EB:-20,y\u00F0:-20,y\u00F2:-20,y\u00F3:-20,y\u00F4:-20,y\u00F5:-20,y\u00F6:-20,"y\xF7":-40,y\u00F8:-20,y\u00FE:5,"y\u2026":-74,zT:-34,zc:-15,zd:-15,ze:-15,zg:-15,zo:-15,zq:-15,"z\xA2":-15,z\u00E7:-15,z\u00E8:-15,z\u00E9:-15,z\u00EA:-15,z\u00EB:-15,z\u00F0:-15,z\u00F2:-15,z\u00F3:-15,z\u00F4:-15,z\u00F5:-15,z\u00F6:-15,z\u00F8:-15,"{c":-11,"{d":-11,"{e":-11,"{g":-11,"{j":28,"{o":-11,"{q":-11,"{\xA2":-11,"{\xE7":-11,"{\xE8":-11,"{\xE9":-11,"{\xEA":-11,"{\xEB":-11,"{\xF0":-11,"{\xF2":-11,"{\xF3":-11,"{\xF4":-11,"{\xF5":-11,"{\xF6":-11,"{\xF8":-11,"|t":15,"|v":5,"|y":5,"|\xD0":34,"|\xEF":59,"|\xFD":5,"|\xFF":5,"}\u2018":-34,"}\u201C":-34,"~2":-34,"~3":-11,"~7":-22,"~A":-34,"~J":-45,"~T":-74,"~V":-51,"~W":-51,"~X":-34,"~Y":-79,"~\\":-51,"~x":-22,"~\xB6":-17,"~\xC0":-34,"~\xC1":-34,"~\xC2":-34,"~\xC3":-34,"~\xC4":-34,"~\xC5":-34,"~\xC6":-34,"~\xDD":-79,"~\u2018":-62,"~\u201C":-62,"\xA1T":-68,"\xA1V":-34,"\xA1Y":-68,"\xA1\\":-34,"\xA1\xDD":-68,"\xA1\u2018":-34,"\xA1\u201C":-34,'\xA2"':-15,"\xA2'":-15,"\xA2)":-11,"\xA21":-34,"\xA2A":-34,"\xA2T":-78,"\xA2V":-51,"\xA2W":-51,"\xA2X":-28,"\xA2Y":-85,"\xA2\\":-51,"\xA2]":-11,"\xA2a":10,"\xA2v":-20,"\xA2w":-18,"\xA2x":-22,"\xA2y":-20,"\xA2z":-15,"\xA2}":-11,"\xA2\xAA":-34,"\xA2\xAE":-11,"\xA2\xBA":-34,"\xA2\xC0":-34,"\xA2\xC1":-34,"\xA2\xC2":-34,"\xA2\xC3":-34,"\xA2\xC4":-34,"\xA2\xC5":-34,"\xA2\xC6":-34,"\xA2\xDD":-85,"\xA2\xE0":10,"\xA2\xE1":10,"\xA2\xE2":10,"\xA2\xE3":10,"\xA2\xE4":10,"\xA2\xE5":10,"\xA2\xE6":10,"\xA2\xFD":-20,"\xA2\xFF":-20,"\xA2\u2018":-62,"\xA2\u2019":-24,"\xA2\u201C":-62,"\xA2\u201D":-24,"\xA5i":34,"\xA5\xEC":34,"\xA5\xED":34,"\xA5\xEE":34,"\xA9,":-44,"\xA9.":-44,"\xA9/":-40,"\xA9A":-34,"\xA9T":-30,"\xA9V":-34,"\xA9X":-34,"\xA9Y":-34,"\xA9\\":-34,"\xA9_":-40,"\xA9\xAE":-5,"\xA9\xC0":-34,"\xA9\xC1":-34,"\xA9\xC2":-34,"\xA9\xC3":-34,"\xA9\xC4":-34,"\xA9\xC5":-34,"\xA9\xC6":-34,"\xA9\xDD":-34,"\xA9\u2018":-34,"\xA9\u201C":-34,"\xA9\u2026":-44,"\xAA&":-40,\u00AAA:-74,\u00AAJ:-74,\u00AAc:-34,\u00AAd:-34,\u00AAe:-34,\u00AAg:-34,\u00AAo:-34,\u00AAq:-34,"\xAA\xA2":-34,\u00AA\u00C0:-74,\u00AA\u00C1:-74,\u00AA\u00C2:-74,\u00AA\u00C3:-74,\u00AA\u00C4:-74,\u00AA\u00C5:-74,\u00AA\u00C6:-74,\u00AA\u00E7:-34,\u00AA\u00E8:-34,\u00AA\u00E9:-34,\u00AA\u00EA:-34,\u00AA\u00EB:-34,\u00AA\u00F0:-34,\u00AA\u00F2:-34,\u00AA\u00F3:-34,\u00AA\u00F4:-34,\u00AA\u00F5:-34,\u00AA\u00F6:-34,\u00AA\u00F8:-34,"\xABA":-34,"\xABT":-51,"\xABY":-62,"\xAB\xC0":-34,"\xAB\xC1":-34,"\xAB\xC2":-34,"\xAB\xC3":-34,"\xAB\xC4":-34,"\xAB\xC5":-34,"\xAB\xC6":-34,"\xAB\xDD":-62,"\xACT":-51,"\xAE&":-34,"\xAE4":-49,"\xAE@":-5,"\xAEA":-71,"\xAEC":-5,"\xAEG":-5,"\xAEJ":-71,"\xAEO":-5,"\xAEQ":-5,"\xAEX":-7,"\xAEY":-8,"\xAEa":-11,"\xAEc":-28,"\xAEd":-28,"\xAEe":-28,"\xAEg":-28,"\xAEo":-28,"\xAEq":-28,"\xAEs":-11,"\xAE\xA2":-28,"\xAE\xA9":-5,"\xAE\xC0":-71,"\xAE\xC1":-71,"\xAE\xC2":-71,"\xAE\xC3":-71,"\xAE\xC4":-71,"\xAE\xC5":-71,"\xAE\xC6":-71,"\xAE\xC7":-5,"\xAE\xD2":-5,"\xAE\xD3":-5,"\xAE\xD4":-5,"\xAE\xD5":-5,"\xAE\xD6":-5,"\xAE\xD8":-5,"\xAE\xDD":-8,"\xAE\xE0":-11,"\xAE\xE1":-11,"\xAE\xE2":-11,"\xAE\xE3":-11,"\xAE\xE4":-11,"\xAE\xE5":-11,"\xAE\xE6":-11,"\xAE\xE7":-28,"\xAE\xE8":-28,"\xAE\xE9":-28,"\xAE\xEA":-28,"\xAE\xEB":-28,"\xAE\xF0":-28,"\xAE\xF2":-28,"\xAE\xF3":-28,"\xAE\xF4":-28,"\xAE\xF5":-28,"\xAE\xF6":-28,"\xAE\xF8":-28,"\xB0&":-34,"\xB0,":-136,"\xB0.":-136,"\xB04":-45,"\xB0@":-11,"\xB0A":-79,"\xB0C":-11,"\xB0G":-11,"\xB0J":-96,"\xB0O":-11,"\xB0Q":-11,"\xB0_":-68,"\xB0\xA9":-11,"\xB0\xC0":-79,"\xB0\xC1":-79,"\xB0\xC2":-79,"\xB0\xC3":-79,"\xB0\xC4":-79,"\xB0\xC5":-79,"\xB0\xC6":-79,"\xB0\xC7":-11,"\xB0\xD2":-11,"\xB0\xD3":-11,"\xB0\xD4":-11,"\xB0\xD5":-11,"\xB0\xD6":-11,"\xB0\xD8":-11,"\xB0\u2026":-136,"\xB1A":-51,"\xB1T":-45,"\xB1V":-68,"\xB1W":-62,"\xB1X":-51,"\xB1Y":-96,"\xB1\\":-68,"\xB1v":-40,"\xB1x":-34,"\xB1y":-40,"\xB1\xC0":-51,"\xB1\xC1":-51,"\xB1\xC2":-51,"\xB1\xC3":-51,"\xB1\xC4":-51,"\xB1\xC5":-51,"\xB1\xC6":-51,"\xB1\xDD":-96,"\xB1\xFD":-40,"\xB1\xFF":-40,"\xB1\u2018":-57,"\xB1\u201C":-57,"\xB5+":-40,"\xB5-":-40,"\xB5/":-34,"\xB5<":-40,\u00B5T:-51,\u00B5Y:-57,\u00B5_:-34,"\xB5~":-40,"\xB5\xAC":-34,"\xB5\xB7":-40,\u00B5\u00DD:-57,"\xB5\xF7":-40,"\xB5\u2018":-51,"\xB5\u2019":14,"\xB5\u201C":-51,"\xB5\u201D":14,"\xB6t":15,"\xB6v":5,"\xB6y":5,"\xB6\xD0":34,"\xB6\xEF":59,"\xB6\xFD":5,"\xB6\xFF":5,"\xB72":-34,"\xB73":-11,"\xB77":-22,"\xB7A":-34,"\xB7J":-45,"\xB7T":-79,"\xB7V":-40,"\xB7W":-51,"\xB7X":-45,"\xB7Y":-51,"\xB7\\":-40,"\xB7x":-22,"\xB7\xB6":-17,"\xB7\xC0":-34,"\xB7\xC1":-34,"\xB7\xC2":-34,"\xB7\xC3":-34,"\xB7\xC4":-34,"\xB7\xC5":-34,"\xB7\xC6":-34,"\xB7\xDD":-51,"\xB7\u2018":-62,"\xB7\u201C":-62,"\xBA&":-40,\u00BAA:-74,\u00BAJ:-74,\u00BAc:-34,\u00BAd:-34,\u00BAe:-34,\u00BAg:-34,\u00BAo:-34,\u00BAq:-34,"\xBA\xA2":-34,\u00BA\u00C0:-74,\u00BA\u00C1:-74,\u00BA\u00C2:-74,\u00BA\u00C3:-74,\u00BA\u00C4:-74,\u00BA\u00C5:-74,\u00BA\u00C6:-74,\u00BA\u00E7:-34,\u00BA\u00E8:-34,\u00BA\u00E9:-34,\u00BA\u00EA:-34,\u00BA\u00EB:-34,\u00BA\u00F0:-34,\u00BA\u00F2:-34,\u00BA\u00F3:-34,\u00BA\u00F4:-34,\u00BA\u00F5:-34,\u00BA\u00F6:-34,\u00BA\u00F8:-34,"\xBB1":-40,"\xBB2":-51,"\xBB3":-45,"\xBB7":-51,"\xBB8":-34,"\xBBA":-34,"\xBBT":-130,"\xBBV":-62,"\xBBW":-57,"\xBBX":-40,"\xBBY":-91,"\xBBZ":-34,"\xBB\\":-62,"\xBBv":-34,"\xBBw":-34,"\xBBx":-34,"\xBBy":-34,"\xBB\xC0":-34,"\xBB\xC1":-34,"\xBB\xC2":-34,"\xBB\xC3":-34,"\xBB\xC4":-34,"\xBB\xC5":-34,"\xBB\xC6":-34,"\xBB\xDD":-91,"\xBB\xFD":-34,"\xBB\xFF":-34,"\xBB\u2018":-85,"\xBB\u201C":-85,"\xBFT":-68,"\xBFV":-78,"\xBFW":-73,"\xBF\\":-78,"\xBF\u2018":-62,"\xBF\u2019":-34,"\xBF\u201C":-62,"\xBF\u201D":-34,'\xC0"':-79,"\xC0'":-79,"\xC0*":-79,"\xC0+":-34,"\xC0-":-34,"\xC0/":20,\u00C01:-34,"\xC0=":-51,"\xC0?":-62,"\xC0@":-34,\u00C0A:15,\u00C0C:-34,\u00C0G:-34,\u00C0O:-34,\u00C0Q:-34,\u00C0T:-85,\u00C0U:-20,\u00C0V:-68,\u00C0W:-57,\u00C0Y:-74,"\xC0\\":-68,"\xC0^":-79,\u00C0i:5,\u00C0t:-20,\u00C0v:-68,\u00C0w:-68,\u00C0y:-68,"\xC0~":-34,"\xC0\xA9":-34,\u00C0\u00AA:-74,"\xC0\xAB":-34,"\xC0\xAC":-34,"\xC0\xAE":-71,"\xC0\xB0":-79,"\xC0\xB1":-51,"\xC0\xB6":-49,"\xC0\xB7":-34,\u00C0\u00BA:-74,"\xC0\xBB":-34,\u00C0\u00C0:15,\u00C0\u00C1:15,\u00C0\u00C2:15,\u00C0\u00C3:15,\u00C0\u00C4:15,\u00C0\u00C5:15,\u00C0\u00C6:15,\u00C0\u00C7:-34,\u00C0\u00D2:-34,\u00C0\u00D3:-34,\u00C0\u00D4:-34,\u00C0\u00D5:-34,\u00C0\u00D6:-34,"\xC0\xD7":-34,\u00C0\u00D8:-34,\u00C0\u00D9:-20,\u00C0\u00DA:-20,\u00C0\u00DB:-20,\u00C0\u00DC:-20,\u00C0\u00DD:-74,\u00C0\u00EC:5,\u00C0\u00ED:5,\u00C0\u00EE:5,"\xC0\xF7":-34,\u00C0\u00FD:-68,\u00C0\u00FF:-68,"\xC0\u2018":-130,"\xC0\u2019":-102,"\xC0\u201C":-130,"\xC0\u201D":-102,'\xC1"':-79,"\xC1'":-79,"\xC1*":-79,"\xC1+":-34,"\xC1-":-34,"\xC1/":20,\u00C11:-34,"\xC1=":-51,"\xC1?":-62,"\xC1@":-34,\u00C1A:15,\u00C1C:-34,\u00C1G:-34,\u00C1O:-34,\u00C1Q:-34,\u00C1T:-85,\u00C1U:-20,\u00C1V:-68,\u00C1W:-57,\u00C1Y:-74,"\xC1\\":-68,"\xC1^":-79,\u00C1i:5,\u00C1t:-20,\u00C1v:-68,\u00C1w:-68,\u00C1y:-68,"\xC1~":-34,"\xC1\xA9":-34,\u00C1\u00AA:-74,"\xC1\xAB":-34,"\xC1\xAC":-34,"\xC1\xAE":-71,"\xC1\xB0":-79,"\xC1\xB1":-51,"\xC1\xB6":-49,"\xC1\xB7":-34,\u00C1\u00BA:-74,"\xC1\xBB":-34,\u00C1\u00C0:15,\u00C1\u00C1:15,\u00C1\u00C2:15,\u00C1\u00C3:15,\u00C1\u00C4:15,\u00C1\u00C5:15,\u00C1\u00C6:15,\u00C1\u00C7:-34,\u00C1\u00D2:-34,\u00C1\u00D3:-34,\u00C1\u00D4:-34,\u00C1\u00D5:-34,\u00C1\u00D6:-34,"\xC1\xD7":-34,\u00C1\u00D8:-34,\u00C1\u00D9:-20,\u00C1\u00DA:-20,\u00C1\u00DB:-20,\u00C1\u00DC:-20,\u00C1\u00DD:-74,\u00C1\u00EC:5,\u00C1\u00ED:5,\u00C1\u00EE:5,"\xC1\xF7":-34,\u00C1\u00FD:-68,\u00C1\u00FF:-68,"\xC1\u2018":-130,"\xC1\u2019":-102,"\xC1\u201C":-130,"\xC1\u201D":-102,'\xC2"':-79,"\xC2'":-79,"\xC2*":-79,"\xC2+":-34,"\xC2-":-34,"\xC2/":20,\u00C21:-34,"\xC2=":-51,"\xC2?":-62,"\xC2@":-34,\u00C2A:15,\u00C2C:-34,\u00C2G:-34,\u00C2O:-34,\u00C2Q:-34,\u00C2T:-85,\u00C2U:-20,\u00C2V:-68,\u00C2W:-57,\u00C2Y:-74,"\xC2\\":-68,"\xC2^":-79,\u00C2i:5,\u00C2t:-20,\u00C2v:-68,\u00C2w:-68,\u00C2y:-68,"\xC2~":-34,"\xC2\xA9":-34,\u00C2\u00AA:-74,"\xC2\xAB":-34,"\xC2\xAC":-34,"\xC2\xAE":-71,"\xC2\xB0":-79,"\xC2\xB1":-51,"\xC2\xB6":-49,"\xC2\xB7":-34,\u00C2\u00BA:-74,"\xC2\xBB":-34,\u00C2\u00C0:15,\u00C2\u00C1:15,\u00C2\u00C2:15,\u00C2\u00C3:15,\u00C2\u00C4:15,\u00C2\u00C5:15,\u00C2\u00C6:15,\u00C2\u00C7:-34,\u00C2\u00D2:-34,\u00C2\u00D3:-34,\u00C2\u00D4:-34,\u00C2\u00D5:-34,\u00C2\u00D6:-34,"\xC2\xD7":-34,\u00C2\u00D8:-34,\u00C2\u00D9:-20,\u00C2\u00DA:-20,\u00C2\u00DB:-20,\u00C2\u00DC:-20,\u00C2\u00DD:-74,\u00C2\u00EC:5,\u00C2\u00ED:5,\u00C2\u00EE:5,"\xC2\xF7":-34,\u00C2\u00FD:-68,\u00C2\u00FF:-68,"\xC2\u2018":-130,"\xC2\u2019":-102,"\xC2\u201C":-130,"\xC2\u201D":-102,'\xC3"':-79,"\xC3'":-79,"\xC3*":-79,"\xC3+":-34,"\xC3-":-34,"\xC3/":20,\u00C31:-34,"\xC3=":-51,"\xC3?":-62,"\xC3@":-34,\u00C3A:15,\u00C3C:-34,\u00C3G:-34,\u00C3O:-34,\u00C3Q:-34,\u00C3T:-85,\u00C3U:-20,\u00C3V:-68,\u00C3W:-57,\u00C3Y:-74,"\xC3\\":-68,"\xC3^":-79,\u00C3i:5,\u00C3t:-20,\u00C3v:-68,\u00C3w:-68,\u00C3y:-68,"\xC3~":-34,"\xC3\xA9":-34,\u00C3\u00AA:-74,"\xC3\xAB":-34,"\xC3\xAC":-34,"\xC3\xAE":-71,"\xC3\xB0":-79,"\xC3\xB1":-51,"\xC3\xB6":-49,"\xC3\xB7":-34,\u00C3\u00BA:-74,"\xC3\xBB":-34,\u00C3\u00C0:15,\u00C3\u00C1:15,\u00C3\u00C2:15,\u00C3\u00C3:15,\u00C3\u00C4:15,\u00C3\u00C5:15,\u00C3\u00C6:15,\u00C3\u00C7:-34,\u00C3\u00D2:-34,\u00C3\u00D3:-34,\u00C3\u00D4:-34,\u00C3\u00D5:-34,\u00C3\u00D6:-34,"\xC3\xD7":-34,\u00C3\u00D8:-34,\u00C3\u00D9:-20,\u00C3\u00DA:-20,\u00C3\u00DB:-20,\u00C3\u00DC:-20,\u00C3\u00DD:-74,\u00C3\u00EC:5,\u00C3\u00ED:5,\u00C3\u00EE:5,"\xC3\xF7":-34,\u00C3\u00FD:-68,\u00C3\u00FF:-68,"\xC3\u2018":-130,"\xC3\u2019":-102,"\xC3\u201C":-130,"\xC3\u201D":-102,'\xC4"':-79,"\xC4'":-79,"\xC4*":-79,"\xC4+":-34,"\xC4-":-34,"\xC4/":20,\u00C41:-34,"\xC4=":-51,"\xC4?":-62,"\xC4@":-34,\u00C4A:15,\u00C4C:-34,\u00C4G:-34,\u00C4O:-34,\u00C4Q:-34,\u00C4T:-85,\u00C4U:-20,\u00C4V:-68,\u00C4W:-57,\u00C4Y:-74,"\xC4\\":-68,"\xC4^":-79,\u00C4i:5,\u00C4t:-20,\u00C4v:-68,\u00C4w:-68,\u00C4y:-68,"\xC4~":-34,"\xC4\xA9":-34,\u00C4\u00AA:-74,"\xC4\xAB":-34,"\xC4\xAC":-34,"\xC4\xAE":-71,"\xC4\xB0":-79,"\xC4\xB1":-51,"\xC4\xB6":-49,"\xC4\xB7":-34,\u00C4\u00BA:-74,"\xC4\xBB":-34,\u00C4\u00C0:15,\u00C4\u00C1:15,\u00C4\u00C2:15,\u00C4\u00C3:15,\u00C4\u00C4:15,\u00C4\u00C5:15,\u00C4\u00C6:15,\u00C4\u00C7:-34,\u00C4\u00D2:-34,\u00C4\u00D3:-34,\u00C4\u00D4:-34,\u00C4\u00D5:-34,\u00C4\u00D6:-34,"\xC4\xD7":-34,\u00C4\u00D8:-34,\u00C4\u00D9:-20,\u00C4\u00DA:-20,\u00C4\u00DB:-20,\u00C4\u00DC:-20,\u00C4\u00DD:-74,\u00C4\u00EC:5,\u00C4\u00ED:5,\u00C4\u00EE:5,"\xC4\xF7":-34,\u00C4\u00FD:-68,\u00C4\u00FF:-68,"\xC4\u2018":-130,"\xC4\u2019":-102,"\xC4\u201C":-130,"\xC4\u201D":-102,'\xC5"':-79,"\xC5'":-79,"\xC5*":-79,"\xC5+":-34,"\xC5-":-34,"\xC5/":20,\u00C51:-34,"\xC5=":-51,"\xC5?":-62,"\xC5@":-34,\u00C5A:15,\u00C5C:-34,\u00C5G:-34,\u00C5O:-34,\u00C5Q:-34,\u00C5T:-85,\u00C5U:-20,\u00C5V:-68,\u00C5W:-57,\u00C5Y:-74,"\xC5\\":-68,"\xC5^":-79,\u00C5i:5,\u00C5t:-20,\u00C5v:-68,\u00C5w:-68,\u00C5y:-68,"\xC5~":-34,"\xC5\xA9":-34,\u00C5\u00AA:-74,"\xC5\xAB":-34,"\xC5\xAC":-34,"\xC5\xAE":-71,"\xC5\xB0":-79,"\xC5\xB1":-51,"\xC5\xB6":-49,"\xC5\xB7":-34,\u00C5\u00BA:-74,"\xC5\xBB":-34,\u00C5\u00C0:15,\u00C5\u00C1:15,\u00C5\u00C2:15,\u00C5\u00C3:15,\u00C5\u00C4:15,\u00C5\u00C5:15,\u00C5\u00C6:15,\u00C5\u00C7:-34,\u00C5\u00D2:-34,\u00C5\u00D3:-34,\u00C5\u00D4:-34,\u00C5\u00D5:-34,\u00C5\u00D6:-34,"\xC5\xD7":-34,\u00C5\u00D8:-34,\u00C5\u00D9:-20,\u00C5\u00DA:-20,\u00C5\u00DB:-20,\u00C5\u00DC:-20,\u00C5\u00DD:-74,\u00C5\u00EC:5,\u00C5\u00ED:5,\u00C5\u00EE:5,"\xC5\xF7":-34,\u00C5\u00FD:-68,\u00C5\u00FF:-68,"\xC5\u2018":-130,"\xC5\u2019":-102,"\xC5\u201C":-130,"\xC5\u201D":-102,\u00C6\u00EF:74,\u00C7A:-20,\u00C7X:-5,\u00C7_:-40,\u00C7\u00C0:-20,\u00C7\u00C1:-20,\u00C7\u00C2:-20,\u00C7\u00C3:-20,\u00C7\u00C4:-20,\u00C7\u00C5:-20,\u00C7\u00C6:-20,\u00C7\u00EF:34,\u00C8\u00EF:74,\u00C9\u00EF:74,\u00CA\u00EF:74,\u00CB\u00EF:74,\u00CCt:15,\u00CCv:5,\u00CCy:5,\u00CC\u00D0:34,\u00CC\u00EF:59,\u00CC\u00FD:5,\u00CC\u00FF:5,\u00CDt:15,\u00CDv:5,\u00CDy:5,\u00CD\u00D0:34,\u00CD\u00EF:59,\u00CD\u00FD:5,\u00CD\u00FF:5,\u00CE\u00EF:20,\u00CF\u00EF:20,"\xD0,":-44,"\xD0.":-44,"\xD0/":-40,\u00D0A:-34,\u00D0T:-30,\u00D0V:-34,\u00D0X:-34,\u00D0Y:-34,"\xD0\\":-34,\u00D0_:-40,"\xD0\xAE":-5,\u00D0\u00C0:-34,\u00D0\u00C1:-34,\u00D0\u00C2:-34,\u00D0\u00C3:-34,\u00D0\u00C4:-34,\u00D0\u00C5:-34,\u00D0\u00C6:-34,\u00D0\u00DD:-34,"\xD0\u2018":-34,"\xD0\u201C":-34,"\xD0\u2026":-44,\u00D1t:15,\u00D1v:5,\u00D1y:5,\u00D1\u00D0:34,\u00D1\u00EF:59,\u00D1\u00FD:5,\u00D1\u00FF:5,"\xD2,":-44,"\xD2.":-44,"\xD2/":-40,\u00D2A:-34,\u00D2T:-30,\u00D2V:-34,\u00D2X:-34,\u00D2Y:-34,"\xD2\\":-34,\u00D2_:-40,"\xD2\xAE":-5,\u00D2\u00C0:-34,\u00D2\u00C1:-34,\u00D2\u00C2:-34,\u00D2\u00C3:-34,\u00D2\u00C4:-34,\u00D2\u00C5:-34,\u00D2\u00C6:-34,\u00D2\u00DD:-34,"\xD2\u2018":-34,"\xD2\u201C":-34,"\xD2\u2026":-44,"\xD3,":-44,"\xD3.":-44,"\xD3/":-40,\u00D3A:-34,\u00D3T:-30,\u00D3V:-34,\u00D3X:-34,\u00D3Y:-34,"\xD3\\":-34,\u00D3_:-40,"\xD3\xAE":-5,\u00D3\u00C0:-34,\u00D3\u00C1:-34,\u00D3\u00C2:-34,\u00D3\u00C3:-34,\u00D3\u00C4:-34,\u00D3\u00C5:-34,\u00D3\u00C6:-34,\u00D3\u00DD:-34,"\xD3\u2018":-34,"\xD3\u201C":-34,"\xD3\u2026":-44,"\xD4,":-44,"\xD4.":-44,"\xD4/":-40,\u00D4A:-34,\u00D4T:-30,\u00D4V:-34,\u00D4X:-34,\u00D4Y:-34,"\xD4\\":-34,\u00D4_:-40,"\xD4\xAE":-5,\u00D4\u00C0:-34,\u00D4\u00C1:-34,\u00D4\u00C2:-34,\u00D4\u00C3:-34,\u00D4\u00C4:-34,\u00D4\u00C5:-34,\u00D4\u00C6:-34,\u00D4\u00DD:-34,"\xD4\u2018":-34,"\xD4\u201C":-34,"\xD4\u2026":-44,"\xD5,":-44,"\xD5.":-44,"\xD5/":-40,\u00D5A:-34,\u00D5T:-30,\u00D5V:-34,\u00D5X:-34,\u00D5Y:-34,"\xD5\\":-34,\u00D5_:-40,"\xD5\xAE":-5,\u00D5\u00C0:-34,\u00D5\u00C1:-34,\u00D5\u00C2:-34,\u00D5\u00C3:-34,\u00D5\u00C4:-34,\u00D5\u00C5:-34,\u00D5\u00C6:-34,\u00D5\u00DD:-34,"\xD5\u2018":-34,"\xD5\u201C":-34,"\xD5\u2026":-44,"\xD6,":-44,"\xD6.":-44,"\xD6/":-40,\u00D6A:-34,\u00D6T:-30,\u00D6V:-34,\u00D6X:-34,\u00D6Y:-34,"\xD6\\":-34,\u00D6_:-40,"\xD6\xAE":-5,\u00D6\u00C0:-34,\u00D6\u00C1:-34,\u00D6\u00C2:-34,\u00D6\u00C3:-34,\u00D6\u00C4:-34,\u00D6\u00C5:-34,\u00D6\u00C6:-34,\u00D6\u00DD:-34,"\xD6\u2018":-34,"\xD6\u201C":-34,"\xD6\u2026":-44,"\xD7A":-34,"\xD7T":-57,"\xD7V":-40,"\xD7X":-45,"\xD7Y":-45,"\xD7\\":-40,"\xD7\xC0":-34,"\xD7\xC1":-34,"\xD7\xC2":-34,"\xD7\xC3":-34,"\xD7\xC4":-34,"\xD7\xC5":-34,"\xD7\xC6":-34,"\xD7\xDD":-45,"\xD8,":-44,"\xD8.":-44,"\xD8/":-40,\u00D8A:-34,\u00D8T:-30,\u00D8V:-34,\u00D8X:-34,\u00D8Y:-34,"\xD8\\":-34,\u00D8_:-40,"\xD8\xAE":-5,\u00D8\u00C0:-34,\u00D8\u00C1:-34,\u00D8\u00C2:-34,\u00D8\u00C3:-34,\u00D8\u00C4:-34,\u00D8\u00C5:-34,\u00D8\u00C6:-34,\u00D8\u00DD:-34,"\xD8\u2018":-34,"\xD8\u201C":-34,"\xD8\u2026":-44,"\xD9,":-34,"\xD9.":-34,"\xD9/":-57,\u00D9A:-20,\u00D9_:-51,\u00D9\u00C0:-20,\u00D9\u00C1:-20,\u00D9\u00C2:-20,\u00D9\u00C3:-20,\u00D9\u00C4:-20,\u00D9\u00C5:-20,\u00D9\u00C6:-20,"\xD9\u2026":-34,"\xDA,":-34,"\xDA.":-34,"\xDA/":-57,\u00DAA:-20,\u00DA_:-51,\u00DA\u00C0:-20,\u00DA\u00C1:-20,\u00DA\u00C2:-20,\u00DA\u00C3:-20,\u00DA\u00C4:-20,\u00DA\u00C5:-20,\u00DA\u00C6:-20,"\xDA\u2026":-34,"\xDB,":-34,"\xDB.":-34,"\xDB/":-57,\u00DBA:-20,\u00DB_:-51,\u00DB\u00C0:-20,\u00DB\u00C1:-20,\u00DB\u00C2:-20,\u00DB\u00C3:-20,\u00DB\u00C4:-20,\u00DB\u00C5:-20,\u00DB\u00C6:-20,"\xDB\u2026":-34,"\xDC,":-34,"\xDC.":-34,"\xDC/":-57,\u00DCA:-20,\u00DC_:-51,\u00DC\u00C0:-20,\u00DC\u00C1:-20,\u00DC\u00C2:-20,\u00DC\u00C3:-20,\u00DC\u00C4:-20,\u00DC\u00C5:-20,\u00DC\u00C6:-20,"\xDC\u2026":-34,"\xDD&":-62,"\xDD+":-79,"\xDD,":-34,"\xDD-":-79,"\xDD.":-34,\u00DD4:-68,"\xDD:":-62,"\xDD;":-62,"\xDD<":-102,"\xDD=":-96,"\xDD@":-34,\u00DDA:-74,\u00DDC:-34,\u00DDG:-34,\u00DDJ:-34,\u00DDO:-34,\u00DDQ:-34,\u00DDT:20,\u00DDa:-71,\u00DDc:-77,\u00DDd:-77,\u00DDe:-77,\u00DDg:-77,\u00DDi:-28,\u00DDm:-39,\u00DDn:-39,\u00DDo:-77,\u00DDp:-39,\u00DDq:-77,\u00DDr:-39,\u00DDs:-68,\u00DDu:-40,"\xDD~":-79,"\xDD\xA2":-77,"\xDD\xA9":-34,"\xDD\xAB":-91,"\xDD\xAC":-51,"\xDD\xAE":-8,"\xDD\xB1":-96,\u00DD\u00B5:-40,"\xDD\xB7":-51,"\xDD\xBB":-62,\u00DD\u00C0:-74,\u00DD\u00C1:-74,\u00DD\u00C2:-74,\u00DD\u00C3:-74,\u00DD\u00C4:-74,\u00DD\u00C5:-74,\u00DD\u00C6:-74,\u00DD\u00C7:-34,\u00DD\u00D2:-34,\u00DD\u00D3:-34,\u00DD\u00D4:-34,\u00DD\u00D5:-34,\u00DD\u00D6:-34,"\xDD\xD7":-45,\u00DD\u00D8:-34,\u00DD\u00E0:-71,\u00DD\u00E1:-71,\u00DD\u00E2:-71,\u00DD\u00E3:-71,\u00DD\u00E4:-49,\u00DD\u00E5:-71,\u00DD\u00E6:-71,\u00DD\u00E7:-77,\u00DD\u00E8:-77,\u00DD\u00E9:-77,\u00DD\u00EA:-77,\u00DD\u00EB:-77,\u00DD\u00EC:-28,\u00DD\u00ED:-28,\u00DD\u00EE:-28,\u00DD\u00F0:-77,\u00DD\u00F1:-39,\u00DD\u00F2:-77,\u00DD\u00F3:-77,\u00DD\u00F4:-77,\u00DD\u00F5:-77,\u00DD\u00F6:-77,"\xDD\xF7":-79,\u00DD\u00F8:-77,\u00DD\u00F9:-40,\u00DD\u00FA:-40,\u00DD\u00FB:-40,\u00DD\u00FC:-40,"\xDD\u2026":-96,"\xDE,":-102,"\xDE.":-102,\u00DEA:-40,\u00DEJ:-40,\u00DET:-57,\u00DEV:-51,\u00DEZ:-40,"\xDE\\":-51,\u00DE\u00C0:-40,\u00DE\u00C1:-40,\u00DE\u00C2:-40,\u00DE\u00C3:-40,\u00DE\u00C4:-40,\u00DE\u00C5:-40,\u00DE\u00C6:-40,"\xDE\u2018":-57,"\xDE\u201C":-57,"\xDE\u2026":-102,\u00DFT:-57,\u00DF\u00EF:34,"\xDF\u2018":-68,"\xDF\u201C":-68,\u00E01:-40,\u00E0T:-68,\u00E0V:-51,\u00E0W:-51,\u00E0Y:-74,"\xE0\\":-51,\u00E0v:-15,\u00E0y:-15,"\xE0\xAE":-8,\u00E0\u00DD:-74,\u00E0\u00FD:-15,\u00E0\u00FF:-15,"\xE0\u2018":-45,"\xE0\u2019":-20,"\xE0\u201C":-45,"\xE0\u201D":-20,\u00E11:-40,\u00E1T:-68,\u00E1V:-51,\u00E1W:-51,\u00E1Y:-74,"\xE1\\":-51,\u00E1v:-15,\u00E1y:-15,"\xE1\xAE":-8,\u00E1\u00DD:-74,\u00E1\u00FD:-15,\u00E1\u00FF:-15,"\xE1\u2018":-45,"\xE1\u2019":-20,"\xE1\u201C":-45,"\xE1\u201D":-20,\u00E21:-40,\u00E2T:-68,\u00E2V:-51,\u00E2W:-51,\u00E2Y:-74,"\xE2\\":-51,\u00E2v:-15,\u00E2y:-15,"\xE2\xAE":-8,\u00E2\u00DD:-74,\u00E2\u00FD:-15,\u00E2\u00FF:-15,"\xE2\u2018":-45,"\xE2\u2019":-20,"\xE2\u201C":-45,"\xE2\u201D":-20,\u00E31:-40,\u00E3T:-68,\u00E3V:-51,\u00E3W:-51,\u00E3Y:-74,"\xE3\\":-51,\u00E3v:-15,\u00E3y:-15,"\xE3\xAE":-8,\u00E3\u00DD:-74,\u00E3\u00FD:-15,\u00E3\u00FF:-15,"\xE3\u2018":-45,"\xE3\u2019":-20,"\xE3\u201C":-45,"\xE3\u201D":-20,\u00E41:-40,\u00E4T:-68,\u00E4V:-51,\u00E4W:-51,\u00E4Y:-74,"\xE4\\":-51,\u00E4v:-15,\u00E4y:-15,"\xE4\xAE":-8,\u00E4\u00DD:-74,\u00E4\u00FD:-15,\u00E4\u00FF:-15,"\xE4\u2018":-45,"\xE4\u2019":-20,"\xE4\u201C":-45,"\xE4\u201D":-20,\u00E51:-40,\u00E5T:-68,\u00E5V:-51,\u00E5W:-51,\u00E5Y:-74,"\xE5\\":-51,\u00E5v:-15,\u00E5y:-15,"\xE5\xAE":-8,\u00E5\u00DD:-74,\u00E5\u00FD:-15,\u00E5\u00FF:-15,"\xE5\u2018":-45,"\xE5\u2019":-20,"\xE5\u201C":-45,"\xE5\u201D":-20,\u00E6T:-79,'\xE7"':-15,"\xE7'":-15,"\xE7)":-11,\u00E71:-34,\u00E7A:-34,\u00E7T:-78,\u00E7V:-51,\u00E7W:-51,\u00E7X:-28,\u00E7Y:-85,"\xE7\\":-51,"\xE7]":-11,\u00E7a:10,\u00E7v:-20,\u00E7w:-18,\u00E7x:-22,\u00E7y:-20,\u00E7z:-15,"\xE7}":-11,\u00E7\u00AA:-34,"\xE7\xAE":-11,\u00E7\u00BA:-34,\u00E7\u00C0:-34,\u00E7\u00C1:-34,\u00E7\u00C2:-34,\u00E7\u00C3:-34,\u00E7\u00C4:-34,\u00E7\u00C5:-34,\u00E7\u00C6:-34,\u00E7\u00DD:-85,\u00E7\u00E0:10,\u00E7\u00E1:10,\u00E7\u00E2:10,\u00E7\u00E3:10,\u00E7\u00E4:10,\u00E7\u00E5:10,\u00E7\u00E6:10,\u00E7\u00FD:-20,\u00E7\u00FF:-20,"\xE7\u2018":-62,"\xE7\u2019":-24,"\xE7\u201C":-62,"\xE7\u201D":-24,'\xE8"':-15,"\xE8'":-15,"\xE8)":-11,\u00E81:-34,\u00E8A:-34,\u00E8T:-78,\u00E8V:-51,\u00E8W:-51,\u00E8X:-28,\u00E8Y:-85,"\xE8\\":-51,"\xE8]":-11,\u00E8a:10,\u00E8v:-20,\u00E8w:-18,\u00E8x:-22,\u00E8y:-20,\u00E8z:-15,"\xE8}":-11,\u00E8\u00AA:-34,"\xE8\xAE":-11,\u00E8\u00BA:-34,\u00E8\u00C0:-34,\u00E8\u00C1:-34,\u00E8\u00C2:-34,\u00E8\u00C3:-34,\u00E8\u00C4:-34,\u00E8\u00C5:-34,\u00E8\u00C6:-34,\u00E8\u00DD:-85,\u00E8\u00E0:10,\u00E8\u00E1:10,\u00E8\u00E2:10,\u00E8\u00E3:10,\u00E8\u00E4:10,\u00E8\u00E5:10,\u00E8\u00E6:10,\u00E8\u00FD:-20,\u00E8\u00FF:-20,"\xE8\u2018":-62,"\xE8\u2019":-24,"\xE8\u201C":-62,"\xE8\u201D":-24,'\xE9"':-15,"\xE9'":-15,"\xE9)":-11,\u00E91:-34,\u00E9A:-34,\u00E9T:-78,\u00E9V:-51,\u00E9W:-51,\u00E9X:-28,\u00E9Y:-85,"\xE9\\":-51,"\xE9]":-11,\u00E9a:10,\u00E9v:-20,\u00E9w:-18,\u00E9x:-22,\u00E9y:-20,\u00E9z:-15,"\xE9}":-11,\u00E9\u00AA:-34,"\xE9\xAE":-11,\u00E9\u00BA:-34,\u00E9\u00C0:-34,\u00E9\u00C1:-34,\u00E9\u00C2:-34,\u00E9\u00C3:-34,\u00E9\u00C4:-34,\u00E9\u00C5:-34,\u00E9\u00C6:-34,\u00E9\u00DD:-85,\u00E9\u00E0:10,\u00E9\u00E1:10,\u00E9\u00E2:10,\u00E9\u00E3:10,\u00E9\u00E4:10,\u00E9\u00E5:10,\u00E9\u00E6:10,\u00E9\u00FD:-20,\u00E9\u00FF:-20,"\xE9\u2018":-62,"\xE9\u2019":-24,"\xE9\u201C":-62,"\xE9\u201D":-24,'\xEA"':-15,"\xEA'":-15,"\xEA)":-11,\u00EA1:-34,\u00EAA:-34,\u00EAT:-78,\u00EAV:-51,\u00EAW:-51,\u00EAX:-28,\u00EAY:-85,"\xEA\\":-51,"\xEA]":-11,\u00EAa:10,\u00EAv:-20,\u00EAw:-18,\u00EAx:-22,\u00EAy:-20,\u00EAz:-15,"\xEA}":-11,\u00EA\u00AA:-34,"\xEA\xAE":-11,\u00EA\u00BA:-34,\u00EA\u00C0:-34,\u00EA\u00C1:-34,\u00EA\u00C2:-34,\u00EA\u00C3:-34,\u00EA\u00C4:-34,\u00EA\u00C5:-34,\u00EA\u00C6:-34,\u00EA\u00DD:-85,\u00EA\u00E0:10,\u00EA\u00E1:10,\u00EA\u00E2:10,\u00EA\u00E3:10,\u00EA\u00E4:10,\u00EA\u00E5:10,\u00EA\u00E6:10,\u00EA\u00FD:-20,\u00EA\u00FF:-20,"\xEA\u2018":-62,"\xEA\u2019":-24,"\xEA\u201C":-62,"\xEA\u201D":-24,'\xEB"':-15,"\xEB'":-15,"\xEB)":-11,\u00EB1:-34,\u00EBA:-34,\u00EBT:-78,\u00EBV:-51,\u00EBW:-51,\u00EBX:-28,\u00EBY:-85,"\xEB\\":-51,"\xEB]":-11,\u00EBa:10,\u00EBv:-20,\u00EBw:-18,\u00EBx:-22,\u00EBy:-20,\u00EBz:-15,"\xEB}":-11,\u00EB\u00AA:-34,"\xEB\xAE":-11,\u00EB\u00BA:-34,\u00EB\u00C0:-34,\u00EB\u00C1:-34,\u00EB\u00C2:-34,\u00EB\u00C3:-34,\u00EB\u00C4:-34,\u00EB\u00C5:-34,\u00EB\u00C6:-34,\u00EB\u00DD:-85,\u00EB\u00E0:10,\u00EB\u00E1:10,\u00EB\u00E2:10,\u00EB\u00E3:10,\u00EB\u00E4:10,\u00EB\u00E5:10,\u00EB\u00E6:10,\u00EB\u00FD:-20,\u00EB\u00FF:-20,"\xEB\u2018":-62,"\xEB\u2019":-24,"\xEB\u201C":-62,"\xEB\u201D":-24,\u00EC\u00EF:63,\u00ED\u00EF:63,\u00EE\u00EF:34,\u00EF1:45,\u00EF7:91,\u00EFB:59,\u00EFD:59,\u00EFE:59,\u00EFF:59,\u00EFH:59,\u00EFI:59,\u00EFK:59,\u00EFL:59,\u00EFM:59,\u00EFN:59,\u00EFP:59,\u00EFR:59,\u00EFT:91,\u00EFV:85,\u00EFZ:91,"\xEF\\":85,\u00EFb:59,\u00EFf:40,\u00EFh:59,\u00EFi:63,\u00EFj:63,\u00EFk:59,\u00EFl:59,\u00EFm:34,\u00EFn:34,\u00EFp:34,\u00EFr:34,\u00EFt:51,"\xEF|":59,\u00EF\u00C8:59,\u00EF\u00C9:59,\u00EF\u00CA:59,\u00EF\u00CB:59,\u00EF\u00CC:59,\u00EF\u00CD:59,\u00EF\u00CE:20,\u00EF\u00CF:20,\u00EF\u00D1:59,\u00EF\u00DE:59,\u00EF\u00DF:59,\u00EF\u00EC:34,\u00EF\u00ED:63,\u00EF\u00EE:34,\u00EF\u00EF:166,\u00EF\u00F1:34,\u00EF\u00FE:59,'\xF0"':-15,"\xF0'":-15,"\xF0)":-11,\u00F01:-34,\u00F0A:-34,\u00F0T:-78,\u00F0V:-51,\u00F0W:-51,\u00F0X:-28,\u00F0Y:-85,"\xF0\\":-51,"\xF0]":-11,\u00F0a:10,\u00F0v:-20,\u00F0w:-18,\u00F0x:-22,\u00F0y:-20,\u00F0z:-15,"\xF0}":-11,\u00F0\u00AA:-34,"\xF0\xAE":-11,\u00F0\u00BA:-34,\u00F0\u00C0:-34,\u00F0\u00C1:-34,\u00F0\u00C2:-34,\u00F0\u00C3:-34,\u00F0\u00C4:-34,\u00F0\u00C5:-34,\u00F0\u00C6:-34,\u00F0\u00DD:-85,\u00F0\u00E0:10,\u00F0\u00E1:10,\u00F0\u00E2:10,\u00F0\u00E3:10,\u00F0\u00E4:10,\u00F0\u00E5:10,\u00F0\u00E6:10,\u00F0\u00FD:-20,\u00F0\u00FF:-20,"\xF0\u2018":-62,"\xF0\u2019":-24,"\xF0\u201C":-62,"\xF0\u201D":-24,\u00F11:-40,\u00F1T:-51,\u00F1V:-51,\u00F1W:-51,\u00F1Y:-74,"\xF1\\":-51,\u00F1v:-15,\u00F1y:-15,"\xF1\xAE":-8,\u00F1\u00DD:-74,\u00F1\u00FD:-15,\u00F1\u00FF:-15,"\xF1\u2018":-45,"\xF1\u2019":-20,"\xF1\u201C":-45,"\xF1\u201D":-20,'\xF2"':-15,"\xF2'":-15,"\xF2)":-11,\u00F21:-34,\u00F2A:-34,\u00F2T:-78,\u00F2V:-51,\u00F2W:-51,\u00F2X:-28,\u00F2Y:-85,"\xF2\\":-51,"\xF2]":-11,\u00F2a:10,\u00F2v:-20,\u00F2w:-18,\u00F2x:-22,\u00F2y:-20,\u00F2z:-15,"\xF2}":-11,\u00F2\u00AA:-34,"\xF2\xAE":-11,\u00F2\u00BA:-34,\u00F2\u00C0:-34,\u00F2\u00C1:-34,\u00F2\u00C2:-34,\u00F2\u00C3:-34,\u00F2\u00C4:-34,\u00F2\u00C5:-34,\u00F2\u00C6:-34,\u00F2\u00DD:-85,\u00F2\u00E0:10,\u00F2\u00E1:10,\u00F2\u00E2:10,\u00F2\u00E3:10,\u00F2\u00E4:10,\u00F2\u00E5:10,\u00F2\u00E6:10,\u00F2\u00FD:-20,\u00F2\u00FF:-20,"\xF2\u2018":-62,"\xF2\u2019":-24,"\xF2\u201C":-62,"\xF2\u201D":-24,'\xF3"':-15,"\xF3'":-15,"\xF3)":-11,\u00F31:-34,\u00F3A:-34,\u00F3T:-78,\u00F3V:-51,\u00F3W:-51,\u00F3X:-28,\u00F3Y:-85,"\xF3\\":-51,"\xF3]":-11,\u00F3a:10,\u00F3v:-20,\u00F3w:-18,\u00F3x:-22,\u00F3y:-20,\u00F3z:-15,"\xF3}":-11,\u00F3\u00AA:-34,"\xF3\xAE":-11,\u00F3\u00BA:-34,\u00F3\u00C0:-34,\u00F3\u00C1:-34,\u00F3\u00C2:-34,\u00F3\u00C3:-34,\u00F3\u00C4:-34,\u00F3\u00C5:-34,\u00F3\u00C6:-34,\u00F3\u00DD:-85,\u00F3\u00E0:10,\u00F3\u00E1:10,\u00F3\u00E2:10,\u00F3\u00E3:10,\u00F3\u00E4:10,\u00F3\u00E5:10,\u00F3\u00E6:10,\u00F3\u00FD:-20,\u00F3\u00FF:-20,"\xF3\u2018":-62,"\xF3\u2019":-24,"\xF3\u201C":-62,"\xF3\u201D":-24,'\xF4"':-15,"\xF4'":-15,"\xF4)":-11,\u00F41:-34,\u00F4A:-34,\u00F4T:-78,\u00F4V:-51,\u00F4W:-51,\u00F4X:-28,\u00F4Y:-85,"\xF4\\":-51,"\xF4]":-11,\u00F4a:10,\u00F4v:-20,\u00F4w:-18,\u00F4x:-22,\u00F4y:-20,\u00F4z:-15,"\xF4}":-11,\u00F4\u00AA:-34,"\xF4\xAE":-11,\u00F4\u00BA:-34,\u00F4\u00C0:-34,\u00F4\u00C1:-34,\u00F4\u00C2:-34,\u00F4\u00C3:-34,\u00F4\u00C4:-34,\u00F4\u00C5:-34,\u00F4\u00C6:-34,\u00F4\u00DD:-85,\u00F4\u00E0:10,\u00F4\u00E1:10,\u00F4\u00E2:10,\u00F4\u00E3:10,\u00F4\u00E4:10,\u00F4\u00E5:10,\u00F4\u00E6:10,\u00F4\u00FD:-20,\u00F4\u00FF:-20,"\xF4\u2018":-62,"\xF4\u2019":-24,"\xF4\u201C":-62,"\xF4\u201D":-24,'\xF5"':-15,"\xF5'":-15,"\xF5)":-11,\u00F51:-34,\u00F5A:-34,\u00F5T:-51,\u00F5V:-51,\u00F5W:-51,\u00F5X:-28,\u00F5Y:-85,"\xF5\\":-51,"\xF5]":-11,\u00F5a:10,\u00F5v:-20,\u00F5w:-18,\u00F5x:-22,\u00F5y:-20,\u00F5z:-15,"\xF5}":-11,\u00F5\u00AA:-34,"\xF5\xAE":-11,\u00F5\u00BA:-34,\u00F5\u00C0:-34,\u00F5\u00C1:-34,\u00F5\u00C2:-34,\u00F5\u00C3:-34,\u00F5\u00C4:-34,\u00F5\u00C5:-34,\u00F5\u00C6:-34,\u00F5\u00DD:-85,\u00F5\u00E0:10,\u00F5\u00E1:10,\u00F5\u00E2:10,\u00F5\u00E3:10,\u00F5\u00E4:10,\u00F5\u00E5:10,\u00F5\u00E6:10,\u00F5\u00FD:-20,\u00F5\u00FF:-20,"\xF5\u2018":-62,"\xF5\u2019":-24,"\xF5\u201C":-62,"\xF5\u201D":-24,'\xF6"':-15,"\xF6'":-15,"\xF6)":-11,\u00F61:-34,\u00F6A:-34,\u00F6T:-51,\u00F6V:-51,\u00F6W:-51,\u00F6X:-28,\u00F6Y:-85,"\xF6\\":-51,"\xF6]":-11,\u00F6a:10,\u00F6v:-20,\u00F6w:-18,\u00F6x:-22,\u00F6y:-20,\u00F6z:-15,"\xF6}":-11,\u00F6\u00AA:-34,"\xF6\xAE":-11,\u00F6\u00BA:-34,\u00F6\u00C0:-34,\u00F6\u00C1:-34,\u00F6\u00C2:-34,\u00F6\u00C3:-34,\u00F6\u00C4:-34,\u00F6\u00C5:-34,\u00F6\u00C6:-34,\u00F6\u00DD:-85,\u00F6\u00E0:10,\u00F6\u00E1:10,\u00F6\u00E2:10,\u00F6\u00E3:10,\u00F6\u00E4:10,\u00F6\u00E5:10,\u00F6\u00E6:10,\u00F6\u00FD:-20,\u00F6\u00FF:-20,"\xF6\u2018":-62,"\xF6\u2019":-24,"\xF6\u201C":-62,"\xF6\u201D":-24,"\xF72":-34,"\xF73":-11,"\xF77":-22,"\xF7A":-34,"\xF7J":-45,"\xF7T":-74,"\xF7V":-51,"\xF7W":-51,"\xF7X":-34,"\xF7Y":-79,"\xF7\\":-51,"\xF7x":-22,"\xF7\xB6":-17,"\xF7\xC0":-34,"\xF7\xC1":-34,"\xF7\xC2":-34,"\xF7\xC3":-34,"\xF7\xC4":-34,"\xF7\xC5":-34,"\xF7\xC6":-34,"\xF7\xDD":-79,"\xF7\u2018":-62,"\xF7\u201C":-62,'\xF8"':-15,"\xF8'":-15,"\xF8)":-11,\u00F81:-34,\u00F8A:-34,\u00F8T:-78,\u00F8V:-51,\u00F8W:-51,\u00F8X:-28,\u00F8Y:-85,"\xF8\\":-51,"\xF8]":-11,\u00F8a:10,\u00F8v:-20,\u00F8w:-18,\u00F8x:-22,\u00F8y:-20,\u00F8z:-15,"\xF8}":-11,\u00F8\u00AA:-34,"\xF8\xAE":-11,\u00F8\u00BA:-34,\u00F8\u00C0:-34,\u00F8\u00C1:-34,\u00F8\u00C2:-34,\u00F8\u00C3:-34,\u00F8\u00C4:-34,\u00F8\u00C5:-34,\u00F8\u00C6:-34,\u00F8\u00DD:-85,\u00F8\u00E0:10,\u00F8\u00E1:10,\u00F8\u00E2:10,\u00F8\u00E3:10,\u00F8\u00E4:10,\u00F8\u00E5:10,\u00F8\u00E6:10,\u00F8\u00FD:-20,\u00F8\u00FF:-20,"\xF8\u2018":-62,"\xF8\u2019":-24,"\xF8\u201C":-62,"\xF8\u201D":-24,"\xF9+":-40,"\xF9-":-40,"\xF9/":-34,"\xF9<":-40,\u00F9T:-51,\u00F9Y:-57,\u00F9_:-34,"\xF9~":-40,"\xF9\xAC":-34,"\xF9\xB7":-40,\u00F9\u00DD:-57,"\xF9\xF7":-40,"\xF9\u2018":-40,"\xF9\u2019":14,"\xF9\u201C":-40,"\xF9\u201D":14,"\xFA+":-40,"\xFA-":-40,"\xFA/":-34,"\xFA<":-40,\u00FAT:-51,\u00FAY:-57,\u00FA_:-34,"\xFA~":-40,"\xFA\xAC":-34,"\xFA\xB7":-40,\u00FA\u00DD:-57,"\xFA\xF7":-40,"\xFA\u2018":-40,"\xFA\u2019":14,"\xFA\u201C":-40,"\xFA\u201D":14,"\xFB+":-40,"\xFB-":-40,"\xFB/":-34,"\xFB<":-40,\u00FBT:-51,\u00FBY:-57,\u00FB_:-34,"\xFB~":-40,"\xFB\xAC":-34,"\xFB\xB7":-40,\u00FB\u00DD:-57,"\xFB\xF7":-40,"\xFB\u2018":-40,"\xFB\u2019":14,"\xFB\u201C":-40,"\xFB\u201D":14,"\xFC+":-40,"\xFC-":-40,"\xFC/":-34,"\xFC<":-40,\u00FCT:-51,\u00FCY:-57,\u00FC_:-34,"\xFC~":-40,"\xFC\xAC":-34,"\xFC\xB7":-40,\u00FC\u00DD:-57,"\xFC\xF7":-40,"\xFC\u2018":-40,"\xFC\u2019":14,"\xFC\u201C":-40,"\xFC\u201D":14,"\xFD+":-40,"\xFD,":-44,"\xFD-":-40,"\xFD.":-44,"\xFD/":-57,"\xFD<":-34,"\xFD=":-40,\u00FDA:-68,\u00FDB:5,\u00FDD:5,\u00FDE:5,\u00FDF:5,\u00FDH:5,\u00FDI:5,\u00FDJ:-62,\u00FDK:5,\u00FDL:5,\u00FDM:5,\u00FDN:5,\u00FDP:5,\u00FDR:5,\u00FDT:-34,\u00FDY:-34,\u00FD_:-79,\u00FDa:-5,\u00FDb:5,\u00FDc:-20,\u00FDd:-20,\u00FDe:-20,\u00FDf:15,\u00FDg:-20,\u00FDh:5,\u00FDk:5,\u00FDl:5,\u00FDo:-20,\u00FDq:-20,\u00FDt:15,"\xFD|":5,"\xFD~":-40,"\xFD\xA2":-20,"\xFD\xAB":-40,"\xFD\xAC":-40,"\xFD\xB1":-40,"\xFD\xB7":-40,\u00FD\u00C0:-68,\u00FD\u00C1:-68,\u00FD\u00C2:-68,\u00FD\u00C3:-68,\u00FD\u00C4:-68,\u00FD\u00C5:-68,\u00FD\u00C6:-68,\u00FD\u00C8:5,\u00FD\u00C9:5,\u00FD\u00CA:5,\u00FD\u00CB:5,\u00FD\u00CC:5,\u00FD\u00CD:5,\u00FD\u00D1:5,\u00FD\u00DD:-34,\u00FD\u00DE:5,\u00FD\u00DF:5,\u00FD\u00E0:-5,\u00FD\u00E1:-5,\u00FD\u00E2:-5,\u00FD\u00E3:-5,\u00FD\u00E4:-5,\u00FD\u00E5:-5,\u00FD\u00E6:-5,\u00FD\u00E7:-20,\u00FD\u00E8:-20,\u00FD\u00E9:-20,\u00FD\u00EA:-20,\u00FD\u00EB:-20,\u00FD\u00F0:-20,\u00FD\u00F2:-20,\u00FD\u00F3:-20,\u00FD\u00F4:-20,\u00FD\u00F5:-20,\u00FD\u00F6:-20,"\xFD\xF7":-40,\u00FD\u00F8:-20,\u00FD\u00FE:5,"\xFD\u2026":-74,'\xFE"':-15,"\xFE'":-15,"\xFE)":-11,\u00FE1:-34,\u00FEA:-34,\u00FET:-78,\u00FEV:-51,\u00FEW:-51,\u00FEX:-28,\u00FEY:-85,"\xFE\\":-51,"\xFE]":-11,\u00FEa:10,\u00FEv:-20,\u00FEw:-18,\u00FEx:-22,\u00FEy:-20,\u00FEz:-15,"\xFE}":-11,\u00FE\u00AA:-34,"\xFE\xAE":-11,\u00FE\u00BA:-34,\u00FE\u00C0:-34,\u00FE\u00C1:-34,\u00FE\u00C2:-34,\u00FE\u00C3:-34,\u00FE\u00C4:-34,\u00FE\u00C5:-34,\u00FE\u00C6:-34,\u00FE\u00DD:-85,\u00FE\u00E0:10,\u00FE\u00E1:10,\u00FE\u00E2:10,\u00FE\u00E3:10,\u00FE\u00E4:10,\u00FE\u00E5:10,\u00FE\u00E6:10,\u00FE\u00FD:-20,\u00FE\u00FF:-20,"\xFE\u2018":-62,"\xFE\u2019":-24,"\xFE\u201C":-62,"\xFE\u201D":-24,"\xFF+":-40,"\xFF,":-44,"\xFF-":-40,"\xFF.":-44,"\xFF/":-57,"\xFF<":-34,"\xFF=":-40,\u00FFA:-68,\u00FFB:5,\u00FFD:5,\u00FFE:5,\u00FFF:5,\u00FFH:5,\u00FFI:5,\u00FFJ:-62,\u00FFK:5,\u00FFL:5,\u00FFM:5,\u00FFN:5,\u00FFP:5,\u00FFR:5,\u00FFT:-34,\u00FFY:-34,\u00FF_:-79,\u00FFa:-5,\u00FFb:5,\u00FFc:-20,\u00FFd:-20,\u00FFe:-20,\u00FFf:15,\u00FFg:-20,\u00FFh:5,\u00FFk:5,\u00FFl:5,\u00FFo:-20,\u00FFq:-20,\u00FFt:15,"\xFF|":5,"\xFF~":-40,"\xFF\xA2":-20,"\xFF\xAB":-40,"\xFF\xAC":-40,"\xFF\xB1":-40,"\xFF\xB7":-40,\u00FF\u00C0:-68,\u00FF\u00C1:-68,\u00FF\u00C2:-68,\u00FF\u00C3:-68,\u00FF\u00C4:-68,\u00FF\u00C5:-68,\u00FF\u00C6:-68,\u00FF\u00C8:5,\u00FF\u00C9:5,\u00FF\u00CA:5,\u00FF\u00CB:5,\u00FF\u00CC:5,\u00FF\u00CD:5,\u00FF\u00D1:5,\u00FF\u00DD:-34,\u00FF\u00DE:5,\u00FF\u00DF:5,\u00FF\u00E0:-5,\u00FF\u00E1:-5,\u00FF\u00E2:-5,\u00FF\u00E3:-5,\u00FF\u00E4:-5,\u00FF\u00E5:-5,\u00FF\u00E6:-5,\u00FF\u00E7:-20,\u00FF\u00E8:-20,\u00FF\u00E9:-20,\u00FF\u00EA:-20,\u00FF\u00EB:-20,\u00FF\u00F0:-20,\u00FF\u00F2:-20,\u00FF\u00F3:-20,\u00FF\u00F4:-20,\u00FF\u00F5:-20,\u00FF\u00F6:-20,"\xFF\xF7":-40,\u00FF\u00F8:-20,\u00FF\u00FE:5,"\xFF\u2026":-74,"\u2018&":-62,"\u2018,":-85,"\u2018.":-85,"\u2018/":-96,"\u20184":-62,"\u2018A":-96,"\u2018J":-147,"\u2018c":-39,"\u2018d":-39,"\u2018e":-39,"\u2018g":-39,"\u2018o":-39,"\u2018q":-39,"\u2018s":-20,"\u2018\xA2":-39,"\u2018\xBF":-62,"\u2018\xC0":-96,"\u2018\xC1":-96,"\u2018\xC2":-96,"\u2018\xC3":-96,"\u2018\xC4":-96,"\u2018\xC5":-96,"\u2018\xC6":-96,"\u2018\xE7":-39,"\u2018\xE8":-39,"\u2018\xE9":-39,"\u2018\xEA":-39,"\u2018\xEB":-39,"\u2018\xF0":-39,"\u2018\xF2":-39,"\u2018\xF3":-39,"\u2018\xF4":-39,"\u2018\xF5":-39,"\u2018\xF6":-39,"\u2018\xF8":-39,"\u2018\u2026":-85,"\u2019#":-125,"\u2019&":-68,"\u2019+":-62,"\u2019,":-99,"\u2019-":-62,"\u2019.":-99,"\u2019/":-142,"\u20190":-45,"\u20194":-96,"\u20196":-45,"\u20197":-62,"\u20198":-40,"\u2019:":-57,"\u2019;":-57,"\u2019<":-96,"\u2019=":-57,"\u2019@":-57,"\u2019A":-137,"\u2019C":-57,"\u2019G":-57,"\u2019J":-125,"\u2019O":-57,"\u2019Q":-57,"\u2019_":-40,"\u2019a":-57,"\u2019c":-62,"\u2019d":-62,"\u2019e":-62,"\u2019g":-62,"\u2019m":-21,"\u2019n":-21,"\u2019o":-62,"\u2019p":-21,"\u2019q":-62,"\u2019r":-21,"\u2019s":-77,"\u2019t":14,"\u2019u":-40,"\u2019v":14,"\u2019y":14,"\u2019~":-45,"\u2019\xA2":-62,"\u2019\xA9":-57,"\u2019\xAB":-85,"\u2019\xAC":-62,"\u2019\xB1":-57,"\u2019\xB5":-45,"\u2019\xB6":-11,"\u2019\xB7":-62,"\u2019\xBF":-68,"\u2019\xC0":-137,"\u2019\xC1":-137,"\u2019\xC2":-137,"\u2019\xC3":-137,"\u2019\xC4":-137,"\u2019\xC5":-137,"\u2019\xC6":-137,"\u2019\xC7":-57,"\u2019\xD2":-57,"\u2019\xD3":-57,"\u2019\xD4":-57,"\u2019\xD5":-57,"\u2019\xD6":-57,"\u2019\xD8":-57,"\u2019\xE0":-57,"\u2019\xE1":-57,"\u2019\xE2":-57,"\u2019\xE3":-57,"\u2019\xE4":-57,"\u2019\xE5":-57,"\u2019\xE6":-57,"\u2019\xE7":-62,"\u2019\xE8":-62,"\u2019\xE9":-62,"\u2019\xEA":-62,"\u2019\xEB":-62,"\u2019\xF0":-62,"\u2019\xF1":-21,"\u2019\xF2":-62,"\u2019\xF3":-62,"\u2019\xF4":-62,"\u2019\xF5":-62,"\u2019\xF6":-62,"\u2019\xF7":-62,"\u2019\xF8":-62,"\u2019\xF9":-40,"\u2019\xFA":-40,"\u2019\xFB":-40,"\u2019\xFC":-40,"\u2019\xFD":14,"\u2019\xFF":14,"\u2019\u2026":-99,"\u201C&":-62,"\u201C,":-85,"\u201C.":-85,"\u201C/":-96,"\u201C4":-62,"\u201CA":-96,"\u201CJ":-147,"\u201Cc":-39,"\u201Cd":-39,"\u201Ce":-39,"\u201Cg":-39,"\u201Co":-39,"\u201Cq":-39,"\u201Cs":-20,"\u201C\xA2":-39,"\u201C\xBF":-62,"\u201C\xC0":-96,"\u201C\xC1":-96,"\u201C\xC2":-96,"\u201C\xC3":-96,"\u201C\xC4":-96,"\u201C\xC5":-96,"\u201C\xC6":-96,"\u201C\xE7":-39,"\u201C\xE8":-39,"\u201C\xE9":-39,"\u201C\xEA":-39,"\u201C\xEB":-39,"\u201C\xF0":-39,"\u201C\xF2":-39,"\u201C\xF3":-39,"\u201C\xF4":-39,"\u201C\xF5":-39,"\u201C\xF6":-39,"\u201C\xF8":-39,"\u201C\u2026":-85,"\u201D#":-125,"\u201D&":-68,"\u201D+":-62,"\u201D,":-99,"\u201D-":-62,"\u201D.":-99,"\u201D/":-142,"\u201D0":-45,"\u201D4":-96,"\u201D6":-45,"\u201D7":-62,"\u201D8":-40,"\u201D:":-57,"\u201D;":-57,"\u201D<":-96,"\u201D=":-57,"\u201D@":-57,"\u201DA":-137,"\u201DC":-57,"\u201DG":-57,"\u201DJ":-125,"\u201DO":-57,"\u201DQ":-57,"\u201D_":-40,"\u201Da":-57,"\u201Dc":-62,"\u201Dd":-62,"\u201De":-62,"\u201Dg":-62,"\u201Dm":-21,"\u201Dn":-21,"\u201Do":-62,"\u201Dp":-21,"\u201Dq":-62,"\u201Dr":-21,"\u201Ds":-77,"\u201Dt":14,"\u201Du":-40,"\u201Dv":14,"\u201Dy":14,"\u201D~":-45,"\u201D\xA2":-62,"\u201D\xA9":-57,"\u201D\xAB":-85,"\u201D\xAC":-62,"\u201D\xB1":-57,"\u201D\xB5":-45,"\u201D\xB6":-11,"\u201D\xB7":-62,"\u201D\xBF":-68,"\u201D\xC0":-137,"\u201D\xC1":-137,"\u201D\xC2":-137,"\u201D\xC3":-137,"\u201D\xC4":-137,"\u201D\xC5":-137,"\u201D\xC6":-137,"\u201D\xC7":-57,"\u201D\xD2":-57,"\u201D\xD3":-57,"\u201D\xD4":-57,"\u201D\xD5":-57,"\u201D\xD6":-57,"\u201D\xD8":-57,"\u201D\xE0":-57,"\u201D\xE1":-57,"\u201D\xE2":-57,"\u201D\xE3":-57,"\u201D\xE4":-57,"\u201D\xE5":-57,"\u201D\xE6":-57,"\u201D\xE7":-62,"\u201D\xE8":-62,"\u201D\xE9":-62,"\u201D\xEA":-62,"\u201D\xEB":-62,"\u201D\xF0":-62,"\u201D\xF1":-21,"\u201D\xF2":-62,"\u201D\xF3":-62,"\u201D\xF4":-62,"\u201D\xF5":-62,"\u201D\xF6":-62,"\u201D\xF7":-62,"\u201D\xF8":-62,"\u201D\xF9":-40,"\u201D\xFA":-40,"\u201D\xFB":-40,"\u201D\xFC":-40,"\u201D\xFD":14,"\u201D\xFF":14,"\u201D\u2026":-99,'\u2026"':-82,"\u2026'":-82,"\u20260":-25,"\u20261":-86,"\u20263":-27,"\u20265":-14,"\u20266":-25,"\u20267":-14,"\u20268":-22,"\u20269":-7,"\u2026?":-88,"\u2026@":-44,"\u2026C":-44,"\u2026G":-44,"\u2026O":-44,"\u2026Q":-44,"\u2026T":-34,"\u2026Y":-34,"\u2026\xA9":-44,"\u2026\xB6":-51,"\u2026\xC7":-44,"\u2026\xD2":-44,"\u2026\xD3":-44,"\u2026\xD4":-44,"\u2026\xD5":-44,"\u2026\xD6":-44,"\u2026\xD8":-44,"\u2026\xDD":-34,"\u2026\u2019":-57,"\u2026\u201D":-57};var av=new Map([...nv].map((A,e)=>[A,e])),_I=av.get("n");function VI(A,e){let t=av.get(A)??_I,n=Math.min(900,Math.max(100,e)),o=Math.min(Nm.length-2,Math.floor((n-100)/100)),a=(n-Nm[o])/100;return Lm[o][t]*(1-a)+Lm[o+1][t]*a}function Nr(A,e,t){let n=[...A],o=0;for(let a=0;a<n.length;a++)o+=VI(n[a],e),a+1<n.length&&(o+=ov[n[a]+n[a+1]]??0);return o/1e3+Math.max(0,n.length-1)*t}var Fi=60,XI={"16:9":{width:1920,height:1080},"9:16":{width:1080,height:1920},"1:1":{width:1080,height:1080}},zm=(A,e=0,t=1)=>A<e?e:A>t?t:A,da=(A,e,t)=>A+(e-A)*t,ga=(A,e,t)=>t<=0?A>=e?1:0:zm((A-e)/t);function $I(A,e,t){let n=parseInt(A.slice(1),16),o=parseInt(e.slice(1),16),a=r=>Math.round(da(n>>r&255,o>>r&255,t));return`#${(a(16)<<16|a(8)<<8|a(0)).toString(16).padStart(6,"0")}`}function jm(...A){let e=2654435769;for(let n of A)e=Math.imul(e^(n|0),2246822507)^e>>>13;let t=e+1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}var Ti=A=>({n:e=>Kn(A,e),b:e=>Kn(A,e),s:e=>Kn(A,e),e:e=>Kn(A,e)}),ZI=(A,e)=>e==="uppercase"?A.toUpperCase():e==="lowercase"?A.toLowerCase():A;function _s(A){let e=Ti(A),t=0;return{scenes:Ii.map((o,a)=>{let r=Kn(A,`scenes.${o}.enabled`),i=r===void 0?!0:!!r,s=i?e.n(`scenes.${o}.durationFrames`):0,l={id:o,index:a,start:t,duration:s,enabled:i};return t+=s,l}),durationFrames:t}}function Km(A){let e=Ti(A);return e.s("canvas.timingMode")!=="totalFrames"?e.n("canvas.playbackSpeed"):qI(A,e.n("canvas.totalFrames"))}function qI(A,e){return _s(A).durationFrames*Ti(A).n("canvas.fps")/Fi/Math.max(1,e)}function A3(A,e){return Math.ceil(_s(A).durationFrames*Ti(A).n("canvas.fps")/Fi/e)}function lg(A){let e=Ti(A);return(e.s("canvas.timingMode")==="totalFrames"?e.n("canvas.totalFrames"):A3(A,e.n("canvas.playbackSpeed")))*(e.b("canvas.loop")?e.n("canvas.loopCount"):1)}function sv(A,e){let t=Ti(A),n=_s(A).durationFrames,o=e*Fi*Km(A)/t.n("canvas.fps");if(t.b("canvas.loop")){let a=t.n("canvas.loopCount");return o>=n*a?n-1e-6:o%n}return Math.min(o,n-1e-6)}function Hm(A,e,t,n){let o=[],a=0;for(let i=0;i<A;i++){o.push(a);let s=A>1?da(e,t,i/(A-1)):e;a+=Fi/s}let r=o.at(-1)??0;return n>0&&r>n?o.map(i=>i*n/r):o}function rg(A,e,t,n,o,a,r){let i=[...t],s=A.n("characters.scramble.leadFrames"),l=(o.at(-1)??0)+(A.b("characters.scramble.enabled")?s:0);if(r||a>=l)return{settled:t,head:"",newest:i.length-1,sinceNewest:1/0,done:!0,doneAt:l};let d=0;for(;d<o.length&&o[d]<=a;)d++;let u=n+d,c=u-1,p=d>0?a-o[d-1]:1/0;if(d>0&&A.b("characters.scramble.enabled")&&p<s&&i[c]!==" "){let B=[...A.s("characters.scramble.glyphs")],v=Math.floor(p/A.n("characters.scramble.changeEveryFrames")),Q=B[Math.floor(jm(A.n("canvas.seed"),e,c,v)*B.length)]??"#";return{settled:i.slice(0,c).join(""),head:Q,newest:c,sinceNewest:p,done:!1,doneAt:l}}return{settled:i.slice(0,u).join(""),head:"",newest:c,sinceNewest:p,done:!1,doneAt:l}}function ig(A,e,t){let n=A.n("characters.enter.durationFrames"),o=n>0&&Number.isFinite(t)?1-io(A.e("characters.enter.easing"),t/n,n):0;return{index:e,strength:o,x:A.n("characters.enter.offsetX"),y:A.n("characters.enter.offsetY"),scale:A.n("characters.enter.scale"),rotation:A.n("characters.enter.rotation"),opacity:A.n("characters.enter.opacity")}}var sg={mode:"none",strength:0,from:0,to:0,falloffFrom:0,falloffTo:0,x:0,y:0,rotation:0,scaleX:1,scaleY:1,opacity:1};function rv(A,e,t,n){let o=A.s("distortion.mode");if(n||o==="none"||o==="scramble"||A.b("distortion.whileTypingOnly")&&!t)return sg;let a=1/A.n("distortion.frequency"),r=((A.n("distortion.phase")+A.n("distortion.speed")*e/Fi)%1+1)%1,i=r-a/2,s=r+a/2,l={mode:o,strength:A.n("distortion.amount"),from:i,to:s,falloffFrom:r,falloffTo:r,x:0,y:0,rotation:0,scaleX:1,scaleY:1,opacity:A.n("distortion.opacity")},d=A.n("distortion.displacement"),u=A.n("distortion.rotation"),c=A.n("distortion.scaleX"),p=A.n("distortion.scaleY");switch(o){case"wave":return{...l,y:d};case"stretch":return{...l,scaleX:c,scaleY:p};case"rotate":return{...l,rotation:u};case"warp":return{...l,y:d,rotation:u,scaleX:c};case"verticalMorph":return{...l,scaleY:p};case"horizontalMorph":return{...l,scaleX:c}}return sg}function lv(A,e){let t=Ti(A),n=t.b("motion.reducedMotion"),o=XI[t.s("canvas.aspectRatio")],{scenes:a,durationFrames:r}=_s(A),i=zm(e,0,Math.max(0,r-1e-6)),s=a.find(X=>X.enabled&&i>=X.start&&i<X.start+X.duration)??a.filter(X=>X.enabled).at(-1),l=i-s.start,d=X=>a[Ii.indexOf(X)],u=X=>ZI(t.s(X),t.s("typography.textTransform")),c=t.n("canvas.safeArea"),p=o.width*(1-2*c),B=o.height*(1-2*c),v=p*t.n("motion.zoom.fitWidth"),Q=t.n("typography.sizeScale"),C=X=>t.b("motion.zoom.enabled")&&X>v?Math.max(t.n("motion.zoom.minScale"),v/X):1,y=s.id==="developers",w=u("text.what"),I=u("text.line"),F=d("line").enabled&&I.trim()!=="",G=F?`${w} ${I}`:w,E=t.n("scenes.what.fontSize")*Q,D=t.n("scenes.what.fontWeight"),k=t.n("scenes.what.letterSpacing"),U=t.b("characters.scramble.enabled")?t.n("characters.scramble.leadFrames"):0,O=Hm([...w].length,t.n("scenes.what.cps"),t.n("scenes.what.cps"),d("what").duration-U-1),T=[...G].length-[...w].length,R=Hm(T,t.n("scenes.line.startCps"),t.n("scenes.line.endCps"),d("line").duration-U-1),P=X=>{if(X<d("what").start)return{settled:"",head:"",newest:-1,sinceNewest:1/0,done:!1,doneAt:0};if(!F||X<d("line").start){let sA=rg(t,1,w,0,O,X-d("what").start,n);return F||X<d("what").start+d("what").duration?sA:{...sA,done:!0}}return rg(t,2,G,[...w].length,R,X-d("line").start,n)},j=X=>Nr(X.settled+X.head,D,k)*E,K=X=>{let sA=n?0:t.n("motion.zoom.smoothingFrames"),DA=0;for(let xA=0;xA<=sA;xA++)DA+=C(j(P(Math.max(d("what").start,X-xA))));return DA/(sA+1)},H=(X,sA)=>n?1:da(1,sA,io(t.e("motion.driftEasing"),X)),N=X=>{let sA=d("what"),DA=rg(t,1,w,0,O,0,!1).doneAt;return H(ga(X-sA.start,DA,sA.duration-DA),t.n("scenes.what.driftScale"))},Z={visible:!1,x:0,y:0,rx:0,ry:0,color:"#000000",falloff:.5,opacity:0},_={frame:i,scene:s.id,sceneIndex:s.index,status:s.id,design:o,theme:y?"light":"dark",background:{dark:t.s("background.dark.color"),light:t.s("background.light.color"),lightOpacity:y?1:0,gradient:{opacity:0,from:t.s("background.gradient.from"),to:t.s("background.gradient.to"),x1:0,y1:0,x2:0,y2:0},top:Z,bottom:Z,vignette:{opacity:0,color:t.s("background.vignette.color"),radius:Math.hypot(o.width,o.height)/2},streaks:{color:t.s("background.streaks.color"),width:t.n("background.streaks.width"),items:[]}},stage:{x:0,y:0,scale:1,rotation:t.n("motion.rotation"),opacity:1},line:{visible:!1,settled:"",head:"",headColor:{hex:t.s("typography.color.dark"),alpha:t.n("characters.scramble.opacity")},color:t.s("typography.color.dark"),fontSize:E,weight:D,letterSpacing:k*E,opacity:t.n("typography.opacity"),enter:ig(t,-1,1/0),distortion:sg},display:{visible:!1,text:u("text.aiAgent"),fontSize:t.n("scenes.aiAgent.fontSize")*Q,weight:t.n("scenes.aiAgent.fontWeight"),letterSpacing:0,opacity:0,gradientTop:t.s("scenes.aiAgent.gradientTop"),gradientBottom:t.s("scenes.aiAgent.gradientBottom"),hideLeftTo:-1,hideRightFrom:2,softness:0,distortion:sg},final:{visible:!1,settled:"",head:"",headColor:{hex:t.s("typography.color.light"),alpha:t.n("characters.scramble.opacity")},entering:"",enteringColor:{hex:t.s("typography.color.light"),alpha:0},color:t.s("typography.color.light"),fontSize:t.n("scenes.developers.fontSize")*Q,weight:t.n("scenes.developers.fontWeight"),letterSpacing:t.n("scenes.developers.letterSpacing")*t.n("scenes.developers.fontSize")*Q,opacity:t.n("typography.opacity"),enter:ig(t,-1,1/0)},cursor:{visible:!1,solid:t.s("cursor.dark.style")==="solid",attach:"line",width:0,height:0,stroke:0,radius:0,color:t.s("cursor.dark.color"),opacity:t.n("cursor.opacity"),gap:0,scale:1,glow:{opacity:0,color:t.s("cursor.glow.color"),radius:0}},headGlow:{opacity:0,color:t.s("glow.color"),rx:0,ry:0,falloff:t.n("glow.falloff"),offsetX:0,offsetY:0,blend:t.s("glow.blendMode")},brackets:{visible:!1,color:t.s("brackets.color"),opacity:t.n("brackets.opacity"),thickness:0,height:0,serif:0,padding:0,leftOffset:0,rightOffset:0,leftTrim:1,rightTrim:1,leftOpacity:1,rightOpacity:1,glow:{opacity:0,color:t.s("brackets.glow.color"),radius:0}},brace:{visible:!1,color:t.s("brace.color"),opacity:t.n("brace.opacity"),size:t.n("brace.size"),weight:t.n("brace.weight"),padding:0,offsetY:0,closingVisible:0,closingSlack:0,glow:{opacity:0,color:t.s("brace.glow.color"),radius:0}}};if(!y){if(t.b("background.gradient.enabled")){let wA=t.n("background.gradient.angle")*Math.PI/180,AA=Math.sin(wA)*o.width/2,mA=-Math.cos(wA)*o.height/2;_.background.gradient={..._.background.gradient,opacity:t.n("background.gradient.opacity"),x1:o.width/2-AA,y1:o.height/2-mA,x2:o.width/2+AA,y2:o.height/2+mA}}let X=d("line"),sA=X.enabled?io("easeOutCubic",ga(i,X.start+t.n("scenes.line.backgroundGlowAtFrame"),t.n("scenes.line.backgroundGlowFrames"))):i>=d("collapse").start?1:0,DA=wA=>t.b(`background.${wA}Glow.enabled`)?{visible:!0,x:t.n(`background.${wA}Glow.x`)*o.width,y:t.n(`background.${wA}Glow.y`)*o.height,rx:t.n(`background.${wA}Glow.radiusX`)*o.width,ry:t.n(`background.${wA}Glow.radiusY`)*o.height,color:t.s(`background.${wA}Glow.color`),falloff:.5,opacity:t.n(`background.${wA}Glow.intensity`)*(n?1:sA)}:Z;_.background.top=DA("top"),_.background.bottom=DA("bottom"),_.background.vignette.opacity=t.n("background.vignette.intensity");let xA=d(t.s("background.streaks.fromScene"));if(t.b("background.streaks.enabled")&&i>=xA.start){let wA=t.n("background.streaks.count"),AA=t.n("background.streaks.band")*o.width;for(let mA=0;mA<wA;mA++){let UA=jm(t.n("canvas.seed"),77,mA),ye=mA%2===0?UA*AA:o.width-UA*AA;_.background.streaks.items.push({x:ye,opacity:t.n("background.streaks.opacity")*(.5+.5*jm(t.n("canvas.seed"),78,mA))})}}}let q=(X,sA)=>{let DA=t.s("motion.anchor"),xA=o.width*c+p*t.n("motion.position.x"),wA=o.height*c+B*t.n("motion.position.y");return DA==="centerLeft"&&(xA+=X/2),DA==="centerRight"&&(xA-=X/2),DA==="topCenter"&&(wA+=sA/2),DA==="bottomCenter"&&(wA-=sA/2),{x:xA,y:wA}},$=X=>({visible:t.b("cursor.enabled"),solid:t.s("cursor.dark.style")==="solid",attach:"line",width:t.n("cursor.dark.width")*X,height:t.n("cursor.dark.height")*X,stroke:t.n("cursor.dark.strokeWidth")*X,radius:t.n("cursor.dark.cornerRadius")*X,color:t.s("cursor.dark.color"),opacity:t.n("cursor.opacity"),gap:t.n("cursor.gap")*X,scale:1,glow:{opacity:t.b("cursor.glow.enabled")?t.n("cursor.glow.intensity"):0,color:t.s("cursor.glow.color"),radius:t.n("cursor.glow.radius")*X}}),vA=X=>t.b("cursor.blink.enabled")&&X&&!n?Math.floor(i/(t.n("cursor.blink.periodFrames")/2))%2===0?1:0:1,fA=(X,sA)=>({..._.headGlow,opacity:t.b("glow.enabled")&&!n?t.n("glow.intensity")*sA:0,rx:t.n("glow.radiusX")*X,ry:t.n("glow.radiusY")*X,offsetX:t.n("glow.offsetX")*X,offsetY:t.n("glow.offsetY")*X});if(s.id==="cursor"){let X=n?1:io(t.e("scenes.cursor.easing"),l/t.n("scenes.cursor.introFrames"),t.n("scenes.cursor.introFrames"));_.stage={..._.stage,...q(0,E),scale:t.n("motion.scale")},_.line={..._.line,visible:!0},_.cursor={...$(E),scale:da(t.n("scenes.cursor.fromScale"),1,X),gap:0},_.cursor.opacity*=vA(!0)}if(s.id==="what"||s.id==="line"){let X=P(i),sA=j(X),DA=K(i);if(s.id==="line"&&t.s("motion.zoom.mode")==="anticipate"&&!n){let ye=C(Nr(G,D,k)*E),Ye=t.n("scenes.line.zoomFrames");DA=Math.min(DA,da(C(Nr(w,D,k)*E),ye,io(t.e("scenes.line.zoomEasing"),l/Ye,Ye)))}let xA=DA*N(Math.min(i,d("what").start+d("what").duration))*t.n("motion.scale");_.stage={..._.stage,...q(sA*xA,E*xA),scale:xA},_.line={..._.line,visible:!0,settled:X.settled,head:X.head,enter:ig(t,X.newest,X.sinceNewest),distortion:rv(t,l,!X.done,n)};let wA=!X.done,AA=i-(s.id==="what"?d("what").start:d("line").start)-X.doneAt,mA=wA?1:zm(1-AA/Math.max(1,t.n("glow.fadeOutFrames")));_.headGlow=fA(E,mA*t.n(`scenes.${s.id}.glowIntensity`));let UA=X.done&&(s.id==="line"||!F);_.cursor={...$(E),visible:t.b("cursor.enabled")&&!(UA&&t.b("cursor.hideOnComplete"))&&!n},_.cursor.opacity*=vA(X.done),s.id==="line"&&t.b("brackets.enabled")&&Object.assign(_.brackets,iv(t,l-t.n("scenes.line.bracketsAtFrame"),E,xA,o.width,n))}if(s.id==="collapse"){let X=P(d("collapse").start-1e-6),sA=j({...X,head:""}),DA=C(sA)*N(d("what").start+d("what").duration)*t.n("motion.scale"),xA=t.n("scenes.collapse.holdFrames"),wA=t.n("scenes.collapse.collapseFrames"),AA=n?0:io(t.e("scenes.collapse.easing"),ga(l,xA,wA),wA),mA=DA*H(ga(l,0,xA),t.n("scenes.collapse.holdDriftScale"))*da(1,t.n("scenes.collapse.toScale"),AA);_.stage={..._.stage,...q(sA*mA,E*mA),scale:mA,opacity:t.b("scenes.collapse.fade")?1-AA:1},_.line={..._.line,visible:!0,settled:X.settled,head:""},t.b("brackets.enabled")&&d("line").enabled&&Object.assign(_.brackets,iv(t,1/0,E,mA,o.width,!0))}if(s.id==="aiAgent"){let X=_.display.fontSize,sA=_.display.weight,DA=t.n("scenes.aiAgent.letterSpacing"),xA=t.n("scenes.aiAgent.fromLetterSpacing"),wA=t.n("scenes.aiAgent.trackInFrames"),AA=n?1:io(t.e("scenes.aiAgent.easing"),l/wA,wA),mA=da(xA,DA,AA),UA=Nr(_.display.text,sA,DA)*X,ye=ga(l,wA,s.duration-wA),Ye=C(UA)*da(t.n("scenes.aiAgent.fromScale"),1,AA)*H(ye,t.n("scenes.aiAgent.driftScale"))*t.n("motion.scale"),tt=Nr(_.display.text,sA,mA)*X;_.stage={..._.stage,...q(tt*Ye,X*Ye),scale:Ye};let qe=t.n("scenes.aiAgent.revealFrames"),lA=n||qe===0?1:io(t.e("scenes.aiAgent.revealEasing"),l/qe,qe),TA=t.n("scenes.aiAgent.revealSoftness"),JA=t.s("scenes.aiAgent.revealMode"),[LA,ce]=JA==="centerOut"?[.5-lA*(.5+TA),.5+lA*(.5+TA)]:JA==="leftToRight"?[-1-TA,lA*(1+TA)]:JA==="rightToLeft"?[1-lA*(1+TA),2+TA]:[-1-TA,2+TA];_.display={..._.display,visible:!0,letterSpacing:mA*X,opacity:t.n("typography.opacity")*da(1,t.n("scenes.aiAgent.dimTo"),n?0:ye),hideLeftTo:LA,hideRightFrom:ce,softness:TA,distortion:rv(t,l,l<wA,n)}}if(s.id==="developers"){let X=_.final.fontSize,sA=_.final.weight,DA=t.n("scenes.developers.letterSpacing"),xA=u("text.final1"),wA=u("text.final2"),AA=u("text.final3"),mA=t.n("scenes.developers.word2AtFrame"),UA=t.n("scenes.developers.word3AtFrame"),ye=t.n("scenes.developers.typingAtFrame"),Ye=Hm([...xA].length,t.n("scenes.developers.cps"),t.n("scenes.developers.cps"),(wA?mA:s.duration)-ye-U-1),tt=rg(t,3,xA,0,Ye,l-ye,n),qe=l>=ye||n,lA=[xA,...wA&&(l>=mA||n)?[wA]:[],...AA&&(l>=UA||n)?[AA]:[]],TA=lA.length===3?UA:lA.length===2?mA:-1,JA=t.n("scenes.developers.wordFadeFrames"),LA=n||TA<0?1:ga(l,TA+t.n("scenes.developers.wordDelayFrames"),JA),ce=LA<1?lA.slice(0,-1):lA,EA=qe?lA.length>1?ce.join(" "):tt.settled:"",pA=LA<1?` ${lA.at(-1)}`:"",dA=EA+(lA.length>1?pA:tt.head),BA=Nr(dA,sA,DA)*X,IA=n?1:io(t.e("scenes.developers.introEasing"),l/t.n("scenes.developers.introFrames"),t.n("scenes.developers.introFrames")),_A=t.n("scenes.developers.introFrames"),GA=t.b("brace.enabled")?2*(t.n("brace.padding")+.6*t.n("brace.size"))*X:0,Ae=C(BA+GA)*da(t.n("scenes.developers.introFromScale"),1,IA)*H(ga(l,_A,s.duration-_A),t.n("scenes.developers.driftScale"))*t.n("motion.scale");if(_.stage={..._.stage,...q((BA+GA)*Ae,X*t.n("brace.size")*Ae),scale:Ae},_.final={..._.final,visible:!0,settled:EA,head:lA.length>1?"":tt.head,entering:pA,enteringColor:{hex:$I(t.s("scenes.developers.wordFromColor"),t.s("typography.color.light"),LA),alpha:LA},enter:ig(t,tt.newest,tt.sinceNewest)},_.cursor={...$(X),attach:"final",solid:t.s("cursor.light.style")==="solid",visible:t.b("cursor.enabled")&&!qe,width:t.n("cursor.light.width")*X,height:t.n("cursor.light.height")*X,color:t.s("cursor.light.color"),glow:{opacity:0,color:t.s("cursor.glow.color"),radius:0}},_.cursor.opacity*=vA(!0),t.b("brace.enabled")){let ee=t.n("brace.gapFrames"),tA=n||TA<0?1:io(t.e("brace.gapEasing"),ga(l,TA,ee),ee),hA=TA<0?0:Nr(` ${lA.at(-1)}`,sA,DA)*X+DA*X;_.brace={..._.brace,visible:!0,padding:t.n("brace.padding")*X,offsetY:t.n("brace.offsetY")*X,closingVisible:n||l>=ye+t.n("brace.closingDelayFrames")?1:0,closingSlack:-hA*(1-tA),glow:{opacity:t.b("brace.glow.enabled")?t.n("brace.glow.intensity"):0,color:t.s("brace.glow.color"),radius:t.n("brace.glow.radius")*X}}}}return e>=r-1&&(_.sceneIndex=Ii.length,_.status="complete"),n&&(_.line.head="",_.final.head=""),_}function iv(A,e,t,n,o,a){let r=A.n("brackets.enter.durationFrames"),i=A.n("brackets.enter.staggerFrames"),s=A.e("brackets.enter.easing"),l=a?1:io(s,ga(e,0,r),r),d=a?1:io(s,ga(e,i,r),r);if(!a&&e<0)return{visible:!1};let u=A.s("brackets.enter.mode"),c=A.n("brackets.enter.distance")*o/Math.max(n,.001);return{visible:!0,thickness:A.n("brackets.thickness")*t,height:A.n("brackets.height")*t,serif:A.n("brackets.serifLength")*t,padding:A.n("brackets.padding")*t,leftOffset:u==="slide"?-c*(1-l):0,rightOffset:u==="slide"?c*(1-d):0,leftTrim:u==="draw"?l:1,rightTrim:u==="draw"?d:1,leftOpacity:u==="fade"?l:l>0||u!=="slide"?1:0,rightOpacity:u==="fade"?d:d>0||u!=="slide"?1:0,glow:{opacity:A.b("brackets.glow.enabled")?A.n("brackets.glow.intensity"):0,color:A.s("brackets.glow.color"),radius:A.n("brackets.glow.radius")*t}}}var Uc=["linear","easeIn","easeOut","easeInOut","easeInCubic","easeOutCubic","easeInOutCubic","easeOutQuart","easeInOutQuart","easeOutExpo","easeOutBack","springSoft","springSnappy"],e3=["16:9","9:16","1:1"],uv={"16:9":"landscape","9:16":"portrait","1:1":"square"},t3=[24,25,30,50,60],ha=["Inter","Manrope","DM Sans","Plus Jakarta Sans","Space Grotesk"],n3=[300,400,500,600,700,800],o3=["fade","slide","scale","blur","reveal","none"],a3=["fade","slide-up","slide-left","scale","none"],dv=["none","sparkle","bolt","star","check","chart","heart","rocket","lock","arrow","globe","chat"],r3=["website","gallery","chart","gradient","text","none"],Gc=["intro","productEntrance","productSettle","contentReveal","showcase","outro"],gv=["Canvas","Layout","Content","Product","Product Header","Product UI","Background","Lights","Typography","Text Animation","Product Animation","Card Animation","Camera","Floating Elements","Particles","Glow","Timeline","Scenes","Assets","Export"],i3={canvas:"Canvas",layout:"Layout",content:"Content",productWindow:"Product",window:"Product",productHeader:"Product Header",productContent:"Product UI",background:"Background",lights:"Lights",typography:"Typography",textAnimation:"Text Animation",productEntrance:"Product Animation",productFloat:"Product Animation",cardAnimation:"Card Animation",camera:"Camera",floatingElements:"Floating Elements",particles:"Particles",glow:"Glow",timeline:"Timeline",loop:"Timeline",scenes:"Scenes",sceneTransition:"Scenes",assets:"Assets",export:"Export"},Lr=(A={})=>({userEditable:A.userEditable??!0,agentEditable:A.agentEditable??!0,...A.unit?{unit:A.unit}:{},...A.step!==void 0?{step:A.step}:{}}),Hr=A=>i3[A.split(".")[0]]??"Canvas",pn=(A,e,t,n,o,a={})=>({path:A,group:Hr(A),type:"number",default:e,min:t,max:n,description:o,...Lr({step:.01,...a})}),To=(A,e,t,n,o,a={})=>({path:A,group:Hr(A),type:"integer",default:e,min:t,max:n,description:o,...Lr({step:1,...a})}),hn=(A,e,t,n,o=0)=>To(A,e,o,t,n,{unit:"frames"}),De=(A,e,t,n={})=>({path:A,group:Hr(A),type:"boolean",default:e,description:t,...Lr(n)}),ie=(A,e,t,n={})=>({path:A,group:Hr(A),type:"color",default:e,description:t,...Lr(n)}),et=(A,e,t,n,o={})=>({path:A,group:Hr(A),type:"enum",default:e,options:t,description:n,...Lr(o)}),ln=(A,e,t,n,o={})=>({path:A,group:Hr(A),type:"text",default:e,maxLength:t,minLength:o.minLength??0,description:n,...Lr(o)}),fg=(A,e,t)=>({path:A,group:Hr(A),type:"easing",default:e,options:Uc,description:t,...Lr()}),Pc=(A,e)=>({path:A,group:Hr(A),type:"asset",default:"",maxLength:2048,description:e,...Lr()}),St=(A,e,t)=>pn(A,e,0,1,t,{unit:"fraction"}),Me=(A,e,t,n,o)=>pn(A,e,t,n,o,{step:1,unit:"du"}),rt=(A,e,t,n,o)=>pn(A,e,t,n,o,{step:.005,unit:"normalized"}),vn=(A,e,t,n,o)=>pn(A,e,t,n,o,{step:.1,unit:"deg"}),Fo=(A,e,t,n,o)=>pn(A,e,t,n,o,{step:.01,unit:"factor"}),Oc=(A,e,t)=>et(A,e,n3,t,{unit:"weight"}),Jm={landscape:{textY:.085,textWidth:.7,productX:.5,productY:.66,productWidth:.6,productHeight:.58,ctaY:.955,titleScale:1,uiColumns:3,logoX:.045,logoY:.07},portrait:{textY:.08,textWidth:.86,productX:.5,productY:.61,productWidth:.84,productHeight:.54,ctaY:.935,titleScale:1.3,uiColumns:2,logoX:.07,logoY:.04},square:{textY:.075,textWidth:.82,productX:.5,productY:.635,productWidth:.76,productHeight:.6,ctaY:.955,titleScale:.92,uiColumns:3,logoX:.05,logoY:.06}},Wm=(A,e)=>{let t=`layout.${A}`,n=A==="landscape"?"16:9":A==="portrait"?"9:16":"1:1";return[rt(`${t}.text.x`,.5,0,1,`(${n}) Centre of the headline block, across the canvas.`),rt(`${t}.text.y`,e.textY,0,1,`(${n}) Top of the headline block, down the canvas.`),rt(`${t}.text.width`,e.textWidth,.2,1,`(${n}) Width the headline wraps within, as a fraction of the canvas width.`),et(`${t}.text.align`,"center",["left","center","right"],`(${n}) Headline alignment.`),Fo(`${t}.titleScale`,e.titleScale,.3,2.5,`(${n}) Multiplies every headline type size on this canvas shape.`),rt(`${t}.product.x`,e.productX,0,1,`(${n}) Centre of the product slot, across the canvas.`),rt(`${t}.product.y`,e.productY,0,1.2,`(${n}) Centre of the product slot, down the canvas.`),rt(`${t}.product.width`,e.productWidth,.1,1.5,`(${n}) Product slot width, as a fraction of the canvas width.`),rt(`${t}.product.height`,e.productHeight,.1,1.5,`(${n}) Product slot height, as a fraction of the canvas height.`),To(`${t}.uiColumns`,e.uiColumns,1,4,`(${n}) Card columns inside the product UI (grid layout).`),rt(`${t}.cta.x`,.5,0,1,`(${n}) Centre of the call-to-action button, across the canvas.`),rt(`${t}.cta.y`,e.ctaY,0,1,`(${n}) Centre of the call-to-action button, down the canvas.`),rt(`${t}.logo.x`,e.logoX,0,1,`(${n}) Left edge of the promo logo, across the canvas.`),rt(`${t}.logo.y`,e.logoY,0,1,`(${n}) Centre of the promo logo, down the canvas.`)]},cg=(A,e,t)=>{let n=`textAnimation.${A}`;return[De(`${n}.enabled`,!0,`Animate the ${e} in. Off: it is shown at its end values from the start.`),et(`${n}.mode`,t.mode,o3,`How the ${e} arrives. fade: opacity. slide: Y and opacity. scale: scale and opacity. blur: blur, Y and opacity. reveal: a mask wipes it up from below. none: no motion.`),hn(`${n}.delayFrames`,t.delay,600,`Delay after its phase starts (${A==="cta"?"outro":"intro"}; in later scenes, after the scene starts).`),hn(`${n}.durationFrames`,t.duration,600,`How long the ${e} takes to arrive.`,1),Me(`${n}.startY`,t.startY,-600,600,"Vertical offset it starts from (slide, blur, reveal)."),Me(`${n}.endY`,0,-600,600,"Vertical offset it settles at."),St(`${n}.startOpacity`,0,"Opacity it starts from."),St(`${n}.endOpacity`,1,"Opacity it settles at."),Fo(`${n}.startScale`,t.startScale,0,4,"Scale it starts from (scale mode; slight in the others)."),Fo(`${n}.endScale`,1,0,4,"Scale it settles at."),vn(`${n}.rotation`,0,-45,45,"Rotation it starts from, settling to 0."),Me(`${n}.blur`,t.blur,0,80,"Blur it starts from (blur mode; a light touch in the others)."),fg(`${n}.easing`,t.easing,`How the ${e} arrives.`),et(`${n}.split`,t.split,["none","words","lines"],`Animate the ${e} as one block, word by word, or line by line.`),hn(`${n}.staggerFrames`,t.stagger,60,"Delay between words or lines when split.")]},Vs=(A,e,t,n,o)=>[To(`timeline.${A}.delayFrames`,e,-240,600,`Gap after the previous phase ends (negative overlaps it). ${o}`,{unit:"frames"}),hn(`timeline.${A}.durationFrames`,t,3600,`Length of the ${A} phase.`,A==="showcase"||A==="productSettle"?0:1),hn(`timeline.${A}.holdFrames`,n,3600,`Still frames added after the ${A} phase before the next one starts.`)],_o=[et("canvas.aspectRatio","16:9",e3,"Canvas shape. Each shape reads its own layout block (layout.landscape / portrait / square): the composition reflows, it is never stretched."),To("canvas.width",3840,256,7680,"Output width in pixels. Must match the aspect ratio (\xB11%).",{unit:"px"}),To("canvas.height",2160,256,7680,"Output height in pixels. Must match the aspect ratio (\xB11%).",{unit:"px"}),et("canvas.fps",60,t3,"Output frame rate. Timing is authored in 60 fps motion frames; a lower rate samples the same motion, it does not slow it down."),et("canvas.durationMode","auto",["auto","fixed"],"auto: the video lasts as long as the timeline (or the scenes, if longer). fixed: it lasts canvas.durationFrames \u2014 the end is held, or the timeline is cut."),To("canvas.durationFrames",600,30,36e3,"Output length in output frames (durationMode fixed).",{unit:"frames"}),ie("canvas.backgroundColor","#12062e","Colour behind everything; the outro's fadeToBase exit fades to it."),To("canvas.seed",20260930,0,2147483647,"Seed for every random choice not seeded on its own. Same config + same seed = identical frames."),pn("canvas.safeArea",.04,0,.2,"Inset on every side, as a fraction of the short side, that the logo, headline and CTA keep clear of.",{unit:"fraction"}),...Wm("landscape",Jm.landscape),...Wm("portrait",Jm.portrait),...Wm("square",Jm.square),ln("content.eyebrow","Website promo video",48,"Small line above the headline. Empty hides it."),ln("content.title","Build faster with AI",80,"The headline. Wraps within the layout's text width. Empty hides it."),ln("content.subtitle","Turn your ideas into production-ready experiences.",140,"The line under the headline. Empty hides it."),ln("content.productName","Acme AI",40,"The product's name: the browser tab title and the accessible label.",{minLength:1}),De("content.logo.enabled",!0,"Show the promo logo in the corner of the video."),ln("content.logo.text","LOGO",24,"Logo wordmark. With assets.logo set, the image is shown instead of the mark."),et("content.logo.mark","spark",["none","dot","spark","square","ring"],"A procedural logo mark drawn before the wordmark."),ie("content.logo.color","#ffffff","Logo wordmark colour."),ie("content.logo.markColor","#f0abfc","Logo mark colour."),Me("content.logo.size",30,8,120,"Logo wordmark size."),De("content.cta.enabled",!0,"Show the call-to-action button."),ln("content.cta.text","Try it now",32,"Call-to-action label."),et("content.cta.style","pill",["pill","rounded","outline"],"Button shape."),ie("content.cta.backgroundColor","#ffffff","Button fill (the outline colour in outline style)."),ie("content.cta.textColor","#4c1d95","Button label colour."),De("content.cta.arrow",!0,"Draw an arrow after the label."),De("content.badge.enabled",!0,"Show the badge pinned to the product window's top-right corner."),ln("content.badge.text","AI powered",28,"Badge label."),et("content.badge.icon","sparkle",dv,"Badge icon (drawn procedurally)."),ie("content.badge.backgroundColor","#ffffff","Badge fill."),ie("content.badge.textColor","#6d28d9","Badge label and icon colour."),De("content.showTopBarTitle",!0,"Show the product name as the browser tab title."),De("productWindow.enabled",!0,"Show the product window at all."),rt("productWindow.x",.5,-.5,1.5,"Window centre across its layout slot (0.5 = centred in the slot)."),rt("productWindow.y",.5,-.5,1.5,"Window centre down its layout slot."),rt("productWindow.width",1,.1,2,"Window width as a fraction of the slot width."),rt("productWindow.height",1,.1,2,"Window height as a fraction of the slot height."),Fo("productWindow.scale",1,.2,3,"Scale of the window (after entrance and float)."),vn("productWindow.rotation",0,-30,30,"Resting rotation of the window."),Me("productWindow.radius",30,0,200,"Corner radius."),ie("productWindow.backgroundColor","#ffffff","Window surface colour."),Me("productWindow.borderWidth",2,0,20,"Border width."),ie("productWindow.borderColor","#ffffff","Border colour."),St("productWindow.borderOpacity",.7,"Border opacity."),De("productWindow.shadow",!0,"Drop a soft shadow under the window."),Me("productWindow.shadowBlur",90,0,400,"Shadow blur."),St("productWindow.shadowOpacity",.38,"Shadow opacity."),ie("productWindow.shadowColor","#2a0a5e","Shadow colour."),Me("productWindow.shadowOffsetY",40,-200,200,"Shadow offset down."),St("productWindow.opacity",1,"Window opacity (after the entrance)."),De("window.showChrome",!0,"Draw browser chrome (the top bar and its parts). Off: a bare rounded panel."),De("window.showTopBar",!0,"Show the top bar."),De("window.showTrafficLights",!0,"Show the three window buttons in the top bar."),De("window.showAddressBar",!0,"Show the address field in the top bar."),ln("window.addressText","acme.ai/studio",60,"Text in the address field."),Me("window.topBarHeight",52,20,160,"Top bar height."),ie("window.topBarColor","#f5f3fa","Top bar colour."),ie("window.topBarTextColor","#8b85a0","Top bar text colour (address and tab title)."),ie("window.trafficLight1","#ff6159","First window button colour."),ie("window.trafficLight2","#ffbd2e","Second window button colour."),ie("window.trafficLight3","#28c941","Third window button colour."),Me("window.perspective",2600,400,1e4,"Perspective distance for the window's 3D tilt."),vn("window.tiltX",0,-40,40,"Resting tilt back (positive) or forward, in 3D."),vn("window.tiltY",0,-40,40,"Resting turn left or right, in 3D."),De("productHeader.showNavigation",!0,"Show the app's navigation bar under the top bar."),De("productHeader.showLogo",!0,"Show the app logo in the navigation bar."),ln("productHeader.logo","LOGO",24,"App logo text in the navigation bar."),ln("productHeader.activeItem","Text",24,"The highlighted navigation item: one of productHeader.navItems, or empty for none."),De("productHeader.showAction",!0,"Show a button on the right of the navigation bar."),ln("productHeader.actionText","Sign up",20,"Navigation bar button label."),Me("productHeader.height",72,30,200,"Navigation bar height."),Me("productHeader.padding",34,0,160,"Horizontal padding of the navigation bar."),Me("productHeader.fontSize",19,8,60,"Navigation text size."),Oc("productHeader.fontWeight",500,"Navigation text weight."),ie("productHeader.backgroundColor","#ffffff","Navigation bar colour."),ie("productHeader.textColor","#6f6886","Navigation item colour."),ie("productHeader.activeColor","#1c1432","Active item colour."),ie("productHeader.activeBackground","#f0eaff","Active item pill colour."),ie("productHeader.logoColor","#1c1432","App logo colour."),ie("productHeader.accentColor","#7c3aed","Navigation button colour."),De("productHeader.showDivider",!0,"Draw a line under the navigation bar."),ie("productHeader.dividerColor","#eeebf5","Divider colour."),ie("productContent.backgroundColor","#ffffff","App content background."),ie("productContent.accentColor","#7c3aed","App accent: send button, focus ring, highlights."),ie("productContent.textColor","#1c1432","App body text colour."),ie("productContent.mutedColor","#8b85a0","App secondary text colour."),Me("productContent.padding",40,0,200,"App content padding."),Me("productContent.fontSize",21,8,60,"App body text size."),De("productContent.greeting.enabled",!0,"Show the user's message bubble."),ln("productContent.greeting.text","Could you please send me your amazing portfolio to check?",140,"The user's message."),et("productContent.greeting.align","right",["left","right"],"Which side the user's message sits."),ie("productContent.greeting.bubbleColor","#7c3aed","Message bubble colour."),ie("productContent.greeting.textColor","#ffffff","Message text colour."),De("productContent.avatar.enabled",!0,"Show the assistant avatar beside the reply."),ln("productContent.avatar.initials","A",3,"Avatar initials (with no assets.avatar image)."),ie("productContent.avatar.color","#c084fc","Avatar colour (with no image)."),De("productContent.response.enabled",!0,"Show the assistant's reply line above the cards."),ln("productContent.response.text","Sure! Here are a few things I made for you:",120,"The assistant's reply."),De("productContent.hero.enabled",!1,"Show a wide hero panel above the cards (assets.heroImage, or a procedural placeholder)."),rt("productContent.hero.height",.3,.05,.8,"Hero panel height, as a fraction of the content area."),et("productContent.cardLayout","grid",["grid","free"],"grid: cards fill a grid (their x/y nudge, width/height multiply the cell). free: each card's x/y/width/height place it in the content area."),Me("productContent.cardGap",22,0,120,"Space between cards (grid)."),De("productContent.input.enabled",!0,"Show the message input at the bottom of the app."),ln("productContent.input.placeholder","Write a message...",60,"Input placeholder."),ln("productContent.input.typeText","Make the hero section brighter",80,"Text typed into the input during the showcase. Empty: the placeholder stays."),pn("productContent.input.typeSpeed",18,1,80,"Typing speed, characters per second.",{step:1,unit:"factor"}),ie("productContent.input.backgroundColor","#f7f5fc","Input colour."),ie("productContent.input.borderColor","#e9e4f5","Input border colour."),ln("productContent.sendButton","\u2191",8,"Send button label."),ie("productContent.sendButtonColor","#7c3aed","Send button colour."),ie("productContent.sendButtonTextColor","#ffffff","Send button label colour."),ie("background.baseColor","#3b0f8c","Base colour under the gradient."),De("background.gradient.enabled",!0,"Lay the gradient (background.gradient.stops) over the base."),et("background.gradient.type","mesh",["linear","radial","mesh"],"linear: along the angle. radial: from the centre out. mesh: soft blobs of each stop colour around the canvas."),vn("background.gradient.angle",135,0,360,"Linear direction (0 = upwards, 90 = to the right); for mesh, rotates the blobs."),rt("background.gradient.softness",.65,0,1,"Mesh blob softness (0 = hard edges, 1 = very diffuse)."),De("background.glow.enabled",!0,"The main luminous glow behind the product."),rt("background.glow.x",.5,-.5,1.5,"Glow centre across the canvas."),rt("background.glow.y",.6,-.5,1.5,"Glow centre down the canvas."),pn("background.glow.radius",.75,0,3,"Glow radius, as a fraction of the short side.",{unit:"short"}),ie("background.glow.color","#f5a3ff","Glow colour."),St("background.glow.intensity",.75,"Glow strength."),Me("background.glow.blur",60,0,400,"Extra blur on the glow."),De("background.secondaryGlow.enabled",!0,"A second, cooler glow."),rt("background.secondaryGlow.x",.12,-.5,1.5,"Second glow centre across the canvas."),rt("background.secondaryGlow.y",.18,-.5,1.5,"Second glow centre down the canvas."),pn("background.secondaryGlow.radius",.7,0,3,"Second glow radius, as a fraction of the short side.",{unit:"short"}),ie("background.secondaryGlow.color","#7c9bff","Second glow colour."),St("background.secondaryGlow.intensity",.55,"Second glow strength."),De("background.noise.enabled",!0,"Fine film grain over the background (a seeded turbulence)."),St("background.noise.opacity",.07,"Grain opacity."),Fo("background.noise.scale",1,.2,5,"Grain size."),To("background.noise.seed",7,0,1e5,"Grain seed."),De("background.vignette.enabled",!0,"Darken towards the corners."),St("background.vignette.intensity",.35,"Vignette strength."),ie("background.vignette.color","#14052f","Vignette colour."),et("typography.fontFamily","Plus Jakarta Sans",ha,"Headline typeface (registered and loaded by the renderer)."),et("typography.uiFontFamily","Inter",ha,"Typeface inside the product UI."),Me("typography.eyebrowSize",24,8,120,"Eyebrow size."),Me("typography.titleSize",96,16,400,"Headline size (times the layout's titleScale)."),Me("typography.subtitleSize",32,8,160,"Subtitle size."),Me("typography.ctaSize",26,8,120,"Call-to-action label size."),Me("typography.badgeSize",19,8,80,"Badge label size."),Oc("typography.eyebrowWeight",600,"Eyebrow weight."),Oc("typography.titleWeight",700,"Headline weight."),Oc("typography.subtitleWeight",400,"Subtitle weight."),Oc("typography.ctaWeight",600,"Call-to-action weight."),pn("typography.titleLetterSpacing",-.035,-.15,.3,"Headline tracking.",{step:.005,unit:"em"}),pn("typography.eyebrowLetterSpacing",.12,-.1,.5,"Eyebrow tracking.",{step:.005,unit:"em"}),pn("typography.titleLineHeight",1.04,.7,2,"Headline line height.",{step:.01,unit:"em"}),pn("typography.subtitleLineHeight",1.4,.8,2.5,"Subtitle line height.",{step:.01,unit:"em"}),et("typography.eyebrowCase","uppercase",["none","uppercase"],"Eyebrow letter case."),et("typography.eyebrowStyle","pill",["pill","plain"],"Eyebrow in a translucent pill, or plain text."),ie("typography.eyebrowColor","#ffffff","Eyebrow colour."),ie("typography.eyebrowBackground","#ffffff","Eyebrow pill colour."),St("typography.eyebrowBackgroundOpacity",.16,"Eyebrow pill opacity."),ie("typography.titleColor","#ffffff","Headline colour."),De("typography.titleGradient.enabled",!0,"Fill the headline with a vertical gradient instead of the flat colour."),ie("typography.titleGradient.from","#ffffff","Headline gradient top."),ie("typography.titleGradient.to","#f3d4ff","Headline gradient bottom."),ie("typography.subtitleColor","#f3e8ff","Subtitle colour."),St("typography.subtitleOpacity",.86,"Subtitle opacity."),Me("typography.gap",20,0,200,"Space between eyebrow, headline and subtitle."),St("typography.shadowOpacity",.28,"Soft shadow under the headline text."),ie("typography.shadowColor","#2a0a5e","Headline shadow colour."),Me("typography.shadowBlur",30,0,200,"Headline shadow blur."),...cg("eyebrow","eyebrow",{mode:"blur",delay:0,duration:30,startY:24,blur:14,easing:"easeOutCubic",split:"none",stagger:0,startScale:.96}),...cg("title","headline",{mode:"blur",delay:6,duration:42,startY:48,blur:22,easing:"easeOutQuart",split:"words",stagger:5,startScale:.96}),...cg("subtitle","subtitle",{mode:"slide",delay:20,duration:36,startY:30,blur:8,easing:"easeOutCubic",split:"none",stagger:0,startScale:.98}),...cg("cta","call-to-action",{mode:"scale",delay:0,duration:30,startY:24,blur:6,easing:"easeOutBack",split:"none",stagger:0,startScale:.7}),De("productEntrance.enabled",!0,"Animate the product window in. Off: it is in place from the first frame."),Fo("productEntrance.startScale",.84,0,4,"Scale it starts from."),Fo("productEntrance.endScale",1,0,4,"Scale it settles at."),Me("productEntrance.startY",260,-2e3,2e3,"Vertical offset it rises from."),Me("productEntrance.endY",0,-2e3,2e3,"Vertical offset it settles at."),St("productEntrance.startOpacity",0,"Opacity it starts from."),St("productEntrance.endOpacity",1,"Opacity it settles at."),vn("productEntrance.startRotation",-1.5,-45,45,"Rotation it starts from."),vn("productEntrance.endRotation",0,-45,45,"Rotation it settles at."),vn("productEntrance.startTilt",22,-60,60,"3D tilt back it starts from (perspective)."),vn("productEntrance.endTilt",0,-60,60,"3D tilt it settles at."),hn("productEntrance.delayFrames",0,600,"Delay after the productEntrance phase starts."),hn("productEntrance.durationFrames",54,600,"How long the entrance takes.",1),fg("productEntrance.easing","easeOutQuart","How the window arrives."),De("productFloat.enabled",!0,"After the entrance, the window floats gently (from the productSettle phase)."),Me("productFloat.amplitudeX",4,0,200,"Horizontal float."),Me("productFloat.amplitudeY",10,0,200,"Vertical float."),vn("productFloat.rotationAmplitude",.3,0,10,"Rotation float."),pn("productFloat.frequency",.22,.01,3,"Float cycles per second (a whole number of cycles per loop when looping).",{step:.01,unit:"hz"}),rt("productFloat.phase",0,0,1,"Where in its cycle the float starts."),et("productFloat.easing","easeInOut",["linear","easeInOut","easeInOutCubic","easeInOutQuart"],"Float wave shape: easeInOut is sine-like, linear a triangle."),hn("productFloat.rampFrames",40,600,"The float grows in over this long, so it does not jump after the entrance."),De("camera.enabled",!0,"Move a camera over the whole composition (zoom, pan, drift)."),Fo("camera.startScale",1.08,.3,4,"Zoom at the start."),Fo("camera.endScale",1,.3,4,"Zoom at the end of the move."),rt("camera.startX",0,-.5,.5,"Pan at the start, as a fraction of the canvas width (positive moves the view right)."),rt("camera.endX",0,-.5,.5,"Pan at the end."),rt("camera.startY",.02,-.5,.5,"Pan at the start, as a fraction of the canvas height (positive moves the view down)."),rt("camera.endY",0,-.5,.5,"Pan at the end."),vn("camera.startRotation",0,-30,30,"Roll at the start."),vn("camera.endRotation",0,-30,30,"Roll at the end."),Me("camera.perspective",3e3,400,1e4,"Perspective distance for the camera tilt."),vn("camera.startTilt",6,-40,40,"Camera tilt at the start (3D, around the horizontal axis)."),vn("camera.endTilt",0,-40,40,"Camera tilt at the end."),hn("camera.delayFrames",0,3600,"When the move starts (from frame 0)."),hn("camera.durationFrames",360,36e3,"How long the move takes.",1),fg("camera.easing","easeInOutCubic","How the camera moves."),Me("camera.driftAmplitude",6,0,200,"A slow drift layered over the move (also what keeps a loop alive)."),pn("camera.driftFrequency",.08,.01,2,"Drift cycles per second.",{step:.01,unit:"hz"}),Fo("camera.parallax",.5,0,2,"How much more the background and floating elements move than the product (depth)."),et("cardAnimation.entrance","slide-up",a3,"How each card arrives."),hn("cardAnimation.delayFrames",12,600,"Delay after the contentReveal phase starts."),hn("cardAnimation.durationFrames",34,600,"How long each card takes to arrive.",1),hn("cardAnimation.staggerFrames",8,120,"Delay between one card and the next (deterministic, in list order)."),Me("cardAnimation.distance",60,0,1e3,"How far cards travel in (slide modes)."),Fo("cardAnimation.startScale",.9,0,2,"Scale cards start from (scale mode, and slightly in the others)."),St("cardAnimation.opacity",0,"Opacity cards start from."),fg("cardAnimation.easing","easeOutCubic","How each card arrives."),De("cardAnimation.highlight.enabled",!0,"During the showcase, lift each card in turn."),Fo("cardAnimation.highlight.scale",1.045,1,1.5,"Lifted card scale."),Me("cardAnimation.highlight.lift",10,0,100,"Lifted card rise."),hn("cardAnimation.highlight.everyFrames",50,600,"How long each card stays lifted.",10),De("particles.enabled",!0,"Drifting light particles over the background."),To("particles.count",70,0,400,"Number of particles."),To("particles.seed",42,0,1e5,"Particle seed. Same seed = same particles, frame for frame."),Me("particles.sizeMin",2,.5,60,"Smallest particle diameter."),Me("particles.sizeMax",7,.5,120,"Largest particle diameter."),St("particles.opacityMin",.2,"Faintest particle."),St("particles.opacityMax",.85,"Brightest particle."),pn("particles.speed",22,0,600,"Drift speed.",{step:1,unit:"du/s"}),vn("particles.direction",270,0,360,"Drift direction (0 = right, 90 = down, 270 = up)."),vn("particles.spread",35,0,180,"How far each particle's direction may vary from the main one."),ie("particles.color","#ffffff","Particle colour."),St("particles.glow",.6,"Soft halo around each particle."),Me("particles.blur",0,0,40,"Particle blur."),St("particles.twinkle",.5,"How much particles flicker (0 = steady)."),hn("particles.fadeInFrames",40,600,"Particles fade in over this long from frame 0."),De("glow.enabled",!0,"Bloom: a coloured halo around the product window and the headline."),St("glow.intensity",.55,"Bloom strength."),Me("glow.radius",140,0,600,"Bloom spread."),St("glow.opacity",.6,"Bloom opacity."),ie("glow.color","#e879f9","Bloom colour."),St("glow.threshold",.55,"Only elements brighter than this bloom (by their colour's luminance): 0 = everything, 1 = nothing."),...Vs("intro",0,42,0,"The background settles and the headline arrives."),...Vs("productEntrance",-18,60,0,"The product window arrives."),...Vs("productSettle",-10,20,0,"The window settles and starts to float."),...Vs("contentReveal",-6,84,0,"The UI fills in: message, reply, cards, floating elements."),...Vs("showcase",0,210,0,"The product is shown off: cards lift in turn, the input types."),...Vs("outro",0,48,36,"The call to action arrives; the exit plays."),et("timeline.outro.exit","none",["none","fade","zoom","fadeToBase"],"How the video ends: hold (none), fade everything out, zoom into the product, or fade to canvas.backgroundColor."),De("loop.enabled",!1,"Loop seamlessly: the settled composition plays with only periodic motion (float, drift, lights, particles, card highlights, scenes), and the last frame leads into the first."),hn("loop.loopDurationFrames",480,36e3,"Loop length (motion frames). Periodic motion is fitted to a whole number of cycles.",60),hn("sceneTransition.durationFrames",24,240,"Scene change length: the old copy leaves, the new copy arrives, overridden values blend.",1),et("sceneTransition.style","blur",["crossfade","slide","blur"],"How the old scene's copy leaves."),Pc("assets.logo","Logo image, shown instead of the logo mark and wordmark. An asset reference: static:<file> (the render's public folder), https://\u2026, or a PNG/JPEG/WebP data: URL. Empty: the procedural mark."),Pc("assets.appLogo","Logo image inside the product's navigation bar. Empty: productHeader.logo text."),Pc("assets.avatar","Assistant avatar image. Empty: initials on a colour."),Pc("assets.heroImage","Hero panel image (productContent.hero). Empty: a procedural placeholder."),et("export.codec","h264",["h264","h265","prores","vp9"],"Video codec for rendered files."),et("export.pixelFormat","yuv420p",["yuv420p","yuv422p10le","yuv444p10le"],"Pixel format. yuv420p plays everywhere; ProRes needs a 10-bit format."),et("export.colorSpace","bt709",["bt709","default"],"Colour space tag. bt709 is correct for HD/4K SDR."),To("export.crf",12,0,51,"H.264/H.265 quality (lower is better; 12 is visually lossless)."),et("export.x264Preset","slow",["ultrafast","veryfast","fast","medium","slow","slower","veryslow"],"Encoder effort."),et("export.imageFormat","png",["png","jpeg"],"Frame capture format (png keeps gradients clean).")],Xs=A=>({num:(e,t,n,o,a,r={})=>({...pn(e,t,n,o,a,r),group:A}),int:(e,t,n,o,a,r={})=>({...To(e,t,n,o,a,r),group:A}),text:(e,t,n,o,a={})=>({...ln(e,t,n,o,a),group:A}),color:(e,t,n)=>({...ie(e,t,n),group:A}),choice:(e,t,n,o)=>({...et(e,t,n,o),group:A}),asset:(e,t)=>({...Pc(e,t),group:A}),bool:(e,t,n)=>({...De(e,t,n),group:A})}),_m=Xs("Background"),s3=[_m.num("offset",0,0,1,"Where the stop sits along the gradient (0\u20251). Stops must be in order.",{step:.01,unit:"fraction"}),_m.color("color","#7c3aed","Stop colour."),_m.num("opacity",1,0,1,"Stop opacity.",{unit:"fraction"})],fa=Xs("Lights"),l3=[fa.num("x",.5,-.5,1.5,"Light centre across the canvas.",{step:.005,unit:"normalized"}),fa.num("y",.5,-.5,1.5,"Light centre down the canvas.",{step:.005,unit:"normalized"}),fa.num("radius",.4,.01,3,"Light radius, as a fraction of the short side.",{unit:"short"}),fa.color("color","#a855f7","Light colour."),fa.num("opacity",.6,0,1,"Light strength.",{unit:"fraction"}),fa.num("blur",40,0,400,"Light blur.",{step:1,unit:"du"}),fa.choice("animation","drift",["none","drift","pulse","orbit"],"drift: wanders slowly. pulse: breathes in strength. orbit: circles its centre."),fa.num("amplitude",.04,0,.5,"How far it moves (drift, orbit) as a fraction of the short side, or how much it breathes (pulse).",{step:.005,unit:"short"}),fa.num("frequency",.1,.01,2,"Animation cycles per second.",{unit:"hz"}),fa.num("phase",0,0,1,"Where in its cycle it starts.",{unit:"fraction"})],Cn=Xs("Product UI"),c3=[Cn.text("title","Card",40,"Card title. Empty hides it."),Cn.text("subtitle","",60,"Card subtitle. Empty hides it."),Cn.asset("image","Card preview image (asset reference). Empty: the procedural placeholder."),Cn.choice("imageFit","cover",["cover","contain"],"How the image fills the preview."),Cn.choice("placeholder","website",r3,"Procedural preview drawn when there is no image."),Cn.color("backgroundColor","#f7f3ff","Card colour."),Cn.color("textColor","#1c1432","Card text colour."),Cn.color("accentColor","#8b5cf6","Card accent (the placeholder art and tag)."),Cn.num("width",1,.1,3,"grid: multiplies the cell width. free: fraction of the content area width.",{unit:"factor"}),Cn.num("height",1,.1,3,"grid: multiplies the cell height. free: fraction of the content area height.",{unit:"factor"}),Cn.num("radius",20,0,200,"Corner radius.",{step:1,unit:"du"}),Cn.num("x",0,-1,1,"grid: nudge across, as a fraction of the cell width. free: centre across the content area (0\u20251).",{step:.005,unit:"normalized"}),Cn.num("y",0,-1,1,"grid: nudge down, as a fraction of the cell height. free: centre down the content area (0\u20251).",{step:.005,unit:"normalized"}),Cn.num("rotation",0,-45,45,"Card rotation.",{step:.1,unit:"deg"}),Cn.num("scale",1,.1,3,"Card scale.",{unit:"factor"}),Cn.num("opacity",1,0,1,"Card opacity.",{unit:"fraction"})],u3=Xs("Product Header"),d3=[u3.text("","Item",20,"A navigation item label.",{minLength:1})],Gt=Xs("Floating Elements"),g3=[Gt.choice("type","pill",["badge","pill","icon","text"],"badge: icon + label on a card. pill: label on a rounded pill. icon: an icon in a circle. text: bare label."),Gt.text("content","New",24,"Label (badge, pill, text)."),Gt.choice("icon","sparkle",dv,"Icon (badge, icon)."),Gt.num("x",.5,-.8,1.8,"Centre across the product window (0 = its left edge, 1 = its right edge; beyond floats beside it). Anchored to the window, so it follows every aspect ratio's layout; kept inside the safe area.",{step:.005,unit:"normalized"}),Gt.num("y",.5,-.8,1.8,"Centre down the product window (0 = its top edge, 1 = its bottom edge).",{step:.005,unit:"normalized"}),Gt.num("scale",1,.1,5,"Element scale.",{unit:"factor"}),Gt.num("rotation",0,-180,180,"Element rotation.",{step:.1,unit:"deg"}),Gt.num("fontSize",22,8,120,"Label size.",{step:1,unit:"du"}),Gt.color("backgroundColor","#ffffff","Element fill colour."),Gt.num("backgroundOpacity",.92,0,1,"Fill opacity (lower for glass).",{unit:"fraction"}),Gt.color("textColor","#4c1d95","Label and icon colour."),Gt.num("borderRadius",999,0,999,"Corner radius (999 = fully round).",{step:1,unit:"du"}),Gt.num("opacity",1,0,1,"Element opacity.",{unit:"fraction"}),Gt.num("blur",0,0,60,"Blur (depth of field).",{step:1,unit:"du"}),Gt.choice("animation","float",["none","float","pulse","drift","spin"],"Motion once it has arrived."),Gt.num("amplitude",12,0,300,"How far it floats or drifts (du), or how much it pulses (per cent of its size).",{step:1,unit:"du"}),Gt.num("frequency",.3,.01,3,"Motion cycles per second.",{unit:"hz"}),Gt.num("phase",0,0,1,"Where in its cycle it starts.",{unit:"fraction"}),Gt.choice("enter","pop",["pop","fade","slide-up","none"],"How it arrives."),Gt.int("delayFrames",0,0,3600,"When it arrives, after the contentReveal phase starts.",{unit:"frames"}),Gt.num("depth",1,0,3,"Parallax depth: how much it follows the camera drift (0 = fixed to the frame).",{unit:"factor"})],cv=Xs("Scenes"),hg={contentOverrides:["content."],backgroundOverrides:["background.","lights.","glow.","particles.color","particles.count","particles.speed","particles.direction","canvas.backgroundColor"],productOverrides:["productWindow.","window.","productHeader.","productContent."],animationOverrides:["camera.","productFloat.","cardAnimation.","textAnimation."]},ug=(A,e)=>({path:A,group:"Scenes",type:"overrides",default:{},allow:hg[A],description:e,userEditable:!0,agentEditable:!0}),f3=[cv.text("id","scene",32,"Scene name (for people and patches).",{minLength:1}),cv.int("durationFrames",120,30,3600,"Scene length.",{unit:"frames"}),ug("contentOverrides",'Copy for this scene: { "content.title": "\u2026" }. Paths under content.'),ug("backgroundOverrides","Look for this scene: paths under background, lights, glow, and particles.color / count / speed / direction. Blended in over the transition."),ug("productOverrides",'Product for this scene: paths under productWindow, window, productHeader, productContent (e.g. "productContent.cards.0.title").'),ug("animationOverrides","Motion for this scene: paths under camera, productFloat, cardAnimation, textAnimation.")],Vm=(A,e,t,n,o)=>({title:A,subtitle:e,image:"",imageFit:"cover",placeholder:t,backgroundColor:n,textColor:"#1c1432",accentColor:o,width:1,height:1,radius:20,x:0,y:0,rotation:0,scale:1,opacity:1}),dg=(A,e,t,n,o,a,r,i)=>({x:A,y:e,radius:t,color:n,opacity:o,blur:40,animation:a,amplitude:.04,frequency:r,phase:i}),gg=(A,e,t,n,o,a={})=>({type:A,content:e,icon:t,x:n,y:o,scale:1,rotation:0,fontSize:22,backgroundColor:"#ffffff",backgroundOpacity:.92,textColor:"#4c1d95",borderRadius:999,opacity:1,blur:0,animation:"float",amplitude:12,frequency:.3,phase:0,enter:"pop",delayFrames:0,depth:1,...a}),so=[{path:"background.gradient.stops",group:"Background",minItems:2,maxItems:6,item:s3,description:"Gradient colour stops, in order of offset.",default:[{offset:0,color:"#6d28d9",opacity:1},{offset:.45,color:"#d946ef",opacity:1},{offset:1,color:"#4f7cff",opacity:1}]},{path:"lights",group:"Lights",minItems:0,maxItems:8,item:l3,description:"Ambient light sources: soft coloured glows that drift, pulse or orbit.",default:[dg(.16,.34,.55,"#a855f7",.7,"drift",.09,0),dg(.86,.24,.5,"#f472b6",.65,"drift",.07,.35),dg(.8,.9,.6,"#60a5fa",.6,"orbit",.06,.6),dg(.5,.5,.38,"#ffffff",.18,"pulse",.12,.2)]},{path:"productHeader.navItems",group:"Product Header",minItems:0,maxItems:6,item:d3,description:"Navigation items in the product's header, in order.",default:["Explore","Images","Text"]},{path:"productContent.cards",group:"Product UI",minItems:0,maxItems:8,item:c3,description:"Result cards inside the product UI (0\u20138).",default:[Vm("AI Website","Landing page","website","#f6f1ff","#8b5cf6"),Vm("Portfolio","Personal site","gallery","#fdf0f8","#ec4899"),Vm("Dashboard","Analytics","chart","#eef3ff","#3b82f6")]},{path:"floatingElements",group:"Floating Elements",minItems:0,maxItems:10,item:g3,description:"Badges, pills, icons and labels floating around the product.",default:[gg("badge","Generated in 3s","bolt",-.05,.24,{delayFrames:30,phase:.1}),gg("pill","New","none",1.06,.12,{backgroundColor:"#fdf4ff",textColor:"#a21caf",delayFrames:42,phase:.55,rotation:4}),gg("icon","","sparkle",-.03,.8,{textColor:"#c026d3",delayFrames:52,phase:.3,fontSize:30}),gg("pill","99% faster","none",1.04,.74,{delayFrames:60,phase:.8,rotation:-3})]},{path:"scenes",group:"Scenes",minItems:0,maxItems:6,item:f3,description:"Optional scenes: each overrides copy, look, product or motion for a stretch of the video. Empty: one scene, the base config.",default:[]}],pg=new Map(_o.map(A=>[A.path,A])),Xm=new Map(so.map(A=>[A.path,A]));function fv(){return[..._o,...so.flatMap(A=>A.item.map(e=>({...e,path:e.path?`${A.path}[].${e.path}`:`${A.path}[]`,list:A.path})))]}var mg="promo-product-showcase/1",ko=A=>typeof A=="object"&&A!==null&&!Array.isArray(A),mn=A=>A===void 0?A:JSON.parse(JSON.stringify(A)),$s="promo-product-showcase";function me(A,e){if(e==="")return A;let t=A;for(let n of e.split("."))if(Array.isArray(t)&&/^\d+$/.test(n))t=t[Number(n)];else if(ko(t))t=t[n];else return;return t}function pa(A,e,t){let n=e.split("."),o=A;for(let r of n.slice(0,-1)){let i=Array.isArray(o)?o[Number(r)]:o[r];if(!ko(i)&&!Array.isArray(i)){let s={};Array.isArray(o)?o[Number(r)]=s:o[r]=s,o=s}else o=i}let a=n.at(-1);Array.isArray(o)?o[Number(a)]=t:o[a]=t}function qm(A){let e=A.item[0];if(A.item.length===1&&e.path==="")return mn(e.default);let t={};for(let n of A.item)t[n.path]=mn(n.default);return t}function bg(){let A={schema:mg};for(let e of _o)pa(A,e.path,mn(e.default));for(let e of so)pa(A,e.path,mn(e.default));return A}var h3=/^#[0-9a-fA-F]{6}$/,p3=/[\u0000-\u001f\u007f]/,pv=/^(static:[A-Za-z0-9._\-/]+|https:\/\/[^\s"'<>\\]+|data:image\/(png|jpeg|webp);base64,[A-Za-z0-9+/=]+)$/;function m3(A){return A===""||pv.test(A)&&!A.includes("..")}function yg(A,e,t,n){switch(A.type){case"number":case"integer":{if(typeof t!="number"||!Number.isFinite(t))return void n.push({path:e,message:`${e} must be a finite number (got ${JSON.stringify(t)}).`});if(A.type==="integer"&&!Number.isInteger(t))return void n.push({path:e,message:`${e} must be a whole number (got ${t}).`});(t<A.min||t>A.max)&&n.push({path:e,message:`${e} must be between ${A.min} and ${A.max}${A.unit&&!["fraction","factor"].includes(A.unit)?` ${A.unit}`:""} (got ${t}).`});return}case"boolean":typeof t!="boolean"&&n.push({path:e,message:`${e} must be true or false.`});return;case"color":(typeof t!="string"||!h3.test(t))&&n.push({path:e,message:`${e} must be a hex colour in the form #rrggbb (got ${JSON.stringify(t)}).`});return;case"enum":case"easing":A.options.includes(t)||n.push({path:e,message:`${e} must be one of ${A.options.map(o=>JSON.stringify(o)).join(", ")} (got ${JSON.stringify(t)}).`});return;case"text":{if(typeof t!="string")return void n.push({path:e,message:`${e} must be a string.`});if(p3.test(t))return void n.push({path:e,message:`${e} must be a single line of plain text (no control characters or line breaks).`});t.trim().length<(A.minLength??0)&&n.push({path:e,message:`${e} must not be empty.`}),t.length>A.maxLength&&n.push({path:e,message:`${e} accepts at most ${A.maxLength} characters (got ${t.length}).`});return}case"asset":(typeof t!="string"||t.length>A.maxLength||!m3(t))&&n.push({path:e,message:`${e} must be an asset reference: "" (procedural), "static:<file>", "https://\u2026" or a PNG/JPEG/WebP data: URL (got ${JSON.stringify(typeof t=="string"?t.slice(0,60):t)}).`});return;case"overrides":y3(A,e,t,n)}}function Nc(A){let e=pg.get(A);if(e)return{control:e};for(let t of so){if(!A.startsWith(`${t.path}.`))continue;let[n,...o]=A.slice(t.path.length+1).split(".");if(!/^\d+$/.test(n))return;let a=o.join("."),r=t.item.find(i=>i.path===a);return r?{control:r,list:t,index:Number(n)}:void 0}}function y3(A,e,t,n){if(!ko(t))return void n.push({path:e,message:`${e} must be an object of { "<config path>": value }.`});for(let[o,a]of Object.entries(t)){let r=`${e}["${o}"]`;if(!A.allow.some(s=>s.endsWith(".")?o.startsWith(s):o===s)){n.push({path:r,message:`${r}: a scene's ${e.split(".").pop()} may only set ${A.allow.map(s=>s.endsWith(".")?`${s}*`:s).join(", ")}.`});continue}let i=Nc(o);if(!i||i.control.type==="overrides"){n.push({path:r,message:`${r}: ${o} is not a ${$s} control.`});continue}if(i.list&&i.index>=i.list.maxItems){n.push({path:r,message:`${r}: ${i.list.path} has at most ${i.list.maxItems} items.`});continue}yg(i.control,r,a,n)}}function b3(A,e,t){let n=A.path;if(!Array.isArray(e))return void t.push({path:n,message:`${n} must be an array (${A.minItems}\u2013${A.maxItems} items).`});(e.length<A.minItems||e.length>A.maxItems)&&t.push({path:n,message:`${n} must have ${A.minItems}\u2013${A.maxItems} items (got ${e.length}).`});let o=A.item.length===1&&A.item[0].path==="",a=[];return e.forEach((r,i)=>{let s=`${n}.${i}`;if(o){yg(A.item[0],s,r,t),a.push(mn(r));return}if(!ko(r))return void t.push({path:s,message:`${s} must be an object.`});let l=Object.keys(r).filter(u=>!A.item.some(c=>c.path===u));for(let u of l)t.push({path:`${s}.${u}`,message:`${s}.${u} is not a field of ${n} items (fields: ${A.item.map(c=>c.path).join(", ")}). No code, CSS, SVG, HTML or shader can be set.`});let d=qm(A);for(let u of A.item){if(r[u.path]===void 0)continue;let c=t.length;yg(u,`${s}.${u.path}`,r[u.path],t),t.length===c&&(d[u.path]=mn(r[u.path]))}a.push(d)}),a}var w3={"16:9":16/9,"9:16":9/16,"1:1":1};function hv(A,e){let t=d=>me(A,d),n=w3[me(A,"canvas.aspectRatio")];if(n){let d=t("canvas.width")/t("canvas.height");Math.abs(d/n-1)>.01&&e.push({path:"canvas.width",message:`canvas.width \xD7 canvas.height (${t("canvas.width")} \xD7 ${t("canvas.height")}) does not match canvas.aspectRatio ${String(me(A,"canvas.aspectRatio"))}. Set all three together (the landscape, portrait and square presets do).`})}let o=me(A,"background.gradient.stops");for(let d=1;d<o.length;d++)o[d].offset<o[d-1].offset&&e.push({path:`background.gradient.stops.${d}.offset`,message:`background.gradient.stops must be in order of offset: stop ${d} (${o[d].offset}) comes before stop ${d-1} (${o[d-1].offset}).`});let a=me(A,"productHeader.navItems"),r=me(A,"productHeader.activeItem");r!==""&&!a.includes(r)&&e.push({path:"productHeader.activeItem",message:`productHeader.activeItem "${r}" is not one of productHeader.navItems (${a.map(d=>`"${d}"`).join(", ")||"none"}). Set it to one of them, or to "".`}),t("particles.sizeMin")>t("particles.sizeMax")&&e.push({path:"particles.sizeMin",message:`particles.sizeMin (${t("particles.sizeMin")}) must not exceed particles.sizeMax (${t("particles.sizeMax")}).`}),t("particles.opacityMin")>t("particles.opacityMax")&&e.push({path:"particles.opacityMin",message:`particles.opacityMin (${t("particles.opacityMin")}) must not exceed particles.opacityMax (${t("particles.opacityMax")}).`});let i=0;for(let d of Gc){let u=i+t(`timeline.${d}.delayFrames`);u<0&&e.push({path:`timeline.${d}.delayFrames`,message:`timeline.${d} would start at frame ${u}, before the video starts. Make timeline.${d}.delayFrames at least ${t(`timeline.${d}.delayFrames`)-u}.`}),i=Math.max(0,u)+t(`timeline.${d}.durationFrames`)+t(`timeline.${d}.holdFrames`)}t("productEntrance.delayFrames")+t("productEntrance.durationFrames")>i&&e.push({path:"productEntrance.durationFrames",message:`The product entrance (delay + duration ${t("productEntrance.delayFrames")+t("productEntrance.durationFrames")}) runs past the end of the timeline (${i} frames).`});let s=me(A,"scenes"),l=new Set;s.forEach((d,u)=>{l.has(d.id)&&e.push({path:`scenes.${u}.id`,message:`scenes.${u}.id "${String(d.id)}" is used by another scene; ids must be unique.`}),l.add(d.id),d.durationFrames<=t("sceneTransition.durationFrames")&&u>0&&e.push({path:`scenes.${u}.durationFrames`,message:`scenes.${u}.durationFrames (${String(d.durationFrames)}) must be longer than sceneTransition.durationFrames (${t("sceneTransition.durationFrames")}).`});for(let c of Object.keys(hg))for(let p of Object.keys(d[c]??{})){let B=Nc(p);B?.list&&B.index>=me(A,B.list.path).length&&e.push({path:`scenes.${u}.${c}["${p}"]`,message:`scenes.${u}.${c}: ${p} points past the end of ${B.list.path} (${me(A,B.list.path).length} items).`})}})}function mv(A,e=""){let t=[];for(let[n,o]of Object.entries(A)){let a=e?`${e}.${n}`:n;if(!e&&n==="schema"||pg.has(a)||Xm.has(a))continue;(_o.some(i=>i.path.startsWith(`${a}.`))||so.some(i=>i.path.startsWith(`${a}.`)))&&ko(o)?t.push(...mv(o,a)):t.push(a)}return t}function Zs(A){let e=[];if(!ko(A))return{valid:!1,errors:[{path:"",message:"The configuration must be a JSON object."}]};A.schema!==void 0&&A.schema!==mg&&e.push({path:"schema",message:`schema must be "${mg}" (got ${JSON.stringify(A.schema)}).`});for(let n of mv(A))e.push({path:n,message:`${n} is not a ${$s} control. Only the values in the schema can be set \u2014 no code, CSS, SVG, HTML or shader of any kind.`});let t=bg();for(let n of _o){let o=me(A,n.path);if(o===void 0)continue;let a=e.length;yg(n,n.path,o,e),e.length===a&&pa(t,n.path,mn(o))}for(let n of so){let o=me(A,n.path);if(o===void 0)continue;let a=b3(n,o,e);a&&pa(t,n.path,a)}return e.length||hv(t,e),e.length||me(t,"scenes").forEach((n,o)=>{let a=wg(t,o),r=[];hv(a,r);for(let i of r)e.push({path:`scenes.${o}`,message:`With scene ${o}'s overrides: ${i.message}`})}),e.length?{valid:!1,errors:e}:{valid:!0,errors:e,config:t}}function wg(A,e){let t=me(A,"scenes")[e];if(!t)return A;let n=mn(A);for(let o of Object.keys(hg))for(let[a,r]of Object.entries(t[o]??{}))pa(n,a,mn(r));return n}var $m=A=>_o.some(e=>e.path.startsWith(`${A}.`))||so.some(e=>e.path.startsWith(`${A}.`));function Zm(A){for(let e of so){let t=A.startsWith(`${e.path}.`)?/^(\d+)$/.exec(A.slice(e.path.length+1)):null;if(t)return{list:e,index:Number(t[1])}}}function yv(A,e){let t=Zs(A);if(!t.valid)return{valid:!1,errors:t.errors.map(l=>({...l,message:`(before the patch) ${l.message}`}))};let n;if(Array.isArray(e))n=e;else if(ko(e)&&ko(e.patch)&&Object.keys(e).length===1)n=Object.entries(e.patch).map(([l,d])=>({op:"replace",path:l,value:d}));else return{valid:!1,errors:[{path:"",message:'A patch is a list of { op, path, value } operations, or { "patch": { "<path>": value } }.'}]};let o=mn(t.config),a=[],r=[],i=(l,d)=>{if(pg.has(l)||Xm.has(l)){pa(o,l,mn(d));return}let u=Zm(l);if(u){let p=me(o,u.list.path);if(u.index>p.length)return`${l}: ${u.list.path} has ${p.length} items; use index ${p.length} to add one.`;let B=u.list.item.length===1&&u.list.item[0].path==="";p[u.index]=B?mn(d):ko(d)?{...qm(u.list),...mn(d)}:d;return}let c=Nc(l);if(c?.list){let p=me(o,c.list.path);if(c.index>=p.length){if(c.index>p.length)return`${l}: ${c.list.path} has ${p.length} items; use index ${p.length} to add one.`;p.push(qm(c.list))}pa(o,l,mn(d));return}return`${l} is not a ${$s} control${$m(l)?' (it is a group: use "merge")':""}.`};if(n.forEach((l,d)=>{let u=`patch[${d}]`;if(!ko(l)||typeof l.path!="string")return void a.push({path:u,message:`${u} must be { op, path, value } with a dotted path.`});let c=Object.keys(l).filter(p=>!["op","path","value"].includes(p));if(c.length)return void a.push({path:u,message:`${u}: ${c.join(", ")} ${c.length===1?"is":"are"} not part of a patch operation.`});if(l.op==="replace"){let p=i(l.path,l.value);p?a.push({path:l.path,message:p}):r.push(l.path)}else if(l.op==="merge"){if(!ko(l.value))return void a.push({path:l.path,message:"merge needs an object value."});if(Nc(l.path)?.control.type==="overrides"){let v=me(o,l.path)??{};pa(o,l.path,{...v,...mn(l.value)}),r.push(l.path);return}if(!$m(l.path)&&!Zm(l.path))return void a.push({path:l.path,message:'merge needs a group path (such as "content.cta"), a list item (such as "productContent.cards.0") or a scene override map.'});let B=(v,Q)=>{for(let[C,y]of Object.entries(v)){let w=`${Q}.${C}`;if(ko(y)&&!Nc(w)&&$m(w)){B(y,w);continue}let I=i(w,y);I?a.push({path:w,message:I}):r.push(w)}};B(l.value,l.path)}else if(l.op==="remove"){let p=Zm(l.path);if(p){let Q=me(o,p.list.path);if(p.index>=Q.length)return void a.push({path:l.path,message:`${l.path}: there is no item ${p.index} in ${p.list.path}.`});Q.splice(p.index,1),r.push(l.path);return}let B=_o.filter(Q=>Q.path===l.path||Q.path.startsWith(`${l.path}.`)),v=so.filter(Q=>Q.path===l.path||Q.path.startsWith(`${l.path}.`));if(!B.length&&!v.length)return void a.push({path:l.path,message:`${l.path} is not a ${$s} control, list or group.`});for(let Q of B)pa(o,Q.path,mn(Q.default)),r.push(Q.path);for(let Q of v)pa(o,Q.path,mn(Q.default)),r.push(Q.path)}else a.push({path:u,message:`${u}.op must be "replace", "merge" or "remove".`})}),a.length)return{valid:!1,errors:a};let s=Zs(o);return s.valid?{valid:!0,config:s.config,changed:r}:{valid:!1,errors:s.errors}}function A0(A){let e={description:A.description,default:A.default,"x-group":A.group,"x-userEditable":A.userEditable,"x-agentEditable":A.agentEditable,...A.unit?{"x-unit":A.unit}:{}};switch(A.type){case"number":return{type:"number",minimum:A.min,maximum:A.max,...e};case"integer":return{type:"integer",minimum:A.min,maximum:A.max,...e};case"boolean":return{type:"boolean",...e};case"color":return{type:"string",pattern:"^#[0-9a-fA-F]{6}$",format:"hex-color",...e};case"enum":return{enum:[...A.options],...e};case"easing":return{enum:[...Uc],...e};case"text":return{type:"string",minLength:A.minLength??0,maxLength:A.maxLength,pattern:"^[^\\u0000-\\u001f\\u007f]*$",...e};case"asset":return{type:"string",maxLength:A.maxLength,pattern:pv.source.replace(/^\^\(/,"^$|^(").replace(/\)\$$/,")$"),"x-asset":!0,...e};case"overrides":return{type:"object","x-overrides":A.allow,propertyNames:{pattern:`^(${A.allow.map(t=>t.replace(/\./g,"\\.")+(t.endsWith(".")?".+":"")).join("|")})$`},...e}}}function B3(A){let t=A.item.length===1&&A.item[0].path===""?A0(A.item[0]):{type:"object",additionalProperties:!1,properties:Object.fromEntries(A.item.map(n=>[n.path,A0(n)]))};return{type:"array",minItems:A.minItems,maxItems:A.maxItems,items:t,default:A.default,description:A.description,"x-group":A.group}}function bv(){let A={$schema:"https://json-schema.org/draft/2020-12/schema",$id:`https://comppack.vercel.app/schemas/${$s}.json`,title:"Promo product showcase configuration",description:`The one canonical configuration of the ${$s} configurable-motion template. People and agents edit the same object; only these values exist.`,type:"object",additionalProperties:!1,properties:{schema:{const:mg}}},e=(t,n)=>{let o=A,a=t.split(".");for(let r of a.slice(0,-1)){let i=o.properties;i[r]??={type:"object",additionalProperties:!1,properties:{}},o=i[r]}o.properties[a.at(-1)]=n};for(let t of _o)e(t.path,A0(t));for(let t of so)e(t.path,B3(t));return A}var t0=A=>({in:e=>e**A,out:e=>1-(1-e)**A,inOut:e=>e<.5?2**(A-1)*e**A:1-(-2*e+2)**A/2}),wv=t0(2),e0=t0(3),Bv=t0(4),Cv={springSoft:{mass:1,damping:14,stiffness:90,velocity:0},springSnappy:{mass:.8,damping:16,stiffness:220,velocity:0}},vv={linear:A=>A,easeIn:wv.in,easeOut:wv.out,easeInOut:A=>.5-Math.cos(Math.PI*A)/2,easeInCubic:e0.in,easeOutCubic:e0.out,easeInOutCubic:e0.inOut,easeOutQuart:Bv.out,easeInOutQuart:Bv.inOut,easeOutExpo:A=>A>=1?1:1-2**(-10*A),easeOutBack:A=>1+2.70158*(A-1)**3+1.70158*(A-1)**2,springSoft:(A,e)=>A>=1?1:ag(A*e/60,Cv.springSoft),springSnappy:(A,e)=>A>=1?1:ag(A*e/60,Cv.springSnappy)},v3=A=>A<0?0:A>1?1:A;function Ct(A,e,t=60){return(vv[A]??vv.linear)(v3(e),t)}var Xa=60,Nt=(A,e=0,t=1)=>A<e?e:A>t?t:A,it=(A,e,t)=>A+(e-A)*t,Vo=Math.PI*2;function Va(A){return{n:e=>me(A,e),s:e=>me(A,e),b:e=>me(A,e),list:e=>me(A,e)??[]}}function Bg(A,e,t){let n=parseInt(A.slice(1),16),o=parseInt(e.slice(1),16),a=r=>Math.round(it(n>>r&255,o>>r&255,Nt(t)));return`#${(a(16)<<16|a(8)<<8|a(0)).toString(16).padStart(6,"0")}`}function PA(A,e){let t=parseInt(A.slice(1),16);return`rgba(${t>>16&255}, ${t>>8&255}, ${t&255}, ${Math.round(Nt(e)*1e3)/1e3})`}function E3(A){let e=parseInt(A.slice(1),16),t=n=>{let o=n/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*t(e>>16&255)+.7152*t(e>>8&255)+.0722*t(e&255)}function r0(A){let e=A>>>0;return()=>{e=e+1831565813>>>0;let t=e;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}function Cg(A){let{n:e,s:t,b:n,list:o}=Va(A),a={},r=0;for(let u of Gc){let c=Math.max(0,r+e(`timeline.${u}.delayFrames`)),p=c+e(`timeline.${u}.durationFrames`);a[u]={start:c,end:p,holdEnd:p+e(`timeline.${u}.holdFrames`)},r=a[u].holdEnd}let i=0,s=o("scenes").map((u,c)=>({index:c,id:u.id,start:i,end:i+=u.durationFrames})),l=n("loop.enabled"),d=l?s.length?i:e("loop.loopDurationFrames"):t("canvas.durationMode")==="fixed"?e("canvas.durationFrames")*Xa/e("canvas.fps"):Math.max(r,i);return{phases:a,timelineEnd:r,scenes:s,length:d,loop:l}}function vg(A){let{n:e,s:t,b:n}=Va(A);return!n("loop.enabled")&&t("canvas.durationMode")==="fixed"?e("canvas.durationFrames"):Math.max(1,Math.round(Cg(A).length*e("canvas.fps")/Xa))}function Qv(A,e){return e*Xa/me(A,"canvas.fps")}function Ev(A,e,t,n){return A==="number"||A==="integer"?it(e,t,n):A==="color"?Bg(e,t,n):n<.5?e:t}function Q3(A,e,t){if(t<=0)return A;if(t>=1)return e;let n=JSON.parse(JSON.stringify(e)),o=(a,r)=>{let i=a.split("."),s=n;for(let l of i.slice(0,-1))s=s[l];s[i.at(-1)]=r};for(let a of _o)o(a.path,Ev(a.type,me(A,a.path),me(e,a.path),t));for(let a of so){let r=me(A,a.path),i=me(e,a.path);r.length!==i.length||a.item.length===1&&a.item[0].path===""||o(a.path,i.map((s,l)=>Object.fromEntries(a.item.map(d=>[d.path,Ev(d.type,r[l][d.path],s[d.path],t)]))))}return n}function x3(A,e,t){let{n,s:o}=Va(A),a=Math.min(e,t)/1080,r=`layout.${uv[o("canvas.aspectRatio")]}`,i=n("canvas.safeArea")*Math.min(e,t),s={x:0,y:0,width:n(`${r}.product.width`)*e,height:n(`${r}.product.height`)*t};s.x=n(`${r}.product.x`)*e-s.width/2,s.y=n(`${r}.product.y`)*t-s.height/2;let l={cx:s.x+n("productWindow.x")*s.width,cy:s.y+n("productWindow.y")*s.height,width:s.width*n("productWindow.width"),height:s.height*n("productWindow.height")},d=Math.min(n(`${r}.text.width`)*e,e-2*i),u=o(`${r}.text.align`),c=Nt(n(`${r}.text.x`)*e,i+d/2,e-i-d/2),p=n("typography.ctaSize")*a*2.6;return{unit:a,text:{x:c,y:Math.max(i,n(`${r}.text.y`)*t),width:d,align:u,titleScale:n(`${r}.titleScale`)},slot:s,window:l,ui:M3(A,l.width,l.height,a,n(`${r}.uiColumns`)),cta:{x:n(`${r}.cta.x`)*e,y:Nt(n(`${r}.cta.y`)*t,i+p/2,t-i-p/2)},logo:{x:Math.max(i,n(`${r}.logo.x`)*e),y:Math.max(i,n(`${r}.logo.y`)*t)}}}function M3(A,e,t,n,o){let{n:a,b:r,s:i,list:s}=Va(A),d=r("window.showChrome")&&r("window.showTopBar")?a("window.topBarHeight")*n:0,u=r("productHeader.showNavigation")?a("productHeader.height")*n:0,c=a("productContent.padding")*n,p=a("productContent.fontSize")*n,B=p*.9,v={x:c,y:d+u+c,width:Math.max(0,e-2*c),height:Math.max(0,t-d-u-2*c)},Q=v.y,C=v.y+v.height,y={topBar:d,header:u,content:v,greetingLines:0,cards:[],fontSize:p};if(r("productContent.greeting.enabled")&&i("productContent.greeting.text")){let E=v.width*.64,D=Math.max(8,Math.floor(E/(p*.5))),k=i("productContent.greeting.text").length,U=Math.min(3,Math.ceil(k/D)),O=Math.min(E,k*p*.5+p*1.8),T=U*p*1.4+p*1.4,R=i("productContent.greeting.align")==="right";y.greeting={x:R?v.x+v.width-O:v.x,y:Q,width:O,height:T},y.greetingLines=U,Q+=T+B}if(r("productContent.response.enabled")&&i("productContent.response.text")){let E=Math.max(p*2,p*1.4);y.response={x:v.x,y:Q,width:v.width,height:E},Q+=E+B}let w=0;r("productContent.input.enabled")&&(w=p*2.9,y.input={x:v.x,y:C-w,width:v.width,height:w});let I=C-(w?w+B:0);if(r("productContent.hero.enabled")){let E=Math.max(0,(I-Q)*a("productContent.hero.height"));y.hero={x:v.x,y:Q,width:v.width,height:E},Q+=E+B}let F=s("productContent.cards"),G={x:v.x,y:Q,width:v.width,height:Math.max(0,I-Q)};if(i("productContent.cardLayout")==="free")y.cards=F.map(E=>{let D=G.width*E.width,k=G.height*E.height;return{x:G.x+E.x*G.width-D/2,y:G.y+E.y*G.height-k/2,width:D,height:k}});else if(F.length){let E=Math.max(1,Math.min(o,F.length)),D=Math.ceil(F.length/E),k=a("productContent.cardGap")*n,U=(G.width-k*(E-1))/E,O=Math.max(0,Math.min((G.height-k*(D-1))/D,U*1.1));y.cards=F.map((T,R)=>{let P=R%E,j=Math.floor(R/E),K=j===D-1?F.length-j*E:E,H=(E-K)*(U+k)/2,N=U*T.width,Z=O*T.height,_=G.x+H+P*(U+k)+(U-N)/2+T.x*U,q=G.y+j*(O+k)+(O-Z)/2+T.y*O;return{x:_,y:q,width:N,height:Z}})}return y}var ki={opacity:1,x:0,y:0,scale:1,rotation:0,blur:0,clip:1};function n0(A,e,t,n,o=0){let{n:a,s:r,b:i}=Va(A),s=`textAnimation.${e}`,l={opacity:a(`${s}.endOpacity`),x:0,y:a(`${s}.endY`)*n,scale:a(`${s}.endScale`),rotation:0,blur:0,clip:1},d=r(`${s}.mode`);if(!i(`${s}.enabled`)||d==="none")return l;let u=a(`${s}.durationFrames`),c=a(`${s}.delayFrames`)+(r(`${s}.split`)==="none"?0:o*a(`${s}.staggerFrames`)),p=Ct(r(`${s}.easing`),(t-c)/u,u),B=Nt(p),v=Nt(it(a(`${s}.startOpacity`),a(`${s}.endOpacity`),B)),Q=it(a(`${s}.startY`),a(`${s}.endY`),p)*n,C=it(a(`${s}.startScale`),a(`${s}.endScale`),p),y=it(a(`${s}.rotation`),0,p),w=Math.max(0,it(a(`${s}.blur`),0,B))*n;switch(d){case"fade":return{...l,opacity:v};case"slide":return{...l,opacity:v,y:Q,rotation:y};case"scale":return{...l,opacity:v,scale:C,rotation:y,y:it(a(`${s}.startY`)*.3,a(`${s}.endY`),p)*n};case"blur":return{...l,opacity:v,y:Q,scale:C,rotation:y,blur:w};case"reveal":return{...l,opacity:a(`${s}.endOpacity`)*(B>0?1:0),y:Q,rotation:y,clip:B};default:return l}}function I3(A,e,t,n){if(!A)return[];let o=A.split(/\s+/).filter(Boolean);if(e==="words")return o;if(e!=="lines")return[A];let a=Math.max(4,Math.floor(t/(n*.55))),r=[],i="";for(let s of o)i&&(i+" "+s).length>a?(r.push(i),i=s):i=i?`${i} ${s}`:s;return i&&r.push(i),r}function o0(A,e,t,n,o,a,r){if(A==="none")return ki;let i=Ct(n,e/t,t),s=Nt(i),l=Nt(it(r,1,s));switch(A){case"fade":return{...ki,opacity:l};case"slide-up":return{...ki,opacity:l,y:it(o,0,i),scale:it(1-(1-a)*.3,1,i)};case"slide-left":return{...ki,opacity:l,x:it(o,0,i)};case"scale":case"pop":return{...ki,opacity:l,scale:it(a,1,i)};default:return{...ki,opacity:l}}}function Lc(A,e){if(!e)return A;let t=e/Xa;return Math.max(1,Math.round(A*t))/t}function a0(A,e){let t=(A%1+1)%1,n=t<.5?t*2:2-t*2;return Ct(e,n)*2-1}function xv(A,e,t,n){let o=Cg(A),a=o.loop?o.length:void 0,r=o.loop?(e%o.length+o.length)%o.length:Math.min(e,Math.max(0,o.length-1e-6)),i=r/Xa,s=A,l=A,d,u=1,c=0,p="main",B=0,v=Va(A).n("sceneTransition.durationFrames");if(o.scenes.length){let tA=o.scenes.find(MA=>r>=MA.start&&r<MA.end)??o.scenes.at(-1);c=tA.index,p=tA.id,B=tA.start,l=wg(A,tA.index);let hA=tA.index>0?tA.index-1:o.loop&&o.scenes.length>1?o.scenes.length-1:-1;u=hA>=0?Nt((r-tA.start)/v):1,u<1?(d=wg(A,hA),s=Q3(d,l,Ct("easeInOut",u))):s=l}let{n:Q,s:C,b:y,list:w}=Va(s),I=o.phases,F=x3(s,t,n),G=F.unit,E=o.loop,D=tA=>E?1e6:r-I[tA].start,k;o.loop?k=.5-.5*Math.cos(Vo*r/o.length):k=Ct(C("camera.easing"),(r-Q("camera.delayFrames"))/Q("camera.durationFrames"),Q("camera.durationFrames"));let U=Lc(Q("camera.driftFrequency"),a),O=y("camera.enabled"),T=O?Q("camera.driftAmplitude")*G*Math.sin(Vo*U*i):0,R=O?Q("camera.driftAmplitude")*G*.6*Math.sin(Vo*U*2*i+1):0,P=I.outro.start+Q("timeline.outro.durationFrames")/2,j=C("timeline.outro.exit"),K=o.loop||j==="none"?0:Ct("easeInOutCubic",(r-P)/Math.max(1,o.timelineEnd-P)),H=O?{scale:it(Q("camera.startScale"),Q("camera.endScale"),k)*(j==="zoom"?1+.6*K:1),x:it(Q("camera.startX"),Q("camera.endX"),k)*t,y:it(Q("camera.startY"),Q("camera.endY"),k)*n,rotation:it(Q("camera.startRotation"),Q("camera.endRotation"),k),tilt:it(Q("camera.startTilt"),Q("camera.endTilt"),k),perspective:Q("camera.perspective")*G,driftX:T,driftY:R}:{scale:j==="zoom"?1+.6*K:1,x:0,y:0,rotation:0,tilt:0,perspective:3e3*G,driftX:0,driftY:0},N={opacity:j==="fade"||j==="zoom"?1-(j==="zoom"?Nt((K-.4)/.6):K):1,toBase:j==="fadeToBase"?K:0},Z=E?1:.45+.55*Ct("easeOutCubic",r/Math.max(1,I.intro.end)),_=Math.min(t,n),q=w("lights").map(tA=>{let hA=Lc(tA.frequency,a),MA=Vo*(hA*i+tA.phase),WA=tA.amplitude*_,pe=tA.x*t,te=tA.y*n,Ee=tA.radius*_,kA=tA.opacity;return tA.animation==="drift"?(pe+=WA*Math.sin(MA),te+=WA*.7*Math.sin(2*MA+.5)):tA.animation==="orbit"?(pe+=WA*Math.cos(MA),te+=WA*Math.sin(MA)):tA.animation==="pulse"&&(Ee*=1+tA.amplitude*2*Math.sin(MA),kA*=1+tA.amplitude*3*Math.sin(MA)),{x:pe+T*Q("camera.parallax"),y:te+R*Q("camera.parallax"),radius:Math.max(0,Ee),color:tA.color,opacity:Nt(kA*Z),blur:tA.blur*G}}),$=[];if(y("particles.enabled")){let tA=r0(Q("particles.seed")),hA=Q("particles.sizeMax")*G*4,MA=t+2*hA,WA=n+2*hA,pe=E?1:Nt(r/Math.max(1,Q("particles.fadeInFrames")));for(let te=0;te<Q("particles.count");te++){let Ee=tA(),kA=tA(),Yt=tA(),be=tA(),x=tA(),g=tA(),m=tA(),S=(Q("particles.direction")+(x-.5)*2*Q("particles.spread"))*Math.PI/180,L=Q("particles.speed")*G*(.5+g),V=L*Math.cos(S),iA=L*Math.sin(S);if(a){let ne=a/Xa;V=Math.round(V*ne/MA)*MA/ne,iA=Math.round(iA*ne/WA)*WA/ne}let eA=((Ee*MA+V*i)%MA+MA)%MA-hA,SA=((kA*WA+iA*i)%WA+WA)%WA-hA,QA=Lc(.3+m*.6,a),VA=1-Q("particles.twinkle")*(.5+.5*Math.sin(Vo*(QA*i+m)));$.push({x:eA+T*Q("camera.parallax")*1.5,y:SA+R*Q("camera.parallax")*1.5,size:it(Q("particles.sizeMin"),Q("particles.sizeMax"),Yt)*G,opacity:Nt(it(Q("particles.opacityMin"),Q("particles.opacityMax"),be)*VA*pe)})}}let vA=o.scenes.length&&(c>0||o.loop)?r-B:D("intro"),fA=(tA,hA)=>{let MA=Va(l).s(`content.${tA}`),WA=C(`textAnimation.${tA}.split`),pe=Q(hA)*G*(tA==="title"?F.text.titleScale:1),te=I3(MA,WA,F.text.width,pe);return{text:MA,split:te.length>1?WA:"none",units:te,anims:te.map((Ee,kA)=>n0(s,tA,vA,G,kA))}},X;if(d&&u<1){let tA=Ct("easeInOut",Nt(u*1.6)),hA=C("sceneTransition.style"),MA=Va(d);X={eyebrow:MA.s("content.eyebrow"),title:MA.s("content.title"),subtitle:MA.s("content.subtitle"),anim:{...ki,opacity:1-tA,y:hA==="slide"?-60*G*tA:hA==="blur"?-24*G*tA:0,blur:hA==="blur"?18*G*tA:0}}}let sA=tA=>X?{...tA,anims:tA.anims.map(hA=>({...hA,opacity:hA.opacity*Nt(u*2.5-.5)}))}:tA,DA={eyebrow:sA(fA("eyebrow","typography.eyebrowSize")),title:sA(fA("title","typography.titleSize")),subtitle:sA(fA("subtitle","typography.subtitleSize")),cta:n0(s,"cta",D("outro"),G),leaving:X},xA=n0(s,"eyebrow",D("intro"),G),wA=Q("productEntrance.durationFrames"),AA=!y("productEntrance.enabled")||E?1:Ct(C("productEntrance.easing"),(r-I.productEntrance.start-Q("productEntrance.delayFrames"))/wA,wA),mA=Nt(AA),UA=0,ye=0,Ye=0;if(y("productFloat.enabled")){let tA=E?1:Ct("easeInOut",(r-I.productSettle.start)/Math.max(1,Q("productFloat.rampFrames"))),MA=Lc(Q("productFloat.frequency"),a)*i+Q("productFloat.phase"),WA=C("productFloat.easing");UA=Q("productFloat.amplitudeX")*G*a0(MA+.25,WA)*tA,ye=Q("productFloat.amplitudeY")*G*a0(MA,WA)*tA,Ye=Q("productFloat.rotationAmplitude")*a0(MA+.5,WA)*tA}let tt={visible:y("productWindow.enabled"),x:UA,y:it(Q("productEntrance.startY"),Q("productEntrance.endY"),AA)*G+ye,scale:it(Q("productEntrance.startScale"),Q("productEntrance.endScale"),AA)*Q("productWindow.scale"),rotation:it(Q("productEntrance.startRotation"),Q("productEntrance.endRotation"),AA)+Q("productWindow.rotation")+Ye,tilt:it(Q("productEntrance.startTilt"),Q("productEntrance.endTilt"),AA)+Q("window.tiltX"),tiltY:Q("window.tiltY"),opacity:Nt(it(Q("productEntrance.startOpacity"),Q("productEntrance.endOpacity"),mA))*Q("productWindow.opacity")},qe=D("contentReveal"),lA=Q("cardAnimation.durationFrames"),TA=C("cardAnimation.easing"),JA=Q("cardAnimation.distance")*G,LA=C("cardAnimation.entrance"),ce=(tA,hA=LA)=>o0(hA==="none"?"none":hA,qe-tA,lA,TA,JA,Q("cardAnimation.startScale"),Q("cardAnimation.opacity")),EA=w("productContent.cards"),pA=EA.map((tA,hA)=>ce(Q("cardAnimation.delayFrames")+hA*Q("cardAnimation.staggerFrames")));if(y("cardAnimation.highlight.enabled")&&EA.length){let tA=Q("cardAnimation.highlight.everyFrames");a&&(tA=a/(EA.length*Math.max(1,Math.round(a/(EA.length*tA)))));let hA=E?r:r-I.showcase.start,MA=E?1:1-Nt((r-I.outro.start)/20);if(hA>=0&&MA>0){let WA=hA/tA,pe=Math.floor(WA)%EA.length,te=(.5-.5*Math.cos(Vo*(WA-Math.floor(WA))))*MA,Ee=pA[pe];pA[pe]={...Ee,scale:Ee.scale*it(1,Q("cardAnimation.highlight.scale"),te),y:Ee.y-Q("cardAnimation.highlight.lift")*G*te}}}let dA="",BA=C("productContent.input.typeText");if(y("productContent.input.enabled")&&BA){let tA=Q("productContent.input.typeSpeed");if(a){let hA=r/a,MA=hA<.45?hA/.45:hA<.8?1:1-(hA-.8)/.2;dA=BA.slice(0,Math.round(MA*BA.length))}else{let hA=r-I.showcase.start-20;dA=hA>0?BA.slice(0,Math.floor(hA/Xa*tA)):""}}let IA={greeting:ce(0,LA==="slide-left"?"slide-left":"slide-up"),response:ce(Q("cardAnimation.delayFrames")/2,"fade"),hero:ce(Q("cardAnimation.delayFrames")/2),typed:dA,caret:Math.floor(r/30)%2===0,cards:pA},_A=o0("pop",D("productSettle"),36,"springSoft",0,.4,0),GA=w("floatingElements").map(tA=>{let hA=qe-tA.delayFrames,MA=o0(tA.enter==="pop"?"pop":tA.enter,hA,Math.max(24,lA),tA.enter==="pop"?"springSoft":TA,40*G,.4,0),pe=Lc(tA.frequency,a)*i+tA.phase,te=tA.amplitude*G,Ee=F.window,kA=tA.fontSize*G*tA.scale,Yt=tA.type==="icon"?kA*1.2:(String(tA.content).length*.56+(tA.type==="badge"?4.4:2))*kA/2,be=Q("canvas.safeArea")*_,x=Nt(Ee.cx+(tA.x-.5)*Ee.width,be+Yt,t-be-Yt),g=Nt(Ee.cy+(tA.y-.5)*Ee.height,be+kA*1.3,n-be-kA*1.3),m=tA.rotation,S=tA.scale*MA.scale;tA.animation==="float"?(g+=te*Math.sin(Vo*pe),x+=te*.3*Math.sin(Vo*pe*2)):tA.animation==="drift"?(x+=te*Math.sin(Vo*pe),g+=te*.5*Math.sin(Vo*pe*2+1)):tA.animation==="pulse"?S*=1+tA.amplitude/100*Math.sin(Vo*pe):tA.animation==="spin"&&(m+=360*((pe%1+1)%1));let L=tA.depth*Q("camera.parallax");return{...MA,x:x+MA.x+T*L,y:g+MA.y+R*L,rotation:m+MA.rotation,scale:S,opacity:MA.opacity*tA.opacity}}),Ae=tA=>{if(!y("glow.enabled"))return 0;let hA=Q("glow.threshold");return Nt((E3(tA)-hA)/Math.max(.001,1-hA))*Q("glow.intensity")*Q("glow.opacity")},ee=E?"showcase":[...Gc].reverse().find(tA=>r>=I[tA].start)??"intro";return{frame:r,length:o.length,phase:!E&&r>=o.timelineEnd?"done":ee,scene:{index:c,id:p,transition:u},size:{width:t,height:n,unit:G},cfg:s,layout:F,camera:H,exit:N,lightsIn:Z,lights:q,particles:$,logo:xA,text:DA,product:tt,badge:_A,ui:IA,floating:GA,bloom:{product:Ae(C("productWindow.backgroundColor")),title:Ae(C("typography.titleColor"))}}}var Yo=A=>typeof A=="object"&&A!==null&&!Array.isArray(A),Vt=A=>A===void 0?A:JSON.parse(JSON.stringify(A));function se(A,e){if(e==="")return A;let t=A;for(let n of e.split("."))if(Array.isArray(t)&&/^\d+$/.test(n))t=t[Number(n)];else if(Yo(t))t=t[n];else return;return t}function zr(A,e,t){let n=e.split("."),o=A;for(let r of n.slice(0,-1)){let i=Array.isArray(o)?o[Number(r)]:o[r];if(!Yo(i)&&!Array.isArray(i)){let s={};Array.isArray(o)?o[Number(r)]=s:o[r]=s,o=s}else o=i}let a=n.at(-1);Array.isArray(o)?o[Number(a)]=t:o[a]=t}var D3=/^#[0-9a-fA-F]{6}$/,S3=/[\u0000-\u001f\u007f]/,F3=/[\u0000-\u0009\u000b-\u001f\u007f]/,Mv=/^(static:[A-Za-z0-9._\-/]+|https:\/\/[^\s"'<>\\]+|data:image\/(png|jpeg|webp);base64,[A-Za-z0-9+/=]+)$/;function Iv(A){return A===""||Mv.test(A)&&!A.includes("..")}function Dv(A){let{name:e,schemaId:t,controls:n,lists:o}=A,a=new Map(n.map(E=>[E.path,E])),r=new Map(o.map(E=>[E.path,E])),i=E=>E.item.length===1&&E.item[0].path==="";function s(E){if(i(E))return Vt(E.item[0].default);let D={};for(let k of E.item)D[k.path]=Vt(k.default);return D}function l(){let E={schema:t};for(let D of n)zr(E,D.path,Vt(D.default));for(let D of o)zr(E,D.path,Vt(D.default));return E}function d(E){for(let D of o){if(!D.keys||!E.startsWith(`${D.path}.`))continue;let[k,...U]=E.slice(D.path.length+1).split("."),O=D.keys.indexOf(k);if(O>=0)return[D.path,String(O),...U].join(".")}return E}function u(E,D,k,U){switch(E.type){case"number":case"integer":{if(typeof k!="number"||!Number.isFinite(k))return void U.push({path:D,message:`${D} must be a finite number (got ${JSON.stringify(k)}).`});if(E.type==="integer"&&!Number.isInteger(k))return void U.push({path:D,message:`${D} must be a whole number (got ${k}).`});(k<E.min||k>E.max)&&U.push({path:D,message:`${D} must be between ${E.min} and ${E.max}${E.unit&&!["fraction","factor"].includes(E.unit)?` ${E.unit}`:""} (got ${k}).`});return}case"boolean":typeof k!="boolean"&&U.push({path:D,message:`${D} must be true or false.`});return;case"color":(typeof k!="string"||!D3.test(k))&&U.push({path:D,message:`${D} must be a hex colour in the form #rrggbb (got ${JSON.stringify(k)}).`});return;case"enum":case"easing":E.options.includes(k)||U.push({path:D,message:`${D} must be one of ${E.options.map(O=>JSON.stringify(O)).join(", ")} (got ${JSON.stringify(k)}).`});return;case"text":{if(typeof k!="string")return void U.push({path:D,message:`${D} must be a string.`});if((E.multiline?F3:S3).test(k))return void U.push({path:D,message:E.multiline?`${D} must be plain text (line breaks are allowed; other control characters are not).`:`${D} must be a single line of plain text (no control characters or line breaks).`});k.trim().length<(E.minLength??0)&&U.push({path:D,message:`${D} must not be empty.`}),k.length>E.maxLength&&U.push({path:D,message:`${D} accepts at most ${E.maxLength} characters (got ${k.length}).`});return}case"asset":(typeof k!="string"||k.length>E.maxLength||!Iv(k))&&U.push({path:D,message:`${D} must be an asset reference: "" (procedural), "static:<file>", "https://\u2026" or a PNG/JPEG/WebP data: URL (got ${JSON.stringify(typeof k=="string"?k.slice(0,60):k)}).`});return;case"overrides":Yo(k)||U.push({path:D,message:`${D} must be an object.`})}}function c(E){let D=d(E),k=a.get(D);if(k)return{control:k};for(let U of o){if(!D.startsWith(`${U.path}.`))continue;let[O,...T]=D.slice(U.path.length+1).split(".");if(!/^\d+$/.test(O))return;let R=T.join("."),P=U.item.find(j=>j.path===R);return P?{control:P,list:U,index:Number(O)}:void 0}}function p(E,D,k){let U=E.path;if(!Array.isArray(D))return void k.push({path:U,message:`${U} must be an array (${E.minItems}\u2013${E.maxItems} items).`});(D.length<E.minItems||D.length>E.maxItems)&&k.push({path:U,message:E.minItems===E.maxItems?`${U} must have exactly ${E.minItems} items (got ${D.length}).`:`${U} must have ${E.minItems}\u2013${E.maxItems} items (got ${D.length}).`});let O=[];return D.forEach((T,R)=>{let P=`${U}.${R}`;if(i(E)){u(E.item[0],P,T,k),O.push(Vt(T));return}if(!Yo(T))return void k.push({path:P,message:`${P} must be an object.`});let j=Object.keys(T).filter(H=>!E.item.some(N=>N.path===H));for(let H of j)k.push({path:`${P}.${H}`,message:`${P}.${H} is not a field of ${U} items (fields: ${E.item.map(N=>N.path).join(", ")}). No code, CSS, SVG, HTML or shader can be set.`});let K=E.keys&&E.default[R]?Vt(E.default[R]):s(E);for(let H of E.item){if(T[H.path]===void 0)continue;let N=k.length;u(H,`${P}.${H.path}`,T[H.path],k),k.length===N&&(K[H.path]=Vt(T[H.path]))}O.push(K)}),E.keys&&E.keyField&&O.forEach((T,R)=>{T[E.keyField]!==E.keys[R]&&k.push({path:`${U}.${R}.${E.keyField}`,message:`${U}.${R}.${E.keyField} must be "${E.keys[R]}": ${U} always lists ${E.keys.map(j=>`"${j}"`).join(", ")} in that order.`})}),O}let B=E=>n.some(D=>D.path.startsWith(`${E}.`))||o.some(D=>D.path.startsWith(`${E}.`));function v(E,D=""){let k=[];for(let[U,O]of Object.entries(E)){let T=D?`${D}.${U}`:U;!D&&U==="schema"||a.has(T)||r.has(T)||(B(T)&&Yo(O)?k.push(...v(O,T)):k.push(T))}return k}function Q(E){let D=[];if(!Yo(E))return{valid:!1,errors:[{path:"",message:"The configuration must be a JSON object."}]};E.schema!==void 0&&E.schema!==t&&D.push({path:"schema",message:`schema must be "${t}" (got ${JSON.stringify(E.schema)}).`});for(let U of v(E))D.push({path:U,message:`${U} is not a ${e} control. Only the values in the schema can be set \u2014 no code, CSS, SVG, HTML or shader of any kind.`});let k=l();for(let U of n){let O=se(E,U.path);if(O===void 0)continue;let T=D.length;u(U,U.path,O,D),D.length===T&&zr(k,U.path,Vt(O))}for(let U of o){let O=se(E,U.path);if(O===void 0)continue;let T=p(U,O,D);T&&zr(k,U.path,T)}return D.length||A.relations?.(k,D),D.length?{valid:!1,errors:D}:{valid:!0,errors:D,config:k}}function C(E){let D=d(E);for(let k of o){let U=D.startsWith(`${k.path}.`)?/^(\d+)$/.exec(D.slice(k.path.length+1)):null;if(U)return{list:k,index:Number(U[1])}}}function y(E,D){let k=Q(E);if(!k.valid)return{valid:!1,errors:k.errors.map(K=>({...K,message:`(before the patch) ${K.message}`}))};let U;if(Array.isArray(D))U=D;else if(Yo(D)&&Yo(D.patch)&&Object.keys(D).length===1)U=Object.entries(D.patch).map(([K,H])=>({op:"replace",path:K,value:H}));else return{valid:!1,errors:[{path:"",message:'A patch is a list of { op, path, value } operations, or { "patch": { "<path>": value } }.'}]};let O=Vt(k.config),T=[],R=[],P=(K,H)=>{let N=d(K);if(a.has(N)||r.has(N)){zr(O,N,Vt(H));return}let Z=C(N);if(Z){let q=se(O,Z.list.path);if(Z.index>q.length)return`${K}: ${Z.list.path} has ${q.length} items; use index ${q.length} to add one.`;q[Z.index]=i(Z.list)?Vt(H):Yo(H)?{...s(Z.list),...Vt(H)}:H;return}let _=c(N);if(_?.list){let q=se(O,_.list.path);if(_.index>=q.length){if(_.index>q.length)return`${K}: ${_.list.path} has ${q.length} items; use index ${q.length} to add one.`;q.push(s(_.list))}zr(O,N,Vt(H));return}return`${K} is not a ${e} control${B(N)?' (it is a group: use "merge")':""}.`};if(U.forEach((K,H)=>{let N=`patch[${H}]`;if(!Yo(K)||typeof K.path!="string")return void T.push({path:N,message:`${N} must be { op, path, value } with a dotted path.`});let Z=Object.keys(K).filter(_=>!["op","path","value"].includes(_));if(Z.length)return void T.push({path:N,message:`${N}: ${Z.join(", ")} ${Z.length===1?"is":"are"} not part of a patch operation.`});if(K.op==="replace"){let _=P(K.path,K.value);_?T.push({path:K.path,message:_}):R.push(d(K.path))}else if(K.op==="merge"){if(!Yo(K.value))return void T.push({path:K.path,message:"merge needs an object value."});let _=d(K.path);if(!B(_)&&!C(_))return void T.push({path:K.path,message:'merge needs a group path (such as "content.top") or a list item (such as "folds.0").'});let q=($,vA)=>{for(let[fA,X]of Object.entries($)){let sA=`${vA}.${fA}`;if(Yo(X)&&!c(sA)&&B(d(sA))){q(X,sA);continue}let DA=P(sA,X);DA?T.push({path:sA,message:DA}):R.push(d(sA))}};q(K.value,_)}else if(K.op==="remove"){let _=d(K.path),q=C(_);if(q){let X=se(O,q.list.path);if(q.index>=X.length)return void T.push({path:K.path,message:`${K.path}: there is no item ${q.index} in ${q.list.path}.`});q.list.keys?X[q.index]=Vt(q.list.default[q.index]):X.splice(q.index,1),R.push(_);return}let $=c(_);if($?.list){let X=se(O,$.list.path),sA=$.list.keys?$.list.default[$.index]:s($.list);X[$.index]&&(X[$.index][$.control.path]=Vt(sA[$.control.path]),R.push(_));return}let vA=n.filter(X=>X.path===_||X.path.startsWith(`${_}.`)),fA=o.filter(X=>X.path===_||X.path.startsWith(`${_}.`));if(!vA.length&&!fA.length)return void T.push({path:K.path,message:`${K.path} is not a ${e} control, list or group.`});for(let X of vA)zr(O,X.path,Vt(X.default)),R.push(X.path);for(let X of fA)zr(O,X.path,Vt(X.default)),R.push(X.path)}else T.push({path:N,message:`${N}.op must be "replace", "merge" or "remove".`})}),T.length)return{valid:!1,errors:T};let j=Q(O);return j.valid?{valid:!0,config:j.config,changed:R}:{valid:!1,errors:j.errors}}function w(E,D){let k={};for(let U of n){let O=se(E,U.path)??U.default,T=se(D,U.path)??U.default;JSON.stringify(O)!==JSON.stringify(T)&&(k[U.path]=Vt(T))}for(let U of o){let O=se(E,U.path)??U.default,T=se(D,U.path)??U.default;if(JSON.stringify(O)===JSON.stringify(T))continue;let R=O,P=T;if(R.length!==P.length||i(U)){k[U.path]=Vt(T);continue}P.forEach((j,K)=>{for(let H of U.item){let N=R[K][H.path],Z=j[H.path];JSON.stringify(N)!==JSON.stringify(Z)&&(k[`${U.path}.${K}.${H.path}`]=Vt(Z))}})}return{patch:k}}function I(E){let D={description:E.description,default:E.default,"x-group":E.group,"x-userEditable":E.userEditable,"x-agentEditable":E.agentEditable,...E.unit?{"x-unit":E.unit}:{}};switch(E.type){case"number":return{type:"number",minimum:E.min,maximum:E.max,...D};case"integer":return{type:"integer",minimum:E.min,maximum:E.max,...D};case"boolean":return{type:"boolean",...D};case"color":return{type:"string",pattern:"^#[0-9a-fA-F]{6}$",format:"hex-color",...D};case"enum":return{enum:[...E.options],...D};case"easing":return{enum:[...E.options],...D};case"text":return{type:"string",minLength:E.minLength??0,maxLength:E.maxLength,pattern:E.multiline?"^[^\\u0000-\\u0009\\u000b-\\u001f\\u007f]*$":"^[^\\u0000-\\u001f\\u007f]*$",...E.multiline?{"x-multiline":!0}:{},...D};case"asset":return{type:"string",maxLength:E.maxLength,pattern:Mv.source.replace(/^\^\(/,"^$|^(").replace(/\)\$$/,")$"),"x-asset":!0,...D};case"overrides":return{type:"object",...D}}}function F(E){let D=i(E)?I(E.item[0]):{type:"object",additionalProperties:!1,properties:Object.fromEntries(E.item.map(k=>[k.path,I(k)]))};return{type:"array",minItems:E.minItems,maxItems:E.maxItems,items:D,default:E.default,description:E.description,"x-group":E.group,...E.keys?{"x-keys":E.keys,"x-keyField":E.keyField}:{}}}function G(){let E={$schema:"https://json-schema.org/draft/2020-12/schema",$id:`https://comppack.vercel.app/schemas/${e}.json`,title:A.title,description:`The one canonical configuration of the ${e} configurable-motion template. People and agents edit the same object; only these values exist.`,type:"object",additionalProperties:!1,properties:{schema:{const:t}}},D=(k,U)=>{let O=E,T=k.split(".");for(let R of T.slice(0,-1)){let P=O.properties;P[R]??={type:"object",additionalProperties:!1,properties:{}},O=P[R]}O.properties[T.at(-1)]=U};for(let k of n)D(k.path,I(k));for(let k of o)D(k.path,F(k));return E}return{CONTROL_BY_PATH:a,LIST_BY_PATH:r,getPath:se,defaultItem:s,defaultConfig:l,canonicalPath:d,controlAt:c,validateConfig:Q,applyPatch:y,diffConfig:w,configJsonSchema:G}}function Sv(A,e){let t=(r={})=>({userEditable:r.userEditable??!0,agentEditable:r.agentEditable??!0,...r.unit?{unit:r.unit}:{},...r.step!==void 0?{step:r.step}:{}}),n=(r,i,s,l,d,u={})=>({path:r,group:A(r),type:"number",default:i,min:s,max:l,description:d,...t({step:.01,...u})}),o=(r,i,s,l,d,u={})=>({path:r,group:A(r),type:"integer",default:i,min:s,max:l,description:d,...t({step:1,...u})});return{num:n,int:o,frames:(r,i,s,l,d=0)=>o(r,i,d,s,l,{unit:"frames"}),bool:(r,i,s,l={})=>({path:r,group:A(r),type:"boolean",default:i,description:s,...t(l)}),color:(r,i,s,l={})=>({path:r,group:A(r),type:"color",default:i,description:s,...t(l)}),choice:(r,i,s,l,d={})=>({path:r,group:A(r),type:"enum",default:i,options:s,description:l,...t(d)}),text:(r,i,s,l,d={})=>({path:r,group:A(r),type:"text",default:i,maxLength:s,minLength:d.minLength??0,...d.multiline?{multiline:!0}:{},description:l,...t(d)}),easing:(r,i,s)=>({path:r,group:A(r),type:"easing",default:i,options:e,description:s,...t()}),asset:(r,i)=>({path:r,group:A(r),type:"asset",default:"",maxLength:2048,description:i,...t()}),opacity:(r,i,s)=>n(r,i,0,1,s,{unit:"fraction"}),du:(r,i,s,l,d)=>n(r,i,s,l,d,{step:1,unit:"du"}),pu:(r,i,s,l,d)=>n(r,i,s,l,d,{step:1,unit:"pu"}),norm:(r,i,s,l,d)=>n(r,i,s,l,d,{step:.005,unit:"normalized"}),deg:(r,i,s,l,d)=>n(r,i,s,l,d,{step:.5,unit:"deg"}),factor:(r,i,s,l,d)=>n(r,i,s,l,d,{step:.01,unit:"factor"})}}var Eg=(A,e)=>({...e,group:A});function Fv(A,e){return[...A,...e.flatMap(t=>t.item.map(n=>({...n,path:n.path?`${t.path}[].${n.path}`:`${t.path}[]`,list:t.path})))]}var T3=["9:16","16:9","1:1"],Uv={"9:16":"portrait","16:9":"landscape","1:1":"square"},k3=[24,25,30,50,60],Y3=[300,400,500,600,700,800,900],qs=["top","middle","bottom"],Qg=["top","bottom"];var R3=["down","up"],O3=["inward","outward"];var Gv=["Canvas","Content","Typography","Logo","Paper","Paper Material","Panels","Folds","Creases","Fold Lighting","Hands","Hand Styling","Hand Motion","Background","Background Typography","Noise","CTA","Camera","Timeline","Motion","Easing","Responsive Layout","Export"],P3=[["canvas","Canvas"],["layout","Responsive Layout"],["content","Content"],["typography","Typography"],["logo","Logo"],["paper","Paper"],["paperMaterial","Paper Material"],["panels","Panels"],["folds","Folds"],["creases","Creases"],["foldLighting","Fold Lighting"],["hands","Hands"],["handInteraction","Hand Motion"],["background","Background"],["background.backgroundTypography","Background Typography"],["hands.style","Hand Styling"],["hands.nails","Hand Styling"],["background.noise","Noise"],["cta","CTA"],["camera","Camera"],["timeline","Timeline"],["motion","Motion"],["easing","Easing"],["export","Export"]].sort((A,e)=>e[0].length-A[0].length),U3=A=>P3.find(([e])=>A===e||A.startsWith(`${e}.`))?.[1]??"Canvas",G3=Sv(U3,Uc),{num:Ft,int:Lt,frames:Xo,bool:Xt,color:We,choice:lt,text:lo,easing:Za,asset:N3,opacity:$e,du:st,pu:En,norm:xt,deg:je,factor:ue}=G3,c0=(A,e,t)=>lt(A,e,Y3,t,{unit:"weight"}),i0={portrait:{paperX:.47,paperY:.55,paperHeight:.43,logoX:.5,logoY:.095,logoScale:1.25,ctaX:.79,ctaY:.93,ctaScale:1.3,typeScale:1,typeX:0,typeY:0,handScale:1},landscape:{paperX:.37,paperY:.57,paperHeight:.66,logoX:.74,logoY:.3,logoScale:1.35,ctaX:.74,ctaY:.7,ctaScale:1.35,typeScale:.92,typeX:0,typeY:-30,handScale:1},square:{paperX:.46,paperY:.55,paperHeight:.6,logoX:.5,logoY:.075,logoScale:1,ctaX:.8,ctaY:.925,ctaScale:1,typeScale:.78,typeX:0,typeY:-10,handScale:1}},s0=(A,e)=>{let t=`layout.${A}`,n=A==="portrait"?"9:16":A==="landscape"?"16:9":"1:1";return[xt(`${t}.paper.x`,e.paperX,0,1,`(${n}) Where the sheet's pivot (paper.originX/Y) sits across the canvas.`),xt(`${t}.paper.y`,e.paperY,0,1,`(${n}) Where the sheet's pivot sits down the canvas.`),xt(`${t}.paper.height`,e.paperHeight,.15,1.2,`(${n}) Height of the open (flat) sheet as a fraction of the canvas height; its width follows paper.aspect.`),xt(`${t}.logo.x`,e.logoX,0,1,`(${n}) Centre of the logo across the canvas.`),xt(`${t}.logo.y`,e.logoY,0,1,`(${n}) Centre of the logo down the canvas.`),ue(`${t}.logo.scale`,e.logoScale,.2,4,`(${n}) Multiplies the logo's size on this canvas shape.`),xt(`${t}.cta.x`,e.ctaX,0,1,`(${n}) Centre of the call-to-action button across the canvas.`),xt(`${t}.cta.y`,e.ctaY,0,1,`(${n}) Centre of the call-to-action button down the canvas.`),ue(`${t}.cta.scale`,e.ctaScale,.2,4,`(${n}) Multiplies the CTA's size on this canvas shape.`),ue(`${t}.backgroundType.scale`,e.typeScale,.2,4,`(${n}) Multiplies the background typography's size on this canvas shape.`),st(`${t}.backgroundType.x`,e.typeX,-2e3,2e3,`(${n}) Extra horizontal offset of the background typography.`),st(`${t}.backgroundType.y`,e.typeY,-2e3,2e3,`(${n}) Extra vertical offset of the background typography.`),ue(`${t}.handScale`,e.handScale,.2,4,`(${n}) Multiplies both hands' size on this canvas shape (they already scale with the sheet).`)]},$a=(A,e,t)=>{let n=`typography.${A}`;return[lt(`${n}.fontFamily`,t.family??"Inter",ha,`Typeface of the ${e}.`),c0(`${n}.fontWeight`,t.weight,`Weight of the ${e}.`),lt(`${n}.fontStyle`,t.style??"normal",["normal","italic"],`Upright or italic ${e}.`),Ft(`${n}.fontSize`,t.size,8,400,`Type size of the ${e}, in paper units (1/1000 of the sheet's width).`,{step:1,unit:"pu"}),ue(`${n}.lineHeight`,t.lineHeight??1.05,.6,2.5,`Line height of the ${e}, as a multiple of its size.`),Ft(`${n}.letterSpacing`,t.tracking??0,-.2,.5,`Letter spacing of the ${e}, in em.`,{step:.005,unit:"em"}),We(`${n}.color`,t.color??"#ffffff",`Colour of the ${e}.`),$e(`${n}.opacity`,1,`Opacity of the ${e}.`),xt(`${n}.x`,t.x??.12,-.5,1.5,`Left edge of the ${e}'s box across its panel (0 = the panel's left edge, 1 = its right edge).`),xt(`${n}.y`,t.y??.2,-.5,1.5,`Top of the ${e}'s box down its panel.`),xt(`${n}.maxWidth`,t.maxWidth??.76,.05,1.5,`Width the ${e} wraps within, as a fraction of the panel's width.`),lt(`${n}.alignment`,t.align??"left",["left","center","right"],`Alignment of the ${e} inside its box.`),je(`${n}.rotation`,t.rotation??0,-45,45,`Rotation of the ${e} on the paper.`),ue(`${n}.scale`,1,.1,4,`Scale of the ${e}.`),je(`${n}.skew`,t.skew??0,-30,30,`Horizontal slant of the ${e} (negative leans it forward).`),We(`${n}.shadow`,"#1b0a33",`Colour of the ${e}'s shadow.`),Ft(`${n}.shadowBlur`,0,0,80,`Blur of the ${e}'s shadow.`,{step:1,unit:"pu"}),$e(`${n}.shadowOpacity`,0,`Strength of the ${e}'s shadow (0 = none).`)]},Tv=(A,e,t)=>{let n=`typography.${A}`;return[lt(`${n}.fontFamily`,t.family??"Inter",ha,`Typeface of the ${e}.`),c0(`${n}.fontWeight`,t.weight,`Weight of the ${e}.`),lt(`${n}.fontStyle`,t.style??"normal",["normal","italic"],`Upright or italic ${e}.`),st(`${n}.fontSize`,t.size,6,300,`Type size of the ${e}.`),Ft(`${n}.letterSpacing`,t.tracking??0,-.2,.5,`Letter spacing of the ${e}, in em.`,{step:.005,unit:"em"}),We(`${n}.color`,t.color??"#ffffff",`Colour of the ${e}.`),$e(`${n}.opacity`,1,`Opacity of the ${e}.`),We(`${n}.shadow`,"#1b0a33",`Colour of the ${e}'s shadow.`),st(`${n}.shadowBlur`,0,0,80,`Blur of the ${e}'s shadow.`),$e(`${n}.shadowOpacity`,0,`Strength of the ${e}'s shadow (0 = none).`)]},l0=(A,e,t)=>{let n=`panels.${A}`;return[lt(`${n}.colorMode`,"material",["material","own"],`material: the ${A} panel shows the paper (paperMaterial). own: it is printed in panels.${A}.backgroundColor. The panel's shape never changes \u2014 it is part of the one sheet.`),We(`${n}.backgroundColor`,"#763bb3",`The ${A} panel's own colour (colorMode own).`),Xt(`${n}.gradient`,!0,`Show the paper gradient on the ${A} panel (off: its flat colour).`),ue(`${n}.textureOpacity`,1,0,3,`Multiplies the paper texture and grain on the ${A} panel.`),Ft(`${n}.shade`,e,-1,1,`Brightness offset of the ${A} panel over the lighting (negative darkens it). The lighting alone already shades a panel by its angle.`,{step:.01}),$e(`${n}.highlightOpacity`,1,`How much of the fold lighting's sheen the ${A} panel shows.`),$e(`${n}.shadowOpacity`,1,`How much shadow the ${A} panel receives from a panel folded over it.`),xt(`${n}.contentArea.x`,t.x,0,1,`Left edge of the ${A} panel's content safe area (0\u20251 across the panel). Text is kept inside it.`),xt(`${n}.contentArea.y`,t.y,0,1,`Top of the ${A} panel's content safe area (0\u20251 down the panel).`),xt(`${n}.contentArea.width`,t.width,.1,1,`Width of the ${A} panel's content safe area.`),xt(`${n}.contentArea.height`,t.height,.1,1,`Height of the ${A} panel's content safe area.`),En(`${n}.contentArea.padding`,0,0,200,`Inset inside the ${A} panel's content safe area.`),Xt(`${n}.overflow`,!1,`Let text on the ${A} panel run outside its content safe area (off: text is shrunk to fit and clipped to it).`),En(`${n}.contentOffsetX`,0,-500,500,`Moves everything printed on the ${A} panel across it (the panel itself never moves off the sheet).`),En(`${n}.contentOffsetY`,0,-500,500,`Moves everything printed on the ${A} panel down it.`),je(`${n}.contentRotation`,0,-45,45,`Rotates everything printed on the ${A} panel.`),ue(`${n}.contentScale`,1,.1,3,`Scales everything printed on the ${A} panel.`)]},kv=(A,e)=>{let t=`hands.${A}`;return[Xt(`${t}.enabled`,!0,`Show the ${A} hand.`),xt(`${t}.x`,e.x,0,1,`Where the ${A} hand grips the sheet, across it (0 = the left edge, 1 = the right edge). The hand is attached to that point of the paper and follows it through every fold.`),xt(`${t}.y`,e.y,0,1,`Where the ${A} hand grips the sheet, down it (0 = the top edge, 1 = the bottom edge). The panel under this point is the one it holds.`),En(`${t}.offsetX`,e.offsetX,-600,600,`Nudges the ${A} hand's drawing across, relative to its grip point.`),En(`${t}.offsetY`,e.offsetY,-600,600,`Nudges the ${A} hand's drawing down, relative to its grip point.`),je(`${t}.rotation`,e.rotation,-180,180,`Rotation of the ${A} hand at rest.`),ue(`${t}.scale`,e.scale,.2,4,`Size of the ${A} hand (it also scales with the sheet and with depth).`),je(`${t}.skewX`,0,-30,30,`Horizontal skew of the ${A} hand.`),je(`${t}.skewY`,0,-30,30,`Vertical skew of the ${A} hand.`),$e(`${t}.opacity`,1,`Opacity of the ${A} hand.`),Ft(`${t}.armLength`,e.armLength,100,4e3,`How far the ${A} arm reaches back from the wrist (paper units). Long enough to leave the canvas on every shape.`,{step:10,unit:"pu"}),ue(`${t}.pose.grip`,1,0,1,`How firmly the ${A} hand's gripping fingers close on the paper once it holds it (1 = pressed to the sheet, 0 = open).`),ue(`${t}.pose.fingerCurl`,1,.3,1.4,`How far the ${A} hand's fingers curl at their joints (1 = the reference pose).`),Ft(`${t}.pose.thumbBend`,0,-1,1,`Bends the ${A} thumb at its two joints (-1 straighter, 1 more bent).`,{step:.01}),je(`${t}.pose.wrist`,0,-35,35,`Bends the ${A} wrist: turns the hand against the forearm about the wrist (the grip stays on the paper; the forearm swings).`),je(`${t}.thumb.rotation`,0,-25,25,`Turns the ${A} thumb about its root at the side of the palm.`),ue(`${t}.thumb.scale`,1,.8,1.25,`Size of the ${A} thumb relative to the hand.`),Ft(`${t}.thumb.x`,0,-30,30,`Moves the ${A} thumb's root along the side of the palm (hand units).`,{step:1}),Ft(`${t}.thumb.y`,0,-30,30,`Moves the ${A} thumb's root across the side of the palm (hand units).`,{step:1})]},Yv=(A,e)=>{let t=`handInteraction.${A}`;return[ue(`${t}.followStrength`,e.follow,0,1.5,`How closely the ${A} hand follows its grip point as the paper folds (1 = stays on it, 0 = stays put).`),En(`${t}.gripOffset`,e.grip,0,200,`The tug: how far the ${A} hand pulls ahead of its grip point while the paper under it is moving.`),En(`${t}.movementAmplitude`,e.move,0,200,`How far the ${A} hand shifts toward the sheet's centre while any fold is moving (it braces the sheet).`),je(`${t}.rotationAmplitude`,e.rotate,-60,60,`How much the ${A} hand's wrist turns at the peak of the fold that moves it.`),Xo(`${t}.settleDuration`,e.settle,240,`How long the ${A} hand takes to settle after a move (a damped spring; shorter is tighter).`,8),Ft(`${t}.bounce`,e.bounce,.2,1.2,`Damping of the ${A} hand's settle: below 1 it overshoots and settles, 1 and above it glides in.`,{step:.01,unit:"factor"}),Xo(`${t}.leadFrames`,e.lead,30,`The ${A} hand moves this many frames ahead of the paper \u2014 it pulls, the paper follows.`),Ft(`${t}.enterFromX`,e.fromX,-1.5,1.5,`Where the ${A} hand starts its approach, as an offset across the canvas from its grip (the intro).`,{step:.01,unit:"normalized"}),Ft(`${t}.enterFromY`,e.fromY,-1.5,1.5,`Where the ${A} hand starts its approach, as an offset down the canvas from its grip.`,{step:.01,unit:"normalized"}),Xo(`${t}.enterDelayFrames`,e.delay,600,`Delay of the ${A} hand's approach after the intro starts.`),je(`${t}.gripAngle`,22,-90,90,`How far the ${A} hand's gripping finger is open before it closes on the paper.`),ue(`${t}.releaseAmount`,e.release,0,1,`During FOLDED_HOLD the ${A} hand eases its grip by this much (0 = holds on, 1 = lets go), and grips again before the paper unfolds.`),Xo(`${t}.releaseFrames`,14,120,`How long the ${A} hand takes to ease and re-take its grip.`,1)]},xg=[lt("canvas.aspectRatio","9:16",T3,"Canvas shape. Each shape reads its own layout block (layout.portrait / landscape / square): the composition is laid out again, never stretched. 9:16 is the reference."),Lt("canvas.width",2160,256,7680,"Output width in pixels. Must match the aspect ratio (\xB11%).",{unit:"px"}),Lt("canvas.height",3840,256,7680,"Output height in pixels. Must match the aspect ratio (\xB11%).",{unit:"px"}),lt("canvas.fps",60,k3,"Output frame rate. Timing is authored in 60 fps motion frames; a lower rate samples the same motion, it does not slow it down."),lt("canvas.durationMode","auto",["auto","fixed"],"auto: the video lasts as long as the timeline. fixed: it lasts canvas.durationFrames \u2014 the end is held, or the timeline is cut."),Lt("canvas.durationFrames",480,30,36e3,"Output length in output frames (durationMode fixed).",{unit:"frames"}),Lt("canvas.seed",20260930,0,2147483647,"The seed of every random choice not seeded on its own (the idle sway's phase). Same config + same seed = identical frames."),Ft("canvas.safeArea",.03,0,.2,"Inset on every side, as a fraction of the short side, that the logo and CTA keep clear of.",{unit:"fraction"}),...s0("portrait",i0.portrait),...s0("landscape",i0.landscape),...s0("square",i0.square),lo("content.logo","brand",32,"The logo wordmark. Empty shows the mark alone."),lo("content.top.headline","Your headline here",140,"The headline printed on the top panel. Wraps within its box; line breaks are kept. Empty hides it.",{multiline:!0}),lo("content.top.logo","",32,"A small wordmark printed at the top of the top panel. Empty hides it."),lo("content.top.subtitle","",220,"A subtitle on the top panel. Empty hides it.",{multiline:!0}),lo("content.middle.headline","A second message on the middle panel",140,"The headline printed on the middle panel. Empty hides it.",{multiline:!0}),lo("content.middle.body","",220,"A subtitle on the middle panel. Empty hides it.",{multiline:!0}),lo("content.bottom.headline","",140,"A headline on the bottom panel. Empty hides it.",{multiline:!0}),lo("content.bottom.body","Body copy printed on the bottom panel.",260,"The body copy on the bottom panel. Empty hides it.",{multiline:!0}),lo("content.bottom.cta","",40,"A call to action printed on the bottom panel (it folds with the paper). Empty hides it; content.cta.text is the button beside the paper."),lo("content.back.text","",60,"Printed on the back of one panel (content.back.panel) \u2014 the side the viewer sees once the paper is folded. Empty leaves the back plain.",{multiline:!0}),lt("content.back.panel","top",qs,"Which panel's back carries content.back.text."),lo("content.cta.text","Call to action",40,"The call-to-action label. Empty hides the button."),...$a("topHeadline","top headline",{weight:900,style:"italic",size:104,lineHeight:.86,tracking:-.01,x:.2,y:.17,maxWidth:.74,skew:-4}),...$a("topLogo","wordmark on the top panel",{weight:700,size:40,lineHeight:1,tracking:-.01,x:.2,y:.07,maxWidth:.6}),...$a("topSubtitle","top subtitle",{weight:500,size:44,lineHeight:1.15,x:.2,y:.72,maxWidth:.7}),...$a("middleHeadline","middle headline",{weight:500,size:80,lineHeight:.98,tracking:-.025,x:.17,y:.2,maxWidth:.72}),...$a("middleBody","middle subtitle",{weight:400,size:42,lineHeight:1.2,x:.17,y:.7,maxWidth:.72}),...$a("bottomHeadline","bottom headline",{weight:800,size:70,lineHeight:.95,x:.2,y:.12,maxWidth:.72}),...$a("bottomBody","bottom body copy",{weight:500,style:"italic",size:50,lineHeight:1.08,tracking:.005,x:.21,y:.24,maxWidth:.74}),...$a("bottomCta","CTA printed on the bottom panel",{weight:700,size:40,lineHeight:1,x:.21,y:.68,maxWidth:.6,color:"#1b0a33"}),...$a("back","text on the back",{weight:800,size:90,lineHeight:1,tracking:-.02,x:.1,y:.36,maxWidth:.8,align:"center"}),...Tv("logo","logo wordmark",{weight:600,size:56,tracking:-.02}),...Tv("cta","CTA label",{weight:500,size:27,tracking:0,color:"#0a0a0a"}),Xt("logo.enabled",!0,"Show the logo."),Xt("logo.showMark",!0,"Draw the logo mark (a rounded tile with a letter) before the wordmark."),lo("logo.markText","B",2,"The letter(s) on the logo mark."),We("logo.markColor","#5e4de6","Logo mark colour (top-left of its gradient)."),We("logo.markColorEnd","#7a5cff","Logo mark colour (bottom-right of its gradient)."),We("logo.markTextColor","#ffffff","Colour of the letter on the logo mark."),ue("logo.markSize",1.05,.3,3,"Size of the mark, as a multiple of the wordmark's type size."),ue("logo.markRadius",.26,0,.5,"Corner radius of the mark, as a fraction of its size."),ue("logo.gap",.18,0,2,"Gap between the mark and the wordmark, as a multiple of the type size."),je("logo.rotation",0,-45,45,"Rotation of the logo."),N3("logo.image","A logo image (asset reference) shown instead of the mark and wordmark. Empty: the procedural mark and the wordmark."),st("logo.imageHeight",90,10,600,"Height of the logo image."),lt("logo.animation","drop",["none","drop","fade"],"How the logo arrives during the intro: drop (slides down into place), fade, or none (there from the start)."),ue("paper.aspect",.7,.3,1.6,"Width of the open sheet divided by its height."),En("paper.thickness",3,0,20,"Paper thickness: the width of the rolled edge a fold makes, and the lip a folded flap shows."),En("paper.cornerRadius",3,0,60,"Corner rounding of the sheet."),xt("paper.originX",.5,0,1,"The sheet's pivot across it: where layout.<shape>.paper.x places it, and what it rotates, skews and scales about."),xt("paper.originY",.5,0,1,"The sheet's pivot down it."),je("paper.rotationX",8,-60,60,"Tilts the whole sheet toward (negative) or away from (positive) the viewer about a horizontal axis, in perspective."),je("paper.rotationY",-9,-60,60,"Turns the whole sheet about a vertical axis, in perspective."),je("paper.rotationZ",3,-45,45,"Rotates the whole sheet in the picture plane."),je("paper.skewX",-2,-30,30,"Skews the whole sheet horizontally."),je("paper.skewY",0,-30,30,"Skews the whole sheet vertically."),st("paper.translateX",0,-1500,1500,"Moves the whole sheet across."),st("paper.translateY",0,-1500,1500,"Moves the whole sheet down."),ue("paper.scaleX",1,.2,3,"Scales the whole sheet across."),ue("paper.scaleY",1,.2,3,"Scales the whole sheet down."),ue("paper.scale",1,.2,3,"Scales the whole sheet (with scaleX and scaleY)."),We("paper.edgeColor","#4a1f7a","Colour of the paper's cut edge (its thickness), seen as a panel turns edge-on."),Xt("paper.shadow.enabled",!0,"Cast the sheet's shadow onto the background."),We("paper.shadow.color","#3c1473","Colour of the sheet's shadow on the background."),$e("paper.shadow.opacity",.32,"Strength of the sheet's shadow on the background."),st("paper.shadow.blur",36,0,300,"Blur of the sheet's shadow on the background."),st("paper.shadow.offsetX",16,-400,400,"Horizontal offset of the sheet's shadow."),st("paper.shadow.offsetY",28,-400,400,"Vertical offset of the sheet's shadow."),We("paperMaterial.baseColor","#7b3fb9","The paper's colour (its front). With the gradient on, it runs from this colour to secondaryColor."),We("paperMaterial.secondaryColor","#7036ac","The far end of the paper gradient."),We("paperMaterial.backColor","#8750c2","The paper's colour on its back, seen when a panel turns over."),Xt("paperMaterial.gradientEnabled",!0,"Print a gradient from baseColor to secondaryColor across the whole sheet (continuous over the creases)."),je("paperMaterial.gradientAngle",170,0,360,"Direction of the paper gradient (CSS angle: 180 = top to bottom)."),$e("paperMaterial.textureOpacity",.07,"Strength of the paper fibre texture (procedural, seeded)."),Xt("paperMaterial.grainEnabled",!0,"Fine procedural grain on the paper."),$e("paperMaterial.grainOpacity",.05,"Strength of the fine paper grain."),ue("paperMaterial.grainScale",1,.3,4,"Size of the grain (1 = fine)."),Lt("paperMaterial.grainSeed",7,0,99999,"Seed of the paper texture and grain."),$e("paperMaterial.edgeHighlight",.22,"A light line along the sheet's outer edges."),$e("paperMaterial.edgeShadow",.18,"A dark line along the sheet's outer edges."),$e("paperMaterial.creaseTexture",.12,"How visible a crease is while the paper lies flat (it deepens as the paper folds)."),ue("paperMaterial.creaseHighlight",1,0,2,"Multiplies every crease's ridge highlight."),ue("paperMaterial.creaseShadow",1,0,2,"Multiplies every crease's valley shading."),...l0("top",0,{x:.06,y:.05,width:.88,height:.9}),...l0("middle",0,{x:.06,y:.05,width:.88,height:.9}),...l0("bottom",0,{x:.06,y:.05,width:.88,height:.9}),je("foldLighting.lightAngle",-95,-180,180,"Where the light comes from in the picture plane (-90 = from above, 0 = from the right, 90 = from below)."),je("foldLighting.lightElevation",25,0,90,"How far the light is raised toward the viewer (90 = straight from the viewer: every panel facing you is equally lit)."),Ft("foldLighting.ambient",.62,0,1.5,"Light every panel gets whatever its angle.",{unit:"factor"}),Ft("foldLighting.diffuse",.6,0,1.5,"Light a panel gets from facing the light.",{unit:"factor"}),$e("foldLighting.shadowOpacity",.5,"Strength of the shadow a folding panel casts on the panel it closes over (the contact region darkens)."),En("foldLighting.shadowBlur",40,0,300,"Softness of that shadow's far edge."),En("foldLighting.shadowOffset",18,0,300,"How far the shadow reaches past the folding panel's edge."),$e("foldLighting.creaseDarkness",.45,"Darkening in the valley of a crease as it closes."),$e("foldLighting.edgeHighlight",.55,"Highlight on a folded edge where it turns toward the light."),$e("foldLighting.highlightOpacity",.16,"The sheen a panel shows when it faces the light."),Ft("foldLighting.backShade",-.05,-1,1,"Brightness offset of the paper's back.",{step:.01}),...kv("top",{x:.5,y:0,rotation:-4,scale:1.15,offsetX:0,offsetY:0,armLength:2600}),...kv("bottom",{x:.55,y:.955,rotation:0,scale:1.1,offsetX:0,offsetY:0,armLength:2e3}),We("hands.style.baseColor","#873a1c","Skin colour (both hands)."),We("hands.style.midtoneColor","#7a3217","Skin turning away from the light (the sides of fingers, the far side of the palm)."),We("hands.style.shadowColor","#5e260b","Skin in shadow: under and between fingers, under the thumb, the wrist crease, fingers behind the paper."),We("hands.style.highlightColor","#9d4b26","Lit skin (the knuckles, the top of the hand and thumb)."),We("hands.style.nailColor","#e57953","Fingernail colour."),$e("hands.style.highlightOpacity",.9,"Strength of the highlight shapes."),$e("hands.style.shadowOpacity",1,"Strength of the shadow shapes."),$e("hands.style.dropShadowOpacity",.28,"Strength of the contact shadow the gripping fingers cast on the paper."),En("hands.style.dropShadowBlur",10,0,100,"Blur of that contact shadow."),En("hands.style.dropShadowOffset",7,0,100,"Offset of that contact shadow."),Xt("hands.style.sleeve.enabled",!1,"Draw a sleeve on each forearm."),We("hands.style.sleeve.color","#1f2a44","Sleeve colour."),ue("hands.style.sleeve.position",.35,0,1,"Where the cuff sits along the arm, from the wrist (0) to the arm's far end (1)."),En("hands.style.outlineWidth",0,0,20,"An outline around the hand's silhouette (0 = none, as in the reference)."),We("hands.style.outlineColor","#3a1606","Outline colour."),Xt("hands.nails.enabled",!0,"Draw fingernails where they face the viewer."),$e("hands.nails.opacity",.95,"Nail opacity (lower for a subtler accent)."),ue("hands.nails.scale",1,.6,1.3,"Nail size relative to its fingertip."),...Yv("top",{follow:1,grip:0,move:6,rotate:14,settle:24,lead:0,fromX:-.35,fromY:-.22,delay:0,bounce:.62,release:.4}),...Yv("bottom",{follow:1,grip:0,move:12,rotate:-8,settle:28,lead:0,fromX:-.28,fromY:.26,delay:8,bounce:.7,release:.2}),We("background.baseColor","#b46cff","Background colour (under the gradient)."),Xt("background.gradient.enabled",!0,"Paint the background with the gradient stops."),lt("background.gradient.type","linear",["linear","radial"],"Linear or radial gradient."),je("background.gradient.angle",180,0,360,"Direction of a linear gradient (CSS angle: 180 = top to bottom)."),Xt("background.glow.enabled",!0,"A soft glow behind the paper."),xt("background.glow.x",.46,-.5,1.5,"Glow centre across the canvas."),xt("background.glow.y",.52,-.5,1.5,"Glow centre down the canvas."),Ft("background.glow.radius",.6,.02,3,"Glow radius, as a fraction of the short side.",{unit:"short"}),We("background.glow.color","#d6a6ff","Glow colour."),$e("background.glow.opacity",.28,"Glow strength."),st("background.glow.blur",90,0,600,"Glow blur."),Xt("background.backgroundTypography.enabled",!0,"Show the large background word."),lo("background.backgroundTypography.text","PROMO",24,"The background word, repeated in rows."),lt("background.backgroundTypography.fontFamily","Inter",ha,"Typeface of the background word."),st("background.backgroundTypography.fontSize",262,20,1600,"Type size of the background word."),c0("background.backgroundTypography.weight",700,"Weight of the background word."),$e("background.backgroundTypography.opacity",1,"Opacity of the background word."),We("background.backgroundTypography.color","#a05ce7","Colour of the background word."),Ft("background.backgroundTypography.tracking",-.03,-.3,1,"Letter spacing of the background word, in em.",{step:.005,unit:"em"}),st("background.backgroundTypography.x",-16,-2e3,2e3,"Horizontal offset of the rows."),st("background.backgroundTypography.y",-42,-2e3,2e3,"Vertical offset of the first row."),je("background.backgroundTypography.rotation",0,-90,90,"Rotation of the whole block of rows."),Lt("background.backgroundTypography.rows",9,1,24,"How many rows of the word."),ue("background.backgroundTypography.rowGap",.8,.4,3,"Row pitch, as a multiple of the type size."),Lt("background.backgroundTypography.repeat",1,1,8,"How many times the word repeats along each row (at least)."),Xt("background.backgroundTypography.fill",!0,"Repeat the word further where one row would not span the canvas (a wide canvas), so every shape is covered edge to edge."),Ft("background.backgroundTypography.drift",0,-400,400,"Rows slide sideways at this speed.",{step:1,unit:"du/s"}),Xt("background.backgroundTypography.alternate",!0,"Alternate rows slide the opposite way."),Xt("background.noise.enabled",!0,"Procedural grain over the background."),$e("background.noise.opacity",.05,"Grain strength."),ue("background.noise.scale",1,.2,5,"Grain size (1 = fine film grain)."),Lt("background.noise.seed",11,0,99999,"Grain seed. Same seed = same grain."),Xt("cta.enabled",!0,"Show the call-to-action button."),We("cta.backgroundColor","#ffffff","Button colour."),We("cta.borderColor","#ffffff","Button border colour."),st("cta.borderWidth",0,0,20,"Button border width."),st("cta.radius",9,0,200,"Button corner radius."),st("cta.paddingX",30,0,200,"Space left and right of the label."),st("cta.paddingY",13,0,120,"Space above and below the label."),je("cta.rotation",-4,-45,45,"Button rotation."),We("cta.shadowColor","#3c1473","Button shadow colour."),$e("cta.shadowOpacity",.2,"Button shadow strength."),st("cta.shadowBlur",18,0,120,"Button shadow blur."),lt("cta.animation","pop-pulse",["none","pop","pulse","pop-pulse"],"pop: springs in during the intro. pulse: breathes during the final hold. pop-pulse: both. none: there from the start, still."),Xo("cta.enterDelayFrames",24,3600,"When the button pops in, after the video starts."),Xo("cta.enterDurationFrames",30,600,"How long the pop takes.",1),ue("cta.pulseAmount",.04,0,.3,"How much the button grows at the top of each pulse."),Ft("cta.pulseFrequency",1.1,.1,4,"Pulses per second.",{unit:"hz"}),ue("camera.startZoom",1,.5,3,"Zoom while the paper is open, before it folds."),ue("camera.foldZoom",1.12,.5,3,"Zoom the camera pushes to as the paper folds (reached when every fold is at its peak)."),ue("camera.endZoom",1,.5,3,"Zoom the camera settles at in the final hold."),st("camera.x",0,-1500,1500,"Camera pan across (positive moves the view right: the picture moves left)."),st("camera.y",0,-1500,1500,"Camera pan down."),je("camera.rotation",0,-30,30,"Camera roll."),st("camera.perspective",2400,1400,12e3,"Distance from the viewer to the paper: smaller is a stronger perspective (a fold looks deeper)."),xt("camera.vanishX",.5,-.5,1.5,"The vanishing point across the sheet (0.5 = its centre)."),xt("camera.vanishY",.45,-.5,1.5,"The vanishing point down the sheet."),ue("camera.parallax",.35,0,1,"How much the background follows the camera (0 = it stays still, 1 = it moves with the paper)."),Lt("timeline.intro.startFrame",0,0,3600,"Frame the intro starts on (the hands approach and grip).",{unit:"frames"}),Lt("timeline.intro.delayFrames",0,0,600,"Extra frames before the intro starts.",{unit:"frames"}),Xo("timeline.intro.durationFrames",60,600,"Length of the intro: the hands' approach and grip.",1),Za("timeline.intro.easing","easeOutCubic","How the hands (and, with motion.intro.mode rise, the paper) arrive."),Lt("timeline.topFold.startFrame",-1,-1,3600,"Frame TOP_FOLD starts on; -1 = right after the intro. Its delay, length and easing are the top fold's (folds.top.delayFrames / durationFrames / easing).",{unit:"frames"}),Lt("timeline.bottomFold.startFrame",-1,-1,3600,"Frame BOTTOM_FOLD starts on; -1 = right after TOP_FOLD. Delay, length and easing: folds.bottom.",{unit:"frames"}),Lt("timeline.foldedHold.startFrame",-1,-1,3600,"Frame FOLDED_HOLD starts on; -1 = right after BOTTOM_FOLD.",{unit:"frames"}),Lt("timeline.foldedHold.delayFrames",0,-240,600,"Gap before the hold (negative overlaps the fold).",{unit:"frames"}),Xo("timeline.foldedHold.durationFrames",44,3600,"How long the paper stays folded."),Za("timeline.foldedHold.easing","easeInOut","Shapes the squeeze the paper gives while it is held folded (motion.holdSqueeze)."),Lt("timeline.bottomUnfold.startFrame",-1,-1,3600,"Frame BOTTOM_UNFOLD starts on; -1 = right after the hold. Delay, length and easing: folds.bottom.unfold*.",{unit:"frames"}),Lt("timeline.topUnfold.startFrame",-1,-1,3600,"Frame TOP_UNFOLD starts on; -1 = right after BOTTOM_UNFOLD. Delay, length and easing: folds.top.unfold*.",{unit:"frames"}),Lt("timeline.finalHold.startFrame",-1,-1,3600,"Frame FINAL_HOLD starts on; -1 = right after TOP_UNFOLD.",{unit:"frames"}),Lt("timeline.finalHold.delayFrames",0,-240,600,"Gap before the final hold (negative overlaps the unfold).",{unit:"frames"}),Xo("timeline.finalHold.durationFrames",60,3600,"How long the open paper holds at the end."),Za("timeline.finalHold.easing","easeInOutCubic","How the camera settles to camera.endZoom in the final hold."),ue("motion.speed",1,.25,4,"Plays the whole timeline faster (above 1) or slower (below 1). The video's length follows."),lt("motion.progressMode","timeline",["timeline","manual"],"timeline: the folds play as the timeline says. manual: motion.foldProgress poses the paper directly (the hands hold on; the rest of the motion still plays)."),ue("motion.foldProgress",0,0,1,"FOLD PROGRESS (manual mode): 0 = the paper completely flat, 0.5 = the first fold done, 1 = completely folded. It sets the crease angles themselves \u2014 the geometry, not a picture of it."),lt("motion.intro.mode","hands",["hands","rise","none"],"hands: the paper is there, the hands reach in and grip it. rise: paper and hands rise into frame together. none: everything in place from the first frame."),st("motion.intro.paperOffsetY",900,0,4e3,"rise: how far below its place the paper starts."),je("motion.intro.paperRotation",-8,-90,90,"rise: the paper's rotation as it starts."),Xt("motion.idle.enabled",!0,"A slow sway and bob that keeps the held paper alive."),je("motion.idle.swayAngle",.7,0,10,"How far the paper sways."),st("motion.idle.bobAmplitude",5,0,80,"How far the paper bobs up and down."),Ft("motion.idle.frequency",.3,.02,3,"Sway and bob cycles per second.",{unit:"hz"}),ue("motion.holdSqueeze",.985,.8,1.2,"The folded paper's scale at the middle of FOLDED_HOLD (below 1 squeezes it; the hands press it)."),Za("easing.camera","easeInOutCubic","How the camera moves toward camera.foldZoom as the paper folds."),Za("easing.ctaEnter","easeOutBack","How the CTA pops in."),Za("easing.fingerGrip","easeInOutCubic","How the gripping fingers close on the paper at the end of each hand's approach."),Za("easing.logoEnter","easeOutCubic","How the logo arrives."),lt("export.codec","h264",["h264","h265","prores","vp9"],"Video codec of the rendered file."),lt("export.pixelFormat","yuv420p",["yuv420p","yuv444p","yuv422p10le"],"Pixel format. yuv420p plays everywhere."),lt("export.colorSpace","bt709",["bt709","default"],"Colour space tag. bt709 is correct for HD/4K SDR."),Lt("export.crf",12,0,51,"H.264/H.265 quality (lower is better; 12 is visually lossless)."),lt("export.x264Preset","slow",["ultrafast","veryfast","fast","medium","slow","slower","veryslow"],"Encoder effort."),lt("export.imageFormat","png",["png","jpeg"],"Frame capture format (png keeps gradients clean).")],yt=A=>Eg("Folds",A),L3=[yt({...lt("id","top",Qg,"Which crease this fold turns about: top = creases.top, bottom = creases.bottom. Fixed."),userEditable:!1,agentEditable:!1}),yt(Xt("enabled",!0,"Fold at this crease. Off: the crease stays at its start angle and its phases take no time.")),yt(lt("direction","down",R3,"Which side of the crease swings: down \u2014 the part above it (the top panel, for the top fold); up \u2014 the part below it. The two folds must agree on one panel that stays put: top up + bottom down is refused.")),yt(lt("side","inward",O3,"inward: the panel folds toward the viewer, over the front (a valley). outward: it folds away, behind (a mountain). Decides whether the folded panel lies in front of or behind its neighbour.")),yt(je("startAngle",0,-90,180,"The crease's angle while the paper is open, before this fold (0 = flat; negative bends it the other way).")),yt(je("peakAngle",150,-90,180,"The crease's angle at the peak of the fold (180 = folded flat).")),yt(je("endAngle",0,-90,180,"The crease's angle after it unfolds (the same as startAngle returns the paper to its open geometry).")),yt(ue("startScale",1,.5,1.5,"The sheet's scale before this fold.")),yt(ue("peakScale",1,.5,1.5,"The sheet's scale at the fold's peak (the folds multiply).")),yt(ue("endScale",1,.5,1.5,"The sheet's scale after this fold unfolds.")),yt(je("edgeLift",40,0,70,"How far the gripped free edge lifts and curls ahead of the fold (the hand lifts the paper before it folds over). Peaks early in the fold, flat again when folded.")),yt(ue("edgeLiftSize",.32,.05,.6,"How much of the panel, from its free edge, curls with that lift.")),yt(ue("curvature",.35,0,1,"How round the fold is: 0 = a sharp hinge, 1 = a wide bend. The turn is spread over a band of the sheet around the crease, so the paper bends rather than rotating like a card.")),yt(ue("perspective",1.15,.5,2.5,"Perspective strength at the peak of this fold (above 1 deepens it; it relaxes as the paper unfolds).")),yt(st("translationX",0,-800,800,"How far the sheet shifts across at the peak of this fold (the hands move it).")),yt(st("translationY",0,-800,800,"How far the sheet shifts down at the peak of this fold.")),yt(je("rotationZ",0,-30,30,"How far the sheet turns in the picture plane at the peak of this fold.")),yt({...Lt("delayFrames",6,-240,600,"Gap before the fold starts (negative overlaps the phase before).",{unit:"frames"})}),yt(Xo("durationFrames",54,3600,"How long the fold takes.",1)),yt(Za("easing","easeInOutCubic","How the fold moves.")),yt({...Lt("unfoldDelayFrames",0,-240,600,"Gap before the unfold starts (negative overlaps the phase before).",{unit:"frames"})}),yt(Xo("unfoldDurationFrames",50,3600,"How long the unfold takes.",1)),yt(Za("unfoldEasing","easeInOutCubic","How the unfold moves.")),yt(ue("shadowIntensity",1,0,2,"Multiplies the fold lighting's shadow for this fold.")),yt(ue("creaseIntensity",1,0,2,"How much this crease darkens as it folds (it softens again as it opens)."))],ma=A=>Eg("Creases",A),H3=[ma({...lt("id","top",Qg,"Which crease: top (between the top and middle panels) or bottom (between the middle and bottom panels). Fixed."),userEditable:!1,agentEditable:!1}),ma(Xt("enabled",!0,"Draw the crease line (the paper still folds here when this is off).")),ma(xt("position",.333,.1,.9,"Where the crease runs, down the sheet (0 = the top edge, 1 = the bottom edge). The panels are the strips between the creases.")),ma(En("width",3,.5,30,"Width of the crease line.")),ma(We("color","#2c0f52","Crease colour.")),ma($e("opacity",.55,"Crease line strength at full fold.")),ma($e("darkness",.45,"How dark the crease's valley gets as it closes (\xD7 foldLighting.creaseDarkness).")),ma(En("softness",1.5,0,30,"Softness (blur) of the crease line.")),ma($e("highlight",.35,"The light ridge beside the crease on its convex side.")),ma(We("highlightColor","#c9a0ff","Colour of that ridge."))],Rv=A=>Eg("Background",A),z3=[Rv(Ft("offset",0,0,1,"Where the stop sits along the gradient (0\u20251). Stops must be in order.",{step:.01,unit:"fraction"})),Rv(We("color","#b46cff","Stop colour."))],Ov=(A,e)=>({id:A,enabled:!0,direction:A==="top"?"down":"up",side:"inward",startAngle:0,peakAngle:150,endAngle:0,startScale:1,peakScale:1,endScale:1,edgeLift:40,edgeLiftSize:.32,curvature:.35,perspective:1.15,translationX:0,translationY:0,rotationZ:0,delayFrames:6,durationFrames:54,easing:"easeInOutCubic",unfoldDelayFrames:0,unfoldDurationFrames:50,unfoldEasing:"easeInOutCubic",shadowIntensity:1,creaseIntensity:1,...e}),Pv=(A,e)=>({id:A,enabled:!0,position:e,width:3,color:"#2c0f52",opacity:.55,darkness:.45,softness:1.5,highlight:.35,highlightColor:"#c9a0ff"}),Mg=[{path:"folds",group:"Folds",minItems:2,maxItems:2,item:L3,keyField:"id",keys:Qg,description:"The two folds, one per crease, in order: top (folds.0, also folds.top), then bottom (folds.1, also folds.bottom).",default:[Ov("top",{side:"inward",startAngle:0,peakAngle:172,endAngle:0,peakScale:1.02,translationY:40,rotationZ:-1.5,delayFrames:26,durationFrames:84,unfoldDurationFrames:62,curvature:.4}),Ov("bottom",{direction:"down",side:"outward",startAngle:0,peakAngle:168,endAngle:0,peakScale:1.02,translationY:-70,rotationZ:1,delayFrames:4,durationFrames:78,unfoldDurationFrames:60,edgeLift:18,curvature:.4})]},{path:"creases",group:"Creases",minItems:2,maxItems:2,item:H3,keyField:"id",keys:Qg,description:"The two creases, top (creases.0, also creases.top) then bottom. Their positions split the sheet into the three panels.",default:[Pv("top",.333),Pv("bottom",.655)]},{path:"background.gradient.stops",group:"Background",minItems:2,maxItems:6,item:z3,description:"Background gradient stops, in order of offset.",default:[{offset:0,color:"#b46cff"},{offset:1,color:"#aa62f7"}]}],oF=new Map(xg.map(A=>[A.path,A])),aF=new Map(Mg.map(A=>[A.path,A])),Nv=()=>Fv(xg,Mg);var j3="paper-fold-promo/1";var K3="paper-fold-promo",J3={"9:16":9/16,"16:9":16/9,"1:1":1};function W3(A,e){let t=c=>se(A,c),n=J3[se(A,"canvas.aspectRatio")];if(n){let c=t("canvas.width")/t("canvas.height");Math.abs(c/n-1)>.01&&e.push({path:"canvas.width",message:`canvas.width \xD7 canvas.height (${t("canvas.width")} \xD7 ${t("canvas.height")}) does not match canvas.aspectRatio ${String(se(A,"canvas.aspectRatio"))}. Set all three together (the portrait, landscape and square presets do).`})}let o=t("creases.0.position"),a=t("creases.1.position");a-o<.1&&e.push({path:"creases.1.position",message:`creases.bottom.position (${a}) must be at least 0.1 below creases.top.position (${o}): every panel needs height.`});let[r,i]=se(A,"folds");r.enabled&&i.enabled&&r.direction==="up"&&i.direction==="down"&&e.push({path:"folds.1.direction",message:'folds.top.direction "up" swings the middle panel from the top crease while folds.bottom.direction "down" swings it from the bottom crease: one panel has to stay put. Use top down + bottom up (the middle stays), top up + bottom up (the top stays) or top down + bottom down (the bottom stays).'});let s=se(A,"background.gradient.stops");for(let c=1;c<s.length;c++)s[c].offset<s[c-1].offset&&e.push({path:`background.gradient.stops.${c}.offset`,message:`background.gradient.stops must be in order of offset: stop ${c} (${s[c].offset}) comes before stop ${c-1} (${s[c-1].offset}).`});let l=u0(A),d=0;for(let c of l)c.start<0?e.push({path:c.delayPath,message:`${c.label} would start at frame ${c.start}, before the video starts. Raise ${c.delayPath}.`}):c.start<d&&e.push({path:c.delayPath,message:`${c.label} would start at frame ${c.start}, before the phase ahead of it (frame ${d}). Phases run in order; raise ${c.delayPath} or the phase's startFrame.`}),d=Math.max(d,c.start);let u=c=>l.find(p=>p.id===c);for(let[c,p,B]of[["topFold","topUnfold","top"],["bottomFold","bottomUnfold","bottom"]])u(p).start<u(c).end&&e.push({path:`folds.${B==="top"?0:1}.unfoldDelayFrames`,message:`The ${B} fold would start unfolding (frame ${u(p).start}) before it has finished folding (frame ${u(c).end}).`})}function u0(A){let e=r=>se(A,r),t=se(A,"folds"),n=r=>t[r],o=[{id:"intro",label:"INTRO",start:"timeline.intro.startFrame",delay:"timeline.intro.delayFrames",duration:()=>e("timeline.intro.durationFrames")},{id:"topFold",label:"TOP_FOLD",start:"timeline.topFold.startFrame",delay:"folds.0.delayFrames",duration:()=>n(0).enabled?n(0).durationFrames:0,enabled:n(0).enabled},{id:"bottomFold",label:"BOTTOM_FOLD",start:"timeline.bottomFold.startFrame",delay:"folds.1.delayFrames",duration:()=>n(1).enabled?n(1).durationFrames:0,enabled:n(1).enabled},{id:"foldedHold",label:"FOLDED_HOLD",start:"timeline.foldedHold.startFrame",delay:"timeline.foldedHold.delayFrames",duration:()=>e("timeline.foldedHold.durationFrames")},{id:"bottomUnfold",label:"BOTTOM_UNFOLD",start:"timeline.bottomUnfold.startFrame",delay:"folds.1.unfoldDelayFrames",duration:()=>n(1).enabled?n(1).unfoldDurationFrames:0,enabled:n(1).enabled},{id:"topUnfold",label:"TOP_UNFOLD",start:"timeline.topUnfold.startFrame",delay:"folds.0.unfoldDelayFrames",duration:()=>n(0).enabled?n(0).unfoldDurationFrames:0,enabled:n(0).enabled},{id:"finalHold",label:"FINAL_HOLD",start:"timeline.finalHold.startFrame",delay:"timeline.finalHold.delayFrames",duration:()=>e("timeline.finalHold.durationFrames")}],a=0;return o.map(r=>{let i=e(r.start),s=r.enabled===!1?0:e(r.delay),l=(i>=0?i:a)+s,d=l+r.duration();return a=Math.max(a,d),{id:r.id,label:r.label,start:l,end:d,delayPath:r.delay,startPath:r.start}})}var Lv=Dv({name:K3,schemaId:j3,title:"Paper fold promo configuration",controls:xg,lists:Mg,relations:W3}),{defaultItem:lF,canonicalPath:cF,controlAt:uF,validateConfig:Ig,applyPatch:Dg,diffConfig:dF,configJsonSchema:Hv}=Lv,zv=Lv.defaultConfig;var Kr=60;var _e=(A,e=0,t=1)=>A<e?e:A>t?t:A,Tn=(A,e,t)=>A+(e-A)*t,Ro=Math.PI/180,Hc=Math.PI*2;function qa(A){return{n:e=>se(A,e),s:e=>se(A,e),b:e=>se(A,e),list:e=>se(A,e)??[]}}var Xv=()=>[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function Tg(A,e){let t=new Array(16);for(let n=0;n<4;n++)for(let o=0;o<4;o++)t[n*4+o]=A[n*4]*e[o]+A[n*4+1]*e[4+o]+A[n*4+2]*e[8+o]+A[n*4+3]*e[12+o];return t}var jr=(...A)=>A.reduce((e,t)=>Tg(e,t),Xv()),Oi=(A,e,t=0)=>[1,0,0,A,0,1,0,e,0,0,1,t,0,0,0,1],V3=(A,e)=>[A,0,0,0,0,e,0,0,0,0,1,0,0,0,0,1],$v=A=>{let e=Math.cos(A),t=Math.sin(A);return[1,0,0,0,0,e,-t,0,0,t,e,0,0,0,0,1]},X3=A=>{let e=Math.cos(A),t=Math.sin(A);return[e,0,t,0,0,1,0,0,-t,0,e,0,0,0,0,1]},$3=A=>{let e=Math.cos(A),t=Math.sin(A);return[e,-t,0,0,t,e,0,0,0,0,1,0,0,0,0,1]},Z3=(A,e)=>[1,Math.tan(A),0,0,Math.tan(e),1,0,0,0,0,1,0,0,0,0,1],q3=(A,e,t)=>jr(Oi(A,e),[1,0,0,0,0,1,0,0,0,0,1,0,0,0,-1/t,1],Oi(-A,-e)),jv=(A,e)=>jr(Oi(0,A),$v(e),Oi(0,-A));function Zv(A,e){let[t,n,o]=e;return[A[0]*t+A[1]*n+A[2]*o+A[3],A[4]*t+A[5]*n+A[6]*o+A[7],A[8]*t+A[9]*n+A[10]*o+A[11],A[12]*t+A[13]*n+A[14]*o+A[15]]}function Ri(A,e){let[t,n,,o]=Zv(A,e),a=Math.max(o,.001);return[t/a,n/a]}var AD=A=>Math.round(A*1e4)/1e4;function eD(A){let e=[];for(let t=0;t<4;t++)for(let n=0;n<4;n++)e.push(A[n*4+t]);return`matrix3d(${e.map((t,n)=>n===3||n===7||n===11?t.toFixed(12):String(AD(t))).join(", ")})`}var tD=(A,e)=>[A[1]*e[2]-A[2]*e[1],A[2]*e[0]-A[0]*e[2],A[0]*e[1]-A[1]*e[0]],g0=A=>{let e=Math.hypot(A[0],A[1],A[2])||1;return[A[0]/e,A[1]/e,A[2]/e]},Kv=(A,e)=>A[0]*e[0]+A[1]*e[1]+A[2]*e[2],Jv=(A,e)=>[A[0]*e[0]+A[1]*e[1]+A[2]*e[2],A[4]*e[0]+A[5]*e[1]+A[6]*e[2],A[8]*e[0]+A[9]*e[1]+A[10]*e[2]];function kg(A){let{n:e,s:t}=qa(A),n=u0(A).map(s=>({id:s.id,label:s.label,start:s.start,end:s.end})),o=Object.fromEntries(n.map(s=>[s.id,s])),a=Math.max(...n.map(s=>s.end)),r=e("motion.speed"),i=t("canvas.durationMode")==="fixed"?e("canvas.durationFrames")*Kr*r/e("canvas.fps"):a;return{phases:o,order:n,end:a,length:i,speed:r}}function Yg(A){let{n:e,s:t}=qa(A);return t("canvas.durationMode")==="fixed"?e("canvas.durationFrames"):Math.max(1,Math.round(kg(A).end/e("motion.speed")*e("canvas.fps")/Kr))}function qv(A,e){return e*Kr*se(A,"motion.speed")/se(A,"canvas.fps")}function nD(A,e){let t=A.order[0];for(let n of A.order)e>=n.start&&n.end>n.start&&(t=n);return{id:t.id,label:t.label,progress:t.end>t.start?_e((e-t.start)/(t.end-t.start)):1}}var f0=(A,e)=>A.edgeLift*Math.max(0,Math.sin(Math.PI*_e(e/.75)));function oD(A,e){let t=A.map(o=>o.enabled),n=t[0]&&t[1];return A.map((o,a)=>{let r=o.side==="inward"?1:-1,i=o.enabled?_e(n?e*2-a:e):0,s=Ct(o.easing,i,o.durationFrames),l=Tn(0,o.peakAngle,s);return{id:o.id,angle:l,dihedral:r*l,amount:s,activity:0,phase:"manual",scale:Tn(1,o.peakScale,s),perspective:Tn(1,o.perspective,s),tx:o.translationX*s,ty:o.translationY*s,rz:o.rotationZ*s,lift:f0(o,i)}})}function aD(A,e,t,n){let o=A.side==="inward"?1:-1;if(!A.enabled)return{id:A.id,angle:A.startAngle,dihedral:o*A.startAngle,amount:0,activity:0,phase:"off",scale:1,perspective:1,tx:0,ty:0,rz:0,lift:0};let a=_e((n-e.start)/Math.max(1e-6,e.end-e.start)),r=_e((n-t.start)/Math.max(1e-6,t.end-t.start)),i=Ct(A.easing,a,A.durationFrames),s=Ct(A.unfoldEasing,r,A.unfoldDurationFrames),l=n>=t.start,d,u,c;l?(d=Tn(A.peakAngle,A.endAngle,s),u=A.peakAngle===A.startAngle?1-s:_e((d-A.startAngle)/(A.peakAngle-A.startAngle),-.5,1.5),c=Tn(A.peakScale,A.endScale,s)):(d=Tn(A.startAngle,A.peakAngle,i),u=i,c=Tn(A.startScale,A.peakScale,i)),d=_e(d,-110,180);let p=!l&&a>0&&a<1?Math.sin(Math.PI*a):l&&r>0&&r<1?Math.sin(Math.PI*r):0,B=n<e.start?"before":a<1?"folding":l?r<1?"unfolding":"after":"folded";return{id:A.id,angle:d,dihedral:o*d,amount:u,activity:p,phase:B,scale:c,perspective:Tn(1,A.perspective,_e(u,0,1.2)),tx:A.translationX*u,ty:A.translationY*u,rz:A.rotationZ*u,lift:l?r>0&&r<1?f0(A,1-r):0:a>0&&a<1?f0(A,a):0}}function rD(A,e,t){let{n,s:o}=qa(A),a=Uv[o("canvas.aspectRatio")]??"portrait",r=`layout.${a}`,i=Math.min(e,t)/1080,s=n(`${r}.paper.height`)*t,l=s*n("paper.aspect"),d=n("creases.0.position")*s,u=n("creases.1.position")*s,c=n("canvas.safeArea")*Math.min(e,t),p=(B,v)=>_e(B,c/v,1-c/v);return{width:e,height:t,unit:i,pu:l/1e3,shape:a,paper:{width:l,height:s,pivotX:n(`${r}.paper.x`)*e,pivotY:n(`${r}.paper.y`)*t},creases:[d,u],panels:{top:{y0:0,y1:d,height:d},middle:{y0:d,y1:u,height:u-d},bottom:{y0:u,y1:s,height:s-u}},logo:{x:p(n(`${r}.logo.x`),e)*e,y:p(n(`${r}.logo.y`),t)*t,scale:n(`${r}.logo.scale`)},cta:{x:p(n(`${r}.cta.x`),e)*e,y:p(n(`${r}.cta.y`),t)*t,scale:n(`${r}.cta.scale`)},backgroundType:{scale:n(`${r}.backgroundType.scale`),x:n(`${r}.backgroundType.x`)*i,y:n(`${r}.backgroundType.y`)*i},handScale:n(`${r}.handScale`)}}function iD(A){let[e,t]=A;return e.enabled&&e.direction==="up"?"top":t.enabled&&t.direction==="down"?"bottom":"middle"}function AE(A,e){let t={top:0,middle:1,bottom:2},n=t[A],o=t[e],a=[];for(let r=Math.min(n,o);r<Math.max(n,o);r++)a.push(r);return a}var d0=6,sD=.22,Yi=4;function Wv(A,e,t,n,o,a,r,i={top:0,bottom:0,topSize:0,bottomSize:0}){let{n:s}=qa(A),{width:l,height:d,pivotX:u,pivotY:c}=e.paper,p=e.unit,B=s("paper.scale")*a.scale,v=jr(Oi(u+(s("paper.translateX")+a.tx)*p,c+(s("paper.translateY")+a.ty)*p),$3((s("paper.rotationZ")+a.rz)*Ro),X3(s("paper.rotationY")*Ro),$v(s("paper.rotationX")*Ro),Z3(s("paper.skewX")*Ro,s("paper.skewY")*Ro),V3(s("paper.scaleX")*B,s("paper.scaleY")*B),Oi(-s("paper.originX")*l,-s("paper.originY")*d)),Q=[],C=[0,1].map(P=>{let j=e.creases[P],K=Math.min(P===0?e.panels.top.height:e.panels.middle.height,P===0?e.panels.middle.height:e.panels.bottom.height),H=n[P]*sD*K;if(H<.5)return Q.push({y:j,a:t[P]}),[j,j];for(let N=0;N<d0;N++)Q.push({y:j-H/2+(N+.5)*H/d0,a:t[P]/d0});return[j-H/2,j+H/2]}),y=[];if(i.topSize>0)for(let P=0;P<Yi;P++)y.push({y:(P+1)/(Yi+1)*i.topSize*e.panels.top.height,a:i.top/Yi});if(i.bottomSize>0)for(let P=0;P<Yi;P++)y.push({y:d-(Yi-P)/(Yi+1)*i.bottomSize*e.panels.bottom.height,a:i.bottom/Yi});Q.push(...y),Q.sort((P,j)=>P.y-j.y);let w=i.topSize>0?i.topSize*e.panels.top.height:-1,I=i.bottomSize>0?d-i.bottomSize*e.panels.bottom.height:d+1,F=[0,...Q.map(P=>P.y),d],G=P=>P<C[0][0]?"top":P<C[0][1]?"crease0":P<C[1][0]?"middle":P<C[1][1]?"crease1":"bottom",E=F.slice(0,-1).map((P,j)=>{let K=F[j+1],H=(P+K)/2;return{index:j,y0:P,y1:K,region:G(H),T:Xv(),...H<w||H>I?{lift:!0}:{}}}),D=P=>E.reduce((j,K,H)=>K.region===P&&!K.lift&&(j<0||K.y1-K.y0>E[j].y1-E[j].y0)?H:j,-1),k=D(r);for(let P=k+1;P<E.length;P++)E[P].T=Tg(E[P-1].T,jv(Q[P-1].y,Q[P-1].a*Ro));for(let P=k-1;P>=0;P--)E[P].T=Tg(E[P+1].T,jv(Q[P].y,-Q[P].a*Ro));let U=Object.fromEntries(qs.map(P=>[P,E[D(P)].T])),[O,T]=Ri(v,[s("camera.vanishX")*l,s("camera.vanishY")*d,0]),R=q3(O,T,s("camera.perspective")*p/o);return{anchor:r,S:v,strips:E,T:U,bands:C,P:R}}function eE(A,e){return A.strips.find(t=>e>=t.y0&&e<=t.y1)??(e<0?A.strips[0]:A.strips.at(-1))}function lD(A){let{n:e}=qa(A),t=e("foldLighting.lightAngle")*Ro,n=e("foldLighting.lightElevation")*Ro;return g0([Math.cos(n)*Math.cos(t),Math.cos(n)*Math.sin(t),Math.sin(n)])}function h0(A,e,t,n){let{n:o,s:a,b:r,list:i}=qa(A),s=i("folds"),l=a("motion.progressMode")==="manual",d=l?oD(s,o("motion.foldProgress")):s.map((H,N)=>aD(H,t.phases[N===0?"topFold":"bottomFold"],t.phases[N===0?"topUnfold":"bottomUnfold"],n)),u=iD(s),c=r0(o("canvas.seed")),p=c()*Hc,B=c()*Hc,v=n/Kr,Q=r("motion.idle.enabled"),C=Q?o("motion.idle.swayAngle")*Math.sin(Hc*o("motion.idle.frequency")*v+p):0,y=Q?o("motion.idle.bobAmplitude")*Math.sin(Hc*o("motion.idle.frequency")*1.31*v+B):0,w=t.phases.intro,I=Ct(a("timeline.intro.easing"),(n-w.start)/Math.max(1,w.end-w.start),w.end-w.start),F=a("motion.intro.mode")==="rise"?1-I:0,G=t.phases.foldedHold,E=G.end>G.start?_e((n-G.start)/(G.end-G.start)):0,D=Tn(1,o("motion.holdSqueeze"),Math.sin(Math.PI*Ct(a("timeline.foldedHold.easing"),E,G.end-G.start))),k={tx:0,ty:y+o("motion.intro.paperOffsetY")*F,rz:C+o("motion.intro.paperRotation")*F,scale:1},U={tx:k.tx+d.reduce((H,N)=>H+N.tx,0),ty:k.ty+d.reduce((H,N)=>H+N.ty,0),rz:k.rz+d.reduce((H,N)=>H+N.rz,0),scale:d.reduce((H,N)=>H*N.scale,1)*D},O=d.reduce((H,N)=>H*N.perspective,1),T=s.map(H=>H.curvature),R={top:0,bottom:0,topSize:0,bottomSize:0};s.forEach((H,N)=>{if(!H.enabled||H.edgeLift<=0)return;let Z=H.side==="inward"?1:-1;H.direction==="down"?(R.top+=Z*d[N].lift,R.topSize=Math.max(R.topSize,H.edgeLiftSize)):(R.bottom+=Z*d[N].lift,R.bottomSize=Math.max(R.bottomSize,H.edgeLiftSize))});let P=Wv(A,e,[d[0].dihedral,d[1].dihedral],T,O,U,u,R),j=s.map(H=>(H.side==="inward"?1:-1)*H.startAngle),K=Wv(A,e,j,T,1,k,u,{...R,top:0,bottom:0});return{folds:d,anchor:u,sheet:P,rest:K,foldsCfg:s,manual:l}}function tE(A,e){let t=se(A,"creases.0.position"),n=se(A,"creases.1.position");return e<t?"top":e<n?"middle":"bottom"}function Fg(A,e,t,n,o){let a=[n*e.paper.width,o*e.paper.height,0],r=jr(A.P,A.S,eE(A,a[1]).T),i=Ri(r,a),s=Ri(r,[a[0]+10,a[1],0]);return{x:i[0],y:i[1],angle:Math.atan2(s[1]-i[1],s[0]-i[0])/Ro,scale:Math.hypot(s[0]-i[0],s[1]-i[1])/10}}function Sg(A,e,t,n,o){let{n:a,s:r}=qa(A),i=`hands.${n}`,s=`handInteraction.${n}`,l=a(`${s}.leadFrames`),d=a(`${i}.x`),u=a(`${i}.y`),c=tE(A,u),p=h0(A,e,t,o+l),B=Fg(p.sheet,e,c,d,u),v=Fg(p.rest,e,c,d,u),Q=a(`${s}.followStrength`),y=AE(p.anchor,c).map(T=>p.folds[T]),w=y.reduce((T,R)=>Math.max(T,_e(R.amount)),0),I=y.reduce((T,R)=>Math.max(T,R.activity),0),F=p.folds.reduce((T,R)=>Math.max(T,R.activity),0),G=v.x+Q*(B.x-v.x),E=v.y+Q*(B.y-v.y),D=G,k=E;if(I>0){let T=Fg(h0(A,e,t,o+l+2).sheet,e,c,d,u),R=T.x-B.x,P=T.y-B.y,j=Math.hypot(R,P);j>.001&&(D+=R/j*a(`${s}.gripOffset`)*e.pu*I,k+=P/j*a(`${s}.gripOffset`)*e.pu*I)}if(F>0){let T=Ri(jr(p.sheet.P,p.sheet.S),[e.paper.width/2,e.paper.height/2,0]),R=T[0]-v.x,P=T[1]-v.y,j=Math.hypot(R,P)||1;D+=R/j*a(`${s}.movementAmplitude`)*e.pu*F,k+=P/j*a(`${s}.movementAmplitude`)*e.pu*F}if(r("motion.intro.mode")==="hands"&&r("motion.progressMode")!=="manual"){let T=t.phases.intro,R=a(`${s}.enterDelayFrames`),P=Math.max(1,T.end-T.start-R),j=Ct(r("timeline.intro.easing"),(o-T.start-R)/P,P);D+=a(`${s}.enterFromX`)*e.width*(1-j),k+=a(`${s}.enterFromY`)*e.height*(1-j)}let U=a(`${i}.rotation`)+Q*cD(B.angle,v.angle)+a(`${s}.rotationAmplitude`)*w,O=a(`${i}.scale`)*(1+Q*(B.scale/Math.max(.001,v.scale)-1));return{x:D,y:k,rot:U,scale:O,bx:G,by:E}}var cD=(A,e)=>{let t=A-e;for(;t>180;)t-=360;for(;t<-180;)t+=360;return t},_v=new WeakMap;function uD(A,e,t,n,o){if(se(A,"motion.progressMode")==="manual")return Sg(A,e,t,n,o);let a=`${n}:${e.width}x${e.height}`,r=_v.get(A);r||(r=new Map,_v.set(A,r));let i=r.get(a);i||(i=[],r.set(a,i));let s=`handInteraction.${n}`,l=se(A,`${s}.bounce`),d=Math.min(1,4/(l*se(A,`${s}.settleDuration`))),u=Math.max(0,Math.ceil(o)),c=y=>({...y,x:y.x-y.bx,y:y.y-y.by});for(i.length||i.push(c(Sg(A,e,t,n,0)));i.length<=u;){let y=i.length,w=i[y-1],I=i[y-2]??w,F=c(Sg(A,e,t,n,y)),G=(E,D,k)=>{let U=E-D;return U+=-2*l*d*U-d*d*(E-k),E+U};i.push({x:G(w.x,I.x,F.x),y:G(w.y,I.y,F.y),rot:G(w.rot,I.rot,F.rot),scale:G(w.scale,I.scale,F.scale),bx:0,by:0})}let p=Math.max(0,Math.floor(o)),B=o<=0?0:o-p,v=i[p],Q=i[Math.min(p+1,i.length-1)],C=Sg(A,e,t,n,Math.max(0,o));return{x:C.bx+Tn(v.x,Q.x,B),y:C.by+Tn(v.y,Q.y,B),rot:Tn(v.rot,Q.rot,B),scale:Tn(v.scale,Q.scale,B),bx:C.bx,by:C.by}}var dD=[{slot:"topLogo",path:"content.top.logo",panel:"top"},{slot:"topHeadline",path:"content.top.headline",panel:"top"},{slot:"topSubtitle",path:"content.top.subtitle",panel:"top"},{slot:"middleHeadline",path:"content.middle.headline",panel:"middle"},{slot:"middleBody",path:"content.middle.body",panel:"middle"},{slot:"bottomHeadline",path:"content.bottom.headline",panel:"bottom"},{slot:"bottomBody",path:"content.bottom.body",panel:"bottom"},{slot:"bottomCta",path:"content.bottom.cta",panel:"bottom"}];function Vv(A,e,t,n,o){let a=e*(.5+Math.max(0,n-300)*16e-5+o),r=Math.max(1,Math.floor(t/Math.max(.1,a))),i=0;for(let s of A.split(`
|
|
29
|
+
`)){let l=0;i++;for(let d of s.split(/\s+/).filter(Boolean)){let u=(l?l+1:0)+d.length;u>r&&l?(i++,l=d.length):l=u}}return i}function gD(A,e){let{n:t,s:n,b:o}=qa(A),a=e.paper.width,r=[];for(let{slot:i,path:s,panel:l}of dD){let d=n(s);if(!d)continue;let u=`typography.${i}`,c=`panels.${l}.contentArea`,p=e.panels[l].height,B=t(`${c}.padding`)*e.pu,v={x:t(`${c}.x`)*a+B,y:t(`${c}.y`)*p+B,width:Math.max(1,t(`${c}.width`)*a-2*B),height:Math.max(1,t(`${c}.height`)*p-2*B)},Q=t(`${u}.x`)*a,C=t(`${u}.y`)*p,y=t(`${u}.fontSize`)*e.pu,w=o(`panels.${l}.overflow`),I=w?t(`${u}.maxWidth`)*a:Math.max(1,Math.min(t(`${u}.maxWidth`)*a,v.x+v.width-Math.max(Q,v.x))),F=1,G=Vv(d,y,I,t(`${u}.fontWeight`),t(`${u}.letterSpacing`));if(!w){let E=v.y+v.height-Math.max(C,v.y);for(;F>.4&&G*t(`${u}.lineHeight`)*y*F>E;)F-=.04,G=Vv(d,y*F,I,t(`${u}.fontWeight`),t(`${u}.letterSpacing`))}r.push({slot:i,panel:l,x:w?Q:Math.max(Q,v.x),y:w?C:Math.max(C,v.y),width:I,fontSize:y*F,scale:Math.round(F*100)/100,lines:G,area:v})}return r}function nE(A,e,t,n){let{n:o,s:a,b:r,list:i}=qa(A),s=rD(A,t,n),l=kg(A),d=_e(e,0,Math.max(0,l.length)),{folds:u,anchor:c,sheet:p,foldsCfg:B}=h0(A,s,l,d),v=lD(A),Q=s.paper.width,C=i("creases"),y=g0([v[0],v[1],v[2]+1]),w=p.strips.map(dA=>{let BA=dA.y1-dA.y0,IA=Tg(p.S,dA.T),_A=jr(p.P,IA,Oi(0,dA.y0)),GA=[[0,0],[Q,0],[Q,BA],[0,BA]].map(([te,Ee])=>Ri(_A,[te,Ee,0])),Ae=0;for(let te=0;te<4;te++){let[Ee,kA]=GA[te],[Yt,be]=GA[(te+1)%4];Ae+=Ee*be-Yt*kA}let ee=Ae>=0?"front":"back",tA=Zv(IA,[Q/2,dA.y0+BA/2,0]),hA=g0(tD(Jv(IA,[1,0,0]),Jv(IA,[0,1,0])));ee==="back"&&(hA=[-hA[0],-hA[1],-hA[2]]);let MA=dA.region==="crease0"?(dA.y0+dA.y1)/2<s.creases[0]?"top":"middle":dA.region==="crease1"?(dA.y0+dA.y1)/2<s.creases[1]?"middle":"bottom":dA.region,WA=o("foldLighting.ambient")+o("foldLighting.diffuse")*Math.max(0,Kv(hA,v))+o(`panels.${MA}.shade`)+(ee==="back"?o("foldLighting.backShade"):0),pe=o("foldLighting.highlightOpacity")*o(`panels.${MA}.highlightOpacity`)*Math.pow(Math.max(0,Kv(hA,y)),24);return{st:dA,M:_A,corners:GA,facing:ee,depth:tA[2],brightness:WA,sheen:pe,edgeOn:1-Math.abs(hA[2])}}),I=[...w].sort((dA,BA)=>dA.depth-BA.depth||dA.st.index-BA.st.index),F=100,G=4,E=w.map(dA=>{let BA=I.indexOf(dA);return{index:dA.st.index,region:dA.st.region,y0:dA.st.y0,y1:dA.st.y1,matrix:eD(dA.M),corners:dA.corners,facing:dA.facing,depth:dA.depth,rank:BA,z:F+BA*G,brightness:dA.brightness,sheen:dA.sheen,edgeOn:dA.edgeOn,...dA.st.lift?{lift:!0}:{}}}),D=(dA,BA)=>Ri(jr(p.P,p.S,eE(p,BA).T),[dA,BA,0]),k=dA=>s.panels[dA].height,U=(dA,BA)=>{let IA=[],_A=dA==="top"?[[0,"bottom","middle"]]:dA==="middle"?[[0,"top","top"],[1,"bottom","bottom"]]:[[1,"top","middle"]];for(let[GA,Ae,ee]of _A){let tA=C[GA],hA=u[GA],MA=B[GA],WA=Math.abs(hA.dihedral)/180,pe=BA==="front"==hA.dihedral>0&&Math.abs(hA.dihedral)>.5,te=tA.enabled?tA.opacity*o("paperMaterial.creaseShadow")*_e(o("paperMaterial.creaseTexture")+(1-o("paperMaterial.creaseTexture"))*_e(WA*MA.creaseIntensity)):0,Ee=AE(c,dA).includes(GA),kA=!pe&&Ee?o("foldLighting.edgeHighlight")*Math.abs(Math.sin(hA.dihedral*Ro)):0,Yt=Math.min(k(dA),k(ee)*(1-Math.cos(hA.dihedral*Ro))/2+o("foldLighting.shadowOffset")*s.pu);IA.push({edge:Ae,crease:GA,line:{opacity:_e(te),width:tA.width*s.pu,blur:tA.softness*s.pu,color:tA.color},highlight:{opacity:pe?0:_e(((tA.enabled?tA.highlight*(.35+.65*_e(WA*MA.creaseIntensity)):0)+kA)*o("paperMaterial.creaseHighlight")),width:Math.max(tA.width*s.pu*.8,o("paper.thickness")*s.pu*_e(WA*1.6)),color:tA.highlightColor},valley:{opacity:pe?_e(o("foldLighting.creaseDarkness")*tA.darkness*2*_e(WA*MA.creaseIntensity)):0,length:70*s.pu*(.4+WA)},shadow:{opacity:pe?o("foldLighting.shadowOpacity")*MA.shadowIntensity*o(`panels.${dA}.shadowOpacity`)*_e(WA*1.4)**1.5:0,length:Math.max(0,Yt),blur:o("foldLighting.shadowBlur")*s.pu}})}return IA},O=qs.map(dA=>{let{y0:BA,y1:IA,height:_A}=s.panels[dA],GA=E.filter(ee=>ee.region===dA&&!ee.lift).reduce((ee,tA)=>tA.y1-tA.y0>ee.y1-ee.y0?tA:ee),Ae=[D(0,BA),D(Q,BA),D(Q,IA),D(0,IA)];return{id:dA,y0:BA,height:_A,width:Q,matrix:GA.matrix,corners:Ae,facing:GA.facing,depth:GA.depth,rank:GA.rank,z:GA.z,brightness:GA.brightness,sheen:GA.sheen,edges:U(dA,GA.facing)}}),T=gD(A,s),R=["top","bottom"].map((dA,BA)=>{let IA=`hands.${dA}`,_A=`handInteraction.${dA}`,GA=o(`${IA}.x`),Ae=o(`${IA}.y`),ee=tE(A,Ae),tA=O.find(S=>S.id===ee),hA=uD(A,s,l,dA,d),MA=Fg(p,s,ee,GA,Ae),WA=l.phases.intro,pe=o(`${_A}.enterDelayFrames`),te=a("motion.progressMode")==="manual",Ee=a("motion.intro.mode")==="hands"&&!te?_e((d-WA.start-pe)/Math.max(1,WA.end-WA.start-pe)):1,kA=Ct(a("easing.fingerGrip"),_e((Ee-.55)/.45),30),Yt=l.phases.foldedHold,be=o(`${_A}.releaseFrames`),x=te||Yt.end<=Yt.start?0:Math.min(_e((d-Yt.start)/be),_e((Yt.end-d)/be)),g=kA*(1-o(`${_A}.releaseAmount`)*Ct("easeInOut",x,be)),m=tA.facing==="front";return{id:dA,enabled:r(`${IA}.enabled`),panel:ee,x:hA.x,y:hA.y,rotation:hA.rot,scale:hA.scale*s.handScale,skewX:o(`${IA}.skewX`),skewY:o(`${IA}.skewY`),opacity:o(`${IA}.opacity`),offsetX:o(`${IA}.offsetX`)*.6,offsetY:o(`${IA}.offsetY`)*.6,fingerAngle:o(`${_A}.gripAngle`)*(1-g*o(`${IA}.pose.grip`)),gripX:MA.x,gripY:MA.y,bodyZ:m?20+BA:tA.z+2,fingerZ:m?tA.z+2:tA.z-2,unitScale:Q/600,pose:{wrist:o(`${IA}.pose.wrist`),fingerCurl:o(`${IA}.pose.fingerCurl`),thumbBend:o(`${IA}.pose.thumbBend`),thumbRotation:o(`${IA}.thumb.rotation`),thumbScale:o(`${IA}.thumb.scale`),thumbX:o(`${IA}.thumb.x`),thumbY:o(`${IA}.thumb.y`)}}}),P=Object.fromEntries(R.map(dA=>[dA.id,{paper:[dA.gripX,dA.gripY],hand:[dA.x,dA.y]}])),j=u.filter((dA,BA)=>B[BA].enabled),K=j.length?j.reduce((dA,BA)=>dA+_e(BA.amount),0)/j.length:0,H=l.phases.finalHold,N=Tn(o("camera.startZoom"),o("camera.foldZoom"),Ct(a("easing.camera"),K,60));d>=H.start&&H.end>H.start&&(N=Tn(N,o("camera.endZoom"),Ct(a("timeline.finalHold.easing"),(d-H.start)/(H.end-H.start),H.end-H.start)));let Z=s.unit,_=t,q=n,$=(dA,BA)=>`translate(${_/2}px, ${q/2}px) rotate(${o("camera.rotation")*BA}deg) scale(${dA}) translate(${-_/2-o("camera.x")*Z*BA}px, ${-q/2-o("camera.y")*Z*BA}px)`,vA=o("camera.parallax"),fA="background.backgroundTypography",X=o(`${fA}.fontSize`)*Z*s.backgroundType.scale,sA=X*o(`${fA}.rowGap`),DA=o(`${fA}.drift`)*Z*(d/Kr),xA=Array.from({length:o(`${fA}.rows`)},(dA,BA)=>({y:o(`${fA}.y`)*Z+s.backgroundType.y+BA*sA,x:o(`${fA}.x`)*Z+s.backgroundType.x+(r(`${fA}.alternate`)&&BA%2?-DA:DA)})),wA=Math.max(1,a(`${fA}.text`).length*(.66+o(`${fA}.tracking`))*X+.3*X),AA=t+Math.abs(o(`${fA}.x`)*Z+s.backgroundType.x)+Math.abs(DA)+X,mA=Math.max(o(`${fA}.repeat`),r(`${fA}.fill`)?Math.min(12,Math.ceil(AA/wA)):1),UA=l.phases.intro,ye=Ct(a("easing.logoEnter"),(d-UA.start)/Math.max(1,UA.end-UA.start),UA.end-UA.start),Ye=a("logo.animation"),tt={x:s.logo.x,y:s.logo.y-(Ye==="drop"?(1-ye)*60*Z:0),opacity:Ye==="none"?1:ye,scale:s.logo.scale},qe=a("cta.animation"),lA=_e((d-o("cta.enterDelayFrames"))/o("cta.enterDurationFrames")),TA=qe==="pop"||qe==="pop-pulse",JA=qe==="pulse"||qe==="pop-pulse",LA=Math.max(0,d-H.start)/Kr,ce=JA&&d>=H.start?o("cta.pulseAmount")*(.5-.5*Math.cos(Hc*o("cta.pulseFrequency")*LA)):0,EA={x:s.cta.x,y:s.cta.y,opacity:TA?_e(lA*3):1,scale:s.cta.scale*(TA?Math.max(0,Ct(a("easing.ctaEnter"),lA,o("cta.enterDurationFrames"))):1)*(1+ce)},pA=dA=>{let BA=s.creases[dA];return{id:dA===0?"top":"bottom",from:D(0,BA),to:D(Q,BA),position:C[dA].position,angle:u[dA].angle}};return{cfg:A,frame:d,size:s,timeline:l,phase:nD(l,d),folds:u,anchor:c,panels:O,strips:E,bands:p.bands,text:T,anchors:P,hands:R,camera:{transform:$(N,1),backgroundTransform:$(1+(N-1)*vA,vA),zoom:N},shadowQuads:E.map(dA=>dA.corners),sheetCentre:Ri(jr(p.P,p.S),[Q/2,s.paper.height/2,0]),background:{typeRows:xA,typeRepeat:mA},logo:tt,cta:EA,debug:{creases:[pA(0),pA(1)]}}}var fD={"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"expo-out":[.16,1,.3,1],"back-out":[.34,1.56,.64,1]};function hD(A,e,t,n){let o=3*A,a=3*(t-A)-o,r=1-o-a,i=3*e,s=3*(n-e)-i,l=1-i-s,d=p=>((r*p+a)*p+o)*p,u=p=>((l*p+s)*p+i)*p,c=p=>(3*r*p+2*a)*p+o;return p=>{if(p<=0)return 0;if(p>=1)return 1;let B=p;for(let C=0;C<8;C++){let y=d(B)-p;if(Math.abs(y)<1e-7)return u(B);let w=c(B);if(Math.abs(w)<1e-6)break;B-=y/w}let v=0,Q=1;B=p;for(let C=0;C<40;C++){let y=d(B);if(Math.abs(y-p)<1e-7)break;y<p?v=B:Q=B,B=(v+Q)/2}return u(B)}}var pD={linear:A=>A,hold:A=>A>=1?1:0,...Object.fromEntries(Object.entries(fD).map(([A,e])=>[A,hD(...e)]))};function zc(A,e){return pD[A??"linear"](e)}var Rg=A=>Number(A.toFixed(3)),p0=A=>A.startsWith("#"),m0=A=>p0(A)?A:`var(--cp-${A})`;function mD(A,e,t){if(p0(A)&&p0(e)){let n=parseInt(A.slice(1),16),o=parseInt(e.slice(1),16),a=(i,s)=>i>>s&255,r=i=>Math.round(a(n,i)+(a(o,i)-a(n,i))*t);return`rgb(${r(16)}, ${r(8)}, ${r(0)})`}return`color-mix(in srgb, ${m0(e)} ${Rg(t*100)}%, ${m0(A)})`}function yD(A,e){let t=A[0];if(e<=t.f)return t.v;for(let n=1;n<A.length;n++){let o=A[n];if(e<o.f){let a=A[n-1],r=zc(o.e,(e-a.f)/(o.f-a.f));return typeof a.v=="string"||typeof o.v=="string"?r>=1?o.v:r<=0?a.v:mD(String(a.v),String(o.v),r):a.v+(o.v-a.v)*r}}return A[A.length-1].v}var bD=/^[a-z][a-z0-9-]*$/;function oE(A){let e=new Map,t=new Map;for(let n of A.scenes){let o=new Map;t.set(n.id,o);for(let a of n.tracks)e.set(a.target,[...e.get(a.target)??[],a]),o.set(a.target,[...o.get(a.target)??[],a])}return(n,o,a)=>{let r=(a===void 0?e:t.get(a))?.get(n);if(!r)return{};let i={};for(let c of r)i[c.property]=yD(c.keyframes,o);let s=(c,p)=>typeof i[c]=="number"?Rg(i[c]):p,l={};if(["x","y","rotate","scale","scaleX","scaleY"].some(c=>c in i)){let c=s("scale",1);l.transform=`translate(${s("x",0)}px, ${s("y",0)}px) rotate(${s("rotate",0)}deg) scale(${Rg(c*s("scaleX",1))}, ${Rg(c*s("scaleY",1))})`}"left"in i&&(l.left=`${s("left",0)}%`),"top"in i&&(l.top=`${s("top",0)}px`),"opacity"in i&&(l.opacity=String(s("opacity",1)));let d=typeof i.fx=="string"&&i.fx!=="none"&&bD.test(i.fx)?`url(#${i.fx})`:"",u="blur"in i?`blur(${s("blur",0)}px)`:"";if((d||u)&&(l.filter=[d,u].filter(Boolean).join(" ")),("clipRight"in i||"clipLeft"in i)&&(l.clipPath=`inset(0% ${s("clipRight",0)}% 0% ${s("clipLeft",0)}%)`),"color"in i){let c=String(i.color);l.color=c.startsWith("#")||c.startsWith("rgb")||c.startsWith("color-mix")?c:m0(c)}return l}}var wD=(A,e)=>{let n=A.sequence.path.split(".").reduce((o,a)=>o&&typeof o=="object"?o[a]:void 0,e);return Array.isArray(n)?n:[]};function b0(A,e){let t=A.sequence,n=e?.[t.motionField];return typeof n=="string"&&t.options[t.motionField]?.includes(n)?n:t.options[t.motionField][0]}function y0(A,e){if(!A.sequence)return BD(A,e).map(a=>({key:a.id,scene:a.id,from:a.from,durationInFrames:a.durationInFrames}));let{rhythm:t,path:n}=A.sequence,o=0;return wD(A,e).map((a,r)=>{let i=b0(A,a),s=A.scenes.find(u=>u.id===i)?.durationInFrames??1,l=Math.max(t[Math.min(r,t.length-1)]??s,s),d={key:`${n}.${r}`,scene:i,item:r,from:o,durationInFrames:l};return o+=l,d})}function BD(A,e){let t=e??{};return A.scenes.filter(n=>!n.optional||t[n.id]!==void 0&&t[n.id]!==null)}function Og(A,e){return y0(A,e).reduce((t,n)=>Math.max(t,n.from+n.durationInFrames),0)}function aE(A,e,t){let n=t===void 0&&!A.sequence?y0(A,Object.fromEntries(A.scenes.map(o=>[o.id,{}]))):y0(A,t);for(let o of n)if(e>=o.from&&e<o.from+o.durationInFrames)return{id:o.key,scene:o.scene,...o.item===void 0?{}:{item:o.item},frame:e-o.from};return null}function Al(A,e){let t=e?.aspectRatio,n=A.formats??[];return n.find(o=>o.aspectRatio===t)??n[0]??{id:"default",aspectRatio:`${A.width}:${A.height}`,width:A.width,height:A.height}}function rE(A){return Object.fromEntries(Object.entries(A??{}).map(([e,t])=>[`--cp-${e}`,t]))}var w0={id:"word-motion",version:"1.0.0",title:"Word motion \u2014 editorial word sequence",description:"An editorial word-by-word sequence (9:16 or 16:9): each scene is a word or two on a light or dark card \u2014 a grainy blur that resolves, a slide in from the left, a liquid warp, or a hard cut \u2014 over an accelerating rhythm, with an optional rising dot field and a wordmark. You supply the list of words; the motion is fixed.",template:'<div class="wmo" data-template="word-motion"><svg class="wmo-filters" aria-hidden="true" width="0" height="0"><defs><filter id="wmo-grain-1" x="-20%" y="-40%" width="140%" height="180%" color-interpolation-filters="sRGB"><feGaussianBlur in="SourceGraphic" stdDeviation="7" result="b"></feGaussianBlur><feTurbulence type="fractalNoise" baseFrequency="1.1" numOctaves="1" seed="3" result="n"></feTurbulence><feColorMatrix in="n" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0" result="na"></feColorMatrix><feComposite in="b" in2="na" operator="arithmetic" k1="0" k2="5.6" k3="-7" k4="0.5" result="mask"></feComposite><feComposite in="b" in2="mask" operator="in"></feComposite></filter><filter id="wmo-grain-2" x="-20%" y="-40%" width="140%" height="180%" color-interpolation-filters="sRGB"><feGaussianBlur in="SourceGraphic" stdDeviation="4.5" result="b"></feGaussianBlur><feTurbulence type="fractalNoise" baseFrequency="1.1" numOctaves="1" seed="5" result="n"></feTurbulence><feColorMatrix in="n" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0" result="na"></feColorMatrix><feComposite in="b" in2="na" operator="arithmetic" k1="0" k2="5.88" k3="-7" k4="0.5" result="mask"></feComposite><feComposite in="b" in2="mask" operator="in"></feComposite></filter><filter id="wmo-grain-3" x="-20%" y="-40%" width="140%" height="180%" color-interpolation-filters="sRGB"><feGaussianBlur in="SourceGraphic" stdDeviation="2" result="b"></feGaussianBlur><feTurbulence type="fractalNoise" baseFrequency="1.1" numOctaves="1" seed="7" result="n"></feTurbulence><feColorMatrix in="n" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0" result="na"></feColorMatrix><feComposite in="b" in2="na" operator="arithmetic" k1="0" k2="6.02" k3="-7" k4="0.5" result="mask"></feComposite><feComposite in="b" in2="mask" operator="in"></feComposite></filter><filter id="wmo-grain-4" x="-20%" y="-40%" width="140%" height="180%" color-interpolation-filters="sRGB"><feGaussianBlur in="SourceGraphic" stdDeviation="0.9" result="b"></feGaussianBlur><feTurbulence type="fractalNoise" baseFrequency="1.1" numOctaves="1" seed="9" result="n"></feTurbulence><feColorMatrix in="n" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0" result="na"></feColorMatrix><feComposite in="b" in2="na" operator="arithmetic" k1="0" k2="6.3" k3="-7" k4="0.5" result="mask"></feComposite><feComposite in="b" in2="mask" operator="in"></feComposite></filter><filter id="wmo-smear" x="-60%" y="-10%" width="220%" height="120%"><feGaussianBlur stdDeviation="14 0"></feGaussianBlur></filter><filter id="wmo-smear-soft" x="-40%" y="-10%" width="180%" height="120%"><feGaussianBlur stdDeviation="5 0"></feGaussianBlur></filter><filter id="wmo-warp-1" x="-30%" y="-80%" width="160%" height="260%"><feTurbulence type="fractalNoise" baseFrequency="0.0035 0.022" numOctaves="1" seed="7" result="n"></feTurbulence><feDisplacementMap in="SourceGraphic" in2="n" scale="190" xChannelSelector="R" yChannelSelector="G"></feDisplacementMap></filter><filter id="wmo-warp-2" x="-30%" y="-80%" width="160%" height="260%"><feTurbulence type="fractalNoise" baseFrequency="0.035 0.008" numOctaves="1" seed="11" result="n"></feTurbulence><feDisplacementMap in="SourceGraphic" in2="n" scale="120" xChannelSelector="R" yChannelSelector="G"></feDisplacementMap></filter><filter id="wmo-warp-3" x="-30%" y="-80%" width="160%" height="260%"><feTurbulence type="fractalNoise" baseFrequency="0.07 0.05" numOctaves="1" seed="13" result="n"></feTurbulence><feDisplacementMap in="SourceGraphic" in2="n" scale="46" xChannelSelector="R" yChannelSelector="G"></feDisplacementMap></filter><filter id="wmo-warp-4" x="-30%" y="-80%" width="160%" height="260%"><feTurbulence type="turbulence" baseFrequency="0.02 0.25" numOctaves="1" seed="17" result="n"></feTurbulence><feDisplacementMap in="SourceGraphic" in2="n" scale="12" xChannelSelector="R" yChannelSelector="G"></feDisplacementMap></filter></defs></svg><section data-scene="scenes.$" class="wmo-scene"><div class="wmo-bg"></div><div class="wmo-dots"><div data-target="dots-far" class="wmo-dots-layer wmo-dots-far"></div><div data-target="dots-mid" class="wmo-dots-layer wmo-dots-mid"></div><div data-target="dots-near" class="wmo-dots-layer wmo-dots-near"></div></div><div data-target="word" class="wmo-word"><div data-target="shrink" class="wmo-shrink"><div data-target="grow" class="wmo-grow"><div data-when="layout=word" class="wmo-text wmo-text--word"><div class="wmo-line wmo-line1"><span data-content="scenes.$.text" data-fit="600" data-fit-landscape="1040"></span></div></div><div data-when="layout=display" class="wmo-text wmo-text--display"><div class="wmo-line wmo-line1"><span data-content="scenes.$.text" data-fit="600" data-fit-landscape="1000"></span></div></div><div data-when="layout=display-large" class="wmo-text wmo-text--display-large"><div class="wmo-line wmo-line1"><span data-content="scenes.$.text" data-fit="640" data-fit-landscape="1100"></span></div></div><div data-when="layout=stack" class="wmo-text wmo-text--stack"><div class="wmo-line wmo-line1"><span data-content="scenes.$.text" data-fit="560" data-fit-landscape="900"></span></div><div class="wmo-line wmo-line2" data-if="scenes.$.line2"><span data-content="scenes.$.line2" data-fit="620" data-fit-landscape="1040"></span></div></div><div data-when="layout=stack-left" class="wmo-text wmo-text--stack-left"><div class="wmo-line wmo-line1"><span data-content="scenes.$.text" data-fit="580" data-fit-landscape="900"></span></div><div class="wmo-line wmo-line2" data-if="scenes.$.line2"><span data-content="scenes.$.line2" data-fit="620" data-fit-landscape="1000"></span></div></div></div></div></div></section><div class="wmo-logo" data-if="logo"><div class="wmo-logo-line"><svg class="wmo-spark wmo-spark-a" viewBox="0 0 10 10" aria-hidden="true"><path d="M5 0 C5.6 3.6 6.4 4.4 10 5 C6.4 5.6 5.6 6.4 5 10 C4.4 6.4 3.6 5.6 0 5 C3.6 4.4 4.4 3.6 5 0 Z"></path></svg><span data-content="logo.line1"></span><svg class="wmo-spark wmo-spark-b" viewBox="0 0 10 10" aria-hidden="true"><path d="M5 0 C5.6 3.6 6.4 4.4 10 5 C6.4 5.6 5.6 6.4 5 10 C4.4 6.4 3.6 5.6 0 5 C3.6 4.4 4.4 3.6 5 0 Z"></path></svg></div><div class="wmo-logo-line" data-if="logo.line2"><span data-content="logo.line2"></span></div></div></div>',styles:`/*
|
|
30
|
+
* word-motion \u2014 the fixed design. Canvas, type, colour and layout per format.
|
|
31
|
+
* Content never reaches this file. The motion contract only sets transform, opacity and filter on
|
|
32
|
+
* [data-target] elements; the item's choices arrive as data-layout / data-theme / data-particles.
|
|
33
|
+
*/
|
|
34
|
+
.wmo {
|
|
35
|
+
/* Theme tokens: the only colours a person or agent may change (content \`theme\`). */
|
|
36
|
+
--cp-light: #fbfbfc;
|
|
37
|
+
--cp-lightInk: #010101;
|
|
38
|
+
--cp-dark: #100651;
|
|
39
|
+
--cp-darkInk: #fbfbfc;
|
|
40
|
+
--cp-accent: #2b2378;
|
|
41
|
+
--cp-logo: #010101;
|
|
42
|
+
position: relative;
|
|
43
|
+
width: 720px;
|
|
44
|
+
height: 1280px;
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
background: var(--cp-light);
|
|
47
|
+
font-family: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
|
|
48
|
+
font-weight: 600;
|
|
49
|
+
line-height: 1;
|
|
50
|
+
white-space: nowrap;
|
|
51
|
+
-webkit-font-smoothing: antialiased;
|
|
52
|
+
}
|
|
53
|
+
.wmo[data-format="landscape"] { width: 1280px; height: 720px; }
|
|
54
|
+
.wmo * { box-sizing: border-box; }
|
|
55
|
+
.wmo [data-fit] { font-size: calc(var(--fit, 1) * 1em); }
|
|
56
|
+
.wmo-filters { position: absolute; width: 0; height: 0; overflow: hidden; }
|
|
57
|
+
|
|
58
|
+
/* Scenes and themes */
|
|
59
|
+
.wmo-scene { position: absolute; inset: 0; overflow: hidden; background: var(--cp-light); color: var(--cp-lightInk); }
|
|
60
|
+
.wmo-scene[data-theme="dark"] { background: var(--cp-dark); color: var(--cp-darkInk); }
|
|
61
|
+
|
|
62
|
+
/* The dark theme's soft shapes: a darker cap at the top, a tall glowing arch rising from the
|
|
63
|
+
bottom left, a faint band down the right. Static, measured from the reference. */
|
|
64
|
+
.wmo-bg { position: absolute; inset: 0; display: none; }
|
|
65
|
+
.wmo-scene[data-theme="dark"] .wmo-bg {
|
|
66
|
+
display: block;
|
|
67
|
+
background:
|
|
68
|
+
radial-gradient(56% 30% at 34% 104%, color-mix(in srgb, var(--cp-accent) 80%, transparent), transparent 100%),
|
|
69
|
+
radial-gradient(40% 34% at 32% 100%, color-mix(in srgb, var(--cp-accent) 45%, transparent), transparent 100%),
|
|
70
|
+
radial-gradient(22% 30% at 100% 88%, color-mix(in srgb, var(--cp-accent) 22%, transparent), transparent 100%),
|
|
71
|
+
radial-gradient(85% 13% at 50% 0%, color-mix(in srgb, var(--cp-dark) 88%, var(--cp-lightInk)), transparent 100%);
|
|
72
|
+
}
|
|
73
|
+
.wmo[data-format="landscape"] .wmo-scene[data-theme="dark"] .wmo-bg {
|
|
74
|
+
background:
|
|
75
|
+
radial-gradient(32% 46% at 30% 108%, color-mix(in srgb, var(--cp-accent) 80%, transparent), transparent 100%),
|
|
76
|
+
radial-gradient(22% 52% at 29% 100%, color-mix(in srgb, var(--cp-accent) 45%, transparent), transparent 100%),
|
|
77
|
+
radial-gradient(14% 50% at 100% 90%, color-mix(in srgb, var(--cp-accent) 22%, transparent), transparent 100%),
|
|
78
|
+
radial-gradient(60% 22% at 50% 0%, color-mix(in srgb, var(--cp-dark) 88%, var(--cp-lightInk)), transparent 100%);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* Dots: each layer is one 2px element; the field is its box-shadows (generated, per format). */
|
|
82
|
+
.wmo-dots { position: absolute; inset: 0; display: none; }
|
|
83
|
+
.wmo-scene[data-particles="on"] .wmo-dots { display: block; }
|
|
84
|
+
.wmo-dots-layer { position: absolute; left: 0; top: 0; }
|
|
85
|
+
.wmo-dots-layer::before { content: ''; position: absolute; left: -1px; top: -1px; width: 2px; height: 2px; border-radius: 50%; }
|
|
86
|
+
|
|
87
|
+
/* Words. \`word\` takes the transition, \`shrink\`/\`grow\` the drift; one of the two drifts is
|
|
88
|
+
neutralised per layout (display faces grow, cards shrink, the left stack holds still). */
|
|
89
|
+
.wmo-word, .wmo-shrink, .wmo-grow { position: absolute; inset: 0; }
|
|
90
|
+
.wmo-scene:is([data-layout="display"], [data-layout="display-large"], [data-layout="stack-left"]) .wmo-shrink { transform: none !important; }
|
|
91
|
+
.wmo-scene:not([data-layout="display"], [data-layout="display-large"]) .wmo-grow { transform: none !important; }
|
|
92
|
+
.wmo-text { position: absolute; left: 0; right: 0; }
|
|
93
|
+
.wmo-line { display: block; }
|
|
94
|
+
.wmo-text--word, .wmo-text--display, .wmo-text--display-large, .wmo-text--stack { text-align: center; }
|
|
95
|
+
|
|
96
|
+
/* Portrait (720\xD71280). \`top\` places each line box; sizes match the reference's measured glyphs. */
|
|
97
|
+
.wmo-word, .wmo-shrink, .wmo-grow { transform-origin: 50% 624px; }
|
|
98
|
+
.wmo-text--word { top: 536px; font-size: 154px; letter-spacing: -1px; }
|
|
99
|
+
.wmo-text--display { top: 492px; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 160px; letter-spacing: -3px; }
|
|
100
|
+
.wmo-text--display-large { top: 454px; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 302px; letter-spacing: -6px; }
|
|
101
|
+
.wmo-text--stack { top: 470px; }
|
|
102
|
+
.wmo-text--stack .wmo-line1 { font-size: 164px; letter-spacing: -1px; }
|
|
103
|
+
.wmo-text--stack .wmo-line2 { font-size: 212px; letter-spacing: -2px; margin-top: -81px; }
|
|
104
|
+
.wmo-text--stack-left { top: 412px; left: 86px; }
|
|
105
|
+
.wmo-text--stack-left .wmo-line1 { font-size: 128px; letter-spacing: -1px; }
|
|
106
|
+
.wmo-text--stack-left .wmo-line2 { font-size: 272px; letter-spacing: -4px; margin-top: -42px; }
|
|
107
|
+
|
|
108
|
+
/* Landscape (1280\xD7720): the same composition re-set for a wide canvas \u2014 the words stay the hero
|
|
109
|
+
at a slightly smaller size, the stack moves to the left third, and the negative space is kept. */
|
|
110
|
+
.wmo[data-format="landscape"] .wmo-word,
|
|
111
|
+
.wmo[data-format="landscape"] .wmo-shrink,
|
|
112
|
+
.wmo[data-format="landscape"] .wmo-grow { transform-origin: 50% 372px; }
|
|
113
|
+
.wmo[data-format="landscape"] .wmo-text--word { top: 296px; font-size: 140px; }
|
|
114
|
+
.wmo[data-format="landscape"] .wmo-text--display { top: 280px; font-size: 150px; }
|
|
115
|
+
.wmo[data-format="landscape"] .wmo-text--display-large { top: 222px; font-size: 280px; }
|
|
116
|
+
.wmo[data-format="landscape"] .wmo-text--stack { top: 250px; }
|
|
117
|
+
.wmo[data-format="landscape"] .wmo-text--stack .wmo-line1 { font-size: 104px; }
|
|
118
|
+
.wmo[data-format="landscape"] .wmo-text--stack .wmo-line2 { font-size: 168px; margin-top: -64px; }
|
|
119
|
+
.wmo[data-format="landscape"] .wmo-text--stack-left { top: 170px; left: 200px; }
|
|
120
|
+
.wmo[data-format="landscape"] .wmo-text--stack-left .wmo-line1 { font-size: 100px; }
|
|
121
|
+
.wmo[data-format="landscape"] .wmo-text--stack-left .wmo-line2 { font-size: 206px; margin-top: -42px; }
|
|
122
|
+
|
|
123
|
+
/* The wordmark: top centre on every scene, in its own colour (dark even on dark scenes, as in the reference). */
|
|
124
|
+
.wmo-logo { position: absolute; left: 0; right: 0; top: 13px; z-index: 2; display: flex; flex-direction: column; align-items: center; color: var(--cp-logo); font-size: 23px; letter-spacing: -0.3px; line-height: 0.92; pointer-events: none; }
|
|
125
|
+
.wmo-logo-line { position: relative; display: flex; align-items: center; }
|
|
126
|
+
.wmo-logo-line:first-child { margin-right: 22px; }
|
|
127
|
+
.wmo-spark { fill: currentColor; }
|
|
128
|
+
.wmo-spark-a { position: absolute; left: -3px; top: -5px; width: 6px; height: 6px; }
|
|
129
|
+
.wmo-spark-b { width: 8px; height: 8px; margin-left: 3px; margin-top: 8px; }
|
|
130
|
+
.wmo[data-format="landscape"] .wmo-logo { top: 14px; }
|
|
131
|
+
|
|
132
|
+
/* The dot field, generated from a fixed seed (particles.ts). */
|
|
133
|
+
.wmo[data-format="portrait"] .wmo-dots-near::before { box-shadow: 442px 1740.9px 0 3.3px currentColor, 49.4px 353.4px 0 3.2px currentColor, 555.2px 1678px 0 3.2px currentColor, 163.9px 873.2px 0 2.8px currentColor, 358.2px 1362.3px 0 2.7px currentColor; }
|
|
134
|
+
.wmo[data-format="portrait"] .wmo-dots-mid::before { box-shadow: 575.3px 1002.2px 0 1.8px color-mix(in srgb, currentColor 95%, transparent), 594.6px 1006.4px 0 1.6px color-mix(in srgb, currentColor 95%, transparent), 670px 1200.3px 0 1px color-mix(in srgb, currentColor 95%, transparent), 398.9px 1476.1px 0 1.4px color-mix(in srgb, currentColor 95%, transparent), 501.6px 382.6px 0 1.2px color-mix(in srgb, currentColor 95%, transparent), 443.5px 130.4px 0 1px color-mix(in srgb, currentColor 95%, transparent), 557.1px 1002.3px 0 1.1px color-mix(in srgb, currentColor 95%, transparent), 457.7px 192.4px 0 1.2px color-mix(in srgb, currentColor 95%, transparent), 143.4px 321.3px 0 1.4px color-mix(in srgb, currentColor 95%, transparent), 527.1px 1517.4px 0 1.2px color-mix(in srgb, currentColor 95%, transparent), 587.3px 776.1px 0 1.8px color-mix(in srgb, currentColor 95%, transparent), 199.8px 851.5px 0 1.6px color-mix(in srgb, currentColor 95%, transparent), 213.4px 437.8px 0 1.5px color-mix(in srgb, currentColor 95%, transparent), 24.1px 217px 0 1.5px color-mix(in srgb, currentColor 95%, transparent), 552.3px 1214.2px 0 1.9px color-mix(in srgb, currentColor 95%, transparent), 453.3px 1108.3px 0 1.7px color-mix(in srgb, currentColor 95%, transparent); }
|
|
135
|
+
.wmo[data-format="portrait"] .wmo-dots-far::before { box-shadow: 479px 644.3px 0 0.5px color-mix(in srgb, currentColor 65%, transparent), 272.9px 1138.9px 0 0.1px color-mix(in srgb, currentColor 65%, transparent), 585.3px 1004.8px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 72.1px 270.2px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 85.1px 986.2px 0 0.1px color-mix(in srgb, currentColor 65%, transparent), 251px 1222.3px 0 0.5px color-mix(in srgb, currentColor 65%, transparent), 50.4px 1391px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 215.2px 339.8px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 577.1px 1092.8px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 230px 299.8px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 294.6px 970.4px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 357.9px 878.2px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 585.8px 1132.9px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 208px 1341.4px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 422.3px 397.9px 0 0.5px color-mix(in srgb, currentColor 65%, transparent), 584.8px 408.2px 0 0px color-mix(in srgb, currentColor 65%, transparent), 297.2px 479.6px 0 0.1px color-mix(in srgb, currentColor 65%, transparent), 243.8px 1373.4px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 532.4px 1178.8px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 51.3px 653.5px 0 0px color-mix(in srgb, currentColor 65%, transparent), 439.2px 611.5px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 615.1px 357.7px 0 0.6px color-mix(in srgb, currentColor 65%, transparent), 360.8px 195.1px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 432.4px 538.1px 0 0.5px color-mix(in srgb, currentColor 65%, transparent), 395.7px 327.9px 0 0.1px color-mix(in srgb, currentColor 65%, transparent), 149.9px 87px 0 0px color-mix(in srgb, currentColor 65%, transparent); }
|
|
136
|
+
.wmo[data-format="landscape"] .wmo-dots-near::before { box-shadow: 929.6px 272.1px 0 2.8px currentColor, 718.3px 393.2px 0 2.8px currentColor, 976.2px 309.7px 0 3.2px currentColor, 120.8px 1201.5px 0 2.5px currentColor, 311.9px 501.7px 0 2.4px currentColor; }
|
|
137
|
+
.wmo[data-format="landscape"] .wmo-dots-mid::before { box-shadow: 440.9px 192px 0 1px color-mix(in srgb, currentColor 95%, transparent), 273.4px 566.2px 0 1.4px color-mix(in srgb, currentColor 95%, transparent), 547.9px 509px 0 1.7px color-mix(in srgb, currentColor 95%, transparent), 1195.3px 99.2px 0 1.9px color-mix(in srgb, currentColor 95%, transparent), 722.5px 526.5px 0 1.8px color-mix(in srgb, currentColor 95%, transparent), 23.9px 298.9px 0 1.8px color-mix(in srgb, currentColor 95%, transparent), 305.6px 457.7px 0 1.6px color-mix(in srgb, currentColor 95%, transparent), 1031.9px 143px 0 1.7px color-mix(in srgb, currentColor 95%, transparent), 904.9px 531.8px 0 1.6px color-mix(in srgb, currentColor 95%, transparent), 292.8px 293px 0 1.5px color-mix(in srgb, currentColor 95%, transparent), 772px 300.4px 0 1.6px color-mix(in srgb, currentColor 95%, transparent), 307.3px 280.7px 0 1.8px color-mix(in srgb, currentColor 95%, transparent), 579.1px 413.1px 0 1.2px color-mix(in srgb, currentColor 95%, transparent), 1144.3px 127.3px 0 1.1px color-mix(in srgb, currentColor 95%, transparent), 1064.9px 469px 0 1px color-mix(in srgb, currentColor 95%, transparent), 953.4px 537.7px 0 1.1px color-mix(in srgb, currentColor 95%, transparent); }
|
|
138
|
+
.wmo[data-format="landscape"] .wmo-dots-far::before { box-shadow: 1075.5px 740.3px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 867.1px 120.2px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 552.2px 87.3px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 684.9px 767px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 1205.4px 138.5px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 1056.3px 93.1px 0 0.5px color-mix(in srgb, currentColor 65%, transparent), 624.5px 244.2px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 665.2px 236px 0 0.5px color-mix(in srgb, currentColor 65%, transparent), 159.2px 646.3px 0 0.1px color-mix(in srgb, currentColor 65%, transparent), 52.3px 188.7px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 133.7px 381.1px 0 0px color-mix(in srgb, currentColor 65%, transparent), 173.6px 492.1px 0 0.1px color-mix(in srgb, currentColor 65%, transparent), 970.8px 135.9px 0 0px color-mix(in srgb, currentColor 65%, transparent), 1225.6px 244.7px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 213px 558.4px 0 0.5px color-mix(in srgb, currentColor 65%, transparent), 1176.6px 635.4px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 159.7px 511px 0 0.6px color-mix(in srgb, currentColor 65%, transparent), 944.7px 657.4px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 111.9px 295.7px 0 0.1px color-mix(in srgb, currentColor 65%, transparent), 1070.3px 296.9px 0 0.3px color-mix(in srgb, currentColor 65%, transparent), 993.5px 475.4px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 772.8px 856.6px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 1013px 451.4px 0 0px color-mix(in srgb, currentColor 65%, transparent), 467px 766.8px 0 0.2px color-mix(in srgb, currentColor 65%, transparent), 1092.5px 410.6px 0 0.4px color-mix(in srgb, currentColor 65%, transparent), 531.5px 672.7px 0 0.1px color-mix(in srgb, currentColor 65%, transparent); }
|
|
139
|
+
`,fonts:[{family:"Outfit",weights:["600"],css:"https://fonts.googleapis.com/css2?family=Outfit:wght@600&display=block"},{family:"Archivo",weights:["800"],css:"https://fonts.googleapis.com/css2?family=Archivo:wght@800&display=block"}],motion:{template:"word-motion",version:"1.0.0",fps:30,width:720,height:1280,durationInFrames:273,formats:[{id:"portrait",aspectRatio:"9:16",width:720,height:1280},{id:"landscape",aspectRatio:"16:9",width:1280,height:720}],sequence:{path:"scenes",minItems:1,maxItems:40,motionField:"transition",options:{layout:["word","display","display-large","stack","stack-left"],theme:["light","dark"],transition:["cut","resolve","slide","warp"],particles:["off","on"]},rhythm:[24,22,16,16,15,15,14,14,11,12,11,11,11,10,9,9,10,9,8,9,8,9]},scenes:[{id:"cut",from:0,durationInFrames:6,tracks:[{target:"shrink",property:"scale",keyframes:[{f:0,v:1},{f:60,v:.49}]},{target:"grow",property:"scale",keyframes:[{f:0,v:1},{f:60,v:1.27}]},{target:"dots-near",property:"y",keyframes:[{f:0,v:0},{f:60,v:-1440}]},{target:"dots-mid",property:"y",keyframes:[{f:0,v:0},{f:60,v:-780}]},{target:"dots-mid",property:"opacity",keyframes:[{f:0,v:.35},{f:5,v:1,e:"ease-out"}]},{target:"dots-far",property:"y",keyframes:[{f:0,v:0},{f:60,v:-480}]},{target:"dots-far",property:"opacity",keyframes:[{f:0,v:0},{f:8,v:1,e:"ease-out"}]}]},{id:"resolve",from:0,durationInFrames:12,tracks:[{target:"word",property:"opacity",keyframes:[{f:0,v:.78},{f:5,v:.85},{f:6,v:1,e:"hold"}]},{target:"word",property:"scale",keyframes:[{f:0,v:.95},{f:6,v:1,e:"ease-out"}]},{target:"word",property:"fx",keyframes:[{f:0,v:"wmo-grain-1"},{f:2,v:"wmo-grain-2",e:"hold"},{f:4,v:"wmo-grain-3",e:"hold"},{f:5,v:"wmo-grain-4",e:"hold"},{f:6,v:"none",e:"hold"}]},{target:"dots-near",property:"y",keyframes:[{f:0,v:0},{f:60,v:-1440}]},{target:"dots-mid",property:"y",keyframes:[{f:0,v:0},{f:60,v:-780}]},{target:"dots-mid",property:"opacity",keyframes:[{f:0,v:.35},{f:5,v:1,e:"ease-out"}]},{target:"dots-far",property:"y",keyframes:[{f:0,v:0},{f:60,v:-480}]},{target:"dots-far",property:"opacity",keyframes:[{f:0,v:0},{f:8,v:1,e:"ease-out"}]}]},{id:"slide",from:0,durationInFrames:16,tracks:[{target:"word",property:"opacity",keyframes:[{f:0,v:0},{f:2,v:1,e:"hold"}]},{target:"word",property:"x",keyframes:[{f:0,v:-380},{f:2,v:-267},{f:3,v:-191},{f:4,v:-140},{f:5,v:-103},{f:6,v:-77},{f:7,v:-56},{f:8,v:-40},{f:9,v:-27},{f:10,v:-18},{f:11,v:-11},{f:12,v:-6},{f:13,v:-3},{f:14,v:-1},{f:15,v:0}]},{target:"word",property:"fx",keyframes:[{f:0,v:"wmo-smear"},{f:4,v:"wmo-smear-soft",e:"hold"},{f:6,v:"none",e:"hold"}]},{target:"dots-near",property:"y",keyframes:[{f:0,v:0},{f:60,v:-1440}]},{target:"dots-mid",property:"y",keyframes:[{f:0,v:0},{f:60,v:-780}]},{target:"dots-mid",property:"opacity",keyframes:[{f:0,v:.35},{f:5,v:1,e:"ease-out"}]},{target:"dots-far",property:"y",keyframes:[{f:0,v:0},{f:60,v:-480}]},{target:"dots-far",property:"opacity",keyframes:[{f:0,v:0},{f:8,v:1,e:"ease-out"}]}]},{id:"warp",from:0,durationInFrames:12,tracks:[{target:"word",property:"fx",keyframes:[{f:0,v:"wmo-warp-1"},{f:3,v:"wmo-warp-2",e:"hold"},{f:5,v:"wmo-warp-3",e:"hold"},{f:7,v:"wmo-warp-4",e:"hold"},{f:8,v:"none",e:"hold"}]},{target:"word",property:"scaleX",keyframes:[{f:0,v:1.38},{f:3,v:1.1,e:"hold"},{f:5,v:1,e:"hold"}]},{target:"shrink",property:"scale",keyframes:[{f:8,v:1},{f:68,v:.49}]},{target:"grow",property:"scale",keyframes:[{f:8,v:1},{f:68,v:1.27}]},{target:"dots-near",property:"y",keyframes:[{f:0,v:0},{f:60,v:-1440}]},{target:"dots-mid",property:"y",keyframes:[{f:0,v:0},{f:60,v:-780}]},{target:"dots-mid",property:"opacity",keyframes:[{f:0,v:.35},{f:5,v:1,e:"ease-out"}]},{target:"dots-far",property:"y",keyframes:[{f:0,v:0},{f:60,v:-480}]},{target:"dots-far",property:"opacity",keyframes:[{f:0,v:0},{f:8,v:1,e:"ease-out"}]}]}]},schema:{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"word-motion/content.schema.json",title:"word-motion content",description:"What a person or agent may set: the list of scenes (words, each with fixed choices of layout, theme, transition and particles), the wordmark, colours and the aspect ratio. Timing, motion, layout geometry and type are fixed by the template.",type:"object",additionalProperties:!1,required:["scenes"],properties:{aspectRatio:{type:"string",enum:["9:16","16:9"],default:"9:16",description:"The canvas: 9:16 is 720\xD71280, 16:9 is 1280\xD7720. The animation is the same; only the composition adapts."},scenes:{type:"array",minItems:1,maxItems:40,description:"The scenes, in order. Each is one beat of the fixed rhythm.",items:{type:"object",additionalProperties:!1,required:["text"],properties:{text:{type:"string",description:"The scene's word (a stack layout's first, smaller line).",minLength:1,maxLength:14,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},line2:{type:"string",description:"Second, bigger line under the word. Stack layouts only.",minLength:1,maxLength:12,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$",onlyWith:{layout:["stack","stack-left"]}},layout:{type:"string",enum:["word","display","display-large","stack","stack-left"],default:"word",description:'How the words sit on the canvas. word: One word, centred, in the round sans ("Open", "Learning", "ready."). display: The wide display face, medium ("we" at the very start). display-large: The wide display face, large ("we" before "Open"). stack: Two centred lines, the second bigger and tucked under the first ("we / don\u2019t"). stack-left: Two left-aligned lines, the second much bigger ("just / train"); with one line, just the small word.'},theme:{type:"string",enum:["light","dark"],default:"light",description:"The scene\u2019s look. light: Near-white canvas, near-black type. dark: Deep indigo canvas with soft light shapes, white type."},transition:{type:"string",enum:["cut","resolve","slide","warp"],default:"cut",description:"How the scene arrives. The motion of each is fixed. cut: Hard cut; the word then drifts (cards shrink, display words grow). resolve: Grainy blur sharpening into the word (the opening). slide: In from off the left edge with a smear, decelerating hard. warp: A liquid scrawl that settles into the word."},particles:{type:"string",enum:["off","on"],default:"off",description:"A field of small rising dots behind the word. off: No dots. on: Dots in the type colour, rising at three depths."}},allOf:[{if:{properties:{layout:{not:{enum:["stack","stack-left"]}}}},then:{not:{required:["line2"]}}}]}},logo:{type:"object",additionalProperties:!1,required:["line1"],description:"The wordmark at the top (text; the sparkle marks are the template\u2019s). Leave it out or set it to null to hide it.",properties:{line1:{type:"string",description:"Wordmark, first line (optional logo).",minLength:1,maxLength:16,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},line2:{type:"string",description:"Wordmark, second line.",minLength:1,maxLength:16,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"}}},theme:{type:"object",additionalProperties:!1,description:"Optional colour tokens; any left out keep the template default.",properties:{light:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#fbfbfc",description:"Background of light scenes."},lightInk:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#010101",description:"Text and dots on light scenes."},dark:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#100651",description:"Background of dark scenes."},darkInk:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#fbfbfc",description:"Text and dots on dark scenes."},accent:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#2b2378",description:"The soft light shapes on dark scenes."},logo:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#010101",description:"The wordmark (the reference keeps it dark on every scene)."}}}}},slots:[{path:"scenes[].text",maxWords:2,maxChars:14,fitWidth:600,fitWidths:{landscape:1040},description:"The scene's word (a stack layout's first, smaller line)."},{path:"scenes[].line2",maxWords:2,maxChars:12,fitWidth:600,fitWidths:{landscape:1e3},optional:!0,onlyWith:{layout:["stack","stack-left"]},description:"Second, bigger line under the word. Stack layouts only."},{path:"logo.line1",maxWords:2,maxChars:16,fitWidth:140,description:"Wordmark, first line (optional logo)."},{path:"logo.line2",maxWords:2,maxChars:16,fitWidth:140,optional:!0,description:"Wordmark, second line."}],theme:[{token:"light",default:"#fbfbfc",description:"Background of light scenes."},{token:"lightInk",default:"#010101",description:"Text and dots on light scenes."},{token:"dark",default:"#100651",description:"Background of dark scenes."},{token:"darkInk",default:"#fbfbfc",description:"Text and dots on dark scenes."},{token:"accent",default:"#2b2378",description:"The soft light shapes on dark scenes."},{token:"logo",default:"#010101",description:"The wordmark (the reference keeps it dark on every scene)."}],optionalScenes:["logo"],choices:[{field:"layout",default:"word",description:"How the words sit on the canvas.",values:[{value:"word",description:'One word, centred, in the round sans ("Open", "Learning", "ready.").'},{value:"display",description:'The wide display face, medium ("we" at the very start).'},{value:"display-large",description:'The wide display face, large ("we" before "Open").'},{value:"stack",description:'Two centred lines, the second bigger and tucked under the first ("we / don\u2019t").'},{value:"stack-left",description:'Two left-aligned lines, the second much bigger ("just / train"); with one line, just the small word.'}]},{field:"theme",default:"light",description:"The scene\u2019s look.",values:[{value:"light",description:"Near-white canvas, near-black type."},{value:"dark",description:"Deep indigo canvas with soft light shapes, white type."}]},{field:"transition",default:"cut",description:"How the scene arrives. The motion of each is fixed.",values:[{value:"cut",description:"Hard cut; the word then drifts (cards shrink, display words grow)."},{value:"resolve",description:"Grainy blur sharpening into the word (the opening)."},{value:"slide",description:"In from off the left edge with a smear, decelerating hard."},{value:"warp",description:"A liquid scrawl that settles into the word."}]},{field:"particles",default:"off",description:"A field of small rising dots behind the word.",values:[{value:"off",description:"No dots."},{value:"on",description:"Dots in the type colour, rising at three depths."}]}],exampleContent:{aspectRatio:"9:16",scenes:[{text:"we",theme:"light",layout:"display",transition:"resolve"},{text:"we",theme:"dark",layout:"stack",line2:"don\u2019t"},{text:"just",theme:"light",layout:"stack-left",transition:"slide"},{text:"just",theme:"dark",layout:"stack-left",line2:"train"},{text:"we",theme:"light",layout:"display-large"},{text:"Open",theme:"dark",transition:"warp"},{text:"New",theme:"light"},{text:"Doors",theme:"dark",particles:"on"},{text:"Skills",theme:"light",particles:"on"},{text:"Trust",theme:"dark",particles:"on"},{text:"Care",theme:"light",particles:"on"},{text:"Growth",theme:"dark",particles:"on"},{text:"Support",theme:"light",particles:"on"},{text:"Learning",theme:"dark",particles:"on"},{text:"Career",theme:"light",particles:"on"},{text:"Steps",theme:"dark",particles:"on"},{text:"Futures",theme:"light",particles:"on"},{text:"Confidence",theme:"dark",particles:"on"},{text:"re",theme:"light"},{text:"rea.",theme:"dark"},{text:"ready.",theme:"light"},{text:"ready.",theme:"dark"}]}};var B0={id:"hey-template",version:"1.0.0",title:"Hey \u2014 kinetic type promo",description:"A 9-second 9:16 kinetic-type promo: a word filled in by a bouncing square, a word that stacks up the screen, a six-line phrase, three hard-cut words whose full stop splits in two, a call to action and an optional dark end card.",template:'<div class="video-template" data-template="hey-template"><section data-scene="scene1" class="scene"><div class="s1-row"><div class="s1-word"><span data-content="scene1.text" data-fit="640" class="s1-outline"></span><div data-target="s1-fill" class="s1-fill"><span data-content="scene1.text" data-fit="640"></span></div><div data-target="s1-square" class="s1-square"></div></div></div></section><section data-scene="scene2" class="scene"><div data-target="s2-line-0" class="s2-line s2-line-0"><span data-content="scene2.text" data-fit="660"></span></div><div data-target="s2-line-1" class="s2-line s2-line-1"><span data-content="scene2.text" data-fit="660"></span></div><div data-target="s2-line-2" class="s2-line s2-line-2"><span data-content="scene2.text" data-fit="660"></span></div><div data-target="s2-line-3" class="s2-line s2-line-3"><span data-content="scene2.text" data-fit="660"></span></div><div data-target="s2-line-4" class="s2-line s2-line-4"><span data-content="scene2.text" data-fit="660"></span></div></section><section data-scene="scene3" class="scene"><div data-target="s3-line1" class="s3-line s3-line1"><span data-content="scene3.line1" data-fit="640"></span></div><div data-target="s3-line2" class="s3-line s3-line2"><span data-content="scene3.line2" data-fit="660"></span></div><div data-target="s3-line3" class="s3-line s3-line3"><span data-content="scene3.line3" data-fit="660"></span></div><div data-target="s3-line4" class="s3-line s3-line4"><span data-content="scene3.line4" data-fit="660"></span></div><div data-target="s3-line5" class="s3-line s3-line5"><span data-content="scene3.line5" data-fit="660"></span></div><div data-target="s3-line6" class="s3-line s3-line6"><span data-content="scene3.line6" data-fit="680"></span></div></section><section data-scene="scene4" class="scene"><div data-target="s4-word1" class="s4-word"><span data-content="scene4.word1" data-fit="640"></span></div><div data-target="s4-word2" class="s4-word"><span data-content="scene4.word2" data-fit="640"></span></div><div data-target="s4-word3box" class="s4-word"><div class="s4-stopbox"><div data-target="s4-word3" class="s4-word3"><span data-content="scene4.word3" data-fit="580"></span></div><div data-target="s4-dots" class="s4-dots"><div data-target="s4-dot-a" class="s4-dot"></div><div data-target="s4-dot-b" class="s4-dot"></div></div></div></div></section><section data-scene="scene5" class="scene"><div data-target="s5-text" class="s5-text"><span data-content="scene5.text" data-fit="660"></span></div></section><section data-scene="scene6" class="scene scene--dark"><div class="s6-glow"></div><div class="s6-logo"><div data-target="s6-strip-0" class="s6-strip s6-strip-0"><svg class="s6-emblem" viewBox="0 0 120 120" aria-hidden="true"><circle class="s6-emblem-ring" cx="60" cy="60" r="52" stroke-width="8"></circle><circle class="s6-emblem-core" cx="60" cy="60" r="30"></circle><rect class="s6-emblem-mark" x="52" y="52" width="16" height="16" transform="rotate(45 60 60)"></rect></svg><span data-content="scene6.brand" data-fit="560" class="s6-brand"></span></div><div data-target="s6-strip-1" class="s6-strip s6-strip-1"><svg class="s6-emblem" viewBox="0 0 120 120" aria-hidden="true"><circle class="s6-emblem-ring" cx="60" cy="60" r="52" stroke-width="8"></circle><circle class="s6-emblem-core" cx="60" cy="60" r="30"></circle><rect class="s6-emblem-mark" x="52" y="52" width="16" height="16" transform="rotate(45 60 60)"></rect></svg><span data-content="scene6.brand" data-fit="560" class="s6-brand"></span></div><div data-target="s6-strip-2" class="s6-strip s6-strip-2"><svg class="s6-emblem" viewBox="0 0 120 120" aria-hidden="true"><circle class="s6-emblem-ring" cx="60" cy="60" r="52" stroke-width="8"></circle><circle class="s6-emblem-core" cx="60" cy="60" r="30"></circle><rect class="s6-emblem-mark" x="52" y="52" width="16" height="16" transform="rotate(45 60 60)"></rect></svg><span data-content="scene6.brand" data-fit="560" class="s6-brand"></span></div><div data-target="s6-strip-3" class="s6-strip s6-strip-3"><svg class="s6-emblem" viewBox="0 0 120 120" aria-hidden="true"><circle class="s6-emblem-ring" cx="60" cy="60" r="52" stroke-width="8"></circle><circle class="s6-emblem-core" cx="60" cy="60" r="30"></circle><rect class="s6-emblem-mark" x="52" y="52" width="16" height="16" transform="rotate(45 60 60)"></rect></svg><span data-content="scene6.brand" data-fit="560" class="s6-brand"></span></div><div data-target="s6-strip-4" class="s6-strip s6-strip-4"><svg class="s6-emblem" viewBox="0 0 120 120" aria-hidden="true"><circle class="s6-emblem-ring" cx="60" cy="60" r="52" stroke-width="8"></circle><circle class="s6-emblem-core" cx="60" cy="60" r="30"></circle><rect class="s6-emblem-mark" x="52" y="52" width="16" height="16" transform="rotate(45 60 60)"></rect></svg><span data-content="scene6.brand" data-fit="560" class="s6-brand"></span></div><div data-target="s6-strip-5" class="s6-strip s6-strip-5"><svg class="s6-emblem" viewBox="0 0 120 120" aria-hidden="true"><circle class="s6-emblem-ring" cx="60" cy="60" r="52" stroke-width="8"></circle><circle class="s6-emblem-core" cx="60" cy="60" r="30"></circle><rect class="s6-emblem-mark" x="52" y="52" width="16" height="16" transform="rotate(45 60 60)"></rect></svg><span data-content="scene6.brand" data-fit="560" class="s6-brand"></span></div></div><div data-target="s6-line" class="s6-line"></div><div data-target="s6-url" class="s6-url"><span data-content="scene6.url" data-fit="560"></span></div></section></div>',styles:`/*
|
|
140
|
+
* hey-template \u2014 the fixed design. Everything visual that is not motion lives here: canvas, type,
|
|
141
|
+
* colour, layout. Content never reaches this file; the motion contract only sets transform, left,
|
|
142
|
+
* top, opacity, filter, clip-path and color on [data-target] elements.
|
|
143
|
+
*/
|
|
144
|
+
.video-template {
|
|
145
|
+
/* Theme tokens: the only colours a person or agent may change (content \`theme\`). */
|
|
146
|
+
--cp-background: #ffffff;
|
|
147
|
+
--cp-ink: #0a0a0a;
|
|
148
|
+
--cp-muted: #5f5f5f;
|
|
149
|
+
--cp-outline: #cfcfcf;
|
|
150
|
+
--cp-accent: #a22033;
|
|
151
|
+
--cp-endBackground: #05070b;
|
|
152
|
+
--cp-endInk: #f2f2f2;
|
|
153
|
+
position: relative;
|
|
154
|
+
width: 720px;
|
|
155
|
+
height: 1280px;
|
|
156
|
+
overflow: hidden;
|
|
157
|
+
background: var(--cp-background);
|
|
158
|
+
color: var(--cp-ink);
|
|
159
|
+
font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
|
|
160
|
+
font-weight: 700;
|
|
161
|
+
line-height: 1;
|
|
162
|
+
white-space: nowrap;
|
|
163
|
+
-webkit-font-smoothing: antialiased;
|
|
164
|
+
}
|
|
165
|
+
.video-template * { box-sizing: border-box; }
|
|
166
|
+
/* Auto-fit: the runtime sets --fit below 1 on text wider than the slot's data-fit width. */
|
|
167
|
+
.video-template [data-fit] { font-size: calc(var(--fit, 1) * 1em); }
|
|
168
|
+
.scene { position: absolute; inset: 0; overflow: hidden; background: var(--cp-background); }
|
|
169
|
+
.scene--dark { background: var(--cp-endBackground); }
|
|
170
|
+
|
|
171
|
+
/* Scene 1 */
|
|
172
|
+
.s1-row { position: absolute; left: 0; right: 0; top: 541px; text-align: center; }
|
|
173
|
+
.s1-word { position: relative; display: inline-block; font-size: 163px; letter-spacing: -3px; }
|
|
174
|
+
.s1-outline { color: transparent; -webkit-text-stroke: 3px var(--cp-outline); }
|
|
175
|
+
.s1-fill { position: absolute; inset: 0; color: var(--cp-ink); }
|
|
176
|
+
.s1-square { position: absolute; width: 80px; height: 80px; margin-left: -40px; background: var(--cp-ink); }
|
|
177
|
+
|
|
178
|
+
/* Scene 2 */
|
|
179
|
+
.s2-line { position: absolute; left: 0; right: 0; text-align: center; font-size: 149px; font-weight: 900; letter-spacing: -7px; }
|
|
180
|
+
.s2-line-0 { top: 560px; }
|
|
181
|
+
.s2-line-1 { top: 413px; }
|
|
182
|
+
.s2-line-2 { top: 273px; }
|
|
183
|
+
.s2-line-3 { top: 133px; }
|
|
184
|
+
.s2-line-4 { top: -7px; }
|
|
185
|
+
|
|
186
|
+
/* Scene 3 */
|
|
187
|
+
.s3-line { position: absolute; left: 0; right: 0; text-align: center; letter-spacing: -1px; }
|
|
188
|
+
.s3-line1 { top: 290px; font-size: 37px; }
|
|
189
|
+
.s3-line2 { top: 340px; font-size: 61px; }
|
|
190
|
+
.s3-line3 { top: 404px; font-size: 102px; letter-spacing: -2px; }
|
|
191
|
+
.s3-line4 { top: 502px; font-size: 126px; letter-spacing: -2px; }
|
|
192
|
+
.s3-line5 { top: 632px; font-size: 150px; font-weight: 900; letter-spacing: -3px; }
|
|
193
|
+
.s3-line6 { top: 776px; font-size: 180px; letter-spacing: -5px; color: var(--cp-muted); }
|
|
194
|
+
|
|
195
|
+
/* Scene 4 */
|
|
196
|
+
.s4-word { position: absolute; left: 0; right: 0; top: 572px; text-align: center; font-size: 150px; font-weight: 900; letter-spacing: -3px; }
|
|
197
|
+
.s4-stopbox { position: relative; display: inline-block; padding-right: 40px; }
|
|
198
|
+
.s4-word3 { display: inline-block; }
|
|
199
|
+
.s4-dots { position: absolute; inset: 0; }
|
|
200
|
+
.s4-dot { position: absolute; left: 100%; bottom: 30px; width: 32px; height: 32px; margin-left: -32px; border-radius: 50%; background: var(--cp-ink); }
|
|
201
|
+
|
|
202
|
+
/* Scene 5 */
|
|
203
|
+
.s5-text { position: absolute; left: 0; right: 0; top: 610px; text-align: center; font-size: 76px; letter-spacing: -1px; }
|
|
204
|
+
|
|
205
|
+
/* Scene 6 */
|
|
206
|
+
.s6-glow { position: absolute; right: -220px; bottom: -220px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--cp-accent) 35%, transparent), transparent); }
|
|
207
|
+
.s6-logo { position: absolute; left: 0; right: 0; top: 362px; height: 360px; }
|
|
208
|
+
.s6-strip { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; gap: 22px; }
|
|
209
|
+
.s6-strip-0 { clip-path: inset(0% 0% 83.33% 0%); }
|
|
210
|
+
.s6-strip-1 { clip-path: inset(16.66% 0% 66.66% 0%); }
|
|
211
|
+
.s6-strip-2 { clip-path: inset(33.33% 0% 50% 0%); }
|
|
212
|
+
.s6-strip-3 { clip-path: inset(50% 0% 33.33% 0%); }
|
|
213
|
+
.s6-strip-4 { clip-path: inset(66.66% 0% 16.66% 0%); }
|
|
214
|
+
.s6-strip-5 { clip-path: inset(83.33% 0% 0% 0%); }
|
|
215
|
+
.s6-emblem { width: 230px; height: 230px; }
|
|
216
|
+
.s6-emblem-ring { fill: none; stroke: var(--cp-accent); }
|
|
217
|
+
.s6-emblem-core { fill: var(--cp-endInk); }
|
|
218
|
+
.s6-emblem-mark { fill: var(--cp-endBackground); }
|
|
219
|
+
.s6-brand { color: var(--cp-endInk); font-size: 64px; font-weight: 900; letter-spacing: -2px; }
|
|
220
|
+
.s6-line { position: absolute; left: 184px; width: 354px; top: 815px; height: 5px; background: var(--cp-accent); }
|
|
221
|
+
.s6-url { position: absolute; left: 0; right: 0; top: 832px; text-align: center; font-size: 22px; font-weight: 500; color: color-mix(in srgb, var(--cp-endInk) 88%, var(--cp-endBackground)); }
|
|
222
|
+
`,fonts:[{family:"Montserrat",weights:["500","700","900"],css:"https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700;900&display=block"}],motion:{template:"hey-template",version:"1.0.0",fps:30,width:720,height:1280,durationInFrames:271,scenes:[{id:"scene1",from:0,durationInFrames:49,tracks:[{target:"s1-square",property:"left",keyframes:[{f:0,v:19},{f:6,v:19},{f:14,v:54,e:"ease-in-out"},{f:23,v:90,e:"ease-in-out"},{f:27,v:123,e:"ease-out"},{f:28,v:136},{f:32,v:142}]},{target:"s1-square",property:"top",keyframes:[{f:0,v:-1400},{f:3,v:-85,e:"ease-in"},{f:5,v:-20},{f:6,v:-33},{f:10,v:-84,e:"ease-out"},{f:14,v:-4,e:"ease-in"},{f:19,v:-115,e:"ease-out"},{f:23,v:1,e:"ease-in"},{f:27,v:-127,e:"ease-out"},{f:28,v:-40,e:"ease-in"},{f:32,v:900,e:"ease-in"}]},{target:"s1-square",property:"rotate",keyframes:[{f:0,v:0},{f:6,v:0},{f:10,v:35,e:"ease-out"},{f:14,v:90,e:"ease-in"},{f:19,v:130,e:"ease-out"},{f:23,v:180,e:"ease-in"},{f:27,v:250,e:"ease-out"},{f:28,v:270}]},{target:"s1-square",property:"scaleY",keyframes:[{f:27,v:1},{f:28,v:1.4},{f:32,v:1.7}]},{target:"s1-square",property:"blur",keyframes:[{f:0,v:7},{f:4,v:5},{f:5,v:0,e:"hold"},{f:27,v:0},{f:28,v:6,e:"hold"}]},{target:"s1-fill",property:"clipRight",keyframes:[{f:0,v:100},{f:6,v:67,e:"hold"},{f:14,v:36,e:"hold"},{f:23,v:0,e:"hold"}]}]},{id:"scene2",from:49,durationInFrames:24,tracks:[{target:"s2-line-0",property:"opacity",keyframes:[{f:0,v:0},{f:0,v:1,e:"hold"},{f:14,v:0,e:"hold"}]},{target:"s2-line-1",property:"opacity",keyframes:[{f:0,v:0},{f:3,v:1,e:"hold"},{f:16,v:0,e:"hold"}]},{target:"s2-line-2",property:"opacity",keyframes:[{f:0,v:0},{f:6,v:1,e:"hold"},{f:18,v:0,e:"hold"}]},{target:"s2-line-3",property:"opacity",keyframes:[{f:0,v:0},{f:9,v:1,e:"hold"},{f:19,v:0,e:"hold"}]},{target:"s2-line-4",property:"opacity",keyframes:[{f:0,v:0},{f:13,v:1,e:"hold"}]}]},{id:"scene3",from:73,durationInFrames:55,tracks:[{target:"s3-line1",property:"opacity",keyframes:[{f:0,v:0},{f:5,v:1,e:"hold"},{f:43,v:0,e:"hold"}]},{target:"s3-line1",property:"scale",keyframes:[{f:0,v:.9},{f:5,v:.9},{f:7,v:1,e:"ease-out"}]},{target:"s3-line1",property:"color",keyframes:[{f:0,v:"ink"},{f:26,v:"muted",e:"hold"}]},{target:"s3-line2",property:"opacity",keyframes:[{f:0,v:0},{f:13,v:1,e:"hold"},{f:43,v:0,e:"hold"}]},{target:"s3-line2",property:"scale",keyframes:[{f:0,v:.9},{f:13,v:.9},{f:15,v:1,e:"ease-out"}]},{target:"s3-line2",property:"color",keyframes:[{f:0,v:"ink"},{f:26,v:"muted",e:"hold"}]},{target:"s3-line3",property:"opacity",keyframes:[{f:0,v:0},{f:15,v:1,e:"hold"},{f:49,v:0,e:"hold"}]},{target:"s3-line3",property:"scale",keyframes:[{f:0,v:.9},{f:15,v:.9},{f:17,v:1,e:"ease-out"}]},{target:"s3-line3",property:"color",keyframes:[{f:0,v:"ink"},{f:26,v:"muted",e:"hold"}]},{target:"s3-line4",property:"opacity",keyframes:[{f:0,v:0},{f:17,v:1,e:"hold"},{f:49,v:0,e:"hold"}]},{target:"s3-line4",property:"scale",keyframes:[{f:0,v:.9},{f:17,v:.9},{f:19,v:1,e:"ease-out"}]},{target:"s3-line4",property:"color",keyframes:[{f:0,v:"ink"},{f:26,v:"muted",e:"hold"}]},{target:"s3-line5",property:"opacity",keyframes:[{f:0,v:0},{f:26,v:1,e:"hold"}]},{target:"s3-line5",property:"scale",keyframes:[{f:0,v:.9},{f:26,v:.9},{f:28,v:1,e:"ease-out"}]},{target:"s3-line6",property:"opacity",keyframes:[{f:0,v:0},{f:35,v:1,e:"hold"}]},{target:"s3-line6",property:"scale",keyframes:[{f:0,v:.9},{f:35,v:.9},{f:37,v:1,e:"ease-out"}]}]},{id:"scene4",from:128,durationInFrames:67,tracks:[{target:"s4-word1",property:"opacity",keyframes:[{f:0,v:0},{f:0,v:1,e:"hold"},{f:7,v:0,e:"hold"}]},{target:"s4-word1",property:"color",keyframes:[{f:0,v:"muted"},{f:1,v:"ink",e:"hold"}]},{target:"s4-word2",property:"opacity",keyframes:[{f:0,v:0},{f:7,v:1,e:"hold"},{f:16,v:0,e:"hold"}]},{target:"s4-word3box",property:"opacity",keyframes:[{f:0,v:0},{f:16,v:1,e:"hold"}]},{target:"s4-word3",property:"color",keyframes:[{f:37,v:"ink"},{f:44,v:"outline"}]},{target:"s4-word3",property:"clipRight",keyframes:[{f:37,v:0},{f:43,v:62,e:"ease-in"}]},{target:"s4-word3",property:"opacity",keyframes:[{f:43,v:1},{f:49,v:0}]},{target:"s4-word3",property:"x",keyframes:[{f:43,v:0},{f:49,v:40,e:"ease-out"}]},{target:"s4-dot-b",property:"left",keyframes:[{f:40,v:100},{f:47,v:90.4,e:"ease-in-out"}]},{target:"s4-dot-a",property:"opacity",keyframes:[{f:0,v:0},{f:42,v:1,e:"hold"}]},{target:"s4-dot-a",property:"left",keyframes:[{f:42,v:34},{f:51,v:-4.6,e:"expo-out"}]},{target:"s4-dots",property:"y",keyframes:[{f:47,v:0},{f:53,v:-38,e:"ease-in-out"}]}]},{id:"scene5",from:195,durationInFrames:20,tracks:[{target:"s5-text",property:"y",keyframes:[{f:3,v:0},{f:6,v:-16,e:"ease-in-out"}]}]},{id:"scene6",from:215,durationInFrames:56,optional:!0,tracks:[{target:"s6-line",property:"scaleX",keyframes:[{f:3,v:0},{f:6,v:1,e:"expo-out"}]},{target:"s6-url",property:"opacity",keyframes:[{f:9,v:0},{f:13,v:1,e:"ease-out"}]},{target:"s6-strip-0",property:"opacity",keyframes:[{f:0,v:0},{f:9,v:1,e:"hold"}]},{target:"s6-strip-0",property:"x",keyframes:[{f:9,v:-48},{f:11,v:24,e:"hold"},{f:13,v:-12,e:"hold"},{f:19,v:0,e:"hold"}]},{target:"s6-strip-1",property:"opacity",keyframes:[{f:0,v:0},{f:8,v:1,e:"hold"}]},{target:"s6-strip-1",property:"x",keyframes:[{f:8,v:36},{f:10,v:-18,e:"hold"},{f:12,v:9,e:"hold"},{f:19,v:0,e:"hold"}]},{target:"s6-strip-2",property:"opacity",keyframes:[{f:0,v:0},{f:11,v:1,e:"hold"}]},{target:"s6-strip-2",property:"x",keyframes:[{f:11,v:-22},{f:13,v:11,e:"hold"},{f:15,v:-5.5,e:"hold"},{f:19,v:0,e:"hold"}]},{target:"s6-strip-3",property:"opacity",keyframes:[{f:0,v:0},{f:10,v:1,e:"hold"}]},{target:"s6-strip-3",property:"x",keyframes:[{f:10,v:58},{f:12,v:-29,e:"hold"},{f:14,v:14.5,e:"hold"},{f:19,v:0,e:"hold"}]},{target:"s6-strip-4",property:"opacity",keyframes:[{f:0,v:0},{f:13,v:1,e:"hold"}]},{target:"s6-strip-4",property:"x",keyframes:[{f:13,v:-34},{f:15,v:17,e:"hold"},{f:17,v:-8.5,e:"hold"},{f:19,v:0,e:"hold"}]},{target:"s6-strip-5",property:"opacity",keyframes:[{f:0,v:0},{f:12,v:1,e:"hold"}]},{target:"s6-strip-5",property:"x",keyframes:[{f:12,v:18},{f:14,v:-9,e:"hold"},{f:16,v:4.5,e:"hold"},{f:19,v:0,e:"hold"}]}]}]},schema:{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"hey-template/content.schema.json",title:"hey-template content",description:"What a person or agent may set: text for each slot, optional theme colours, optional end card (scene6). Timing, motion, layout and type are fixed by the template.",type:"object",additionalProperties:!1,required:["scene1","scene2","scene3","scene4","scene5"],properties:{scene1:{type:"object",additionalProperties:!1,required:["text"],properties:{text:{type:"string",description:"Opening word(s); a square bounces across and fills them in.",minLength:1,maxLength:12,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"}}},scene2:{type:"object",additionalProperties:!1,required:["text"],properties:{text:{type:"string",description:"Stacks up the screen five times, then peels away.",minLength:1,maxLength:14,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"}}},scene3:{type:"object",additionalProperties:!1,required:["line1","line2","line3","line4","line5","line6"],properties:{line1:{type:"string",description:"Phrase line 1 (smallest type).",minLength:1,maxLength:28,maxWords:3,pattern:"^\\s*\\S+(\\s+\\S+){0,2}\\s*$"},line2:{type:"string",description:"Phrase line 2.",minLength:1,maxLength:20,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},line3:{type:"string",description:"Phrase line 3.",minLength:1,maxLength:16,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},line4:{type:"string",description:"Phrase line 4.",minLength:1,maxLength:14,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},line5:{type:"string",description:"Phrase line 5, the emphasised word (caps look best).",minLength:1,maxLength:12,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},line6:{type:"string",description:"Phrase line 6, the largest, in the muted colour.",minLength:1,maxLength:12,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"}}},scene4:{type:"object",additionalProperties:!1,required:["word1","word2","word3"],properties:{word1:{type:"string",description:"First hard-cut word.",minLength:1,maxLength:10,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},word2:{type:"string",description:"Second hard-cut word.",minLength:1,maxLength:10,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"},word3:{type:"string",description:"Third word; the template adds its full stop, which splits into two dots.",minLength:1,maxLength:10,maxWords:2,pattern:"^\\s*\\S+(\\s+\\S+){0,1}\\s*$"}}},scene5:{type:"object",additionalProperties:!1,required:["text"],properties:{text:{type:"string",description:"Call to action.",minLength:1,maxLength:32,maxWords:5,pattern:"^\\s*\\S+(\\s+\\S+){0,4}\\s*$"}}},scene6:{type:"object",additionalProperties:!1,required:["brand","url"],properties:{brand:{type:"string",description:"Brand name on the end card (optional scene).",minLength:1,maxLength:24,maxWords:3,pattern:"^\\s*\\S+(\\s+\\S+){0,2}\\s*$"},url:{type:"string",description:"Website under the end-card rule (optional scene).",minLength:1,maxLength:40,maxWords:1,pattern:"^\\s*\\S+(\\s+\\S+){0,0}\\s*$"}}},theme:{type:"object",additionalProperties:!1,description:"Optional colour tokens; any left out keep the template default.",properties:{background:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#ffffff",description:"Canvas background of scenes 1\u20135."},ink:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#0a0a0a",description:"Main text, the bouncing square and the dots."},muted:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#5f5f5f",description:"Faded phrase lines and the last phrase word."},outline:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#cfcfcf",description:"Outline of the opening word before it fills."},accent:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#a22033",description:"End-card rule, emblem ring and corner glow."},endBackground:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#05070b",description:"End-card background."},endInk:{type:"string",format:"hex-color",pattern:"^#[0-9a-fA-F]{6}$",default:"#f2f2f2",description:"End-card brand and url text."}}}}},slots:[{path:"scene1.text",maxWords:2,maxChars:12,fitWidth:640,description:"Opening word(s); a square bounces across and fills them in."},{path:"scene2.text",maxWords:2,maxChars:14,fitWidth:660,description:"Stacks up the screen five times, then peels away."},{path:"scene3.line1",maxWords:3,maxChars:28,fitWidth:640,description:"Phrase line 1 (smallest type)."},{path:"scene3.line2",maxWords:2,maxChars:20,fitWidth:660,description:"Phrase line 2."},{path:"scene3.line3",maxWords:2,maxChars:16,fitWidth:660,description:"Phrase line 3."},{path:"scene3.line4",maxWords:2,maxChars:14,fitWidth:660,description:"Phrase line 4."},{path:"scene3.line5",maxWords:2,maxChars:12,fitWidth:660,description:"Phrase line 5, the emphasised word (caps look best)."},{path:"scene3.line6",maxWords:2,maxChars:12,fitWidth:680,description:"Phrase line 6, the largest, in the muted colour."},{path:"scene4.word1",maxWords:2,maxChars:10,fitWidth:640,description:"First hard-cut word."},{path:"scene4.word2",maxWords:2,maxChars:10,fitWidth:640,description:"Second hard-cut word."},{path:"scene4.word3",maxWords:2,maxChars:10,fitWidth:580,description:"Third word; the template adds its full stop, which splits into two dots."},{path:"scene5.text",maxWords:5,maxChars:32,fitWidth:660,description:"Call to action."},{path:"scene6.brand",maxWords:3,maxChars:24,fitWidth:560,description:"Brand name on the end card (optional scene)."},{path:"scene6.url",maxWords:1,maxChars:40,fitWidth:560,description:"Website under the end-card rule (optional scene)."}],theme:[{token:"background",default:"#ffffff",description:"Canvas background of scenes 1\u20135."},{token:"ink",default:"#0a0a0a",description:"Main text, the bouncing square and the dots."},{token:"muted",default:"#5f5f5f",description:"Faded phrase lines and the last phrase word."},{token:"outline",default:"#cfcfcf",description:"Outline of the opening word before it fills."},{token:"accent",default:"#a22033",description:"End-card rule, emblem ring and corner glow."},{token:"endBackground",default:"#05070b",description:"End-card background."},{token:"endInk",default:"#f2f2f2",description:"End-card brand and url text."}],optionalScenes:["scene6"],exampleContent:{scene1:{text:"Hey"},scene2:{text:"Scroller"},scene3:{line1:"Scrolling",line2:"Won't",line3:"Get",line4:"Your",line5:"BRAND",line6:"Noticed"},scene4:{word1:"BUT",word2:"WE",word3:"WILL"},scene5:{text:"contact us today"},scene6:{brand:"CompPack",url:"comppack.vercel.app"}}};var iE={reference:{description:"The measured reference: 16:9, 3840 \xD7 2160, 60 fps.",patch:{}},landscape:{description:"The reference at 16:9, 3840 \xD7 2160.",patch:{"canvas.aspectRatio":"16:9","canvas.width":3840,"canvas.height":2160}},portrait:{description:"9:16, 2160 \xD7 3840: recomposed for a narrow canvas \u2014 larger relative type, wider glows, a tighter fit width.",patch:{"canvas.aspectRatio":"9:16","canvas.width":2160,"canvas.height":3840,"scenes.what.fontSize":270,"scenes.aiAgent.fontSize":150,"scenes.developers.fontSize":62,"motion.zoom.fitWidth":.9,"brace.size":1.6,"background.topGlow.radiusX":.9,"background.topGlow.radiusY":.3,"background.bottomGlow.radiusX":.9,"background.bottomGlow.radiusY":.35,"background.streaks.band":.12,"brackets.enter.distance":.5}},square:{description:"1:1, 2160 \xD7 2160.",patch:{"canvas.aspectRatio":"1:1","canvas.width":2160,"canvas.height":2160,"scenes.what.fontSize":290,"scenes.aiAgent.fontSize":160,"motion.zoom.fitWidth":.85,"background.topGlow.radiusX":.7,"background.bottomGlow.radiusX":.7,"brackets.enter.distance":.4}},minimal:{description:"No placeholders, glows, streaks or brackets: plain typing on a flat ground.",patch:{"characters.scramble.enabled":!1,"glow.enabled":!1,"background.topGlow.enabled":!1,"background.bottomGlow.enabled":!1,"background.streaks.enabled":!1,"brackets.enabled":!1}},highGlow:{description:"Stronger, wider light: head glow, background glows and a bracket glow.",patch:{"glow.intensity":1,"glow.radiusX":1.4,"glow.radiusY":.9,"scenes.line.glowIntensity":1,"background.topGlow.intensity":1,"background.topGlow.color":"#1a2470","background.bottomGlow.color":"#1733a8","background.bottomGlow.radiusY":.8,"brackets.glow.enabled":!0,"brackets.glow.intensity":.6,"cursor.glow.enabled":!0}},lowGlow:{description:"Quieter light: a faint head glow and dim background glows.",patch:{"glow.intensity":.35,"glow.radiusX":.6,"glow.radiusY":.4,"background.topGlow.intensity":.4,"background.bottomGlow.intensity":.45}}};var Pg="Replication2",Ug="Replication2Machine",Gg="Replication2",gA=(A,e=0)=>({name:A,type:"Number",value:e}),Pi=(A,e="")=>({name:A,type:"String",value:e}),vt=(A,e=4278190080)=>({name:A,type:"Color",value:e});var sE=[gA("sceneIndex"),Pi("status","idle"),gA("artW",1920),gA("artH",1080),vt("bgDark"),vt("bgLight"),gA("bgLightOpacity"),gA("gradOpacity"),vt("gradFrom"),vt("gradTo"),gA("gradX1"),gA("gradY1"),gA("gradX2"),gA("gradY2"),...["top","bottom"].flatMap(A=>[gA(`${A}X`),gA(`${A}Y`),gA(`${A}R`),gA(`${A}ScaleY`,1),vt(`${A}Color`),vt(`${A}Mid`),gA(`${A}Falloff`,.5),gA(`${A}Opacity`)]),gA("vigOpacity"),vt("vigColor"),gA("vigX"),gA("vigY"),gA("vigR",1),vt("streakColor"),gA("streakWidth",10),gA("streakHeight",1080),...Array.from({length:12},(A,e)=>[gA(`streak${e}X`),gA(`streak${e}Opacity`)]).flat(),gA("stageX",960),gA("stageY",540),gA("stageScale",1),gA("stageRotation"),gA("stageOpacity",1),Pi("lineSettled"),Pi("lineHead"),vt("lineColor"),vt("lineHeadColor"),gA("lineSize",100),gA("lineWeight",400),gA("lineTracking"),gA("lineOpacity",1),{...gA("lineWidth"),toSource:!0},gA("enterFrom",-10),gA("enterTo",-9),gA("enterX"),gA("enterY"),gA("enterScale",1),gA("enterRotation"),gA("enterOpacity",1),gA("enterStrength"),gA("distFrom"),gA("distTo"),gA("distFalloffFrom"),gA("distFalloffTo"),gA("distX"),gA("distY"),gA("distRotation"),gA("distScaleX",1),gA("distScaleY",1),gA("distOpacity",1),gA("distStrength"),Pi("displayText"),gA("displaySize",100),gA("displayWeight",400),gA("displayTracking"),gA("displayOpacity",1),vt("displayTop"),vt("displayBottom"),gA("displayGradStartY"),gA("displayGradEndY"),gA("hideLeftTo",-1),gA("hideLeftFalloff",-1),gA("hideRightFrom",2),gA("hideRightFalloff",2),Pi("finalSettled"),Pi("finalHead"),Pi("finalEntering"),vt("finalColor"),vt("finalHeadColor"),vt("finalEnteringColor"),gA("finalSize",60),gA("finalWeight",400),gA("finalTracking"),gA("finalOpacity",1),{...gA("finalWidth"),toSource:!0},gA("cursorW"),gA("cursorH"),gA("cursorStroke"),gA("cursorRadius"),vt("cursorStrokeColor"),vt("cursorFillColor"),gA("cursorOffset"),gA("cursorScale",1),gA("cursorLineOpacity"),gA("cursorFinalOpacity"),gA("cursorGlowOpacity"),vt("cursorGlowColor"),gA("cursorGlowR"),vt("glowColor"),vt("glowMid"),gA("glowFalloff",.5),gA("glowR"),gA("glowScaleY",1),gA("glowX"),gA("glowY"),gA("glowNormal"),gA("glowScreen"),gA("glowAdditive"),gA("brOpacity"),vt("brColor"),gA("brThick",1),gA("brHalfH"),gA("brSerif"),gA("brLeftX"),gA("brRightX"),gA("brLeftTrim",1),gA("brRightTrim",1),gA("brLeftOpacity"),gA("brRightOpacity"),gA("brGlowOpacity"),vt("brGlowColor"),gA("brGlowR"),gA("braceOpacity"),vt("braceColor"),gA("braceSize",60),gA("braceWeight",600),gA("braceLeftX"),gA("braceRightX"),gA("braceY"),gA("braceClosing"),gA("braceGlowOpacity"),vt("braceGlowColor"),gA("braceGlowR")];function Tt(A,e=1){return(Math.round(Math.min(1,Math.max(0,e))*255)<<24|parseInt(A.slice(1,7),16))>>>0}var C0=A=>Tt(A.hex,A.alpha),v0=A=>A*Math.PI/180;function lE(A){let e={sceneIndex:A.sceneIndex,artW:A.design.width,artH:A.design.height,bgDark:Tt(A.background.dark),bgLight:Tt(A.background.light),bgLightOpacity:A.background.lightOpacity,gradOpacity:A.background.gradient.opacity,gradFrom:Tt(A.background.gradient.from),gradTo:Tt(A.background.gradient.to),gradX1:A.background.gradient.x1,gradY1:A.background.gradient.y1,gradX2:A.background.gradient.x2,gradY2:A.background.gradient.y2,vigOpacity:A.background.vignette.opacity,vigColor:Tt(A.background.vignette.color),vigX:A.design.width/2,vigY:A.design.height/2,vigR:A.background.vignette.radius,streakColor:Tt(A.background.streaks.color),streakWidth:A.background.streaks.width,streakHeight:A.design.height},t=(v,Q)=>{e[`${v}X`]=Q.x,e[`${v}Y`]=Q.y,e[`${v}R`]=Q.rx,e[`${v}ScaleY`]=Q.rx>0?Q.ry/Q.rx:1,e[`${v}Color`]=Tt(Q.color),e[`${v}Mid`]=Tt(Q.color,.5),e[`${v}Falloff`]=Q.falloff,e[`${v}Opacity`]=Q.visible?Q.opacity:0};t("top",A.background.top),t("bottom",A.background.bottom);for(let v=0;v<12;v++){let Q=A.background.streaks.items[v];e[`streak${v}X`]=Q?.x??0,e[`streak${v}Opacity`]=Q?.opacity??0}Object.assign(e,{stageX:A.stage.x,stageY:A.stage.y,stageScale:A.stage.scale,stageRotation:v0(A.stage.rotation),stageOpacity:A.stage.opacity});let n=A.line;Object.assign(e,{lineSettled:n.settled,lineHead:n.head,lineColor:Tt(n.color),lineHeadColor:C0(n.headColor),lineSize:n.fontSize,lineWeight:n.weight,lineTracking:n.letterSpacing,lineOpacity:n.visible?n.opacity:0});let o=A.final.visible?A.final.enter:n.enter,a=A.final.visible?A.final.fontSize:n.fontSize;Object.assign(e,{enterFrom:o.index,enterTo:o.index+1,enterX:o.x*a,enterY:o.y*a,enterScale:o.scale,enterRotation:v0(o.rotation),enterOpacity:o.opacity,enterStrength:o.strength});let r=A.display.visible?A.display.distortion:n.distortion,i=A.display.visible?A.display.fontSize:n.fontSize;Object.assign(e,{distFrom:r.from,distTo:r.to,distFalloffFrom:r.falloffFrom,distFalloffTo:r.falloffTo,distX:r.x*i,distY:r.y*i,distRotation:v0(r.rotation),distScaleX:r.scaleX,distScaleY:r.scaleY,distOpacity:r.opacity,distStrength:r.strength});let s=A.display;Object.assign(e,{displayText:s.text,displaySize:s.fontSize,displayWeight:s.weight,displayTracking:s.letterSpacing,displayOpacity:s.visible?s.opacity:0,displayTop:Tt(s.gradientTop),displayBottom:Tt(s.gradientBottom),displayGradStartY:.25*s.fontSize,displayGradEndY:1.21*s.fontSize,hideLeftTo:s.hideLeftTo,hideLeftFalloff:s.hideLeftTo-s.softness,hideRightFrom:s.hideRightFrom,hideRightFalloff:s.hideRightFrom+s.softness});let l=A.final;Object.assign(e,{finalSettled:l.settled,finalHead:l.head,finalEntering:l.entering,finalColor:Tt(l.color),finalHeadColor:C0(l.headColor),finalEnteringColor:C0(l.enteringColor),finalSize:l.fontSize,finalWeight:l.weight,finalTracking:l.letterSpacing,finalOpacity:l.visible?l.opacity:0});let d=A.cursor,u=d.attach==="final"?l.settled+l.head+l.entering:n.settled+n.head;Object.assign(e,{cursorW:d.width,cursorH:d.height,cursorStroke:d.stroke,cursorRadius:d.radius,cursorStrokeColor:Tt(d.color,d.solid?0:1),cursorFillColor:Tt(d.color,d.solid?1:0),cursorOffset:u===""?0:d.gap+d.width/2,cursorScale:d.scale,cursorLineOpacity:d.visible&&d.attach==="line"?d.opacity:0,cursorFinalOpacity:d.visible&&d.attach==="final"?d.opacity:0,cursorGlowOpacity:d.visible?d.glow.opacity:0,cursorGlowColor:Tt(d.glow.color),cursorGlowR:d.glow.radius});let c=A.headGlow;Object.assign(e,{glowColor:Tt(c.color),glowMid:Tt(c.color,.7),glowFalloff:c.falloff,glowR:c.rx,glowScaleY:c.rx>0?c.ry/c.rx:1,glowX:c.offsetX,glowY:c.offsetY,glowNormal:c.blend==="normal"?c.opacity:0,glowScreen:c.blend==="screen"?c.opacity:0,glowAdditive:c.blend==="additive"?c.opacity:0});let p=A.brackets;Object.assign(e,{brOpacity:p.visible?p.opacity:0,brColor:Tt(p.color),brThick:p.thickness,brHalfH:p.height/2,brSerif:p.serif,brLeftX:-p.padding+p.leftOffset,brRightX:p.padding+p.rightOffset,brLeftTrim:p.leftTrim,brRightTrim:p.rightTrim,brLeftOpacity:p.leftOpacity,brRightOpacity:p.rightOpacity,brGlowOpacity:p.visible?p.glow.opacity:0,brGlowColor:Tt(p.glow.color),brGlowR:p.glow.radius});let B=A.brace;return Object.assign(e,{braceOpacity:B.visible?B.opacity:0,braceColor:Tt(B.color),braceSize:B.size*l.fontSize,braceWeight:B.weight,braceLeftX:-B.padding,braceRightX:B.padding+B.closingSlack,braceY:B.offsetY,braceClosing:B.closingVisible,braceGlowOpacity:B.visible?B.glow.opacity:0,braceGlowColor:Tt(B.glow.color),braceGlowR:B.glow.radius}),e}var E0={id:"replication-2",version:"1.0.0",kind:"configurableMotion",renderer:"rive",title:"Replication 2 \u2014 typed question to brace mark",description:"A cursor settles, a question types itself in with placeholder glyphs and a head glow, brackets frame it, it collapses, a display line tracks in, and a hard cut to white reveals words added inside blue braces. Every timing, easing, colour, size and word is configurable.",fps:60,formats:[{id:"landscape",aspectRatio:"16:9",width:3840,height:2160},{id:"portrait",aspectRatio:"9:16",width:2160,height:3840},{id:"square",aspectRatio:"1:1",width:2160,height:2160}],durationInFrames:lg(og()),groups:[...$C],controls:ca,schema:ev(),presets:iE,rive:{file:"rive/replication-2/replication-2.riv",artboard:Pg,stateMachine:Ug,viewModel:Gg},exampleContent:og()};var cE={reference:{description:"The reference look: luminous purple/pink/blue, a white SaaS window, 16:9 at 3840 \xD7 2160, 60 fps.",patch:{}},landscape:{description:"16:9, 3840 \xD7 2160 (layout.landscape).",patch:{"canvas.aspectRatio":"16:9","canvas.width":3840,"canvas.height":2160}},portrait:{description:"9:16, 2160 \xD7 3840: the portrait layout block \u2014 headline on top, a tall window with two card columns, the CTA near the bottom.",patch:{"canvas.aspectRatio":"9:16","canvas.width":2160,"canvas.height":3840}},square:{description:"1:1, 2160 \xD7 2160 (layout.square).",patch:{"canvas.aspectRatio":"1:1","canvas.width":2160,"canvas.height":2160}},scenes:{description:"Four scenes over one product: Meet Acme \u2192 Generate websites \u2192 Ship faster \u2192 Try Acme today, with copy and colour changes per scene.",patch:{"timeline.showcase.durationFrames":330,scenes:[{id:"meet",durationFrames:150,contentOverrides:{"content.eyebrow":"Introducing","content.title":"Meet Acme","content.subtitle":"Your AI product studio."}},{id:"generate",durationFrames:150,contentOverrides:{"content.eyebrow":"Generate","content.title":"Generate websites","content.subtitle":"Describe it. Acme builds it in seconds."},productOverrides:{"productHeader.activeItem":"Images"},backgroundOverrides:{"background.glow.color":"#9fb4ff"}},{id:"ship",durationFrames:150,contentOverrides:{"content.eyebrow":"Launch","content.title":"Ship faster","content.subtitle":"From prompt to production in one afternoon."},backgroundOverrides:{"background.glow.color":"#ffb4e6"}},{id:"try",durationFrames:150,contentOverrides:{"content.eyebrow":"Free to start","content.title":"Try Acme today","content.subtitle":"No credit card. Cancel anytime."}}]}},loop:{description:"A seamless loop: the settled composition with float, drift, lights, particles and card highlights fitted to 8 s.",patch:{"loop.enabled":!0,"loop.loopDurationFrames":480}},minimal:{description:"Quiet: no particles, floating elements, grain or badge; one soft glow.",patch:{"particles.enabled":!1,floatingElements:[],"background.noise.enabled":!1,"content.badge.enabled":!1,"background.secondaryGlow.enabled":!1,lights:[],"glow.intensity":.3}}};var Q0={id:"promo-product-showcase",version:"1.0.0",kind:"configurableMotion",renderer:"remotion",title:"Promo product showcase \u2014 a SaaS product promo",description:"A premium SaaS promo: a luminous gradient atmosphere, a large rounded product window with a procedural app UI (navigation, chat, result cards, input), promotional typography, floating badges, particles and a slow camera. Every word, colour, position, timing and easing is configurable; 16:9, 9:16 and 1:1 each have their own layout.",fps:60,formats:[{id:"landscape",aspectRatio:"16:9",width:3840,height:2160},{id:"portrait",aspectRatio:"9:16",width:2160,height:3840},{id:"square",aspectRatio:"1:1",width:2160,height:2160}],durationInFrames:vg(bg()),groups:[...gv],controls:fv(),schema:bv(),presets:cE,remotion:{project:"remotion-prototype",compositions:["PromoProductShowcaseLandscape","PromoProductShowcasePortrait","PromoProductShowcaseSquare"],reference:"remotion-prototype/content/promo-product-showcase/reference.json"},exampleContent:bg()};var Ng={"content.logo":"tixdoor","logo.markText":"T","content.top.headline":"We are launching soon","content.middle.headline":"Ready for a Better Way to Attend Events?","content.bottom.body":"We're building the smarter way to discover, create, and attend events.","content.cta.text":"Join Our Waitlist","background.backgroundTypography.text":"LAUNCH"},x0=(A,e,t)=>({"canvas.aspectRatio":A,"canvas.width":e,"canvas.height":t}),CD={"content.logo":"Northstar","logo.markText":"N","logo.markColor":"#ffcc4d","logo.markColorEnd":"#ff9f1c","logo.markTextColor":"#10324a","content.top.headline":"Your next idea starts here","content.middle.headline":"Design. Build. Launch.","content.bottom.body":"Everything you need to move from concept to product.","content.back.text":"Northstar","content.back.panel":"top","content.cta.text":"Get Started","typography.topHeadline.color":"#10324a","typography.topHeadline.fontStyle":"normal","typography.topHeadline.fontWeight":800,"typography.topHeadline.skew":0,"typography.topHeadline.fontFamily":"Space Grotesk","typography.topHeadline.fontSize":96,"typography.middleHeadline.color":"#10324a","typography.middleHeadline.fontFamily":"Space Grotesk","typography.middleHeadline.fontWeight":700,"typography.middleHeadline.fontSize":92,"typography.middleHeadline.maxWidth":.62,"typography.bottomBody.color":"#2b4a60","typography.bottomBody.fontStyle":"normal","typography.back.color":"#10324a","typography.back.fontFamily":"Space Grotesk","typography.logo.fontFamily":"Space Grotesk","typography.logo.fontWeight":700,"typography.cta.color":"#10324a","typography.cta.fontWeight":700,"foldLighting.ambient":.62,"foldLighting.diffuse":.46,"paperMaterial.baseColor":"#f3ede2","paperMaterial.backColor":"#e4d8c4","paperMaterial.secondaryColor":"#ece3d3","paperMaterial.textureOpacity":.12,"paperMaterial.edgeShadow":.12,"creases.0.color":"#9c8d74","creases.1.color":"#9c8d74","creases.0.highlightColor":"#ffffff","creases.1.highlightColor":"#ffffff","paper.shadow.color":"#04121c","paper.shadow.opacity":.45,"background.baseColor":"#10324a","background.gradient.stops":[{offset:0,color:"#123a55"},{offset:1,color:"#0a2233"}],"background.backgroundTypography.text":"CREATE","background.backgroundTypography.color":"#174765","background.backgroundTypography.weight":800,"background.backgroundTypography.fontFamily":"Space Grotesk","background.backgroundTypography.drift":24,"background.backgroundTypography.repeat":2,"background.glow.color":"#3fb6c9","background.glow.opacity":.22,"hands.style.baseColor":"#d9976f","hands.style.midtoneColor":"#b9744c","hands.style.shadowColor":"#8a4f31","hands.style.highlightColor":"#eab08a","hands.style.nailColor":"#f5cdb7","hands.style.sleeve.enabled":!0,"hands.style.sleeve.color":"#2f6f8f","hands.top.x":.62,"hands.bottom.x":.34,"folds.0.peakAngle":170,"folds.0.durationFrames":40,"folds.0.unfoldDurationFrames":36,"folds.0.easing":"easeInOutQuart","folds.1.peakAngle":164,"folds.1.durationFrames":38,"folds.1.unfoldDurationFrames":34,"folds.1.easing":"easeInOutQuart","timeline.foldedHold.durationFrames":48,"cta.backgroundColor":"#ffcc4d","cta.borderColor":"#ffcc4d","cta.rotation":3,"cta.radius":40,"cta.shadowColor":"#04121c","cta.shadowOpacity":.35},Lg={reference:{description:"The reference: a purple tixdoor launch sheet, Z-folded by two brown hands in front of a LAUNCH wall, 9:16 at 2160 \xD7 3840, 60 fps.",patch:Ng},portrait:{description:"9:16, 2160 \xD7 3840 (layout.portrait) \u2014 the reference shape.",patch:{...Ng,...x0("9:16",2160,3840)}},landscape:{description:"16:9, 3840 \xD7 2160 (layout.landscape): the sheet on the left, the logo and CTA on the right.",patch:{...Ng,...x0("16:9",3840,2160)}},square:{description:"1:1, 2160 \xD7 2160 (layout.square).",patch:{...Ng,...x0("1:1",2160,2160)}},demo:{description:"Northstar: a cream sheet on deep teal, CREATE drifting behind, lighter hands in sleeves, deeper and quicker folds, a yellow Get Started button.",patch:CD}};function uE(A){let e=Lg[A];if(!e)throw new Error(`Unknown paper-fold-promo preset "${A}". Available: ${Object.keys(Lg).join(", ")}.`);let t=Dg(zv(),{patch:e.patch});if(!t.valid)throw new Error(`Preset "${A}" is invalid: ${t.errors.map(n=>n.message).join(" ")}`);return t.config}var dE=uE("reference"),M0={id:"paper-fold-promo",version:"1.0.0",kind:"configurableMotion",renderer:"remotion",title:"Paper fold promo \u2014 a printed sheet folded and opened by two hands",description:"A vertical promotional sheet in three panels, held by two illustrated hands in front of a wall of large type. The top panel folds over along its crease in true perspective, then the bottom one; the paper holds folded, then unfolds back to the open sheet. Every word, colour, crease, fold angle, timing, easing, hand pose and light is configurable; 9:16, 16:9 and 1:1 each have their own layout.",fps:60,formats:[{id:"portrait",aspectRatio:"9:16",width:2160,height:3840},{id:"landscape",aspectRatio:"16:9",width:3840,height:2160},{id:"square",aspectRatio:"1:1",width:2160,height:2160}],durationInFrames:Yg(dE),groups:[...Gv],controls:Nv(),schema:Hv(),presets:Lg,remotion:{project:"remotion-prototype",compositions:["PaperFoldPromoPortrait","PaperFoldPromoLandscape","PaperFoldPromoSquare"],reference:"remotion-prototype/content/paper-fold-promo/reference.json"},exampleContent:dE};var I0={[B0.id]:B0,[w0.id]:w0},D0={[E0.id]:E0,[Q0.id]:Q0,[M0.id]:M0};var gE=A=>A.trim().split(/\s+/).filter(Boolean).length,vD=/^#[0-9a-fA-F]{6}$/;function Hg(A,e){let t=[],n=(a,r)=>t.push({scene:a[0]??"(root)",path:a.join("."),message:r}),o=(a,r,i)=>{let s=i.join(".")||"content";if(a.type==="object"){if(typeof r!="object"||r===null||Array.isArray(r))return n(i,r===void 0?`${s} is required.`:`${s} must be an object.`);let l=r;if(a.additionalProperties===!1){let d=Object.keys(l).filter(u=>!(u in(a.properties??{})));if(d.length){let u=Object.entries(a.properties??{}).filter(([,p])=>p.enum||p.type==="boolean").map(([p])=>p),c=i.length?u.length?`Only its text and the choices ${u.join(", ")}`:"Only text slots":"Only text slots, theme colours and optional scenes";n(i.length?i:d,`${i.length?`${s}: `:""}${d.join(", ")} ${d.length===1?"is":"are"} not configurable. ${c} may be set.`)}}for(let[d,u]of Object.entries(a.properties??{})){if(!(d in l)||l[d]===void 0||l[d]===null&&!a.required?.includes(d)){a.required?.includes(d)&&n([...i,d],`${[...i,d].join(".")} is required.`);continue}let c=Object.entries(u.onlyWith??{}).find(([p,B])=>{let v=l[p]??a.properties?.[p]?.default;return!B.includes(String(v))});if(c){n([...i,d],`${[...i,d].join(".")} can only be set when ${c[0]} is ${c[1].map(p=>`"${p}"`).join(" or ")}.`);continue}o(u,l[d],[...i,d])}return}if(a.type==="array"){if(!Array.isArray(r))return n(i,r===void 0?`${s} is required.`:`${s} must be a list.`);a.minItems!==void 0&&r.length<a.minItems&&n(i,`${s} needs at least ${a.minItems} item${a.minItems===1?"":"s"} (got ${r.length}).`),a.maxItems!==void 0&&r.length>a.maxItems&&n(i,`${s} accepts at most ${a.maxItems} items (got ${r.length}).`),a.items&&r.forEach((l,d)=>o(a.items,l,[...i,String(d)]));return}if(a.type==="boolean"){typeof r!="boolean"&&n(i,`${s} must be true or false.`);return}if(a.type==="string"){if(typeof r!="string")return n(i,`${s} must be a string.`);if(a.enum){a.enum.includes(r)||n(i,`${s} must be one of ${a.enum.map(d=>`"${d}"`).join(", ")} (got "${r}").`);return}if(a.format==="hex-color"){vD.test(r)||n(i,`${s} must be a hex colour in the form #rrggbb.`);return}let l=r.trim();if(!l)return n(i,`${s} must not be empty.`);/[\u0000-\u001f\u007f]/.test(r)&&n(i,`${s} must be a single line of plain text.`),a.maxWords!==void 0&&gE(l)>a.maxWords&&n(i,`${s} accepts a maximum of ${a.maxWords} word${a.maxWords===1?"":"s"} (got ${gE(l)}).`),a.maxLength!==void 0&&l.length>a.maxLength&&n(i,`${s} accepts a maximum of ${a.maxLength} characters (got ${l.length}).`)}};return o(A,e,[]),{valid:t.length===0,errors:t}}var zg="motion/1";var ED=(A,e)=>Math.round(e/A.motion.fps*100)/100;function jc(A){return I0[A]}function jg(A){return D0[A]}var QD={"replication-2":{validate:Ws,patch:Av,frames:A=>lg(A)},"promo-product-showcase":{validate:Zs,patch:yv,frames:A=>vg(A)},"paper-fold-promo":{validate:Ig,patch:Dg,frames:A=>Yg(A)}};function fE(A){let e=(d,u)=>({valid:!1,errors:[{scene:"(request)",path:d,message:u}]});if(typeof A!="object"||A===null||Array.isArray(A))return e("",'The request must be an object: { schema: "motion/1", template, content }.');let{schema:t,template:n,content:o,patch:a,...r}=A,i=typeof n=="string"?jg(n):void 0;if(a!==void 0&&!i&&(r.patch=a),Object.keys(r).length)return e(Object.keys(r)[0],`Only schema, template and content may be sent${i?" (and patch)":""}; got ${Object.keys(r).join(", ")}.`);if(t!==void 0&&t!==zg)return e("schema",`schema must be "${zg}".`);if(i)return xD(i,o,a);let s=typeof n=="string"?jc(n):void 0;if(!s)return e("template",`Unknown template "${String(n)}". Available: ${[...Object.keys(I0),...Object.keys(D0)].join(", ")}.`);let l=Hg(s.schema,o);return l.valid?{valid:!0,request:{schema:zg,template:s.id,content:o},seconds:ED(s,Og(s.motion,o))}:{valid:!1,errors:l.errors}}function xD(A,e,t){let n=QD[A.id],o=e===void 0?{}:e,a=t===void 0?n.validate(o):n.patch(o,t);if(!a.valid)return{valid:!1,errors:a.errors.map(i=>({scene:i.path.split(".")[0]||"(root)",path:i.path,message:i.message}))};let r=a.config;return{valid:!0,request:{schema:zg,template:A.id,content:r},seconds:Math.round(n.frames(r)/Number(r.canvas.fps)*100)/100}}var Ui=Ue(lr(),1);var hE=(A,e)=>A<=e||A<=0?1:Math.floor(e/A*1e3)/1e3;var Kc=class extends Error{constructor(t){super(`Invalid content:
|
|
223
|
+
${t.map(n=>` - ${n.message}`).join(`
|
|
224
|
+
`)}`);this.errors=t;this.name="MotionContentValidationError"}},S0=(A,e)=>e.split(".").reduce((t,n)=>t&&typeof t=="object"?t[n]:void 0,A);function MD(A,e=document){let t=[];for(let o of A.fonts){let a=`font:${o.family}`,r=e.head.querySelector(`[data-motion-styles="${a}"]`);if(r||(r=Object.assign(e.createElement("link"),{rel:"stylesheet",href:o.css}),r.dataset.motionStyles=a,r.dataset.loaded="false",r.addEventListener("load",()=>r.dataset.loaded="true",{once:!0}),r.addEventListener("error",()=>r.dataset.loaded="error",{once:!0}),e.head.append(r)),r.dataset.loaded==="false"){let i=r;t.push(new Promise(s=>{i.addEventListener("load",s,{once:!0}),i.addEventListener("error",s,{once:!0})}))}}let n=`${A.id}@${A.version}`;if(!e.head.querySelector(`[data-motion-styles="${n}"]`)){let o=Object.assign(e.createElement("style"),{textContent:A.styles});o.dataset.motionStyles=n,e.head.append(o)}return e.fonts?Promise.all(t).then(()=>Promise.all(A.fonts.flatMap(o=>o.weights.map(a=>e.fonts.load(`${a} ${o.stretch?`${o.stretch} `:""}16px "${o.family}"`))))).then(()=>e.fonts.ready).then(()=>{},()=>{}):Promise.resolve()}function ID(A,e,t){let n=e.motion.sequence,o=A.querySelector(`[data-scene="${n.path}.$"]`);if(!o)return;let a=S0(t,n.path)??[],r=Object.fromEntries((e.choices??[]).map(s=>[s.field,s.default])),i=a.map((s,l)=>{let d=o.cloneNode(!0);d.dataset.scene=`${n.path}.${l}`;for(let u of Object.keys(n.options)){let c=u===n.motionField?b0(e.motion,s):s[u]??r[u];c!==void 0&&d.setAttribute(`data-${u}`,String(c))}for(let u of Array.from(d.querySelectorAll("[data-when]"))){let[c,p]=u.dataset.when.split("=");d.getAttribute(`data-${c}`)!==p&&u.remove()}for(let u of[d,...Array.from(d.querySelectorAll("[data-content],[data-if]"))])u.dataset.content&&(u.dataset.content=u.dataset.content.replace(`${n.path}.$.`,`${n.path}.${l}.`)),u.dataset.if&&(u.dataset.if=u.dataset.if.replace(`${n.path}.$.`,`${n.path}.${l}.`));return d});o.replaceWith(...i)}function pE(A,e,t,n={}){let o=Hg(e.schema,t);if(!o.valid)throw new Kc(o.errors);let a=MD(e,A.ownerDocument);A.innerHTML=e.template;let r=A.firstElementChild,{motion:i}=e,s=Al(i,t);i.formats&&(r.dataset.format=s.id);for(let[D,k]of Object.entries(rE(t.theme)))r.style.setProperty(D,k);i.sequence&&ID(r,e,t);for(let D of Array.from(A.querySelectorAll("[data-if]"))){let k=S0(t,D.dataset.if);(k==null||k===""||k===!1)&&D.remove()}for(let D of Array.from(A.querySelectorAll("[data-content]")))D.textContent=String(S0(t,D.dataset.content)??"");let l=oE(i),d=Og(i,t),u=Array.from(A.querySelectorAll("[data-scene]")),c=new Map(u.map(D=>[D.dataset.scene,Array.from(D.querySelectorAll("[data-target]"))])),p=`fit${s.id.charAt(0).toUpperCase()}${s.id.slice(1)}`,B=0,v=!1,Q=D=>{let k=Math.max(0,Math.min(d-1,Math.floor(D)));B=k;let U=aE(i,k,t);for(let O of u)O.style.display=O.dataset.scene===U?.id?"":"none";for(let O of(U&&c.get(U.id))??[])O.removeAttribute("style"),Object.assign(O.style,l(O.dataset.target,U.frame,U.scene));n.onFrame?.(k)},C=()=>{if(v)return;for(let U of u)U.style.display="";let D=Array.from(A.querySelectorAll("[data-fit]"));for(let U of D)U.style.removeProperty("--fit");let k=D.map(U=>hE(U.offsetWidth,Number(U.dataset[p]??U.dataset.fit)));D.forEach((U,O)=>k[O]<1&&U.style.setProperty("--fit",String(k[O]))),Q(B)},y=0,w=0,I=D=>{let k=Math.floor((D-w)/1e3*i.fps);if(k>=d&&!n.loop){Q(d-1),y=0,n.onEnd?.();return}Q(k%d),y=requestAnimationFrame(I)},F=()=>{y||v||(B>=d-1&&(B=0),w=performance.now()-B/i.fps*1e3,y=requestAnimationFrame(I))},G=()=>{cancelAnimationFrame(y),y=0};Q(0);let E=a.then(()=>C());return n.autoPlay&&E.then(F),{seek:Q,play:F,pause:G,get frame(){return B},get playing(){return y!==0},fps:i.fps,durationInFrames:d,width:s.width,height:s.height,ready:E,destroy(){v=!0,G(),A.innerHTML=""}}}var Jr=Ue(bt(),1);function wE({template:A,content:e,autoPlay:t=!0,loop:n=!0,width:o,onReady:a,onFrame:r,onInvalid:i,className:s}){let l=(0,Ui.useRef)(null),[d,u]=(0,Ui.useState)(null),c=(0,Ui.useRef)({onReady:a,onFrame:r,onInvalid:i});c.current={onReady:a,onFrame:r,onInvalid:i};let p=JSON.stringify(e);(0,Ui.useEffect)(()=>{let y=l.current;if(!y)return;let w;try{w=pE(y,A,JSON.parse(p),{autoPlay:t,loop:n,onFrame:I=>c.current.onFrame?.(I)}),u(null),c.current.onReady?.(w)}catch(I){if(!(I instanceof Kc))throw I;u(I.errors),c.current.onInvalid?.(I.errors)}return()=>w?.destroy()},[A,p,t,n]);let{width:B,height:v}=Al(A.motion,e),Q=o??B,C=Q/B;return(0,Jr.jsxs)("div",{className:s,style:{position:"relative",width:Q,height:v*Q/B,overflow:"hidden"},children:[(0,Jr.jsx)("div",{ref:l,style:{width:B,height:v,transform:`scale(${C})`,transformOrigin:"0 0"}}),d&&(0,Jr.jsxs)("div",{role:"alert",style:{position:"absolute",inset:0,padding:16,background:"Canvas",color:"CanvasText",font:"13px/1.5 system-ui, sans-serif",overflow:"auto"},children:[(0,Jr.jsx)("strong",{children:"Content does not fit this template:"}),(0,Jr.jsx)("ul",{children:d.map(y=>(0,Jr.jsx)("li",{children:y.message},y.path+y.message))})]})]})}var FD=["outline","monoline"],TD=["start","middle","end"],$o={text:"CAFE",typography:{fontFamily:"Oswald, 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif",fontSize:220,fontWeight:500,fontStyle:"normal",letterSpacing:4,lineHeight:1.15,strokeWidth:8,construction:"outline",align:"middle"},neon:{color:"#FF4655",coreColor:"#FFF5F5",tubeColor:"#FF4655",glowColor:"#FF1838",bloomColor:"#D4002F",intensity:1,bloomIntensity:1,tubeBrightness:1,coreBrightness:1,glowRadius:20,bloomRadius:70,coreWidth:.47,glassOpacity:.16,shadow:{enabled:!0,color:"#000000",opacity:.5,offsetX:.035,offsetY:.045,blur:6}},animation:{enabled:!0,speed:1,seed:7356951,flickerEnabled:!0,flickerIntensity:.15,flickerFrequency:.08,flickerSpeed:1,flickerRandomness:.6,flickerRecovery:.7,flickerMinBrightness:.05,glitchEnabled:!0,glitchIntensity:.15,glitchFrequency:.04,glitchDuration:180,glitchDisplacement:1,glitchRgbSplit:1,glitchSlices:1,glitchGlowSeparation:1},background:null},Oo={red:{color:"#FF3B4D",coreColor:"#FFF5F5",tubeColor:"#FF3B4D",glowColor:"#FF1744",bloomColor:"#C40030"},blue:{color:"#00D9FF",coreColor:"#F5FFFF",tubeColor:"#00D9FF",glowColor:"#009DFF",bloomColor:"#0055FF"},purple:{color:"#D66BFF",coreColor:"#FFF5FF",tubeColor:"#D66BFF",glowColor:"#9C27FF",bloomColor:"#5E00B8"},green:{color:"#39FF88",coreColor:"#F5FFF5",tubeColor:"#39FF88",glowColor:"#00D95F",bloomColor:"#008F3D"}},pT={cafe:{text:"CAFE",typography:{construction:"outline",fontFamily:$o.typography.fontFamily,fontWeight:500,strokeWidth:8,letterSpacing:4}},open:{text:"OPEN",typography:{construction:"outline",fontFamily:$o.typography.fontFamily,fontWeight:500,strokeWidth:8,letterSpacing:10}},night:{text:"NIGHT",typography:{construction:"outline",fontFamily:$o.typography.fontFamily,fontWeight:500,strokeWidth:8,letterSpacing:6}},"24/7":{text:"24/7",typography:{construction:"monoline",fontFamily:"Quicksand, 'Arial Rounded MT Bold', 'Helvetica Neue', Arial, sans-serif",fontWeight:500,strokeWidth:10,letterSpacing:2}},hello:{text:"Hello",typography:{construction:"monoline",fontFamily:"Sacramento, 'Snell Roundhand', 'Brush Script MT', cursive",fontWeight:400,strokeWidth:7,letterSpacing:0}}},kD=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i,kn=A=>typeof A=="string"&&kD.test(A);function el(A){let e=A.length===4?A.slice(1).split("").map(t=>t+t).join(""):A.slice(1);return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}var F0=A=>"#"+A.map(e=>Math.round(Math.max(0,Math.min(255,e))).toString(16).padStart(2,"0")).join("").toUpperCase();function Po(A,e,t){let n=el(A),o=el(e);return F0(n.map((a,r)=>a+(o[r]-a)*t))}function YD([A,e,t]){let[n,o,a]=[A/255,e/255,t/255],r=Math.max(n,o,a),i=Math.min(n,o,a),s=(r+i)/2;if(r===i)return[0,0,s];let l=r-i,d=s>.5?l/(2-r-i):l/(r+i);return[(r===n?(o-a)/l+(o<a?6:0):r===o?(a-n)/l+2:(n-o)/l+4)*60,d,s]}function BE(A,e,t){let n=r=>(r+A/30)%12,o=e*Math.min(t,1-t),a=r=>t-o*Math.max(-1,Math.min(n(r)-3,Math.min(9-n(r),1)));return F0([a(0)*255,a(8)*255,a(4)*255])}function T0(A){let e=kn(A)?A:$o.neon.color,[t,n,o]=YD(el(e)),a=r=>n<.08?t:(t+r+360)%360;return{coreColor:Po(e,"#FFFFFF",.94),tubeColor:F0(el(e)),glowColor:BE(a(-6),Math.min(1,n+.15),Math.max(.3,o*.84)),bloomColor:BE(a(-10),Math.min(1,n+.2),Math.max(.18,o*.6))}}var k0=A=>typeof A=="object"&&A!==null&&!Array.isArray(A);function vE(A){let e=T0(A.color);return{coreColor:kn(A.coreColor)?A.coreColor:e.coreColor,tubeColor:kn(A.tubeColor)?A.tubeColor:e.tubeColor,glowColor:kn(A.glowColor)?A.glowColor:e.glowColor,bloomColor:kn(A.bloomColor)?A.bloomColor:e.bloomColor}}var RD=[{path:"text",label:"Text",group:"Text",type:"text",description:"What the sign says. A new line (\\n) starts a second row."},{path:"typography.fontFamily",label:"Font",group:"Typography",type:"text",description:"A CSS font-family list; the page must load the font."},{path:"typography.fontSize",label:"Font size",group:"Typography",type:"number",min:12,max:1e3,step:1,unit:"units",description:"The em size, in SVG user units."},{path:"typography.fontWeight",label:"Font weight",group:"Typography",type:"number",min:100,max:900,step:100,description:"CSS font-weight."},{path:"typography.fontStyle",label:"Font style",group:"Typography",type:"enum",options:["normal","italic"],description:"Upright or italic."},{path:"typography.letterSpacing",label:"Letter spacing",group:"Typography",type:"number",min:-50,max:200,step:1,unit:"units",description:"Extra space between letters."},{path:"typography.lineHeight",label:"Line height",group:"Typography",type:"number",min:.6,max:3,step:.05,unit:"\xD7 size",description:"Row pitch for multi-line text."},{path:"typography.strokeWidth",label:"Tube width",group:"Typography",type:"number",min:.5,max:80,step:.5,unit:"units",description:"The glass tube. The reference is \u2248 0.033 \xD7 font size."},{path:"typography.construction",label:"Construction",group:"Typography",type:"enum",options:FD,description:"outline: the tube traces each letter (CAFE). monoline: the letter is the tube (24/7)."},{path:"typography.align",label:"Align",group:"Typography",type:"enum",options:TD,description:"Row alignment for multi-line text."},{path:"neon.color",label:"Neon colour",group:"Colour",type:"color",description:"The primary colour; the others follow it unless set."},{path:"neon.tubeColor",label:"Tube colour",group:"Colour",type:"color-or-null",description:"The lit glass. null follows the neon colour."},{path:"neon.coreColor",label:"Core colour",group:"Colour",type:"color-or-null",description:"The hot centre line. null follows the neon colour."},{path:"neon.glowColor",label:"Glow colour",group:"Colour",type:"color-or-null",description:"The tight halo. null follows the neon colour."},{path:"neon.bloomColor",label:"Bloom colour",group:"Colour",type:"color-or-null",description:"The light on the wall. null follows the neon colour."},{path:"neon.intensity",label:"Glow intensity",group:"Light",type:"number",min:0,max:3,step:.05,description:"0 is a bare tube; 1 the reference."},{path:"neon.bloomIntensity",label:"Bloom intensity",group:"Light",type:"number",min:0,max:3,step:.05,description:"The wall bloom\u2019s own strength."},{path:"neon.tubeBrightness",label:"Tube brightness",group:"Light",type:"number",min:0,max:1.5,step:.01,description:"How bright the lit glass is."},{path:"neon.coreBrightness",label:"Core brightness",group:"Light",type:"number",min:0,max:1.5,step:.01,description:"How bright the hot centre line is."},{path:"neon.glowRadius",label:"Glow radius",group:"Light",type:"number",min:0,max:200,step:1,unit:"units",description:"Reach of the tight halo."},{path:"neon.bloomRadius",label:"Bloom radius",group:"Light",type:"number",min:0,max:400,step:1,unit:"units",description:"Reach of the wall bloom."},{path:"neon.coreWidth",label:"Core width",group:"Light",type:"number",min:0,max:1,step:.01,unit:"\xD7 tube",description:"The hot core, as a share of the tube."},{path:"neon.glassOpacity",label:"Unlit glass",group:"Light",type:"number",min:0,max:1,step:.01,description:"How much dark glass shows when the tube dims."},{path:"neon.shadow.enabled",label:"Shadow",group:"Light",type:"boolean",description:"The tube\u2019s dark cast shadow on the wall."},{path:"neon.shadow.color",label:"Shadow colour",group:"Light",type:"color",description:"Shadow colour."},{path:"neon.shadow.opacity",label:"Shadow opacity",group:"Light",type:"number",min:0,max:1,step:.01,description:"Shadow strength."},{path:"neon.shadow.offsetX",label:"Shadow x",group:"Light",type:"number",min:-.5,max:.5,step:.005,unit:"\xD7 size",description:"Shadow offset, across."},{path:"neon.shadow.offsetY",label:"Shadow y",group:"Light",type:"number",min:-.5,max:.5,step:.005,unit:"\xD7 size",description:"Shadow offset, down."},{path:"neon.shadow.blur",label:"Shadow blur",group:"Light",type:"number",min:0,max:100,step:.5,unit:"units",description:"Shadow softness."},{path:"animation.enabled",label:"Animation",group:"Animation",type:"boolean",description:"Flicker and glitch on or off."},{path:"animation.speed",label:"Animation speed",group:"Animation",type:"number",min:.1,max:5,step:.05,unit:"\xD7",description:"Plays everything faster or slower."},{path:"animation.seed",label:"Seed",group:"Animation",type:"number",min:0,max:4294967295,step:1,description:"Same seed, same performance."},{path:"animation.flickerEnabled",label:"Flicker",group:"Flicker",type:"boolean",description:"Brightness flicker on or off."},{path:"animation.flickerIntensity",label:"Flicker intensity",group:"Flicker",type:"number",min:0,max:1,step:.01,description:"0.25 plays the full hardware ranges."},{path:"animation.flickerFrequency",label:"Flicker frequency",group:"Flicker",type:"number",min:0,max:5,step:.01,unit:"/ s",description:"Noticeable flicker events per second."},{path:"animation.flickerSpeed",label:"Flicker speed",group:"Flicker",type:"number",min:.1,max:5,step:.05,unit:"\xD7",description:"How fast each flicker event plays."},{path:"animation.flickerRandomness",label:"Randomness",group:"Flicker",type:"number",min:0,max:1,step:.01,description:"How much events vary in depth and length."},{path:"animation.flickerRecovery",label:"Recovery speed",group:"Flicker",type:"number",min:0,max:1,step:.01,description:"How fast the tube comes back after a dip or failure."},{path:"animation.flickerMinBrightness",label:"Minimum brightness",group:"Flicker",type:"number",min:0,max:1,step:.01,description:"The tube never falls below this."},{path:"animation.glitchEnabled",label:"Glitch",group:"Glitch",type:"boolean",description:"Occasional glitches on or off."},{path:"animation.glitchIntensity",label:"Glitch intensity",group:"Glitch",type:"number",min:0,max:1,step:.01,description:"How far slices shift and colours split."},{path:"animation.glitchFrequency",label:"Glitch frequency",group:"Glitch",type:"number",min:0,max:5,step:.01,unit:"/ s",description:"Glitches per second."},{path:"animation.glitchDuration",label:"Glitch duration",group:"Glitch",type:"number",min:20,max:2e3,step:10,unit:"ms",description:"A glitch\u2019s typical length."},{path:"animation.glitchDisplacement",label:"Horizontal displacement",group:"Glitch",type:"number",min:0,max:2,step:.05,unit:"\xD7",description:"The whole-sign sideways jump."},{path:"animation.glitchRgbSplit",label:"RGB separation",group:"Glitch",type:"number",min:0,max:2,step:.05,unit:"\xD7",description:"The red/cyan split."},{path:"animation.glitchSlices",label:"Slice displacement",group:"Glitch",type:"number",min:0,max:2,step:.05,unit:"\xD7",description:"How far the sliced bands shift."},{path:"animation.glitchGlowSeparation",label:"Glow separation",group:"Glitch",type:"number",min:0,max:2,step:.05,unit:"\xD7",description:"How far the glow slips from the tube."},{path:"background",label:"Background",group:"Colour",type:"color-or-null",description:"A colour behind the sign, or null for transparent."}];function Jg(A,e){return e.split(".").reduce((t,n)=>k0(t)?t[n]:void 0,A)}function Wg(A,e,t){let[n,...o]=e.split("."),a=k0(A)?A:{};return{...a,[n]:o.length?Wg(a[n],o.join("."),t):t}}var CE=200;function Y0(A){let e=[];if(!k0(A))return[{path:"",message:"The config must be an object."}];for(let t of RD){let n=Jg(A,t.path),o=t.path;t.type==="text"?typeof n!="string"?e.push({path:o,message:"Must be text."}):t.path==="text"&&n.length>CE?e.push({path:o,message:`At most ${CE} characters.`}):t.path!=="text"&&!n.trim()&&e.push({path:o,message:"Must not be empty."}):t.type==="number"?typeof n!="number"||!Number.isFinite(n)?e.push({path:o,message:"Must be a number."}):(t.min!==void 0&&n<t.min||t.max!==void 0&&n>t.max)&&e.push({path:o,message:`Must be between ${t.min} and ${t.max}.`}):t.type==="boolean"?typeof n!="boolean"&&e.push({path:o,message:"Must be true or false."}):t.type==="enum"?t.options.includes(n)||e.push({path:o,message:`Must be one of: ${t.options.join(", ")}.`}):t.type==="color"?kn(n)||e.push({path:o,message:"Must be a hex colour like #FF3B4D."}):n!==null&&!kn(n)&&e.push({path:o,message:"Must be a hex colour like #FF3B4D, or null."})}return e}function tl(A,e=0,t=0,n=0){let o=2654435769^Math.imul(A|0,2246822507);return o=Math.imul(o^o>>>15,3266489909)^Math.imul(e|0,668265263),o=Math.imul(o^o>>>13,374761393)^Math.imul(t|0,2654435761),o=Math.imul(o^o>>>16,2246822519)^Math.imul(n|0,3266489917),o^=o>>>16,o=Math.imul(o,2146121005),o^=o>>>15,o=Math.imul(o,2221713035),o^=o>>>16,o>>>0}function $t(A,e,t=0,n=0){return tl(A,e,t,n)/4294967296}function EE(A,e,t,n,o=0){return A+(e-A)*$t(t,n,o)}function R0(A,e,t=0){let n=Math.floor(e),o=e-n,a=o*o*(3-2*o),r=$t(A,n,t)*2-1,i=$t(A,n+1,t)*2-1;return r+(i-r)*a}var Xg=3e3,Gi=100,O0=650,Vg=160,ya={starts:11,offset:12,kind:13,duration:14,depth:15,shape:16},OD={sag:{duration:[300,900],depth:[.03,.15]},flicker:{duration:[120,320],depth:[.12,.3]},dip:{duration:[80,260],depth:[.2,.6]},failure:{duration:[200,O0],depth:[.5,.8]}},PD=.25;function QE([A,e],t,n){return(A+e)/2+(t-.5)*(e-A)*Math.max(0,Math.min(1,n))}var P0=A=>12+290*(1-Math.max(0,Math.min(1,A.flickerRecovery??.7))),U0=A=>A==="dip"||A==="failure",UD=(A,e)=>U0(e.kind)?Math.max(P0(A)*5,e.kind==="failure"?Vg:0):0;function ME(A,e,t,n,o=!1){let a=A.flickerRandomness??.6,r=OD[e];return{kind:e,start:t,slot:n,forced:o,duration:QE(r.duration,$t(A.seed,n,ya.duration),a),depth:QE(r.depth,$t(A.seed,n,ya.depth),a)}}function IE(A,e){let t=Math.min(.9,Math.max(0,A.flickerFrequency)*(Gi/1e3));if(t<=0||$t(A.seed,e,ya.starts)>=t)return null;let n=.5+($t(A.seed,e,ya.offset)-.5)*Math.max(0,Math.min(1,A.flickerRandomness??.6)),o=$t(A.seed,e,ya.kind),a=o<.62?"sag":o<.78?"flicker":o<.93?"dip":"failure";return ME(A,a,e*Gi+n*Gi,e)}function DE(A,e,t){return e?.length?e.flatMap((n,o)=>n.kind==="glitch"||n.kind==="normal"?[]:[ME(A,n.kind,t(n.at),-1000003-o*7,!0)]):[]}function SE(A,e,t){let n=null;for(let o of A??[]){if(o.kind!=="normal")continue;let a=e(o.at),r=e(o.at+Xg);t>=a&&t<r&&(!n||a>n[0])&&(n=[a,r])}return n}function FE(A,e,t,n=o=>o){let o=SE(t,n,e),a=i=>e>=i.start&&e<i.start+i.duration+UD(A,i)&&(!o||i.start>=o[0]),r=[];if(!o){let i=Math.ceil((O0+Math.max(Vg,P0(A)*5))/Gi)+1,s=Math.floor(e/Gi);for(let l=s-i;l<=s;l++){let d=IE(A,l);d&&a(d)&&r.push(d)}}for(let i of DE(A,t,n))a(i)&&r.push(i);return r}var _g=A=>A<=0?0:A>=1?1:A*A*(3-2*A);function GD(A,e,t){let n=(t-e.start)/e.duration;if(n>=1){if(!U0(e.kind))return 0;let r=t-e.start-e.duration,i=(e.kind==="failure"?.5:.35)*Math.exp(-r/P0(A)),s=e.kind==="failure"&&r<Vg?.03/e.depth*Math.sin(Math.PI*(r/Vg)):0;return i-s}if(e.kind==="sag")return Math.pow(Math.sin(Math.PI*Math.min(1,Math.max(0,n))),1.5)*(.85+.15*Math.sin(n*Math.PI*6));if(e.kind==="flicker"){let r=20+20*$t(A.seed,e.slot,ya.shape,998),i=Math.floor((t-e.start)/r);return i%2===0?.6+.4*$t(A.seed,e.slot,ya.shape,i):.05}if(e.kind==="dip"){if(n<.15)return _g(n/.15);if(n>.7)return 1-_g((n-.7)/.3)*.65;let r=Math.floor((t-e.start)/25);return $t(A.seed,e.slot,ya.shape,r)<.3?.55:1}if(n<.06)return _g(n/.06);if(n>.88)return 1-_g((n-.88)/.12)*.5;let o=Math.floor((t-e.start)/(16+17*$t(A.seed,e.slot,ya.shape,999))),a=$t(A.seed,e.slot,ya.shape,o);return a<.55?1:a<.85?.45:.15}function ND(A,e,t,n){let o=Math.max(0,A.flickerIntensity)/PD,a=Math.max(0,Math.min(1,A.flickerMinBrightness??.05)),r=!!t?.some(d=>d.kind!=="glitch");if((!A.flickerEnabled||o===0)&&!r)return 1;let i=Math.max(o,r?1:0),s=A.flickerEnabled?.04*Math.min(o,1.5)*(.5+.833*Math.max(0,Math.min(1,A.flickerRandomness??.6))):0,l=1-s*.25+s*(.6*R0(A.seed,e/140,1)+.4*R0(A.seed,e/43,2));for(let d of FE(A,e,t,n)){if(!d.forced&&(!A.flickerEnabled||o===0))continue;let u=Math.min(.95,d.depth*(d.forced?i:o));l*=1-u*GD(A,d,e)}return Math.max(a,Math.max(.02,l))}var xE=(A,e)=>e*Math.max(.01,A.flickerSpeed);function TE(A,e,t,n){if(!(A.enabled&&(A.flickerEnabled&&A.flickerIntensity>0||!!t?.some(B=>B.kind!=="glitch"&&B.kind!=="normal"))))return{brightness:1,tube:1,core:1,glow:1,bloom:1,event:null};let a=xE(A,e),r=n??(B=>xE(A,B)),i=B=>ND(A,a-B,t,r),s=i(0),l=(s+i(25)+i(50))/3,d=(i(20)+i(45)+i(70)+i(95)+i(120))/5,u=FE(A,a,t,r).filter(B=>a<B.start+B.duration),c={failure:4,dip:3,flicker:2,sag:1},p=u.sort((B,v)=>c[v.kind]-c[B.kind]||v.depth-B.depth)[0];return{brightness:s,tube:s,core:Math.pow(s,.75),glow:Math.pow(l,1.3),bloom:Math.pow(d,1.8),event:p?.kind??null}}function kE(A,e,t,n,o=a=>a){if(!(t>e))return[];let a=[],r=s=>{s.start>=e&&s.start<t&&a.push({kind:s.kind,at:s.start,depth:s.depth});let l=s.start+s.duration;U0(s.kind)&&l>=e&&l<t&&a.push({kind:"restore",at:l,depth:s.depth})},i=s=>SE(n,o,s);if(A.flickerEnabled&&A.flickerIntensity>0&&t-e<12e4)for(let s=Math.floor((e-O0)/Gi);s<=Math.floor(t/Gi);s++){let l=IE(A,s);l&&!i(l.start)&&r(l)}for(let s of DE(A,n,o))r(s);return a.sort((s,l)=>s.at-l.at)}var Ni=250,LD=45,$g={starts:21,offset:22,duration:23,step:24};function YE(A,e){let t=Math.min(.9,Math.max(0,A.glitchFrequency)*(Ni/1e3));return t<=0||$t(A.seed,e,$g.starts)>=t?null:{start:e*Ni+$t(A.seed,e,$g.offset)*Ni,duration:Math.max(20,A.glitchDuration)*EE(.6,1.4,A.seed,e,$g.duration),slot:e}}function HD(A,e,t,n=o=>o){let o=null,a=!1;if((t??[]).forEach((s,l)=>{let d=n(s.at);if(s.kind==="normal"&&e>=d&&e<n(s.at+Xg)&&(a=!0),s.kind!=="glitch")return;let u={start:d,duration:Math.max(60,A.glitchDuration)*1.2,slot:-2000017-l*11,forced:!0};e>=u.start&&e<u.start+u.duration&&(!o||u.start>o.start)&&(o=u)}),o)return o;if(a)return null;let r=Math.floor(e/Ni),i=Math.ceil(Math.max(20,A.glitchDuration)*1.4/Ni)+1;for(let s=r;s>=r-i;s--){let l=YE(A,s);if(l&&e>=l.start&&e<l.start+l.duration)return l}return null}function RE(A,e,t,n){if(!A.enabled)return null;let o=A.glitchEnabled&&A.glitchIntensity>0,a=!!t?.some(I=>I.kind==="glitch");if(!o&&!a)return null;let r=HD(A,e,t,n);if(!r||!r.forced&&!o)return null;let i=Math.min(1,Math.max(r.forced?.5:0,Math.max(0,A.glitchIntensity))),s=Math.floor((e-r.start)/LD),l=I=>$t(A.seed,r.slot,$g.step+I,s),d=(e-r.start)/r.duration;if(l(0)<.25)return{shiftX:0,slices:[],rgbSplit:0,glowShiftX:0,keep:1,progress:d};let u=I=>l(I)<.5?-1:1,c=I=>Math.max(0,Math.min(2,I??1)),[p,B,v,Q]=[c(A.glitchDisplacement),c(A.glitchRgbSplit),c(A.glitchSlices),c(A.glitchGlowSeparation)],C=u(1)*l(2)*.035*i*p,y=l(3)<.35?0:1+Math.floor(l(4)*(1+2*i)),w=[];for(let I=0;I<y;I++){let F=.06+l(10+I)*.16;w.push({y:l(20+I)*(1-F),h:F,dx:u(30+I)*(.02+l(40+I)*.07)*i*v,keep:l(50+I)<.4?.45+.4*l(60+I):1})}return l(5)<.45&&w.push({y:l(6)*.97,h:.012+l(7)*.02,dx:u(8)*(.06+.06*l(9))*i*v,keep:.8}),{shiftX:C,slices:w,rgbSplit:l(70)<.6?(.008+.017*l(71))*i*B:0,glowShiftX:l(72)<.5?(-C*.8-u(73)*.01*i)*Q:0,keep:1-.3*i*l(74),progress:d}}function OE(A,e,t,n,o=a=>a){if(!(t>e)||!A.enabled)return[];let a=[],r=i=>(n??[]).some(s=>s.kind==="normal"&&i>=o(s.at)&&i<o(s.at+Xg));if(A.glitchEnabled&&A.glitchIntensity>0&&t-e<12e4)for(let i=Math.floor(e/Ni);i<=Math.floor(t/Ni);i++){let s=YE(A,i);s&&s.start>=e&&s.start<t&&!r(s.start)&&a.push({at:s.start,duration:s.duration})}for(let i of n??[]){if(i.kind!=="glitch")continue;let s=o(i.at);s>=e&&s<t&&a.push({at:s,duration:Math.max(60,A.glitchDuration)*1.2})}return a.sort((i,s)=>i.at-s.at)}var zD={brightness:1,tube:1,core:1,glow:1,bloom:1,event:null};function Zg(A,e,t){let n=A.animation;if(!n.enabled||!Number.isFinite(e))return{timeMs:e,levels:zD,glitch:null};let o=Math.max(0,n.speed),a=Math.max(.01,n.flickerSpeed),r=e*o,i=RE(n,r,t,l=>l*o),s=TE(n,r,t,l=>l*o*a);if(i&&i.keep<1){let l=i.keep;return{timeMs:e,levels:{...s,tube:s.tube*l,core:s.core*(.5+.5*l),glow:s.glow*l,bloom:s.bloom*(.7+.3*l)},glitch:i}}return{timeMs:e,levels:s,glitch:i}}var jA=Ue(bt(),1),He=A=>Math.round(A*1e3)/1e3,nl=A=>Math.max(0,Math.min(1,A)),qg={red:"#FF0000",cyan:"#00FFFF"};function G0({source:A,material:e,levels:t,glitch:n,box:o,em:a,pad:r,idPrefix:i,part:s="all"}){let l={filterUnits:"userSpaceOnUse",x:He(o.x-r-a),y:He(o.y-r-a),width:He(o.width+2*(r+a)),height:He(o.height+2*(r+a))},d=A.kind==="raster",u=(R,P)=>{let j=A,K=j.mode==="luminance"?(0,jA.jsx)("feColorMatrix",{in:"SourceGraphic",type:"luminanceToAlpha",result:"a"}):(0,jA.jsx)("feColorMatrix",{in:"SourceGraphic",type:"matrix",values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"a"}),H=nl(j.threshold),N=Array.from({length:20},(_,q)=>q/20>=H?1:0).join(" "),Z=He(Math.max(.5,P/2));return(0,jA.jsxs)("filter",{id:R,...l,colorInterpolationFilters:"sRGB",children:[K,(0,jA.jsx)("feComponentTransfer",{in:"a",result:"s",children:(0,jA.jsx)("feFuncA",{type:"discrete",tableValues:N})}),(0,jA.jsx)("feMorphology",{in:"s",operator:"dilate",radius:Z,result:"d"}),j.filled?null:(0,jA.jsx)("feMorphology",{in:"s",operator:"erode",radius:Z,result:"e"}),j.filled?null:(0,jA.jsx)("feComposite",{in:"d",in2:"e",operator:"out",result:"d"}),(0,jA.jsx)("feFlood",{floodColor:"#fff",result:"w"}),(0,jA.jsx)("feComposite",{in:"w",in2:"d",operator:"in"})]})},c={tube:`${i}band-tube`,interior:`${i}band-interior`,core:`${i}band-core`,glow:`${i}band-glow`,bloom:`${i}band-bloom`},p=(R,P,j,K="tube",H={})=>A.kind==="vector"?(0,jA.jsx)("use",{href:`#${A.href}`,fill:A.filled?P:"none",stroke:P,strokeWidth:He(j),strokeLinejoin:"round",strokeLinecap:"round",...H},R):(0,jA.jsx)("g",{...H,children:(0,jA.jsx)("g",{filter:`url(#${i}tint-${R})`,children:(0,jA.jsx)("g",{filter:`url(#${c[K]})`,children:(0,jA.jsx)("use",{href:`#${A.href}`})})})},R),B=[],v=(R,P)=>(B.some(j=>j.key===R)||B.push({key:R,color:P}),R),C=(n?.slices??[]).map(R=>({y:o.y+R.y*o.height,h:R.h*o.height,dx:R.dx*a,keep:R.keep})),y={y0:o.y-r-a,y1:o.y+o.height+r+a},w=[];if(C.length){let R=y.y0;for(let P of[...C].sort((j,K)=>j.y-K.y))P.y>R&&w.push({y:R,h:P.y-R}),R=Math.max(R,P.y+P.h);w.push({y:R,h:y.y1-R})}let I={x:o.x-r-2*a,width:o.width+2*r+4*a},F=(R,P)=>C.length?(0,jA.jsxs)(jA.Fragment,{children:[(0,jA.jsx)("g",{clipPath:`url(#${i}rest)`,children:P(1)},`${R}-rest`),C.map((j,K)=>(0,jA.jsx)("g",{clipPath:`url(#${i}slice-${K})`,children:(0,jA.jsx)("g",{transform:`translate(${He(j.dx)} 0)`,children:P(j.keep)})},`${R}-slice-${K}`))]}):P(1),G=n?n.shiftX*a:0,E=n?n.glowShiftX*a:0,D=n?n.rgbSplit*a:0,k=E||G?`translate(${He(G+E)} 0)`:void 0,U=G?`translate(${He(G)} 0)`:void 0,O=(R,P,j)=>P>0?(0,jA.jsx)("g",{filter:`url(#${i}${R})`,children:j}):j,T=(0,jA.jsxs)(jA.Fragment,{children:[e.shadow.enabled&&s!=="light"?(0,jA.jsx)("g",{"data-layer":"shadow",opacity:He(e.opacity.shadow),transform:`translate(${He(e.shadow.dx+G)} ${He(e.shadow.dy)})`,children:O("shadow",e.blur.shadow,p(v("shadow",e.colors.shadow),e.colors.shadow,e.width.shadow))}):null,s==="shadow"?null:(0,jA.jsxs)(jA.Fragment,{children:[e.opacity.bloom>0?(0,jA.jsx)("g",{"data-layer":"bloom",opacity:He(nl(e.opacity.bloom*t.bloom)),transform:k,style:{mixBlendMode:"screen"},children:O("bloom",e.blur.bloom,p(v("bloom",e.colors.bloom),e.colors.bloom,e.width.bloom,"bloom"))}):null,e.opacity.glow>0?(0,jA.jsx)("g",{"data-layer":"glow",opacity:He(nl(e.opacity.glow*t.glow)),transform:k,style:{mixBlendMode:"screen"},children:O("glow",e.blur.glow,p(v("glow",e.colors.glow),e.colors.glow,e.width.glow,"glow"))}):null,(0,jA.jsxs)("g",{"data-layer":"tube",transform:U,children:[F("tube",R=>(0,jA.jsxs)(jA.Fragment,{children:[e.opacity.glass>0?p(v("glass",e.colors.glass),e.colors.glass,e.width.tube,"tube",{opacity:He(e.opacity.glass)}):null,(0,jA.jsxs)("g",{opacity:He(nl(t.tube*R*e.opacity.tube)),children:[p(v("rim",e.colors.tube),e.colors.tube,e.width.tube),p(v("interior",e.colors.interior),e.colors.interior,e.width.interior,"interior")]})]})),D>0?(0,jA.jsxs)("g",{"data-glitch":"rgb-split",opacity:He(nl(.45*t.tube)),style:{mixBlendMode:"screen"},children:[p(v("ghost-red",qg.red),qg.red,e.width.tube*.8,"tube",{transform:`translate(${He(D)} 0)`}),p(v("ghost-cyan",qg.cyan),qg.cyan,e.width.tube*.8,"tube",{transform:`translate(${He(-D)} 0)`})]}):null]}),(0,jA.jsx)("g",{"data-layer":"core",transform:U,children:F("core",R=>(0,jA.jsx)("g",{opacity:He(nl(t.core*R*e.opacity.core)),children:p(v("core",e.colors.core),e.colors.core,e.width.core,"core")}))})]})]});return(0,jA.jsxs)(jA.Fragment,{children:[(0,jA.jsxs)("defs",{children:[e.blur.shadow>0?(0,jA.jsx)("filter",{id:`${i}shadow`,...l,children:(0,jA.jsx)("feGaussianBlur",{stdDeviation:He(e.blur.shadow)})}):null,e.blur.bloom>0?(0,jA.jsx)("filter",{id:`${i}bloom`,...l,children:(0,jA.jsx)("feGaussianBlur",{stdDeviation:He(e.blur.bloom)})}):null,e.blur.glow>0?(0,jA.jsx)("filter",{id:`${i}glow`,...l,children:(0,jA.jsx)("feGaussianBlur",{stdDeviation:He(e.blur.glow)})}):null,d?(0,jA.jsxs)(jA.Fragment,{children:[u(c.tube,e.width.tube),u(c.interior,e.width.interior),u(c.core,e.width.core),s!=="shadow"&&e.opacity.glow>0?u(c.glow,e.width.glow):null,s!=="shadow"&&e.opacity.bloom>0?u(c.bloom,e.width.bloom):null,B.map(R=>(0,jA.jsxs)("filter",{id:`${i}tint-${R.key}`,...l,colorInterpolationFilters:"sRGB",children:[(0,jA.jsx)("feFlood",{floodColor:R.color,result:"c"}),(0,jA.jsx)("feComposite",{in:"c",in2:"SourceAlpha",operator:"in"})]},R.key))]}):null,C.length?(0,jA.jsxs)(jA.Fragment,{children:[(0,jA.jsx)("clipPath",{id:`${i}rest`,clipPathUnits:"userSpaceOnUse",children:w.map((R,P)=>(0,jA.jsx)("rect",{x:He(I.x),y:He(R.y),width:He(I.width),height:He(Math.max(0,R.h))},P))}),C.map((R,P)=>(0,jA.jsx)("clipPath",{id:`${i}slice-${P}`,clipPathUnits:"userSpaceOnUse",children:(0,jA.jsx)("rect",{x:He(I.x),y:He(R.y),width:He(I.width),height:He(R.h)})},P))]}):null]}),T]})}var Af=Ue(bt(),1),PE=A=>Math.round(A*1e3)/1e3;function UE({id:A,layout:e,typography:t}){let n=e.textAnchor==="middle"?t.letterSpacing/2:e.textAnchor==="end"?t.letterSpacing:0;return(0,Af.jsx)("text",{id:A,fontFamily:t.fontFamily,fontSize:t.fontSize,fontWeight:t.fontWeight,fontStyle:t.fontStyle,letterSpacing:t.letterSpacing,textAnchor:e.textAnchor,style:{whiteSpace:"pre"},children:e.rows.map((o,a)=>(0,Af.jsx)("tspan",{x:PE(e.anchorX+n),y:PE(o.y),children:o.text},a))})}function GE(A,e){let t=A.shadow.enabled?Math.hypot(A.shadow.offsetX,A.shadow.offsetY)*e.fontSize+A.shadow.blur*2:0,n=A.intensity>0?Math.max(A.bloomRadius*1.25,A.glowRadius*1.6):0;return Math.ceil(Math.max(t,n)+e.strokeWidth*2+e.fontSize*.04)}function NE(A,e){let t=vE(A),n=e.strokeWidth,o=Math.max(0,A.intensity);return{colors:{core:t.coreColor,tube:t.tubeColor,interior:Po(t.tubeColor,t.coreColor,.45),glass:Po(t.tubeColor,"#000000",.55),glow:t.glowColor,bloom:t.bloomColor,shadow:A.shadow.color},width:{tube:n,interior:n*.72,core:e.construction==="monoline"?n*A.coreWidth*.5:n*A.coreWidth,glow:n*(1.4+.5*Math.sqrt(o)),bloom:n*4+A.glowRadius*.6,shadow:n*1.05},blur:{glow:Math.max(0,A.glowRadius)/2,bloom:Math.max(0,A.bloomRadius)/2,shadow:Math.max(0,A.shadow.blur)/2},opacity:{glass:A.glassOpacity,tube:Math.max(0,A.tubeBrightness??1),core:Math.max(0,A.coreBrightness??1),glow:Math.min(1,.9*o),bloom:Math.min(1,.8*o*Math.max(0,A.bloomIntensity??1)),shadow:A.shadow.opacity},shadow:{enabled:A.shadow.enabled&&A.shadow.opacity>0,dx:A.shadow.offsetX*e.fontSize,dy:A.shadow.offsetY*e.fontSize},filled:e.construction==="monoline"}}var Jc=new Set(["path","circle","ellipse","rect","line","polyline","polygon"]),LE=new Set(["g","a","switch"]),HE=new Set(["defs","style","script","title","desc","metadata","clippath","mask","pattern","lineargradient","radialgradient","filter","symbol","marker","text","foreignobject","image","use"]),jD=new Set(["d","cx","cy","r","rx","ry","x","y","width","height","x1","y1","x2","y2","points","transform","fill-rule"]),KD=/^[\s\d.,eE+\-MmLlHhVvCcSsQqTtAaZz()a-z%]*$/,JD=/^\s*((matrix|translate|scale|rotate|skewX|skewY)\s*\([\d\s.,eE+-]*\)\s*,?\s*)*$/;function WD(A){let e={};for(let t of A.matchAll(/([a-zA-Z_:][\w:.-]*)\s*=\s*("([^"]*)"|'([^']*)')/g))e[t[1].toLowerCase()]=t[3]??t[4]??"";return e}var zE=5e5,_D=2e3;function N0(A){if(typeof A!="string"||!A.trim())throw new Error("The SVG is empty.");if(A.length>zE)throw new Error(`The SVG is larger than ${zE/1e3} kB.`);let e=A.replace(/<!--[\s\S]*?-->/g,"").replace(/<!\[CDATA\[[\s\S]*?\]\]>/g,"").replace(/<![^>]*>/g,"").replace(/<\?[\s\S]*?\?>/g,""),t={tag:"g",attrs:{},children:[]},n=[{node:t,tag:"#root"}],o=null,a=0,r=0;for(let i of e.matchAll(/<(\/?)([a-zA-Z][\w:.-]*)((?:\s+[^\s=>/]+\s*=\s*(?:"[^"]*"|'[^']*'))*)\s*(\/?)>/g)){let[,s,l,d,u]=i,c=l.toLowerCase().replace(/^svg:/,"");if(s){for(;n.length>1&&n.pop().tag!==c;);continue}let p=n[n.length-1].node,B=WD(d??"");if(c==="svg"&&!o){let Q=(B.viewbox??"").trim().split(/[\s,]+/).map(Number);if(Q.length===4&&Q.every(Number.isFinite)&&Q[2]>0&&Q[3]>0)o=Q;else{let C=parseFloat(B.width??""),y=parseFloat(B.height??"");C>0&&y>0&&(o=[0,0,C,y])}}if(c==="svg"){u||n.push({node:p,tag:c});continue}let v=null;if(p&&!HE.has(c)&&(Jc.has(c)||LE.has(c))&&a<_D){let Q={};for(let[C,y]of Object.entries(B))jD.has(C)&&((C==="transform"?!JD.test(y):!KD.test(y))||LE.has(c)&&C!=="transform"||(Q[C]=y));v={tag:Jc.has(c)?c:"g",attrs:Q,children:[]},p.children.push(v),a++,Jc.has(c)&&r++}!u&&!Jc.has(c)?n.push({node:HE.has(c)?null:v,tag:c}):!u&&Jc.has(c)&&n.push({node:null,tag:c})}if(!r)throw new Error("The SVG has no shapes to bend into tubes (paths, circles, rects, lines or polygons).");return{viewBox:o??[0,0,100,100],nodes:t.children,shapes:r}}var Wr={heart:{name:"Heart",svg:'<svg viewBox="0 0 100 100"><path d="M50 84 C22 64 8 48 12 32 C16 17 35 13 45 24 C48 27 49 30 50 33 C51 30 52 27 55 24 C65 13 84 17 88 32 C92 48 78 64 50 84 Z"/></svg>'},star:{name:"Star",svg:'<svg viewBox="0 0 100 100"><polygon points="50,9 61,37 91,38 67,57 76,87 50,70 24,87 33,57 9,38 39,37"/></svg>'},bolt:{name:"Lightning",svg:'<svg viewBox="0 0 100 100"><path d="M60 7 L26 55 L49 55 L40 93 L75 42 L52 42 Z"/></svg>'},moon:{name:"Moon",svg:'<svg viewBox="0 0 100 100"><path d="M64 12 C40 16 26 35 28 55 C30 76 50 90 72 87 C56 80 45 66 45 49 C45 33 52 20 64 12 Z"/></svg>'},sparkle:{name:"Sparkle",svg:'<svg viewBox="0 0 100 100"><path d="M50 8 C54 38 62 46 92 50 C62 54 54 62 50 92 C46 62 38 54 8 50 C38 46 46 38 50 8 Z"/></svg>'},note:{name:"Music note",svg:'<svg viewBox="0 0 100 100"><path d="M38 74 C38 83 21 86 19 77 C17 69 33 64 38 71 L38 20 L80 11 L80 64 C80 73 63 76 61 67 C59 59 75 54 80 61"/><path d="M38 31 L80 22"/></svg>'},arrow:{name:"Arrow",svg:'<svg viewBox="0 0 100 100"><path d="M10 50 L84 50"/><path d="M62 28 L86 50 L62 72"/></svg>'},cocktail:{name:"Cocktail",svg:'<svg viewBox="0 0 100 100"><path d="M18 18 L82 18 L50 54 Z"/><path d="M50 54 L50 86 M32 86 L68 86"/><circle cx="70" cy="12" r="7"/></svg>'},rocket:{name:"Rocket",svg:'<svg viewBox="0 0 100 100"><path d="M50 8 C66 22 70 44 64 66 L36 66 C30 44 34 22 50 8 Z"/><circle cx="50" cy="36" r="7"/><path d="M36 54 L24 72 L36 68 M64 54 L76 72 L64 68 M44 74 L50 90 L56 74"/></svg>'},crown:{name:"Crown",svg:'<svg viewBox="0 0 100 100"><path d="M14 74 L10 30 L32 50 L50 20 L68 50 L90 30 L86 74 Z"/><path d="M16 84 L84 84"/></svg>'}};var Ze=(A,e,t,n,o,a,r,i)=>({id:A,name:e,category:t,family:o?`'${e}', ${n}`:n,google:o,weight:a,construction:r,stroke:i}),ba=[Ze("tilt-neon","Tilt Neon","neon tube","Quicksand, sans-serif","Tilt+Neon",400,"monoline",.04),Ze("bebas-neue","Bebas Neue","condensed","Oswald, 'Arial Narrow', sans-serif","Bebas+Neue",400,"outline",.033),Ze("anton","Anton","bold","'Arial Narrow', Impact, sans-serif","Anton",400,"outline",.03),Ze("oswald","Oswald","condensed","'Arial Narrow', 'Helvetica Neue', Arial, sans-serif","Oswald:wght@300;400;500;600;700",500,"outline",.036),Ze("space-grotesk","Space Grotesk","geometric","'Helvetica Neue', Arial, sans-serif","Space+Grotesk:wght@400;500;700",500,"outline",.033),Ze("orbitron","Orbitron","futuristic","'Eurostile', sans-serif","Orbitron:wght@400;600;800",600,"outline",.03),Ze("audiowide","Audiowide","futuristic","sans-serif","Audiowide",400,"outline",.03),Ze("russo-one","Russo One","signage","Impact, 'Arial Black', sans-serif","Russo+One",400,"outline",.03),Ze("rajdhani","Rajdhani","industrial","'Arial Narrow', sans-serif","Rajdhani:wght@500;600;700",600,"outline",.033),Ze("exo-2","Exo 2","futuristic","sans-serif","Exo+2:wght@300;500;700",500,"outline",.033),Ze("montserrat","Montserrat","geometric","'Helvetica Neue', Arial, sans-serif","Montserrat:wght@300;500;700",500,"outline",.033),Ze("inter","Inter","geometric","system-ui, 'Helvetica Neue', Arial, sans-serif","Inter:wght@300;500;700",500,"outline",.033),Ze("archivo","Archivo","signage","'Helvetica Neue', Arial, sans-serif","Archivo:wght@400;600;800",600,"outline",.033),Ze("barlow-condensed","Barlow Condensed","condensed","'Arial Narrow', sans-serif","Barlow+Condensed:wght@400;600",600,"outline",.034),Ze("sora","Sora","geometric","sans-serif","Sora:wght@300;500;700",500,"outline",.033),Ze("raleway","Raleway","thin","'Helvetica Neue', sans-serif","Raleway:wght@200;300;500",300,"monoline",.03),Ze("press-start-2p","Press Start 2P","arcade","'Courier New', monospace","Press+Start+2P",400,"outline",.03),Ze("pacifico","Pacifico","handwritten","'Brush Script MT', cursive","Pacifico",400,"outline",.026),Ze("dm-sans","DM Sans","rounded","'Helvetica Neue', Arial, sans-serif","DM+Sans:wght@300;500;700",500,"outline",.033),Ze("quicksand","Quicksand","rounded","'Arial Rounded MT Bold', 'Helvetica Neue', Arial, sans-serif","Quicksand:wght@300;400;500;600;700",500,"monoline",.045),Ze("sacramento","Sacramento","handwritten","'Snell Roundhand', 'Brush Script MT', cursive","Sacramento",400,"monoline",.03),Ze("righteous","Righteous","retro","sans-serif","Righteous",400,"outline",.03),Ze("space-mono","Space Mono","monospace","'Courier New', monospace","Space+Mono:wght@400;700",400,"monoline",.03),Ze("great-vibes","Great Vibes","elegant","'Snell Roundhand', cursive","Great+Vibes",400,"monoline",.022),Ze("black-ops-one","Black Ops One","industrial","Impact, sans-serif","Black+Ops+One",400,"outline",.026),Ze("monoton","Monoton","display","sans-serif","Monoton",400,"monoline",.008),Ze("system","System","system","system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",null,600,"outline",.033)],Wc=Ze("noto-emoji","Noto Emoji","display","sans-serif","Noto+Emoji:wght@400;500;700",500,"outline",.03);function ef(A){let e=A.trim().toLowerCase().replace(/[-_]+/g," ");if(e)return ba.find(t=>t.id.replace(/-/g," ")===e||t.name.toLowerCase()===e)??ba.find(t=>t.name.toLowerCase().startsWith(e)||t.family.toLowerCase().startsWith(`'${e}`))??ba.find(t=>t.name.toLowerCase().includes(e))}function jE(A=[...ba,Wc]){return`https://fonts.googleapis.com/css2?${[...new Set(A.map(t=>t.google).filter(t=>!!t))].map(t=>`family=${t}`).join("&")}&display=swap`}function ol(A){return`${A.fontStyle} ${A.fontWeight} ${A.fontSize}px ${A.fontFamily}`}var VD=new Set([..."iIl.,:;!|'`jft1"]),XD=new Set([..."MWmw@%"]),$D=/[A-Z0-9]/,wa=(A,e)=>{let t=/oswald|bebas|narrow|condensed|compressed|league gothic|anton/i.test(e.fontFamily)?.8:1,n=.92+(e.fontWeight-400)/2500,o=0;for(let a of A)a===" "?o+=.28:VD.has(a)?o+=.3:XD.has(a)?o+=.86:a==="/"?o+=.4:$D.test(a)?o+=.64:o+=.54;return o*t*n*e.fontSize};function ZD(A){let e=String(A??"").replace(/\\n/g,`
|
|
225
|
+
`).replace(/\r\n?/g,`
|
|
226
|
+
`).replace(/\t/g," ").split(`
|
|
227
|
+
`);return e.length&&e.some(t=>t.length)?e:[" "]}var qD=.74,A5=.24;function KE(A,e,t,n=wa){let o=ZD(A),a=e.fontSize*e.lineHeight,r=o.map((p,B)=>{let v=[...p].length,Q;try{Q=n(p,e)}catch{Q=wa(p,e)}return(!Number.isFinite(Q)||Q<0)&&(Q=wa(p,e)),{text:p,y:B*a,width:Q+e.letterSpacing*Math.max(0,v-1)}}),i=Math.max(e.fontSize*.3,...r.map(p=>p.width)),s=e.align,l=s==="start"?-i/2:s==="end"?i/2:0,d=-e.fontSize*qD-e.strokeWidth,u=(o.length-1)*a+e.fontSize*A5+e.strokeWidth,c={x:-i/2-e.strokeWidth,y:d,width:i+2*e.strokeWidth,height:u-d};return{rows:r,anchorX:l,textAnchor:s,box:c,viewBox:{x:c.x-t,y:c.y-t,width:c.width+2*t,height:c.height+2*t},pad:t}}var _c={enabled:!0,seed:7356951,brickWidth:150,brickHeight:52,mortar:4,brickColor:"#0D1230",mortarColor:"#030409",variation:.5,texture:.5,ambientColor:"#1F2FD0",ambient:.55,vignette:.85,lightSpill:1,spillRadius:260,glitchAffectsWall:!0},Ce=A=>Math.round(A*10)/10,L0=(A,e)=>kn(A)?A:e;function tf(A,e,t){let n=Math.max(20,A.brickWidth),o=Math.max(10,A.brickHeight),a=Math.max(0,Math.min(o/3,A.mortar)),r=[],i=Math.ceil(t/o)+1,s=Math.ceil(e/n)+2;for(let l=0;l<i;l++){let d=l%2?-n/2:0;for(let u=0;u<s;u++){let c=l*1e3+u,p=F=>$t(A.seed,c,300+F),B=d+u*n+a/2+(p(1)-.5)*a*.6,v=l*o+a/2+(p(2)-.5)*a*.4,Q=n-a+(p(3)-.5)*a*.6,C=o-a;if(B>e||B+Q<0||v>t)continue;let y=.4+.22*p(4),w=7+Math.floor(p(5)*5),I=[];for(let F=0;F<=w;F++){let G=F/w,E=p(20+F)<.18?.12*p(40+F):0;I.push([B+G*Q,v+C*(y+(p(60+F)-.5)*.1-E)])}r.push({x:B,y:v,w:Q,h:C,shade:(p(6)-.5)*2*A.variation,face:I,foot:.78+.1*p(7),slot:c})}}return r}function JE(A,e,t,n,o,a){let r=Math.min(5,A.h*.12),i=[`M${Ce(A.x+r)} ${Ce(A.y+1.5)}`,`L${Ce(A.x+A.w-r)} ${Ce(A.y+1.5)}`,`Q${Ce(A.x+A.w-1.5)} ${Ce(A.y+1.5)} ${Ce(A.x+A.w-1.5)} ${Ce(A.y+r)}`].concat([...A.face].reverse().map(([s,l])=>`L${Ce(Math.min(A.x+A.w-1.5,Math.max(A.x+1.5,s)))} ${Ce(l)}`)).concat([`L${Ce(A.x+1.5)} ${Ce(A.y+r)}`,`Q${Ce(A.x+1.5)} ${Ce(A.y+1.5)} ${Ce(A.x+r)} ${Ce(A.y+1.5)}Z`]).join("");return`<rect x="${Ce(A.x)}" y="${Ce(A.y)}" width="${Ce(A.w)}" height="${Ce(A.h)}" rx="${Ce(r)}" fill="${e}"/><path d="${i}" fill="${t}" opacity="${a}"/><rect x="${Ce(A.x+2)}" y="${Ce(A.y+A.h*A.foot)}" width="${Ce(A.w-4)}" height="${Ce(A.h*(1-A.foot)-1.5)}" rx="${Ce(r*.6)}" fill="${n}" opacity="0.55"/><rect x="${Ce(A.x+r)}" y="${Ce(A.y+.6)}" width="${Ce(A.w-2*r)}" height="1.2" fill="${o}" opacity="0.35"/>`}var e5=(A,e)=>e>=0?Po(A,"#FFFFFF",e*.12):Po(A,"#000000",-e*.35);function WE(A,e,t){let n=L0(A.brickColor,_c.brickColor),o=L0(A.mortarColor,_c.mortarColor),a=L0(A.ambientColor,_c.ambientColor),r=tf(A,e,t).map(p=>{let B=e5(n,p.shade);return JE(p,B,Po(B,"#3F55FF",.16),Po(B,"#000000",.5),Po(B,"#8FA0FF",.45),.9)}).join(""),i=Math.max(0,Math.min(1,A.texture)),[s=0,l=0,d=0]=el(a).map(p=>p/255),u=Math.max(0,Math.min(1,A.ambient)),c=Math.max(0,Math.min(1,A.vignette));return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${e} ${t}" width="${e}" height="${t}"><defs><filter id="g" x="0" y="0" width="100%" height="100%"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="2" seed="${A.seed%1e3}"/><feColorMatrix values="0 0 0 0 0.6 0 0 0 0 0.65 0 0 0 0 0.9 0 0 0 ${(.6*i).toFixed(3)} -${(.3*i).toFixed(3)}"/><feComposite in2="SourceGraphic" operator="in"/></filter><filter id="s" x="0" y="0" width="100%" height="100%"><feTurbulence type="fractalNoise" baseFrequency="0.018 0.05" numOctaves="3" seed="${(A.seed+7)%1e3}"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ${(.9*i).toFixed(3)} -0.3"/><feComposite in2="SourceGraphic" operator="in"/></filter><radialGradient id="a" cx="50%" cy="47%" r="55%"><stop offset="0" stop-color="rgb(${Math.round(s*255)},${Math.round(l*255)},${Math.round(d*255)})" stop-opacity="${(.95*u).toFixed(3)}"/><stop offset="0.5" stop-color="${a}" stop-opacity="${(.4*u).toFixed(3)}"/><stop offset="1" stop-color="${a}" stop-opacity="0"/></radialGradient><radialGradient id="v" cx="50%" cy="48%" r="72%"><stop offset="0.35" stop-color="#000" stop-opacity="0"/><stop offset="1" stop-color="#000" stop-opacity="${(.92*c).toFixed(3)}"/></radialGradient><mask id="m"><rect width="100%" height="100%" fill="#555"/><g fill="#fff">${tf(A,e,t).map(p=>`<rect x="${Ce(p.x)}" y="${Ce(p.y)}" width="${Ce(p.w)}" height="${Ce(p.h)}" rx="3"/>`).join("")}</g></mask></defs><rect width="${e}" height="${t}" fill="${o}"/><g>${r}</g>`+(i>0?`<g filter="url(#s)">${tf(A,e,t).map(p=>`<rect x="${Ce(p.x)}" y="${Ce(p.y)}" width="${Ce(p.w)}" height="${Ce(p.h)}" fill="#000"/>`).join("")}</g><rect width="${e}" height="${t}" fill="#fff" filter="url(#g)" opacity="0.28"/>`:"")+(u>0?`<rect width="${e}" height="${t}" fill="url(#a)" mask="url(#m)" style="mix-blend-mode:screen"/>`:"")+(c>0?`<rect width="${e}" height="${t}" fill="url(#v)"/>`:"")+"</svg>"}function _E(A,e,t){let n=tf(A,e,t).map(o=>JE(o,"#B8B8B8","#FFFFFF","#6A6A6A","#FFFFFF",.85)).join("");return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${e} ${t}" width="${e}" height="${t}"><rect width="${e}" height="${t}" fill="#2A2A2A"/>${n}</svg>`}var H0=A=>`data:image/svg+xml;charset=utf-8,${encodeURIComponent(A)}`;var t5={enabled:!1,muted:!1,master:.7,hum:.45,flicker:.45,dip:.55,failure:.6,glitch:.3,recovery:.45,scrub:!0,scrubVolume:.5},z0=(A,e)=>({id:A,x:800,y:500,scale:1,rotation:0,opacity:1,visible:!0,locked:!1,neon:{...$o.neon,shadow:{...$o.neon.shadow}},animation:{...$o.animation,seed:e}}),j0={text:{...z0("text-1",7356951),type:"text",text:"CAFE",typography:{...$o.typography,fontSize:300,strokeWidth:10.5,letterSpacing:6}},emoji:{...z0("emoji-1",7356952),type:"emoji",emoji:"\u2615",size:240,strokeWidth:8,construction:"outline",fontWeight:500,fontFamily:Wc.family},artwork:{...z0("artwork-1",7356953),type:"artwork",artwork:{kind:"library",id:"heart"},size:260,strokeWidth:8,construction:"outline"}},_r={type:"neonScene",version:1,stage:{width:1600,height:1e3},elements:[j0.text],wall:_c,audio:t5,timeline:{duration:8e3,loop:!0,triggers:[]}},tn=A=>typeof A=="object"&&A!==null&&!Array.isArray(A);function rl(A,e){if(!tn(A)||!tn(e))return e===void 0?A:e;let t={...A};for(let[n,o]of Object.entries(e))o!==void 0&&(t[n]=tn(t[n])&&tn(o)?rl(t[n],o):o);return t}function n5(A,e){let t=tn(e)&&tn(e.neon)?e.neon:void 0,n=t&&typeof t.color=="string"?t.color:t&&typeof t.tubeColor=="string"?t.tubeColor:void 0;if(!t||!kn(n))return A;let o=T0(n),a={...A.neon,color:n};for(let r of["coreColor","tubeColor","glowColor","bloomColor"])t[r]===void 0&&(a[r]=o[r]);return{...A,neon:a}}function o5(A,e=0){let t=tn(A)&&(A.type==="emoji"||A.type==="artwork")?A.type:"text",n=j0[t],o={...n,id:`${t}-${e+1}`,animation:{...n.animation,seed:n.animation.seed+e*101}},a=rl(o,tn(A)?A:{});return n5({...a,type:t},A)}function K0(A){let e=tn(A)?A:{},t=Array.isArray(e.elements)?e.elements.map((n,o)=>o5(n,o)):_r.elements;return{..._r,stage:rl(_r.stage,e.stage),wall:rl(_r.wall,e.wall),audio:rl(_r.audio,e.audio),timeline:rl(_r.timeline,e.timeline),elements:t}}var co=(A,e,t)=>typeof A=="number"&&Number.isFinite(A)&&A>=e&&A<=t,a5=[["brickWidth",20,1e3],["brickHeight",10,500],["mortar",0,40],["variation",0,1],["texture",0,1],["ambient",0,1],["vignette",0,1],["lightSpill",0,2],["spillRadius",0,2e3],["seed",0,4294967295]],r5=["master","hum","flicker","dip","failure","glitch","recovery","scrubVolume"];function i5(A){return A.type==="text"?{text:A.text,typography:A.typography}:{text:s5(A.emoji),typography:{fontFamily:A.fontFamily,fontSize:A.size,fontWeight:A.fontWeight,fontStyle:"normal",letterSpacing:0,lineHeight:1,strokeWidth:A.strokeWidth,construction:A.construction,align:"middle"}}}var s5=A=>`${String(A??"").replace(/️/g,"")}\uFE0E`;function VE(A,e=""){if(!tn(A))return[{path:e,message:"An element must be an object."}];let t=[],n=a=>e?`${e}.${a}`:a;["text","emoji","artwork"].includes(A.type)||t.push({path:n("type"),message:"Must be text, emoji or artwork."}),(typeof A.id!="string"||!A.id)&&t.push({path:n("id"),message:"Must be a non-empty id."});for(let[a,r,i]of[["x",-5e3,1e4],["y",-5e3,1e4],["scale",.01,20],["rotation",-360,360],["opacity",0,1]])co(A[a],r,i)||t.push({path:n(a),message:`Must be a number between ${r} and ${i}.`});typeof A.visible!="boolean"&&t.push({path:n("visible"),message:"Must be true or false."}),typeof A.locked!="boolean"&&t.push({path:n("locked"),message:"Must be true or false."});let o={...$o,neon:A.neon,animation:A.animation};for(let a of Y0(o))(a.path.startsWith("neon")||a.path.startsWith("animation"))&&t.push({path:n(a.path),message:a.message});if(A.type==="text")for(let a of Y0({...$o,text:A.text,typography:A.typography}))(a.path==="text"||a.path.startsWith("typography"))&&t.push({path:n(a.path),message:a.message});else if(A.type==="emoji"||A.type==="artwork")if(co(A.size,8,2e3)||t.push({path:n("size"),message:"Must be a number between 8 and 2000."}),co(A.strokeWidth,.5,80)||t.push({path:n("strokeWidth"),message:"Must be a number between 0.5 and 80."}),A.construction!=="outline"&&A.construction!=="monoline"&&t.push({path:n("construction"),message:"Must be outline or monoline."}),A.type==="emoji")(typeof A.emoji!="string"||!A.emoji.trim()||[...A.emoji].length>12)&&t.push({path:n("emoji"),message:"Must be one emoji (or a few characters)."}),co(A.fontWeight,100,900)||t.push({path:n("fontWeight"),message:"Must be between 100 and 900."}),(typeof A.fontFamily!="string"||!A.fontFamily.trim())&&t.push({path:n("fontFamily"),message:"Must be a font-family."});else{let a=A.artwork;if(!tn(a))t.push({path:n("artwork"),message:"Must be { kind: library | svg | raster, \u2026 }."});else if(a.kind==="library")Wr[a.id]||t.push({path:n("artwork.id"),message:`Must be one of: ${Object.keys(Wr).join(", ")}.`});else if(a.kind==="svg")try{N0(a.svg)}catch(r){t.push({path:n("artwork.svg"),message:r.message})}else a.kind==="raster"?((typeof a.src!="string"||!/^(data:image\/(png|webp|jpeg|gif);base64,|https?:\/\/|\/)/.test(a.src))&&t.push({path:n("artwork.src"),message:"Must be a PNG/WebP data URL or an image URL."}),(!co(a.width,1,2e4)||!co(a.height,1,2e4))&&t.push({path:n("artwork.width"),message:"Width and height must be the image\u2019s pixel size."}),a.mode!=="alpha"&&a.mode!=="luminance"&&t.push({path:n("artwork.mode"),message:"Must be alpha or luminance."}),co(a.threshold,0,1)||t.push({path:n("artwork.threshold"),message:"Must be between 0 and 1."})):t.push({path:n("artwork.kind"),message:"Must be library, svg or raster."})}return t}function nf(A){if(!tn(A))return[{path:"",message:"The scene must be an object."}];let e=[],t=A.stage;if((!tn(t)||!co(t.width,100,8e3)||!co(t.height,100,8e3))&&e.push({path:"stage",message:"width and height must be 100\u20268000."}),!Array.isArray(A.elements))e.push({path:"elements",message:"Must be a list."});else{A.elements.length>40&&e.push({path:"elements",message:"At most 40 elements."});let r=new Set;A.elements.forEach((i,s)=>{e.push(...VE(i,`elements.${s}`)),tn(i)&&typeof i.id=="string"&&(r.has(i.id)&&e.push({path:`elements.${s}.id`,message:"Ids must be unique."}),r.add(i.id))})}let n=A.wall;if(!tn(n))e.push({path:"wall",message:"Must be an object."});else{typeof n.enabled!="boolean"&&e.push({path:"wall.enabled",message:"Must be true or false."});for(let[r,i,s]of a5)co(n[r],i,s)||e.push({path:`wall.${r}`,message:`Must be a number between ${i} and ${s}.`});for(let r of["brickColor","mortarColor","ambientColor"])kn(n[r])||e.push({path:`wall.${r}`,message:"Must be a hex colour."})}let o=A.audio;if(!tn(o))e.push({path:"audio",message:"Must be an object."});else{for(let r of["enabled","muted","scrub"])typeof o[r]!="boolean"&&e.push({path:`audio.${r}`,message:"Must be true or false."});for(let r of r5)co(o[r],0,1)||e.push({path:`audio.${r}`,message:"Must be a number between 0 and 1."})}let a=A.timeline;return!tn(a)||!co(a.duration,500,6e5)||typeof a.loop!="boolean"||!Array.isArray(a.triggers)?e.push({path:"timeline",message:"Needs duration (500\u2026600000 ms), loop and a triggers list."}):a.triggers.forEach((r,i)=>{(!tn(r)||!["sag","flicker","dip","failure","glitch","normal"].includes(r.kind)||!co(r.at,0,6e5))&&e.push({path:`timeline.triggers.${i}`,message:"Needs kind (sag, flicker, dip, failure, glitch, normal) and at (ms)."})}),e}function XE(A){let e=K0(tn(A)?A:null),t=nf(e),n=e;for(let o of t){let a=/^elements\.(\d+)/.exec(o.path);if(a){let r=Number(a[1]),i=n.elements[r],s=o.path.slice(a[0].length+1),l=j0[["text","emoji","artwork"].includes(i?.type)?i.type:"text"],d=s?Wg(i,s,Jg(l,s)):l;n={...n,elements:n.elements.map((u,c)=>c===r?d:u)}}else o.path&&o.path!=="elements"?n=Wg(n,o.path,Jg(_r,o.path)):o.path==="elements"&&(n={...n,elements:n.elements.slice(0,40)})}return t.length&&nf(n).length&&(n={..._r,elements:n.elements.filter(o=>!VE(o).length)}),{scene:n,errors:t}}var al=A=>Math.round(A*1e3)/1e3;function l5(A,e){return{...A,glowRadius:A.glowRadius*e,bloomRadius:A.bloomRadius*e,shadow:{...A.shadow,blur:A.shadow.blur*e}}}function of(A,e=wa){let t,n,o=1,a,r;if(A.type==="text"||A.type==="emoji"){let{text:y,typography:w}=i5(A),I=KE(y,w,0,A.type==="emoji"?()=>w.fontSize*1.05:e);t={kind:"text",layout:I,typography:w,text:y},n=I.box,a=w.fontSize,r={fontSize:w.fontSize,strokeWidth:w.strokeWidth,construction:w.construction}}else{let y=[0,0,100,100],w=A.artwork;try{if(w.kind==="raster"){let F=Math.max(1,A.size),G=F*w.height/Math.max(1,w.width);y=[0,0,w.width>=w.height?F:F*w.width/w.height,w.width>=w.height?G:F],t={kind:"raster",src:w.src,width:y[2],height:y[3],mode:w.mode,threshold:w.threshold}}else{let F=N0(w.kind==="library"?(Wr[w.id]??Wr.heart).svg:w.svg);y=F.viewBox,t={kind:"svg",art:F}}}catch(F){t={kind:"none",reason:F.message}}let I=Math.max(y[2],y[3]);o=I/Math.max(1,A.size),n={x:y[0],y:y[1],width:y[2],height:y[3]},a=I,r={fontSize:I,strokeWidth:A.strokeWidth*o,construction:A.construction}}let i=o===1?A.neon:l5(A.neon,o),s=GE(i,r),l=n.x+n.width/2,d=n.y+n.height/2,u=A.scale/o,c=`translate(${al(A.x)} ${al(A.y)}) rotate(${al(A.rotation)}) scale(${al(u)}) translate(${al(-l)} ${al(-d)})`,p=n.width/2*u,B=n.height/2*u,v=A.rotation*Math.PI/180,Q=Math.abs(p*Math.cos(v))+Math.abs(B*Math.sin(v)),C=Math.abs(p*Math.sin(v))+Math.abs(B*Math.cos(v));return{shape:t,box:n,unit:o,em:a,metrics:r,neon:i,pad:s,transform:c,bounds:{x:A.x-Q,y:A.y-C,width:2*Q,height:2*C}}}var Xc=(A,e)=>(A??[]).filter(t=>!t.target||t.target===e).map(({kind:t,at:n})=>({kind:t,at:n}));function $E(A,e,t,n){if(!(t>e))return[];let o=[];for(let a of A.elements){if(!a.visible||!a.animation.enabled)continue;let r=a.animation,i=Math.max(0,r.speed),s=Math.max(.01,r.flickerSpeed),l=Xc(n,a.id);if(i>0){for(let d of kE(r,e*i*s,t*i*s,l,u=>u*i*s))o.push({kind:d.kind,at:d.at/(i*s),elementId:a.id,depth:d.depth});for(let d of OE(r,e*i,t*i,l,u=>u*i))o.push({kind:"glitch",at:d.at/i,elementId:a.id,depth:1})}}return o.sort((a,r)=>a.at-r.at),o.filter((a,r)=>!o.slice(0,r).some(i=>i.kind===a.kind&&Math.abs(i.at-a.at)<30))}var c5=A=>ba.find(e=>e.id===A);function Ar(A,e,t,n,o={}){let a=c5(t);return{id:A,type:"text",text:e,typography:{fontFamily:a.family,fontWeight:a.weight,construction:a.construction,fontSize:300,strokeWidth:Math.round(300*a.stroke*2)/2,...o.typography??{}},neon:n,...Object.fromEntries(Object.entries(o).filter(([r])=>r!=="typography"))}}var Vc=A=>A,KT=[{id:"cafe-red",name:"CAFE RED",description:"The reference: red outline CAFE on a navy brick wall.",scene:{elements:[Ar("text-1","CAFE","oswald",Oo.red,{animation:Vc({flickerIntensity:.18,flickerFrequency:.25,glitchFrequency:.1})})]}},{id:"cafe-blue",name:"CAFE BLUE",description:"CAFE in ice blue.",scene:{elements:[Ar("text-1","CAFE","oswald",Oo.blue)]}},{id:"cafe-purple",name:"CAFE PURPLE",description:"CAFE in violet.",scene:{elements:[Ar("text-1","CAFE","oswald",Oo.purple)]}},{id:"cafe-green",name:"CAFE GREEN",description:"CAFE in acid green.",scene:{elements:[Ar("text-1","CAFE","oswald",Oo.green)]}},{id:"retro-red",name:"RETRO RED",description:"A 1950s diner sign: Righteous, warm red, a tired transformer.",scene:{elements:[Ar("text-1","DINER","righteous",{color:"#FF3040"},{y:470,animation:Vc({flickerIntensity:.3,flickerFrequency:.45,flickerRandomness:.8,glitchEnabled:!1})}),{id:"artwork-1",type:"artwork",artwork:{kind:"library",id:"star"},size:170,x:1370,y:300,rotation:12,neon:{color:"#FFC24A"},animation:{seed:91}}],wall:{ambientColor:"#3A1F7A",ambient:.45,lightSpill:1.2},audio:{hum:.55,failure:.7}}},{id:"cyber-blue",name:"CYBER BLUE",description:"Orbitron in electric blue with frequent digital glitches.",scene:{elements:[Ar("text-1","CYBER","orbitron",Oo.blue,{animation:Vc({flickerIntensity:.12,flickerFrequency:.15,glitchIntensity:.6,glitchFrequency:.35,glitchRgbSplit:1.6})})],wall:{ambientColor:"#0D3DD8",ambient:.6},audio:{glitch:.5}}},{id:"purple-night",name:"PURPLE NIGHT",description:"A handwritten \u201Cnight\u201D under a neon moon.",scene:{elements:[Ar("text-1","night","sacramento",Oo.purple,{y:540,typography:{fontSize:420,strokeWidth:9}}),{id:"emoji-1",type:"emoji",emoji:"\u{1F319}",size:200,x:1200,y:290,neon:{color:"#E0B3FF"},animation:{seed:7356951}}],wall:{ambientColor:"#4A1FB8",ambient:.5}}},{id:"electric-green",name:"ELECTRIC GREEN",description:"Audiowide \u201C24/7\u201D with a bolt, both on one circuit.",scene:{elements:[Ar("text-1","24/7","audiowide",Oo.green,{x:700,animation:Vc({seed:4242,flickerIntensity:.22,flickerFrequency:.3})}),{id:"emoji-1",type:"emoji",emoji:"\u26A1",size:230,x:1300,y:480,neon:{color:"#F4FF3A"},animation:{seed:4242,flickerIntensity:.22,flickerFrequency:.3}}],wall:{ambientColor:"#123A7A",ambient:.5}}},{id:"warm-white",name:"WARM WHITE",description:"Tilt Neon \u201CHello\u201D in warm white; nearly steady.",scene:{elements:[Ar("text-1","Hello","tilt-neon",{color:"#FFE3B8",coreColor:"#FFFFFF",tubeColor:"#FFE3B8",glowColor:"#FFC98A",bloomColor:"#C98A3A"},{typography:{fontSize:340,strokeWidth:12},animation:Vc({flickerIntensity:.06,flickerFrequency:.05,glitchEnabled:!1})})],wall:{ambientColor:"#2A2A6A",ambient:.4,lightSpill:1.3},audio:{hum:.35}}}],J0={red:Oo.red.color,blue:Oo.blue.color,purple:Oo.purple.color,green:Oo.green.color,pink:"#FF4FB8",magenta:"#FF2BD6",cyan:"#2BF7FF",teal:"#1FFFD0",amber:"#FFB300",orange:"#FF7A1A",yellow:"#F4FF3A",white:"#F2F6FF","warm white":"#FFE3B8","cool white":"#DDEBFF",violet:"#9C5BFF",lime:"#B6FF2B"},W0={none:{flickerEnabled:!1,flickerIntensity:0,flickerFrequency:0},subtle:{flickerEnabled:!0,flickerIntensity:.1,flickerFrequency:.06},medium:{flickerEnabled:!0,flickerIntensity:.2,flickerFrequency:.2},heavy:{flickerEnabled:!0,flickerIntensity:.3,flickerFrequency:.5},failing:{flickerEnabled:!0,flickerIntensity:.6,flickerFrequency:1.2}},_0={none:{glitchEnabled:!1,glitchIntensity:0,glitchFrequency:0},rare:{glitchEnabled:!0,glitchIntensity:.15,glitchFrequency:.03},occasional:{glitchEnabled:!0,glitchIntensity:.3,glitchFrequency:.1},frequent:{glitchEnabled:!0,glitchIntensity:.5,glitchFrequency:.35}};function V0(A){return kn(A)?A.toUpperCase():J0[String(A).trim().toLowerCase().replace(/[-_]+/g," ")]}function ZE(A,e=0){let t=A.type??(A.emoji?"emoji":A.artwork?"artwork":"text"),n={type:t,id:A.id??`${t}-${e+1}`},o=A.color?V0(A.color):void 0;o&&(n.neon={color:o});let a=A.flicker?W0[A.flicker]:void 0,r=A.glitch?_0[A.glitch]:void 0;if((a||r)&&(n.animation={...a,...r}),t==="text"){n.text=A.text??"OPEN";let i=A.font?ef(A.font):void 0,s=A.size??300;n.typography={fontSize:s,...i?{fontFamily:i.family,fontWeight:i.weight,construction:i.construction,strokeWidth:Math.max(2,Math.round(s*i.stroke*2)/2)}:{}}}else if(t==="emoji")n.emoji=A.emoji??"\u2B50",n.size=A.size??240;else{let i=A.artwork??"heart";n.artwork=Wr[i]?{kind:"library",id:i}:{kind:"svg",svg:i},n.size=A.size??260}return n}var Te=Ue(bt(),1),Jn=A=>Math.round(A*1e3)/1e3,$c=new Map;function X0(A,e,t){let n=JSON.stringify([A,e,t]),o=$c.get(n);return o||(o={wall:H0(WE(A,e,t)),mask:H0(_E(A,e,t))},$c.size>24&&$c.delete($c.keys().next().value),$c.set(n,o)),o}function qE({nodes:A}){return(0,Te.jsx)(Te.Fragment,{children:A.map((e,t)=>{let{tag:n,attrs:o,children:a}=e,r={};for(let[i,s]of Object.entries(o))r[i==="fill-rule"?"fillRule":i]=s;return a.length?(0,Te.jsx)(n,{...r,children:(0,Te.jsx)(qE,{nodes:a})},t):(0,Te.jsx)(n,{...r},t)})})}function u5(A,e,t,n){return A.elements.filter(o=>o.visible).map(o=>({element:o,geometry:of(o,n),frame:Zg(o,e,Xc(t,o.id))}))}function A2({scene:A,timeMs:e=0,triggers:t,measure:n,idPrefix:o="nc-",svgRef:a,children:r,...i}){let{scene:s,errors:l}=XE(A),d=[...s.timeline.triggers??[],...t??[]],u=s.stage.width,c=s.stage.height,p=u5(s,e,d,n),B=s.wall.enabled?X0(s.wall,u,c):null,v=o,Q=s.elements.filter(F=>F.visible).map(F=>F.type==="text"?F.text:F.type==="emoji"?F.emoji:"artwork").join(" "),C=[],y=[],w=[],I=[];return p.forEach(({element:F,geometry:G,frame:E},D)=>{let k=`${v}e${D}-`,U=`${k}shape`,O=NE(G.neon,G.metrics),T=null;if(G.shape.kind==="text"?(C.push((0,Te.jsx)(UE,{id:U,layout:G.shape.layout,typography:G.shape.typography},U)),T={kind:"vector",href:U,filled:O.filled}):G.shape.kind==="svg"?(C.push((0,Te.jsx)("g",{id:U,children:(0,Te.jsx)(qE,{nodes:G.shape.art.nodes})},U)),T={kind:"vector",href:U,filled:O.filled}):G.shape.kind==="raster"&&(C.push((0,Te.jsx)("image",{id:U,href:G.shape.src,x:0,y:0,width:G.shape.width,height:G.shape.height,preserveAspectRatio:"none"},U)),T={kind:"raster",href:U,width:G.shape.width,height:G.shape.height,mode:G.shape.mode,threshold:G.shape.threshold,filled:O.filled}),!T)return;let R={source:T,material:O,levels:E.levels,glitch:E.glitch,box:G.box,em:G.em,pad:G.pad};y.push((0,Te.jsx)("g",{transform:G.transform,opacity:Jn(F.opacity),"data-element":F.id,"data-part":"shadow",children:(0,Te.jsx)(G0,{...R,idPrefix:`${k}s-`,part:"shadow"})},`s${D}`)),w.push((0,Te.jsxs)("g",{transform:G.transform,opacity:Jn(F.opacity),"data-element":F.id,"data-element-type":F.type,"data-neon-event":E.levels.event??void 0,"data-neon-glitch":E.glitch?"on":void 0,children:[(0,Te.jsx)(G0,{...R,idPrefix:k,part:"light"}),(0,Te.jsx)("rect",{"data-hit":F.id,x:Jn(G.box.x),y:Jn(G.box.y),width:Jn(G.box.width),height:Jn(G.box.height),fill:"transparent",pointerEvents:"all"})]},`l${D}`));let P=s.wall.lightSpill*Math.min(1.5,F.neon.intensity)*F.opacity*E.levels.bloom*(s.wall.glitchAffectsWall&&E.glitch?E.glitch.keep:1);if(s.wall.enabled&&P>.002){let j=G.bounds,K=Math.max(0,s.wall.spillRadius),H=Po(F.neon.bloomColor??F.neon.color,F.neon.glowColor??F.neon.color,.45),N=`${k}spill`,Z=s.wall.glitchAffectsWall&&E.glitch?E.glitch.glowShiftX*G.em/G.unit*F.scale:0;C.push((0,Te.jsxs)("radialGradient",{id:N,children:[(0,Te.jsx)("stop",{offset:"0",stopColor:H,stopOpacity:.95}),(0,Te.jsx)("stop",{offset:"0.4",stopColor:H,stopOpacity:.5}),(0,Te.jsx)("stop",{offset:"0.75",stopColor:H,stopOpacity:.14}),(0,Te.jsx)("stop",{offset:"1",stopColor:H,stopOpacity:0})]},N));let _=Jn(j.x+j.width/2+Z),q=Jn(j.y+j.height/2);I.push((0,Te.jsxs)("g",{"data-spill":F.id,children:[(0,Te.jsx)("ellipse",{cx:_,cy:q,rx:Jn(j.width/2+K),ry:Jn(j.height/2+K*.85),fill:`url(#${N})`,opacity:Jn(Math.min(1,.85*P))}),(0,Te.jsx)("ellipse",{cx:_,cy:q,rx:Jn(j.width/2+K*.3),ry:Jn(j.height/2+K*.28),fill:`url(#${N})`,opacity:Jn(Math.min(1,.55*P))})]},N))}}),(0,Te.jsxs)("svg",{ref:a,xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${u} ${c}`,width:u,height:c,role:"img","aria-label":Q||"Neon sign","data-neon-invalid":l.length?l.map(F=>F.path).join(" "):void 0,...i,children:[(0,Te.jsx)("title",{children:Q||"Neon sign"}),(0,Te.jsxs)("defs",{children:[C,B?(0,Te.jsx)("mask",{id:`${v}albedo`,maskUnits:"userSpaceOnUse",x:0,y:0,width:u,height:c,children:(0,Te.jsx)("image",{href:B.mask,x:0,y:0,width:u,height:c})}):null]}),B?(0,Te.jsx)("image",{"data-layer":"wall",href:B.wall,x:0,y:0,width:u,height:c,preserveAspectRatio:"none"}):null,I.length?(0,Te.jsx)("g",{"data-layer":"wall-light",mask:`url(#${v}albedo)`,style:{mixBlendMode:"screen"},children:I}):null,(0,Te.jsx)("g",{"data-layer":"shadows",children:y}),(0,Te.jsx)("g",{"data-layer":"elements",children:w}),r]})}var Zc=Ue(lr(),1);var d5=Ue(bt(),1);function e2(){let A=null;try{A=document.createElement("canvas").getContext("2d")}catch{A=null}let e=new Map;return(t,n)=>{if(!A)return wa(t,n);let o=`${ol(n)}|${t}`,a=e.get(o);if(a!==void 0)return a;A.font=ol(n);let r=A.measureText(t).width,i=Number.isFinite(r)&&r>0?r:wa(t,n);return e.set(o,i),i}}var Ba=Ue(lr(),1);var g5=new Set(["Inter","Manrope","DM Sans","Plus Jakarta Sans"]),f5={Inter:"300..900",Manrope:"300..800","DM Sans":"300..900","Plus Jakarta Sans":"300..800","Space Grotesk":"300..700"},h5=`https://fonts.googleapis.com/css2?${ha.map(A=>{let e=f5[A]??"300..800";return`family=${A.replace(/ /g,"+")}:${g5.has(A)?`ital,wght@0,${e};1,${e}`:`wght@${e}`}`}).join("&")}&display=swap`;function t2(A=typeof document>"u"?void 0:document){if(!A||A.querySelector("link[data-paper-fold-fonts]"))return;let e=A.createElement("link");e.rel="stylesheet",e.href=h5,e.setAttribute("data-paper-fold-fonts",""),A.head.appendChild(e)}var o2={armLength:1500,open:0,wrist:0,fingerCurl:1,thumbBend:0,thumbRotation:0,thumbScale:1,thumbX:0,thumbY:0,nails:!0,nailScale:1},Vr=A=>Math.round(A*10)/10,fe=([A,e])=>`${Vr(A)} ${Vr(e)}`,Zo=(A,e)=>{let t=Math.hypot(A,e)||1;return[A/t,e/t]},Ht=(A,e)=>[A[0]+e[0],A[1]+e[1]],kt=(A,e)=>[A[0]-e[0],A[1]-e[1]],Et=(A,e)=>[A[0]*e,A[1]*e],p5=A=>[Math.cos(A*Math.PI/180),Math.sin(A*Math.PI/180)],il=(A,e,t)=>[A[0]+(e[0]-A[0])*t,A[1]+(e[1]-A[1])*t],sf=(A,e,t)=>{let n=Math.cos(t*Math.PI/180),o=Math.sin(t*Math.PI/180),a=kt(A,e);return[e[0]+a[0]*n-a[1]*o,e[1]+a[0]*o+a[1]*n]};function af(A){let e="";for(let t=0;t<A.length-1;t++){let n=A[Math.max(0,t-1)],o=A[t],a=A[t+1],r=A[Math.min(A.length-1,t+2)];e+=` C ${fe(Ht(o,Et(kt(a,n),1/6)))} ${fe(kt(a,Et(kt(r,o),1/6)))} ${fe(a)}`}return e}function $0(A){let e=A.length,t=`M ${fe(A[0])}`;for(let n=0;n<e;n++){let o=A[(n-1+e)%e],a=A[n],r=A[(n+1)%e],i=A[(n+2)%e];t+=` C ${fe(Ht(a,Et(kt(r,o),1/6)))} ${fe(kt(r,Et(kt(i,a),1/6)))} ${fe(r)}`}return`${t} Z`}function m5(A,e,t,n,o){let[a,r]=t,i=il(A,e,.5),s=Math.hypot(A[0]-e[0],A[1]-e[1])/2,l=-r,d=a,u=Math.sign((A[0]-i[0])*l+(A[1]-i[1])*d)||1,c=(B,v,Q)=>[i[0]+a*B+l*v*Q,i[1]+r*B+d*v*Q],p=Math.min(n*.25,s*3.2);return`M ${fe(A)} C ${fe(c(p*.45,u,s*1.02))} ${fe(c(p*.7,u,s*o))} ${fe(c(p,u,s*o))} L ${fe(c(n,u,s*o*1.04))} L ${fe(c(n,-u,s*o*1.04))} L ${fe(c(p,-u,s*o))} C ${fe(c(p*.7,-u,s*o))} ${fe(c(p*.45,-u,s*1.02))} ${fe(e)} Z`}function n2(A){let e=[A.root,A.knuckle];return A.angles.forEach((t,n)=>e.push(Ht(e[n+1],Et(p5(t),A.lengths[n])))),e}function qc(A,e,t={}){let n=A.length,o=t.from??0,a=t.to??n-1,r=[],i=[],s=[];for(let B=0;B<n;B++){let v=B>0?Zo(...kt(A[B],A[B-1])):Zo(...kt(A[1],A[0])),Q=B<n-1?Zo(...kt(A[B+1],A[B])):v,C=Zo(v[0]+Q[0],v[1]+Q[1]);r.push([-C[1],C[0]]);let y=v[0]*Q[1]-v[1]*Q[0],w=Math.min(1,Math.abs(Math.asin(Math.max(-1,Math.min(1,y))))/1.2),I=Math.min(1.35,1/Math.max(.6,Math.cos(Math.acos(Math.max(-1,Math.min(1,v[0]*Q[0]+v[1]*Q[1])))/2))),F=y<0;i.push((F?1+.12*w:1-.1*w)*(F?I:1)),s.push((F?1-.1*w:1+.12*w)*(F?1:I))}let l=[],d=[];for(let B=o;B<=a;B++)l.push(Ht(A[B],Et(r[B],e[B]*i[B]))),d.push(kt(A[B],Et(r[B],e[B]*s[B])));if(t.side){let B=t.side===1?l:d,v=[];for(let Q=o;Q<=a;Q++){let C=Q===o||Q===a?.97:t.inset??.4;v.push(Ht(A[Q],Et(r[Q],t.side*e[Q]*C*(t.side===1?i[Q]:s[Q]))))}return`M ${fe(B[0])}${af(B)} L ${fe(v.at(-1))}${af([...v].reverse())} Z`}let u=t.tip??a===n-1,c=e[a],p=`M ${fe(d[0])}${af(d)}`;if(u){let B=Zo(...kt(A[a],A[a-1])),v=Ht(A[a],Et(B,c));p+=` C ${fe(Ht(d.at(-1),Et(B,c*.55)))} ${fe(kt(v,Et(r[a],-c*.55*-1)))} ${fe(v)}`,p+=` C ${fe(Ht(v,Et(r[a],c*.55)))} ${fe(Ht(l.at(-1),Et(B,c*.55)))} ${fe(l.at(-1))}`}else p+=` L ${fe(l.at(-1))}`;return p+=af([...l].reverse()),`${p} Z`}function y5(A,e,t){let n=A[3],o=A[4],a=e[4]*t,r=Zo(...kt(o,n)),i=[-r[1],r[0]],s=il(n,o,.42),l=Ht(o,Et(r,a*.55)),d=a*.62;return`M ${fe(Ht(s,Et(i,d*.9)))} C ${fe(Ht(il(s,l,.5),Et(i,d*1.05)))} ${fe(Ht(l,Et(i,d*.9)))} ${fe(Ht(l,Et(r,d*.25)))} C ${fe(kt(l,Et(i,d*.9)))} ${fe(kt(il(s,l,.5),Et(i,d*1.05)))} ${fe(kt(s,Et(i,d*.9)))} Q ${fe(kt(s,Et(r,d*.35)))} ${fe(Ht(s,Et(i,d*.9)))} Z`}function b5(A,e,t,n){let o=Ht(A,sf([e,0],[0,0],n)),a=kt(A,sf([e,0],[0,0],n));return`M ${fe(o)} A ${Vr(e)} ${Vr(t)} ${Vr(n)} 1 0 ${fe(a)} A ${Vr(e)} ${Vr(t)} ${Vr(n)} 1 0 ${fe(o)} Z`}function w5(A,e){let t=Zo(...kt(A[3],A[1])),n=[-t[1],t[0]];return n[0]*e[0]+n[1]*e[1]<0?1:-1}function rf(A,e,t,n,o=0,a=1,r=[0,0]){let[i,s,l]=A.angles,d=Math.sign(l-i)||1,u=[i+n+o,i+(s-i)*e+d*t*18+n+o,i+(l-i)*e+d*t*34+n+o],c=sf(Ht(A.knuckle,r),Ht(A.root,r),o);return{root:Ht(A.root,r),knuckle:c,angles:u,lengths:A.lengths.map(p=>p*a),widths:A.widths.map(p=>p*a)}}function B5(A,e){if(!e)return A;let t=il(A.wrist[0],A.wrist[1],.5),n=a=>sf(a,t,e),o=a=>({...a,root:n(a.root),knuckle:n(a.knuckle),angles:a.angles.map(r=>r+e)});return{...A,wrist:[n(A.wrist[0]),n(A.wrist[1])],palm:A.palm.map(n),knuckles:A.knuckles.map(n),palmShadow:A.palmShadow.map(a=>a.map(n)),palmHighlight:A.palmHighlight.map(a=>a.map(n)),fingers:Object.fromEntries(Object.entries(A.fingers).map(([a,r])=>[a,o(r)])),thumb:o(A.thumb)}}function a2(A,e){let t=B5(A,e.wrist),n=Object.fromEntries(Object.entries(t.fingers).map(([F,G])=>{let E=t.gripping.includes(F);return[F,{...G,posed:rf(G,e.fingerCurl,0,E?t.openSign*e.open:0)}]})),o=rf(t.thumb,1,e.thumbBend,t.gripping.includes("thumb")?t.openSign*e.open:0,e.thumbRotation,e.thumbScale,[e.thumbX,e.thumbY]),a=t.anchor.digit==="thumb"?rf(t.thumb,1,e.thumbBend,0,e.thumbRotation,e.thumbScale,[e.thumbX,e.thumbY]):rf(t.fingers[t.anchor.digit],e.fingerCurl,0,0),r=kt(t.anchor.offset,n2(a)[4]),i=F=>Ht(F,r),s=F=>n2(F).map(i),l=[],d=(F,G,E,D=!1)=>{E.length&&l.push({name:F,layer:G,shapes:E,...D?{grips:D}:{}})},u=[i(t.wrist[0]),i(t.wrist[1])];d("forearm","behind",[{d:m5(u[0],u[1],t.toward,e.armLength,t.flare),fill:"base",outline:!0}]);let c={},p=[],B=[],v=[],Q=[],C=[],y=(F,G,E,D,k=!1)=>{let U=s(G),O=G.widths;c[F]=U;let T=[{d:qc(U,O),fill:D==="hidden"?"shadow":"base",outline:D!=="hidden"}];D==="curled"&&T.push({d:qc(U,O,{from:2}),fill:"midtone"}),d(F,E,T,k);let R=w5(U,t.light),P={shadows:[],lights:[]},j=k?P.shadows:E==="front"?B:p,K=k?P.lights:E==="front"?Q:v,H=()=>{k&&(d("fingerShadows",E,P.shadows,!0),d("highlights",E,P.lights,!0))};if(D==="hidden"){K.push({d:qc(U,O,{from:1,side:-R,inset:.72}),fill:"midtone",opacity:.9}),H();return}j.push({d:qc(U,O,{from:1,side:R,inset:.3}),fill:"midtone",opacity:.9}),K.push({d:qc(U,O,{from:1,to:3,side:-R,inset:.66}),fill:"highlight",opacity:.5}),E==="front"&&e.nails&&C.push({d:y5(U,O,e.nailScale),fill:"nail"}),H()},w=["littleFinger","ringFinger","middleFinger","indexFinger"].filter(F=>n[F].layer==="behind");t.thumb.layer==="behind"&&y("thumb",o,"behind","lit",!0);for(let F of w)y(F,n[F].posed,"behind",n[F].hidden?"hidden":n[F].curled?"curled":"lit",!n[F].curled);let I=t.palm.map(i);d("palm","behind",[{d:$0(I),fill:"base",outline:!0}]),d("palmShadow","behind",t.palmShadow.map(F=>({d:$0(F.map(i)),fill:"midtone",opacity:.85})));for(let F of t.knuckles)v.push({d:b5(Ht(i(F),Et(t.light,5)),12,8,Math.atan2(t.light[1],t.light[0])*57.3+90),fill:"highlight",opacity:.6});for(let F of t.palmHighlight)v.push({d:$0(F.map(i)),fill:"highlight",opacity:.8});d("fingerShadows","behind",p),d("highlights","behind",v),t.thumb.layer==="front"&&y("thumb",o,"front","lit");for(let F of["littleFinger","ringFinger","middleFinger","indexFinger"].filter(G=>n[G].layer==="front"))y(F,n[F].posed,"front","lit");return d("fingerShadows","front",B),d("highlights","front",Q),d("nails","front",C),{parts:l,joints:c,palmOutline:I,wristEdge:u,forearmStart:u,gripAnchor:[0,0],wrist:{at:il(u[0],u[1],.5),toward:t.toward,width:Math.hypot(...kt(u[0],u[1]))}}}var C5={wrist:[[-236,-194],[-232,-122]],toward:Zo(-.93,.36),flare:1.26,palm:[[-236,-194],[-186,-214],[-116,-222],[-66,-214],[-42,-194],[-32,-160],[-34,-126],[-46,-100],[-86,-92],[-150,-98],[-200,-110],[-232,-122]],knuckles:[[-54,-200],[-40,-172],[-34,-142],[-40,-112]],fingers:{littleFinger:{root:[-78,-198],knuckle:[-54,-200],angles:[26,104,176],lengths:[36,24,10],widths:[11.5,12,11,10,9],layer:"behind",curled:!0},ringFinger:{root:[-64,-172],knuckle:[-40,-172],angles:[20,98,172],lengths:[46,30,14],widths:[13,13.5,12.5,11.5,10],layer:"behind",curled:!0},middleFinger:{root:[-58,-142],knuckle:[-34,-142],angles:[16,52,80],lengths:[80,56,42],widths:[14,14.5,13.5,12.5,11],layer:"front"},indexFinger:{root:[-64,-112],knuckle:[-40,-112],angles:[22,58,86],lengths:[72,50,38],widths:[14,14,13,12,10.5],layer:"front"}},thumb:{root:[-150,-108],knuckle:[-124,-100],angles:[36,50,62],lengths:[64,50,38],widths:[21,20,17.5,15.5,13.5],layer:"behind"},light:Zo(-.35,-1),palmShadow:[[[-232,-122],[-200,-110],[-150,-98],[-86,-92],[-46,-100],[-66,-110],[-130,-112],[-196,-124]]],palmHighlight:[[[-222,-190],[-156,-212],[-80,-208],[-94,-198],[-156,-204],[-208,-184]]],anchor:{digit:"indexFinger",offset:[0,16]},openSign:-1,gripping:["indexFinger","middleFinger"]},v5={wrist:[[-146,334],[-22,350]],toward:Zo(-.6,.8),flare:1.12,palm:[[-146,334],[-150,252],[-142,198],[-104,174],[-50,162],[0,158],[30,176],[40,230],[42,296],[-22,350]],knuckles:[],fingers:{littleFinger:{root:[-122,222],knuckle:[-120,196],angles:[-100,-96,-94],lengths:[60,38,28],widths:[14,14,13,12,10.5],layer:"behind",hidden:!0},ringFinger:{root:[-88,206],knuckle:[-86,180],angles:[-96,-94,-92],lengths:[74,48,34],widths:[15.5,15.5,14.5,13,11.5],layer:"behind",hidden:!0},middleFinger:{root:[-52,196],knuckle:[-50,170],angles:[-94,-92,-90],lengths:[82,54,38],widths:[16,16,15,13.5,12],layer:"behind",hidden:!0},indexFinger:{root:[-16,192],knuckle:[-14,166],angles:[-92,-90,-88],lengths:[74,48,34],widths:[15.5,15.5,14.5,13,11.5],layer:"behind",hidden:!0}},thumb:{root:[8,300],knuckle:[34,268],angles:[-66,-88,-96],lengths:[76,58,42],widths:[28,30,24.5,21,17],layer:"front"},light:Zo(-.6,-1),palmShadow:[[[-146,334],[-150,252],[-142,198],[-116,196],[-122,270],[-118,334]],[[24,236],[34,290],[18,306],[12,262]]],palmHighlight:[[[20,190],[34,230],[36,290],[24,300],[26,236]]],anchor:{digit:"thumb",offset:[0,-14]},openSign:1,gripping:["thumb"]};function r2(A={}){return a2(C5,{...o2,...A})}function i2(A={}){return a2(v5,{...o2,...A})}function s2(A,e,t){let{at:n,toward:o,width:a}=A.wrist,[r,i]=o,s=-i,l=r,d=e*t,u=a/2*1.5,c=[n[0]+r*d,n[1]+i*d],p=[n[0]+r*(t+40),n[1]+i*(t+40)],B=(v,Q)=>[v[0]+s*u*Q,v[1]+l*u*Q];return`M ${fe(B(c,1))} L ${fe(B(p,1.05))} L ${fe(B(p,-1.05))} L ${fe(B(c,-1))} Z`}var rA=Ue(bt(),1),E5=({src:A,style:e,alt:t})=>(0,rA.jsx)("img",{src:A,style:e,alt:t}),Q5=A=>A.startsWith("static:")?`/${A.slice(7)}`:A,sl=A=>`'${A}', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif`,uo={position:"absolute",inset:0};function l2({config:A,frame:e,width:t,height:n,debug:o=!1,resolveAsset:a=Q5,ImageComponent:r=E5}){let i=nE(A,e,t,n),s=c=>se(A,c),l=c=>se(A,c),d=c=>se(A,c),u={st:i,n:s,s:l,b:d};return(0,rA.jsxs)("div",{"data-paper-fold-frame":Math.round(i.frame*100)/100,"data-phase":i.phase.label,style:{position:"relative",width:t,height:n,overflow:"hidden",background:l("background.baseColor"),fontFamily:sl("Inter")},children:[(0,rA.jsx)("div",{style:{...uo,transformOrigin:"0 0",transform:i.camera.backgroundTransform},children:(0,rA.jsx)(x5,{ctx:u})}),d("background.noise.enabled")&&(0,rA.jsx)(M5,{ctx:u}),(0,rA.jsxs)("div",{"data-layer":"scene",style:{...uo,transformOrigin:"0 0",transform:i.camera.transform},children:[d("paper.shadow.enabled")&&(0,rA.jsx)(I5,{ctx:u}),i.strips.map(c=>(0,rA.jsx)(Y5,{ctx:u,strip:c,last:i.strips.length-1},c.index)),i.hands.filter(c=>c.enabled).map(c=>(0,rA.jsx)(U5,{ctx:u,h:c},c.id))]}),d("logo.enabled")&&(0,rA.jsx)(G5,{ctx:u,img:(c,p,B)=>(0,rA.jsx)(r,{src:a(c),style:p,alt:B})}),d("cta.enabled")&&l("content.cta.text")!==""&&(0,rA.jsx)(N5,{ctx:u}),o&&(0,rA.jsx)(L5,{ctx:u})]})}function x5({ctx:A}){let{st:e,n:t,s:n,b:o}=A,{width:a,height:r,unit:i}=e.size,l=se(e.cfg,"background.gradient.stops").map(v=>`${v.color} ${Math.round(v.offset*1e3)/10}%`).join(", "),d=n("background.gradient.type")==="radial"?`radial-gradient(circle at 50% 45%, ${l})`:`linear-gradient(${t("background.gradient.angle")}deg, ${l})`,u="background.backgroundTypography",c=t(`${u}.fontSize`)*i*e.size.backgroundType.scale,p=Array.from({length:e.background.typeRepeat},()=>n(`${u}.text`)).join(" "),B=t("background.glow.radius")*Math.min(a,r);return(0,rA.jsxs)(rA.Fragment,{children:[o("background.gradient.enabled")&&(0,rA.jsx)("div",{style:{...uo,background:d}}),o(`${u}.enabled`)&&n(`${u}.text`)!==""&&(0,rA.jsx)("div",{"data-layer":"background-type",style:{...uo,transformOrigin:"50% 50%",transform:`rotate(${t(`${u}.rotation`)}deg)`,opacity:t(`${u}.opacity`)},children:e.background.typeRows.map((v,Q)=>(0,rA.jsx)("div",{style:{position:"absolute",left:v.x,top:v.y,whiteSpace:"pre",lineHeight:1,fontSize:c,fontFamily:sl(n(`${u}.fontFamily`)),fontWeight:t(`${u}.weight`),letterSpacing:`${t(`${u}.tracking`)}em`,color:n(`${u}.color`)},children:p},Q))}),o("background.glow.enabled")&&(0,rA.jsx)("div",{style:{position:"absolute",left:t("background.glow.x")*a-B,top:t("background.glow.y")*r-B,width:B*2,height:B*2,borderRadius:"50%",background:`radial-gradient(circle, ${PA(n("background.glow.color"),t("background.glow.opacity"))} 0%, ${PA(n("background.glow.color"),0)} 70%)`,filter:t("background.glow.blur")>0?`blur(${t("background.glow.blur")*i}px)`:void 0}})]})}function M5({ctx:A}){let{st:e,n:t}=A,{width:n,height:o,unit:a}=e.size,r=`pf-noise-${t("background.noise.seed")}`;return(0,rA.jsxs)("svg",{width:n,height:o,style:{...uo,opacity:t("background.noise.opacity"),mixBlendMode:"overlay"},"aria-hidden":"true",children:[(0,rA.jsxs)("filter",{id:r,x:"0",y:"0",width:"100%",height:"100%",children:[(0,rA.jsx)("feTurbulence",{type:"fractalNoise",baseFrequency:.75/(a*t("background.noise.scale")),numOctaves:2,seed:t("background.noise.seed"),stitchTiles:"stitch"}),(0,rA.jsx)("feColorMatrix",{type:"saturate",values:"0"})]}),(0,rA.jsx)("rect",{width:n,height:o,filter:`url(#${r})`})]})}function I5({ctx:A}){let{st:e,n:t,s:n}=A,o=e.size.unit,a=r=>r.map(([i,s])=>`${Math.round(i*10)/10},${Math.round(s*10)/10}`).join(" ");return(0,rA.jsx)("div",{"data-layer":"sheet-shadow",style:{...uo,zIndex:10,opacity:t("paper.shadow.opacity"),filter:`blur(${t("paper.shadow.blur")*o}px)`,transform:`translate(${t("paper.shadow.offsetX")*o}px, ${t("paper.shadow.offsetY")*o}px)`},children:(0,rA.jsx)("svg",{width:e.size.width,height:e.size.height,style:{position:"absolute",left:0,top:0,overflow:"visible"},"aria-hidden":"true",children:e.shadowQuads.map((r,i)=>(0,rA.jsx)("polygon",{points:a(r),fill:n("paper.shadow.color"),stroke:n("paper.shadow.color"),strokeWidth:2},i))})})}function c2({ctx:A,fit:e,text:t}){let{st:n,n:o,s:a}=A,r=`typography.${e.slot}`,i=n.size.pu,s=a(`${r}.alignment`),l=o(`${r}.shadowOpacity`)>0?`0 ${Math.max(1,o(`${r}.shadowBlur`)*i*.3)}px ${o(`${r}.shadowBlur`)*i}px ${PA(a(`${r}.shadow`),o(`${r}.shadowOpacity`))}`:void 0,d=e.slot==="bottomCta",u={fontFamily:sl(a(`${r}.fontFamily`)),fontWeight:o(`${r}.fontWeight`),fontStyle:a(`${r}.fontStyle`),fontSize:e.fontSize,lineHeight:o(`${r}.lineHeight`),letterSpacing:`${o(`${r}.letterSpacing`)}em`,color:a(`${r}.color`),opacity:o(`${r}.opacity`),textAlign:s,whiteSpace:"pre-line",overflowWrap:"break-word",textShadow:l};return(0,rA.jsx)("div",{"data-slot":e.slot,"data-fit":e.scale,style:{position:"absolute",left:e.x-e.area.x,top:e.y-e.area.y,width:e.width,transformOrigin:`${s==="left"?0:s==="center"?50:100}% 0%`,transform:`rotate(${o(`${r}.rotation`)}deg) skewX(${o(`${r}.skew`)}deg) scale(${o(`${r}.scale`)})`,...d?{}:u},children:d?(0,rA.jsx)("span",{style:{...u,display:"inline-block",padding:"0.42em 0.95em",borderRadius:999,background:a("cta.backgroundColor"),boxShadow:`0 ${.12*e.fontSize}px ${.4*e.fontSize}px ${PA("#000000",.18)}`},children:t}):t})}var D5={top:["topLogo","topHeadline","topSubtitle"],middle:["middleHeadline","middleBody"],bottom:["bottomHeadline","bottomBody","bottomCta"]},S5={topLogo:"content.top.logo",topHeadline:"content.top.headline",topSubtitle:"content.top.subtitle",middleHeadline:"content.middle.headline",middleBody:"content.middle.body",bottomHeadline:"content.bottom.headline",bottomBody:"content.bottom.body",bottomCta:"content.bottom.cta"};function F5({ctx:A,face:e,y0:t,y1:n,brightness:o}){let{st:a,n:r,s:i,b:s}=A,{width:l,height:d}=a.size.paper,u=a.size.pu,c=(w,I)=>I>=t-2&&w<=n+2,p="paperMaterial",B=o<1?(1-o)*.3:0,v=o<1?Math.min(.92,1-o/(1-B)):0,Q=o>1?Math.min(.6,(o-1)*.9):0,C=qs.map(w=>({id:w,...a.size.panels[w]})).filter(w=>c(w.y0,w.y1)),y=w=>{let I=`panels.${w}`;if(e==="back")return{backgroundColor:i(`${p}.backColor`)};let F=i(`${I}.colorMode`)==="own"?i(`${I}.backgroundColor`):i(`${p}.baseColor`);return s(`${p}.gradientEnabled`)&&s(`${I}.gradient`)&&i(`${I}.colorMode`)!=="own"?{backgroundColor:F,backgroundImage:`linear-gradient(${r(`${p}.gradientAngle`)}deg, ${F}, ${i(`${p}.secondaryColor`)})`,backgroundSize:`${l}px ${d}px`,backgroundPosition:`0px ${-a.size.panels[w].y0}px`}:{backgroundColor:F}};return(0,rA.jsxs)("div",{"data-print":e,style:{position:"absolute",left:0,top:0,width:l,height:d},children:[C.map(w=>(0,rA.jsx)("div",{"data-region":w.id,style:{position:"absolute",left:0,top:w.y0,width:l,height:w.height,...y(w.id)},children:(0,rA.jsx)(R5,{ctx:A,w:l,h:w.height,y0:w.y0,k:r(`panels.${w.id}.textureOpacity`)})},w.id)),v>0&&(0,rA.jsx)("div",{style:{...uo,background:"#000000",opacity:v}}),Q>0&&(0,rA.jsx)("div",{style:{...uo,background:"#ffffff",opacity:Q}}),a.panels.map(w=>w.edges.map(I=>{let F=a.size.creases[I.crease],G=Math.max(I.shadow.length+I.shadow.blur,I.valley.length,I.line.width)+2;return(e==="front"||I.edge==="bottom")&&c(F-G,F+G)?(0,rA.jsx)(O5,{e:e==="front"?I:{...I,valley:{...I.valley,opacity:0},shadow:{...I.shadow,opacity:0}},yc:F,w:l,pu:u,tint:Bg(I.line.color,"#000000",.55)},`${w.id}${I.edge}`):null})),(0,rA.jsx)(P5,{ctx:A,w:l,h:d}),e==="front"&&C.map(w=>(0,rA.jsx)(T5,{ctx:A,id:w.id},w.id)),e==="back"&&i("content.back.text")!==""&&C.some(w=>w.id===i("content.back.panel"))&&(0,rA.jsx)(k5,{ctx:A,id:i("content.back.panel")}),B>0&&(0,rA.jsx)("div",{style:{...uo,background:"#000000",opacity:B}})]})}function T5({ctx:A,id:e}){let{st:t,n,s:o,b:a}=A,{y0:r,height:i}=t.size.panels[e],s=t.size.paper.width,l=t.size.pu,d=`panels.${e}`,u=t.text.filter(B=>B.panel===e&&D5[e].includes(B.slot));if(!u.length)return null;let c=u[0].area,p=a(`${d}.overflow`);return(0,rA.jsx)("div",{"data-content":e,style:{position:"absolute",left:0,top:r,width:s,height:i,overflow:p?"visible":"hidden"},children:(0,rA.jsx)("div",{style:{...uo,transformOrigin:"50% 50%",transform:`translate(${n(`${d}.contentOffsetX`)*l}px, ${n(`${d}.contentOffsetY`)*l}px) rotate(${n(`${d}.contentRotation`)}deg) scale(${n(`${d}.contentScale`)})`},children:(0,rA.jsx)("div",{"data-content-area":e,style:{position:"absolute",left:c.x,top:c.y,width:c.width,height:c.height,overflow:p?"visible":"hidden"},children:u.map(B=>(0,rA.jsx)(c2,{ctx:A,fit:B,text:o(S5[B.slot])},B.slot))})})})}function k5({ctx:A,id:e}){let{st:t,n,s:o}=A,{y0:a,height:r}=t.size.panels[e],i=t.size.paper.width,s=t.size.pu,l="typography.back",d={slot:"back",panel:e,x:n(`${l}.x`)*i,y:n(`${l}.y`)*r,width:n(`${l}.maxWidth`)*i,fontSize:n(`${l}.fontSize`)*s,scale:1,lines:1,area:{x:0,y:0,width:i,height:r}};return(0,rA.jsx)("div",{"data-content":"back",style:{position:"absolute",left:0,top:a,width:i,height:r,overflow:"hidden",transform:"scaleY(-1)"},children:(0,rA.jsx)(c2,{ctx:A,fit:d,text:o("content.back.text")})})}function Y5({ctx:A,strip:e,last:t}){let{st:n,n:o,s:a}=A,r=n.size.paper.width,i=n.size.pu,s=e.y1-e.y0,l=e.index<t?Math.min(1.5,s*.5):0,d=o("paper.cornerRadius")*i,u=e.index===0?`${d}px ${d}px 0 0`:e.index===t?`0 0 ${d}px ${d}px`:"0",c=o("paper.thickness")*i*e.edgeOn;return(0,rA.jsxs)("div",{"data-strip":e.index,"data-region":e.region,"data-facing":e.facing,"data-rank":e.rank,style:{position:"absolute",left:0,top:0,width:r,height:s+l,transformOrigin:"0 0",transform:e.matrix,zIndex:e.z,overflow:"hidden",borderRadius:u},children:[(0,rA.jsx)("div",{style:{position:"absolute",left:0,top:-e.y0,width:r,height:n.size.paper.height},children:(0,rA.jsx)(F5,{ctx:A,face:e.facing,y0:e.y0,y1:e.y1,brightness:e.brightness})}),e.sheen>.002&&(0,rA.jsx)("div",{style:{...uo,background:"linear-gradient(160deg, rgba(255,255,255,0.9), rgba(255,255,255,0) 70%)",opacity:e.sheen}}),c>.4&&(0,rA.jsxs)(rA.Fragment,{children:[(0,rA.jsx)("div",{style:{position:"absolute",left:0,top:0,width:c,height:s+l,background:a("paper.edgeColor")}}),(0,rA.jsx)("div",{style:{position:"absolute",right:0,top:0,width:c,height:s+l,background:a("paper.edgeColor")}})]})]})}function R5({ctx:A,w:e,h:t,y0:n,k:o}){let{st:a,n:r,b:i}=A,s=r("paperMaterial.textureOpacity")*o,l=i("paperMaterial.grainEnabled")?r("paperMaterial.grainOpacity")*o:0;if(s<=0&&l<=0)return null;let d=r("paperMaterial.grainSeed"),u=a.size.pu,c=r("paperMaterial.grainScale");return(0,rA.jsxs)("svg",{width:e,height:t,viewBox:`0 ${n} ${e} ${t}`,style:{...uo,mixBlendMode:"soft-light"},"aria-hidden":"true",children:[(0,rA.jsxs)("filter",{id:`pf-fibre-${d}`,x:"0",y:"0",width:"100%",height:"100%",filterUnits:"userSpaceOnUse",children:[(0,rA.jsx)("feTurbulence",{type:"fractalNoise",baseFrequency:`${.9/(u*60)} ${.9/(u*3)}`,numOctaves:3,seed:d}),(0,rA.jsx)("feColorMatrix",{type:"saturate",values:"0"})]}),(0,rA.jsxs)("filter",{id:`pf-grain-${d}`,x:"0",y:"0",width:"100%",height:"100%",filterUnits:"userSpaceOnUse",children:[(0,rA.jsx)("feTurbulence",{type:"fractalNoise",baseFrequency:.8/Math.max(.6,u*c),numOctaves:1,seed:d+1}),(0,rA.jsx)("feColorMatrix",{type:"saturate",values:"0"})]}),s>0&&(0,rA.jsx)("rect",{x:0,y:n,width:e,height:t,filter:`url(#pf-fibre-${d})`,opacity:Math.min(1,s*3)}),l>0&&(0,rA.jsx)("rect",{x:0,y:n,width:e,height:t,filter:`url(#pf-grain-${d})`,opacity:Math.min(1,l*3)})]})}function O5({e:A,yc:e,w:t,pu:n,tint:o}){let a=A.edge==="top",r=l=>({position:"absolute",left:0,width:t,height:l,top:a?e:e-l}),i=a?"to bottom":"to top",s=A.line.width/2;return(0,rA.jsxs)("div",{"data-crease":A.crease,"data-edge":A.edge,children:[A.shadow.opacity>.002&&A.shadow.length>0&&(0,rA.jsx)("div",{style:{...r(A.shadow.length+A.shadow.blur),background:`linear-gradient(${i}, ${PA(o,A.shadow.opacity)} 0px, ${PA(o,A.shadow.opacity*.85)} ${A.shadow.length*.8}px, ${PA(o,0)} ${A.shadow.length+A.shadow.blur}px)`}}),A.valley.opacity>.002&&(0,rA.jsx)("div",{style:{...r(A.valley.length),background:`linear-gradient(${i}, ${PA(o,A.valley.opacity)}, ${PA(o,0)})`}}),A.highlight.opacity>.002&&(0,rA.jsx)("div",{style:{position:"absolute",left:0,width:t,height:A.highlight.width,top:a?e+s:e-s-A.highlight.width,background:PA(A.highlight.color,A.highlight.opacity),filter:`blur(${Math.max(.3,n*.8)}px)`}}),A.line.opacity>.002&&(0,rA.jsx)("div",{style:{position:"absolute",left:0,width:t,height:Math.max(.5,s),top:a?e:e-s,background:PA(A.line.color,A.line.opacity),filter:A.line.blur>.2?`blur(${A.line.blur}px)`:void 0}})]})}function P5({ctx:A,w:e,h:t}){let{st:n,n:o}=A,a=o("paperMaterial.edgeHighlight"),r=o("paperMaterial.edgeShadow");if(a<=0&&r<=0)return null;let i=Math.max(1,2.2*n.size.pu),s=PA("#ffffff",a),l=PA("#000000",r);return(0,rA.jsxs)(rA.Fragment,{children:[(0,rA.jsx)("div",{style:{position:"absolute",left:0,top:0,width:i,height:t,background:s}}),(0,rA.jsx)("div",{style:{position:"absolute",right:0,top:0,width:i,height:t,background:l}}),(0,rA.jsx)("div",{style:{position:"absolute",left:0,top:0,width:e,height:i,background:s}}),(0,rA.jsx)("div",{style:{position:"absolute",left:0,bottom:0,width:e,height:i,background:l}})]})}function u2(A,e){let t=o=>se(A,o),n={...e.pose,armLength:t(`hands.${e.id}.armLength`)*.6,open:e.fingerAngle,nails:se(A,"hands.nails.enabled"),nailScale:t("hands.nails.scale")};return e.id==="top"?r2(n):i2(n)}var Z0=A=>`translate(${A.x} ${A.y}) rotate(${A.rotation}) skewX(${A.skewX}) skewY(${A.skewY}) scale(${A.unitScale*A.scale}) translate(${A.offsetX} ${A.offsetY})`;function U5({ctx:A,h:e}){let{st:t,n,s:o,b:a}=A,r=u2(t.cfg,e),i="hands.style",s={base:o(`${i}.baseColor`),midtone:o(`${i}.midtoneColor`),shadow:o(`${i}.shadowColor`),highlight:o(`${i}.highlightColor`),nail:o(`${i}.nailColor`),sleeve:o(`${i}.sleeve.color`)},l=n(`${i}.outlineWidth`),d=(I,F,G)=>{let E=I.name==="highlights"?n(`${i}.highlightOpacity`):I.name==="fingerShadows"||I.name==="palmShadow"?n(`${i}.shadowOpacity`):I.name==="nails"?n("hands.nails.opacity"):1;return(0,rA.jsx)("path",{d:F.d,fill:s[F.fill],fillOpacity:(F.opacity??1)*E,...F.outline&&l>0?{stroke:o(`${i}.outlineColor`),strokeWidth:l*.6,strokeLinejoin:"round"}:{}},G)},u=t.panels.find(I=>I.id===e.panel),c=`pf-held-${e.id}`,p=u.facing==="back",B=I=>r.parts.filter(F=>F.layer===I).map((F,G)=>{let E=(0,rA.jsxs)("g",{"data-part":F.name,...F.grips?{"data-grips":"true"}:{},children:[F.shapes.map((D,k)=>d(F,D,k)),F.name==="forearm"&&a(`${i}.sleeve.enabled`)&&(0,rA.jsx)("path",{"data-part":"sleeve",d:s2(r,n(`${i}.sleeve.position`),n(`hands.${e.id}.armLength`)*.6),fill:s.sleeve})]},`${F.name}${G}`);return F.grips&&p?(0,rA.jsx)("g",{clipPath:`url(#${c})`,children:(0,rA.jsx)("g",{transform:Z0(e),children:E})},`c${F.name}${G}`):(0,rA.jsx)("g",{transform:Z0(e),children:E},`t${F.name}${G}`)}),v={position:"absolute",left:0,top:0,overflow:"visible",opacity:e.opacity,pointerEvents:"none"},{width:Q,height:C}=t.size,y=t.size.pu,w=n(`${i}.dropShadowOpacity`)>0?`drop-shadow(${n(`${i}.dropShadowOffset`)*y*.5}px ${n(`${i}.dropShadowOffset`)*y}px ${n(`${i}.dropShadowBlur`)*y}px ${PA("#1a0526",n(`${i}.dropShadowOpacity`))})`:void 0;return(0,rA.jsxs)(rA.Fragment,{children:[(0,rA.jsxs)("svg",{"data-hand":e.id,"data-piece":"body",width:Q,height:C,style:{...v,zIndex:e.bodyZ},"aria-hidden":"true",children:[p&&(0,rA.jsx)("defs",{children:(0,rA.jsx)("clipPath",{id:c,clipPathUnits:"userSpaceOnUse",children:(0,rA.jsx)("polygon",{points:u.corners.map(([I,F])=>`${I},${F}`).join(" ")})})}),B("behind")]}),(0,rA.jsx)("svg",{"data-hand":e.id,"data-piece":"finger",width:Q,height:C,style:{...v,zIndex:e.fingerZ,filter:w},"aria-hidden":"true",children:B("front")})]})}function G5({ctx:A,img:e}){let{st:t,n,s:o,b:a}=A,r=t.size.unit,i="typography.logo",s=n(`${i}.fontSize`)*r,l=n("logo.markSize")*s,d=n(`${i}.shadowOpacity`)>0?`0 ${n(`${i}.shadowBlur`)*r*.3}px ${n(`${i}.shadowBlur`)*r}px ${PA(o(`${i}.shadow`),n(`${i}.shadowOpacity`))}`:void 0,u=o("logo.image");return(0,rA.jsx)("div",{"data-layer":"logo",style:{position:"absolute",left:t.logo.x,top:t.logo.y,zIndex:900,opacity:t.logo.opacity,display:"flex",alignItems:"center",gap:n("logo.gap")*s,whiteSpace:"nowrap",transform:`translate(-50%, -50%) rotate(${n("logo.rotation")}deg) scale(${t.logo.scale})`},children:u!==""?e(u,{height:n("logo.imageHeight")*r,width:"auto",display:"block"},o("content.logo")||"logo"):(0,rA.jsxs)(rA.Fragment,{children:[a("logo.showMark")&&(0,rA.jsx)("div",{"data-part":"logo-mark",style:{width:l,height:l,borderRadius:n("logo.markRadius")*l,display:"flex",alignItems:"center",justifyContent:"center",background:`linear-gradient(135deg, ${o("logo.markColor")}, ${o("logo.markColorEnd")})`,color:o("logo.markTextColor"),fontFamily:sl(o(`${i}.fontFamily`)),fontWeight:800,fontSize:l*.72,lineHeight:1},children:o("logo.markText")}),o("content.logo")!==""&&(0,rA.jsx)("span",{"data-part":"logo-word",style:{fontFamily:sl(o(`${i}.fontFamily`)),fontWeight:n(`${i}.fontWeight`),fontStyle:o(`${i}.fontStyle`),fontSize:s,lineHeight:1,letterSpacing:`${n(`${i}.letterSpacing`)}em`,color:o(`${i}.color`),opacity:n(`${i}.opacity`),textShadow:d},children:o("content.logo")})]})})}function N5({ctx:A}){let{st:e,n:t,s:n}=A,o=e.size.unit,a="typography.cta",r=t("cta.shadowOpacity")>0?`0 ${t("cta.shadowBlur")*o*.35}px ${t("cta.shadowBlur")*o}px ${PA(n("cta.shadowColor"),t("cta.shadowOpacity"))}`:void 0;return(0,rA.jsx)("div",{"data-layer":"cta",style:{position:"absolute",left:e.cta.x,top:e.cta.y,zIndex:900,opacity:e.cta.opacity,whiteSpace:"nowrap",transform:`translate(-50%, -50%) rotate(${t("cta.rotation")}deg) scale(${e.cta.scale})`,background:n("cta.backgroundColor"),border:t("cta.borderWidth")>0?`${t("cta.borderWidth")*o}px solid ${n("cta.borderColor")}`:void 0,borderRadius:t("cta.radius")*o,padding:`${t("cta.paddingY")*o}px ${t("cta.paddingX")*o}px`,boxShadow:r,fontFamily:sl(n(`${a}.fontFamily`)),fontWeight:t(`${a}.fontWeight`),fontStyle:n(`${a}.fontStyle`),fontSize:t(`${a}.fontSize`)*o,lineHeight:1.2,letterSpacing:`${t(`${a}.letterSpacing`)}em`,color:n(`${a}.color`),textShadow:t(`${a}.shadowOpacity`)>0?`0 0 ${t(`${a}.shadowBlur`)*o}px ${PA(n(`${a}.shadow`),t(`${a}.shadowOpacity`))}`:void 0},children:(0,rA.jsx)("span",{style:{opacity:t(`${a}.opacity`)},children:n("content.cta.text")})})}function L5({ctx:A}){let{st:e}=A,{width:t,height:n,unit:o}=e.size,a=14*o,r=(l,d,u,c="#00ffd0")=>(0,rA.jsx)("text",{x:l,y:d,fill:c,fontSize:a,fontFamily:"ui-monospace, Menlo, monospace",stroke:"#000000",strokeWidth:a*.18,paintOrder:"stroke",children:u.map((p,B)=>(0,rA.jsx)("tspan",{x:l,dy:B===0?0:a*1.2,children:p},B))}),i=l=>l.map(([d,u])=>`${d},${u}`).join(" "),s=l=>[l.reduce((d,u)=>d+u[0],0)/4,l.reduce((d,u)=>d+u[1],0)/4];return(0,rA.jsxs)("div",{"data-layer":"debug",style:{...uo,zIndex:2e3,pointerEvents:"none"},children:[(0,rA.jsx)("svg",{width:t,height:n,style:{position:"absolute",left:0,top:0},"aria-hidden":"true",children:Array.from({length:9},(l,d)=>(d+1)/10).map(l=>(0,rA.jsxs)("g",{opacity:.35,children:[(0,rA.jsx)("line",{x1:l*t,y1:0,x2:l*t,y2:n,stroke:"#ffffff",strokeWidth:o,strokeDasharray:`${4*o} ${6*o}`}),(0,rA.jsx)("line",{x1:0,y1:l*n,x2:t,y2:l*n,stroke:"#ffffff",strokeWidth:o,strokeDasharray:`${4*o} ${6*o}`}),r(l*t+3*o,16*o,[l.toFixed(1)],"#ffffff"),r(3*o,l*n-4*o,[l.toFixed(1)],"#ffffff")]},l))}),(0,rA.jsx)("svg",{width:t,height:n,style:{position:"absolute",left:0,top:0,overflow:"visible",transformOrigin:"0 0",transform:e.camera.transform},"aria-hidden":"true",children:(0,rA.jsxs)("g",{children:[e.panels.map(l=>{let[d,u]=s(l.corners);return(0,rA.jsxs)("g",{children:[(0,rA.jsx)("polygon",{points:i(l.corners),fill:"none",stroke:l.facing==="front"?"#00ffd0":"#ff9d00",strokeWidth:2*o,strokeDasharray:l.facing==="front"?void 0:`${8*o} ${5*o}`}),r(d-60*o,u,[`${l.id.toUpperCase()} PANEL`,`${l.facing} \xB7 rank ${l.rank} \xB7 z ${l.z}`,`light ${l.brightness.toFixed(2)}`])]},l.id)}),e.debug.creases.map((l,d)=>{let u=(l.from[0]+l.to[0])/2,c=(l.from[1]+l.to[1])/2;return(0,rA.jsxs)("g",{children:[(0,rA.jsx)("line",{x1:l.from[0],y1:l.from[1],x2:l.to[0],y2:l.to[1],stroke:"#ff2d78",strokeWidth:3*o}),(0,rA.jsx)("circle",{cx:u,cy:c,r:7*o,fill:"#ff2d78",stroke:"#ffffff",strokeWidth:1.5*o}),r(l.to[0]+10*o,l.to[1]+(d?18:-8)*o,[`CREASE ${l.id.toUpperCase()} ${l.position.toFixed(3)}`,`ANGLE: ${l.angle.toFixed(1)}\xB0`,`pivot (${(u/t).toFixed(3)}, ${(c/n).toFixed(3)})`],"#ff2d78")]},l.id)}),(0,rA.jsx)("polygon",{points:[...e.strips.flatMap(l=>[l.corners[0],l.corners[3]]),...[...e.strips].reverse().flatMap(l=>[l.corners[2],l.corners[1]])].map(([l,d])=>`${l},${d}`).join(" "),fill:"none",stroke:"#ffffff",strokeWidth:3*o,strokeDasharray:`${2*o} ${4*o}`}),e.strips.filter(l=>l.region.startsWith("crease")).map(l=>(0,rA.jsx)("polygon",{points:i(l.corners),fill:"none",stroke:"#ff2d78",strokeWidth:.8*o,opacity:.6},l.index)),e.hands.map(l=>{let d=u2(e.cfg,l),u=l.unitScale*l.scale;return(0,rA.jsx)("g",{transform:Z0(l),children:Object.entries(d.joints).map(([c,p])=>(0,rA.jsxs)("g",{children:[(0,rA.jsx)("polyline",{points:p.map(([B,v])=>`${B},${v}`).join(" "),fill:"none",stroke:"#7df9ff",strokeWidth:1.5*o/u}),p.map(([B,v],Q)=>(0,rA.jsx)("circle",{cx:B,cy:v,r:3.2*o/u,fill:Q===0?"#ffffff":"#7df9ff"},Q))]},c))},`joints-${l.id}`)}),e.hands.map(l=>(0,rA.jsxs)("g",{children:[(0,rA.jsx)("circle",{cx:e.anchors[l.id].hand[0],cy:e.anchors[l.id].hand[1],r:10*o,fill:"none",stroke:"#7df9ff",strokeWidth:2*o}),(0,rA.jsx)("line",{x1:l.gripX-14*o,y1:l.gripY,x2:l.gripX+14*o,y2:l.gripY,stroke:"#ffe600",strokeWidth:2.5*o}),(0,rA.jsx)("line",{x1:l.gripX,y1:l.gripY-14*o,x2:l.gripX,y2:l.gripY+14*o,stroke:"#ffe600",strokeWidth:2.5*o}),(0,rA.jsx)("circle",{cx:l.x,cy:l.y,r:6*o,fill:"none",stroke:"#ffe600",strokeWidth:2*o}),r(l.gripX+16*o,l.gripY-10*o,[`HAND ${l.id.toUpperCase()} \u2192 ${l.panel}`,`paper.${l.id}GripAnchor (${(l.gripX/t).toFixed(3)}, ${(l.gripY/n).toFixed(3)})`,`${l.id}Hand.gripAnchor \u0394 ${Math.hypot(e.anchors[l.id].hand[0]-l.gripX,e.anchors[l.id].hand[1]-l.gripY).toFixed(1)} px`,`z body ${l.bodyZ} \xB7 finger ${l.fingerZ}`],"#ffe600")]},l.id))]})}),(0,rA.jsxs)("svg",{width:t,height:n,style:{position:"absolute",left:0,top:0},"aria-hidden":"true",children:[(0,rA.jsx)("rect",{x:10*o,y:24*o,width:330*o,height:7*a*1.2+16*o,fill:"#000000",opacity:.6,rx:6*o}),r(20*o,24*o+a*1.3,["DEBUG",`FRAME: ${e.frame.toFixed(1)} / ${e.timeline.end}`,`SCENE: ${e.phase.label} ${(e.phase.progress*100).toFixed(0)}%`,...e.folds.map(l=>`${l.id.toUpperCase()} FOLD ANGLE: ${l.angle.toFixed(1)}\xB0 (${l.phase})`),`ANCHOR: ${e.anchor.toUpperCase()} PANEL \xB7 ZOOM ${e.camera.zoom.toFixed(3)}`,`ORDER: ${[...e.panels].sort((l,d)=>l.rank-d.rank).map(l=>l.id).join(" < ")} \xB7 ${e.strips.length} strips`])]})]})}var er=Ue(bt(),1),H5={"9:16":9/16,"16:9":16/9,"1:1":1};function d2({config:A,autoPlay:e=!0,loop:t=!0,width:n=360,frame:o,debug:a,onFrame:r,onInvalid:i,resolveAsset:s,className:l}){let d=JSON.stringify(A??{}),u=(0,Ba.useMemo)(()=>Ig(JSON.parse(d)),[d]),c=u.config,[p,B]=(0,Ba.useState)(0),v=(0,Ba.useRef)({onFrame:r,onInvalid:i});v.current={onFrame:r,onInvalid:i};let Q=c?String(se(c,"canvas.aspectRatio")):"9:16",C=Math.round(n/(H5[Q]??9/16));if((0,Ba.useEffect)(()=>t2(),[]),(0,Ba.useEffect)(()=>{u.valid||v.current.onInvalid?.(u.errors)},[u]),(0,Ba.useEffect)(()=>{if(!c)return;let w=kg(c).end,I=se(c,"motion.speed"),F=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if(o!==void 0||!e||F){B(o??(F?w-1:0));return}let G=0,E=performance.now(),D=k=>{let U=(k-E)/1e3*Kr*I,O=t?U%w:Math.min(U,w-1);B(O),v.current.onFrame?.(O),(t||U<w)&&(G=requestAnimationFrame(D))};return G=requestAnimationFrame(D),()=>cancelAnimationFrame(G)},[c,o,e,t]),!u.valid)return(0,er.jsxs)("div",{role:"alert",className:l,style:{width:n,padding:12,font:"13px/1.4 system-ui",border:"1px solid currentColor"},children:[(0,er.jsx)("strong",{children:"This paper-fold configuration is not valid."}),(0,er.jsx)("ul",{children:u.errors.slice(0,8).map(w=>(0,er.jsx)("li",{children:w.message},w.path+w.message))})]});let y=[se(c,"content.logo"),se(c,"content.top.headline"),se(c,"content.middle.headline"),se(c,"content.bottom.body"),se(c,"content.cta.text")].filter(Boolean).join(" \u2014 ");return(0,er.jsx)("div",{role:"img","aria-label":y,className:l,style:{width:n,height:C,position:"relative",overflow:"hidden"},children:(0,er.jsx)("div",{"aria-hidden":"true",children:(0,er.jsx)(l2,{config:c,frame:p,width:n,height:C,debug:a,resolveAsset:s})})})}var Ca=Ue(lr(),1);var z5=`https://fonts.googleapis.com/css2?${ha.map(A=>`family=${A.replace(/ /g,"+")}:wght@${A==="Space Grotesk"?"300..700":"300..800"}`).join("&")}&display=swap`;function g2(A=typeof document>"u"?void 0:document){if(!A||A.querySelector("link[data-promo-fonts]"))return;let e=A.createElement("link");e.rel="stylesheet",e.href=z5,e.setAttribute("data-promo-fonts",""),A.head.appendChild(e)}var q0=Ue(bt(),1),j5={sparkle:"M12 2l1.9 6.1L20 10l-6.1 1.9L12 18l-1.9-6.1L4 10l6.1-1.9L12 2zm7 12l.9 2.6 2.6.9-2.6.9L19 21l-.9-2.6-2.6-.9 2.6-.9L19 14z",bolt:"M13 2L4 14h7l-1 8 9-12h-7l1-8z",star:"M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8L12 2.5z",check:"M9.5 16.2L5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7 9.5 16.2z",chart:"M4 20h16v-2H4v2zm1-4h3V9H5v7zm5 0h3V4h-3v12zm5 0h3v-5h-3v5z",heart:"M12 21s-7.5-4.6-9.6-9.2C.9 8.4 3 4.5 6.7 4.5c2.1 0 3.6 1.2 4.3 2.4.7-1.2 2.2-2.4 4.3-2.4 3.7 0 5.8 3.9 4.3 7.3C19.5 16.4 12 21 12 21z",rocket:"M14 3c3.5 0 6 1 7 2 1 1 2 3.5 2 7-2 0-3.5.7-5 2.2L15.2 17 7 8.8 9.8 6C11.3 4.5 12 5 14 3zM6 10l8 8-2 2-2.5-.5L8 21l-1-3-3-1 1.5-1.5L5 13l1-3zm10-2.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z",lock:"M7 10V8a5 5 0 0110 0v2h1a1 1 0 011 1v9a1 1 0 01-1 1H6a1 1 0 01-1-1v-9a1 1 0 011-1h1zm2 0h6V8a3 3 0 00-6 0v2z",arrow:"M5 11h10.2l-4.6-4.6L12 5l7 7-7 7-1.4-1.4 4.6-4.6H5v-2z",globe:"M12 2a10 10 0 100 20 10 10 0 000-20zm6.9 9h-3a15 15 0 00-1.3-5.6A8 8 0 0118.9 11zM12 4c.9 1.2 1.8 3.6 2 7h-4c.2-3.4 1.1-5.8 2-7zM9.4 5.4A15 15 0 008.1 11h-3a8 8 0 014.3-5.6zM5.1 13h3a15 15 0 001.3 5.6A8 8 0 015.1 13zM12 20c-.9-1.2-1.8-3.6-2-7h4c-.2 3.4-1.1 5.8-2 7zm2.6-1.4a15 15 0 001.3-5.6h3a8 8 0 01-4.3 5.6z",chat:"M4 4h16a2 2 0 012 2v10a2 2 0 01-2 2H9l-5 4v-4a2 2 0 01-2-2V6a2 2 0 012-2z"};function Li({name:A,size:e,color:t}){let n=j5[A];return n?(0,q0.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24","aria-hidden":"true",style:{display:"block",flex:"none"},children:(0,q0.jsx)("path",{d:n,fill:t})}):null}var uA=Ue(bt(),1),K5=({src:A,style:e,alt:t})=>(0,uA.jsx)("img",{src:A,style:e,alt:t}),J5=A=>A.startsWith("static:")?`/${A.slice(7)}`:A,f2=A=>`'${A}', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif`,Hi=(A,e="")=>`translate(${A.x}px, ${A.y}px) rotate(${A.rotation}deg) scale(${A.scale}) ${e}`.trim(),ll=A=>A.blur>.05?`blur(${A.blur}px)`:void 0,Au=A=>({position:"absolute",left:A.x,top:A.y,width:A.width,height:A.height});function h2({config:A,frame:e,width:t,height:n,resolveAsset:o=J5,ImageComponent:a=K5}){let r=xv(A,e,t,n),i=r.cfg,s=Q=>me(i,Q),l=Q=>me(i,Q),d=Q=>me(i,Q),u=r.size.unit,p={st:r,n:s,s:l,b:d,u,img:(Q,C,y)=>(0,uA.jsx)(a,{src:o(Q),style:C,alt:y})},B=r.camera,v=1+(B.scale-1)*.35;return(0,uA.jsxs)("div",{"data-promo-frame":Math.round(r.frame*100)/100,style:{position:"relative",width:t,height:n,overflow:"hidden",background:l("canvas.backgroundColor"),fontFamily:f2(l("typography.fontFamily"))},children:[(0,uA.jsx)("div",{style:{position:"absolute",inset:0,transform:`scale(${v}) translate(${B.driftX*.3}px, ${B.driftY*.3}px)`},children:(0,uA.jsx)(W5,{ctx:p})}),(0,uA.jsx)(_5,{ctx:p}),(0,uA.jsxs)("div",{style:{position:"absolute",inset:0,opacity:r.exit.opacity,transformOrigin:"50% 50%",transform:`perspective(${B.perspective}px) translate(${-B.x+B.driftX}px, ${-B.y+B.driftY}px) rotateX(${B.tilt}deg) rotate(${B.rotation}deg) scale(${B.scale})`},children:[(0,uA.jsx)(V5,{ctx:p}),r.product.visible&&(0,uA.jsx)(Z5,{ctx:p}),r.floating.map((Q,C)=>(0,uA.jsx)(oS,{ctx:p,i:C,f:Q},C)),(0,uA.jsx)(X5,{ctx:p})]}),(0,uA.jsx)($5,{ctx:p}),r.exit.toBase>0&&(0,uA.jsx)("div",{style:{position:"absolute",inset:0,background:l("canvas.backgroundColor"),opacity:r.exit.toBase}})]})}function W5({ctx:A}){let{st:e,n:t,s:n,b:o,u:a}=A,{width:r,height:i}=e.size,s=Math.min(r,i),l=me(e.cfg,"background.gradient.stops"),d=[(0,uA.jsx)("div",{style:{position:"absolute",inset:0,background:n("background.baseColor")}},"base")];if(o("background.gradient.enabled")){let c=n("background.gradient.type"),p=l.map(B=>`${PA(B.color,B.opacity)} ${Math.round(B.offset*1e3)/10}%`).join(", ");if(c==="linear")d.push((0,uA.jsx)("div",{style:{position:"absolute",inset:0,background:`linear-gradient(${t("background.gradient.angle")}deg, ${p})`}},"g"));else if(c==="radial")d.push((0,uA.jsx)("div",{style:{position:"absolute",inset:0,background:`radial-gradient(ellipse at 50% 55%, ${p})`}},"g"));else{let B=t("background.gradient.softness"),v=l.map((Q,C)=>{let y=(t("background.gradient.angle")+Q.offset*300+C*17)*Math.PI/180,w=50+38*Math.cos(y),I=50+38*Math.sin(y);return`radial-gradient(circle at ${w}% ${I}%, ${PA(Q.color,Q.opacity)} 0%, ${PA(Q.color,0)} ${Math.round(45+B*45)}%)`});d.push((0,uA.jsx)("div",{style:{position:"absolute",inset:0,background:`${v.join(", ")}, linear-gradient(${t("background.gradient.angle")}deg, ${p})`}},"g"))}}let u=(c,p,B)=>{if(!o(`${p}.enabled`))return;let v=t(`${p}.radius`)*s;d.push((0,uA.jsx)("div",{style:{position:"absolute",left:t(`${p}.x`)*r-v,top:t(`${p}.y`)*i-v,width:2*v,height:2*v,borderRadius:"50%",background:`radial-gradient(circle, ${PA(n(`${p}.color`),t(`${p}.intensity`)*e.lightsIn)} 0%, ${PA(n(`${p}.color`),0)} 70%)`,filter:B>0?`blur(${B}px)`:void 0}},c))};if(u("glow","background.glow",t("background.glow.blur")*a),u("glow2","background.secondaryGlow",0),e.lights.forEach((c,p)=>d.push((0,uA.jsx)("div",{style:{position:"absolute",left:c.x-c.radius,top:c.y-c.radius,width:2*c.radius,height:2*c.radius,borderRadius:"50%",background:`radial-gradient(circle, ${PA(c.color,c.opacity)} 0%, ${PA(c.color,c.opacity*.35)} 40%, ${PA(c.color,0)} 70%)`,filter:c.blur>0?`blur(${c.blur}px)`:void 0,mixBlendMode:"screen"}},`l${p}`))),o("background.vignette.enabled")&&d.push((0,uA.jsx)("div",{style:{position:"absolute",inset:0,background:`radial-gradient(ellipse at 50% 50%, ${PA(n("background.vignette.color"),0)} 45%, ${PA(n("background.vignette.color"),t("background.vignette.intensity"))} 100%)`}},"v")),o("background.noise.enabled")){let c=t("background.noise.seed");d.push((0,uA.jsxs)("svg",{width:r,height:i,style:{position:"absolute",inset:0,opacity:t("background.noise.opacity"),mixBlendMode:"overlay"},"aria-hidden":"true",children:[(0,uA.jsxs)("filter",{id:`promo-grain-${c}`,x:"0",y:"0",width:"100%",height:"100%",children:[(0,uA.jsx)("feTurbulence",{type:"fractalNoise",baseFrequency:.9/(t("background.noise.scale")*Math.max(1,a)),numOctaves:2,seed:c,stitchTiles:"stitch"}),(0,uA.jsx)("feColorMatrix",{type:"saturate",values:"0"})]}),(0,uA.jsx)("rect",{width:"100%",height:"100%",filter:`url(#promo-grain-${c})`})]},"n"))}return(0,uA.jsx)(uA.Fragment,{children:d})}function _5({ctx:A}){let{st:e,n:t,s:n,u:o}=A;if(!e.particles.length)return null;let a=n("particles.color"),r=t("particles.glow"),i=t("particles.blur")*o;return(0,uA.jsx)("div",{style:{position:"absolute",inset:0,filter:i>0?`blur(${i}px)`:void 0},"aria-hidden":"true",children:e.particles.map((s,l)=>(0,uA.jsx)("div",{style:{position:"absolute",left:s.x-s.size/2,top:s.y-s.size/2,width:s.size,height:s.size,borderRadius:"50%",background:a,opacity:s.opacity,boxShadow:r>0?`0 0 ${s.size*2.5}px ${s.size*.6}px ${PA(a,r)}`:void 0}},l))})}function Ay({block:A,style:e,reveal:t,unitStyle:n}){return A.units.length?(0,uA.jsx)("div",{style:e,children:A.units.map((o,a)=>{let r=A.anims[a],i=(0,uA.jsx)("span",{style:{...n,display:"inline-block",transform:Hi(t?{...r,y:r.y+(1-r.clip)*1.1*Number(e.fontSize??0)}:r),filter:ll(r),opacity:r.opacity,whiteSpace:"pre"},children:o}),s=a===A.units.length-1;return(0,uA.jsxs)("span",{children:[t?(0,uA.jsx)("span",{style:{display:"inline-block",overflow:"hidden",verticalAlign:"top",paddingBottom:"0.08em"},children:i}):i,s?null:A.split==="lines"?(0,uA.jsx)("br",{}):" "]},a)})}):null}function V5({ctx:A}){let{st:e,n:t,s:n,b:o,u:a}=A,r=e.layout.text,i=r.align,s=r.x-r.width/2,l=t("typography.titleSize")*a*r.titleScale,u=o("typography.titleGradient.enabled")?{backgroundImage:`linear-gradient(180deg, ${n("typography.titleGradient.from")}, ${n("typography.titleGradient.to")})`,WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",WebkitTextFillColor:"transparent",paddingBottom:"0.08em",marginBottom:"-0.08em"}:{color:n("typography.titleColor")},c=[t("typography.shadowOpacity")>0?`drop-shadow(0 ${6*a}px ${t("typography.shadowBlur")*a}px ${PA(n("typography.shadowColor"),t("typography.shadowOpacity"))})`:"",e.bloom.title>0?`drop-shadow(0 0 ${t("glow.radius")*a*.25}px ${PA(n("glow.color"),e.bloom.title*.9)})`:""].filter(Boolean).join(" "),p=n("typography.eyebrowStyle")==="pill",B=t("typography.eyebrowSize")*a,v=(w,I,F=1,G=void 0)=>(0,uA.jsx)("div",{style:{position:"absolute",left:s,top:r.y,width:r.width,display:"flex",flexDirection:"column",gap:t("typography.gap")*a,alignItems:i==="left"?"flex-start":i==="right"?"flex-end":"center",textAlign:i,opacity:F,transform:G?Hi(G):void 0,filter:G?ll(G):void 0},children:w},I),Q=(w,I,F)=>[w.units.length?(0,uA.jsx)("div",{style:{display:"inline-flex",alignItems:"center",padding:p?`${B*.45}px ${B*1.05}px`:0,borderRadius:999,background:p?PA(n("typography.eyebrowBackground"),t("typography.eyebrowBackgroundOpacity")):void 0,border:p?`${Math.max(1,a)}px solid ${PA(n("typography.eyebrowBackground"),t("typography.eyebrowBackgroundOpacity")*1.6)}`:void 0,opacity:w.anims[0]?.opacity??1,transform:w.anims.length===1?Hi(w.anims[0]):void 0,filter:w.anims.length===1?ll(w.anims[0]):void 0},children:(0,uA.jsx)(Ay,{block:w.anims.length===1?{...w,anims:[{opacity:1,x:0,y:0,scale:1,rotation:0,blur:0,clip:w.anims[0].clip}]}:w,reveal:n("textAnimation.eyebrow.mode")==="reveal",style:{fontSize:B,fontWeight:t("typography.eyebrowWeight"),letterSpacing:`${t("typography.eyebrowLetterSpacing")}em`,textTransform:n("typography.eyebrowCase")==="uppercase"?"uppercase":"none",color:n("typography.eyebrowColor"),lineHeight:1.2,whiteSpace:"nowrap"}})},"e"):null,(0,uA.jsx)(Ay,{block:I,reveal:n("textAnimation.title.mode")==="reveal",unitStyle:u,style:{fontSize:l,fontWeight:t("typography.titleWeight"),letterSpacing:`${t("typography.titleLetterSpacing")}em`,lineHeight:t("typography.titleLineHeight"),filter:c||void 0,textWrap:"balance",color:n("typography.titleColor")}},"t"),(0,uA.jsx)(Ay,{block:F,reveal:n("textAnimation.subtitle.mode")==="reveal",style:{fontSize:t("typography.subtitleSize")*a,fontWeight:t("typography.subtitleWeight"),lineHeight:t("typography.subtitleLineHeight"),color:PA(n("typography.subtitleColor"),t("typography.subtitleOpacity")),maxWidth:r.width*.9,textWrap:"balance"}},"s")],C=e.text,y=[v(Q(C.eyebrow,C.title,C.subtitle),"cur")];if(C.leaving){let w=I=>({text:I,split:"none",units:I?[I]:[],anims:I?[{opacity:1,x:0,y:0,scale:1,rotation:0,blur:0,clip:1}]:[]});y.unshift(v(Q(w(C.leaving.eyebrow),w(C.leaving.title),w(C.leaving.subtitle)),"old",C.leaving.anim.opacity,C.leaving.anim))}return(0,uA.jsx)(uA.Fragment,{children:y})}function X5({ctx:A}){let{st:e,n:t,s:n,b:o,u:a}=A;if(!o("content.cta.enabled")||!n("content.cta.text"))return null;let r=e.text.cta,i=t("typography.ctaSize")*a,s=n("content.cta.style"),l=n("content.cta.backgroundColor"),d=s==="outline";return(0,uA.jsx)("div",{style:{position:"absolute",left:e.layout.cta.x,top:e.layout.cta.y,transform:`translate(-50%, -50%) ${Hi(r)}`,opacity:r.opacity,filter:ll(r)},children:(0,uA.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:i*.5,whiteSpace:"nowrap",padding:`${i*.72}px ${i*1.5}px`,borderRadius:s==="rounded"?i*.5:999,background:d?"transparent":l,border:d?`${2*a}px solid ${l}`:void 0,color:d?l:n("content.cta.textColor"),fontSize:i,fontWeight:t("typography.ctaWeight"),letterSpacing:"-0.01em",boxShadow:d?void 0:`0 ${10*a}px ${36*a}px ${PA(n("productWindow.shadowColor"),.35)}, 0 0 ${t("glow.radius")*a*.3}px ${PA(n("glow.color"),e.bloom.product*.6)}`},children:[n("content.cta.text"),o("content.cta.arrow")&&(0,uA.jsx)(Li,{name:"arrow",size:i*1.05,color:d?l:n("content.cta.textColor")})]})})}function $5({ctx:A}){let{st:e,n:t,s:n,b:o,u:a,img:r}=A;if(!o("content.logo.enabled"))return null;let i=t("content.logo.size")*a,s=e.logo,l=n("assets.logo"),d=n("content.logo.mark"),u=n("content.logo.markColor"),c=d==="none"?null:d==="spark"?(0,uA.jsx)(Li,{name:"sparkle",size:i*1.15,color:u}):(0,uA.jsx)("div",{style:{width:i*.9,height:i*.9,borderRadius:d==="square"?i*.22:"50%",background:d==="ring"?"transparent":u,border:d==="ring"?`${i*.16}px solid ${u}`:void 0,flex:"none"}});return(0,uA.jsx)("div",{style:{position:"absolute",left:e.layout.logo.x,top:e.layout.logo.y,transform:"translateY(-50%)",opacity:s.opacity*e.exit.opacity,display:"flex",alignItems:"center",gap:i*.4},children:l?r(l,{height:i*1.4,width:"auto",display:"block"},n("content.logo.text")||"Logo"):(0,uA.jsxs)(uA.Fragment,{children:[c,(0,uA.jsx)("span",{style:{fontSize:i,fontWeight:800,letterSpacing:"0.04em",color:n("content.logo.color"),lineHeight:1},children:n("content.logo.text")})]})})}function Z5({ctx:A}){let{st:e,n:t,s:n,b:o,u:a}=A,r=e.layout.window,i=e.product,s=t("productWindow.radius")*a,l=o("productWindow.shadow")?`0 ${t("productWindow.shadowOffsetY")*a}px ${t("productWindow.shadowBlur")*a}px ${PA(n("productWindow.shadowColor"),t("productWindow.shadowOpacity"))}`:"",d=e.bloom.product>0?`0 0 ${t("glow.radius")*a}px ${t("glow.radius")*a*.15}px ${PA(n("glow.color"),e.bloom.product)}`:"";return(0,uA.jsxs)("div",{style:{position:"absolute",left:r.cx-r.width/2,top:r.cy-r.height/2,width:r.width,height:r.height,opacity:i.opacity,transform:`translate(${i.x}px, ${i.y}px) perspective(${t("window.perspective")*a}px) rotateX(${i.tilt}deg) rotateY(${i.tiltY}deg) rotate(${i.rotation}deg) scale(${i.scale})`,transformOrigin:"50% 60%"},children:[(0,uA.jsxs)("div",{style:{position:"absolute",inset:0,borderRadius:s,overflow:"hidden",background:n("productWindow.backgroundColor"),boxShadow:[l,d].filter(Boolean).join(", ")||void 0,border:t("productWindow.borderWidth")>0?`${t("productWindow.borderWidth")*a}px solid ${PA(n("productWindow.borderColor"),t("productWindow.borderOpacity"))}`:void 0,boxSizing:"border-box",fontFamily:f2(n("typography.uiFontFamily"))},children:[(0,uA.jsx)(q5,{ctx:A}),(0,uA.jsx)(AS,{ctx:A}),(0,uA.jsx)(eS,{ctx:A})]}),(0,uA.jsx)(nS,{ctx:A})]})}function q5({ctx:A}){let{st:e,n:t,s:n,b:o,u:a}=A,r=e.layout.ui.topBar;if(!r)return null;let i=r*.24;return(0,uA.jsxs)("div",{style:{position:"absolute",left:0,top:0,right:0,height:r,background:n("window.topBarColor"),display:"flex",alignItems:"center",padding:`0 ${r*.45}px`,gap:r*.4,color:n("window.topBarTextColor"),fontSize:r*.34},children:[o("window.showTrafficLights")&&(0,uA.jsx)("div",{style:{display:"flex",gap:i*.65,flex:"none"},children:["window.trafficLight1","window.trafficLight2","window.trafficLight3"].map(s=>(0,uA.jsx)("div",{style:{width:i,height:i,borderRadius:"50%",background:n(s)}},s))}),o("content.showTopBarTitle")&&(0,uA.jsx)("span",{style:{fontWeight:600,whiteSpace:"nowrap",flex:"none"},children:n("content.productName")}),o("window.showAddressBar")&&(0,uA.jsx)("div",{style:{flex:1,display:"flex",justifyContent:"center"},children:(0,uA.jsxs)("div",{style:{minWidth:"38%",maxWidth:"60%",height:r*.6,borderRadius:r*.3,background:PA("#ffffff",.9),border:`${Math.max(1,a)}px solid ${PA("#000000",.06)}`,display:"flex",alignItems:"center",justifyContent:"center",gap:r*.14,padding:`0 ${r*.4}px`,whiteSpace:"nowrap",overflow:"hidden"},children:[(0,uA.jsx)(Li,{name:"lock",size:r*.26,color:n("window.topBarTextColor")}),n("window.addressText")]})}),!o("window.showAddressBar")&&(0,uA.jsx)("div",{style:{flex:1}}),(0,uA.jsx)("div",{style:{width:t("window.topBarHeight")*a*.9,flex:"none"}})]})}function AS({ctx:A}){let{st:e,n:t,s:n,b:o,u:a,img:r}=A,i=e.layout.ui.header;if(!i)return null;let s=t("productHeader.fontSize")*a,l=me(e.cfg,"productHeader.navItems"),d=n("productHeader.activeItem");return(0,uA.jsxs)("div",{style:{position:"absolute",left:0,right:0,top:e.layout.ui.topBar,height:i,background:n("productHeader.backgroundColor"),display:"flex",alignItems:"center",padding:`0 ${t("productHeader.padding")*a}px`,gap:s*1.6,fontSize:s,fontWeight:t("productHeader.fontWeight"),borderBottom:o("productHeader.showDivider")?`${Math.max(1,a*1.5)}px solid ${n("productHeader.dividerColor")}`:void 0,boxSizing:"border-box"},children:[o("productHeader.showLogo")&&(n("assets.appLogo")?r(n("assets.appLogo"),{height:s*1.6,width:"auto",display:"block"},n("productHeader.logo")||"App logo"):(0,uA.jsx)("span",{style:{fontWeight:800,letterSpacing:"0.06em",color:n("productHeader.logoColor"),whiteSpace:"nowrap"},children:n("productHeader.logo")})),(0,uA.jsx)("div",{style:{flex:1,display:"flex",justifyContent:"center",gap:s*.5},children:l.map((u,c)=>{let p=u===d;return(0,uA.jsx)("span",{style:{padding:`${s*.45}px ${s*1}px`,borderRadius:999,whiteSpace:"nowrap",color:n(p?"productHeader.activeColor":"productHeader.textColor"),background:p?n("productHeader.activeBackground"):"transparent",fontWeight:p?Math.min(800,t("productHeader.fontWeight")+100):void 0},children:u},c)})}),o("productHeader.showAction")&&n("productHeader.actionText")&&(0,uA.jsx)("span",{style:{padding:`${s*.5}px ${s*1.1}px`,borderRadius:999,background:n("productHeader.accentColor"),color:"#ffffff",fontWeight:600,whiteSpace:"nowrap"},children:n("productHeader.actionText")})]})}function eS({ctx:A}){let{st:e,s:t,b:n,u:o,img:a}=A,r=e.layout.ui,i=r.fontSize,s=me(e.cfg,"productContent.cards"),l=t("productContent.accentColor"),d=u=>({opacity:u.opacity,transform:Hi(u),filter:ll(u)});return(0,uA.jsx)("div",{style:{position:"absolute",left:0,right:0,top:r.topBar+r.header,bottom:0,background:t("productContent.backgroundColor")},children:(0,uA.jsxs)("div",{style:{position:"absolute",left:0,top:-(r.topBar+r.header),width:"100%",height:"100%",fontSize:i,color:t("productContent.textColor")},children:[r.greeting&&(0,uA.jsx)("div",{style:{...Au(r.greeting),...d(e.ui.greeting),background:t("productContent.greeting.bubbleColor"),color:t("productContent.greeting.textColor"),borderRadius:i*1.1,borderBottomRightRadius:t("productContent.greeting.align")==="right"?i*.3:i*1.1,borderBottomLeftRadius:t("productContent.greeting.align")==="left"?i*.3:i*1.1,padding:`${i*.7}px ${i*.9}px`,boxSizing:"border-box",lineHeight:1.4,overflow:"hidden"},children:t("productContent.greeting.text")}),r.response&&(0,uA.jsxs)("div",{style:{...Au(r.response),...d(e.ui.response),display:"flex",alignItems:"center",gap:i*.6},children:[n("productContent.avatar.enabled")&&(t("assets.avatar")?a(t("assets.avatar"),{width:i*1.9,height:i*1.9,borderRadius:"50%",objectFit:"cover",flex:"none"},"Assistant"):(0,uA.jsx)("div",{style:{width:i*1.9,height:i*1.9,borderRadius:"50%",flex:"none",background:`linear-gradient(135deg, ${t("productContent.avatar.color")}, ${l})`,color:"#ffffff",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700,fontSize:i*.8},children:t("productContent.avatar.initials")})),(0,uA.jsx)("span",{style:{color:t("productContent.textColor"),fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:t("productContent.response.text")})]}),r.hero&&(0,uA.jsx)("div",{style:{...Au(r.hero),...d(e.ui.hero),borderRadius:i*.9,overflow:"hidden",background:`linear-gradient(120deg, ${PA(l,.18)}, ${PA(l,.45)})`},children:t("assets.heroImage")?a(t("assets.heroImage"),{width:"100%",height:"100%",objectFit:"cover",display:"block"},"Hero"):(0,uA.jsx)(p2,{kind:"website",accent:l,u:o})}),r.cards.map((u,c)=>(0,uA.jsx)(tS,{r:u,a:e.ui.cards[c],c:s[c],fs:i,u:o,img:a},c)),r.input&&(0,uA.jsxs)("div",{style:{...Au(r.input),display:"flex",alignItems:"center",gap:i*.6,padding:`0 ${i*.4}px 0 ${i*1}px`,boxSizing:"border-box",borderRadius:999,background:t("productContent.input.backgroundColor"),border:`${Math.max(1,o*1.5)}px solid ${t("productContent.input.borderColor")}`},children:[(0,uA.jsxs)("span",{style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",color:e.ui.typed?t("productContent.textColor"):t("productContent.mutedColor")},children:[e.ui.typed||t("productContent.input.placeholder"),e.ui.typed&&e.ui.caret&&(0,uA.jsx)("span",{style:{display:"inline-block",width:Math.max(1,o*2),height:i*1.1,background:l,marginLeft:o*2,verticalAlign:"middle"}})]}),(0,uA.jsx)("div",{style:{width:r.input.height*.74,height:r.input.height*.74,borderRadius:"50%",background:t("productContent.sendButtonColor"),color:t("productContent.sendButtonTextColor"),display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700,fontSize:i*1.05,flex:"none"},children:t("productContent.sendButton")})]})]})})}function tS({r:A,a:e,c:t,fs:n,u:o,img:a}){let r=t.accentColor,i=t.radius*o,s=Math.min(n*1.02,A.width*.085),l=!!(t.title||t.subtitle);return(0,uA.jsxs)("div",{style:{...Au(A),opacity:e.opacity*t.opacity,filter:ll(e),borderRadius:i,background:t.backgroundColor,overflow:"hidden",transform:`${Hi(e)} rotate(${t.rotation}deg) scale(${t.scale})`,boxShadow:`0 ${8*o}px ${28*o}px ${PA("#1c1432",.1)}`,border:`${Math.max(1,o)}px solid ${PA(r,.18)}`,boxSizing:"border-box",display:"flex",flexDirection:"column"},children:[(0,uA.jsx)("div",{style:{position:"relative",flex:1,margin:i*.45,marginBottom:l?0:i*.45,borderRadius:i*.7,overflow:"hidden",background:PA(r,.12)},children:t.image?a(t.image,{width:"100%",height:"100%",objectFit:t.imageFit,display:"block"},t.title||"Preview"):(0,uA.jsx)(p2,{kind:t.placeholder,accent:r,u:o})}),l&&(0,uA.jsxs)("div",{style:{padding:`${s*.6}px ${i*.6}px ${s*.75}px`,color:t.textColor,lineHeight:1.25},children:[t.title?(0,uA.jsx)("div",{style:{fontSize:s,fontWeight:700,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:t.title}):null,t.subtitle?(0,uA.jsx)("div",{style:{fontSize:s*.78,opacity:.6,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:t.subtitle}):null]})]})}function p2({kind:A,accent:e,u:t}){let n={position:"absolute",borderRadius:6*t},o=(a,r,i,s=.35,l="7%")=>(0,uA.jsx)("div",{style:{...n,top:a,left:r,width:i,height:l,background:PA(e,s)}});switch(A){case"website":return(0,uA.jsxs)("div",{style:{position:"absolute",inset:0},children:[o("8%","8%","22%",.5,"6%"),o("8%","60%","32%",.2,"6%"),(0,uA.jsx)("div",{style:{...n,top:"22%",left:"8%",right:"8%",height:"40%",background:`linear-gradient(120deg, ${PA(e,.85)}, ${PA(e,.35)})`}}),o("70%","8%","60%",.3),o("82%","8%","40%",.2),(0,uA.jsx)("div",{style:{...n,top:"72%",right:"8%",width:"22%",height:"14%",borderRadius:999,background:PA(e,.9)}})]});case"gallery":return(0,uA.jsx)("div",{style:{position:"absolute",inset:"8%",display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:"8%"},children:[.85,.45,.3,.65].map((a,r)=>(0,uA.jsx)("div",{style:{borderRadius:8*t,background:`linear-gradient(${40+r*70}deg, ${PA(e,a)}, ${PA(e,a*.4)})`}},r))});case"chart":return(0,uA.jsx)("div",{style:{position:"absolute",inset:"10%",display:"flex",alignItems:"flex-end",gap:"6%"},children:[.35,.55,.45,.72,.6,.9].map((a,r)=>(0,uA.jsx)("div",{style:{flex:1,height:`${a*100}%`,borderRadius:5*t,background:PA(e,.35+a*.6)}},r))});case"gradient":return(0,uA.jsx)("div",{style:{position:"absolute",inset:0,background:`radial-gradient(circle at 30% 30%, ${PA("#ffffff",.7)}, ${PA(e,.9)} 45%, ${PA(e,.5)})`}});case"text":return(0,uA.jsxs)("div",{style:{position:"absolute",inset:0},children:[o("14%","10%","70%",.55,"9%"),o("34%","10%","80%",.25),o("48%","10%","74%",.25),o("62%","10%","56%",.25)]});default:return null}}function nS({ctx:A}){let{st:e,n:t,s:n,b:o,u:a}=A;if(!o("content.badge.enabled")||!n("content.badge.text"))return null;let r=e.badge,i=t("typography.badgeSize")*a;return(0,uA.jsx)("div",{style:{position:"absolute",right:-i*1.2,top:-i*1.3,opacity:r.opacity,transform:Hi(r,"rotate(4deg)"),transformOrigin:"100% 0"},children:(0,uA.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:i*.45,padding:`${i*.6}px ${i*1}px`,borderRadius:999,background:n("content.badge.backgroundColor"),color:n("content.badge.textColor"),fontSize:i,fontWeight:700,whiteSpace:"nowrap",boxShadow:`0 ${8*a}px ${30*a}px ${PA(n("productWindow.shadowColor"),.3)}`},children:[(0,uA.jsx)(Li,{name:n("content.badge.icon"),size:i*1.15,color:n("content.badge.textColor")}),n("content.badge.text")]})})}function oS({ctx:A,i:e,f:t}){let{st:n,u:o}=A,a=me(n.cfg,"floatingElements")[e],r=a.fontSize*o,i=PA(a.backgroundColor,a.backgroundOpacity),s=a.textColor,l=a.borderRadius*o,d=a.type,u=`0 ${10*o}px ${34*o}px ${PA("#1c0a3a",.22)}`,c;d==="icon"?c=(0,uA.jsx)("div",{style:{width:r*2.4,height:r*2.4,borderRadius:Math.min(l,r*1.2),background:i,display:"flex",alignItems:"center",justifyContent:"center",boxShadow:u},children:(0,uA.jsx)(Li,{name:a.icon,size:r*1.3,color:s})}):d==="text"?c=(0,uA.jsx)("span",{style:{fontSize:r,fontWeight:700,color:s,whiteSpace:"nowrap"},children:a.content}):c=(0,uA.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:r*.5,padding:d==="badge"?`${r*.7}px ${r*.95}px`:`${r*.5}px ${r*.95}px`,borderRadius:d==="badge"?Math.min(l,r*.8):l,background:i,color:s,fontSize:r,fontWeight:700,whiteSpace:"nowrap",boxShadow:u,border:`${Math.max(1,o)}px solid ${PA("#ffffff",.5)}`},children:[d==="badge"&&a.icon!=="none"&&(0,uA.jsx)("div",{style:{width:r*1.6,height:r*1.6,borderRadius:r*.45,background:PA(s,.12),display:"flex",alignItems:"center",justifyContent:"center"},children:(0,uA.jsx)(Li,{name:a.icon,size:r*1.05,color:s})}),a.content]});let p=a.blur*o+t.blur;return(0,uA.jsx)("div",{style:{position:"absolute",left:t.x,top:t.y,opacity:t.opacity,transform:`translate(-50%, -50%) rotate(${t.rotation}deg) scale(${t.scale})`,filter:p>.05?`blur(${p}px)`:void 0},children:c})}var tr=Ue(bt(),1),aS={"16:9":16/9,"9:16":9/16,"1:1":1};function m2({config:A,autoPlay:e=!0,loop:t,width:n=640,frame:o,onFrame:a,onInvalid:r,resolveAsset:i,className:s}){let l=JSON.stringify(A??{}),d=(0,Ca.useMemo)(()=>Zs(JSON.parse(l)),[l]),u=d.config,[c,p]=(0,Ca.useState)(0),B=(0,Ca.useRef)({onFrame:a,onInvalid:r});B.current={onFrame:a,onInvalid:r};let v=u?String(me(u,"canvas.aspectRatio")):"16:9",Q=Math.round(n/(aS[v]??16/9));if((0,Ca.useEffect)(()=>g2(),[]),(0,Ca.useEffect)(()=>{d.valid||B.current.onInvalid?.(d.errors)},[d]),(0,Ca.useEffect)(()=>{if(!u)return;let y=Cg(u).length,w=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if(o!==void 0||!e||w){p(o??(w?y-1:0));return}let I=t??!0,F=0,G=performance.now(),E=D=>{let k=(D-G)/1e3*Xa,U=I?k%y:Math.min(k,y-1);p(U),B.current.onFrame?.(U),(I||k<y)&&(F=requestAnimationFrame(E))};return F=requestAnimationFrame(E),()=>cancelAnimationFrame(F)},[u,o,e,t]),!d.valid)return(0,tr.jsxs)("div",{role:"alert",className:s,style:{width:n,padding:12,font:"13px/1.4 system-ui",border:"1px solid currentColor"},children:[(0,tr.jsx)("strong",{children:"This promo configuration is not valid."}),(0,tr.jsx)("ul",{children:d.errors.slice(0,8).map(y=>(0,tr.jsx)("li",{children:y.message},y.path+y.message))})]});let C=[me(u,"content.productName"),me(u,"content.title"),me(u,"content.subtitle")].filter(Boolean).join(" \u2014 ");return(0,tr.jsx)("div",{role:"img","aria-label":C,className:s,style:{width:n,height:Q,position:"relative",overflow:"hidden"},children:(0,tr.jsx)("div",{"aria-hidden":"true",children:(0,tr.jsx)(h2,{config:u,frame:c,width:n,height:Q,resolveAsset:i})})})}var Uo=Ue(lr(),1);var ty=Ue(y2(),1);var b2="UklWRQcDAMQBywHUAewBjAKQApIClwKZAqACoQK9Ar4CxALFAsYCxwLIAskCzwLQAu4C7wLuA6oErQSxBLYEvwTHBMoEywTMBOUE5gTnBOgE6QTqBOsE7ATxBPIE+wSMBZQFlgWrBcwFzQXOBc8F1AcAFAAAACEAAACIAAAACgAAACoAAAAqAAAAFAAAAAIAAAABAAAAAAAAAEAAAAASAAAAqgAAAAAAAAAXAI0BywEFSW50ZXIAatQBhOQJAAEAAAAVAQAABABQR0RFRopW+foAAJdEAAACjkdQT1O2ZG20AACZ1AAA2kRHU1VCWsQ7SgABdBgAADaySFZBUpoGTTAAAarMAAAHdk1WQVIbdrfuAAGyRAAAAF5PUy8ycPcTrQAAlNAAAABgU1RBVGIdU5EAAbKkAAAAzmF2YXJ1y4ABAAGzdAAAACZjbWFwvWxBiwAAlTAAAAHkZnZhcplZaZMAAAf4AAAAbGdhc3AAAAAQAACXPAAAAAhnbHlmCwfRVwAACGQAAHxEZ3ZhcimXuOcAAbOcAAC+aGhlYWQ3M2IaAACKBAAAADZoaGVhFoQVigAAlKwAAAAkaG10eAfpJAoAAIo8AAAKcGxvY2EqjAuQAACEyAAABTptYXhwArcA9gAAhKgAAAAgbmFtZQvrG5AAAAFcAAAGmnBvc3T+pwCMAACXHAAAACBwcmVwaAaMhQAAlxQAAAAHAAAAKgH+AAMAAQQJAAAAkAAAAAMAAQQJAAEACgCQAAMAAQQJAAIADgCaAAMAAQQJAAMAXACoAAMAAQQJAAQAGgEEAAMAAQQJAAUANgEeAAMAAQQJAAYAGgFUAAMAAQQJAQEADAFuAAMAAQQJARQAFgF6AAMAAQQJARUAHAGQAAMAAQQJARYAKgGsAAMAAQQJARcAQAHWAAMAAQQJARgAJAIWAAMAAQQJARkAJAI6AAMAAQQJARoAJAJeAAMAAQQJARsAGgKCAAMAAQQJARwAGgKcAAMAAQQJAR0AEgK2AAMAAQQJAR4AEALIAAMAAQQJAR8AEgLYAAMAAQQJASAALALqAAMAAQQJASEAGAMWAAMAAQQJASIAIgMuAAMAAQQJASMALgNQAAMAAQQJASQAHAN+AAMAAQQJASUAJgOaAAMAAQQJASYAHAPAAAMAAQQJAScAEgPcAAMAAQQJASgAEgPuAAMAAQQJAS8ACAQAAAMAAQQJATAAFAQIAAMAAQQJATEACgQcAAMAAQQJATIADgCaAAMAAQQJATMADAQmAAMAAQQJATQAEAQyAAMAAQQJATUACARCAAMAAQQJATYAEgRKAAMAAQQJATcACgRcAAMAAQQJATgAGARmAAMAAQQJATkACAR+AAMAAQQJAUAADASGAAMAAQQJAUEACgSSAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANgAgAFQAaABlACAASQBuAHQAZQByACAAUAByAG8AagBlAGMAdAAgAEEAdQB0AGgAbwByAHMAIAAoAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AcgBzAG0AcwAvAGkAbgB0AGUAcgApAEkAbgB0AGUAcgBSAGUAZwB1AGwAYQByADQALgAwADAAMQA7AGcAaQB0AC0ANgA2ADYANAA3AGMAMABiAGIAOwBSAFMATQBTADsASQBuAHQAZQByAC0AUgBlAGcAdQBsAGEAcgAtAFIAZQBnAHUAbABhAHIASQBuAHQAZQByACAAUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAANAAuADAAMAAxADsAZwBpAHQALQA2ADYANgA0ADcAYwAwAGIAYgBJAG4AdABlAHIALQBSAGUAZwB1AGwAYQByAFcAZQBpAGcAaAB0AE8AcABlAG4AIABkAGkAZwBpAHQAcwBEAGkAcwBhAG0AYgBpAGcAdQBhAHQAaQBvAG4AUgBvAHUAbgBkACAAcQB1AG8AdABlAHMAIAAmACAAYwBvAG0AbQBhAHMARABpAHMAYQBtAGIAaQBnAHUAYQB0AGkAbwBuACAAKABuAG8AIABzAGwAYQBzAGgAZQBkACAAegBlAHIAbwApAEMAaQByAGMAbABlAGQAIABjAGgAYQByAGEAYwB0AGUAcgBzAFMAcQB1AGEAcgBlAGQAIABjAGgAYQByAGEAYwB0AGUAcgBzAFMAcQB1AGEAcgBlACAAcAB1AG4AYwB0AHUAYQB0AGkAbwBuAFMAcQB1AGEAcgBlACAAcQB1AG8AdABlAHMAQQBsAHQAZQByAG4AYQB0AGUAIABvAG4AZQBPAHAAZQBuACAAZgBvAHUAcgBPAHAAZQBuACAAcwBpAHgATwBwAGUAbgAgAG4AaQBuAGUATABvAHcAZQByAC0AYwBhAHMAZQAgAEwAIAB3AGkAdABoACAAdABhAGkAbABTAGkAbQBwAGwAaQBmAGkAZQBkACAAdQBBAGwAdABlAHIAbgBhAHQAZQAgAHMAaABhAHIAcAAgAHMAVQBwAHAAZQByAC0AYwBhAHMAZQAgAGkAIAB3AGkAdABoACAAcwBlAHIAaQBmAEYAbABhAHQALQB0AG8AcAAgAHQAaAByAGUAZQBDAGEAcABpAHQAYQBsACAARwAgAHcAaQB0AGgAIABzAHAAdQByAFMAaQBuAGcAbABlAC0AcwB0AG8AcgB5ACAAYQBDAG8AbQBwAGEAYwB0ACAAZgBDAG8AbQBwAGEAYwB0ACAAdABUAGgAaQBuAEUAeAB0AHIAYQBMAGkAZwBoAHQATABpAGcAaAB0AE0AZQBkAGkAdQBtAFMAZQBtAGkAQgBvAGwAZABCAG8AbABkAEUAeAB0AHIAYQBCAG8AbABkAEIAbABhAGMAawBPAHAAdABpAGMAYQBsACAAUwBpAHoAZQAxADQAcAB0AEkAdABhAGwAaQBjAFIAbwBtAGEAbgAAAAEAAAAQAAIAAQAUAAkACHdnaHQAZAAAAZAAAAOEAAAAAAEBAS8AAABkAAABMAAAAMgAAAExAAABLAAAATIAAAGQAAABMwAAAfQAAAE0AAACWAAAATUAAAK8AAABNgAAAyAAAAE3AAADhAAAAAIANAAABVEF0gANABEAADMBMwEjASYmJzMGBgcBEzUhFTQCHdwCJMj+xB1NNyQ2Txr+zUYC/QXS+i4DdFL1vsD5TPyMAaCmpgD//wA0AAAFUQd2AiYAAQAAAAcCkgBlAXT//wA0AAAFUQdpAiYAAQAAAAcBywC9AXT//wA0AAAFUQeKAiYAAQAAAAcByQEkAXT//wA0AAAFUQeKAiYAAQAAAAcByAHLAXT//wA0AAAFUQeKAiYAAQAAAAcClAEbAXT//wA0AAAFUQf6AiYAAQAAAAcClwGRAAAAAgA0AAAHbQXSAA8AEwAAMwEhFSERIRUhESEVIREjARM1IRU0AswEYv00Ap79YgLX/HNd/YKGAq4F0qj+FKj+EqgFV/qpAaCengADALQAAATIBdIAEwAdACcAADMRITIWFhUUBgYHFR4CFRQGBiMlITI2NTQmJiMhNSEyNjY1NCYjIbQCEJzLY0RvQUaLXWfcsP6dAV6uk0yLYP6YAUhQgkyHkf6yBdJrs21gfUoSDgRYonVwtGmohmFLfkygP3NNYYYAAAEAev/sBWgF5gAlAAAFIiQCNTQSJDMyHgIXIy4DIyIGAhUUEhYzMj4CNzMOAwMPv/7Vq6sBK79xyaBrFL4QTW+GSYbYfn/YhUmGb00QvhNroMkUuQFX7O0BV7pCf7VzTXRQKIj++b++/vmHKU91THK0gEP//wB6/lMFaAXmAiYACgAAAAcClgIE//UAAgC0AAAFTAXSABUAGQAAISE1ITI2EjU0AiYjITUhMgQSFRQCBAERIxEChf6YAVy273Z1563+igGD2gE1pab+wv4KvqiLAQS1swEBiqiy/rPn6f6xtAXS+i4F0gABALQAAARJBdIACwAAMxEhFSERIRUhESEVtAOM/TICnf1jAtcF0qj+Gqj+DKj//wC0AAAESQeKAiYADQAAAAcByQDhAXT//wC0AAAESQeKAiYADQAAAAcByAGIAXT//wC0AAAESQeKAiYADQAAAAcClADYAXT//wC0AAAESQd2AiYADQAAAAcCkgAiAXQAAQC0AAAEOQXSAAkAADMRIRUhESEVIRG0A4X9OQKD/X0F0qj+Aqj9fAAAAQB6/+wFeAXmACcAAAUiJAI1NBIkMzIeAhcjLgMjIgYCFRQSFjMyNjY1FyE1IRUUAgQDFcf+1KioASi/ds2iaxTEF0xphE+D1n5/2ol+wGs5/kUCPJ7+7RS6AVfr7QFXukaCs2xIclIrh/75wL7++ohrxYYLpqO5/vCVAAIAev/sBXgF5gAlACwAAAUiJAI1NBIkMzIeAhcjLgMjIgYCFRQSFjMyNjY1MxUUDgIlAzUhNSERAwS9/tuoqAEov3bNomsUxBdMaYRPg9Z+f9qJhMBnGi9rtQFYH/53Aj0UugFX6+0BV7pGgrNsSHJSK4f++cC+/vqIcdGPi1uyklcUAXXSpv0TAAEAtAAABT4F0gALAAAzETMRIREzESMRIRG0vgMOvr788gXS/XwChPouAqb9WgABALQAAAFyBdIAAwAAAREjEQFyvgXS+i4F0gD////KAAACXAd2AiYAFgAAAAcCkv62AXT//wALAAABcgeKAiYAFgAAAAcByf91AXT//wC0AAACGQeKAiYAFgAAAAcByAAcAXT////SAAACVAeKAiYAFgAAAAcClP9sAXQAAQBcAAADKwXSAAsAADM1IREhNSEVIREhFVwBCf73As/++AEIqASCqKj7fqgA//8AXAAAAysHdgImABsAAAAHApL/ZwF0//8AXAAAAysHigImABsAAAAHAckAJgF0//8AXAAAAysHigImABsAAAAHAcgAzQF0//8AXAAAAysHigImABsAAAAHApQAHQF0AAEAZP/sA90F0gARAAAFIiY1NTMVFBYzMjY1ETMRFAYCIcX4voxzcoy+9xTo1lBQiI+PiAQo+9jW6AADALQAAAUnBdIACQAQABQAAAE1PgI3ATMBJwERMxEDFxEhATcBATYzZWo4Ab35/YQK/hS+AwMC1P3ldgKGAarLRoB6PAHh/VYB/NcF0v4C/r9d/coC9pT8dgABALQAAAQkBdIABQAAMxEzESEVtL4CsgXS+taoAAABALQAAAaGBdIALQAAMxEhAR4DFyM+AzcBIREjETQ+AjczDgMHASMBLgMnMx4DFRG0AQ4Bbw0hJSINKg4iJSINAWoBD7sBAwMBEBUvLSgO/rOl/q4OJi0wGRICAwICBdL8VCFjdHMxLnF1ZiIDrPouA1MudoKGP0WPhW4k/K0DUyNrg5FJOIKFezH8rQAAAQC0AAAFUwXSABsAADMRMwEeAhcjLgI1ETMRIwEuAiczHgIVEbTgAl4YRE8mGwkIAr7i/eQlS2BHIwUIBQXS/EcldJJTVp2ELgOS+i4DUDt9q35vvIwo/K7//wC0AAAFUwdpAiYAJAAAAAcBywD/AXQAAgB6/+wFpAXmAA8AHwAABSIkAjU0EiQzMgQSFRQCBCcyNhI1NAImIyIGAhUUEhYDEL/+1aysASu/vwEqq6v+1r+F139/14WG2H9/2BS5AVfs7QFXurr+qe3s/qm5sIcBB77AAQeHiP75v77++ogA//8Aev/sBaQHdgImACYAAAAHApIAswF0//8Aev/sBaQHaQImACYAAAAHAcsBCwF0//8Aev/SBaQGAAImACYAAAAHApgAwgAA//8Aev/sBaQHigImACYAAAAHAckBcgF0//8Aev/sBaQHigImACYAAAAHAcgCGQF0//8Aev/sBaQHigImACYAAAAHApQBaQF0AAEAtAAABK4F0gAXAAAzESEyFhYVFAYGIyE1ITI2NjU0JiYjIRG0Af6u4W1t4K7+lwFgdpBBQZF3/soF0n/WhYXYgKdRjVhYi1D61QADAHr/dAWkBeYABwAXACcAAAEzFxcTIycnByIkAjU0EiQzMgQSFRQCBCcyNhI1NAImIyIGAhUUEhYC0samKvjGoiq+v/7VrKwBK7+/ASqrq/7Wv4XXf3/XhYbYf3/YAdLaOv622jiauQFX7O0BV7q6/qnt7P6pubCHAQe+wAEHh4j++b++/vqIAAACALQAAAToBdIAFwAbAAAzESEyFhYVFAYGIyE1ITI2NjU0JiYjIREhATMBtAH+ruFtbeCu/msBjHaPQkKQd/7KApr+mNYBbgXSd9CFhcxzqUV/V1mDSfrVAp/9YQAAAQB0/+YErgXmADIAAAUiJiYnMx4CMzI2NjU0JiYnJyYmNTQ2NjMyFhYXIyYmIyIGBhUUFhYXFx4DFRQGBgKRoe2GCcMIYplXZaFeUYZQtLTIiOiQk+KDBLoNtoVgkVBhhTaVPJGEVX/yGmi7fVRtNUJ4T0haOhYzM76Ufr1oaLNxbXc/bUZOXzUPKRA4XY9oesRyAAEAYgAABMgF0gAHAAATNSEVIREjEWIEZv4tvgUqqKj61gUqAAEAtP/oBUAF0gAVAAAFIiQmNREzERQWFjMyNjY1ETMRFAYEAvuw/vmQvl+wenqvXr6Q/vsYivCZA9f8OGunYGCnawPI/CmZ8Ir//wC0/+gFQAeKAiYAMgAAAAcByQFdAXT//wC0/+gFQAeKAiYAMgAAAAcByAIEAXT//wC0/+gFQAeKAiYAMgAAAAcClAFUAXT//wC0/+gFQAd2AiYAMgAAAAcCkgCeAXQAAQA0AAAFUQXSAA0AACEBMwEWFhcjNjY3ATMBAlj93MgBOxtRNiU2UBoBM8r94gXS/IxM/rq/+UwDdPouAAABADQAAAeuBdIAJQAAIQEzEx4CFyM+AjcTMxMeAhcjPgI3EzMBIwEmJiczBgYHAwHK/mrC7BMiIA4XDyAkE/HY7xQjIg8aDyAkEuvE/mjd/wAZLhYoFiod/wXS/G5Jl5tSUpuXSQOS/G5Jl5tSUpuXSQOS+i4DsFzZjobTavxQAAEAOQAABTwF0gAfAAAzARUBMxMeAhcjPgI3EzMBNQEjAS4CJzMOAgcBOQJH/drc1zA9MyAhIDM/MNvX/dsCQdv++yo6Mh8pHjM7LP75A0GNAx7+xEZgXEA/XGFGATz86oz8uAF6PllZPjtZWz/+hgABADQAAAU6BdIADwAAIREBMwEWFhcjNjY3ATMBEQJY/dzcAScyTSlMKU4vASbb/dwCYgNw/h9Rk3BylU0B4fyQ/Z4A//8ANAAABToHigImADoAAAAHAcgBwAF0AAEAegAABI4F0gAXAAAzNQE2NjcXBgYjITUhFQEGBgcnNjYzIRWCApotZjMVXLpc/fUEDP1wMGs1FVy3XAIOhgPfQ4dCPgYDqIj8MUeORT4GA6gAAAIAWv/mA+AEbAAnADkAAAUiJiY1ND4CNz4CNTU0JiYjIgYGByc+AjMyHgIVESM1Iw4CJzI2NjU1DgMHDgIVFBYWAddqrWZMf5pOZH49NGhOUHJHEq0rkrBWOI+FV7EME1SGQGSKSAtKX1kaQXFEPGgaUJpuYHhFIgoNDiIpBkZhNDJLJzlmczAbUJ2D/R+YJ1M4n059RJsNFRALAwgnS0A6Tij//wBa/+YD4AYWAiYAPQAAAAcByAE3AAD//wBa/+YD4AYWAiYAPQAAAAcClACHAAD//wBa/+YD4AYCAiYAPQAAAAYCktEA//8AWv/mA+AGFgImAD0AAAAHAckAkAAA//8AWv/mA+AGnAImAD0AAAAHApUA/QAA//8AWv/mA+AF9QImAD0AAAAGAcspAAABAFr/5gbzBGwAVAAABSImJjU0PgIzIQc2JiYjIgYGFRUUFhYzMjY2NxcOAiMiJiYnEz4CMzIeAhUVISIGBhUUFjMyNjY1ETQmJiMiBgYHJz4CMzIWFhcDIw4DAdhqrmZWjKhSBFRUDkKOZWWSTlaaZUNsTxWvGny4dHrBfBUfJXWfZFmsjFP7RU+HU4NkZIlHM2dOUHJHEq0rkrBWQZiDICMUEVJ0ihpQmm5ggEshP22uZmOfW2V8rFomTTktVYFJUpJgAjVSeEE7g9abSylUQFdZTn1EAV9FYjQySyc5ZnMwI2tr/VgvUz8kAAIAaP/oBEgEbAAWACYAAAUiJgI1NBI2MzIWFhczNTMRIzUjDgInMjY2NTQmJiMiBgYVFBYWAkCK1Xl614tsgEQSD7OyEBJHgk1mjEhHjGdqjkdIjhiOAQSysQEDjEdcHrP7oq0fXkiha758fLlobbt1db9xAP//AGj/6ARIBhYCJgBFAAAABwHIAXAAAP//AGj/6ARIBhYCJgBFAAAABwKUAMAAAP//AGj/6ARIBgICJgBFAAAABgKSCgD//wBo/+gESAYWAiYARQAAAAcByQDJAAD//wBo/+gESAacAiYARQAAAAcClQE2AAD//wBo/+gESAX1AiYARQAAAAYBy2IAAAIAnv/oBH4F0gAWACYAAAUiJiYnIxUjETMRMz4CMzIWEhUUAgYnMjY2NTQmJiMiBgYVFBYWAqVqgkYTFK60DhNEgG2M1Xl41adpjUdGjWpnjEdIjRhJXR+tBdL92R5bSIz+/bGy/vyOoXG/dXS7bmi5fHy+awACAJ7+XgR+BdIAFgAmAAAFIiYmJyMRIxEzETM+AjMyFhIVFAIGJzI2NjU0JiYjIgYGFRQWFgKlaoJGEw60tA4TRIBtjNV5eNWnaY1HRo1qZ4xHSI0YSV0f/bEHdP3ZHltIjP79sbL+/I6hcb91dLtuaLl8fL5rAAABAGj/6AQuBGwAJQAABSImAjU0EjYzMh4CFwcuAyMiBgYVFBYWMzI+AjcXDgMCZZjlgIDlmFGQd1YXrQwyR1w3cJBGRpBwOF5JMgysFld4khiQAQSsrwEFkCpPc0kxK0g1HXW+cG69dB43TC0xS3VTK///AGj+XgQuBGwCJgBOAAAABwKWAVsAAAACAGj/6ARIBdIAFgAmAAAFIiYCNTQSNjMyFhYXMxEzESM1Iw4CJzI2NjU0JiYjIgYGFRQWFgJBi9Z4edaLbYBFEg60rhQSR4FQZoxIR4xnao1GR44YjgEEsrEBA4xIWx4CJ/ourR9dSaFrvnx8uWhuu3R1v3EAAQBo/+gERgRsACcAAAUiJgI1NBI2MzIeAhUVITUhBzQmJiMiBgYVFRQWFjMyNjY3Fw4CAnSi639845hZrY1U/JwDA1RFiGVlkExWm2ZCbE4Vrhp8txiQAQKsrAEGlDuD1ptLmDhuq2Fjn1tlfK1ZJk05MFSASAD//wBo/+gERgYCAiYAUQAAAAYCkv4A//8AaP/oBEYGFgImAFEAAAAHAckAvQAA//8AaP/oBEYGFgImAFEAAAAHAcgBZAAA//8AaP/oBEYGFgImAFEAAAAHApQAtAAAAAIAFAAAAtYGGAADABQAAAEVITUTETQ2NjMyFhcHJiYjIgYVEQKm/W7cW5JRQFQUMg4tJlNMBF6amvuiBPNhgkIVCZoFDFVR+zUAAgCeAAAChAYYAAMAFAAAARUhNQMRNDY2MzIWFwcmJiMiBhURAlT+mlBbklFAVBQyDi0mU0wEXpqa+6IE82GCQhUJmgUMVVH7NQACABQAAAOKBhgAEAAUAAAzETQ2NjMyFhcHJiYjIgYVEQE1IRXuW5JRGzATGwoWDlNM/nIDdgTzYYJCBASjAgJVUfs1A8SamgACAJ4AAAM6BhgAEAAUAAAzETQ2NjMyFhcHJiYjIgYVEQM1IRWeW5JRGzATGwoXDVNMXAJEBPNhgkIEBKMCAlVR+zUDxJqaAAACAGj+RgRKBGwAJQA1AAABIiYmJzceAjMyNjU1Iw4CIyImJjU0NjYzMhYWFzM1MxEUBgYDMjY2NTQmJiMiBgYVFBYWAmN8tXgjkhhHeWKGrRETRYFshtZ8eteLbIFGExGvgt2NZoxIR4xnao5HSI7+Rj9oPV4gTjeAiuAgWEN/9K+t/4xHXB6z+4WQt1YCbF2vene1Z222cHOwYwABAJ4AAAQdBdIAFgAAAREjETMRIzY2MzIWFhURIxE0JiMiBgYBUrS0HzO9f3GrX7WHdVCASgKe/WIF0v19m4Jdu479OgK3gZJGhgD//wB8AAABdwYDAiYAXQAAAAYCkwIAAAEAngAAAVIEXgADAAAzETMRnrQEXvui////sAAAAkIGAgImAF0AAAAHApL+nAAA////8QAAAVIGFgImAF0AAAAHAcn/WwAA//8AngAAAf8GFgImAF0AAAAGAcgCAP///7gAAAI6BhYCJgBdAAAABwKU/1IAAAAB/+b+XgFTBF4ADAAAEzMRFgYGIyM1MzI2NZ21AUqSbSQhTkgEXvtSaphQpllTAP///+b+XgF2BgMCJgBiAAAABgKTAQAAAwCeAAAESAXSAAYACgAOAAABNTMBMwEjAREzESEBNwEBRyEB3t/9+xT+krQCD/5UgAITAZLfAe397f21BdL6LgIjf/1eAAEAngAAAVIF0gADAAABESMRAVK0BdL6LgXSAP//AJ4AAALgBdIAJgBlAAAABwEGATICbwABAJ7/+AIbBdIADwAABSImNREzERQWMzI2NxcGBgGZfn20JTgdHg0kGEYIh3kE2vtTTT8EBJgHCgD//wCe//gC4AXSACYAZwAAAAcBBgEyAm8AAQCeAAAGZARyACkAADMRMxcjPgIzMhYXIz4CMzIWFhURIxE0JiMiBgYVESMRNCYjIgYGFRGerwEOF2OFSHqXFhgUapdZYaBftIhaS207tHxfQXNGBF76W3c8lnpUekJUqoL9DgLteWg/bkf9JgL/XXI9eFn9QAAAAQCeAAAEHARsABYAAAERIxEzEyM2NjMyFhYVESMRNCYjIgYGAVK0rQEZM71/capftId1UIBKAp79YgRe/vGbgl27jv06AreBkkaG//8AngAABBwF9QImAGoAAAAGActYAAACAGj/6ARkBGwADwAfAAAFIiYCNTQSNjMyFhIVFAIGJzI2NjU0JiYjIgYGFRQWFgJlmOWAgOWYmeaAgOaZcZJGRpJxcJBGRpAYkAEErK8BBZCQ/vuvrP78kKF0vW5vv3V1vnBuvXQA//8AaP/oBGQGAgImAGwAAAAGApIIAP//AGj/6ARkBfUCJgBsAAAABgHLYAD//wBT/9MEdwSLAiYAbAAAAAYCmQEA//8AaP/oBGQGFgImAGwAAAAHAckAxwAA//8AaP/oBGQGFgImAGwAAAAHAcgBbgAA//8AaP/oBGQGFgImAGwAAAAHApQAvgAAAAIAnv5eBH4EbAAWACYAABMRMxUzPgIzMhYSFRQCBiMiJiYnIxEBMjY2NTQmJiMiBgYVFBYWnq4UE0SAbYzVeXjVjGqCRhMOAThpjUdGjWpnjEdIjf5eBgCzHltIjP79sbL+/I5JXR/9sQIrcb91dLtuaLl8fL5rAAIAaP5eBEgEbAAWACYAAAEjESMOAiMiJgI1NBI2MzIWFhczNTMBMjY2NTQmJiMiBgYVFBYWBEi0DhJHgWuL1nh51ottgEUSFK7+FGaMSEeMZ2qNRkeO/l4CTx9dSY4BBLKxAQOMSFses/wra758fLlobrt0db9xAAEAngAAAtUEbgATAAAzETMVMzY2MzIWFxUmJiMiBgYVEZ6uDB+fZBQ3EAhAJFB/SARerFVnAgG1AghDdUz9RAABAGz/6APTBGwAKwAABSImJic3FhYzMjY1NCYnJyYmNTQ2NjMyFhYXByYmIyIGFRQWFxcWFhUUBgYCGnOzdBSrGIVkdYtRU7qYlGy7d3OhZRmjF2tsZIVaYqmYkm/HGEOEYClcVmRFOk0TLCSXdmCTU0V5Tyo8YlxGPksXKCSXc2KZWAABALQAAAR6BeYAKwAAMxE0NjYzMhYWFRQGBxUWFhUUBgYjIzUzMjY1NCYjIzUzMjY2NTQmIyIGFRG0b8WAfsd0f2uRsmzFhKWldIuag4FbSGk5iHZwkwRTfbVhXax4fK8lDg7Fmna6aqeKa3GSqkl1QmePhWr7sAABALT/7ASiBeYAMwAAAREjETQ2MzIWFhUUDgIVFB4DFRQGBiMiJic3FhYzMjY1NC4DNTQ+AjU0JiMiBgFqtuSsYLZ3KTYpRmdmRmKxdmKnLEUialhoeEZoaUYsOSuAXGpwBCX72wQl4OFLnn1LYkdCLDVOSVh6WmSNSTAgnBQxVEs6VkxTbk4+Sz5NP2pliAACABT/8gJ1BWgAAwATAAABFSE1EzMRFBYzMjY3FwYGIyImNQJW/b6otD1HETUWJRxHI5GiBF6amgEK+7pLRQgEmAoKmYkAAgCe//ICVwVoAAMAEwAAARUhNQMzERQWMzI2NxcGBiMiJjUCOP64UrQ9RxE1FiUcRyORogRempoBCvu6S0UIBJgKCpmJAAEAnv/yBB0EXgAWAAAFIiYmNREzERQWMzI2NjURMxEjETMGBgIZcatftIh1UH9Kta4YNL8OXbyNAsb9SYGSRodfAp77ogEPnYD//wCe//IEHQYCAiYAewAAAAYCkgAAAAEAnv5eBKYEXgAlAAATETMRFBYWMzI2NjURMxEUFjMzFSMiJjU1MxQOAiMiLgI1MxGetEl7S0x3RbQwPB0ki4oqPmFrLS1rYD4o/l4GAP1aaIQ9PoNoAqb8nzcrm4B7ZW+PUSEhUY9v/P4A//8Anv/yBB0GFgImAHsAAAAHAckAvwAA//8Anv/yBB0GFgImAHsAAAAHAcgBZgAA//8Anv/yBB0GFgImAHsAAAAHApQAtgAAAAEAnv/sBB0EXgAVAAAFIiYmNREzERQWFjMyNjY1ETMRFAYGAl2PyGi0O3dZWXc7tWjIFGbEjAK8/U1efj8/fl4Cs/1EjMRm//8Anv/sBB0GFgImAIEAAAAHAcgBZgAA//8Anv/sBB0GFgImAIEAAAAHApQAtgAA//8Anv/sBB0GAgImAIEAAAAGApIAAP//AJ7/7AQdBhYCJgCBAAAABwHJAL8AAAABADYAAARJBF4ADQAAIQEzExYWFyM2NjcTMwEB4f5Vxe4mNR1CHTUl7sX+VQRe/WlnzWBgzWcCl/uiAAABAEYAAAZGBF4AIwAAIQEzExYWFyM2NjcTMxMWFhcjNjY3EzMBIwMuAiczDgIHAwGZ/q2/iBxAHx8ePh2GwIQcPR4gID8diL/+rbORFiooFSgUKSoWkQRe/hhk/aCZ/moB6P4YZ/2dm/1pAej7ogH6TaCoV1apokv+BgAAAQBBAAAEHQReABsAADMBBwEzFxYWFyM2Njc3MwE1ASMnJiYnMwYGBwdBAbkB/l/SizZPKl4rRzeOzv5dAbXRpDVNKV8pRjamAoOKAmXZVJJERJJU2f2Thf2K+1KNQUGNUvsAAAEANv5WBEkEXgAaAAATNxcWNjY3NwEzExYWFyM2NjcTMwEOAiMiJowuEzdaSBsg/lXF7iY0HUIdNSXwxP4VIl9+TzBG/mucBQ4NTFBdBGT9aWjMYGDNZwKX+vtZczcO//8ANv5WBEkGAgImAIkAAAAGApLjAP//ADb+VgRJBhYCJgCJAAAABwHIAUkAAAABAH4AAAPtBF4ACwAAMzUBNSE1IRUBFSEVfgJz/aEDR/2fAnWGAyYLp4/84wunAAACAKgAAARyBdIAAwAZAAATMxEjEwUyFhYVFAYGIyE1ITI2NjU0JiYjIajAwFsBgKDcc3PcoP6AAYBmjUhIjWb+gAXS+i4EoQF1wnZ3w3SmPnRSUnhBAAMAaP/oBEEGLQADAB4ALgAAAQEnAQEiJiY1NDY2MzIWFhczLgInNxYWEhIVFAIGJzI2NjU0JiYjIgYGFRQWFgPH/aUvAlr+vpbeeXjLfFR9VhgQIYTfqkl99Mh3e92TaIxIQYtwaYtFQIsFh/7cbgEk+fOK8pye8Yg6VStc0s9WfT3C/vv+u8C0/wCIoGKmZl62eWuwZ2KsawACAHT/JgSuBqwAAwA2AAAFETMRJyImJiczHgIzMjY2NTQmJicnJiY1NDY2MzIWFhcjJiYjIgYGFRQWFhcXHgMVFAYGAlV4PKHthgnDCGKZV2WhXlGGULS0yIjokJPigwS6DbaFYJFQYYU2lTyRhFV/8toHhvh6wGi7fVRtNUJ4T0haOhYzM76Ufr1oaLNxbXc/bUZOXzUPKRA4XY9oesRyAAACAGgAAAQuBdIAAwApAAAhETMRJyImAjU0EjYzMh4CFwcuAyMiBgYVFBYWMzI+AjcXDgMCH3YwmOWAgOWYUZB3VhetDDJHXDdwkEZGkHA4XkkyDKwWV3iSBdL6LqaQAQSsrwEFkCpPc0kxK0g1HXW+cG69dB43TC0xS3VTKwAFAB4AAARKBdIAAwAHAAsADwATAAATAQcJAjMBNxEjEQUVITUBFSE17wF3kP5IAeIBeNL+RwG9AgH8uQNH/LkF0vzIQgN6/MgDOPyGtvzyAw4miIj+4IiIAAADAG4AAARzBeYAGwAnACsAADc1MjYnAyY2NjMyFhYXByYmIyIGBhcTFg4DBzUhMjY1NTMVFAYjATUhFW5ZTQMVBG3OjnK3dxGtE4VrX3w6AhUCNFVgVRoDCC4mqX2G/P4DK3gvZmECrIPQeVyncRxrfk2CUf1WQ1s4HQp4pyctPi+FhQKelpYAAgB6/+wEkgXmAA8AHwAABSImAjU0EjYzMhYSFRQCBicyNhI1NAImIyIGAhUUEhYChqbqfH3qpaXrfHvqp22YUFCYbW2YUFCYFLQBVfPyAVa2tv6q8vL+qrSmjgELvb4BDY6P/vS+vf71jgAAAQBgAAACjQXSAAcAAAERIxEjATUlAo27Cv6YAUQF0vouBSL+9czvAAEAmgAABE8F5gAfAAAzNQE+AjU0JiYjIgYGFSM0NjYzMhYWFRQGBgcBFSEVmgHvU244Sn5QVX1EtnrShYXNdTqShP66Aq+JAhlaiHtFTnI9RX1UhMhvb7x1UZnCjP6lDKcAAQB9/+wEdwXmADQAAAUiJiYnMx4CMzI2NjU0JiYjIzUzMjY2NTQmJiMiBgYHIz4CMzIWFhUUBgcVHgIVFAYGAnuS4oUFwAZVi1VekVRRmm95eVeFSkF4UUyFVQO3BITZg4vJbIVyX4dHhOYUZLJ2R2c3QXZNUXtGpT9yTUpuPTdmSXWyZHC2an6wIgwPYpZeesBvAAIAeAAABLUF0gAJAA8AABM1ATMVIwEVIRUBETcRMxF4AoxzTf4ZA3L+gAG1AS+bBAju/P4Mp/7RAV1JBCz6LgABAID/7ARFBdIAJgAABSImJiczHgIzMjY2NTQmJiMiBgcnEyEVIQMzNjYzMh4CFRQGBgJUg9B8BbgGTn1LWo1QVJFeRY4sslgDEP2QMwgujE1mrYBHgeAUZ7NyQmg7VJReYJhXLCIWAuKn/k0mMUqHtmyP4IEAAgB6/+wEfAXmACIAMwAABSImJgI1NBI2NjMyFhYXIyYmIyIGBhUzPgIzMhYWFRQGBicyNjY1NCYmIyIOAhUUFhYChl26mVxLj8p/fcZ+EroZjHRypVgMKHCKTYDUf3zimFqQVFGOWkR1WDFSkBREoAESzsUBMdNtZLJ1YYKG/bM+WS9+35CL44enWpddW5VYNV13QViXXQABAGIAAAQlBdIABwAAMwE1ITUhFQHIApb9BAPD/WsFHwynsfrfAAMAev/sBHkF5gAfAC8APwAABSImJjU0NjY3NSYmNTQ2NjMyFhYVFAYHFR4CFRQGBicyNjY1NCYmIyIGBhUUFhYTMjY2NTQmJiMiBgYVFBYWAnmX54FMhFNtgHbOhYPOd4FqUYROg+eWY5BPVJJcXpJUTpJkT3pHRHtRUntERXwUa7x5XqFsDwgcunZys2dns3J2uhwID2yhXnm8a6VBdU9Tf0lJf1NPdUECvz9yS0tuPT1uS0tyPwACAHr/7AR8BekAIgAzAAAFIiYmJzMWFjMyNjY1Iw4CIyImJjU0NjYXHgISFRQCBgYDMj4CNTQmJiMiBgYVFBYWAlt/xn4SvBeMdnKkWQwocIlOgNZ/fuOZXLiYXEuOym5EdlgyU49cWo9UUYwUZLR3Y4SG/rQ9WTF/34+L5YcDAUWe/vDOxv7O020CvzZdd0JWlV1Zl1xblVgAAwB6/+wEkgXmAAMAEwAjAAAlJwEXASImAjU0EjYzMhYSFRQCBicyNhI1NAImIyIGAhUUEhYBrnUCJXX+s6bqfH3qpaXrfHvqp22YUFCYbW2YUFCYojoEVDr69rQBVfPyAVa2tv6q8vL+qrSmjgELvb4BDY6P/vS+vf71jgAAAQB+AAACfAXSAA4AACERFw4CIzUzMjY2NzMRAcEOE1+LVAZOiWYYowTlCiM9Jp05ZUL6LgAAAQB9/+wEfAXSACIAAAUiJiYnMx4CMzI2NjU0JiYjIzUBNSE1IRUBNTYWFhUUBgYCeobijAnCCFeLVFuSVUukh3oBef1/A3v+KqPsgYTnFF6xfUpnND56WlCIVJcBtwyni/3jHxFuy32Ax3EAAgB4AAAEtQXSAAcADQAAEzUBMwEVIRUBETURMxF4AlG7/b0DdP6BtAEvmwQI/BAMp/7RAV1JAfz8XgAAAgB6/+wELQXSABYAJgAABSImJjU0NjcBMwEjPgIzMhYWFRQGBicyNjY1NCYmIyIGBhUUFhYCVIrWelx4AVHN/g4SFE1nPIjJcHvViVaDS0uDVlaFS0uFFH7fkGrtsQHx/SkqRSlxzYuK2HyjUo5bXo1QT4xcXZBSAAACAHoAAAQtBeYAFgAmAAABMhYWFRQGBwEjATMOAiMiJiY1NDY2FyIGBhUUFhYzMjY2NTQmJgJTitZ6XHj+r80B8hIUTWc8h8pwe9aIVYRLS4RVVoVLS4QF5n7fkGrtsf4PAtcqRSlxzYuL13yjUo5bXY5QT41bXZBSAAIAjv/sBKIF5gAPAB8AAAUiJgI1NBI2MzIWEhUUAgYnMjYSNTQCJiMiBgIVFBIWApim6np86aWl6nt66adtmE9PmG1tmE9PmBS0AVby8gFWtrb+qvLy/qq0po0BDL2/AQyOjv70v73+9I0AAAIA4QAABHoF0gADAAsAADM1IRUBESMRIwE1JeEDmf6xuwr+mAFEoKAF0vouBSL+9czvAP//AL0AAARyBeYABgCVIwD//wCW/+wEkAXmAAYAlhkA//8AeQAABLYF0gAGAJcBAP//ALL/7AR3BdIABgCYMgD//wCX/+wEmQXmAAYAmR0A//8AtgAABHkF0gAGAJpUAP//AJj/7ASXBeYABgCbHgD//wCX/+wEmQXpAAYAnB0AAAMAjv/sBKIF5gADABMAIwAAJScBFwEiJgI1NBI2MzIWEhUUAgYnMjYSNTQCJiMiBgIVFBIWAcB1AiV1/rOm6np86aWl6nt66adtmE9PmG1tmE9PmKI6BFQ6+va0AVby8gFWtrb+qvLy/qq0po0BDL2/AQyOjv70v73+9I0AAAIA4QAABHoF0gADABIAADM1IRUhERcOAiM1MzI2NjczEeEDmf3vDhNfi1QGTolmGKOgoATlCiM9Jp05ZUL6Lv//AH3/7AR8BdIABgCfAAD//wB5AAAEtgXSAAYAoAEA//8Avv/sBHEF0gAGAKFEAP//AL4AAARxBeYABgCiRAD//wBs/pkBkgDQAAcA/P/M+v7//wCQ//MBngEBAAYBBvAA//8AkP/zAZ4EKgAmAQbwAAAHAQb/8AMp//8AkACwAZ4E5wAnAQb/8AC9AAcBBv/wA+b//wBs/pkBtgQqACcA/P/M+v4ABwEGAAgDKf//AP/+6QKwBi0ABgDhJQD//wBw/ukCIQYtAAYA4hAAAAMAUv7pArAGLQATACcAKwAAEzUyNjU1ND4CMxUmBhURFA4CASIuAjU1NCYjNTIeAhURFBYzATUzFVJ6YClblWt/Xx5SlwHla5VbKWB6eZdSHl9//aKzAoZfZXbmZpRfLpcBdX/+4jldRCX8Yy1flGfkd2ZfJkVeOP7kf3YCsra2AAADAHD+6QLOBi0AEwAnACsAAAEiLgI1ETQmIzUyHgIVFRQWMwE1MjY1ETQ+AjMVBgYVFRQOAgEHNRcCznmXUh5egGuUWylhev2igF4eUpd5e2ApW5QB87S0AoYlRF05AR5+dZcuX5Rm5nZl/ASVdn8BHDheRSZfAWZ25GeUXy0DSAG2Af//ASL+6QKwBi0ABgDjQAD//wBw/ukB/gYtAAYA5PUA//8A//9HArAGiwAGAOElXv//AHD/RwIhBosABgDiEF7//wBS/0cCsAaLAgYAugBe//8AcP9HAs4GiwIGALsAXv//ASL/RwKwBosABgDjQF7//wBw/0cB/gaLAAYA5PVe//8BTgIpA9wCzwAHAPUAvgAA//8BTgKUA9wDOgAHAPUAvgBr//8AvwAsBG8EYgAGARARAP//AL4ALARuBGIABgER0QD//wDUARsEXANzAAYBEvIA//8AtABkBHkEKgAGARPxAP//AMMAcARvBB4ABgEU8QD//wDDAEgEbARHAAYBFfEA//8AvwBFBG8EYQAGARbxAP//AJcBkASWAwwABgEX8QD//wEGAowEJAXSAAcBIwCUAAD//wC/AM8EbwUFAAcBEAARAKP//wC+AM8EbgUFAAcBEf/RAKP//wDUAb4EXAQWAAcBEv/yAKP//wC0AQcEeQTNAAcBE//xAKP//wDDARMEbwTBAAcBFP/xAKP//wDDAOsEbATqAAcBFf/xAKP//wC/ANwEbwT4AAcBFv/xAJf//wCXAiwElgOoAAcBF//xAJz//wDGAP8EaQTTAAYBJAMAAAEAaP/sBQcF4ABAAAAFIiYmNTQ2Njc3PgI1NCYjIgYGFRQWFhcBIwEuAjU0NjYzMhYWFRQGBgcFBgYVFBYWMzI+AjUzFAYGBwcGBgJEk9ZzUI1Z3RtALV9ROFYvM1g4Aq7Z/ctQf0lapW5wolgzWTr+1lxLRn5SWaSCTK1EVx0kSdsUbblzYo56QqMUOE40R1wuUTY4Zm5E/MACpmGZllljmFZXkVlEdGIr3UR1RUlvPkmIwHiUvm4cLU9OAAACAKD/8wGtBdIAAwAPAAATAzMDAyImNTQ2MzIWFRQGzAzMDVg4T084OE5OAd8D8/wN/hRPNzhPTzg3TwACAKD+lwGtBHYAAwAPAAATEzMTAyImNTQ2MzIWFRQGwQ2zDGc3T083OE9P/pcD8/wNBNJPODhOTjg4TwACAFL/8wOxBeYAIQAtAAABNTQ2Njc2NjU0JiYjIgYGByM+AjMyFhYVFAYHDgIVFQMiJjU0NjMyFhUUBgF/NWRFQlpBbkQ7bUgGvgV3wnaCv2pqYUBPI1g4T084OE5OAcELiZVXKSh7V0ZlODFoU36wXWWycnmsOydJaFkL/jJPNzhPTzg3TwAAAgBm/ngDxQRrACEALQAAARUUBgYHBgYVFBYWMzI2NjczDgIjIiYmNTQ2Nz4CNTUTMhYVFAYjIiY1NDYCmDVkRUJaQW9DO21JBb4Fd8J2gcBqamFBTiNYOE9PODdPTwKdC4iWViooe1dFZjgxaFN9sV1msXJ5rDsoSGlYCwHOTjg4T084OE4AAAMAUv/zA6gF5gAhACUAMQAAATU0NjY3NjY1NCYmIyIGBgcjPgIzMhYWFRQGBw4CFRUjAzMDAyImNTQ2MzIWFRQGAZ4dT0pYTkdxQDtuSwa2BnXAdYG9aIJgUUcQgBasFkE4T084OE9PAaIGRo6END6HZU9rNjFpVnuwXWq0cIPJPjRMW0sGAp79Yv5RTzg4T084OE8AAAMAZv54A7wEawAhACUAMQAAARUUBgYHBgYVFBYWMzI2NjczDgIjIiYmNTQ2Nz4CNTUzEyMTEzIWFRQGIyImNTQ2AnAdTktYTkdyPztuSwa2BXa/doC+aIJgUkYQgBasFkE4T084OE9PArwGRY+DNT2IZU9rNjFqVXuvXmq0cIPJPjRMXEoG/WICngGvTzg4T084OE8AAAEA2v7pAosGLQAQAAATNBISNzMGAgIVFBISFyMmAtpDdEuvTXE8NW9Wr3+DAl+jAWUBS3ud/qz+tZKF/vD+0bLZAcIAAQBg/ukCEQYtABAAABM2EhI1NAICJzMWEhIVFAIHYFluMzxwTq9LdUKFff7ptwExAQ6AkgFLAVSde/61/pqi3/4+1QABAOL+6QJwBi0ABwAAExEhFSMRMxXiAY7i4v7pB0SZ+e6ZAAABAHv+6QIJBi0ABwAAEzUzESM1IRF74uIBjv7pmQYSmfi8AAADAJD+6QLuBi0AEwAnACsAABM1MjY1NTQ+AjMVJgYVERQOAgEiLgI1NTQmIzUyHgIVERQWMwE1MxWQemApW5Vrf18eUpcB5WuVWylgenmXUh5ff/2iswKGX2V25maUXy6XAXV//uI5XUQl/GMtX5Rn5HdmXyZFXjj+5H92ArK2tgAAAwB7/ukC2QYtABMAJwArAAABIi4CNRE0JiM1Mh4CFRUUFjMBNTI2NRE0PgIzFQYGFRUUDgIBBzUXAtl5l1IeXoBrlFspYXr9ooBeHlKXeXtgKVuUAfO0tAKGJURdOQEefnWXLl+UZuZ2ZfwElXZ/ARw4XkUmXwFmduRnlF8tA0gBtgEAAgB6/nUHQAWeAEkAWQAAASIkJgI1NBI2JDMyBBYSFRQOAiMiJiYnIwYGIyImJjU0NjYzMhYXMzUzERQWMzI2NjU0JiYkIyIEBgIVFBIWBDMyNjY3Fw4CAzI2NjU0JiYjIgYGFRQWFgQU3/6o63h66QFO1M4BN9JqFkWJdDR6XQkIGoZxhbNba7t3YIEbCp5DQElOHlOo/wCtrP7yvGJiwgEculCZeB0rLpGlnmF3Nzx3V1J0PjJw/nV66wFX3NUBUu19heP+4phr17NtIEo+QGGE4Y2G1HtGJlT9bTxaZNCjfOm6bWnI/uG2uP7hxWYeJQqMEyYZAklOnXZ4hzdVjVRcomMA//8A2v9HAosGiwIGAOEAXv//AGD/RwIRBosCBgDiAF7//wDi/0cCcAaLAgYA4wBe//8Ae/9HAgkGiwIGAOQAXv//AJD/RwLuBosCBgDlAF7//wB7/0cC2QaLAgYA5gBe//8Aev9VB0AGfgIHAOcAAADgAAQAIgAABO0F0gADAAcACwAPAAAhEzMDATchBwETMwMDNyEHAsf2l/T8whkEXBn8P/SX9NoZBFoXBdL6LgGblpb+ZQXS+i4Dn5iYAAAGAHj/7AVWBOcAEwAjACcAKwAvADMAAAUiLgI1ND4CMzIeAhUUDgInMjY2NTQmJiMiBgYVFBYWASc3FwMnNxcFJzcXAyc3FwLifNijXFyj2Hx72aRdXaTZe3jDc3PDeHfFdXXFAh92yHp6yHbM+5h2yHp6yHbMFGCr5IWF5KpfX6rkhYXlq1+if9R/gdR9fdSBf9R/Aw98znz7hs56zHx8zHoC3s58zgABAC7/IAK0BhgAAwAAAQEjAQK0/iCmAeAGGPkIBvgAAAEBBv4gAaMHsgADAAABESMRAaOdB7L2bgmSAAACAMD+6AFpBdIAAwAHAAATMxEjExEjEcCpqampAZP9VQbq/VkCpwAAAQAu/yACtAYYAAMAAAUBMwECDv4gpgHg4Ab4+QgAAQCQAikDHgLPAAMAAAEVITUDHv1yAs+mpgABAAACKQQAAs8AAwAAARUhNQQA/AACz6amAAEAAAIpCAACzwADAAABFSE1CAD4AALPpqb//wCQApQDHgM6AgYA9QBr//8AAAKUBAADOgIGAPYAa///AAAClAgAAzoCBgD3AGsAAQCgA5sBxgXSAAMAABMTMwOgnIpYA5sCN/3JAAEAoAObAcYF0gADAAATEzMDoFjOnAObAjf9yQABANIDmwGUBdIAAwAAEwMzA+gWwhYDmwI3/cn//wDSA5sC6AXSACYA/QAAAAcA/QFUAAD//wCgA5sDNgXSACYA+wAAAAcA+wFwAAD//wCgA5sDNgXSACYA/AAAAAcA/AFwAAD//wB4/pkDDgDQACcA/P/Y+v4ABwD8AUj6/v//AHj+mgGeANEABwD8/9j6/wABAFADmwF2BdIAAwAAASMDMwF2ipzOA5sCNwD//wBQA5sC5gXSACYBAwAAAAcBAwFwAAD//wCA/pkBpgDQAAcA/P/g+v4AAQCg//MBrgEBAAsAAAUiJjU0NjMyFhUUBgEnOE9PODhPTw1PODhPTzg4T///AKD/8wZKAQEAJgEGAAAAJwEGAk4AAAAHAQYEnAAA//8AoP/zAa4EKgImAQYAAAAHAQYAAAMp//8AoADNAa4FBAInAQYAAADaAAcBBgAABAP//wCA/pkBygQqACcA/P/g+v4ABwEGABwDKf//AKACPQGuA0sCBwEGAAACSgABAGQAkALDBEAABQAAJQEBMwEBAfX+bwGRzv52AYqQAdgB2P4o/igAAQBQAJACrwRAAAUAADcBATMBAVABiv52zgGR/m+QAdgB2P4o/igA//8AZACQBFkEQAAmAQwAAAAHAQwBlgAA//8AUACQBEUEQAAmAQ0AAAAHAQ0BlgAAAAEArgAsBF4EYgAJAAATNQEVATcVJwEVrgOw/TIGBgLOAgh+AdzE/qsMHAr+q8IAAAEA7QAsBJ0EYgAJAAABATUBBzUXATUBBJ38UALPBwf9MQOwAgj+JMIBVQocDAFVxP4kAAACAOIBGwRqA3MAAwAHAAATNSEVATUhFeIDiPx4A4gCzaam/k6mpgAAAgDDAGQEiAQqAAMABwAAJREzEQE1IRUCUan9yQPFZAPG/DoBlJ+fAAIA0gBwBH4EHgADAAcAACUBNwEFJwEXBAr8yHQDOPzIdAM4dHADOHb8xnR0Azp2AAMA0gBIBHsERwADAA8AGwAAARUhNQEiJjU0NjMyFhUUBgMiJjU0NjMyFhUUBgR7/FcB0zdOTjc3TU03N05ONzdNTQKcqqr9rE43Nk1NNjdOAvZNODZOTjY4TQAAAwDOAEUEfgRhAAMABwALAAA3NSEVATUhFQERMxHOA7D8UAOw/dSpRaioAk2oqP7aAvX9CwAAAQCmAZAEpQMMABsAABMmNjYzMhYXFhYzMjY1MxYGBiMiJicmJiMiBheoAlOHSkp6UTVAJj5HpAJUhkpMfE02PyY6TAEBt3yWQz5HLiZaV3uWQ0FDLyVSXwD//wCuAM8EXgUFAgcBEAAAAKP//wDtAM8EnQUFAgcBEQAAAKP//wDiAb4EagQWAgcBEgAAAKP//wDDAP8EiATFAgcBEwAAAJv//wDSARMEfgTBAgcBFAAAAKP//wDSAOsEewTqAgcBFQAAAKP//wDOANwEfgT4AgcBFgAAAJf//wCmAiwEpQOoAgcBFwAAAJwAAQDgATsEJALpAAUAAAERITUhEQN7/WUDRAE7AQ+f/lIAAAEAAP9aA6YAAAADAAAhFSE1A6b8WqamAAIAUgMuA3MFowADAAsAAAEzFSMBATMBIwMzAwHINDT+igEtxwEtsecP5QVQS/4pAnX9iwH1/gsAAQByAowDkAXSABEAAAETBSclJTcFAzMDJRcFBQclEwG5Df70SAEa/uZIAQwNkAwBC0j+5gEaSP71DAKMAT2rfpKSgKsBPf7Dq4CSkn6r/sMAAAEAwwD/BGYE0wAXAAAlExcFJyUVJTcFBwMzAyclFwU1BQclNxMCRgs3/olOAY/+clABdDcLngs4AXRQ/nIBj07+iTgL/wG5FfKJzDrQiPUVAbn+RxX1iNA6zInyFf5HAAQAZAFaBPAF5gATACMAJwA9AAABIi4CNTQ+AjMyHgIVFA4CJzI2NjU0JiYjIgYGFRQWFjcnMxchESEyFhYVFAYGIyM1MzI2NTQmIyMRAqp406BbW6DTeHnToFpaoNN5esh3d8h6ecl3d8n1g4KF/jMBECJONzlRJcOfGTc4Fm4BWlug03h406BbW6DTeHjToFuNd8h6esh3d8h6esh3rv7+AhglSzo7UypZLzAwI/4/AAADAKj/6QaoBekAHwAzAEcAAAE0NjYzMhYWFyMmJiMiBgYVFBYWMzI2NzMOAiMiJiYBIiQmAjU0EjYkMzIEFhIVFAIGBCcyPgI1NC4CIyIOAhUUHgICAHTFd2ivcw6wD4VUSHhISHhIVHUPsA1sp2h3xXQBqJ/+6tR3d9QBFp+fARbUd3fU/uqfe9ekXFyk13t716RcXKTXAuh4xHRZmGFKYEd4SUh3R19LYZpZdcT9eHfUARafnwEW1Hd31P7qn5/+6tR3rlyk13t716RcXKTXe3vXpFwAAgCCAz0DIwXeAA8AHwAAASImJjU0NjYzMhYWFRQGBicyNjY1NCYmIyIGBhUUFhYB1F2ZXFyZXVyYW1uYXDNUMjJUMzRVMjJVAz1amVxdmltbml1cmVqWMlQzNFQzM1Q0M1QyAAIAQwKHAykF6gAjADIAAAEiJiY1NDY2Nz4CNTU0JiMiBgcnPgIzMh4CFREjNSMGBicyNjY1NQ4CBwYGFRQWAXJViVFnnlRQYy9YVldnFKEgc5FMNXhrRKYJGYJJSmg3DFReHU9qYQKHO3JSX2YtCQkLGx0ERExFLCdMXSoZP3Ja/dNzMlOGNVUwagsSCwQKOT46PQACAE4CiAOOBeoADwAfAAABIiYmNTQ2NjMyFhYVFAYGJzI2NjU0JiYjIgYGFRQWFgHufbxnZ7x9fbtoaLt9U2s1NGxTUms1NWsCiG3CgYPDbGzDg4HDbI9Pg09PhFBPhFBPg08AAgBYAugBDQcXAAMADwAAExEzEQMiJjU0NjMyFhUUBmKhTyY2NiYkNTUC6AMY/OgDfTYkIzU1IyY0AAEAYALoAt8GCAAUAAATESMRMxUzNjYzMhYVESMRNCYjIgb/n5kGGnVRcY+fVkdHXQTW/hIDGIA+SpJ//fEB9E1ZXAAAAgBuAAAEHgXSAAwAEAAAASERIyImJjU0NjYzIQMRMxEEFf6aVJ/ccnLcnwG6srsFLPz8etWHhtN7+i4F0vouAAIAev7SBBIF5gA+AFAAAAEiJiYnNxYWMzI2NTQmJiclLgI1NDY2NzcmJjU0NjMyFhcHJiYjIgYVFBYWFwUeAhUUBgYHBx4CFRQGBhMWNjY1NCYmJyUmBgYVFBYWFwIzcqJjFqEZaW5dcjJIIv7mQGE1OGZGA0NEzKajsiuYIlxmYGoySSMBGkJfMztnQgMwPR5irg4fWkUfPC3+4iBUPh4+MP7SSothKltrUU83SjQTpCZmdjw9cUwEBTlyT46lopcpYWdWSTVLNBWmJ2dyOj9vSAYHJE5YMl6KSwKMEhlSQilGPRmkExxTQShHQBwAAAIARgN3AsEF8wAgAC0AAAEiJjU0NjY3NjY1NTQmIyIGByc+AjMyFhYVESM1IwYGJzI2NTUGBgcGBhUUFgE3Z4pGfFFbYUY/OlAQmxZYfEtOi1ihBxxzIkpkFmMjTUNJA3dbW0BPKQYHEx8HJikjIBowSSkvWkD+WFwwN3FFN0AKDgQIKyAlKAACAHUDegMqBq4AFAAgAAABIiYnIxUjETMRMzY2MzIWFhUUBgYnMjY1NCYjIgYVFBYCA15pFAqpqwcSZ2RQhVFPhYtVWVlVUltbA3pKLG4DLP7HLFJDjG5pjEeEZ1FSZmRUUmYAAQBUA3cC8gXzAB8AAAEiJiY1NDY2MzIWFhcHLgIjIgYVFBYzMjY2NxcOAgG3bZ9XV59tVoNTDZwIKEAsVWBgVS1CKQebDVKDA3dQkF5fj1AzWjojHjAbZVdWZx0xHiI6XTUAAAIAVAN6AwkGrgAUACAAAAEiJiY1NDY2MzIWFzMRMxEjNSMGBicyNjU0JiMiBhUUFgF7U4ZOUYZPY2cSB6ypCxVpJVNaWlNVWFkDekeNaG6MQ1IsATn81G4uSIRmUlRkZ1FRZwABAFQDdwMGBfMAIgAAASImJjU0NjYzMhYWFRUhNSEHNCYjIgYGFRUUFjMyNjcXBgYBvXCiV1edal+aW/2UAhlRW1Q4USxqWDxQEZgcnAN3TI9jX49QR4xmK2MZSFcoRi5FT1UmHiJFWQAAAgAgA4ICFAbfAA8AEwAAExE0NjMyFhcHJiYjIgYVERMVITWlhl4tShQoDSAULy2i/i8DggKLaGoPBnwEBiQd/WsCa35+AAIAVAKQAwsF8wAiAC4AAAEiJiYnNxYWMzI2NTUjBgYjIiYmNTQ2NjMyFhczNTMRFAYGAzI2NTQmIyIGFRQWAa9Xg1USjxFYSFNgERNlXVGGUFGHT2FqEwmpWZxjU1pZVFVZWgKQJUIrKB8lOTx6Kz89hGpujENOL3f9m1BvOQF2XVNTZGdQUV8AAAEAdQOCAwYGrgAVAAABESMRMxEjNjYzMhYWFREjETQmIyIGASCrpwgaeF5NdEGsU0VHWwTw/pIDLP6oRVg5ZkT+cgFuOEBCAAIAbAOCASkG4wADAA8AABMRMxEDIiY1NDYzMhYVFAZ1q1YmODgmJzg4A4ICa/2VAr0wIiIwMCIiMAAC//kCngEqBuMADAAYAAATMxEUBgYjIzUzMjY1EyImNTQ2MzIWFRQGdaxEeVEaEzU0Vic3OCYnODgF7f12SlckgSIgAt4wIiIwMCIiMAADAHUDggMHBq4ABgAKAA4AAAE1MyUzAQcBETMRIQM3AQEPHgEIxv7AKv7kqwEe7XMBQwQxz+3+yAH+zgMs/NQBDXr+eQAAAQB1A4IBIAauAAMAAAERIxEBIKsGrvzUAywAAAEAdQOCBIkF9AAmAAATETMXIzY2MzIWFhcjPgIzMhYVESMRNCYjIgYVESMRNCYjIgYVEXWdCw4Xf0s0TjYRFhFMZzhng6xJOT1MpkY6PFADggJro1tPJVJERFIlb2D+XQF8Mzc6Mv6GAX4wODsz/ogAAAEAdQOCAwYF8wAVAAABESMRMxcjNjYzMhYWFREjETQmIyIGASCroAMEGnheTXRBrFNFR1sE8P6SAmuXRVg5ZkT+cgFuOEBCAAIAVAN3AxcF8wAPAB0AAAEiJiY1NDY2MzIWFhUUBgYnMjY1NCYmIyIGBhUUFgG2bJ9XV59sbJ9WVp9sVlwqTzk5UCpdA3dRj15ej1FRj15ej1GBa1M4VDAwVTdSbAACAHUCngMqBfMAFAAgAAATETMVMzY2MzIWFhUUBgYjIiYnIxETMjY1NCYjIgYVFBZ1qQoSZmRQhVFPhVNeahQHq1VZWVVSW1sCngNPeCxSQ4xuaYxHSi3+rQFgZ1FSZmRUUmYAAgBUAp4DCQXzABQAIAAAASMRIwYGIyImJjU0NjYzMhYXMzUzATI2NTQmIyIGFRQWAwmsBxVqXFOGTlGGT19qEwqp/qlTWlpTVVhZAp4BUy9IR41oboxDTjB4/hFmUlRkZ1FRZwAAAQB1A4ICGAX2ABIAABMRMxUzNjYzMhYXFSYmIyIGFRF1pwgWaD8NHQ0NLA9MZAOCAmtxPT0EBJYFBUg4/qAAAAEAUgN3As4F9AAqAAABIiYnNx4CMzI2NTQmJycmJjU0NjMyFhcHLgIjIgYVFBYXFxYWFRQGBgGMf6QXnQwtQipASzI4fmtkpYd7kxuXDCg4JDZNMDqEaGVTkQN3XVUhHygTIxwYHwoWE1hDW2VTSh8YHw4hHRYiChYRUkE+XDIAAgAgA3YBzAZ7AA8AEwAAEzMRFBY3NjY3FwYGBwYmNQEVITWBqy4gDR0IIBs3IV95ATb+aQZ7/bcfFwEBBQJ7CAoBAVZbAcZ+fgABAHUDfAMGBe0AFQAAASImJjURMxEUFjMyNjURMxEjJzMGBgF3TXVAq1NGR1qsoAQEGnoDfDlnQwGO/pI3QUI2AW79lZdHVgABADUDggMlBe0ADQAAAQEzExYWFyM2NjcTMwEBSf7stooaIBEiESAZibT+7AOCAmv+vDx7R0d9OgFE/ZUAAAEAMgOCBHoF7QAjAAABAzMXFhYXIzY2NzczFxYWFyM2Njc3MwMjJy4CJzMOAgcHAQvZs1ISIg0SDiQVWp9YFCUOEgwgE1K227BoDBYVCh4JFRYMaAOCAmv6N4dZVIk6+vo3ilZTiTv6/ZX/HlNXISFXUx7/AAABADYDggL/Be0AHAAAEwEXATMXFhYXIz4CNzczAScBIycmJiczBgYHBzYBHgH+7rhTJS8bQxIhJhdXtP7qAQEhtmclLhtFISMmZQOCAYqZAXppLmEyIERBHGn+hpf+eIAuYDRCUS+AAAEANQKZAykF7QAbAAATNxcWFjY2NzcBMxMWFhcjNjY3EzMBDgIjIiZiNAYjOiwcBQj+57aKGhoQIxIjGZG0/sEXRmdHKEICsHoCDAIQHhUiAm7+vDx7SE15OQFE/VMxTCoNAAABAG0DggLKBe0ACwAAEzUBNSE1IRUBFSEVbQF9/pYCOf6ZAXgDgl8BgQWGav6KBYYAAAIAXQN4A1AGuAALABcAAAEiJjU0NjMyFhUUBicyNjU0JiMiBhUUFgHXs8fIsrLHxrNfZmZfX2dmA3jbxMbb3MXE246MhYaOj4WEjQADAF0DeANQBrgACwAXABsAAAEiJjU0NjMyFhUUBicyNjU0JiMiBhUUFgcnARcB17PHyLKyx8azX2ZmX19nZj1BAXZFA3jbxMbb3MXE246MhYaOj4WEjSodAlwZAAEAYwOCAfMGrgAHAAABESMRIwc1NwHzrQjbzwau/NQCmYGYfAAAAQBiA4IB5QauAA0AAAERFw4CIzUjMjY3MxEBNwoRSVkrAU2KGZMDggJ7BCMrFItPPfzUAAEAcAOCAx0GuAAcAAATNQE+AjU0JiMiBhUjNDYzMhYVFA4CBwcVIRV2AVQwQB9eRUdZpreQl7UUNmZSmQG1A4J7AQ0mOjUeNj8/NnKJhWghQ0xcPG8HiwABAGcDeAM0BrgALQAAASImJiczFhYzMjY1NCYjIzUzMjY1NCYjIgYHIz4CMzIWFhUUBgcVFhYVFAYGAcpioF8CsAJqSU5ja1xMTE1kVkRGYwKnAVuZXmGRUGZTa3JdowN4OmlGKDM+LzE+ez0wLTk3LUZqPD1oQURbCwYNYk1FbD0AAQBnA3gDOAauAB8AAAEiJiYnMxYWMzI2NTQmIyM1NzUhNSEVATU2FhYVFAYGAcxkn18DsQVoSVBibWRW6/5RAoH+smumX2CkA3g5aUcpMkA3M0pxsgWMev78Jw45cktMbzwAAAIAZQOCA1AGrgAJAA8AABM1ATMVIwEVIRUFNTcRMxFlAZx4S/7pAjn+4gWiBAiGAiDB/qwIiYavOwJC/NQAAgBlA4IDUAauAAcADQAAEzUBMwEVIRUFNTcRMxFlAW6l/psCPf7jBpwECIYCIP3rCImGrjwBEf4FAAEAewN4AygGrgAhAAABIiYmJzMWFjMyNjU0JiMiBgcnEyEVIQczNjYzMhYWFRQGAchgllYBqgJeQ1BobVAoUBqeNQIw/lwgBhloQVaHT8QDeD5sRDA5T0BCTx0ZJgGhjNshLkJ1TnueAAACAF0DeAMwBrgAHwAsAAABIi4CNTQ2NjMyFhYXIyYmIyIGBhUzNjYzMhYWFRQGJzI2NTQmIyIGBhcWFgHSRYRsQFuqd12PVgmtClJBRF0vBx2LVFSDTMGeTmhoTzVULgMFYgN4KFyacYPCbEFtRCowQXhTOUVCc0p8n4RTPT1SKEEoO1MAAAIAXQN3AwUGrgAWACIAAAEiJiY1NDY3EzMBIz4CMzIWFhUUBgYnMjY1NCYjIgYVFBYBs1ucXzY1/6v+yC4NPlYwVoZMWZlgTWRkTUxlZQN3PnpZQXg/AS7+kxIhFTxwTlR+RoVQPT1QUD09UAAAAQBSA4IC7QauAAcAABMBNSE1IRUBlgGh/hsCm/5dA4ICnAWLjf1hAAMAXQN4Az0GuAAfACsANwAAASImJjU0NjY3NSYmNTQ2NjMyFhYVFAYHFR4CFRQGBicyNjU0JiMiBhUUFhMyNjU0JiMiBhUUFgHNaadgNl46SWFXl15ellhhSThdOWGmaVFpa09Pa2hSRF5dRUVdXQN4PWdAMFQ6CQcOZkI+YTk5Yj1CZg4HCDpUMUBnPXpFNDRERDQ0RQFqQC8vPj0wLkEAAAIAXQN2AzAGvgAgAC0AAAEiJiYnMxYWMzI2NjUjBgYjIiYmNTQ2NhceAxUUBgYDMjY2JyYmIyIGFRQWAbRcj1YJrQtUPkNcMAcei1NThExYpHFJgWM5WqpvM1UxBQdhTU9naAN2Qm9ELDFCelM6RUJ0SlGDTAQCMGCWaYLEbQGfJ0MrOlBTPD1TAAIAXQOCAwUGuQAWACIAAAEyFhYVFAYHAyMBMw4CIyImJjU0NjYXIgYVFBYzMjY1NCYBr1ybXzY1/6oBMDYNPlUxVodMWZlgTGRkTExlZQa5PnlZQXk//tIBbRIhFTxwTlV9RoVQPTxQUDw9UAAAAQCTAu4B2QbkAA8AABM0NjY3MwYCFRQWFhcjJiaTKkwynkpNH0I2nlNVBNVYv7NFg/7rd0eRpml2+AAAAQBOAu4BlAbkAA8AABM+AjU0AiczHgIVFAYHTjdCHk1KnjNLKlVTAu5pp5BHdwEVg0Wzv1h6+HUAAAEAnQLuAcMG5AAHAAATESEVIxEzFZ0BJoKCAu4D9n79Bn4AAAEAZALuAYoG5AAHAAATNTMRIzUhEWSCggEmAu5+Avp+/AoAAAIAiQPeAuUGDQADAAcAAAERMxElNSEVAXCO/osCXAPeAi/90dSGhgACAJYEKALYBbwAAwAHAAATNSEVATUhFZYCQv2+AkIFMIyM/viMjAD//wBG/scCwQFDAgcBLgAA+1D//wB1/soDKgH+AgcBLwAA+1D//wBU/scC8gFDAgcBMAAA+1D//wBU/soDCQH+AgcBMQAA+1D//wBU/scDBgFDAgcBMgAA+1D//wAg/tICFAIvAgcBMwAA+1D//wBU/eADCwFDAgcBNAAA+1D//wB1/tIDBgH+AgcBNQAA+1D//wBs/tIBKQIzAgcBNgAA+1D////5/e4BKgIzAgcBNwAA+1D//wB1/tIDBwH+AgcBOAAA+1D//wB1/tIBIAH+AgcBOQAA+1D//wB1/tIEiQFEAgcBOgAA+1D//wB1/tIDBgFDAgcBOwAA+1D//wBU/scDFwFDAgcBPAAA+1D//wB1/e4DKgFDAgcBPQAA+1D//wBU/e4DCQFDAgcBPgAA+1D//wB1/tICGAFGAgcBPwAA+1D//wBS/scCzgFEAgcBQAAA+1D//wAg/sYBzAHLAgcBQQAA+1D//wB1/swDBgE9AgcBQgAA+1D//wA1/tIDJQE9AgcBQwAA+1D//wAy/tIEegE9AgcBRAAA+1D//wA2/tIC/wE9AgcBRQAA+1D//wA1/ekDKQE9AgcBRgAA+1D//wBt/tICygE9AgcBRwAA+1D//wBd/sgDUAIIAgcBSAAA+1D//wBd/sgDUAIIAgcBSQAA+1D//wBj/tIB8wH+AgcBSgAA+1D//wBi/tIB5QH+AgcBSwAA+1D//wBw/tIDHQIIAgcBTAAA+1D//wBn/sgDNAIIAgcBTQAA+1D//wBn/sgDOAH+AgcBTgAA+1D//wBl/tIDUAH+AgcBTwAA+1D//wBl/tIDUAH+AgcBUAAA+1D//wB7/sgDKAH+AgcBUQAA+1D//wBd/sgDMAIIAgcBUgAA+1D//wBd/scDBQH+AgcBUwAA+1D//wBS/tIC7QH+AgcBVAAA+1D//wBd/sgDPQIIAgcBVQAA+1D//wBd/sYDMAIOAgcBVgAA+1D//wBd/tIDBQIJAgcBVwAA+1D//wCT/j4B2QI0AgcBWAAA+1D//wBO/j4BlAI0AgcBWQAA+1D//wCd/j4BwwI0AgcBWgAA+1D//wBk/j4BigI0AgcBWwAA+1D//wCJ/y4C5QFdAgcBXAAA+1D//wCW/3gC2AEMAgcBXQAA+1AAAf5wAAADGQXSAAMAACEBMwH+cAQAqfwABdL6LgAAAgBO//cCwgM1AAsAFwAABSImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWAYiYoqOXl6OhmUxLS0xMS0sJ08vK1tfJytSHkIeJkpOIiI8AAAMATP/3AswDNQALABcAGwAABSImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWBycBFwGMmKiomJiop5lLTk5LS05NOjUBPDkJ18fH2drGxtiCkoqMlJWLipIeGgJeFgAAAQBLAAABtgMsAAcAAAERIxEjBzU3AbahCcGjAyz81AKklaB9AAABAEkAAAGlAywADQAAIREXDgIjNSMyNjczEQEECAE6Vy0EP3ccigKoAiE4IoJTLPzUAAEAYwAAApADNQAaAAAzNQE2NjU0JiMiBhUjNDYzMhYVFAYGBwcVIRVqARA1O0svMkCbn3N6liBaV2oBRmwBJzlVLi80NjFtfYRdJVF4YHUKhwABAGT/9wK/AzUALAAABSImJiczFhYzMjY1NCYjIzUzMjY1NCYjIgYHIz4CMzIWFhUUBgcVFhYVFAYBj1OETwWjB1EwOlBITVRUN0U5MStYBJoEUoJMVXM8ST5WU6wJL1c7GSA5LjRFfj80LDUmIz1cNEBlN0ZeDgoKZ05jhAABAGT/9wLIAywAIAAABSImJiczFhYzMjY1NCYmIyM1NzUhNSEVATU2FhYVFAYGAZBNg1QIpgtSLTlVGkZDQKP+pAIm/wBSgEpSjQkrVkAhGCs8GzwqcsELh2r+4xsOPXBCRmg6AAACAFsAAALKAywACQAPAAA3NQEzFSMDFSEVBzU3ETMRWwFEaUPJAc79A5d9gQIuwP6iC4Z9ozsCTvzUAAACAFsAAALKAywABwANAAA3NQEzAxUhFQc1NxEzEVsBBJX6AdD8A5R9gQIu/eILhn2jOwEd/gUAAAEAdP/1AqwDLAAiAAAFIiYmJzMWFjMyNjU0JiMiBicnEyEVIQczNjYzMhYWFRQGBgGDTXlGA5sERSs7UFZDEDwYjjoBxv67GwcORyVMd0VNhgs3XjwiK0w9PlUFAiABeoe3DRhGek1Oe0gAAAIATv/3Ar4DNQAeACsAAAUiLgI1NDY2MzIWFhcjJiYjIgYVMzY2MzIWFhUUBicyNjU0JiMiBgYHBhYBjy5vZEBal1lMek8Lnw9CM0tgCyNmQEZ0RqSMP1VQQCZBKwUHVwkcUZ2BlsFcPGZBJTJ9fDU4RHhPdqWDVj88ViU/JzpiAAACAE7/9wJ2AywAEwAfAAAFIiYmNTQ2NxMzASM2NjMyFhUUBicyNjU0JiMiBhUUFgFkTX9KMECoov7+JBJiK3KDnXU5Q0M5OkVFCUF5Uz6IYgEA/nYjKHp0dpKASD1BRkY+P0kAAQBHAAACfwMsAAcAADMBNSE1IRUBfgFX/nICOP6nApsLhoz9YAADAE7/9wK3AzUAHwArADcAAAUiJiY1NDY2NzUmJjU0NjYzMhYWFRQGBxUeAhUUBgYnMjY1NCYjIgYVFBYTMjY1NCYjIgYVFBYBglyLTShHLDpDSH1RUH5IRDgqRitPi1tES1I9P1FKRjRFQjc4QUMJO2dCMVQ6CQkPZTw/Yjg5Yj49ZA8JCDpUMkJnO30+NDhFRTg0PgFqOzIyOTkyMjsAAgBO//YCvgM5ACAALQAABSImJiczFhYzMjY2NSMGBiMiJiY1NDY2Fx4DFRQGBgMyNjY3NiYjIgYVFBYBd016TgugDkE0Mk0sCiVoPkZ2Rk+LWilrZUNalFYsQigDBVVEQFNOCjxpQiY0OHBTNTxFeU5Tg0oDARpOnYSYwlwBlCtEIzVhVz49VgAAAgBOAAACdgM2ABQAIAAAATIWFhUUBgcDIwEzBgYjIiYmNTQ2FyIGFRQWMzI2NTQmAWBOfkovQaiiAQIkEmEsTG47nHY5Q0M5O0REAzZBeVQ+iGL/AAGKIyg3a011k4FIPUBHRz0/SQACAHkAgAKgAqgAAwAHAAAlETMRJTUhFQFNgP6sAieAAij92Nd5eQAAAgCGAM4ClAJRAAMABwAAEzUhFQE1IRWGAg798gIOAdJ/f/78gIAAAAEAhf+xAa8DsAAPAAATNDY2NzMGAhUUFhYXIyYmhSdFLJJATB0+MZJJTwGTV8i7Q4f+33VDjKdsdvUAAAEAPP+xAWYDsAAPAAAXPgI1NAInMx4CFRQGBzw0PRtLQZIsRChNS09wqYlAdQEhh0K7yFh19XgAAQCA//YBWADOAAsAABciJjU0NjMyFhUUBuwtPz8tLT8/Cj8tLT8/LS0/AAABAGb+4QFSAKYAAwAAExMzA2ZHpX3+4QHF/jsAAQB+/wwBaADIABYAABcnNjY1NDQ1MxQGIyImNTQ2MzIWFRQGryNDQw8jHSk6PzE3Q230SiNbYQMEAxsyOy8wPFBHdI4AAAEAjv8mAUoAugAOAAAXNTMyNjU1FyM1MxUUBiOOFyQnD3G8WE3aTT8vLQ6601pn//8ATgKdAsIF2wIHAY8AAAKm//8ATAKdAswF2wIHAZAAAAKm//8ASwKmAbYF0gIHAZEAAAKm//8ASQKmAaUF0gIHAZIAAAKm//8AYwKmApAF2wIHAZMAAAKm//8AZAKdAr8F2wIHAZQAAAKm//8AZAKdAsgF0gIHAZUAAAKm//8AWwKmAsoF0gIHAZYAAAKm//8AWwKmAsoF0gIHAZcAAAKm//8AdAKbAqwF0gIHAZgAAAKm//8ATgKdAr4F2wIHAZkAAAKm//8ATgKdAnYF0gIHAZoAAAKm//8ARwKmAn8F0gIHAZsAAAKm//8ATgKdArcF2wIHAZwAAAKm//8ATgKcAr4F3wIHAZ0AAAKm//8ATgKmAnYF3AIHAZ4AAAKm//8AeQMmAqAFTgIHAZ8AAAKm//8AhgN0ApQE9wIHAaAAAAKm//8AhQJXAa8GVgIHAaEAAAKm//8APAJXAWYGVgIHAaIAAAKmAAEAgAKAAVgDWAALAAATIiY1NDYzMhYVFAbsLT8/LS0/PwKAPy0tPz8tLT8AAQBmAYsBUgNQAAMAABMTMwNmR6V9AYsBxf47//8AfgGbAWgDVwIHAaUAAAKP//8AjgGwAUoDRAIHAaYAAAKK//8ASwAABmYF0gAnAZEAAAKmACcBjgJNAAAABwGTA9YAAP//AEsAAAYUBdIAJwGRAAACpgAnAY4CTQAAAAcBlgNKAAD//wBkAAAGtwXbACcBlAAAAqYAJwGOAvAAAAAHAZYD7QAAAAUA5v/jBvUF6gARAB8AMQA/AEMAAAEiJiY1NTQ2NjMyFhYVFRQGBicyNjU1NCYjIgYVFRQWASImJjU1NDY2MzIWFhUVFAYGJzI2NTU0JiMiBhUVFBYFATMBAgtfg0NEg15ggUJDgV9MPjxOS0E/BBRfg0NEg15ggkFDgV9MPjxOS0E//A8EAKn8AAM/U4pSTlKJU1OJUk5SilODaUNOQmpqQk5DafwhU4pSTlKJU1OJUk5SilODaUNOQmpqQk5DaWYF0vou//8AqATwAf0GFgAGAcgAAP//AJYE8AHrBhYABgHJAAD//wEUBRUDpgYCAAYCkgAA//8A1AVFAv4F0wAGAcoAAP//AJv+XgH5ADAABgKWAAAAAQCoBPAB/QYWAAMAABMTMwOojMnCBPABJv7aAAEAlgTwAesGFgADAAABAzMTAVfByYwE8AEm/toAAAEA1AVFAv4F0wADAAABFSE1Av791gXTjo4AAQDiBSEDKAX1ABcAAAEiLgIjIgYHIzY2MzIeAjMyNjczBgYCiCVHPzUTGhkCfgNPUCdCOjUZGRoFewNTBSEZIRkyHVp2GiEaJitecgAABAC0AAAIFQXoAAsADwAhAC8AADMRMwEzETMRIwEjEQE1IRUBIiYmNTU0NjYzMhYWFRUUBgYnMjY1NSYmIyIGFRUUFrS0ApkOuLT9axAEEgJ7/sFrnVVUnWpsnFNUm2pUVAFTVlZUVQXS+5EEb/ouBGb7mgHBl5cBF1aaZ2FomlZWm2dhaJpVkmxZYVdqaldhWmsAAAEAygAABqIFGAAbAAAhAQEXBw4CBzc+AjMhFSEiJiYnJx4DFxcDVv10Aox00zODgjQcKlNTKQQC+/4pU1MqHCddZF0n0wKMAox00jNwaScgCQ4JpgkPCCAdSlNTJtIAAAEAygAACboFGAAbAAAhAQEXBw4CBzc+AjMhFSEiJiYnJx4DFxcDVv10Aox00zODgjQcKlNTKQca+OYpU1MqHCddZF0n0wKMAox00jNwaScgCQ4JpgkPCCAdSlNTJtIAAAEAyv/6FHQFHgAIAAAFAQEXASEVIQEDXP1uApJ0/jQScO2QAcwGApICknT+Nab+NQAAAwDK//oJugUeAAUACQANAAAFAQEXCQInIRUBNyEVA1z9bgKSdP3gAiD+aqUIJffbpQeABgKSApJ0/eL94AEdpqYBXqamAAEBAAAABtgFGAAbAAAhJzc+AzcHDgIjITUhMhYWFxcuAicnNwEETHTTJ11kXSccKVNTKvv+BAIqU1MpHDODgjTTdAKMdNImU1NKHSAIDwmmCQ4JICdpcDPSdP10AAABAQAAAAnwBRgAGwAAISc3PgM3Bw4CIyE1ITIWFhcXLgInJzcBB2R00yddZF0nHClTUyr45gcaKlNTKRwzg4I003QCjHTSJlNTSh0gCA8JpgkOCSAnaXAz0nT9dAAAAQEA//oUqgUeAAgAAAUnASE1IQE3ARIYdAHM7ZAScP40dAKSBnQBy6YBy3T9bgAAAwEA//oG2AUeAAUACQANAAAFJwEBNwEBNSEHATUhFwRIdAIe/eJ0ApD6KAUOpvuYBGimBnICIAIedP1u/v2mpgFepqYAAAMBAP/6CfAFHgAFAAkADQAABScBATcBATUhBwE1IRcHXnQCIP3gdAKS9xAIJaX4gAeApQZyAiACHnT9bv79pqYBXqamAAABAMoAAAnwBRgAMwAAIQEBFwcOAgc3PgIzITIWFhcXLgInJzcBASc3PgM3Bw4CIyEiJiYnJx4DFxcDVv10Aox00zODgjQcKlNTKQV6KlNTKRwzg4I003QCjP10dNMnXWRdJxwpU1Mq+oYpU1MqHCddZF0n0wKMAox00jNwaScgCQ4JCQ4JICdpcDPSdP10/XR00iZTU0odIAgPCQkPCCAdSlNTJtIAAQDKAAANNgUYADMAACEBARcHDgIHNz4CMyEyFhYXFy4CJyc3AQEnNz4DNwcOAiMhIiYmJyceAxcXA1b9dAKMdNMzg4I0HCpTUykIwCpTUykcM4OCNNN0Aoz9dHTTJ11kXSccKVNTKvdAKVNTKhwnXWRdJ9MCjAKMdNIzcGknIAkOCQkOCSAnaXAz0nT9dP10dNImU1NKHSAIDwkJDwggHUpTUybSAAQAyv/6CfAFHgAFAAsADwATAAAFJwEBNwkDFwkCJyEHATchFwdedAIg/eB0ApL5bP1uApJ0/eACIP5qpQeKpfkbpQZApQZyAiACHnT9bv1uApICknT94v3gAR2mpgFepqYABADK//oNNgUeAAUACwAPABMAAAUnAQE3CQMXCQInIQcBNyEXCqR0AiD94HQCkvYm/W4CknT94AIg/mqlCtCl9dWlCYalBnICIAIedP1u/W4CkgKSdP3i/eABHaamAV6mpv//AMoAXQaiBXUCBgHQAF3//wDKAF0JugV1AgYB0QBd//8AygBXFHQFewIGAdIAXf//AMoAVwm6BXsCBgHTAF3//wEAAF0G2AV1AgYB1ABd//8BAABdCfAFdQIGAdUAXf//AQAAVxSqBXsCBgHWAF3//wEAAFcG2AV7AgYB1wBd//8BAABXCfAFewIGAdgAXf//AMoAXQnwBXUCBgHZAF3//wDKAF0NNgV1AgYB2gBd//8AygBXCfAFewIGAdsAXf//AMoAVw02BXsCBgHcAF0AAgAY/XILBghgABcALwAAASIkAAACNTQSAAAkMzIEAAASFRQCAAAEJzIkJBISNTQCAiQkIyIEBAICFRQSEgQEBZDo/lz+ov7/jY0BAQFeAaTo6AGjAV0BAY2N/v/+o/5d6MsBcAEz4Xx84f7N/pDLzP6Q/s3ifHziATMBcP1yjQEBAV0Bo+joAaQBXgEBjY3+//6i/lzo6P5d/qP+/42rfOEBMwFwy8wBcAEz4nx84v7N/pDMy/6Q/s3hfAACAED9ogrMCC4ADgAeAAABIjURNDYzITIWFREUBiMlITI2NRE0JiMhIgYVERQWATr6gHoImHqAgHr3UQjGGB4eGPc6GR8f/aL8CJZ6gIB692p7ga0eGAjIGB4eGPc4GB4A//8AGP1yCwYIYAImAeoAAAAHAAEC2wAA//8AGP1yCwYIYAImAeoAAAAHAAkDBQAA//8AGP1yCwYIYAImAeoAAAAHAAoCgwAA//8AGP1yCwYIYAImAeoAAAAHAAwC5wAA//8AGP1yCwYIYAImAeoAAAAHAA0DEQAA//8AGP1yCwYIYAImAeoAAAAHABIDNgAA//8AGP1yCwYIYAImAeoAAAAHABMClgAA//8AGP1yCwYIYAImAeoAAAAHABUClgAA//8AGP1yCwYIYAImAeoAAAAHABYEfAAA//8AGP1yCwYIYAImAeoAAAAHACADLAAA//8AGP1yCwYIYAImAeoAAAAHACEC8wAA//8AGP1yCwYIYAImAeoAAAAHACIDTwAA//8AGP1yCwYIYAImAeoAAAAHACMB8gAA//8AGP1yCwYIYAImAeoAAAAHACQCiwAA//8AGP1yCwYIYAImAeoAAAAHACYCgAAA//8AGP1yCwYIYAImAeoAAAAHAC0DBQAA//8AGP1yCwYIYAImAeoAAAAHAC4CgwAA//8AGP1yCwYIYAImAeoAAAAHAC8DAAAA//8AGP1yCwYIYAImAeoAAAAHADAC/gAA//8AGP1yCwYIYAImAeoAAAAHADEC+gAA//8AGP1yCwYIYAImAeoAAAAHADIClQAA//8AGP1yCwYIYAImAeoAAAAHADcCzAAA//8AGP1yCwYIYAImAeoAAAAHADgBngAA//8AGP1yCwYIYAImAeoAAAAHADkC1AAA//8AGP1yCwYIYAImAeoAAAAHADoC2AAA//8AGP1yCwYIYAImAeoAAAAHADwDCwAA//8AGP1yCwYIYAImAeoAAAAHAJMDCQAA//8AGP1yCwYIYAImAeoAAAAHAJQDuwAA//8AGP1yCwYIYAImAeoAAAAHAJUDIwAA//8AGP1yCwYIYAImAeoAAAAHAJYDAwAA//8AGP1yCwYIYAImAeoAAAAHAJcCzgAA//8AGP1yCwYIYAImAeoAAAAHAJgDDgAA//8AGP1yCwYIYAImAeoAAAAHAJkDFAAA//8AGP1yCwYIYAImAeoAAAAHAJoDTwAA//8AGP1yCwYIYAImAeoAAAAHAJsDFgAA//8AGP1yCwYIYAImAeoAAAAHAJwDFAAA//8AGP1yCwYIYAImAeoAAAAHAJ0DDwAA//8AGP1yCwYIYAImAeoAAAAHAJ4DywAA//8AGP1yCwYIYAImAeoAAAAHAJ8C+AAA//8AGP1yCwYIYAImAeoAAAAHAKAC1gAA//8AGP1yCwYIYAImAeoAAAAHAKEDPAAA//8AGP1yCwYIYAImAeoAAAAHAKIDPAAA//8AGP1yCwYIYAImAeoAAAAHANsEaAAA//8AGP1yCwYIYAImAeoAAAAHAN0DjgAA//8AGP1yCwYIYAImAeoAAAAHAO8DCQAA//8AGP1yCwYIYAImAeoAAAAHAPUDuABr//8AGP1yCwYIYAImAeoAAAAHARAC1ACj//8AGP1yCwYIYAImAeoAAAAHAREDDACj//8AGP1yCwYIYAImAeoAAAAHARIC6QCjAAQAGP1yCwYIYAADAAcAHwA3AAAlETMRATUhFQEiJAAAAjU0EgAAJDMyBAAAEhUUAgAABCcyJCQSEjU0AgIkJCMiBAQCAhUUEhIEBAU+ov0PBUD9Yej+XP6i/v+NjQEBAV4BpOjoAaMBXQEBjY3+//6j/l3oywFwATPhfHzh/s3+kMvM/pD+zeJ8fOIBMwFwSQVA+sACVJiY+tWNAQEBXQGj6OgBpAFeAQGNjf7//qL+XOjo/l3+o/7/jat84QEzAXDLzAFwATPifHzi/s3+kMzL/pD+zeF8AAMAGP1yCwYIYAADABsAMwAAJScBFwEiJAAAAjU0EgAAJDMyBAAAEhUUAgAABCcyJCQSEjU0AgIkJCMiBAQCAhUUEhIEBAQGhAOchP3u6P5c/qL+/42NAQEBXgGk6OgBowFdAQGNjf7//qP+XejLAXABM+F8fOH+zf6Qy8z+kP7N4nx84gEzAXCMbgRNbviZjQEBAV0Bo+joAaQBXgEBjY3+//6i/lzo6P5d/qP+/42rfOEBMwFwy8wBcAEz4nx84v7N/pDMy/6Q/s3hfAD//wAY/XILBghgAiYB6gAAAAcBFALnAKP//wAY/XILBghgAiYB6gAAAAcBFQLoAKP//wAY/XILBghgAiYB6gAAAAcB0AHZAF3//wAY/XILBghgAiYB6gAAAAcB1AGjAF3//wBA/aIKzAguAiYB6wAAAAcAAQLSAAD//wBA/aIKzAguAiYB6wAAAAcACQLsAAD//wBA/aIKzAguAiYB6wAAAAcACgJ6AAD//wBA/aIKzAguAiYB6wAAAAcADAKmAAD//wBA/aIKzAguAiYB6wAAAAcADQMIAAD//wBA/aIKzAguAiYB6wAAAAcAEgMtAAD//wBA/aIKzAguAiYB6wAAAAcAEwKNAAD//wBA/aIKzAguAiYB6wAAAAcAFAKGAAD//wBA/aIKzAguAiYB6wAAAAcAFQKNAAD//wBA/aIKzAguAiYB6wAAAAcAFgRzAAD//wBA/aIKzAguAiYB6wAAAAcAIANeAAD//wBA/aIKzAguAiYB6wAAAAcAIQKyAAD//wBA/aIKzAguAiYB6wAAAAcAIgMuAAD//wBA/aIKzAguAiYB6wAAAAcAIwHpAAD//wBA/aIKzAguAiYB6wAAAAcAJAKCAAD//wBA/aIKzAguAiYB6wAAAAcAJgJ3AAD//wBA/aIKzAguAiYB6wAAAAcALQL8AAD//wBA/aIKzAguAiYB6wAAAAcALgJ6AAD//wBA/aIKzAguAiYB6wAAAAcALwL3AAD//wBA/aIKzAguAiYB6wAAAAcAMAL1AAD//wBA/aIKzAguAiYB6wAAAAcAMQLxAAD//wBA/aIKzAguAiYB6wAAAAcAMgKMAAD//wBA/aIKzAguAiYB6wAAAAcANwLDAAD//wBA/aIKzAguAiYB6wAAAAcAOAGVAAD//wBA/aIKzAguAiYB6wAAAAcAOQLLAAD//wBA/aIKzAguAiYB6wAAAAcAOgLPAAD//wBA/aIKzAguAiYB6wAAAAcAPAMCAAD//wBA/aIKzAguAiYB6wAAAAcAkwMAAAD//wBA/aIKzAguAiYB6wAAAAcAlAOyAAD//wBA/aIKzAguAiYB6wAAAAcAlQMaAAD//wBA/aIKzAguAiYB6wAAAAcAlgL6AAD//wBA/aIKzAguAiYB6wAAAAcAlwLVAAD//wBA/aIKzAguAiYB6wAAAAcAmAMFAAD//wBA/aIKzAguAiYB6wAAAAcAmQMLAAD//wBA/aIKzAguAiYB6wAAAAcAmgNGAAD//wBA/aIKzAguAiYB6wAAAAcAmwMNAAD//wBA/aIKzAguAiYB6wAAAAcAnAMLAAD//wBA/aIKzAguAiYB6wAAAAcAnQMGAAD//wBA/aIKzAguAiYB6wAAAAcAngPEAAD//wBA/aIKzAguAiYB6wAAAAcAnwLvAAD//wBA/aIKzAguAiYB6wAAAAcAoALoAAD//wBA/aIKzAguAiYB6wAAAAcAoQMyAAD//wBA/aIKzAguAiYB6wAAAAcAogMzAAD//wBA/aIKzAguAiYB6wAAAAcA2wRfAAD//wBA/aIKzAguAiYB6wAAAAcA3QOEAAD//wBA/aIKzAguAiYB6wAAAAcA7wMAAAD//wBA/aIKzAguAiYB6wAAAAcA9QOwAGv//wBA/aIKzAguAiYB6wAAAAcBEALjAKP//wBA/aIKzAguAiYB6wAAAAcBEQLjAKP//wBA/aIKzAguAiYB6wAAAAcBEgLgAKMABABA/aIKzAguAAMABwAWACYAACURMxEBNSEVASI1ETQ2MyEyFhURFAYjJSEyNjURNCYjISIGFREUFgU1ov0PBUD5FPqAegiYeoCAevdRCMYYHh4Y9zoZHx9JBUD6wAJUmJj7BfwIlnqAgHr3anuBrR4YCMgYHh4Y9zgYHgAAAwBA/aIKzAguAAMAEgAiAAAlJwEXASI1ETQ2MyEyFhURFAYjJSEyNjURNCYjISIGFREUFgP9hAOchPmh+oB6CJh6gIB691EIxhgeHhj3OhkfH4xuBE1u+Mn8CJZ6gIB692p7ga0eGAjIGB4eGPc4GB7//wBA/aIKzAguAiYB6wAAAAcBFALeAKP//wBA/aIKzAguAiYB6wAAAAcBFQLfAKP//wBA/aIKzAguAiYB6wAAAAcB0AHQAF3//wBA/aIKzAguAiYB6wAAAAcB1AGaAF3//wCe/s8BwgD6AAcCYP/++xj//wCe/s8BygQqACcCYP/++xgABwEGABwDKf//AKAD0gN3Bf0AJgJfAAAABwJfAbMAAP//AKADtwN3BeIAJgJgAAAABwJgAbMAAAABAKAD0gHEBf0AGAAAARcOAhUUFBUjNDYzMhYVFAYjIiY1NDY2AYcsOEolEyslM0hOPUZTP2kF/VwdRGVRBAUEIj5JOzxLZVhhjmIAAQCgA7cBxAXiABgAABMnPgI1NDQ1MxQGIyImNTQ2MzIWFRQGBt0sOEolEyslM0hOPUZTP2kDt1weQ2VRBAUEIj5KOjxLZFlgj2IAAAEAoAO3AcQF4gAYAAABLgI1NDYzMhYVFAYjIiY1MxQUFRQWFhcBhz9pP1NGPU5IMyUrEyVKOAO3HWKPYFlkSzw6Sj4iBAUEUWVDHgACAKADtwN3BeIAGAAxAAABLgI1NDYzMhYVFAYjIiY1MxQUFRQWFhcFLgI1NDYzMhYVFAYjIiY1MxQUFRQWFhcDOj9pP1NGPU5IMyUrEyVKOP4hP2k/U0Y9TkgzJSsTJUo4A7cdYo9gWWRLPDpKPiIEBQRRZUMeXB1ij2BZZEs8Oko+IgQFBFFlQx4A//8AoP7PAcQA+gIHAmAAAPsY//8AoP7PA3cA+gAnAmAAAPsYAAcCYAGz+xj//wA0AAAFUQdGAiYAAQAAAAcChQBlAXT//wC0AAAESQdGAiYADQAAAAcChQAiAXT////fAAACRwdGAiYAFgAAAAcChf62AXT//wB6/+wFpAdGAiYAJgAAAAcChQCzAXT//wC0/+gFQAdGAiYAMgAAAAcChQCeAXT//wBcAAADKwdGAiYAGwAAAAcChf9nAXT//wBa/+YD4AXSAiYAPQAAAAYChdEA//8AaP/oBEYF0gImAFEAAAAGAoX+AP//AJcAAAFbBdICJgBdAAAABgKGAQD////FAAACLQXSAiYAXQAAAAcChf6cAAD////m/l4BWgXSAiYAYgAAAAYChgAA//8AngAAAs4F0gAmAGUAAAAHAncBMgJ1//8AaP/oBGQF0gImAGwAAAAGAoUIAP//AJ7/8gQdBdICJgB7AAAABgKFAAD//wA2/lYESQXSAiYAiQAAAAYCheMA//8AaP/oBEgF0gImAEUAAAAGAoUKAP//AJ7/+ALOBdIAJgBnAAAABwJ3ATICdf//AJ7/7AQdBdICJgCBAAAABgKFAAAAAQCyAAABnADoAAMAADM1MxWy6ujoAAEAsv7vAZwA6AAOAAATNTMyNjU1FyM1MxEUBiOyHC4wE43qbmD+72FPOjkS6P75cYH//wCyAAABnAQfAiYCdwAAAAcCdwAAAzf//wCy/u8BnAQfAiYCeAAAAAcCdwAAAzf//wCyAAAGOADoACYCdwAAACcCdwJOAAAABwJ3BJwAAAACAKAAAAGKBdIAAwAHAAATAzMDAzUzFbsMzA3O6gHfA/P8Df4h6OgAAgBSAAADsQXmACEAJQAAATU0NjY3NjY1NCYmIyIGBgcjPgIzMhYWFRQGBw4CFRUDNTMVAX81ZEVCWkFuRDttSAa+BXfCdoK/amphQE8j1OoBwQuJlVcpKHtXRmU4MWhTfrBdZbJyeaw7J0loWQv+P+joAP//ALICTAGcAzQCBwJ3AAACTP//ALIA2QGcBPgCJwJ3AAAA2QAHAncAAAQQ//8AngAAAYgA6AAGAnfsAP//AJ7+7wGIAOgABgJ47AD//wCeAAABiAQfACYCd+wAAAcCd//sAzf//wCe/u8BiAQfACYCeOwAAAcCd//sAzf//wCeANkBiAT4ACcCd//sANkABwJ3/+wEEAACASkFDgORBdIAAwAHAAABNTMVMzUzFQEpxODEBQ7ExMTEAAABAJYFDgFaBdIAAwAAEzUzFZbEBQ7ExP//ASkFDgORBdIABgKFAAD//wCK/u8BdADoAAYCeNgA//8Aiv7vA0AA6AAmAnjYAAAHAngBpAAA//8AigPZA0AF0gAmAowAAAAHAowBzAAA//8AigPZA0AF0gAnAnj/2ATqAAcCeAGkBOoAAQCKA9kBdAXSAA4AAAEVIyIGFRUnMxUjETQ2MwF0HC4wE43qbmAF0mFOOzkS6AEHcYEA//8AigPZAXQF0gAHAnj/2ATqAAEAigPZAXQF0gAOAAABIyImNREzFSM3FRQWMzMBdBxgbuqNEzAuHAPZgXEBB+gSOTpPAP//AIoD2QNABdIAJgKOAAAABwKOAcwAAP//ABQAAAVnBdIAJgAMGwAABgKb4gD//wC0AAAEJAXSACYAIgAAAAcCkwHO/cgAAgEUBRUDpgYCAAsAFwAAASImNTQ2MzIWFRQGISImNTQ2MzIWFRQGAzAxRkYxMUVF/ioxRkYxMUVFBRVGMTFFRTExRkYxMUVFMTFGAAEAegUVAXUGAwALAAATIiY1NDYzMhYVFAb3M0pKMzRKSgUVRjEyRUUyMUYAAQBmBQIC6AYWAAgAAAEjNRMzExUjJwEXseur7LOOBQIJAQv+9QmvAAIAKgSlAjgGnAAPABsAAAEiJiY1NDY2MzIWFhUUBgYnMjY1NCYjIgYVFBYBMUh4R0d4SEl3R0d3STVJSTU0SUkEpURyRkZxRERxRkZyRH5KNDRJSTQ0SgABAJv+XgH5ADAAEwAAEzUzMjY1NCYjIzczFRUWFhUUBiObdjcrKzdSHl9iW294/l5pHSUlHOYwVgRNUVhSAAIAKgYFAjgH+gAPABsAAAEiJiY1NDY2MzIWFhUUBgYnMjY1NCYjIgYVFBYBMUl3R0d3SUl3R0d3STRJSDU0SUkGBURyRUZxQ0NxRkVyRH5JNDRJSTQ0SQABAAb/0gSWBgAAAwAAFycBF4iCBA6CLloF1FoAAQBS/9MEdgSLAAMAABcnARe9awO6ai1aBF5aAAIAoAAAAa0F6gADAA8AADMTMxMDIiY1NDYzMhYVFAbBDbMMZzdPTzc4T08D/vwCBN1PODhOTjg4TwABADICnAM3AzYAAwAAEzUhFTIDBQKcmpoAAAEAAAKcAIQADABwAAcAAQAAAAAAAAAAAAAAAAAHAAEAAAAAACUAMQA9AEkAVQBhAG0AkgDPAQkBFQFDAVoBZgFyAX4BigGfAd0CIgI5AkcCUwJfAmsCdwKOApoCpgKyAr4C2wMIAxcDXgOLA5cDzwPbA+cD8wP/BAsEFwQ9BIIEsQT7BQ0FMgU+BUoFVgViBYEFwQX5BhsGJwZRBqMGrwa7BsYG0gbeBukHXweaB6YHsge9B8kH1QfgCBsIVwiQCJwI1wkTCR4JKgk2CUIJZwmMCbAJ1AoiCkgKUwpfCmsKdwqCCo4KpgqxCtQK4gruCwsLFwtTC3kLhAu4C8MLzgvZC+UL8Qv9DDkMdQyVDNcNEw1bDX4NoQ3GDdEOBw4TDh8OKw5PDlsOZw5yDn4OnA7aDwwPPA9HD1MPaw+WD+MQNBBzEKAQ5BEaES4RXxGpEckSBBJQEmMSvxMME0sTZhOcE7oT9xQ0FGoUhBSMFJQUnBSkFKwUtBS8FMQVAxUjFSsVMxU7FUMVTBVUFWAVbRV6FYIVihXLFg0WFRYdFiUWLRY1Fj0WRRZNFlYWXxZnFm8WdxZ/FocWjxaXFp8WqBaxFroWwxbMFtUW3hbnFvAW+Bb4FvgXVxd1F5MX1xgbGGYYsRjTGPUZBxkZGVoZnBofGicaLxo3Gj8aRxpPGlgafhrSGuIa8BsEGxMbIBstGzobQhtKG1IbYBtuG3wbiBuUG6AbrRu2G8Qb0BvZG+8b/xwLHBgcJRwuHEIcVhxiHG4chhygHLQcyBzgHQ4dKR1WHV8daB1xHXodgx2MHZUdnh2vHbsd1x4AHjAeiR70HyYfcB+iH78f4SABIHkgvSDvISEhUyGIIash8CIUIjEiWCJ7IokiwiLmIxUjRyN6I5oj2iP/JCMkQiR9JLEk4yT8JSIlUCVjJX0lqSXqJhwmOyZYJo0m0CcHJxsnbCexJ+goBigjKDUoRyhbKG8oeCiBKIookyicKKUorii3KMAoySjSKNso5CjtKPYo/ykIKREpGikjKSwpNSk+KUcpUClZKWIpayl0KX0phimPKZgpoSmqKbMpvCnFKc4p1yngKekp8in7KgQqDSoWKh8qLipUKoIqlSquKtcrFitJK2crgyu5K/osLCw/LI8s1C0ILRwtMC1OLWotgC2OLbEtyS3SLdst5C3tLfYt/y4ILhEuGi4jLiwuNS4+LkcuUC5ZLmIuay50Ln0uky6hLqousy7ELtUu5i9JL1EvWS9hL2kvcS9/L44vmy/CL8Ivwi/CMAwwPDBsMIUwqDDXMQYxHjFBMWQxtzIKMjsybDJ0MnwyhDKMMpQynDKkMqwytDK8MsQyzDLUMzIzYzNvM3szhzOTM58zqzO3M8MzzzPbM+cz8zP/NAs0FzQjNC80OzRHNFM0XzRrNHc0gzSPNJs0pzSzNL80yzTXNOM07zT7NQc1EzUfNSs1NzVDNU81WzVnNXM1fzWLNZc1ozWvNhs2gjaONpo2pjayNr42yjbWNuI27jb6NwY3EjceNyo3NjdCN043WjdmN3I3fjeKN5Y3ojeuN7o3xjfSN9436jf2OAI4DjgaOCY4Mjg+OEo4VjhiOG44ejiGOJI4njiqOLY4wjjOONo45jjyOP45CjlJOYI5jjmaOaY5sjm7Ocg51DngOgY6LDpSOpg6oTquOro6xjrSOt466jr2OwE7DDsXOyM7Ljs6O0U7UDtbO2Y7cjt9O4g7oTutO7k7yTvdPBc8IDwtPDU8PTxJPFU8Yjx0PIA8iDyQPJw8qDy1PM882DzyPP49CT0VPTs9UT1lPZE9sD3cPeo9+D4VPiIAAAABAAAABABCqd2WPV8PPPUAAwgAAAAAAOJ2h5AAAAAA5uGPB/oX/WwUqgjdAAAAAwACAAAAAAAABUABSAWFADQFhQA0BYUANAWFADQFhQA0BYUANAWFADQH8wA0BTwAtAXYAHoF2AB6BcYAtATPALQEzwC0BM8AtATPALQEzwC0BLkAtAX4AHoGDgB6BfIAtAImALQCJv/KAiYACwImALQCJv/SA4cAXAOHAFwDhwBcA4cAXAOHAFwEkQBkBWAAtASGALQHOgC0BgcAtAYHALQGHgB6Bh4AegYeAHoGHgB6Bh4AegYeAHoGHgB6BRwAtAYeAHoFJgC0BSIAdAUqAGIF9AC0BfQAtAX0ALQF9AC0BfQAtAWFADQH4gA0BXUAOQVuADQFbgA0BQgAegR+AFoEfgBaBH4AWgR+AFoEfgBaBH4AWgR+AFoHVwBaBOYAaATmAGgE5gBoBOYAaATmAGgE5gBoBOYAaATmAJ4E5gCeBJIAaASSAGgE5gBoBKoAaASqAGgEqgBoBKoAaASqAGgC9gAUAqQAngKwABQCYACeBOgAaAS7AJ4B8AB8AfAAngHw/7AB8P/xAfAAngHw/7gB8P/mAfD/5gRkAJ4B8ACeAuAAngI0AJ4DJACeBwIAngS6AJ4EugCeBMwAaATMAGgEzABoBMwAUwTMAGgEzABoBMwAaATmAJ4E5gBoAwMAngQ5AGwE7gC0BRYAtAKeABQCgACeBLsAngS7AJ4EsACeBLsAngS7AJ4EuwCeBLsAngS7AJ4EuwCeBLsAngS7AJ4EfwA2BowARgReAEEEfwA2BH8ANgR/ADYEawB+BRYAqASpAGgFIgB0BJIAaARmAB4E4wBuBQwAegNBAGAE4QCaBPEAfQUrAHgEvwCABPYAegSHAGIE8wB6BPYAegUMAHoDMAB+BPYAfQUrAHgEpwB6BKcAegUwAI4FMADhBTAAvQUwAJYFMAB5BTAAsgUwAJcFMAC2BTAAmAUwAJcFMACOBTAA4QUwAH0FMAB5BTAAvgUwAL4CJgBsAiYAkAImAJACJgCQAiYAbAMgAP8DIABwAyAAUgMgAHADIAEiAyAAcAMgAP8DIABwAyAAUgMgAHADIAEiAyAAcAUwAU4FMAFOBTAAvwUwAL4FMADUBTAAtAUwAMMFMADDBTAAvwUwAJcFMAEGBTAAvwUwAL4FMADUBTAAtAUwAMMFMADDBTAAvwUwAJcFMADGAiYAAAImAAAFJwBoAk0AoAJNAKAEFwBSBBcAZgQOAFIEDgBmAusA2gLrAGAC6wDiAusAewNpAJADaQB7B7oAegLrANoC6wBgAusA4gLrAHsDaQCQA2kAewe6AHoFEQAiBcwAeALiAC4CqQEGAikAwALiAC4DrgCQBAAAAAgAAAADrgCQBAAAAAgAAAACFgCgAhYAoAJmANIDugDSA4YAoAOGAKADXgB4Ae4AeAIWAFADhgBQAk4AgAJOAKAG6gCgAk4AoAJOAKACagCAAk4AoAMTAGQDEwBQBKkAZASpAFAFSwCuBUsA7QVLAOIFSwDDBUsA0gVLANIFSwDOBUsApgVLAK4FSwDtBUsA4gVLAMMFSwDSBUsA0gVLAM4FSwCmBUsA4AOmAAADxQBSBAIAcgUpAMMFVABkB1AAqAOlAIIDoQBDA9wATgGVAFgDewBgBNIAbgSMAHoDNgBGA34AdQNDAFQDfgBUA1YAVAIyACADgABUA3sAdQGVAGwBlv/5AywAdQGVAHUE/gB1A3sAdQNrAFQDfgB1A34AVAJJAHUDHgBSAfYAIAN7AHUDWgA1BKwAMgM1ADYDXgA1AzcAbQOtAF0DrQBdAm8AYwJhAGIDiQBwA5EAZwOVAGcDrgBlA64AZQOFAHsDjQBdA2IAXQM/AFIDmgBdA40AXQNiAF0CJwCTAicATgInAJ0CJwBkA24AiQNuAJYDNgBGA34AdQNDAFQDfgBUA1YAVAIyACADgABUA3sAdQGVAGwBlv/5AywAdQGVAHUE/gB1A3sAdQNrAFQDfgB1A34AVAJJAHUDHgBSAfYAIAN7AHUDWgA1BKwAMgM1ADYDXgA1AzcAbQOtAF0DrQBdAm8AYwJhAGIDiQBwA5EAZwOVAGcDrgBlA64AZQOFAHsDjQBdA2IAXQM/AFIDmgBdA40AXQNiAF0CJwCTAicATgInAJ0CJwBkA24AiQNuAJYBif5wAxAATgMYAEwCGwBLAgoASQLxAGMDDQBkAxYAZAMhAFsDIQBbAvoAdAMMAE4CxABOAsYARwMFAE4DDABOAsQATgMZAHkDGgCGAesAhQHrADwB2ACAAdgAZgHYAH4B2ACOAxAATgMYAEwCGwBLAgoASQLxAGMDDQBkAxYAZAMhAFsDIQBbAvoAdAMMAE4CxABOAsYARwMFAE4DDABOAsQATgMZAHkDGgCGAesAhQHrADwB2ACAAdgAZgHYAH4B2ACOBscASwZrAEsHDgBkB9sA5gKVAKgClQCWBLoBFAPSANQCJQCbAAAAqAAAAJYAAADUAAAA4gJAAAACQAAAAXQAAAi9ALQHogDKCroAyhV0AMoKugDKB6IBAAq6AQAVdAEAB6IBAAq6AQAKugDKDgAAygq6AMoOAADKB6IAygq6AMoVdADKCroAygeiAQAKugEAFXQBAAeiAQAKugEACroAyg4AAMoKugDKDgAAygseABgLDABACx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAseABgLHgAYCx4AGAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABACwwAQAsMAEALDABAAk4AngJOAJ4EFwCgBBcAoAJkAKACZACgAmQAoAQXAKACZACgBBcAoAWFADQEzwC0Aib/3wYeAHoF9AC0A4cAXAR+AFoEqgBoAfAAlwHw/8UB8P/mAuAAngTMAGgEuwCeBH8ANgTmAGgDJACeBLsAngJOALICTgCyAk4AsgJOALIG6gCyAioAoAQXAFICTgCyAk4AsgImAJ4CJgCeAiYAngImAJ4CJgCeAAABKQAAAJYEugEpAf4AigPKAIoDygCKA8oAigH+AIoB/gCKAf4AigPKAIoF4QAUBIAAtAAAARQAAAB6AAAAZgAAACoAAACbAAAAKgScAAYEyQBSAk0AoANpADIAAQAAB8D+EgAAFXT6F/doFKoIAAAAAAAAAAAAAAAAAAAAApwABAUfAZAABQAABTMEzQAAAJoFMwTNAAACzQCMAp8AAAIABQMAAAACAASAAAADAAAAAAAAAAAAAAAAUlNNUwDAACAgJgfA/hIAAAjdApQAAAABAAAAAAReBdIAAAAgAAwAAAACAAAAAwAAABQAAwABAAAAFAAEAdAAAAASABAAAwACAC8AOQB+AKwA/yAUIB8gJv//AAAAIAAwADoAoACuIBMgGCAm//8AAABjAAAAAAAA4OMAAODhAAEAEgAAAC4AtgDOAAABbgAAAAABzADbAP4A7wCPAcIA2gD9AOEA4gEjARMBBQD1AQYA8QEIAQoBEAESAREA3QDnAAEACQAKAAwADQASABMAFQAWACAAIQAiACMAJAAmAC0ALgAvADAAMQAyADcAOAA5ADoAPADjAPQA5AEiASEBxAA9AEwATgBQAFEAVgBaAFsAXABjAGQAZQBpAGoAbABzAHQAdQB2AHkAewCGAIcAiACJAIwA5QDyAOYBFwHNANwAkACSAPAAkQDzAS0BxQEmASgBDgEgASUBxgEnARYBTAFNAcMA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5gAAAAAAAAAAAAAAAAAAAAAAAD/rwAAAAAAAAAAAAD/OwAA/6MAAAAAAAAAAAAAAAAAAAAAAAD/mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/3UAAAAAAAD/uwAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi/4AAAAAAAAAAP/2jF4AAAAAAAAAAAAAAAAAAAAA/+yMBAAAAAAAAAAAAACL/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/dItKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/jIymAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4CMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+KLYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4otiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iiYIAAAAAAACMpgAAAAAAAAAA//aL/gAAAAAAAAAAAAAAAAAAAAAAAAAA/8+LYgAAjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/eik4AAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAIymAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+KJggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/96KTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/rwAAAAAAAP+7izIAAAAAAAAAAAAAAAD/uwAAAAAAAP+vAAAAAAAAAAAAAAAAAAAAAAAA/yOKAAAgijD/uwAA/+yK9gAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAArgAA/7uLMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAAAAD/7Ir2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sIymAAAAAAAAAAAAAAAAAAAAAAAAAAD/mImIAAAAAAAAAAD+1ImO/wCJlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/waKNgAAjKYAAAAAAAAAAAAAAAD/VooeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMagAAAAAAAAAAAAAAAP+MAAD/o4maAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+jAAAAAAAAAAAAAP+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xgAAAAAAAP+6iywAAAAAAAAAAP+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/r4ym/7qLdAAAAAD/mAAA/+yMBAAAAAAAAAAAAAAAAAAAAAD/owAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7qLLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/GAAAAAAAAAAAAAAAAAAAAAAAA/7qLkgAAAAD/rwAAAAAAAAAAAAD/rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAP/YjAQAAAAAAAAAAAAAAAD/7IwE/9iMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiKYAAAAAAAAAAAADqKnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YiuQAAAAAAAAAAAAAAAAAAAAAAACLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//WLIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/GAAAAAAAA/9IAAAAAAAAAAAAAAAAAAP91AAAAAAAAAAAAAP+7iaD/O4rY/1KJpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAD/dYsgAAAAAAAAAAAAAAAAAAAAAAAAiawAAAAA/8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+wibL/RgAAAAAAAP87AAAAAAAA/1IAAAAAAAD+9QAAAAAAAAAAAAAAAIymAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAD/TIm4/6MAAAAAAAD/sIm+/1sAAAAAAAAAAAAAAAAAAP91iyAAAAAAAAAAAP7GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/owAA/7sAAAAAAAAAAAAAAAAAAAAAAAD/owAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/68AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAInEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0oqWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/Si3T/w4nKAAAAAAAAAAAAAAAAAAAAAP/1iyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0oymAAAAAAAAAAAAAAAAAAAAAAAAAAAARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/SjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+vjJoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK4AAP+7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/14AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7imz/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKcgAAAAD/uosaAB6MZP/YingAAAAAAAAAAP/YjKb/dQAAAAAAAAAAin7/aYxA/1KKhAAAAAAAC4qKAAAAAAAAi/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/3SKkAAAAAAAAAAAAAAAAP91AAD/jIv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAipYAAAAAAAAAAAAAAAD/aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKugAAAAAAAAAAAAAAAAAAAAAAOoqcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIqiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7AAAAAAAAAAAAAP+YAAAAAAAAAAAAAP8jAAD/OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/RgAAAAAAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6+KtP/EiqgAAIym/0YAAAAAAAD/zoqu/7sAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKb/rwAAAAAAAAAAAAD/DAAA/3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/r4q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+MiroAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKwAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAisz/7YwoAAAAAAAAAAD/4osOAAAAAAAAAAAAAAAA/86K8AAAAAAAAAAAAAAAAP/YitIAAAAAAAAAAAAAAAAAAAAA/8SK3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/86K8AAAAAAAAAAAAAAAAAAeitgAAAAAAAAAAAAAAAAAAAAA/86K8P/Eit7/xIreAAAAAAAAAAAAAAAAAAAAAP/iiw7/xIreAAAAAAAAAAAAAAAA/+yK5AAAAAD/zorqAAAAAAAAAAAAAAAAAAAAAAAAAAD/zorwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+yK9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iivwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAAP/ViwL/jAAA/uiMZAAdiwj/jAAA/68AAAAAAAAAHYsIAAAAAP9jjGoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iiw4AAAAAAAAAAP9eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIsUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP6vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uosaAAAAAAAAAAAAAAAAAAAAAAAAAAD/sIymAAAAAP+7iyD/w4smAAAAAAAAAAAAAAAAAAAAAP+6iywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/u4syAAAAAAAAAAAAAAAAAAAAAAAAizgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7sAAAAAAAAAAAAA/2kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+wi/4AAAAAAAAAAP87AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2Is+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uotEAAAAAAAAAAD/JItKAACMpgAAi1AAAAAAAAAAAAAAjKYAAAAA/+KLVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKYAAAAAAACMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7uMpgAAAAAAFIymAAAAAAAAAAD/2IygAAAAAAAAAAD/Uotc/2CMpgAAAAAAAAAAAAAAAAAAAAD/xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4oti/5iLpAAAAAD/0oxYAAAAAP/bi2j/mItuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+mLdP9ei3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP87AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi4b/6YuAAACLhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADqL+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9iMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIymAB6LjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+6i5IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7IuYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8YueAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuqAAAAAAAAi6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJoukAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4u2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLvAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+KMZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKYAAIymAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAA/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7AAAAAAAAAAAAAAAAAAAAAAAA/7sAAAAAAAAAAAAA/0YAAP71AAAAAAAAAAAAAAAAAAAAAAAA/68AAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAP+AAAAAAAAA/7sAAAAAAAD/uwAA/4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAujKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIymAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ijKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHi7YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIu8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIymAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/dQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/YIvCAAAAAAAAAAAAAAAAAAAAAP9qi8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/36Lzv/Yi9QAAAAA/vyMOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9Wi9oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/GAAAAAAAA//UAAP9vAAAAAAAA/+kAAAAAAAAAAAAAAAAAAAAAAAD/6QAA/+8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+aL4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAeL5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/LjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y4ymABSL7AAAAAAAAIymADYAAAAAjKYAAAAAAAAAAAAAAAAAAAAAABSL8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACL+AAAAAAAAAAAAAAAAAAAAAAAAAAAAACL/gAAAAAAAAAA//aMXgAAAAAAAAAAAAAAAAAAAAD/7IwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMCgAAAAAAAAAAAAAAAP9GAAAARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y4ymAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9KMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/hjBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/rIymAAAAAAAAAAD/2oxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/LjBYAAAAAAACMHAAAjCL/4owoAAAAAAAAAAAAAAAAAAAAAP/SjC4AAAAAABSMjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8OMpgAAAAAAAAAA/8OMNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/pow6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/pjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVjEYAAAAAABWMTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y4yUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVjFgAAAAAABWMTAAVjFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAVjFgAAAAAAAuMpgAVjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/mAAA/5gAAAAAAAD/IwAAAAAAAP+jAAAAAAAAAAAAAAAAAAAAAAAA/6+MpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7jKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7uMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y4ymAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+6jF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+cjKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zoxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIxqAAAAAAAAAAAAAAAAAAAAAAAAjGoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7YxwAAAAAAAAAAD/5oyUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqMdgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/fjHwAAAAAAAAAAAANjIL/84ygAAAAAAAAAAAAAAAAAAAAAP/fjIgAAAAAABSMjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8uMlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+MAAD/mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/njJoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4YygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+KMpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/SjKYAGoysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACADIAAQAbAAAAIABYABsAWgBcAFQAXgBhAFcAYwBnAFsAaQCBAGAAhgCMAHkAjgCQAIAAkwCUAIMAlgCXAIUAmgCdAIcAnwCiAIsAvgC+AI8AwADAAJAAwgDCAJEAxQDFAJIA0QDXAJMA3QDoAJoA6gDqAKYA7ADsAKcA8QDyAKgA9AD1AKoA+AD4AKwA+wECAK0BBQEIALUBCgELALkBDgEPALsBEgEXAL0BGgEfAMMBIgEsAMkBLwE0ANQBNgE5ANoBPAFHAN4BSgFLAOoBVAFUAOwBWAFYAO0BWgFaAO4BXAGCAO8BhQGJARYBjAGNARsBtAG0AR0B0AHTAR4B3QHgASICWwJgASYCYwJpASwCawJ0ATMCdwJ7AT0CfQJ+AUICiAKQAUQCmgKaAU0AAgDKAAEABwAFAAgACAAHAAkACQATAAoACwAbAAwADAAEAA0AEQAHABIAEgAvABMAEwAfABQAFAAVABcAFwAaABoAGgAaACAAIAAIACEAIQAWACIAIgAcACYALAAEAC0ALQAnAC4ALgAEAC8ALwAVADAAMAASADEAMQANADIANgAIADcANwAmADgAOAAkADkAOQAZADoAOwAMADwAPAAgAD0AQwACAEQARAApAEUASwADAEwATwABAFEAVQABAFYAWAAhAFoAWgAeAFsAWwACAFwAXAAJAF4AXgAoAF8AYQAJAGMAYwAJAGQAZAAYAGcAZwAxAGkAawACAGwAcwABAHQAdAAeAHUAdQALAHYAdgAPAHcAeAATAHkAegAGAHsAfAADAH0AfQBbAH4AgQADAIYAhgAKAIcAhwAjAIgAiAAiAIkAiwAKAIwAjAAUAI4AjgABAI8AjwBNAJAAkAA4AJMAkwA9AJQAlAAlAJYAlgA8AJcAlwBCAJoAmgBVAJsAmwA8AJwAnQA9AJ8AnwA8AKAAoABCAKEAoQBXAKIAogBSAL4AvgAtAMAAwAAtAMIAwgAtAMUAxQAQANEA0QARANIA0gAQANMA0wAdANQA1AAQANUA1QARANYA1gAQANcA1wAdAN0A3QA+AN4A3gBJAN8A3wA+AOAA4ABJAOEA4QA6AOIA4gA7AOMA4wA6AOQA5AA7AOUA5QA6AOYA5gA7AOcA5wA0AOgA6AAtAOoA6gAtAOwA7AAtAPEA8QBYAPIA8gAlAPQA9AAsAPUA9QAQAPgA+AAQAPsA+wA2APwA/AAyAP0A/gAzAP8A/wA2AQABAAAyAQEBAgAuAQUBBwArAQgBCAAqAQoBCgAqAQsBCwAQAQ4BDgBEAQ8BDwBFARIBEgARARMBEwAQARQBFAAdARUBFQAQARYBFgARARcBFwAQARoBGgARARsBGwAQARwBHAAdAR0BHQAQAR4BHgARAR8BHwAQASIBIwA5ASQBJAAdASUBJQBLASYBJgA0AScBJwA5ASgBKwA1ASwBLAAlAS8BMAAwATEBMQBAATIBMgAwATMBMwBQATQBNABDATYBNwBGATgBOABRATkBOQBAATwBPQAwAT4BPgBDAT8BPwBTAUABQABUAUEBQQBZAUIBQgBaAUMBQwBMAUQBRABcAUUBRQBdAUYBRgBMAUcBRwBeAUoBSwBIAVQBVABWAVgBWAA/AVoBWgA/AVwBXABHAV0BXQBPAV4BdwAOAXgBfQAXAX4BfgBBAX8BgAAXAYEBgQBBAYIBggAXAYUBiQAXAYwBjQAXAbQBtABOAdAB0gAQAdMB0wARAd0B3wAQAeAB4AARAlsCWwArAlwCXAAqAl0CXQA2Al4CXgAyAl8CXwA2AmACYAAyAmMCZAAuAmUCZQAFAmYCZgAHAmcCZwAaAmgCaAAEAmkCaQAIAmsCawACAmwCbAABAm0CbQAJAm4CbgAoAm8CbwAJAnECcQABAnICcgADAnMCcwAKAnQCdAADAncCeAArAnkCegAqAnsCewArAn0CfQA+An4CfgAQAogCiQAuAooCigA3AosCiwBKAowCjAA3Ao0CjQBKAo4CjwA3ApACkAAEApoCmgAlAAIAzAABAAgABQAJAAkAAQAKAAsABAAMABIAAQATABQABAAVABYAAQAXABcAFQAYABkAAQAaABoAFQAbABsAAQAgACAAJgAhACUAAQAmACwABAAtAC0AAQAuAC4ABAAvAC8AAQAwADAAEgAxADEADgAyADYACQA3ADcAGgA4ADgAHwA5ADkAEwA6ADsADQA8ADwAGAA9AEQABwBFAEsAAgBMAE0AAQBOAFUAAgBWAFYAJwBXAFcAAQBYAFgAJwBZAFkAAQBaAFoAAgBbAFsAAQBcAFwAEABeAF4AIABfAGEAEABjAGMAGwBkAGgAAQBpAGsAAwBsAHIAAgBzAHMAAwB0AHQAAgB1AHUAAwB2AHYADAB3AHgAAQB5AHkABgB6AHoAAQB7AHwACAB9AH0AUgB+AIAACACBAIEAAwCGAIYACgCHAIcAHgCIAIgAHACJAIsACgCMAIwAGQCNAI0AAQCOAI4AAgCPAI8ARACQAJAALgCTAJMAMwCUAJQAPACWAJYAQACXAJcANQCZAJkAMwCaAJoATQCbAJsARQCdAJ0AMwCeAJ4APACfAJ8AQACgAKAANQChAKEATwCiAKIAOwC/AL8AIwDBAMEAIwDDAMMAIwDFAMUADwDRANEAEQDSANIADwDTANMAFwDUANQADwDVANUAEQDWANYADwDXANcAFwDdAN0AMgDeAN4APQDfAN8AMgDgAOAAPQDhAOEAMADiAOIAMQDjAOMAMADkAOQAMQDlAOUAMADmAOYAMQDnAOcAIQDpAOkAIwDrAOsAIwDtAO0AIwDxAPEAUADyAPIAFAD0APQAQwD1APUADwD4APgADwD7APsALQD8APwAKAD9AP4AKQD/AP8ALQEAAQAAKAEBAQIAJQEFAQcAIgEIAQoAHQELAQsADwEOAQ4AOAEPAQ8AOQESARIAEQETARMADwEUARQAFwEVARUADwEWARYAEQEXARcADwEaARoAEQEbARsADwEcARwAFwEdAR0ADwEeAR4AEQEfASAADwEiASMALwEkASQAFwElASUAPwEmASYAIQEnAScALwEoASsAKwEsASwAOwEvAS8AKgEwATIAJAEzATMASAE0ATQAJAE1ATUAKgE2ATYASgE3ATcASwE4ATkAKgE6ATsALAE8ATwAJAE9AT0ALAE+AT4AJAE/AT8ALAFAAUAATAFBAUEAUQFDAUMAQQFEAUQAUwFFAUUAVAFGAUYAQQFPAVAANwFZAVkANAFbAVsANAFcAVwAOgFdAV0ARwFfAXcACwF4AX0AFgF/AYAANgGCAYIAFgGEAYQATgGFAYkAFgGMAY0AFgGOAY4ASQG0AbQARgHPAc8AFAHUAdYADwHXAdgAEQJbAlsAIgJcAlwAHQJdAl0ALQJeAl4AKAJfAl8ALQJgAmAAKAJjAmQAJQJlAmUABQJmAmYAAQJnAmcAFQJoAmgABAJpAmkACQJrAmsABwJsAmwAAgJtAm0AEAJuAm4AIAJvAm8AGwJwAnAAAQJxAnEAAgJyAnIACAJzAnMACgJ0AnQAAgJ1AnUAAQJ3AngAIgJ5AnoAHQJ7AnsAIgJ9An0AMgJ+An4ADwJ/An8AHQKIAokAJQKLAosAPgKNAo0APgKQApAAQgKaApoAFAABAC6AAAACAAWAAAABAAmAAAACAA+AAAABAAuAAAADAAKAAAABAA6AAAACAC+AAAABAE+AAAADAAOAAAACABiAAAACAAqAAAABABGAAAAAAAGAAAACAAuAAAABAD6AAAABADOAAAABAAGAAAACABqAAAABAFaAAAACABCAAAADAAWAAAABACqAAAACADGAAAABAFmAAAACAAKAAAADAAeAAAABABSAAAAEAACAAAABAFSAAAADAAGAAAAEAAKAAAACAB6AAAAEAAGAAAABAEqAAAABAC+AAAACAEqAAAABACiAAAABAEmAAAACAEeAAAACAD+AAAABAFWAAAABAFKAAAABAC2AAAABAFuAAAACABuAAAAAAAmAAAABAB+AAAABAEuAAAACACKAAAABAAKAAAACACaAAAABABqAAAACAA6AAAACACWAAAABAASAAAABABOAAAABACmAAAADAASAAAABAAyAAAACAAmAAAABACuAAAABAAOAAAACAAyAAAACADuAAAABABWAAAABACeAAAACACCAAAABABaAAAABABmAAAABAFeAAAADAAaAAAACABSAAAACADKAAAABAE6AAAABAFqAAAAAAACAAAABAAiAAAABACyAAAACADmAAAABAEKAAAACAEmAAAACADSAAAACAEiAAAACAEaAAAAAAAiAAAACAD6AAAABAB6AAAABAB2AAAACADyAAAABAByAAAACADqAAAABABiAAAACABeAAAACAESAAAABACCAAAABAAeAAAACABGAAAACAAOAAAABAEeAAAAAAAKAAAACAASAAAABAAaAAAABACSAAAABAECAAAABADWAAAABACGAAAABAA+AAAABAEWAAAABAFOAAAABADqAAAACAD2AAAACACGAAAABAD+AAAABABeAAAABAFCAAAABAESAAAACACqAAAABAFGAAAAEAAOAAAACAEWAAAACAB2AAAABAE2AAAACABaAAAABADSAAAACACiAAAAAAAaAAAACACmAAAABABCAAAAAAAWAAAACADWAAAABAFiAAAABADiAAAACAECAAAABAEOAAAABAD2AAAABADuAAAACAEOAAAABABuAAAACACSAAAABACWAAAAAAAOAAAACABmAAAABACOAAAABADmAAAACADCAAAAAAAeAAAABAEaAAAABAEGAAAACAC6AAAACACyAAAACAC2AAAACACuAAAACADeAAAABADeAAAABADyAAAABADaAAP////+AAAACAB+AAAABAHIARAAAADQA3gH0BRIBCgFmAcIB9AH0AfwCCgJCA6YFEgJiBKYErgOeA54EpgSuBNQE1AKmAswC1AL6A64DrgOeA6YDrgUSA7wD0APeA/IEBgQUBBwETgROBE4EdATUBKYErgSmBK4E1ATUBNQFEgABADQAfQCTAJQAmACZAJoAnACdAKEA2gDcAOcA8gD0APsA/AD9AP4A/wEAAQUBBgEHAQsBEQEhASIBIwElASYBJwEsAVQBjgGbAacBqwGsAbMBuwG8Ab0BwgJbAl0CXgJfAmACdwJ4AnsCmgAHAPv/mAAAAP//mAAAARD/rwAAASD/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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF09EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+mAAAAAAAAAAAAAAAAAAD/jD0e/1g9JAAAAAAAAAAAAAAAAAAAAAAAAAAA/0w+CP/MPeQAAAAAAAAAAAAAPsgAAAAAAAAAAAAAAAAAAAAAAAAAAP+YPsj/Tz0qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yT5oAAAAAAAAAAAAAAAAAAAAAP/SPboAAAAAAAAAAAAAAAAAAAAA/+M9MAAAAAAAAAAAAAAAAAAAAAAAAD7IAAAAAAAAAAAAAAAAAAA+yAAAAAAAAAAAAAAAAP+7AAD/mAAAAAAAAAAAAAD/uwAAAAAAAP+6PTYAAAAAAAAAAAAAAAD/LwAA/14AAP71AAAAAD08/149QgAAAAAAAAAA/4AAAAAAPsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAA/7sAAP+cPUj/uz1OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/yQ+OP9vAAAAAAAAAAAAAAAAAAD/dD1UAAA9WgAAAAAAAAAA/0YAAP/2PWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKD1mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/OwAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/dQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/RgAAAAAAAAAAAAAAAAAA/zsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+APWz/jAAAAAAAAAAAAAAAAAAA/4wAAP+MAAD/NT1yAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAAAAAAAP+jAAAAAAAAAAAAAP87AAAAAAAAAAAAAAAAAAD/UgAAAAAAAP/pAAAAAAAAAAAAAAAAAAAAAAAA/3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+vAAAAAAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+3gAAAAAAAAAAAAD/rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/WD14AAAAAAAAAAAAAAAAAAAAAAAAAAD/4j2iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+wPsgAAAAAAAAAAAAAAAD/pgAAAAAAAP+vAAAAAAAAAAAAAP+7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/zg9fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1AAAAAAAAAAAAAAAAAAD/uz2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Uj2KAAAAAP+APZAAAAAAAAAAAAAAAAD/sD4yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uj2WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/OPiz/zj4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zj2c/+I9ov+AAAAAAAAAAAAAAP/pPagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8Q9rv/pPsgAAAAAAAAAAAAAAAD/mD20AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/pPbr+6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6T3GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4j3wAAAAAAAAAAAAAD7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7o90gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+6PdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0j3YAAAAAP+YAAAAAAAAAAAAAAAAAAAAAAAA/+I93gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zD3kAAAAAP+YAAAAAAAAAAAAAP+jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7D3qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4j3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iPggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9g99gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+wPfz/2D4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8z7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+I+CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/owAAAAAAAAAAAAD/gAAAAAAAAP+7AAAAAAAAAAAAAAAAAAAAAAAA/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+I+DgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/SPhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyPqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+GgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAP+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/YD4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/fj4mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/84+LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/3Q+OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+PgAAAAAAAAAAAAAAAAAAAAD/IwAAAAAAAP7eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+MAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/dD5EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+SgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuPsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/NT7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+mPlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/68AAAAAAAAAAAAAAAAAAAAAAAD/4j5WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/OPlwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YPmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qT5oAAAAAP+jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7sAAAAAAAD/AAAAAAAAAP7eAAAAAAAAAAAAAAAAAAD/mAAAAAA+yAAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAP+JAAAAAAAA/0Y+bgAAAAD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3gAAAAAAAAAAAAAAAAAAAAAAAP/jAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAD/fj50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sD6SAAAAAAAAAAD/7gAAAAAAAAAAAAD/vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+0AAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAP/aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5w+egAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6Y+jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+SPoYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+0+yAAAAAAAAAAAAAAAAAAAAAAAAAAAABo+yAAAAAAAAAAAAAAAAP+mPowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/TPsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8Q+kgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+wPpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/eAAAAAAAAAAAAAAAAAAD/nD7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7A+ngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zj6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//Y+pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6qAAAAAAAAAAAAAAAA/84+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD62AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rPsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+vPrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAP+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4A+wgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0+yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uwAAAAAAAAAAAAAAAAAAAAIAKwB9AH0AAACPAJAAAQCTAJcAAwCaAKIACAC+AL4AEQDAAMAAEgDCAMIAEwDFAMUAFADRANcAFQDdAOgAHADqAOoAKADsAOwAKQDxAPIAKgD0APUALAD4APgALgD7AQIALwEFAQgANwEKAQsAOwEOAQ8APQESARcAPwEaAR8ARQEiAScASwEsASwAUQFIAVcAUgFcAVwAYgF4AYkAYwGMAZAAdQGTAZMAegGWAZcAewGaAZsAfQGdAZ4AfwGjAaUAgQGpAaoAhAG0AbQAhgG7Ab0AhwHQAdMAigHdAeAAjgJbAmAAkgJjAmQAmAJ3AnsAmgJ9An4AnwKIAo8AoQKaApoAqQACAHMAfQB9ADkAjwCPACYAkACQABAAkwCTABcAlACUAAQAlQCVADYAlgCWABYAlwCXABsAmgCaAC0AmwCbABYAnACdABcAngCeACwAnwCfABYAoACgABsAoQChADIAogCiACoAvgC+AAkAwADAAAkAwgDCAAkA0QDRAAEA0wDTAAMA1QDVAAEA1wDXAAMA3QDdABkA3gDeACMA3wDfABkA4ADgACMA4QDhABIA4gDiABMA4wDjABIA5ADkABMA5QDlABIA5gDmABMA5wDnAA0A6ADoAAkA6gDqAAkA7ADsAAkA8QDxADUA8gDyAAQA9AD0AAgA+wD7AA4A/AD8AAsA/QD+AAwA/wD/AA4BAAEAAAsBAQECAAoBBQEHAAcBCAEIAAUBCgEKAAUBDgEOAB4BDwEPAB8BEgESAAEBFAEUAAMBFgEWAAEBGgEaAAEBHAEcAAMBHgEeAAEBIgEjABEBJAEkAAMBJQElACUBJgEmAA0BJwEnABEBLAEsAAQBSAFJAAYBSgFLACIBTAFMADgBTQFOAAYBTwFQAB0BUQFSAAYBUwFTADQBVAFUADABVQFWAAYBVwFXACsBXAFcACABeAF9AAIBfgF+ABoBfwGAAAIBgQGBABoBggGCAAIBgwGDADMBhAGEAC8BhQGJAAIBjAGNAAIBjgGOACgBjwGQABgBkwGTADcBlgGXABwBmgGaADEBmwGbAC4BnQGdABgBngGeACkBowGlABQBqQGqACEBtAG0ACcBuwG9ABUB0wHTAAEB4AHgAAECWwJbAAcCXAJcAAUCXQJdAA4CXgJeAAsCXwJfAA4CYAJgAAsCYwJkAAoCdwJ4AAcCeQJ6AAUCewJ7AAcCfQJ9ABkCiAKJAAoCigKKAA8CiwKLACQCjAKMAA8CjQKNACQCjgKPAA8CmgKaAAQAAgB5AH0AfQA7AI8AjwAqAJAAkAAOAJMAkwATAJQAlAAdAJUAlQA5AJYAlgAmAJcAlwAWAJkAmQATAJoAmgAwAJsAmwArAJ0AnQATAJ4AngAdAJ8AnwAmAKAAoAAWAKEAoQA1AKIAogAcAMUAxQABANEA0QACANIA0gABANMA0wAFANQA1AABANUA1QACANYA1gABANcA1wAFAN0A3QASAN4A3gAhAN8A3wASAOAA4AAhAOIA4gAQAOQA5AAQAOYA5gAQAOcA5wAHAPEA8QA4APIA8gADAPQA9AApAPUA9QABAPgA+AABAPsA+wANAPwA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QwACAXQBRAACAXUBRQACAXYBRgACAXcBRwAFAXgBpwGPAUgAowAFAXoBqQGRAUoApAAFAXwBqwGTAUwApQAFAX0BrAGUAU0ApgAFAX8BrgGWAU8ApwAFAYEBsAGYAVEAqAAFAYIBsQGZAVIAqQAFAYQBswGbAVQAqgAFAYUBtAGcAVUAqwAFAYYBtQGdAVYArAACAQUCgQACAQYCgAACAQgCggACAQkChAACAQoCgwAGAYgBuQGhAOgBWAC4AAYBiQG6AaIA6QFZALkABAGKAOoBWgC8AAQBiwDrAVsAvQACAOwAugACAO0AuwACAPgAxAACAl8CjAACAmACjQACAl0CigACAl4CiwACAmQCiQACAmMCiAACAmECjgACAmICjwAFAbwBpACzAlsCeAAEAbsBowC0AncAAwEJALUCeQACALYCfwADALcCXAJ6AAIBGADGAAIBGQDHAAYBjQG4AaABGgFdAMgABgGMAbcBnwEbAVwAyQACARwAygACAR0AywACAR4AzAACAR8AzQACASQAzgACAaUBpgACAb0BvgABAEgAPQBMAE4AUABRAFYAWgBbAFwAYwBkAGUAaQBqAGwAcwB0AHUAdgB5AHsAhgCHAIgAiQCMAJMAlACVAJYAlwCYAJkAmgCbAJwAswC0ALUAtgC3AOEA4gDjAOQA5QDmAPUA+wD8AP8BAAEBAQIBAwEEAQUBBgEIAQkBCgEQAREBEgETARQBFQEWARcBIwGkAbwABgAAAAEACAABAAoAAgASACYAAQACACIAZQABAAQAAAACAQsAAQAiAAEAAAAEAAEABAAAAAIBCwABAGUAAQAAAAMABAAAAAEACAABABIAAQAIAAEABABmAAIBCwABAAEAZQAEAAAAAQAIAAEAEgABAAgAAQAEApEAAgELAAEAAQAiAAEAAAABAAgAAgAqABIBKgErAacBqQGrAawBrgGwAbEBswG0AbUBuQG6AbwBuwG4AbcAAQASAFwAagCTAJQAlQCWAJcAmACZAJoAmwCcAOEA4gEFAQYBEgETAAYAAAABAAgAAgIoABgAEAAYAAIAAAA6AAEA8QABAAEAAgAFAJMAnAABAOEA4gABAPEA8QACAQUBBgABARIBEwABABUALABKAGgAhACgALoA1ADsAQQBGgEwAUQBWAFqAXwBjAGcAaoBuAHEAdAACwABAAEAAQABAAEAAQABAAEAAQABAAIAAQAAAAAAAAABAAsAAQABAAEAAQABAAEAAQABAAEAAQACAAAACgABAAEAAQABAAEAAQABAAEAAQACAAEAAAAAAAAAAQAKAAEAAQABAAEAAQABAAEAAQABAAIAAAAJAAEAAQABAAEAAQABAAEAAQACAAEAAAAAAAAAAQAJAAEAAQABAAEAAQABAAEAAQACAAAACAABAAEAAQABAAEAAQABAAIAAQAAAAAAAAABAAgAAQABAAEAAQABAAEAAQACAAAABwABAAEAAQABAAEAAQACAAEAAAAAAAAAAQAHAAEAAQABAAEAAQABAAIAAAAGAAEAAQABAAEAAQACAAEAAAAAAAAAAQAGAAEAAQABAAEAAQACAAAABQABAAEAAQABAAIAAQAAAAAAAAABAAUAAQABAAEAAQACAAAABAABAAEAAQACAAEAAAAAAAAAAQAEAAEAAQABAAIAAAADAAEAAQACAAEAAAAAAAAAAQADAAEAAQACAAAAAgABAAIAAQAAAAAAAAABAAIAAQACAAAAAQABAAEAAQABAAEAAAAJAAEAAAABAAgAAQAGAJ0AAQABAPEABgAAAAEACAADAAAAAQIUAAEBVgABAAAACwAGAAAAAQAIAAMAAAABAfoAAgIWATwAAQAAAA0ABgAAAAEACAADAAAAAQHeAAMB+gH6ASAAAQAAAA8ABgAAAAEACAADAAAAAQHAAAQB3AHcAdwBAgABAAAAEQAGAAAAAQAIAAMAAAABAaAABQG8AbwBvAG8AOIAAQAAABMABgAAAAEACAADAAAAAQF+AAYBmgGaAZoBmgGaAMAAAQAAABUABgAAAAEACAADAAAAAQFaAAcBdgF2AXYBdgF2AXYAnAABAAAAFwAGAAAAAQAIAAMAAAABATQACAFQAVABUAFQAVABUAFQAHYAAQAAABkABgAAAAEACAADAAAAAQEMAAkBKAEoASgBKAEoASgBKAEoAE4AAQAAABsABgAAAAEACAADAAAAAQDiAAoA/gD+AP4A/gD+AP4A/gD+AP4AJAABAAAAHQABAAEBjgABAAAAAQAIAAIAsAAQAacBqQGrAawBrgGwAbEBswG0AbUBuQG6AbwBuwG4AbcABgAAAAEACAADAAEAEgABAIIAAAABAAAAHwABABEBjgGPAZEBkwGUAZYBmAGZAZsBnAGdAZ8BoAGhAaIBowGkAAEAAAABAAgAAgBCABABjwGRAZMBlAGWAZgBmQGbAZwBnQGhAaIBpAGjAaABnwAGAAAAAQAIAAMAAQAUAAEAYgABADAAAQAAACEAAgAEAJMAnAAAAOEA4gAKAQUBBgAMARIBEwAOAAEAEAGnAakBqwGsAa4BsAGxAbMBtAG1AbcBuAG5AboBuwG8AAEAAAABAAgAAQAGAAIAAQABAcwAAQAAAAEACAACAEoAIgKaAOgA6QDqAOsA7ADtAO4A+AD5APoBCQEYARkBGgEbARwBHQEeAR8BJAHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAAIABwDcANwAAADhAOcAAQD1APcACAEIAQgACwEQARcADAEjASMAFAHQAdwAFQAEAAAAAQAIAAERJgAIABYAjgCOAXgB1gHWA8wFfAA4AOoA9AD+AQgBEgEcASYBMAE6AhgCIgIsAjYCQAJKAlQCXgJoAnICfAKGApACmgKkAq4CuALCAswC1gLgAuoC9AL+AwgDEgMcAyYDMAM6A0QDTgNYA2IDbAN2AUQBTAFUA4ADiAOQA5gDoAOoAHIBugHUAAIBEQA4AHIAfACGAJAAmgCkAK4AuADCAaABqgG0Ab4ByAHSAdwB5gHwAfoCBAIOAhgCIgIsAjYCQAJKAlQCXgJoAnICfAKGApACmgKkAq4CuALCAswC1gLgAuoC9AL+AMwA1ADcAwgDEAMYAyADKAMwAOQDOAHWAAQA9QD1AREB1gAEAPUA9gERAdYABAD1APcBEQHWAAQA9gD1AREB1gAEAPYA9gERAdYABAD2APcBEQHWAAQA9wD1AREB1gAEAPcA9gERAdYABAD3APcBEQHVAAMA9QERAdUAAwD2AREB1QADAPcBEQHVAAIBEQArALYAwADKANQA3gDoAPIA/AEGARABGgEkAS4BOAFCAUwBVgFgAWoBdAF+AYgBkgGcAaYBsAG6AcQBzgHYAeIB7AH2AgACCgIUAh4CJgIuAjYCPgJGAFgB4QACARkAKwBYAGIAbAB2AIAAigCUAJ4AqACyALwAxgDQANoA5ADuAPgBAgEMARYBIAEqATQBPgFIAVIBXAFmAXABegGEAY4BmAGiAawBtgHAAcgB0AHYAeAB6AHwAeMABAD1APUBGQHjAAQA9QD2ARkB4wAEAPUA9wEZAeMABAD1APgBGQHjAAQA9QD5ARkB4wAEAPUA+gEZAeMABAD2APUBGQHjAAQA9gD2ARkB4wAEAPYA9wEZAeMABAD2APgBGQHjAAQA9gD5ARkB4wAEAPYA+gEZAeMABAD3APUBGQHjAAQA9wD2ARkB4wAEAPcA9wEZAeMABAD3APgBGQHjAAQA9wD5ARkB4wAEAPcA+gEZAeMABAD4APUBGQHjAAQA+AD2ARkB4wAEAPgA9wEZAeMABAD4APgBGQHjAAQA+AD5ARkB4wAEAPgA+gEZAeMABAD5APUBGQHjAAQA+QD2ARkB4wAEAPkA9wEZAeMABAD5APgBGQHjAAQA+QD5ARkB4wAEAPkA+gEZAeMABAD6APUBGQHjAAQA+gD2ARkB4wAEAPoA9wEZAeMABAD6APgBGQHjAAQA+gD5ARkB4wAEAPoA+gEZAeIAAwD1ARkB4gADAPYBGQHiAAMA9wEZAeIAAwD4ARkB4gADAPkBGQHiAAMA+gEZAeIAAgEZACYATgBYAGIAbAB2AIAAigCUAJ4AqACyALwAxgDQANoA5ADuAPgBAgEMARYBIAEqATQBPgFIAVIBXAFkAWwBdAF8AYQBjAGUAZwBpAGqAdIABAD1APUA9QHSAAQA9QD1APYB0gAEAPUA9QD3AdIABAD1APYA9QHSAAQA9QD2APYB0gAEAPUA9gD3AdIABAD1APcA9QHSAAQA9QD3APYB0gAEAPUA9wD3AdIABAD2APUA9QHSAAQA9gD1APYB0gAEAPYA9QD3AdIABAD2APYA9QHSAAQA9gD2APYB0gAEAPYA9gD3AdIABAD2APcA9QHSAAQA9gD3APYB0gAEAPYA9wD3AdIABAD3APUA9QHSAAQA9wD1APYB0gAEAPcA9QD3AdIABAD3APYA9QHSAAQA9wD2APYB0gAEAPcA9gD3AdIABAD3APcA9QHSAAQA9wD3APYB0gAEAPcA9wD3AdEAAwD1APUB0QADAPUA9gHRAAMA9QD3AdEAAwD2APUB0QADAPYA9gHRAAMA9gD3AdEAAwD3APUB0QADAPcA9gHRAAMA9wD3AdEAAgD2AdEAAgD3AQACAgIMAhYCIAIqAjQCPgJIAlICXAJmAnACegKEAo4CmAKiAqwCtgLAAsoC1ALeAugC8gL8AwYDEAMaAyQDLgM4A0IDTANWA2ADagN0A34DiAOSA5wDpgOwA7oDxAPOA9gD4gPsA/YEAAQKBBQEHgQoBDIEPARGBFAEWgRkBG4EeASCBIwElgSgBKoEtAS+BMgE0gTcBOYE8AT6BQQFDgUYBSIFLAU2BUAFSgVUBV4FaAVyBXwFhgWQBZoFpAWuBbgFwgXMBdYF4AXqBfQF/gYIBhIGHAYmBjAGOgZEBk4GWAZiBmwGdgaABooGlAaeBqgGsga8BsYG0AbaBuQG7gb4BwIHDAcWByAHKgc0Bz4HSAdSB1wHZgdwB3oHhAeOB5gHogesB7YHwAfKB9QH3gfoB/IH/AgGCBAIGggkCC4IOAhCCEwIVghgCGoIdAh+CIgIkgicCKYIsAi6CMQIzgjYCOII7Aj2CQAJCgkUCR4JKAkyCTwJRglQCVoJZAluCXgJggmMCZYJoAmqCbQJvgnICdIJ3AnmCfAJ+goECg4KGAoiCiwKNgpACkoKVApeCmgKcgp6CoIKigqSCpoKogqqCrIKugrCCsoK0graCuIK6gryCvoLAgsKCxILGgsiCyoLMgs6C0ILSgtSC1oLYgtqC3ILeguCC4oLkguYC54LpAHfAAQA9QD1APUB3wAEAPUA9QD2Ad8ABAD1APUA9wHfAAQA9QD1APgB3wAEAPUA9QD5Ad8ABAD1APUA+gHfAAQA9QD2APUB3wAEAPUA9gD2Ad8ABAD1APYA9wHfAAQA9QD2APgB3wAEAPUA9gD5Ad8ABAD1APYA+gHfAAQA9QD3APUB3wAEAPUA9wD2Ad8ABAD1APcA9wHfAAQA9QD3APgB3wAEAPUA9wD5Ad8ABAD1APcA+gHfAAQA9QD4APUB3wAEAPUA+AD2Ad8ABAD1APgA9wHfAAQA9QD4APgB3wAEAPUA+AD5Ad8ABAD1APgA+gHfAAQA9QD5APUB3wAEAPUA+QD2Ad8ABAD1APkA9wHfAAQA9QD5APgB3wAEAPUA+QD5Ad8ABAD1APkA+gHfAAQA9QD6APUB3wAEAPUA+gD2Ad8ABAD1APoA9wHfAAQA9QD6APgB3wAEAPUA+gD5Ad8ABAD1APoA+gHfAAQA9gD1APUB3wAEAPYA9QD2Ad8ABAD2APUA9wHfAAQA9gD1APgB3wAEAPYA9QD5Ad8ABAD2APUA+gHfAAQA9gD2APUB3wAEAPYA9gD2Ad8ABAD2APYA9wHfAAQA9gD2APgB3wAEAPYA9gD5Ad8ABAD2APYA+gHfAAQA9gD3APUB3wAEAPYA9wD2Ad8ABAD2APcA9wHfAAQA9gD3APgB3wAEAPYA9wD5Ad8ABAD2APcA+gHfAAQA9gD4APUB3wAEAPYA+AD2Ad8ABAD2APgA9wHfAAQA9gD4APgB3wAEAPYA+AD5Ad8ABAD2APgA+gHfAAQA9gD5APUB3wAEAPYA+QD2Ad8ABAD2APkA9wHfAAQA9gD5APgB3wAEAPYA+QD5Ad8ABAD2APkA+gHfAAQA9gD6APUB3wAEAPYA+gD2Ad8ABAD2APoA9wHfAAQA9gD6APgB3wAEAPYA+gD5Ad8ABAD2APoA+gHfAAQA9wD1APUB3wAEAPcA9QD2Ad8ABAD3APUA9wHfAAQA9wD1APgB3wAEAPcA9QD5Ad8ABAD3APUA+gHfAAQA9wD2APUB3wAEAPcA9gD2Ad8ABAD3APYA9wHfAAQA9wD2APgB3wAEAPcA9gD5Ad8ABAD3APYA+gHfAAQA9wD3APUB3wAEAPcA9wD2Ad8ABAD3APcA9wHfAAQA9wD3APgB3wAEAPcA9wD5Ad8ABAD3APcA+gHfAAQA9wD4APUB3wAEAPcA+AD2Ad8ABAD3APgA9wHfAAQA9wD4APgB3wAEAPcA+AD5Ad8ABAD3APgA+gHfAAQA9wD5APUB3wAEAPcA+QD2Ad8ABAD3APkA9wHfAAQA9wD5APgB3wAEAPcA+QD5Ad8ABAD3APkA+gHfAAQA9wD6APUB3wAEAPcA+gD2Ad8ABAD3APoA9wHfAAQA9wD6APgB3wAEAPcA+gD5Ad8ABAD3APoA+gHfAAQA+AD1APUB3wAEAPgA9QD2Ad8ABAD4APUA9wHfAAQA+AD1APgB3wAEAPgA9QD5Ad8ABAD4APUA+gHfAAQA+AD2APUB3wAEAPgA9gD2Ad8ABAD4APYA9wHfAAQA+AD2APgB3wAEAPgA9gD5Ad8ABAD4APYA+gHfAAQA+AD3APUB3wAEAPgA9wD2Ad8ABAD4APcA9wHfAAQA+AD3APgB3wAEAPgA9wD5Ad8ABAD4APcA+gHfAAQA+AD4APUB3wAEAPgA+AD2Ad8ABAD4APgA9wHfAAQA+AD4APgB3wAEAPgA+AD5Ad8ABAD4APgA+gHfAAQA+AD5APUB3wAEAPgA+QD2Ad8ABAD4APkA9wHfAAQA+AD5APgB3wAEAPgA+QD5Ad8ABAD4APkA+gHfAAQA+AD6APUB3wAEAPgA+gD2Ad8ABAD4APoA9wHfAAQA+AD6APgB3wAEAPgA+gD5Ad8ABAD4APoA+gHfAAQA+QD1APUB3wAEAPkA9QD2Ad8ABAD5APUA9wHfAAQA+QD1APgB3wAEAPkA9QD5Ad8ABAD5APUA+gHfAAQA+QD2APUB3wAEAPkA9gD2Ad8ABAD5APYA9wHfAAQA+QD2APgB3wAEAPkA9gD5Ad8ABAD5APYA+gHfAAQA+QD3APUB3wAEAPkA9wD2Ad8ABAD5APcA9wHfAAQA+QD3APgB3wAEAPkA9wD5Ad8ABAD5APcA+gHfAAQA+QD4APUB3wAEAPkA+AD2Ad8ABAD5APgA9wHfAAQA+QD4APgB3wAEAPkA+AD5Ad8ABAD5APgA+gHfAAQA+QD5APUB3wAEAPkA+QD2Ad8ABAD5APkA9wHfAAQA+QD5APgB3wAEAPkA+QD5Ad8ABAD5APkA+gHfAAQA+QD6APUB3wAEAPkA+gD2Ad8ABAD5APoA9wHfAAQA+QD6APgB3wAEAPkA+gD5Ad8ABAD5APoA+gHfAAQA+gD1APUB3wAEAPoA9QD2Ad8ABAD6APUA9wHfAAQA+gD1APgB3wAEAPoA9QD5Ad8ABAD6APUA+gHfAAQA+gD2APUB3wAEAPoA9gD2Ad8ABAD6APYA9wHfAAQA+gD2APgB3wAEAPoA9gD5Ad8ABAD6APYA+gHfAAQA+gD3APUB3wAEAPoA9wD2Ad8ABAD6APcA9wHfAAQA+gD3APgB3wAEAPoA9wD5Ad8ABAD6APcA+gHfAAQA+gD4APUB3wAEAPoA+AD2Ad8ABAD6APgA9wHfAAQA+gD4APgB3wAEAPoA+AD5Ad8ABAD6APgA+gHfAAQA+gD5APUB3wAEAPoA+QD2Ad8ABAD6APkA9wHfAAQA+gD5APgB3wAEAPoA+QD5Ad8ABAD6APkA+gHfAAQA+gD6APUB3wAEAPoA+gD2Ad8ABAD6APoA9wHfAAQA+gD6APgB3wAEAPoA+gD5Ad8ABAD6APoA+gHeAAMA9QD1Ad4AAwD1APYB3gADAPUA9wHeAAMA9QD4Ad4AAwD1APkB3gADAPUA+gHeAAMA9gD1Ad4AAwD2APYB3gADAPYA9wHeAAMA9gD4Ad4AAwD2APkB3gADAPYA+gHeAAMA9wD1Ad4AAwD3APYB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mQGdAawBrgGxAbUCCQIKAgwCDwJBAkICRAJHAAEAAAABAAgAAgAeAAwAGwAcAB0AHgAfAGcAaAB4AJ0ArQIQAkgAAQAMABYAFwAYABkAGgBlAGYAdwCTAKMCBgI+AAEAAAABAAgAAgAeAAwCXwJgAl0CXgJkAmMCYQJiAlsCXAGlAb0AAQAMAPsA/AD/AQABAQECAQMBBAEFAQoBpAG8AAEAAAABAAgAAgAWAAgAGwAcAB0AHgAfAGcAaAB4AAEACAAWABcAGAAZABoAZQBmAHcAAQAAAAEACAACAIYAQAHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhkCGgIbAhwCHQIfAiACGgIbAhwCHQIfAiACHgIhAiICIQIiAAEAQAABAAkACgAMAA0AEgATABUAFgAgACEAIgAjACQAJgAtAC4ALwAwADEAMgA3ADgAOQA6ADwAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAKEAogDbAN0A7wD1APgBEAERARIBEwEUARUBGAEZARoBGwEcAR0BjgHQAdQB3QHhAAEAAAABAAgAAgCIAEECIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCAkMCRAJFAkYCRwJIAkkCSgJLAkwCTQJOAk8CUAJRAlECUgJTAlQCVQJXAlgCUgJTAlQCVQJXAlgCVgJZAloCWQJaAAEAQQABAAkACgAMAA0AEgATABQAFQAWACAAIQAiACMAJAAmAC0ALgAvADAAMQAyADcAOAA5ADoAPACTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiANsA3QDvAPUA+AEQAREBEgETARQBFQEYARkBGgEbARwBHQGOAdAB1AHdAeEAAQAAAAEACAACAEwAIwJlAmYCZwJqAmgCaQJrAnQCbAJtAm4CbwJwAnUCcQJyAnYCcwKBAoACggKEAoMCfAJ9AngCdwJ7AnkCfwJ6An4BpgG+AocAAQAjAAIAEQAXABwAJwA2AEAASABSAFwAXgBjAGYAaABtAHwAhACKALMAtAC1ALYAtwDbAN0BBQEGAQcBCAEJAQoBCwGkAbwBxQABAAAAAQAIAAIAFgAIAowCjQKKAosCiQKIAo4CjwACAAIA+wD8AAAA/wEEAAIAAQAAAAEACAACABYACACeAK4BSwF7AZIBqgIRAkkAAQAIAJQApAFKAXoBkQGpAgcCPwABAAAAAQAIAAIAFgAIAKAAsAFQAYABlwGvAhMCSwABAAgAlwCnAU8BfwGWAa4CCgJCAAEAAAABAAgAAgAWAAgAoQCxAVMBgwGaAbICFAJMAAEACACZAKkBUgGCAZkBsQIMAkQAAQAAAAEACAACABYACACiALIBVwGHAZ4BtgIVAk0AAQAIAJwArAFWAYYBnQG1Ag8CRwABAAAAAQAIAAEABgACAAEAAgBlAGYAAQAAAAEACAACABIABgCBAIQAhQCCAIMCdgABAAYAewB8AH4AfwCAAnIAAQAAAAEACAABAAYAAQABAAEAdwABAAAAAQAIAAIAEgAGABsAHAAdAB4AHwJqAAEABgAWABcAGAAZABoCZwABAAAAAQAIAAIAFgAIAJ8ArwFOAX4BlQGtAhICSgABAAgAlgCmAU0BfQGUAawCCQJBAAEAAAABAAgAAQAGAAEAAQABABMAAQAAAAEACAACABYACABFAEYARwBIAEkASgBLAnQAAgACAD0AQwAAAmsCawAHAAEAAAABAAgAAQAGAAEAAQABAFYAAQAAAAEACAABAAYAAQABAAEAeQAAAAEAAAAAABQAAAI6AAAAAAAAAAAAAQAAABwABQAAACwAAAA2AAABPgAAAVcAAAHQAAEAAsAAwAAAAAAAQABAAAACAAAAAQABpPIAfwAAAAIAAAABgnaEdoVph2aLR4x1jnCTX5Vrl3OXdZhcmy+cdp50oWqi8qR+pH+naKl/qiWqRqttrB6teq9dr2OvZLFEsW6y+bJqtGS0arVBtVO2E7ZItlO3abduuD+4U7hYuGS5TLlTuVS5e7pSumK6dLsXvGm9Ir1QvVe9YL4kvka+Zb5wwETBJsFmxDLEVMVNxjLHHcdGyE7KbszSzP/NQc4AzkzPRNBu0jfTe9Qe1EHVX9Y02C7YRdk32TvbHNsl3BbcLt0Y3X3eOuAY4RjiHOJD5GnmROcz6jDseO4O7mzwAvAR8CPxdfF38gzyePPz9w74+PoA++X9DwAAATsVPxdLJSEABQABAAIAAAAB/ut//01L/2Rq/287/3tyACUAAQACAAEAAADVgQCVhQCeiACeiQDGjAC9jgIKlACFlgCzmACJmQDXmQCCogCMpgChqACcrACkrgDGsgCutAC3vQCiwQDAxgCcyACUzQCG1ACL2gCP2wCX2wCu3AC/3QCW3gCK7ADe8ADc/v9YAACgAACLAgC+IAATAAIAAgAAAAH+2QEm/uAApf7oAJD/DgE+/xgBZf8rAN//NQCB/zYBW/82AXn/PgFU/0ABUf9O/27/TgCU/1UBBf9gAUX/aACz/3kAh/99AW3/fwCyABYCnAD6AYoBigGKAYoBigGKAYoAqQDkAO8A7wDtAN8A3wDfAN8A3wD0AO4A8gDrANcA1wDXANcA1wIQAhACEAIQAhAA6AIPAPcA7AD+AP4A3QDdAN0A3QDdAN0A3QC7AN4AxQDCAMMAygDKAMoAygDKAYoBhAGAAZABkAGXAKYApgCmAKYApgCmAKYA+AC/AL8AvwC/AL8AvwC/AL8AvwCjAKMAvwDpAOkA6QDpAOkBAgCLAIUAvQC8APEAyQDJAMkAyQDJAMkA0ADQAIAAyQIJAJICBAGeAPMA8wDWANYA1gDWANYA1gDWAL8AvwCKALEBjgCWAgwAgQDxAPEBogDxAPEA8QDwAPAA8ADwAPABmQDqAYsBmgGaAZoAxACRAPwAwgCjAMgA5gGPAJoA/QCoAIkAlwCGANoA0gCGAY8ArAChAIkA4ADgAPYA9gD2APYA9gD2APYA9gD2APYA9gD2APYA9gD2APYA+gD6APoA+gD6APoA+gD6APoA+gD6APoA+gD6APoA+gD6APYA9gD2APYA9gD2APYA9gD2APYA9gD2APYA9gD2APYA9gD2APYA9gD6APoAggGcAZwBkgGSAZQBlACMAIwAjACMAZMBkwGkAIwAjACMAIwBkwGTAaQA+wGMAKIBgQINAKAA0wD6APoA0wD6APoBhQGFAZYCDgIIAgcCCgGIAYUCBwGbAZsBhgGbAZsBlQGbAhICEgIAAgAAzADMAMwAzADMAMwAzADMAMwAzADMAMwAzADMAMwAzADMAM4BAwGgAIgAAQD6APkAwADbALMAwQCQAM0AqwCyAK8AsgDYAIcAsADBALMAugCOALMAtgDBAM8AsgCyAI8AkwEEAMEAmQC4AYcAlAC5AYkBiQCeAK0A5wCbAJwAgwCDAYsA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4fkeHh74AL6BIuXl4u0BEjJFEhIHBwwUGRkZGxYM++vlPj4cBu/Nzc3vBRs+gwc2OlZubm5mZkAAgBsnKu7r5/MICAYCAgIPJzVIY2NjSTUeBAQEHwBwgSISEhkS/fLh3/T06urq6OXl5ePm7f4OEsXF4vcLJycnC/fixYOAAgAMACYAAQAmAAAAERsbFAoHmpudnZ2fn5oHEBsAtoEPCALs3eDg6wUIA/oCGBgYD4MR8fH2/gJdXmRkZF1ZXQL68QBTgQ8ICxolIyMbCwgOGhP+/v8FgwCAAgAMACYAAQAmAAAAERwYGBkZGRocr6uim5ubo68AtoEPGAX9BggI7uHh3u0CCAoTGIMR9vn17+/v9vZSVV1iYmJcUgBTgQ/+EhgOCAoZIyMmGwwICQP+gwCAAgAMAAwAAQAMAAAFBAECAgICBBujpaO1BOA0xBgABPRRXlFTBCPcRf4AAIACAAwADAABAAwAAAUEAQICAgIEEhASmrUExDPgGAAEAvUCX1MERdwj/gAAgAIADAAMAAEADwAABQQBAgICAgT0kwCIiATXPt45AAIkehVBAIkAngRF80T0AIACAAwAEQABABEAAAUEAQICAgIAFkP/cwAW/3P/iQTDIvpZAAAFQwCZAAUAmQCeBFcDJ9IAAIACAAwABQABAAUAAACBALiBhIEAU4GEAIACAAwABQABAAUAAACBALqBhIEAUoGEAIACAAwABQABAAUAAACBALmBhIEAU4GEAIACAAwABQABAAUAAACBALqBhIEAUoGEAIACAAwABQABAAUAAACBANiBhIEARYGEAIACAAwABQABAAUAAACBAJOBhIEAX4GEAIACAAwABQABAAUAAACBALmBhIEAVIGEAIACAAwABQABAAUAAACBAMGBhIEAZoGEAIACAAwABQABAAUAAACBALqBhIEAYoGEAIACAAwABQABAAUAAACBAL2BhIEAYIGEAIACAAwABQABAAUAAACBAJ6BhIEAdIGEAIACAAwABQABAAUAAACBALqBhIEAYoGEAIACAAwABQABAAUAAACBALyBhIEAaYGEAIACAAwABQABAAUAAACBAMGBhIEAZoGEAIACAAwABQABAAUAAACBAM+BhIEARIGEAIACAAwABQABAAUAAACBALqBhIEAUoGEAIACAAwABQABAAUAAACBALqBhIEAUoGEAIACAAwABQABAAUAAACBAKGBhIEAaoGEAIACAAwABQABAAUAAACBAKeBhIEAaIGEAIACAAwABgABAAUAAACBQP97gYSBAHKBhIACAAwABQABAAUAAACBAMGBhIEAZoGEAIACAAwABQABAAUAAACBAK2BhIEAeoGEAIACAAwABQABAAUAAACBAL2BhIEAUIGEAIACAAwABQABAAYAAACBAJaBhIFAAIWBhIACAAwABQABAAUAAACBAKmBhIEAf4GEAIACAAwABQABAAUAAACBAL2BhIEAV4GEAIACAAwABQABAAYAAACBAJmBhIFAAImBhIACAAwABQABAAYAAACBAJmBhIFAAImBhIACAAwABQABAAUAAACBALGBhIEAboGEAIACAAwABQABAAUAAACBALiBhIEAZIGEAIACAAwABQABAAUAAACBAOaBhIEARIGEAIACAAwABQABAAUAAACBAK+BhIEAY4GEAIACAAwABQABAAUAAACBAK+BhIEAZIGEAIACAAwABQABAAUAAACBAIeBhIEAZoGEAIACAAwABQABAAUAAACBAIeBhIEAZoGEAIACAAwABQABAAYAAACBAKKBhIFAAIKBhIACAAwABQABAAUAAACBAJyBhIEAdoGEAIACAAwABQABAAUAAACBAL6BhIEAcIGEAIACAAwABQABAAUAAACBAMeBhIEARoGEAIACAAwABQABAAUAAACBALqBhIEAdIGEAIACAAwABQABAAUAAACBAJyBhIEAdoGEAIACAAwABQABAAUAAACBAL6BhIEAcIGEAIACAAwABQABAAUAAACBALaBhIEAU4GEAIACAAwABQABAAUAAACBALaBhIEAU4GEAIACAAwABQABAAUAAACBALWBhIEAU4GEAIACAAwABQABAAUAAACBALWBhIEAU4GEAIACAAwABQABAAYAAACBAIiBhIFAAJ6BhIACAAwABQABAAYAAACBAImBhIFAAJ6BhIACAAwACQABAAgAAACABPyLjQCLgYeBA0dHAEeBh4ACAAwANgABADUAAAAZ3foWFhb53cCjo6O+3fMTExPz3cempqbHALmBF///+urb1dXV3er5/6enzeoHKysrCOrNp4MZJg/t7e0OJj9fX189JhL9/f0SJjtPT085AEyBgRUNDxMeHh4TDwwAPT0gD/3h4eH9DyE9g4ACAAwAPgABAD0AAAAd2fYYGBj22buZmZm62fANDQ3w2cKkpKTD0efkygCxgRv///bq3tXV1eDq9f+srNDqBCYmJgXqz6zz8t3dgx0iC+/v7wsiOlVVVTkiD/f39w8iNk1NTTUoFBgxAESBgRkJDxYeHh4WDwgAQkIjD/rc3Nz6DyNCCQwXFoOAAgAMABYAAQAWAAAACZeXBAQHEhIZAL2BANOBBCkpOtXTgwlHR/n5+AoKEAAigQAegQTi4vMdHoMAgAIADAAhAAEAIQAAAA8ODgn6+AYQEBUOCP6hoQDHgYALCAgMHSws2NjYwdPThA/z8/vw6PH9/e3+CAlCQgAdgYAL0tK8tb29AQEBER8fhACAAgAMAD8AAQA7AAAAFhMTBB8mJiYQ997AwCgoB/PYvb29wdLmQf9//38D4OAA94GAGLm32uz1CCgoKALy8tvU1NTm8O3zCBykqamEHN3dAQHm5ub4/AYUFMzM2/YdNzc3NhjuRkY4OAAOgYAYPxwP9+zu7u7u+wMDEB4eHhUBAPHc0DY2NoQAgAIADABgAAEAXgAAAC7b5/sJDJ6ZvNv5FxcX59IICNL1FxcX8dW2pKcNCvbe08Gyra2tqqiooaWlpcUAu4Es//8CBAIC2aenp83k+xQUFMbFwuHwBykpKfzb29jV1NTU3unp7Ozo7ebm6/X/gy75++PM0SQdBv7szMzM1/Xu7vXn3t7e6fTyFRnPy9Lk8fkVKioqEQICFyoqKhAAF4GBKQcbLy85Pz8/MicT+vr6ICAgEv/z5eXl5Onp+hIeHh4bDPoABw0OCxoZCYQAgAIADABIAAEARQAAACLb5fcGDJuTtdj9EhIS8s7I4uIpKQwMpaWamp+hoKCgtNAAtoEg//8EBwIC4KampuDtCB4iIiLcMisr09MY+Onj6vPz/QH/gx/87NTL0SEZAPnrw8PDwNj/2NjZ2dvbIyPr6/MQJiYmFYEAE4GBHAsgLy8+Pz8/Py4qGQsLCzfq5+ceHuMWNTs9LBgKhYACAAwAJQABACUAAAARDQ0s4eEJqamdnQUFAgKfnwCsgQ4iytPTPz/GzMwiAAnh09OECeTk4ywsBzc3RkaBBQgISUkAHoEO6B8eHtHRHx4e6AD6EB4ehACAAgAMACEAAQAhAAAADw0NXf2qqp2dBQUCAqGhAKyBDCLK09PGzMwiAAnh6OiED+Tk2h8qKkZG//8NDUREAB6BDOgfHh4fHh7oAPgQExOEAIACAAwATAABAEwAAAAk1OD2AwWdm7XU7wwMDOjbxr+6CgSrq6+ioLCzs6qjoqKir8YAuIEiAQH++fb21qysrNXtCyUlJRQE79PTKirPz9jW1tbe6Orx+gGDJCsY9+bsPTkwKh4LCwsmOCsuNfrmR0cZIiIiS3VyYVJSUkw7AD+BIgICECYxMSwxMTEiGhH39/fcvOceHufnwMDlFRUVGyAdEwYCgwCAAgAMAF4AAQBdAAAALdLP5AAWFhbxzdLGq5WP+gLt1bquraeepqeimZSUlLTT5fz8/N3LuqGcqb3NAKqBK///Cg763Lq81dXV3ebp6QkxMTHzvb29xMTEyNLa7f+rq8rd9BEREf7gz7Grgy0YB/Xu7e3t8gAPITU5NeLq+hkjSUlFMlRhX0s4ODgiFwfu7u4CExkrPEBGKAAlgYEpCRUdGw0QHh4eD/v09O/Nzc3H39/sCAgICxIYAQAtLRgLAe3t7fH8BRItg4ACAAwASQABAEYAAAAh7/kMFhYWAOVD29779NXWyczMzN/vBS8vLwbv2bGxsdoA4oEG////9ebUo0D/chfT0/397uXl5dnn+f+trdbq/CUlJfzo1a2DISIiCO3t7fLd9CY19fckUUhWVlY5JBoUFBQaJDI5OTkyAEOBH/7+9PkQGRj5Hh47OzU9PT00Kw7+MDAqHxAMDAwQHCkwg4ACAAwAFQABABUAAAAJDC0tEBC8vJsAzIGABS8qKtPTLYQJ58zM5uYZGTMA/4GABfDs7B4e7IQAgAIADAB2AAEAdQAAADnp+w4WFhYXGRwcHRQUFAv46drHvr6+uLW1ur28vLzF2On/LCwsBenPpqam1OkBKCgo/+nUqqqq0wDSgTf///v07enn6Onl6ebn4NjV1dXa4ufo6eXp5+fp7fT7/7Gx0+X0ExMT9OXTscPD5fUGJSUlBvXlw4M5GxX/7e3t9/78/ADx8fH/ExskOUhISDg7OzpCSkpKOiQbA/Dw8AobMUlJSTgbDfz8/AobLzw8PC0AN4GBNQcMCggKDAsNChEUFRkeHh4ZFBQSCg0LCwkHCgwHACUlHxYH9vb2BxYgJRkZEwX38fHx+AUUGYOAAgAMAGEAAQBiAAAAL9Xi/RMYrae80+f3+/v/CwUCBxAWFhYE5dPf0LCUlJS6297rAwsA793WxKysrMwAqoGBK/nv6urKo6OjwfUVFRYSEhIOBPzr2NLU1cS70PcbGQDExNPt/yAoKCgL+OLEgy8TA+/p7T44JwkD7NnZ3PHQwsXa7e3t6eryCic1ODg4MyMSBfLm49/4DSA1NTUkACWBLfz8DSEnJy5NTU1TTj09LxcXFxQNBwoQGiElHQ4CAREM/DIyJRUTEPHx8QYSHTKDgAIADABIAAEASAAAACLz6NbMzMzh/Z8HBOfvDQwVGBYWFgXz3bKyst3zCDExMQgA4oEH1NTU3+4AMWGBFtfX5+7u7vT069vUJib+6deurq7W6/8mgyIhITtWVlZQZk8dDk5MHvL49e3t7QwfKS8vLykfEAoKChAAQ4EHHx8pJA4DAySBFuPj6uHh4eTs8hAf7u70/w4SEhIOAvXugwCAAgAMAAwAAQAMAAAFBAECAgICBBfID9LhBL8WxREABOwr8yUYBCTyKu0AAIACAAwADAABAAwAAAUEAQICAgIEJ7knueAErv/eMQAE5DTkNBgEPP0e3wAAgAIADAAmAAEAJgAAABEODgX59ZaXpKSko52W9QAOALKBDwkD5tLZ2eQHCQDx+BAQDgqDEdLS09TVFBcoKCgfFRTV0tIA+YEPBQYDAQEBAAYFCA4MAQEAA4MAgAIADAAmAAEAJgAAABEcEg0ODg4YHL25raSkpLC9ALKBDxD06vwJC+nZ2dPoBAkIDBCDEeXi2NHR0eLlJCYnJycnJyQA+YEPAQkKBgUGAAEBAAIFBQUCAYMAgAIADAAMAAEAISAABQQBAwMDAwQEJNa22gQBs5PhAAAMRiwNDQ0sRl9+fn5fAEAAi4EL9/cVLUZkZGRGLRX3g4ACAAwADgABABAAAAAFGjfE1AACgQP18vL1gwT0835VAEAAi4EDyhoayoMAgAIADAA3AAEANgAAABghGefH2NjY2OTk8PYJIyMjBe3Wt66d5gACgQCTQP9RFIfg2N3p7e3yBAQE6dC4mpqautTvyYMX5uYeLS0tLS1MTD8Y+93d3f4YKlFRUUIAQACLgRbdAAYiAhU+UVEoAQEBHjRKaGhoW0At8oOAAgAMACQAAQApAAAAEBQUBQQGBgYGMjLQ0NDzBgACgQbJpKWqwugEgQWgoOra0cqDgQUUMUJCQleBQgCLAIsAiwJTDQBAAIuBBr8LCwsFFyKBBXl5H+i/v4OAAgAMAAcAAQAHAAAAgQC5gQAtg4EATIEA4oMAgAIADAAHAAEABwAAAIEAsYEALYOBAESBAOKDAIACAAwABwABAAcAAACBAL2BAC2DgQAigQDigwCAAgAMAAcAAQAHAAAAgQDHgQAtg4EAHYEA4oMAgAIADAAHAAEABwAAAIEA94EALYOBAA6BAOKDAIACAAwABwABAAcAAACBALuBAC2DgQAXgQDigwCAAgAMAAcAAQAHAAAAgQC2gQAtg4EAE4EA4oMAgAIADAAHAAEABwAAAIEArIEALYOBAB6BAOKDAIACAAwABwABAAcAAACBAKyBAC2DgQAegQDigwCAAgAMAAcAAQAHAAAAgQC4gQAtg4EAP4EA4oMAgAIADAAHAAEABwAAAIEAqoEALYOBACWBAOKDAIACAAwABwABAAcAAACBAOKBAC2DgQBDgQDigwCAAgAMAAcAAQAHAAAAgQDMgQAtg4EA/4EA4oMAgAIADAAHAAEABwAAAIEA0oEALYOBADeBAOKDAIACAAwABwABAAcAAACBAKqBAC2DgQAlgQDigwCAAgAMAAcAAQAHAAAAgQDigQAtg4EAQ4EA4oMAgAIADAAHAAEABwAAAIEA4YEALYOBABiBAOKDAIACAAwABwABAAcAAACBAOCBAC2DgQAYgQDigwCAAgAMAAcAAQAHAAAAgQCygQAtg4EA+YEA4oMAgAIADAAHAAEABwAAAIEAsoEALYOBAPmBAOKDAIACAAwADAABACEgAAUEAQMDAwMEBCTWttoENObGFAAADEYsDQ0NLEZffn5+XwBAAIuBC8fH5f0WNDQ0Fv3lx4OAAgAMAA4AAQAQAAAABRo3xNQAAoEDCAUFCIME9PN+VQBAAIuBA7gICLiDAIACAAwABwABAAgAAACBAAKBAC2DgUAAi4EAzIOAAgAMAAcAAQAIAAAAgQACgQAxg4FAAIuBAL2DgAIADAAOAAEADAAAAIAAs0D/PoBA/zWBAC2FgAIscwBAAIGBAOKFAIACAAwADgABAA4AAACAALNA/zSAQP7ggQAthYAALEAAh4BAAKWBAOKFAIACAAwADgABAAwAAACAALtA/zyAQP7ogQAthYACF3IAQACQgQDihQCAAgAMALYAAQCkAAAAGrLM4OLi4uLfy7KXhIODg4OFmLK57u7u7reyqWT/d/93/3f/d/+r/zj/Uv9m/2j/aP9o/2j/Zf9R/zj/Hf8J/wn/Cf8J/wn/C/8e/zj/P/90/3T/dP90/z3/OP8v/v3+/f79/v3/MQG1sUH/QP9CgED+64E/Ly8lHiICCAL4+PgCCAIiHiUv2tr2IgIwTExMMAIi9toNDQP8AODm4NbW1uDm4AD8Aw24uNQA4A4qKioO4ADUuIcf6da8rq6urr3Y6f0ZKCgoKBn86dnBwcHB2en6FRUVFf5AAJIGf2VXV1dXZksAgQCSAKYAwQDRANEA0QDRAMIApQCSAIIDampqakcAggCSAKMAvgC+AL4AvgCnBRwcY2MAf4EHn5+sws7O3POCBvPczs7Aq5+BK+XOzrigoKC1zs7lAAUFEig0NEJZZmZmWUI0NCYRBWZmSzQ0HgYGBhs0NEtmhwCAAgAMAAUAAQAGAAAAgQCogYSBQAChgYSAAgAMAAUAAQAGAAAAgQCogYSBQAChgYSAAgAMAAUAAQAFAAAAgQDygYSBAHiBhACAAgAMAAYAAQAGAAAAgUD/ToGEgUD/boGEAIACAAwABgABAAYAAACBQP99gYSBQAFtgYQAgAIADAAMAAEADwAAAAMUIZSvgwMT//8TgwECAEAAjwB3gwP4GBj4g4ACAAwADAABAA8AAAADBB6RnoMDE///E4MBLRRBAKMAoYMD+BgY+IOAAgAMAAgAAQAGAAACAQECQf97/9MBMNABzqABzymAAgAMADQAAQA0AAAAF/Hs9QD/79izsAADCPgA//n2/A4rMubd4IMXGRkkMTw8PDMcHAbp6enf0sjIyNTi4vkZgxcM+PD2+vHo2tqSktHo+QcIBAUWHxtkZSiDF8fH0uHs7Ozly8sPMzMzKhwTExMoMTH1x4MAgAEACAAGAAAAgED/WIGDAIABAAgABgAAAIBA/1iBgwCAAQAIAAUAAACAAKSBg4ACAAwAbQABAG0AAAAqNDTSYVlZ0dEzoKqqwMC3t7jBx8fHx8fIw7y0r7GxsbGws7rjNDQ0NOO+lkP/RP9E/0T/RAKVANuBgkH+y/7Lg0EBPAE8gCM91NQ9AAECDh3q9wMEBAMC+eodDwMBnp3SDfo1bW1sNfoN1Z2DKqysML25uTs7vygsLFRUY2NcWFJNTU1NU1leYmhtbW1ua2NcQzY2NjdDXndDAIgAiACIAIcCeAAlgYJBAL0AvYNB/0z/TIAj5wYG5/r6BxcX3tzr+vr6693eFxkK+jQzIxfe1cPDw9XeFyQzgwCAAgAMAFcAAQBaAAAAggCtSf7A/tj/Hv9i/3j/XP9Q/z3/K/8ggUr/IP8r/z3/UP9c/3j/Z/85/wP+0/7BAKyDggBUQf9m/34Stuj03dbLxMTEPDw8NCchChM0XkEAiACZAK2DQACIgEYAiQDjALoAtQCbAIsAlwF7dkIArADwAQCBQgEAAPAArAF2e0YAlwCOAJgAqwC8ALoA4oNA/3iAQACIGC4E//b5AysqN0NDQ7u7u8fT0/oCA//6+9KDgAIADABXAAEAWgAAAIIArkn+wf7Z/x7/Yv94/1z/UP89/yv/IIFK/yD/K/89/1D/XP94/2f/Of8D/tP+wQCug4IAVEH/Zv9+Erbo9N3Wy8TExDw8PDQnIQoTNF5BAIgAmQCug0AAiIBGAIgA4gC6ALUAmwCLAJcBe3ZCAKwA8AEAgUIBAADwAKwBdntGAJcAjgCYAKsAvAC6AOKDQP94gEAAhhguBP/2+QMrKjdDQ0O7u7vH09P6AgP/+vvSg4ACAAwAGgABACEAAAAD+gD6qED/HoFA/x4AqIMIBgD6TsPDOzu0g0AAgoBCAIIA3AD6gUEA+gDcg0D/foBAAIAFKENDu7vYg4ACAAwAJQABACwAAAAD+gD6qEL/XP+o/14A14EA10D/XoUNBgD6TgC2WePjWR+npx+DQACCgEQAggDcALYA3AC0ADeBADdAALSFQP9+gEAAgAooANqfGRmf52Fh54OAAgAMAFcAAQBXAAAAgABUSgE/AS0A/QDHAJkAiACkAK8AwQDUAOCBSQDgANQAwQCvAKQAiACeAOIBKAFAAFOFgACtQQCZAIgSXjQTCiEnNDw8PMTExMvW3fTotkH/fv9mAFSFR/94/x7/Rv9E/1X/aP9y/2kBhYlC/1P/D/8AgUL/AP8P/1MBiYVG/2n/dP9l/0r/Rv8d/3eEQP94GNL7+v8DAvrT08e7u7tDQ0M3KisD+fb/BC5AAIiEAIACAAwAVwABAFcAAACAAFJKAT8BLQD9AMcAmQCIAKQArwDBANQA4IFJAOAA1ADBAK8ApACIAJ4A4gEnAT8AUoWAAK5BAJkAiBJeNBMKISc0PDw8xMTEy9bd9Oi2Qf9+/2YAVIVH/3j/Hv9G/0T/Vf9o/3L/aQGFiUL/U/8P/wCBQv8A/w//UwGJhUb/af90/2X/Sv9G/x7/eIRA/3gY0vv6/wMC+tPTx7u7u0NDQzcqKwP59v8ELkAAhoQAgAIADAAYAAEAHgAAAAEGWkAA4oFAAOIBWgaEBwa0OzvDw076hACAQf8k/wiBQf8I/yQAgIRA/34F2Lu7Q0MoQACAhACAAgAMACYAAQAtAAAAAQZYQACmAVgGggAqQACkgUAApAAqgw0GtgBO+gBZ4+NZH6enH4NE/37/JP9M/yT/foIAykD/TIFA/0wAyoNA/34C2gAoQACAgAefGRmf52Fh54OAAgAMACYAAQAtAAAAAQZYQACkAVgGggApQACigUAAogApgw0GtgBO+gBZ4+NZH6enH4MAgEL/JP9K/yQAgIIAyUD/TIFA/0wAyYNA/34C2gAoQACAgAefGRmf52Fh54OAAgAMAKQAAQCdAAAAggCuU/7B/tn/Hv9i/3j/XP9Q/z3/K/8gAOAA1ADBAK8ApACIAJ4A4gEnAT8AUoIAUlUBPwEtAP0AxwCZAIgApACvAMEA1ADg/yD/K/89/1D/XP94/2f/Of8D/tP+wQCug4IAVEH/Zv9+D7bo9N3Wy8TExMTL1t306LZB/37/ZgBUggCuQQCZAIgRXjQTCiEnNDw8PDw0JyEKEzReQQCIAJkAroMCLgAvRQCIALoAtQCbAIsAlwF7dkUArADwAQD/AP8P/1MBiYVF/2n/dP9l/0r/Rv94AtEA0kb/eP9G/0T/Vf9o/3L/aQGFiUX/U/8P/wABAADwAKwBdntGAJcAjgCYAKsAvAC6AIiDM9MALdQE//b5AysqN0NDQ0M3KisD+fb/BNQtANMs+/r/AwL609PHu7u7u8fT0/oCA//6+yyDgAIADACkAAEAnQAAAIIArlP+wf7Z/x7/Yv94/1z/UP89/yv/IADgANQAwQCvAKQAiACeAOIBJwE/AFKCAFJVAT8BLQD9AMcAmQCIAKQArwDBANQA4P8g/yv/Pf9Q/1z/eP9n/zn/A/7T/sEAroOCAFRB/2b/fg+26PTd1svExMTEy9bd9Oi2Qf9+/2YAVIIArkEAmQCIEV40EwohJzQ8PDw8NCchChM0XkEAiACZAK6DAi4AL0UAiAC6ALUAmwCLAJcBe3ZFAKwA8AEA/wD/D/9TAYmFRf9p/3T/Zf9K/0b/eALRANJG/3j/Rv9E/1X/aP9y/2kBhYlF/1P/D/8AAQAA8ACsAXZ7RgCXAI4AmACrALwAugCIgzPTAC3UBP/2+QMrKjdDQ0NDNyorA/n2/wTULQDTLPv6/wMC+tPTx7u7u7vH09P6AgP/+vssg4ACAAwAOgABAEkAAAABBlhAAKQGWAYA+gD6qEL/XP+o/14B1zdDAK7/1/9eAK4AN4MTBrYATvoABgD6TgC2WePjWR+npx+DAIBC/yT/Sv8kAYAAQACCgEQAggDcALYA3AC0ATfJQ/9aADcAtP9aAMmDQP9+AtoAKEAAgIBA/36AQACACigA2p8ZGZ/nYWHng4ACAAwAOgABAEkAAAABBlhAAKQGWAYA+gD6qEL/XP+o/14B1zdDAK7/1/9eAK4AN4MTBrYATvoABgD6TgC2WePjWR+npx+DRP9+/yT/Sv8k/36AQACCgEQAggDcALYA3AC0ATfJQ/9aADcAtP9aAMmDQP9+AtoAKEAAgIBA/36AQACACigA2p8ZGZ/nYWHng4ACAAwAAgABAAQAAACEhIQAAYMAgAIADAACAAEABAAAAISEhAABgwCAAgAMAAIAAQAEAAAAhISEAAGDAIACAAwAAgABAAQAAACEhIQAAYMAgAIADAACAAEABAAAAISEhAABgwCAAgAMAAIAAQAEAAAAhISEAAGDAIACAAwAAgABAAQAAACEhIQAAYMAgAIADAACAAEABAAAAISEhAABgwCAAgAMAAIAAQAEAAAAhISEAAGDAIACAAwAAgABAAIAAACEhISEAIACAAwAAgABAAIAAACEhISEAIACAAwAAgABAAQAAACEhIQAAYMAgAIADAACAAEABAAAAISEhAABgwCAAgAMACIAAQAyIAAQDxkBAQEBAwEBAQMBAQMBAQEPFTpZcX1xWToVxqaQg5Cmxg+Dj6fG6zpacH1wWjrrxqePEhEAAgEFAQEHBwYBAQMCAgQBAQKBAgEAAYIJw8PJ9gssPzgsC4YKPQD15MPD1QocLD2AAgAMADYAAQAvAAAAgwD/gQH+/4IS///+F+c3fX19fjfnF8mDg4ODyYOAAAKFAAGFD4ODgsoZ5zZ9fX19NucZyoKDiwD/gQ8R79zDw8PE3O8RJT09PT4lg4AAAoUAAYUPPT09JRPt2sPDw8Pa7RMlPYOAAgAMAAUAAQAFAAAAgAA9g4WAAISDhQCAAgAMAAUAAQAFAAAAgAAGg4WAAPyDhQCAAgAMAAUAAQAFAAAAgAAOg4WAAOKDhQCAAgAMAAUAAQAFAAAAgAD9g4WAAAiDhQCAAgAMAAUAAQAFAAAAgAD+g4WAAAWDhQCAAgAMAAUAAQAFAAAAgAAEg4WAAAGDhQCAAgAMAAUAAQAFAAAAgAAFg4WAAOCDhQCAAgAMAAUAAQAFAAAAgAAJg4WAAPmDhQCAAgAMAAUAAQAFAAAAgAAUg4WAAOmDhQCAAgAMAAUAAQAFAAAAgAAfg4WAAPeDhQCAAgAMAAUAAQAFAAAAgAAlg4WAAL6DhQCAAgAMAAIAAQAFAAAAhYWAAPWDhYACAAwABQABAAUAAACAAAmDhYAAyoOFAIACAAwABQABAAUAAACAAO6DhYAA8IOFAIACAAwABQABAAUAAACAABKDhYAA9YOFAIACAAwABQABAAUAAACAAB2DhYAA6IOFAIACAAwABQABAAUAAACAAA+DhYAA3IOFAIACAAwABQABAAUAAACAABmDhYAA4YOFAIACAAwABQABAAUAAACAAB6DhYAA54OFAIACAAwABQABAAUAAACAAB6DhYAA1oOFAIACAAwABQABAAUAAACAABqDhYAAF4OFAIACAAwABQABAAUAAACAADSDhYAAlYOFAIACAAwABQABAAUAAACAADqDhYAAnYOFAIACAAwABQABAAUAAACAAECDhYAAloOFAIACAAwABQABAAUAAACAACeDhYAAnYOFAIACAAwABQABAAUAAACAABaDhYAAvYOFAIACAAwABQABAAUAAACAACmDhYAAroOFAIACAAwABQABAAUAAACAAPqDhYAAy4OFAIACAAwABQABAAUAAACAAPCDhYAA1IOFAIACAAwABQABAAUAAACAACiDhYAA14OFAIACAAwABQABAAUAAACAACCDhYAAyIOFAIACAAwABQABAAUAAACAADSDhYAAxoOFAIACAAwABQABAAUAAACAADmDhYAAyIOFAIACAAwABQABAAUAAACAABCDhYAA34OFAIACAAwABQABAAUAAACAABaDhYAAwoOFAIACAAwABQABAAUAAACAADmDhYAAyIOFAIACAAwABQABAAUAAACAACODhYAAkoOFAIACAAwABQABAAUAAACAAAWDhYAAnoOFAIACAAwABQABAAUAAACAADyDhYAA54OFAIACAAwABQABAAUAAACAAB+DhYAAuIOFAIACAAwABQABAAUAAACAABGDhYAAwYOFAIACAAwABQABAAUAAACAABGDhYAAwYOFAIACAAwABQABAAUAAACAABKDhYAAoYOFAIACAAwABQABAAUAAACAACGDhYAAooOFAIACAAwABQABAAUAAACAAP2DhYAA3oOFAIACAAwABAABAAQAAAEAAQAVAP8A8QAtAIACAAwABAABAAQAAAEAAQAHAAEAywDoAIACAAwABAABAAQAAAEAAQAnAAEA8wDoAIACAAwABQABAAcgAACAABqDhQEAAQDgAOkAgAIADAAqAAEAQCAAFBMBAgICGgEBAQEDAQEBAwEBAwEBARM6xvoGFTpZcX1xWToVxqaQg5CmxhMG+ss1g4+nxus6WnB9cFo668anjxYVAQICAgECAQUBAQcHBgEBAwICBAEBAgOsUPQIgQIBAAGCCcPDyfYLLD84LAsDC/VPsYYKPQD15MPD1QocLD2AAgAMAD8AAQBAIAAAA80tLc2YFhU6WXF9fX1xWToVAOzGppCDg4OQpsbsgwMo19colxeDg4+nxusAFDpacH19fXBaOhQA68anj4ODFhUAAQEBAQIBBQEBBwcGAQEDAgIEAQECAzi6ujiBAgEAAYIJw8PJ9gssPzgsCwPLNDTLhgo9APXkw8PVChwsPYACAAwABAABAAQAAAEAAQAcAAEA4gDpAIACAAwABQABAAcgAACAABuDhQEAAQDhAOkAgAIADAACAAEABQAAAIWFhYAAAYOAAgAMAAIAAQAFAAAAhYWFgAABg4ACAAwABQABAAUAAACAAD2DhYAAhoOFAIACAAwABQABAAUAAACAAAqDhYAA7oOFAIACAAwABQABAAUAAACAAA6DhYAA5IOFAIACAAwABQABAAUAAACAAAWDhYAA8oOFAIACAAwABQABAAUAAACAAP6DhYAABYOFAIACAAwABQABAAUAAACAAASDhYAAA4OFAIACAAwABQABAAUAAACAAA6DhYAA94OFAIACAAwABQABAAUAAACAAASDhYAA04OFAIACAAwABQABAAUAAACAAAmDhYAA+YOFAIACAAwABQABAAUAAACAABSDhYAA6YOFAIACAAwAAgABAAUAAACFhYAAzoOFgAIADAAFAAEABQAAAIAARYOFgADYg4UAgAIADAAFAAEABQAAAIAA+IOFgAAPg4UAgAIADAAFAAEABQAAAIAACYOFgADKg4UAgAIADAAFAAEABQAAAIAA7oOFgADwg4UAgAIADAAFAAEABQAAAIAAEoOFgAD1g4UAgAIADAAFAAEABQAAAIAAHYOFgADqg4UAgAIADAAFAAEABQAAAIAAD4OFgADeg4UAgAIADAAFAAEABQAAAIAAGYOFgADjg4UAgAIADAAFAAEABQAAAIAAHoOFgADng4UAgAIADAAFAAEABQAAAIAAHoOFgADWg4UAgAIADAAFAAEABQAAAIAAGoOFgAAXg4UAgAIADAAFAAEABQAAAIAANIOFgACVg4UAgAIADAAFAAEABQAAAIAAOoOFgACdg4UAgAIADAAFAAEABQAAAIAAQIOFgACWg4UAgAIADAAFAAEABQAAAIAAJ4OFgACdg4UAgAIADAAFAAEABQAAAIAAFoOFgAC9g4UAgAIADAAFAAEABQAAAIAAKYOFgACug4UAgAIADAAFAAEABQAAAIAA+oOFgADNg4UAgAIADAAFAAEABQAAAIAA8IOFgADWg4UAgAIADAAFAAEABQAAAIAAOIOFgADZg4UAgAIADAAFAAEABQAAAIAAIIOFgADCg4UAgAIADAAFAAEABQAAAIAANIOFgADGg4UAgAIADAAFAAEABQAAAIAAOYOFgADIg4UAgAIADAAFAAEABQAAAIAAEIOFgADfg4UAgAIADAAFAAEABQAAAIAAFoOFgADCg4UAgAIADAAFAAEABQAAAIAAOYOFgADIg4UAgAIADAAFAAEABQAAAIAAI4OFgACUg4UAgAIADAAFAAEABQAAAIAAA4OFgACeg4UAgAIADAAFAAEABQAAAIAAPIOFgADng4UAgAIADAAFAAEABQAAAIAANIOFgADIg4UAgAIADAAFAAEABQAAAIAAEoOFgADCg4UAgAIADAAFAAEABQAAAIAAEYOFgADBg4UAgAIADAAFAAEABQAAAIAAEoOFgAChg4UAgAIADAAFAAEABQAAAIAAIoOFgACjg4UAgAIADAAFAAEABQAAAIAA/YOFgADgg4UAgAIADAAEAAEABAAAAQABABUA/wDwAC0AgAIADAAEAAEABAAAAQABABcAAQDdAOgAgAIADAAEAAEABAAAAQABABcAAQDdAOgAgAIADAAFAAEAByAAAIAA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ZWFrQ29sb3IArwOtBAtzdHJlYWtXaWR0aACvA60EDHN0cmVha0hlaWdodACvA60ECHN0cmVhazBYAK8DrQQOc3RyZWFrME9wYWNpdHkArwOtBAhzdHJlYWsxWACvA60EDnN0cmVhazFPcGFjaXR5AK8DrQQIc3RyZWFrMlgArwOtBA5zdHJlYWsyT3BhY2l0eQCvA60ECHN0cmVhazNYAK8DrQQOc3RyZWFrM09wYWNpdHkArwOtBAhzdHJlYWs0WACvA60EDnN0cmVhazRPcGFjaXR5AK8DrQQIc3RyZWFrNVgArwOtBA5zdHJlYWs1T3BhY2l0eQCvA60ECHN0cmVhazZYAK8DrQQOc3RyZWFrNk9wYWNpdHkArwOtBAhzdHJlYWs3WACvA60EDnN0cmVhazdPcGFjaXR5AK8DrQQIc3RyZWFrOFgArwOtBA5zdHJlYWs4T3BhY2l0eQCvA60ECHN0cmVhazlYAK8DrQQOc3RyZWFrOU9wYWNpdHkArwOtBAlzdHJlYWsxMFgArwOtBA9zdHJlYWsxME9wYWNpdHkArwOtBAlzdHJlYWsxMVgArwOtBA9zdHJlYWsxMU9wYWNpdHkArwOtBAZzdGFnZVgArwOtBAZzdGFnZVkArwOtBApzdGFnZVNjYWxlAK8DrQQNc3RhZ2VSb3RhdGlvbgCvA60EDHN0YWdlT3BhY2l0eQC7A60EC2xpbmVTZXR0bGVkALsDrQQIbGluZUhlYWQAuAOtBAlsaW5lQ29sb3IAuAOtBA1saW5lSGVhZENvbG9yAK8DrQQIbGluZVNpemUArwOtBApsaW5lV2VpZ2h0AK8DrQQMbGluZVRyYWNraW5nAK8DrQQLbGluZU9wYWNpdHkArwOtBAlsaW5lV2lkdGgArwOtBAllbnRlckZyb20ArwOtBAdlbnRlclRvAK8DrQQGZW50ZXJYAK8DrQQGZW50ZXJZAK8DrQQKZW50ZXJTY2FsZQCvA60EDWVudGVyUm90YXRpb24ArwOtBAxlbnRlck9wYWNpdHkArwOtBA1lbnRlclN0cmVuZ3RoAK8DrQQIZGlzdEZyb20ArwOtBAZkaXN0VG8ArwOtBA9kaXN0RmFsbG9mZkZyb20ArwOtBA1kaXN0RmFsbG9mZlRvAK8DrQQFZGlzdFgArwOtBAVkaXN0WQCvA60EDGRpc3RSb3RhdGlvbgCvA60ECmRpc3RTY2FsZVgArwOtBApkaXN0U2NhbGVZAK8DrQQLZGlzdE9wYWNpdHkArwOtBAxkaXN0U3RyZW5ndGgAuwOtBAtkaXNwbGF5VGV4dACvA60EC2Rpc3BsYXlTaXplAK8DrQQNZGlzcGxheVdlaWdodACvA60ED2Rpc3BsYXlUcmFja2luZwCvA60EDmRpc3BsYXlPcGFjaXR5ALgDrQQKZGlzcGxheVRvcAC4A60EDWRpc3BsYXlCb3R0b20ArwOtBBFkaXNwbGF5R3JhZFN0YXJ0WQCvA60ED2Rpc3BsYXlHcmFkRW5kWQCvA60ECmhpZGVMZWZ0VG8ArwOtBA9oaWRlTGVmdEZhbGxvZmYArwOtBA1oaWRlUmlnaHRGcm9tAK8DrQQQaGlkZVJpZ2h0RmFsbG9mZgC7A60EDGZpbmFsU2V0dGxlZAC7A60ECWZpbmFsSGVhZAC7A60EDWZpbmFsRW50ZXJpbmcAuAOtBApmaW5hbENvbG9yALgDrQQOZmluYWxIZWFkQ29sb3IAuAOtBBJmaW5hbEVudGVyaW5nQ29sb3IArwOtBAlmaW5hbFNpemUArwOtBAtmaW5hbFdlaWdodACvA60EDWZpbmFsVHJhY2tpbmcArwOtBAxmaW5hbE9wYWNpdHkArwOtBApmaW5hbFdpZHRoAK8DrQQHY3Vyc29yVwCvA60EB2N1cnNvckgArwOtBAxjdXJzb3JTdHJva2UArwOtBAxjdXJzb3JSYWRpdXMAuAOtBBFjdXJzb3JTdHJva2VDb2xvcgC4A60ED2N1cnNvckZpbGxDb2xvcgCvA60EDGN1cnNvck9mZnNldACvA60EC2N1cnNvclNjYWxlAK8DrQQRY3Vyc29yTGluZU9wYWNpdHkArwOtBBJjdXJzb3JGaW5hbE9wYWNpdHkArwOtBBFjdXJzb3JHbG93T3BhY2l0eQC4A60ED2N1cnNvckdsb3dDb2xvcgCvA60EC2N1cnNvckdsb3dSALgDrQQJZ2xvd0NvbG9yALgDrQQHZ2xvd01pZACvA60EC2dsb3dGYWxsb2ZmAK8DrQQFZ2xvd1IArwOtBApnbG93U2NhbGVZAK8DrQQFZ2xvd1gArwOtBAVnbG93WQCvA60ECmdsb3dOb3JtYWwArwOtBApnbG93U2NyZWVuAK8D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";var lf;function rS(){if(!lf){let A=atob(b2);lf=new Uint8Array(A.length);for(let e=0;e<A.length;e++)lf[e]=A.charCodeAt(e)}return lf}var iS=new Map(sE.map(A=>[A.name,A.type]));async function w2(A,e={}){e.wasmUrl&&ty.RuntimeLoader.setWasmUrl(e.wasmUrl);let t=await ty.RuntimeLoader.awaitInstance(),n=await t.load(e.riv??rS()),o=n.artboardByName(Pg),a=new t.StateMachineInstance(o.stateMachineByName(Ug),o),r=n.viewModelByName(Gg).defaultInstance();a.bindViewModelInstance(r),o.bindViewModelInstance(r);let i=t.makeRenderer(A),s=new Map,l=(d,u)=>{if(s.get(d)===u)return;s.set(d,u);let c=iS.get(d);c==="Number"?r.number(d).value=u:c==="String"?r.string(d).value=u:c==="Color"&&(r.color(d).value=u)};return{draw(d){for(let[p,B]of Object.entries(d))l(p,B);a.advanceAndApply(0),a.advanceAndApply(0);let u=Number(d.artW??o.width),c=Number(d.artH??o.height);i.clear(),i.save(),i.align(t.Fit.contain,t.Alignment.center,{minX:0,minY:0,maxX:A.width,maxY:A.height},{minX:0,minY:0,maxX:u,maxY:c}),o.draw(i),i.restore(),i.flush(),t.resolveAnimationFrame()},status:()=>r.string("status")?.value??"",dispose(){a.delete(),o.delete(),i.delete(),n.unref?.()}}}var Xr=Ue(bt(),1),sS={"16:9":16/9,"9:16":9/16,"1:1":1};function B2({config:A,autoPlay:e=!0,loop:t,width:n=640,frame:o,onFrame:a,onInvalid:r,wasmUrl:i,className:s}){let l=JSON.stringify(A??{}),d=(0,Uo.useMemo)(()=>Ws(JSON.parse(l)),[l]),u=(0,Uo.useRef)(null),c=(0,Uo.useRef)(null),[p,B]=(0,Uo.useState)(!1),v=(0,Uo.useRef)({onFrame:a,onInvalid:r});v.current={onFrame:a,onInvalid:r};let Q=d.config,C=Q?String(Q.canvas.aspectRatio):"16:9",y=Math.round(n/(sS[C]??16/9));if((0,Uo.useEffect)(()=>{d.valid||v.current.onInvalid?.(d.errors)},[d]),(0,Uo.useEffect)(()=>{let F=u.current;if(!F)return;let G=!0;return w2(F,{wasmUrl:i}).then(E=>{if(!G)return E.dispose();c.current=E,B(!0)}),()=>{G=!1,c.current?.dispose(),c.current=null,B(!1)}},[i]),(0,Uo.useEffect)(()=>{let F=c.current,G=u.current;if(!p||!F||!G||!Q)return;let E=typeof window<"u"?Math.min(2,window.devicePixelRatio||1):1;G.width=Math.round(n*E),G.height=Math.round(y*E);let D=_s(Q).durationFrames,k=Km(Q),U=t??!!Q.canvas.loop,O=!!Q.motion.reducedMotion||typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches,T=K=>{F.draw(lE(lv(Q,K))),v.current.onFrame?.(K,F.status())};if(o!==void 0||O||!e){T(o??(O?D-1:0));return}let R=0,P=performance.now(),j=K=>{let H=(K-P)/1e3*Fi*k,N=U?H%D:Math.min(H,D-1);T(N),(U||H<D)&&(R=requestAnimationFrame(j))};return R=requestAnimationFrame(j),()=>cancelAnimationFrame(R)},[p,Q,n,y,o,e,t]),!d.valid)return(0,Xr.jsxs)("div",{role:"alert",className:s,style:{width:n,padding:12,font:"13px/1.4 system-ui",border:"1px solid currentColor"},children:[(0,Xr.jsx)("strong",{children:"This Replication 2 configuration is not valid."}),(0,Xr.jsx)("ul",{children:d.errors.slice(0,8).map(F=>(0,Xr.jsx)("li",{children:F.message},F.path+F.message))})]});let w=Q.text,I=w.ariaLabel||[`${w.what} ${w.line}`.trim(),w.aiAgent,[w.final1,w.final2,w.final3].filter(Boolean).join(" ")].join(" \u2014 ");return(0,Xr.jsx)("div",{role:"img","aria-label":I,className:s,style:{width:n,height:y,position:"relative"},"data-rive":p?"ready":"loading",children:(0,Xr.jsx)("canvas",{ref:u,"aria-hidden":"true",style:{width:n,height:y,display:"block"}})})}var Qn=(A,e,t,n,o,a)=>{let r=e.replace(/ /g,"+"),i=o.length===1&&!a?r:a?`${r}:ital,wght@${[...o.map(s=>`0,${s}`),...o.map(s=>`1,${s}`)].join(";")}`:`${r}:wght@${o.join(";")}`;return{id:A,name:e,category:t,family:`'${e}', ${n}`,weights:o,italic:a,google:i}};var qo=[Qn("inter","Inter","sans","system-ui, sans-serif",[400,600,800,900],!1),Qn("archivo-black","Archivo Black","sans","Arial Black, sans-serif",[400],!1),Qn("playfair","Playfair Display","serif","Georgia, serif",[400,700,900],!0),Qn("old-standard","Old Standard TT","serif","Times New Roman, serif",[400,700],!0),Qn("anton","Anton","condensed","Impact, sans-serif",[400],!1),Qn("oswald","Oswald","condensed","Arial Narrow, sans-serif",[300,500,700],!1),Qn("bebas","Bebas Neue","condensed","Impact, sans-serif",[400],!1),Qn("abril","Abril Fatface","display","Georgia, serif",[400],!1),Qn("dm-serif","DM Serif Display","display","Georgia, serif",[400],!0),Qn("libre-baskerville","Libre Baskerville","italic","Georgia, serif",[400,700],!0),Qn("ibm-plex-mono","IBM Plex Mono","mono","ui-monospace, monospace",[400,700],!0),Qn("space-mono","Space Mono","mono","ui-monospace, monospace",[400,700],!1),Qn("lobster","Lobster","decorative","cursive",[400],!1),Qn("permanent-marker","Permanent Marker","decorative","cursive",[400],!1),Qn("unifraktur","UnifrakturMaguntia","decorative","serif",[400],!1),Qn("monoton","Monoton","decorative","cursive",[400],!1)];function $r(A){let e=A.trim().toLowerCase().replace(/^'|'.*$/g,"");return qo.find(t=>t.id===e||t.name.toLowerCase()===e||t.family.toLowerCase().startsWith(`'${e}'`))}function C2(){return`https://fonts.googleapis.com/css2?${qo.map(A=>`family=${A.google}`).join("&")}&display=swap`}var Go=(A,e)=>{let t=document.createElement("canvas");return t.width=A,t.height=e,t};function go(A,e){let t=0;return()=>tl(A,t++,e)/4294967296}var v2="the city council said on monday that a new plan for the riverfront would be put to a vote next month after years of delay residents who packed the hall called for more housing and fewer parking lots while officials warned the budget remained tight according to the report the harbor district could see its first new park in decades if funding holds through the winter season critics argued the proposal moved too fast but supporters pointed to rising rents and a growing number of families leaving the area the mayor declined to comment on the timing though an aide described the talks as productive and said more details would follow engineers expect construction to take three years with the first phase opening along the old ferry landing by late spring of next year meanwhile schools reported record enrollment and the transit authority announced longer hours on weekend lines beginning in october".split(" "),Wn="#1b1917",uf="#ece6d6";function re(A,e,t,n=400,o="normal"){A.ctx.font=`${o} ${n} ${e*A.s}px ${t}`}function KA(A,e,t,n,o="left"){A.ctx.textAlign=o,A.ctx.fillText(e,t*A.s,n*A.s)}function xn(A,e,t,n,o=1){A.ctx.fillRect(e*A.s,(t-o/2)*A.s,(n-e)*A.s,o*A.s)}function cf(A,e,t,n,o=.6){A.ctx.fillRect((e-o/2)*A.s,t*A.s,o*A.s,(n-t)*A.s)}var va="'Old Standard TT', 'Times New Roman', serif",zi="'Playfair Display', Georgia, serif",nn="'Oswald', 'Arial Narrow', sans-serif",lS="'UnifrakturMaguntia', 'Old English Text MT', serif",x2="'IBM Plex Mono', ui-monospace, monospace";function cl(A,e,t,n,o,a,r=10.2,i=12.4,s=!1){re(A,r,va);let l=A.ctx,d=()=>v2[Math.floor(e()*v2.length)],u=n,c=s,p=0;for(;u+i<=a;){let B=p===0?10:0,v=t+B,Q=o-B;c&&(re(A,i*2.6,zi,700),l.textAlign="left",l.fillText("T",t*A.s,(u+i*1.9)*A.s),re(A,r,va),v=t+i*2.1,Q=o-i*2.1);let C=[],y=0,w=l.measureText(" ").width/A.s;for(;;){let E=d(),D=l.measureText(E).width/A.s;if(y+D+(C.length?w:0)>Q)break;y+=D+(C.length?w:0),C.push(C.length===0&&p===0?E[0].toUpperCase()+E.slice(1):E)}let I=e()<.07||u+i*2>a,F=C.length>1&&!I?(Q-y)/(C.length-1)+w:w,G=v;l.textAlign="left";for(let E of C)l.fillText(I&&E===C[C.length-1]?`${E}.`:E,G*A.s,(u+r)*A.s),G+=l.measureText(E).width/A.s+F;u+=i,p=I?0:p+1,c&&u>n+i*2.2&&(c=!1)}return u}function cS(A,e,t,n,o,a,r){let s=Math.max(8,Math.round(o/3)),l=Math.max(8,Math.round(a/3)),u=Go(s,l).getContext("2d"),c=u.createLinearGradient(0,0,0,l);if(c.addColorStop(0,"#d8d8d8"),c.addColorStop(.6,"#9a9a9a"),c.addColorStop(1,"#5a5a5a"),u.fillStyle=c,u.fillRect(0,0,s,l),r==="skyline"||r==="harbor"){u.fillStyle="#f4f4f4",u.beginPath(),u.arc(s*.75,l*.25,l*.09,0,Math.PI*2),u.fill();let y=0;for(;y<s;){let w=s*(.04+e()*.08),I=l*(.2+e()*.45);u.fillStyle=`rgb(${40+e()*50|0},${40+e()*50|0},${40+e()*50|0})`,u.fillRect(y,l*(r==="harbor"?.62:.72)-I,w,I+l),u.fillStyle="rgba(230,230,230,0.5)";for(let F=l*.72-I+2;F<l*.7;F+=3)for(let G=y+1;G<y+w-1;G+=3)e()<.35&&u.fillRect(G,F,1,1);y+=w+e()*2}if(r==="harbor"){let w=u.createLinearGradient(0,l*.62,0,l);w.addColorStop(0,"#6c6c6c"),w.addColorStop(1,"#262626"),u.fillStyle=w,u.fillRect(0,l*.62,s,l),u.fillStyle="rgba(220,220,220,0.35)";for(let I=0;I<60;I++)u.fillRect(e()*s,l*(.64+e()*.34),2+e()*6,.6);u.fillStyle="#151515",u.beginPath(),u.moveTo(s*.2,l*.7),u.lineTo(s*.46,l*.7),u.lineTo(s*.42,l*.78),u.lineTo(s*.24,l*.78),u.fill(),u.fillRect(s*.3,l*.55,s*.01,l*.15)}else{u.fillStyle="#2a2a2a",u.fillRect(0,l*.72,s,l);for(let w=0;w<9;w++){let I=e()*s,F=l*(.14+e()*.08);u.fillStyle="#101010",u.beginPath(),u.arc(I,l*.9-F,F*.18,0,Math.PI*2),u.fill(),u.fillRect(I-F*.16,l*.9-F*.82,F*.32,F*.9)}}}else{let y=u.createRadialGradient(s*.5,l*.4,1,s*.5,l*.5,s*.8);y.addColorStop(0,"#cfcfcf"),y.addColorStop(1,"#505050"),u.fillStyle=y,u.fillRect(0,0,s,l),u.fillStyle="#1a1a1a",u.beginPath(),u.ellipse(s*.5,l*1.05,s*.42,l*.4,0,0,Math.PI*2),u.fill();let w=u.createRadialGradient(s*.45,l*.38,1,s*.5,l*.42,s*.25);w.addColorStop(0,"#bdbdbd"),w.addColorStop(1,"#3d3d3d"),u.fillStyle=w,u.beginPath(),u.ellipse(s*.5,l*.42,s*.17,l*.24,0,0,Math.PI*2),u.fill(),u.fillStyle="#161616",u.beginPath(),u.ellipse(s*.5,l*.24,s*.19,l*.1,0,Math.PI,Math.PI*2),u.fill()}let p=u.getImageData(0,0,s,l).data,B=A.ctx;B.save(),B.beginPath(),B.rect(t*A.s,n*A.s,o*A.s,a*A.s),B.clip(),B.fillStyle=uf,B.fillRect(t*A.s,n*A.s,o*A.s,a*A.s),B.fillStyle=Wn;let v=3.2,Q=Math.SQRT1_2,C=(o+a)/Q;for(let y=-C;y<C;y+=v)for(let w=-C;w<C;w+=v){let I=(w-y)*Q,F=(w+y)*Q;if(I<-v||F<-v||I>o+v||F>a+v)continue;let G=Math.min(s-1,Math.max(0,Math.floor(I/3))),E=Math.min(l-1,Math.max(0,Math.floor(F/3))),D=p[(E*s+G)*4]/255,k=Math.sqrt(Math.max(0,1-D))*v*.62;k<.25||(B.beginPath(),B.arc((t+I)*A.s,(n+F)*A.s,k*A.s,0,Math.PI*2),B.fill())}B.restore(),B.fillStyle=Wn,B.strokeStyle=Wn,B.lineWidth=.6*A.s,B.strokeRect(t*A.s,n*A.s,o*A.s,a*A.s)}function ul(A,e,t,n,o=uf){let a=A.ctx;a.fillStyle=o,a.fillRect(0,0,t*A.s,n*A.s);for(let i=0;i<26;i++){let s=e()*t,l=e()*n,d=60+e()*220,u=a.createRadialGradient(s*A.s,l*A.s,0,s*A.s,l*A.s,d*A.s),c=e()<.5;u.addColorStop(0,c?"rgba(120,100,60,0.05)":"rgba(255,255,245,0.06)"),u.addColorStop(1,"rgba(0,0,0,0)"),a.fillStyle=u,a.fillRect(0,0,t*A.s,n*A.s)}for(let i=0;i<9e3;i++){let s=e()*t,l=e()*n,d=e()*Math.PI,u=1+e()*5;a.strokeStyle=e()<.5?"rgba(90,75,50,0.07)":"rgba(255,255,250,0.1)",a.lineWidth=(.25+e()*.4)*A.s,a.beginPath(),a.moveTo(s*A.s,l*A.s),a.lineTo((s+Math.cos(d)*u)*A.s,(l+Math.sin(d)*u)*A.s),a.stroke()}let r=(i,s,l,d)=>{let u=a.createLinearGradient(i*A.s,s*A.s,l*A.s,d*A.s);u.addColorStop(0,"rgba(170,140,80,0.16)"),u.addColorStop(1,"rgba(170,140,80,0)"),a.fillStyle=u,a.fillRect(0,0,t*A.s,n*A.s)};r(0,0,28,0),r(t,0,t-28,0),r(0,0,0,28),r(0,n,0,n-28)}function oy(A,e,t,n){let o=A.ctx;o.fillStyle="rgba(236,230,214,0.55)";for(let a=0;a<5e3;a++)o.fillRect(e()*t*A.s,e()*n*A.s,(.4+e())*A.s,(.4+e())*A.s);for(let a=0;a<5;a++){let r=e()*t,i=e()*n,s=10+e()*30,l=o.createRadialGradient(r*A.s,i*A.s,0,r*A.s,i*A.s,s*A.s);l.addColorStop(0,"rgba(40,35,30,0.05)"),l.addColorStop(1,"rgba(0,0,0,0)"),o.fillStyle=l,o.fillRect(0,0,t*A.s,n*A.s)}}function ny(A,e,t){let n=A.ctx,o=n.createLinearGradient(0,(t-5)*A.s,0,(t+5)*A.s);o.addColorStop(0,"rgba(0,0,0,0)"),o.addColorStop(.45,"rgba(80,65,40,0.12)"),o.addColorStop(.5,"rgba(255,255,250,0.35)"),o.addColorStop(.6,"rgba(80,65,40,0.08)"),o.addColorStop(1,"rgba(0,0,0,0)"),n.fillStyle=o,n.fillRect(0,(t-5)*A.s,e*A.s,10*A.s)}var ve=1e3;function E2(A,e,t,n){let o=go(e,77),a=A.ctx;a.fillStyle=Wn,re(A,11,nn,500),KA(A,`${n} \xB7 THE MORNING CHRONICLE \xB7 TUESDAY, SEPTEMBER 30, 2026`,36,30),xn(A,36,38,964,1.4),re(A,58,nn,700),KA(A,"CLASSIFIEDS",36,100),re(A,13,va,400,"italic"),KA(A,"Homes \xB7 Jobs \xB7 Motors \xB7 Notices \xB7 Lost & Found",964,100,"right"),xn(A,36,112,964,.8);let r=5,i=12,s=(928-i*(r-1))/r;for(let l=0;l<r;l++){let d=36+l*(s+i),u=126;for(;u<t-60;){let c=50+o()*120;if(u+c>t-50)break;a.lineWidth=.6*A.s,a.strokeStyle=Wn,a.strokeRect(d*A.s,u*A.s,s*A.s,c*A.s),re(A,13,nn,700),KA(A,["FOR SALE","WANTED","TO LET","NOTICE","HELP WANTED","AUCTION"][Math.floor(o()*6)],d+6,u+17),cl(A,o,d+6,u+22,s-12,u+c-4,8.4,10),u+=c+8}l<r-1&&cf(A,d+s+i/2,126,t-56)}if(o()<2){let l=36+s+i,d=t*.52,u=s*2+i,c=170;a.fillStyle=uf,a.fillRect(l*A.s,d*A.s,u*A.s,c*A.s),a.fillStyle=Wn,a.lineWidth=2.4*A.s,a.strokeRect(l*A.s,d*A.s,u*A.s,c*A.s),re(A,44,nn,700),KA(A,"OPEN HOUSE",l+u/2,d+62,"center"),re(A,18,zi,400,"italic"),KA(A,"Sunday 1\u20134 pm \xB7 14 Linden Row",l+u/2,d+96,"center"),re(A,30,nn,500),KA(A,"3 BED \xB7 GARDEN \xB7 $489,000",l+u/2,d+140,"center")}xn(A,36,t-40,964,1),re(A,10,nn,500),KA(A,n,964,t-24,"right")}function uS(A,e,t){let n=go(e,11),o=A.ctx;o.fillStyle=Wn,o.lineWidth=.8*A.s,o.strokeStyle=Wn,o.strokeRect(36*A.s,22*A.s,150*A.s,64*A.s),re(A,10,nn,700),KA(A,"WEATHER",111,38,"center"),re(A,26,nn,500),KA(A,"18\xB0 / 11\xB0",111,66,"center"),re(A,8.5,va,400,"italic"),KA(A,"Cloudy, clearing late",111,80,"center"),o.strokeRect(814*A.s,22*A.s,150*A.s,64*A.s),re(A,10,nn,700),KA(A,"INSIDE",889,38,"center"),re(A,9.5,va),KA(A,"Arts & Leisure \u2026\u2026 C1",889,55,"center"),KA(A,"Business \u2026\u2026\u2026\u2026 B4",889,68,"center"),KA(A,"Puzzles \u2026\u2026\u2026\u2026 D7",889,81,"center"),re(A,76,lS),KA(A,"The Morning Chronicle",500,84,"center"),xn(A,36,104,964,2.2),xn(A,36,109,964,.6),re(A,10.5,nn,500),KA(A,"VOL. CLXXV \xB7 No. 60,812",36,124),KA(A,"TUESDAY, SEPTEMBER 30, 2026",500,124,"center"),KA(A,"LATE CITY EDITION \xB7 $3.00",964,124,"right"),xn(A,36,132,964,.6),xn(A,36,136,964,1.6),re(A,13,nn,700),KA(A,"SPECIAL REPORT",500,170,"center"),re(A,19,zi,400,"italic"),KA(A,"Overnight developments reshape the riverfront plan; council to vote next month",500,585,"center"),xn(A,330,600,670,.6);let a=616,r=6,i=14,s=(928-i*(r-1))/r,l=y=>36+y*(s+i),d=s*4+i*3;cS(A,n,36,a,d,262,n()<.5?"harbor":"skyline"),re(A,9,va,400,"italic"),KA(A,"Crews worked through the night along the old ferry landing. Photograph by Staff.",36,a+276);for(let y=4;y<6;y++){re(A,17,zi,700),o.textAlign="left";let w=a+0;y===4?(KA(A,"Harbor Park",l(y),w+16),KA(A,"Wins Early Nod",l(y),w+36)):(KA(A,"Transit Adds",l(y),w+16),KA(A,"Weekend Hours",l(y),w+36)),re(A,9,nn,500),KA(A,y===4?"BY ELENA MARSH":"BY THEO GRANT",l(y),w+52),cl(A,n,l(y),w+58,s,a+282,10.2,12.4,y===4),cf(A,l(y)-i/2,a,y===4?t-150:a+282)}let u=a+292;xn(A,36,u-4,36+d,.6);let c=[["Schools Report","Record Enrollment"],["Budget Talks","Stall Again"],["Ferry Landing","Gets a Date"],["Rents Climb","For Fifth Year"]];for(let y=0;y<4;y++){let[w,I]=c[y];re(A,16,zi,700),KA(A,w,l(y),u+14),KA(A,I,l(y),u+32),cl(A,n,l(y),u+40,s,t-150,10.2,12.4),y>0&&cf(A,l(y)-i/2,u,t-150)}xn(A,l(4),a+288,964,.6);let p=l(4),B=s*2+i;re(A,12,nn,700),KA(A,"MARKETS",p,a+306),xn(A,p,a+312,p+B,.8),re(A,9.5,x2),[["DOW","+0.84%"],["S&P 500","+0.61%"],["NASDAQ","\u22120.12%"],["10-YR","4.02%"],["OIL","$71.40"],["GOLD","$2,418"]].forEach(([y,w],I)=>{KA(A,y,p,a+328+I*14),KA(A,w,p+B,a+328+I*14,"right")});let Q=a+420,C=t-158-Q;o.lineWidth=2.6*A.s,o.strokeRect(p*A.s,Q*A.s,B*A.s,C*A.s),o.lineWidth=.7*A.s,o.strokeRect((p+5)*A.s,(Q+5)*A.s,(B-10)*A.s,(C-10)*A.s),re(A,15,nn,500),KA(A,"HARBOR & MAIN",p+B/2,Q+30,"center"),re(A,46,nn,700),KA(A,"CLEARANCE",p+B/2,Q+80,"center"),re(A,26,zi,900),KA(A,"up to 60% off",p+B/2,Q+116,"center"),xn(A,p+30,Q+132,p+B-30,.6),re(A,10.5,va,400,"italic"),KA(A,"Sofas \xB7 Tables \xB7 Lamps \xB7 Rugs",p+B/2,Q+150,"center"),re(A,10,nn,500),KA(A,"THIS WEEKEND ONLY",p+B/2,Q+C-16,"center"),xn(A,36,t-140,964,1.6);for(let y=0;y<3;y++){let w=36+y*314;re(A,14,zi,700),KA(A,["Obituaries","Opinion","Sports"][y],w,t-118),cl(A,n,w,t-112,300,t-50,9.2,11),y&&cf(A,w-7,t-132,t-50)}xn(A,36,t-40,964,.6),re(A,10,nn,500),KA(A,"A1",36,t-24),KA(A,"Continued on A6",964,t-24,"right")}function dS(A,e=2048,t=1.36){let n=ve*t,o=e/ve,a=Math.round(n*o),r=Go(e,a);{let l={ctx:r.getContext("2d"),s:o};ul(l,go(A,3),ve,n),E2(l,A+1,n,"A2"),oy(l,go(A,4),ve,n),ny(l,ve,n/2)}let i=Go(e,a);{let l=i.getContext("2d"),d={ctx:l,s:o};ul(d,go(A,1),ve,n),l.save(),l.globalAlpha=.05,l.translate(e,0),l.scale(-1,1),l.drawImage(r,0,0),l.restore(),l.fillStyle=uf,l.globalAlpha=.02,l.fillRect(0,0,e,a),l.globalAlpha=1,uS(d,A,n),oy(d,go(A,2),ve,n),ny(d,ve,n/2)}let s=Go(1024,Math.round(1024*t));{let l={ctx:s.getContext("2d"),s:1024/ve};ul(l,go(A,5),ve,n,"#e8e1cf"),E2(l,A+2,n,"A5"),ny(l,ve,n/2)}return{front:i,back:r,inner:s}}var ay=["400 20px 'UnifrakturMaguntia'","400 20px 'Old Standard TT'","italic 400 20px 'Old Standard TT'","700 20px 'Playfair Display'","italic 400 20px 'Playfair Display'","900 20px 'Playfair Display'","500 20px 'Oswald'","700 20px 'Oswald'","400 20px 'IBM Plex Mono'","400 20px 'Archivo Black'","400 20px 'Lobster'","400 20px 'Anton'","600 20px 'Inter'"],ji="'Inter', system-ui, sans-serif",gS="'Archivo Black', 'Arial Black', sans-serif",fS="'Lobster', cursive";function M2(A){let e=A.length===4?A.slice(1).split("").map(n=>n+n).join(""):A.slice(1),t=parseInt(e,16)||0;return[t>>16&255,t>>8&255,t&255]}var Q2=(A,e)=>{let[t,n,o]=M2(A),a=r=>Math.max(0,Math.min(255,Math.round(e>=0?r+(255-r)*e:r*(1+e))));return`rgb(${a(t)},${a(n)},${a(o)})`};function hS(A,e,t,n,o,a){let r=A.ctx;r.fillStyle="#ffffff",r.fillRect((t-6)*A.s,(n-6)*A.s,(o+12)*A.s,(a+22)*A.s),r.fillStyle=Wn;let i=t;for(;i<t+o;){let s=.8+Math.floor(e()*3)*.9;e()<.62&&r.fillRect(i*A.s,n*A.s,s*A.s,a*A.s),i+=s+.7}re(A,8,x2),KA(A,"8 412345 678905",t+o/2,n+a+11,"center")}function pS(A,e,t,n,o,a,r,i){let s=A.ctx;s.save(),s.strokeStyle=r,s.lineWidth=i*A.s,s.lineCap="round",s.lineJoin="round",s.globalAlpha=.9,s.beginPath();let l=t-o/2,d=n;s.moveTo(l*A.s,d*A.s);let u=5;for(let c=0;c<u;c++){let p=t-o/2+(c+1)/u*o,B=n+(e()-.5)*a*.4;s.bezierCurveTo((l+o*.16)*A.s,(d-a*(.6+e()*.4))*A.s,(p+o*.05)*A.s,(B+a*(.5+e()*.4))*A.s,p*A.s,B*A.s),l=p,d=B}s.stroke(),s.lineWidth=i*.55*A.s,s.beginPath(),s.moveTo((t+o/2)*A.s,(n+a*.3)*A.s),s.bezierCurveTo((t+o*.1)*A.s,(n+a*.9)*A.s,(t-o*.2)*A.s,(n-a*.2)*A.s,(t-o*.55)*A.s,(n+a*.5)*A.s),s.stroke(),s.restore()}function mS(A,e,t){let n=ve*t,o=e/ve,a=Go(e,Math.round(n*o)),r={ctx:a.getContext("2d"),s:o},i=go(A,31);ul(r,i,ve,n,"#f1ede3");let s=r.ctx;s.fillStyle=Wn,xn(r,0,12,ve,1.2),xn(r,0,n-12,ve,1.2),pS(r,i,560,n*.48,300,130,"#e2371f",11),s.fillStyle=Wn,re(r,11,ji,600),KA(r,"CELLER DEL VENT",215,44),re(r,9,ji),KA(r,"Priorat \xB7 Denominaci\xF3 d\u2019Origen",215,58),s.fillStyle="rgba(40,36,32,0.55)",re(r,9.5,va,400,"italic"),[["calma",700,70],["plenitud",742,150],["amor",690,214],["tendresa",752,300],["alegria",700,362]].forEach(([d,u,c])=>KA(r,d,u,c)),s.save(),s.translate(232*o,(n-70)*o),s.rotate(-Math.PI/2),s.fillStyle=Wn,re(r,12,ji,600),s.textAlign="left",s.fillText("CATALUNYA",0,0),s.restore(),s.fillStyle=Wn,re(r,10,va,400,"italic"),KA(r,"Garnatxa Negra \u2014 Cabernet Sauvignon",262,n-60),s.strokeStyle="#e2371f",s.lineWidth=2*o,s.beginPath(),s.ellipse(350*o,(n-63)*o,95*o,12*o,-.05,.2,Math.PI*2.1),s.stroke(),re(r,10.5,va,400,"italic"),KA(r,"\u201CAfter the rain the grass is born; after the wine, the words.\u201D \u2014 a saying",500,n-30,"center"),re(r,13,ji,600),KA(r,"2026",690,n-58),KA(r,"14,5 % vol",740,n-58),KA(r,"750 ml",812,n-58,"left"),re(r,11,ji,600),KA(r,"BACK",60,44),cl(r,i,40,56,120,n-110,7.6,9.4),hS(r,i,55,n-92,90,44),cl(r,i,855,44,125,n-40,7.6,9.4),oy(r,i,ve,n);let l=Go(256,Math.round(256*t));{let d=l.getContext("2d");d.fillStyle="#e9e4d8",d.fillRect(0,0,l.width,l.height)}return{front:a,back:l}}function yS(A,e,t,n){let o=ve*t,a=e/ve,r=Go(e,Math.round(o*a)),i=r.getContext("2d"),s={ctx:i,s:a},l=go(A,41),d=i.createLinearGradient(0,0,0,o*a);d.addColorStop(0,Q2(n,.18)),d.addColorStop(.55,n),d.addColorStop(1,Q2(n,-.22)),i.fillStyle=d,i.fillRect(0,0,ve*a,o*a),i.save(),i.globalAlpha=.09,i.strokeStyle="#ffffff",i.lineWidth=10*a;for(let c=-o;c<ve+o;c+=34)i.beginPath(),i.moveTo(c*a,o*a),i.lineTo((c+o)*a,0),i.stroke();i.restore(),i.fillStyle="#c8102e",i.fillRect(0,0,ve*a,92*a),i.fillStyle="#ffd23f",i.fillRect(0,92*a,ve*a,6*a),i.fillStyle="#ffffff",re(s,50,gS),KA(s,"CRUNCHO",150,66),re(s,13,ji,600),KA(s,"KETTLE COOKED \xB7 SINCE 1987",850,56,"right"),i.save(),i.translate(460*a,300*a),i.fillStyle="rgba(255,255,255,0.92)",i.beginPath();for(let c=0;c<=48;c++){let p=c/48*Math.PI*2,B=(c%2?190:214)*a;c?i.lineTo(Math.cos(p)*B,Math.sin(p)*B*.78):i.moveTo(B,0)}i.fill(),i.restore();for(let c=0;c<16;c++){let p=700+l()*200,B=380+l()*150,v=40+l()*30,Q=26+l()*18,C=l()*Math.PI,y=i.createRadialGradient((p-10)*a,(B-8)*a,2,p*a,B*a,v*a);y.addColorStop(0,"#fff1b8"),y.addColorStop(.7,"#f0b43c"),y.addColorStop(1,"#b86e12"),i.fillStyle=y,i.beginPath(),i.ellipse(p*a,B*a,v*a,Q*a,C,0,Math.PI*2),i.fill(),i.fillStyle="rgba(255,255,255,0.7)";for(let w=0;w<8;w++)i.fillRect((p+(l()-.5)*v)*a,(B+(l()-.5)*Q)*a,1.6*a,1.6*a)}i.fillStyle="#7a0c1f",i.beginPath(),i.moveTo(110*a,468*a),i.lineTo(470*a,462*a),i.lineTo(450*a,492*a),i.lineTo(470*a,522*a),i.lineTo(110*a,516*a),i.lineTo(130*a,492*a),i.closePath(),i.fill(),i.fillStyle="#ffffff",re(s,30,fS),KA(s,"Sea Salt & Honey",290,503,"center"),i.fillStyle=Wn,re(s,12,ji,600),KA(s,"NET WT 45 g (1.6 oz)",110,o-20);for(let c of[0,ve*.93]){let p=i.createLinearGradient(c*a,0,(c+70)*a,0);p.addColorStop(0,"#9aa0a6"),p.addColorStop(.5,"#e8ebee"),p.addColorStop(1,"#8a9096"),i.fillStyle=p,i.fillRect(c*a,0,70*a,o*a),i.fillStyle="rgba(40,40,40,0.25)";for(let B=0;B<o;B+=5)i.fillRect(c*a,B*a,70*a,1.2*a)}let u=Go(512,Math.round(512*t));{let c=u.getContext("2d");c.fillStyle="#c9ced3",c.fillRect(0,0,u.width,u.height)}return{front:r,back:u}}function bS(A,e,t,n){let o=ve*t,a=e/ve,r=e,i=Math.round(o*a),s=p=>{let B=Go(r,i),v=B.getContext("2d"),Q=v.createImageData(r,i),[C,y,w]=M2(n),I=go(A,51),F=new Float32Array(i);for(let E=0;E<i;E++)F[E]=(I()-.5)*.12;let G=Math.max(2,Math.round(1.6*a));for(let E=0;E<i;E++)for(let D=0;D<r;D++){let k=(Math.floor(D/G)+Math.floor(E/G)&3)<2?1:-1,U=Math.floor(D/G)%2?.04:-.02,O=(tl(D,E,A)/4294967296-.5)*.08,T=1+k*.07+U+F[E]+O-p,R=(E*r+D)*4;Q.data[R]=Math.min(255,C*T),Q.data[R+1]=Math.min(255,y*T),Q.data[R+2]=Math.min(255,w*T),Q.data[R+3]=255}return v.putImageData(Q,0,0),B},l=s(0),d=l.getContext("2d"),u={ctx:d,s:a};d.fillStyle="rgba(0,0,0,0.16)";let c=20;return d.fillRect(0,0,ve*a,c*a),d.fillRect(0,(o-c)*a,ve*a,c*a),d.fillRect(0,0,c*a,o*a),d.fillRect((ve-c)*a,0,c*a,o*a),d.strokeStyle="rgba(240,230,200,0.75)",d.lineWidth=1.4*a,d.setLineDash([6*a,4*a]),d.strokeRect((c-6)*a,(c-6)*a,(ve-2*c+12)*a,(o-2*c+12)*a),d.setLineDash([]),d.fillStyle="#f4efe2",d.fillRect(880*a,(o-96)*a,80*a,56*a),d.fillStyle="#2b2b2b",re(u,9,nn,700),KA(u,"100% COTTON",920,o-76,"center"),re(u,7,nn,500),KA(u,"MADE IN PORTUGAL",920,o-62,"center"),KA(u,"30\xB0 \xB7 DO NOT BLEACH",920,o-50,"center"),{front:l,back:s(.18)}}function wS(A,e,t,n){let o=ve*t,a=e/ve,r=(i,s)=>{let l=Go(e,Math.round(o*a)),d=l.getContext("2d");ul({ctx:d,s:a},go(A,i?62:61),ve,o,n),i&&(d.translate(e,0),d.scale(-1,1)),d.fillStyle=`rgba(90,140,210,${.55*s})`;for(let c=150;c<o-40;c+=34)d.fillRect(0,c*a,ve*a,1.3*a);d.fillStyle=`rgba(220,70,70,${.6*s})`,d.fillRect(118*a,0,1.6*a,o*a),d.globalCompositeOperation="destination-out";for(let c of[o*.18,o*.5,o*.82])d.beginPath(),d.arc(50*a,c*a,15*a,0,Math.PI*2),d.fill();return d.globalCompositeOperation="source-over",l};return{front:r(!1,1),back:r(!0,.25)}}function I2(A,e,t,n){switch(A){case"newspaper":return dS(e,2048,t);case"label":{let o=mS(e,2048,t);return{...o,inner:o.back}}case"wrapper":{let o=yS(e,2048,t,n);return{...o,inner:o.back}}case"fabric":{let o=bS(e,2048,t,n);return{...o,inner:o.back}}case"paper":{let o=wS(e,1536,t,n);return{...o,inner:o.back}}default:{let o=BS(n,t,e);return{front:o,back:o,inner:o}}}}function BS(A,e,t,n=1024){let o=Go(n,Math.round(n*e)),a={ctx:o.getContext("2d"),s:n/ve};return ul(a,go(t,9),ve,ve*e,A),o}function D2(A,e=512){let t=Go(e,e),n=t.getContext("2d"),o=n.createImageData(e,e),a=go(A,55);for(let r=0;r<e*e;r++){let i=128+(a()-.5)*70;o.data[r*4]=i,o.data[r*4+1]=i,o.data[r*4+2]=i,o.data[r*4+3]=255}n.putImageData(o,0,0),n.globalCompositeOperation="soft-light";for(let r=0;r<2600;r++){let i=a()*e,s=a()*e,l=a()*Math.PI,d=3+a()*14;n.strokeStyle=a()<.5?"rgba(0,0,0,0.5)":"rgba(255,255,255,0.5)",n.lineWidth=.6+a();for(let u of[0,-e,e])for(let c of[0,-e,e])n.beginPath(),n.moveTo(i+u,s+c),n.lineTo(i+u+Math.cos(l)*d,s+c+Math.sin(l)*d),n.stroke()}return t}var CS=(A,e,t)=>A<e?e:A>t?t:A,No=(A,e,t)=>{let n=CS((t-A)/(e-A),0,1);return n*n*(3-2*n)};function S2(A,e){if(Math.abs(e.theta)<1e-5)return;let t=e.dy,n=-e.dx,o=A[0]-e.px,a=A[1]-e.py,r=o*t+a*n;if(r<=0)return;let i=o*e.dx+a*e.dy,s=A[2],l=Math.max(e.width,1e-5),d=e.theta>0?1:-1,u=l/Math.abs(e.theta)+(e.core??0),c=Math.abs(e.theta)*u,p=Math.min(r,c),B=e.theta*(p/c),v=s-d*u,Q=Math.cos(B),C=Math.sin(B),y=-v*C,w=d*u+v*Q;r>c&&(y+=(r-c)*Math.cos(e.theta),w+=(r-c)*Math.sin(e.theta)),A[0]=e.px+i*e.dx+y*t,A[1]=e.py+i*e.dy+y*n,A[2]=w}function F2(A,e,t){return(A-t.px)*t.dy-(e-t.py)*t.dx}function T2(A,e){if(e.reach<=1e-5)return;let t=A[0]-e.ox,n=A[1]-e.oy,o=t*e.ex+n*e.ey;if(o>=e.reach)return;let a=t*-e.ey+n*e.ex,r=e.reach-Math.max(o,e.reach-e.length),i=e.radius,s=Math.max(1e-6,(i-e.inner)*(i+e.inner)/(2*e.length)),l=Math.max(0,i*i-2*s*r),d=(i-Math.sqrt(l))/s,u=Math.max(1e-4,i-s*d-e.sign*A[2]),c=e.reach-u*Math.sin(d),p=e.sign*i-u*e.sign*Math.cos(d);A[0]=e.ox+c*e.ex+a*-e.ey,A[1]=e.oy+c*e.ey+a*e.ex,A[2]=p}function k2(A,e){if(Math.abs(e)<1e-6)return;let t=1/e+A[2],n=A[0]*e;A[0]=Math.sin(n)*t,A[2]=Math.cos(n)*t-1/e}function Y2(A,e,t){let n=[],o=(i,s)=>tl(A,i,s)/4294967296,a=(i,s,l,d,u,c,p,B)=>{for(let v=0;v<i;v++){let Q=o(v,B+1)*Math.PI,C=o(v,B+2)<.62?1:-1;n.push({cx:(o(v,B+3)-.5)*1.25,cy:(o(v,B+4)-.5)*1.25*t,dx:Math.cos(Q),dy:Math.sin(Q),half:(l+(d-l)*o(v,B+5))*e*s,width:(u+(c-u)*o(v,B+6))*e,height:C*p*(.35+.65*o(v,B+7))})}},r=Math.round(26/Math.max(.5,e));return a(r,1,.3,.85,.06,.17,1,10),a(r*2+12,1,.12,.35,.035,.08,.3,20),n}function tu(A,e,t,n,o=!1){let a=0,r=0,i=0;for(let s of A){if(o&&Math.abs(s.height)>.5)continue;let l=e-s.cx,d=t-s.cy,u=l*s.dx+d*s.dy,c=l*-s.dy+d*s.dx,p=Math.abs(c);if(p>=s.width)continue;let B=Math.abs(u)/s.half;if(B>=1)continue;let v=B<.55?1:1-No(.55,1,B),Q=(1-p/s.width)*v;i+=s.height*Q*s.width;let C=-.12*Math.sign(c)*Math.abs(s.height)*s.width*Q;a+=C*-s.dy,r+=C*s.dx}n[0]=a,n[1]=r,n[2]=i}function nu(A,e,t,n){if(e){let o=Math.cos(e),a=Math.sin(e),r=A[0]*o+A[2]*a;A[2]=-A[0]*a+A[2]*o,A[0]=r}if(t){let o=Math.cos(t),a=Math.sin(t),r=A[1]*o-A[2]*a;A[2]=A[1]*a+A[2]*o,A[1]=r}if(n){let o=Math.cos(n),a=Math.sin(n),r=A[0]*o-A[1]*a;A[1]=A[0]*a+A[1]*o,A[0]=r}}var ct=(A,e,t,n,o)=>({type:"number",min:A,max:e,default:t,hint:n,...o?{unit:o}:{}}),dy=["taper","flare","bulge","twist","bend","scale"],df={taper:{summary:"Scales the part about its axis, from one factor at the bottom to another at the top: a cone, a tapered cup.",keepsRound:!0,params:{bottom:ct(.05,3,1,"radius factor at the bottom of the part"),top:ct(.05,3,1,"radius factor at the top of the part")}},flare:{summary:"Widens (or, negative, narrows) the part toward one end: a lip, a shoulder, a can\u2019s necked top.",keepsRound:!0,params:{amount:ct(-.9,2,.2,"extra radius at the end, as a share of the radius; negative narrows"),start:ct(0,.98,.7,"where along the part the flare begins, 0\u20131 toward the end"),end:{type:"enum",options:["top","bottom"],default:"top",hint:"which end flares"}}},bulge:{summary:"Swells (or, negative, pinches) the part around a height: a belly, a waist, a grip.",keepsRound:!0,params:{amount:ct(-.9,2,.2,"extra radius at the centre of the bulge; negative pinches"),center:ct(0,1,.5,"where along the part, 0 bottom \u2013 1 top"),width:ct(.03,1,.25,"how much of the part it spans")}},twist:{summary:"Turns the part about its axis, more with height.",keepsRound:!0,params:{angle:ct(-720,720,90,"turn reached at the top","\xB0")}},bend:{summary:"Bends the part\u2019s axis into an arc toward +x: a spout, a curved neck.",keepsRound:!1,params:{angle:ct(-270,270,45,"the arc the axis turns through","\xB0")}},scale:{summary:"Stretches the part along x, y and z: an oval body, a squashed sphere.",keepsRound:!1,params:{x:ct(.05,5,1,"across"),y:ct(.05,5,1,"along the axis"),z:ct(.05,5,1,"toward the camera")}}},R2=["cylinder","sphere","ring","revolve","tube","box"],dl=[...dy,"material"],L2={cylinder:{summary:"A round body standing on its base. `hollow` makes it a cup with a wall, a floor and a rounded rim.",origin:"base",capabilities:[...dl,"text-wrap"],params:{radius:ct(.01,2,.36,"outer radius"),height:ct(.005,4,1,"from base to top"),hollow:ct(0,.5,0,"wall thickness; 0 is solid, anything else is open at the top"),round:ct(0,.5,0,"radius of the rounded top and bottom edges")}},sphere:{summary:"A ball, centred.",origin:"centre",capabilities:[...dl,"text-wrap"],params:{radius:ct(.01,2,.3,"radius")}},ring:{summary:"A torus lying flat around the axis: a rim, a lip, a band, a gasket.",origin:"centre",capabilities:dl,params:{radius:ct(.01,2,.36,"from the axis to the centre of the band"),thickness:ct(.002,.5,.02,"radius of the band itself")}},revolve:{summary:"Any profile turned about the axis: a vase, a bottle with shoulders, a lampshade, a bowl. Draw the outline as [radius, y] points; draw down the inside too for a hollow one.",origin:"base",capabilities:[...dl,"text-wrap"],params:{profile:{type:"points",dims:2,min:2,max:64,hint:"[radius, y] points along the outline, in order"},smooth:{type:"boolean",default:!1,hint:"run a smooth curve through the points instead of straight segments"}}},tube:{summary:"A round bar along a path: a handle, a straw, a spout, a strap.",origin:"path",capabilities:dl,params:{path:{type:"points",dims:3,min:2,max:32,hint:"[x, y, z] points the bar runs through, in order"},radius:ct(.003,1,.04,"radius of the bar"),smooth:{type:"boolean",default:!0,hint:"run a smooth curve through the points"}}},box:{summary:"A block, centred: a lid tab, a foot, a slab, a clip.",origin:"centre",capabilities:dl,params:{width:ct(.005,4,.5,"along x"),height:ct(.005,4,.5,"along y"),depth:ct(.005,4,.5,"along z")}}},gl=["plastic","matte","ceramic","glass","metal","chrome"],vS={plastic:{summary:"Moulded plastic: coloured, a soft highlight.",metalness:0,roughness:.38,reflection:.35,gain:1},matte:{summary:"Powder coat, rubber, card: colour with almost no shine.",metalness:0,roughness:.9,reflection:.06,gain:1},ceramic:{summary:"Glazed ceramic or enamel: colour under a glossy coat.",metalness:0,roughness:.12,reflection:.7,gain:1},glass:{summary:"Dark, tinted glass: nearly black in the body, the studio in its reflection. Not see-through.",metalness:0,roughness:.04,reflection:1.1,gain:.55},metal:{summary:"Brushed or satin metal (stainless, aluminium); a colour anodises it.",metalness:1,roughness:.4,reflection:1,gain:1},chrome:{summary:"Polished metal: a mirror of the studio.",metalness:1,roughness:.05,reflection:1.15,gain:1}},O2=["studio","desk","wood"],ry={y:ct(0,1,.5,"centre of the text area along the part, 0 bottom \u2013 1 top"),height:ct(.05,1,.6,"height of the text area, as a share of the part"),arc:ct(20,360,160,"how far round the part the text area reaches","\xB0")},iy=24,H2=110,Ki={table:"studio",backdrop:["#d9dadc","#b9bbbf"]},z2="#8A8F98",fo=A=>typeof A=="object"&&A!==null&&!Array.isArray(A),sy=A=>typeof A=="string"&&/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i.test(A),ff=A=>typeof A=="number"&&Number.isFinite(A);function ou(A,e,t,n,o=!1){switch(A.type){case"number":return e===void 0&&!o?A.default:ff(e)?e<A.min||e>A.max?(n.push({path:t,message:`Must be between ${A.min} and ${A.max}.`}),Math.min(A.max,Math.max(A.min,e))):e:(n.push({path:t,message:`Must be a number between ${A.min} and ${A.max}.`}),A.default);case"boolean":return e===void 0?A.default:typeof e!="boolean"?(n.push({path:t,message:"Must be true or false."}),A.default):e;case"enum":return e===void 0?A.default:typeof e!="string"||!A.options.includes(e)?(n.push({path:t,message:`Must be one of: ${A.options.join(", ")}.`}),A.default):e;case"points":return Array.isArray(e)&&e.length>=A.min&&e.length<=A.max&&e.every(r=>Array.isArray(r)&&r.length===A.dims&&r.every(i=>ff(i)&&Math.abs(i)<=8))?e.map(r=>[...r]):(n.push({path:t,message:`Must be ${A.min}\u2013${A.max} points of ${A.dims} numbers each.`}),null)}}function P2(A,e,t,n){return A===void 0?[0,0,0]:!Array.isArray(A)||A.length!==3||!A.every(o=>ff(o)&&Math.abs(o)<=e)?(n.push({path:t,message:`Must be three numbers within \xB1${e}.`}),[0,0,0]):[A[0],A[1],A[2]]}function U2(A){if(!L2[A.shape].capabilities.includes("text-wrap"))return`a ${A.shape} cannot carry text; use a cylinder, sphere or revolve`;if(A.at[0]!==0||A.at[2]!==0||A.rotate.some(t=>t!==0))return"the part that carries text must sit on the axis, unturned (at x = z = 0, rotate 0)";let e=A.ops.find(t=>!df[t.op].keepsRound);return e?`the part that carries text must stay round; remove its ${e.op}`:null}function Ji(A,e="object"){let t=[];if(!fo(A))return{object:null,errors:[{path:e,message:"An object must be { name, parts, text }."}]};let n=Array.isArray(A.parts)?A.parts:[];(!Array.isArray(A.parts)||n.length===0)&&t.push({path:`${e}.parts`,message:"An object needs at least one part."}),n.length>iy&&t.push({path:`${e}.parts`,message:`An object has at most ${iy} parts.`});let o=[],a=new Set;if(n.slice(0,iy).forEach((v,Q)=>{let C=`${e}.parts.${Q}`;if(!fo(v)){t.push({path:C,message:"A part must be an object."});return}let y=v.shape;if(!R2.includes(y)){t.push({path:`${C}.shape`,message:`A part is one of: ${R2.join(", ")}.`});return}let w=typeof v.id=="string"&&v.id.trim()?v.id:"";(!w||a.has(w))&&(t.push({path:`${C}.id`,message:w?`Two parts are called \u201C${w}\u201D.`:"A part needs an id."}),w=`${y}-${Q}`),a.add(w);let I=L2[y],F=fo(v.params)?v.params:{};v.params!==void 0&&!fo(v.params)&&t.push({path:`${C}.params`,message:"params must be an object."});let G={},E=!0;for(let[R,P]of Object.entries(I.params)){let j=ou(P,F[R],`${C}.params.${R}`,t);j===null?E=!1:G[R]=j}for(let R of Object.keys(F))R in I.params||t.push({path:`${C}.params.${R}`,message:`A ${y} has no \u201C${R}\u201D; it takes: ${Object.keys(I.params).join(", ")}.`});if(!E)return;let D=[];v.ops!==void 0&&!Array.isArray(v.ops)&&t.push({path:`${C}.ops`,message:"ops must be a list."}),(Array.isArray(v.ops)?v.ops:[]).forEach((R,P)=>{let j=`${C}.ops.${P}`,K=fo(R)?R.op:void 0;if(!fo(R)||!K||!dy.includes(K)){t.push({path:j,message:`A manipulator is { op } with op one of: ${dy.join(", ")}.`});return}if(!I.capabilities.includes(K)){t.push({path:j,message:`A ${y} cannot ${K}.`});return}let H={op:K};for(let[N,Z]of Object.entries(df[K].params))H[N]=ou(Z,R[N],`${j}.${N}`,t);for(let N of Object.keys(R))N!=="op"&&!(N in df[K].params)&&t.push({path:`${j}.${N}`,message:`${K} has no \u201C${N}\u201D; it takes: ${Object.keys(df[K].params).join(", ")}.`});D.push(H)});let k=fo(v.material)?v.material:{};fo(v.material)||t.push({path:`${C}.material`,message:"A part needs a material: { type, color }."});let U=k.type;gl.includes(U)||(fo(v.material)&&t.push({path:`${C}.material.type`,message:`A material is one of: ${gl.join(", ")}.`}),U="plastic");let O=k.color;sy(O)||(fo(v.material)&&t.push({path:`${C}.material.color`,message:"A colour is a hex like #1F8A8A."}),O=z2);let T={type:U,color:O};for(let R of["roughness","metalness"])k[R]!==void 0&&(!ff(k[R])||k[R]<0||k[R]>1?t.push({path:`${C}.material.${R}`,message:"Must be between 0 and 1."}):T[R]=k[R]);o.push({id:w,shape:y,params:G,ops:D,material:T,at:P2(v.at,8,`${C}.at`,t),rotate:P2(v.rotate,360,`${C}.rotate`,t)})}),o.length===0)return{object:null,errors:t};let r=fo(A.text)?A.text:{};A.text!==void 0&&!fo(A.text)&&t.push({path:`${e}.text`,message:"text must be { on, y, height, arc, label }."});let i=o.find(v=>U2(v)===null),s=o.find(v=>v.id===r.on);if(!s)r.on!==void 0&&t.push({path:`${e}.text.on`,message:`No part is called \u201C${String(r.on)}\u201D; parts: ${o.map(v=>v.id).join(", ")}.`}),s=i;else{let v=U2(s);v&&(t.push({path:`${e}.text.on`,message:`Text cannot wrap \u201C${s.id}\u201D: ${v}.`}),s=i)}if(!s)return t.push({path:`${e}.text.on`,message:"No part can carry text: the object needs a cylinder, sphere or revolve on the axis."}),{object:null,errors:t};let l=null;r.label!==void 0&&r.label!==null&&(sy(r.label)?l=r.label:t.push({path:`${e}.text.label`,message:"label is a hex colour, or null to print straight onto the part."}));let d={on:s.id,y:ou(ry.y,r.y,`${e}.text.y`,t),height:ou(ry.height,r.height,`${e}.text.height`,t),arc:ou(ry.arc,r.arc,`${e}.text.arc`,t),label:l},u=fo(A.scene)?A.scene:{},c=u.table;O2.includes(c)||(u.table!==void 0&&t.push({path:`${e}.scene.table`,message:`table is one of: ${O2.join(", ")}.`}),c=Ki.table);let p=Ki.backdrop;u.backdrop!==void 0&&(Array.isArray(u.backdrop)&&u.backdrop.length===2&&u.backdrop.every(sy)?p=[u.backdrop[0],u.backdrop[1]]:t.push({path:`${e}.scene.backdrop`,message:"backdrop is two hex colours, top and bottom."}));let B=A.name;return(typeof B!="string"||!B.trim()||B.length>80)&&(A.name!==void 0&&t.push({path:`${e}.name`,message:"name is a short label."}),B="Object"),{object:{name:B,parts:o,text:d,scene:{table:c,backdrop:p}},errors:t}}function j2(A,e="object"){return Ji(A,e).errors}function G2(A,e){let t=[A[0]];for(let n=1;n<A.length-1;n++){let o=A[n-1],a=A[n],r=A[n+1],i=Math.hypot(o[0]-a[0],o[1]-a[1]),s=Math.hypot(r[0]-a[0],r[1]-a[1]),l=Math.min(e[n]??0,i*.5,s*.5);if(l<1e-5){t.push(a);continue}let d=[a[0]+(o[0]-a[0])/i*l,a[1]+(o[1]-a[1])/i*l],u=[a[0]+(r[0]-a[0])/s*l,a[1]+(r[1]-a[1])/s*l],c=6;for(let p=0;p<=c;p++){let B=p/c,v=1-B;t.push([v*v*d[0]+2*B*v*a[0]+B*B*u[0],v*v*d[1]+2*B*v*a[1]+B*B*u[1]])}}return t.push(A[A.length-1]),t}function K2(A,e){if(A.length<3)return A;let t=[];for(let n=0;n<A.length-1;n++){let o=A[Math.max(0,n-1)],a=A[n],r=A[n+1],i=A[Math.min(A.length-1,n+2)];for(let s=0;s<e;s++){let l=s/e,d=l*l,u=d*l;t.push(a.map((c,p)=>.5*(2*a[p]+(r[p]-o[p])*l+(2*o[p]-5*a[p]+4*r[p]-i[p])*d+(3*a[p]-o[p]-3*r[p]+i[p])*u)))}}return t.push(A[A.length-1]),t}function ly(A,e){let t=[];for(let n=0;n<A.length-1;n++){let o=A[n],a=A[n+1],r=Math.max(1,Math.min(48,Math.ceil(Math.hypot(a[0]-o[0],a[1]-o[1])/e)));for(let i=0;i<r;i++)t.push([o[0]+(a[0]-o[0])*i/r,o[1]+(a[1]-o[1])*i/r])}return t.push(A[A.length-1]),t}var cy=64;function ES(A){let e=cy+1,t=[];for(let[n,o]of A){let a=Math.max(0,n);for(let r=0;r<=cy;r++){let i=r/cy*Math.PI*2;t.push(a*Math.sin(i),o,a*Math.cos(i))}}return{positions:t,rows:A.length,cols:e}}function QS(A,e){if(A==="cylinder"){let a=e.radius,r=e.height,i=Math.min(e.hollow,a*.9),s=Math.min(e.round,a*.95,r*.5);if(i<=0)return ly(G2([[0,0],[a,0],[a,r],[0,r]],[0,s,s,0]),r/28);let l=Math.min(i,r*.5);return ly(G2([[0,0],[a,0],[a,r],[a-i,r],[a-i,l],[0,l]],[0,s,i*.5,i*.5,Math.min(s,(a-i)*.9),0]),r/28)}if(A==="sphere"){let a=e.radius,r=28;return Array.from({length:r+1},(i,s)=>{let l=-Math.PI/2+Math.PI*s/r;return[s===0||s===r?0:a*Math.cos(l),a*Math.sin(l)]})}if(A==="ring"){let a=e.radius,r=Math.min(e.thickness,a),i=20;return Array.from({length:i+1},(s,l)=>{let d=Math.PI*2*l/i-Math.PI/2;return[a+r*Math.cos(d),r*Math.sin(d)]})}let t=e.profile.map(a=>[Math.max(0,a[0]),a[1]]);e.smooth&&(t=K2(t,6).map(a=>[Math.max(0,a[0]),a[1]]));let n=0;for(let a=0;a<t.length;a++){let r=t[a],i=t[(a+1)%t.length];n+=r[0]*i[1]-i[0]*r[1]}n<0&&t.reverse();let o=Math.max(.001,Math.max(...t.map(a=>a[1]))-Math.min(...t.map(a=>a[1])));return ly(t,o/28)}function xS(A,e){let o=A.length,a=[],r=u=>{let c=A[Math.max(0,u-1)],p=A[Math.min(o-1,u+1)],B=Math.hypot(p[0]-c[0],p[1]-c[1],p[2]-c[2])||1;return[(p[0]-c[0])/B,(p[1]-c[1])/B,(p[2]-c[2])/B]},i=r(0),s=Math.abs(i[2])<.9?[0,0,1]:[1,0,0],l=hf(gf(gf(i,s),i)),d=(u,c)=>{let p=r(u);l=hf([l[0]-p[0]*uy(l,p),l[1]-p[1]*uy(l,p),l[2]-p[2]*uy(l,p)]);let B=gf(p,l),v=A[u];for(let Q=0;Q<=20;Q++){let C=Q/20*Math.PI*2,y=Math.cos(C)*c,w=Math.sin(C)*c;a.push(v[0]+l[0]*y+B[0]*w,v[1]+l[1]*y+B[1]*w,v[2]+l[2]*y+B[2]*w)}};d(0,0);for(let u=0;u<o;u++)d(u,e);return d(o-1,0),{positions:a,rows:o+2,cols:21}}function MS(A,e,t){let n=[A/2,e/2,t/2],o=6;return[[0,1,2,1],[0,2,1,-1],[1,2,0,1],[1,0,2,-1],[2,0,1,1],[2,1,0,-1]].map(([r,i,s,l])=>{let d=[];for(let u=0;u<=o;u++)for(let c=0;c<=o;c++){let p=[0,0,0];p[r]=l*n[r],p[i]=(c/o-.5)*2*n[i],p[s]=(u/o-.5)*2*n[s],d.push(p[0],p[1],p[2])}return{positions:d,rows:o+1,cols:o+1}})}var gf=(A,e)=>[A[1]*e[2]-A[2]*e[1],A[2]*e[0]-A[0]*e[2],A[0]*e[1]-A[1]*e[0]],uy=(A,e)=>A[0]*e[0]+A[1]*e[1]+A[2]*e[2],hf=A=>{let e=Math.hypot(A[0],A[1],A[2])||1;return[A[0]/e,A[1]/e,A[2]/e]},Zr=Math.PI/180;function IS(A,e){if(e.length===0)return;let t=1/0,n=-1/0;for(let a=1;a<A.length;a+=3)A[a]<t&&(t=A[a]),A[a]>n&&(n=A[a]);let o=Math.max(1e-6,n-t);for(let a=0;a<A.length;a+=3){let r=(A[a+1]-t)/o,i=A[a],s=A[a+1],l=A[a+2];for(let d of e){let u=c=>d[c];if(d.op==="taper"){let c=u("bottom")+(u("top")-u("bottom"))*r;i*=c,l*=c}else if(d.op==="flare"){let c=1+u("amount")*No(u("start"),1,d.end==="bottom"?1-r:r);i*=c,l*=c}else if(d.op==="bulge"){let c=1+u("amount")*Math.exp(-(((r-u("center"))/u("width"))**2));i*=c,l*=c}else if(d.op==="twist"){let c=u("angle")*Zr*r,p=Math.cos(c),B=Math.sin(c),v=i*p+l*B;l=-i*B+l*p,i=v}else if(d.op==="bend"){let c=u("angle")*Zr;if(Math.abs(c)>1e-4){let p=o/c,B=c*r,v=p-i;i=p-v*Math.cos(B),s=t+v*Math.sin(B)}}else d.op==="scale"&&(i*=u("x"),s=t+(s-t)*u("y"),l*=u("z"))}A[a]=i,A[a+1]=s,A[a+2]=l}}function N2(A,e){if(e[0]){let t=Math.cos(e[0]*Zr),n=Math.sin(e[0]*Zr),o=A[1]*t-A[2]*n;A[2]=A[1]*n+A[2]*t,A[1]=o}if(e[1]){let t=Math.cos(e[1]*Zr),n=Math.sin(e[1]*Zr),o=A[0]*t+A[2]*n;A[2]=-A[0]*n+A[2]*t,A[0]=o}if(e[2]){let t=Math.cos(e[2]*Zr),n=Math.sin(e[2]*Zr),o=A[0]*t-A[1]*n;A[1]=A[0]*n+A[1]*t,A[0]=o}}function DS(A){let e=vS[A.type];return{color:A.color,metalness:A.metalness??e.metalness,roughness:A.roughness??e.roughness,reflection:e.reflection,gain:e.gain}}function J2(A){let e=Ji(A).object;if(!e)throw new Error("construct: nothing in this object can be drawn (see validateObject).");let t=[],n=[],o=[],a=[],r=[1/0,1/0,1/0],i=[-1/0,-1/0,-1/0],s=null;for(let l of e.parts){let d=l.params,u=l.shape==="tube"?[xS(d.smooth?K2(d.path,8):d.path,d.radius)]:l.shape==="box"?MS(d.width,d.height,d.depth):[ES(QS(l.shape,d))],c=t.length/3,p=o.length,B=[],v=[];for(let D of u){let k=B.length/3;for(let U of D.positions)B.push(U);for(let U=0;U<D.rows-1;U++)for(let O=0;O<D.cols-1;O++){let T=k+U*D.cols+O,R=T+1,P=T+D.cols,j=P+1;v.push(T,R,P,R,j,P)}}IS(B,l.ops);let Q=B.length/3,C=new Float64Array(Q*3);for(let D=0;D<v.length;D+=3){let k=v[D]*3,U=v[D+1]*3,O=v[D+2]*3,T=gf([B[U]-B[k],B[U+1]-B[k+1],B[U+2]-B[k+2]],[B[O]-B[k],B[O+1]-B[k+1],B[O+2]-B[k+2]]);for(let R of[k,U,O])C[R]=C[R]+T[0],C[R+1]=C[R+1]+T[1],C[R+2]=C[R+2]+T[2]}let y=new Float64Array(Q*3),w=new Map;for(let D=0;D<Q;D++){let k=hf([C[D*3],C[D*3+1],C[D*3+2]]),U=Math.hypot(C[D*3],C[D*3+1],C[D*3+2])<1e-12;y[D*3]=U?0:k[0],y[D*3+1]=U?0:k[1],y[D*3+2]=U?0:k[2];let O=`${Math.round(B[D*3]*2e4)},${Math.round(B[D*3+1]*2e4)},${Math.round(B[D*3+2]*2e4)}`,T=w.get(O);T?T.push(D):w.set(O,[D])}let I=new Float64Array(Q*3);for(let D of w.values())for(let k of D){let U=[y[k*3],y[k*3+1],y[k*3+2]],O=U[0]===0&&U[1]===0&&U[2]===0,T=0,R=0,P=0;for(let K of D)!O&&K!==k&&U[0]*y[K*3]+U[1]*y[K*3+1]+U[2]*y[K*3+2]<.4||(T+=C[K*3],R+=C[K*3+1],P+=C[K*3+2]);let j=hf([T,R,P]);I[k*3]=j[0],I[k*3+1]=j[1],I[k*3+2]=j[2]}let F=[0,0,0],G=1/0,E=-1/0;for(let D=0;D<Q;D++){F[0]=B[D*3],F[1]=B[D*3+1],F[2]=B[D*3+2],N2(F,l.rotate),F[0]+=l.at[0],F[1]+=l.at[1],F[2]+=l.at[2],t.push(F[0],F[1],F[2]);for(let k=0;k<3;k++)F[k]<r[k]&&(r[k]=F[k]),F[k]>i[k]&&(i[k]=F[k]);F[1]<G&&(G=F[1]),F[1]>E&&(E=F[1]),F[0]=I[D*3],F[1]=I[D*3+1],F[2]=I[D*3+2],N2(F,l.rotate),n.push(F[0],F[1],F[2])}for(let D of v)o.push(c+D);if(a.push({id:l.id,start:p,count:o.length-p,material:DS(l.material)}),l.id===e.text.on){let k=new Float32Array(129).fill(-1),U=u[0],O=Math.max(1e-6,E-G),T=P=>{let j=(c+P*U.cols)*3;return[Math.hypot(t[j],t[j+2]),t[j+1]]};for(let P=0;P<U.rows-1;P++){let[j,K]=T(P),[H,N]=T(P+1),Z=Math.round((Math.min(K,N)-G)/O*128),_=Math.round((Math.max(K,N)-G)/O*128);for(let q=Z;q<=_;q++){let $=G+q/128*O,vA=Math.abs(N-K)<1e-9?.5:Math.min(1,Math.max(0,($-K)/(N-K))),fA=Math.abs(N-K)<1e-9?Math.max(j,H):j+(H-j)*vA;fA>k[q]&&(k[q]=fA)}}for(let P=1;P<=128;P++)k[P]<0&&(k[P]=k[P-1]);for(let P=127;P>=0;P--)k[P]<0&&(k[P]=k[P+1]);let R=G;s={id:l.id,y0:G,y1:E,color:l.material.color,radiusAt:P=>{let j=Math.min(1,Math.max(0,(P-R)/O))*128,K=Math.min(127,Math.floor(j));return Math.max(.001,k[K]+(k[K+1]-k[K])*(j-K))}}}}if(!s)throw new Error(`construct: no part \u201C${e.text.on}\u201D to carry the text.`);return{positions:new Float32Array(t),normals:new Float32Array(n),indices:new Uint32Array(o),count:t.length/3,ranges:a,bounds:{min:r,max:i},host:s}}var Lo=(A,e,t,n,o={})=>({id:A,shape:e,params:t,material:n,ops:o.ops??[],at:o.at??[0,0,0],rotate:o.rotate??[0,0,0]}),fl={tumbler:{summary:"A tapered travel tumbler with a metal rim and a dark foot.",composition:"cylinder (hollow, taper) + ring (rim) + cylinder (foot)",build:(A={})=>({name:"Tumbler",parts:[Lo("body","cylinder",{radius:.38,height:1.5,hollow:.025,round:.05},{type:A.material??"matte",color:A.color??"#1F8A8A"},{ops:[{op:"taper",bottom:.78,top:1}]}),Lo("rim","ring",{radius:.372,thickness:.02},{type:"chrome",color:A.accent??"#D9DCE1"},{at:[0,1.5,0]}),Lo("foot","cylinder",{radius:.305,height:.07,round:.02},{type:"matte",color:"#1B1D20"},{at:[0,-.04,0]})],text:{on:"body",y:.52,height:.62,arc:170,label:A.label??null},scene:Ki})},mug:{summary:"A coffee mug: a hollow body and a handle.",composition:"cylinder (hollow) + tube (handle)",build:(A={})=>{let e={type:A.material??"ceramic",color:A.color??"#17181A"};return{name:"Mug",parts:[Lo("body","cylinder",{radius:.42,height:.95,hollow:.035,round:.06},e),Lo("handle","tube",{path:[[.39,.74,0],[.62,.78,0],[.74,.5,0],[.64,.2,0],[.39,.22,0]],radius:.05,smooth:!0},e)],text:{on:"body",y:.5,height:.7,arc:170,label:A.label??null},scene:Ki}}},can:{summary:"A drinks can: a body necked in at both ends, a lid and its rim.",composition:"cylinder (flare in, both ends) + cylinder (lid) + ring (rim)",build:(A={})=>({name:"Can",parts:[Lo("body","cylinder",{radius:.33,height:1.22,round:.02},{type:A.material??"metal",color:A.color??"#C8102E"},{ops:[{op:"flare",amount:-.14,start:.88,end:"top"},{op:"flare",amount:-.16,start:.93,end:"bottom"}]}),Lo("lid","cylinder",{radius:.27,height:.012},{type:"metal",color:A.accent??"#C9CDD3"},{at:[0,1.214,0]}),Lo("rim","ring",{radius:.277,thickness:.012},{type:"chrome",color:A.accent??"#C9CDD3"},{at:[0,1.224,0]})],text:{on:"body",y:.5,height:.7,arc:200,label:A.label??null},scene:Ki})},bottle:{summary:"A shampoo or lotion bottle: a rounded body, a neck and a cap.",composition:"cylinder (rounded) + cylinder (neck) + cylinder (cap)",build:(A={})=>({name:"Bottle",parts:[Lo("body","cylinder",{radius:.36,height:1.25,round:.12},{type:A.material??"plastic",color:A.color??"#E9E4DA"}),Lo("neck","cylinder",{radius:.13,height:.14},{type:A.material??"plastic",color:A.color??"#E9E4DA"},{at:[0,1.22,0]}),Lo("cap","cylinder",{radius:.17,height:.24,round:.03},{type:"plastic",color:A.accent??"#2B2D31"},{at:[0,1.3,0]})],text:{on:"body",y:.5,height:.6,arc:170,label:A.label??null},scene:Ki})}};function hl(A,e={}){let t=fl[A];return t?t.build(e):{name:A||"Object",parts:[Lo("body","cylinder",{radius:.36,height:1.2,round:.03},{type:e.material??"plastic",color:e.color??z2})],text:{on:"body",y:.5,height:.6,arc:160,label:e.label??null},scene:Ki}}var SS=(A,e,t)=>{A[2]+=.0035*(1-No(0,.035,Math.abs(t)))},FS=(A,e,t,n)=>{let o=e/.5,a=t/(.8/1.4/2),r=Math.abs(o),i=n.curve,s=1-No(.7,.9,r),l=No(.86,.92,r),d=Math.pow(Math.max(0,1-a*a),.62);A[2]+=i*.085*d*s,A[1]*=1-i*.12*s*(1-a*a*.3),A[0]*=1-i*.035;let u=No(.55,.8,r)*(1-l);A[2]+=(i*.8+n.wrinkle*.6)*.012*u*Math.sin(a*11+e*3)*(.6+.4*Math.sin(a*23.7+1.3)),A[2]+=l*.0045*Math.sin(a*70)},TS=(A,e,t,n,o,a)=>{let r=n.wave;if(r<=0)return;let i=o/1e3*a,s=[[1.35,6.2,1,.3,.35],[1.62,9.4,.55,1.7,-.25],[1.1,4.1,.8,2.2,.18],[.35,7.3,.35,.9,.3]],l=0,d=0,u=0;for(let[p,B,v,Q,C]of s){let y=Math.cos(p),w=Math.sin(p),I=(e*y+t*w)*B*2.4+Q+i*C+.6*Math.sin(e*2.3-t*1.7+Q),F=Math.pow(.5+.5*Math.cos(I),1.6);l+=v*F,d+=y*v*.5,u+=w*v*.5}A[2]+=r*.034*l;let c=r*.05;A[0]-=c*e*Math.abs(d)*.5,A[1]-=c*t*Math.abs(u)*.5},ut=(A,e,t)=>({label:A,deformation:e,view:t}),_2={flat:ut("Flat",{}),folded:ut("Folded",{fold:{amount:1,position:.5,direction:"under",orientation:"horizontal"}}),"double-folded":ut("Double folded",{fold:{amount:1,position:.5,direction:"under",orientation:"horizontal"},fold2:{amount:1,position:.5,direction:"under",orientation:"vertical"}}),rolled:ut("Rolled",{roll:{amount:1,edge:"bottom",direction:"under"}}),"partially-folded":ut("Partially folded",{fold:{amount:.55,position:.52,direction:"over",orientation:"vertical"}}),"letter-folded":ut("Letter folded (3 panels)",{fold:{amount:1,position:.667,direction:"over",orientation:"horizontal",side:"far",width:.02},fold2:{amount:1,position:.333,direction:"over",orientation:"horizontal",side:"near",width:.02}}),"folded-in-four":ut("Folded four times",{fold:{amount:1,position:.5,direction:"under",orientation:"horizontal",width:.02},fold2:{amount:1,position:.5,direction:"under",orientation:"vertical",width:.02},fold3:{amount:1,position:.25,direction:"under",orientation:"vertical",side:"near",width:.02},fold4:{amount:.5,position:.25,direction:"over",orientation:"horizontal",side:"near",width:.02}}),"wrapped-rod":ut("Wrapped on rods",{wrap1:{amount:1,position:.78,radius:.05,angle:200,direction:"under",orientation:"vertical",side:"far"},wrap2:{amount:1,position:.22,radius:.05,angle:200,direction:"under",orientation:"vertical",side:"near"}}),crumpled:ut("Crumpled",{crumple:{amount:.5}}),"heavily-crumpled":ut("Heavily crumpled",{crumple:{amount:1}})},V2={id:"newspaper",name:"Newspaper",blurb:"A broadsheet page on a stack of pages: columns, photos, ads, grain and the fold it was delivered in.",width:1,height:1.36,grid:[160,218],art:"newspaper",shading:"newsprint",table:"desk",backdrop:["#2b2723","#15130f"],color:"#ECE6D6",material:{type:"ink",halftone:.35},curveRadius:.16,curveMode:"cylinder",stack:{sheets:2,gap:.0026},looseSheet:!0,wrinkleDepth:.02,shape:SS,states:_2,defaultState:"flat",camera:{flat:0,deep:56}},kS={id:"paper",name:"Paper",blurb:"A plain letter sheet: fine tooth, a watermark, nothing printed but your words.",width:.85,height:1.1,grid:[140,182],art:"paper",shading:"paper",table:"wood",backdrop:["#2f2a25","#171411"],color:"#F6F1E6",material:{type:"ink",halftone:0},curveRadius:.14,curveMode:"cylinder",wrinkleDepth:.02,states:_2,defaultState:"flat",camera:{flat:0,deep:54}},YS={id:"bottle",name:"Bottle",blurb:"A paper label on a dark glass wine bottle: the label wraps the cylinder, the text wraps with it.",width:1.81,height:.86,grid:[220,96],art:"label",shading:"label",table:"studio",backdrop:["#d9dadc","#b9bbbf"],color:"#1A1512",material:{type:"print",halftone:0,grainInfluence:.25,paperInfluence:.35},curveRadius:.3625,curveMode:"cylinder",prop:"bottle",wrinkleDepth:.004,states:{flat:ut("Flat label",{}),curved:ut("Curving",{curve:.5}),wrapped:ut("Wrapped",{curve:1}),lying:ut("Lying on the table",{curve:1},{roll:-28})},defaultState:"wrapped",camera:{flat:0,deep:48}},RS={id:"wrapper",name:"Wrapper",blurb:"A glossy pillow pack: an inflated body, crimped seals, film gathered into ribs.",width:1.4,height:.8,grid:[210,120],art:"wrapper",shading:"film",table:"studio",backdrop:["#e8e2d8","#c8c0b2"],color:"#F2B705",material:{type:"print",halftone:0,grainInfluence:.1,paperInfluence:.25,gloss:.7},curveRadius:.4,curveMode:"inflate",wrinkleDepth:.012,shape:FS,states:{flat:ut("Flat film",{}),pillow:ut("Inflated",{curve:1}),folded:ut("Folded end",{curve:.8,fold:{amount:.85,position:.8,angle:160,direction:"under",width:.05}}),wrinkled:ut("Wrinkled",{curve:1,wrinkle:.9,crumple:{amount:.12,scale:.7}})},defaultState:"pillow",camera:{flat:0,deep:52}},OS={id:"fabric",name:"Fabric",blurb:"Woven cotton lying in soft folds that drift in a breeze; the print moves with the cloth.",width:1.4,height:1.1,grid:[180,142],art:"fabric",shading:"fabric",table:"wood",backdrop:["#28231e","#12100d"],color:"#2F4A73",material:{type:"print",halftone:0,grainInfluence:.6,paperInfluence:.45,inkRoughness:.55},curveRadius:.3,curveMode:"cylinder",wrinkleDepth:.018,shape:TS,states:{flat:ut("Laid flat",{}),draped:ut("Soft folds",{wave:.7}),folded:ut("Folded over",{wave:.45,fold:{amount:.8,position:.66,angle:170,width:.07,direction:"over"}}),creased:ut("Creased",{wave:.5,wrinkle:.8,crumple:{amount:.2,scale:1.3}})},defaultState:"draped",camera:{flat:0,deep:52}},X2=[V2,kS,YS,RS,OS],$2=new Map(X2.map(A=>[A.id,A])),$k=Object.fromEntries(X2.map(A=>[A.id,A]));function qr(A){return $2.get(A)??V2}function Z2(A){return $2.has(A)}var W2=.0025,au=new Map;function Wi(A){let e=JSON.stringify(A),t=au.get(e);if(t)return t;let n=Ji(A).object??Ji(hl("")).object,o=J2(n),{host:a}=o,r=a.y1-a.y0,i=Math.max(.02,n.text.height*r),s=Math.min(a.y1-i/2,Math.max(a.y0+i/2,a.y0+n.text.y*r)),l=a.radiusAt(s)+W2,d=n.text.arc*Math.PI/180*l,u=new Float32Array(o.positions);for(let Q=0;Q<o.count;Q++)u[Q*3+1]=u[Q*3+1]-s,u[Q*3+2]=u[Q*3+2]-l;let{min:c,max:p}=o.bounds,B=Math.round(Math.min(260,Math.max(96,n.text.arc*1.1))),v={id:`object:${PS(e)}`,name:n.name,blurb:`Built from ${n.parts.map(Q=>Q.shape).join(" + ")}.`,width:d,height:i,grid:[B,Math.round(Math.min(220,Math.max(24,B*i/d)))],art:"plain",shading:"label",table:n.scene.table,backdrop:n.scene.backdrop,color:n.text.label??a.color,material:{type:"print",halftone:0,grainInfluence:n.text.label?.25:.05,paperInfluence:n.text.label?.35:.15},curveRadius:l,curveMode:"cylinder",wrinkleDepth:.004,solid:{positions:u,normals:o.normals,indices:o.indices,count:o.count,ranges:o.ranges},radiusAt:Q=>a.radiusAt(Q+s)+W2,sheet:n.text.label?"visible":"hidden",frameRadius:.5*Math.hypot(p[0]-c[0],p[1]-c[1],p[2]-c[2])*1.06,states:{wrapped:ut("Standing",{curve:1}),lying:ut("Lying on the table",{curve:1},{roll:-28}),turned:ut("Turned away",{curve:1,tiltX:.5}),tipped:ut("Tipped toward you",{curve:1,tiltY:-.7})},defaultState:"wrapped",camera:{flat:0,deep:48}};return au.size>=12&&au.delete(au.keys().next().value),au.set(e,v),v}function PS(A){let e=2166136261;for(let t=0;t<A.length;t++)e=Math.imul(e^A.charCodeAt(t),16777619);return(e>>>0).toString(36)}function pf(A){return A.object?Wi(A.object):qr(A.surface.type)}var Ai=["newspaper","paper","bottle","wrapper","fabric"],US=["ink","print","foil","emboss"],hy=["normal","multiply","screen","overlay","darken","lighten","color-burn","soft-light"],GS=["left","center","right"],A4=["vertical","horizontal"],py=["over","under"],NS=["bottom","top","left","right"],e4=["far","near"],my=["fold","fold2","fold3","fold4"],yy=["wrap1","wrap2","wrap3","wrap4"],q2=["wrap","morph","perspective","curve","fold","fold2","fold3","fold4","wrap1","wrap2","wrap3","wrap4","roll","crumple","wave","wrinkle","blend"],t4={wrap:"deformation.wrap",morph:"deformation.morph",perspective:"deformation.perspective",curve:"deformation.curve",fold:"deformation.fold.amount",fold2:"deformation.fold2.amount",fold3:"deformation.fold3.amount",fold4:"deformation.fold4.amount",wrap1:"deformation.wrap1.amount",wrap2:"deformation.wrap2.amount",wrap3:"deformation.wrap3.amount",wrap4:"deformation.wrap4.amount",roll:"deformation.roll.amount",crumple:"deformation.crumple.amount",wave:"deformation.wave",wrinkle:"deformation.wrinkle",blend:"material.blend"},mf={amount:0,position:.5,angle:180,width:.035,influence:.7,orientation:"vertical",direction:"over",side:"far"},yf={amount:0,position:.7,radius:.06,angle:300,orientation:"vertical",direction:"under",side:"far"},ml={wrap:0,morph:0,perspective:0,tiltX:0,tiltY:0,skew:0,curve:0,fold:mf,fold2:{...mf,orientation:"horizontal"},fold3:{...mf,position:.25},fold4:{...mf,position:.25,orientation:"horizontal"},wrap1:yf,wrap2:{...yf,side:"near",position:.3},wrap3:{...yf,orientation:"horizontal"},wrap4:{...yf,orientation:"horizontal",side:"near",position:.3},roll:{amount:0,edge:"bottom",radius:.085,direction:"under"},crumple:{amount:0,scale:1},wave:0,wrinkle:0},Aa={version:1,text:"BREAKING NEWS",typography:{fontFamily:"'Anton', 'Impact', sans-serif",fontWeight:400,fontStyle:"normal",fontSize:128,letterSpacing:2,lineHeight:1,align:"center",color:"#E0271B",gradient:{enabled:!1,from:"#E0271B",to:"#7A0C06",angle:90},opacity:1,blendMode:"multiply"},placement:{x:.5,y:.34,rotation:0,maxWidth:900},surface:{type:"newspaper",state:"flat",seed:7,color:null},object:null,deformation:{...ml,wrap:1},material:{type:"ink",blend:.75,inkStrength:.9,inkSpread:.35,inkRoughness:.4,paperInfluence:.75,grainInfluence:.5,halftone:0,displacement:.6,surfaceContrast:1,lift:.1,shadow:.6,gloss:.1,emboss:.15},view:{yaw:0,pitch:0,zoom:1,roll:0,autoCenter:!0,motion:1},animation:{duration:9e3,loop:!0,stages:[{key:"wrap",start:.04,end:.24,easing:"ease-in-out",label:"wrap"},{key:"blend",start:.3,end:.62,easing:"ease-in-out",label:"print"}]}},$A=(A,e,t,n,o,a,r,i)=>({path:A,label:e,group:t,kind:"number",min:n,max:o,step:a,hint:r,unit:i}),ho=(A,e,t,n,o)=>({path:A,label:e,group:t,kind:"enum",options:n,hint:o}),gy=(A,e,t,n)=>({path:A,label:e,group:t,kind:"color",hint:n}),fy=(A,e,t,n)=>({path:A,label:e,group:t,kind:"boolean",hint:n}),bf=(A,e)=>[$A(`deformation.${A}.amount`,`${e} amount`,"fold",0,1,.01,"how far the fold has gone; the angle reached is angle \xD7 amount"),$A(`deformation.${A}.position`,`${e} position`,"fold",.05,.95,.005,"where the crease runs, across the surface"),$A(`deformation.${A}.angle`,`${e} angle`,"fold",0,180,1,"the angle at full amount; 180 folds flat","\xB0"),$A(`deformation.${A}.width`,`${e} width`,"fold",.004,.5,.001,"the rounded crease, as a share of the width"),$A(`deformation.${A}.influence`,`${e} influence`,"fold",0,1,.01,"how strongly the crease shades the paper and the letters"),ho(`deformation.${A}.orientation`,`${e} orientation`,"fold",A4,"a vertical crease folds left/right; horizontal folds top/bottom"),ho(`deformation.${A}.direction`,`${e} direction`,"fold",py,"over lifts toward the camera; under tucks beneath"),ho(`deformation.${A}.side`,`${e} side`,"fold",e4,"which side moves: far = right/below the crease, near = left/above")],wf=(A,e)=>[$A(`deformation.${A}.amount`,`${e} amount`,"wraps",0,1,.01,"how far round the rod the sheet has wrapped"),$A(`deformation.${A}.position`,`${e} position`,"wraps",.02,.98,.005,"where the wrap starts, across the surface"),$A(`deformation.${A}.radius`,`${e} radius`,"wraps",.01,.5,.005,"the rod, as a share of the width"),$A(`deformation.${A}.angle`,`${e} angle`,"wraps",0,360,1,"how far round at full amount; 360 goes all the way","\xB0"),ho(`deformation.${A}.orientation`,`${e} orientation`,"wraps",A4,"vertical rod or horizontal rod"),ho(`deformation.${A}.direction`,`${e} direction`,"wraps",py,"over wraps toward the camera; under wraps away"),ho(`deformation.${A}.side`,`${e} side`,"wraps",e4,"which side wraps: far = right/below, near = left/above")],LS=[{path:"text",label:"Text",group:"text",kind:"text",hint:"any words; \\n breaks a line"},{path:"typography.fontFamily",label:"Font family",group:"typography",kind:"text",hint:"any CSS font-family list the page has loaded"},$A("typography.fontWeight","Weight","typography",100,900,100,"font weight"),ho("typography.fontStyle","Style","typography",["normal","italic"],"upright or italic"),$A("typography.fontSize","Size","typography",12,400,1,"surface units; the surface is 1000 wide","u"),$A("typography.letterSpacing","Letter spacing","typography",-40,120,1,"extra space between letters","u"),$A("typography.lineHeight","Line height","typography",.6,2.5,.01,"line pitch as a multiple of the size"),ho("typography.align","Alignment","typography",GS,"how lines align in the block"),gy("typography.color","Colour","typography","the letters"),fy("typography.gradient.enabled","Gradient","typography","fill the letters with a two-colour gradient"),gy("typography.gradient.from","Gradient from","typography","first stop"),gy("typography.gradient.to","Gradient to","typography","last stop"),$A("typography.gradient.angle","Gradient angle","typography",0,360,1,"0 runs left \u2192 right; 90 runs top \u2192 bottom","\xB0"),$A("typography.opacity","Opacity","typography",0,1,.01,"of the letters"),ho("typography.blendMode","Blend mode","typography",hy,"how the letters combine with the surface once printed"),$A("placement.x","Position X","placement",0,1,.001,"centre of the text, 0\u20131 across the surface"),$A("placement.y","Position Y","placement",0,1,.001,"centre of the text, 0\u20131 down the surface"),$A("placement.rotation","Rotation","placement",-180,180,.5,"on the surface, clockwise","\xB0"),$A("placement.maxWidth","Max width","placement",0,1e3,5,"lines wrap past this width; 0 never wraps","u"),ho("surface.type","Surface","surface",Ai,"what the text meets"),{path:"surface.state",label:"State",group:"surface",kind:"text",hint:"a named state of the surface (flat, folded, crumpled\u2026)"},$A("surface.seed","Seed","surface",0,99999,1,"every crease, wrinkle, photo and line of copy"),$A("deformation.wrap","Wrap","deformation",0,1,.01,"floating typography \u2192 conformed to the surface"),$A("deformation.morph","Morph","deformation",0,1,.01,"letters peel off and land one at a time"),$A("deformation.perspective","Perspective","deformation",0,1,.01,"from straight above to a low, wide-angle view"),$A("deformation.tiltX","Horizontal distortion","deformation",-1,1,.01,"turns the object left/right"),$A("deformation.tiltY","Vertical distortion","deformation",-1,1,.01,"tips the object toward/away"),$A("deformation.skew","Skew","deformation",-1,1,.01,"shears the surface in its own plane"),$A("deformation.curve","Curve","deformation",0,1,.01,"cylindrical curvature: a label on a bottle, a bent plate, an inflated pack"),...bf("fold","Fold"),...bf("fold2","Second fold"),...bf("fold3","Third fold"),...bf("fold4","Fourth fold"),...wf("wrap1","Wrap 1"),...wf("wrap2","Wrap 2"),...wf("wrap3","Wrap 3"),...wf("wrap4","Wrap 4"),$A("deformation.roll.amount","Roll","deformation",0,1,.01,"rolls the surface up from one edge"),ho("deformation.roll.edge","Roll from","deformation",NS,"the edge that rolls first"),$A("deformation.roll.radius","Roll radius","deformation",.03,.3,.005,"outer radius of the roll, as a share of the width"),ho("deformation.roll.direction","Roll direction","deformation",py,"under keeps the printed side outside"),$A("deformation.crumple.amount","Crumple","deformation",0,1,.01,"creased facets; past 0.6 the sheet is crushed"),$A("deformation.crumple.scale","Crumple scale","deformation",.4,2.5,.01,"size of the facets"),$A("deformation.wave","Wave","deformation",0,1,.01,"soft waves: fabric drape, a rippled pane"),$A("deformation.wrinkle","Wrinkle","deformation",0,1,.01,"fine wrinkles: film, creased cloth"),ho("material.type","Material","material",US,"how the letters join the surface"),$A("material.blend","Blend","material",0,1,.01,"floating \u2192 lit by the surface \u2192 printed \u2192 embedded"),$A("material.inkStrength","Ink strength","material",0,1,.01,"how dark and saturated the ink prints"),$A("material.inkSpread","Ink spread","material",0,1,.01,"ink bleeding into the fibres"),$A("material.inkRoughness","Ink roughness","material",0,1,.01,"ragged, uneven ink edges"),$A("material.paperInfluence","Paper influence","material",0,1,.01,"how much of the surface colour shows through"),$A("material.grainInfluence","Grain influence","material",0,1,.01,"paper grain breaking up the ink"),$A("material.halftone","Halftone","material",0,1,.01,"embedded ink becomes a printing screen"),$A("material.displacement","Displacement","material",0,4,.05,"ink misregistration, surface units","u"),$A("material.surfaceContrast","Surface contrast","material",0,1.5,.01,"how much surface light and shadow fall on the letters"),$A("material.lift","Float height","material",0,.4,.005,"how high floating letters hover"),$A("material.shadow","Float shadow","material",0,1,.01,"the shadow the letters cast while floating"),$A("material.gloss","Gloss","material",0,1,.01,"varnish on the letters"),$A("material.emboss","Emboss","material",0,1,.01,"relief depth"),$A("view.yaw","Orbit","view",-180,180,.5,"camera left/right","\xB0"),$A("view.pitch","Tilt","view",-30,60,.5,"camera tilt, added to perspective","\xB0"),$A("view.zoom","Zoom","view",.4,3,.01,"1 fills the frame"),$A("view.roll","Object angle","view",-180,180,.5,"turns the object on the table","\xB0"),fy("view.autoCenter","Auto-centre","view","keep the object centred while it folds and rolls"),$A("view.motion","Ambient motion","view",0,2,.01,"time-driven motion: fabric in a breeze, a bottle turning"),$A("animation.duration","Length","animation",1e3,6e4,100,"one pass of the timeline","ms"),fy("animation.loop","Loop","animation","play again from the start")],Ea=160,pl=A=>typeof A=="object"&&A!==null&&!Array.isArray(A),ru=A=>typeof A=="string"&&/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i.test(A);function Bf(A,e){return e.split(".").reduce((t,n)=>pl(t)?t[n]:void 0,A)}function by(A,e,t){let[n,...o]=e.split("."),a=pl(A)?A:{};return{...a,[n]:o.length?by(a[n],o.join("."),t):t}}function n4(A,e){if(!pl(A)||!pl(e))return e===void 0?A:e;let t={...A};for(let[n,o]of Object.entries(e))t[n]=o===void 0?t[n]:n==="object"?o:n4(A[n],o);return t}function wy(A={},e=Aa){return n4(e,A)}function HS(A,e){switch(A.kind){case"number":return typeof e!="number"||!Number.isFinite(e)?`${A.label} must be a number.`:e<A.min||e>A.max?`${A.label} must be between ${A.min} and ${A.max}.`:null;case"enum":return A.path==="surface.type"&&typeof e=="string"&&Z2(e)||A.options.includes(e)?null:`${A.label} must be one of: ${A.options.join(", ")}.`;case"color":return ru(e)?null:`${A.label} must be a hex colour like #E0271B.`;case"boolean":return typeof e=="boolean"?null:`${A.label} must be true or false.`;case"text":return typeof e!="string"?`${A.label} must be text.`:A.path==="text"&&e.length>Ea?`Text is limited to ${Ea} characters.`:A.path==="typography.fontFamily"&&!e.trim()?"Font family must name a font.":null}}function zS(A){if(!Array.isArray(A))return[{path:"animation.stages",message:"Stages must be a list."}];let e=[];return A.forEach((t,n)=>{let o=`animation.stages.${n}`;if(!pl(t)){e.push({path:o,message:"A stage must be an object."});return}q2.includes(t.key)||e.push({path:`${o}.key`,message:`A stage drives one of: ${q2.join(", ")}.`});let a=r=>typeof t[r]=="number"&&Number.isFinite(t[r])&&t[r]>=0&&t[r]<=1;!a("start")||!a("end")?e.push({path:o,message:"start and end are 0\u20131 of the timeline."}):t.end<t.start&&e.push({path:o,message:"end must not come before start."}),(t.outStart!==void 0||t.outEnd!==void 0)&&(!a("outStart")||!a("outEnd")?e.push({path:o,message:"outStart and outEnd are 0\u20131 of the timeline."}):(t.outEnd<t.outStart||t.outStart<t.end)&&e.push({path:o,message:"A stage goes out after it comes in: end \u2264 outStart \u2264 outEnd."}))}),e}function Cf(A){if(!pl(A))return[{path:"",message:"The config must be an object."}];let e=[],t=A.object!==void 0&&A.object!==null;for(let n of LS){if(n.path==="surface.type"&&A.surface&&A.surface.type==="object"){t||e.push({path:n.path,message:"Surface is \u201Cobject\u201D but the config has no object."});continue}let o=HS(n,Bf(A,n.path));o&&e.push({path:n.path,message:o})}return e.push(...zS(Bf(A,"animation.stages"))),t&&e.push(...Ji(A.object).errors),e}var jS=new Set([..."iljtfr.,:;!|'`I1()[]{} "]),KS=new Set([..."MWmw@%&"]),By=(A,e)=>{let t=e.fontFamily.toLowerCase(),n=/mono|courier|code/.test(t),o=/condensed|oswald|bebas|anton|league gothic|narrow|compressed/.test(t),a=0;for(let i of A){if(n){a+=.6;continue}i===" "?a+=.27:jS.has(i)?a+=.3:KS.has(i)?a+=.86:i>="A"&&i<="Z"?a+=.66:i>="0"&&i<="9"?a+=.56:a+=.52}let r=1+(e.fontWeight-400)/2200;return a*e.fontSize*r*(o?.7:1)};function JS(A,e,t){if(e<=0||t(A)<=e)return[A];let n=A.split(/(\s+)/),o=[],a="";for(let r of n){let i=a+r;a.trim()&&t(i.trimEnd())>e?(o.push(a.trimEnd()),a=r.trimStart()):a=i}return a.trim()&&o.push(a.trimEnd()),o.length?o:[A]}function Ef(A,e,t,n=By){let o=e.fontSize,a=e.letterSpacing,r=v=>[...v],i=v=>{let Q=r(v).length;return Q?n(v,e)+a*(Q-1):0},s=(A||" ").split(`
|
|
228
|
+
`).flatMap(v=>JS(v,t,i)),l=Math.round(o*.45+12),d=o*e.lineHeight,u=s.map(i),c=Math.max(1,...u),p=0,B=s.map((v,Q)=>{let C=u[Q],y=l+(e.align==="left"?0:e.align==="right"?c-C:(c-C)/2),w=l+Q*d,I=r(v),F=[],G="";for(let D=0;D<I.length;D++){let k=y+(G?n(G,e):0)+a*D;G+=I[D];let U=y+n(G,e)+a*D;F.push({ch:I[D],x0:k,x1:U,order:I[D]===" "?p:p++})}let E=w+d/2+o*.35;return{text:v,glyphs:F,left:y,width:C,top:w,baseline:E,bottom:w+d}});return{width:c+l*2,height:d*s.length+l*2,pad:l,fontSize:o,lines:B,glyphCount:p}}function Qf(A,e){let t=Math.max(2,...e.lines.map(o=>o.glyphs.length)),n=.25*(e.width-e.pad*2)/(t-1);return Math.pow(Math.sin(Math.PI*Math.min(1,Math.max(0,A))),1.4)*Math.min(e.fontSize*.42,n)}function vf(A,e,t){let n=A.glyphs.length;return(e-(n-1)/2)*t}function o4(A,e,t,n){let o=0;for(let s=0;s<A.lines.length;s++)t>=A.lines[s].top&&(o=s);let a=A.lines[o];if(!a||!a.glyphs.length)return null;let r=0,i=1/0;for(let s=0;s<a.glyphs.length;s++){let l=a.glyphs[s],d=vf(a,s,n),u=(l.x0+l.x1)/2+d,c=Math.abs(e-u);c<i&&(i=c,r=s)}return{line:o,index:r,glyph:a.glyphs[r],shift:vf(a,r,n)}}var _i=Math.PI/180,s4=A=>A<0?0:A>1?1:A,a4=A=>{let e=s4(A);return e*e*(3-2*e)};function r4(A,e,t,n,o,a,r,i){for(let s=0;s<n;s++){let l=s>0?s-1:s,d=s<n-1?s+1:s;for(let u=0;u<t;u++){let c=u<t-1?u+1:u,p=u>0?u-1:u,B=(s*t+c)*3,v=(s*t+p)*3,Q=(l*t+u)*3,C=(d*t+u)*3,y=A[B]-A[v],w=A[B+1]-A[v+1],I=A[B+2]-A[v+2],F=A[Q]-A[C],G=A[Q+1]-A[C+1],E=A[Q+2]-A[C+2],D=w*E-I*G,k=I*F-y*E,U=y*G-w*F,O=Math.hypot(D,k,U)||1;D/=O,k/=O,U/=O;let T=(s*t+u)*3;if(e[T]=D,e[T+1]=k,e[T+2]=U,o){let R=0;if(u>0&&u<t-1&&s>0&&s<n-1){let P=(A[B]+A[v]+A[Q]+A[C])/4-A[T],j=(A[B+1]+A[v+1]+A[Q+1]+A[C+1])/4-A[T+1],K=(A[B+2]+A[v+2]+A[Q+2]+A[C+2])/4-A[T+2];R=Math.max(-1,Math.min(1,(P*D+j*k+K*U)/i*2.5))}o[(s*t+u)*a+r]=R}}}}function i4(A,e,t,n,o){let a=o??new Uint32Array((A-1)*(e-1)*6),r=0;for(let i=0;i<e-1;i++)for(let s=0;s<A-1;s++){let l=i*A+s,d=l+1,u=l+A,c=u+1;(s+t+i+n&1)===1?(a[r++]=l,a[r++]=u,a[r++]=d,a[r++]=d,a[r++]=u,a[r++]=c):(a[r++]=l,a[r++]=u,a[r++]=c,a[r++]=l,a[r++]=c,a[r++]=d)}return a}function WS(A,e){let t=A/.36,n=[[0,-.93],[.2,-.95],[.31,-.955],[.345,-.94],[.36,-.9],[.36,.7],[.352,.8],[.32,.9],[.26,.98],[.19,1.05],[.145,1.12],[.128,1.2],[.125,1.3],[.126,1.55],[.14,1.565],[.142,1.63],[.12,1.645],[0,1.65]],o=[];for(let c=0;c<n.length-1;c++){let[p,B]=n[c],[v,Q]=n[c+1],C=Math.max(1,Math.round(Math.hypot(v-p,Q-B)/.04));for(let y=0;y<C;y++)o.push([p+(v-p)*y/C,B+(Q-B)*y/C])}o.push(n[n.length-1]);let a=96,r=o.length,i=r*(a+1),s=new Float32Array(i*3),l=new Float32Array(i*3),d=new Float32Array(i*4);for(let c=0;c<r;c++){let p=o[c][0]*t,B=o[c][1],[v,Q]=o[Math.max(0,c-1)],[C,y]=o[Math.min(r-1,c+1)],w=y-Q,I=-(C-v),F=Math.hypot(w,I)||1;w/=F,I/=F;for(let G=0;G<=a;G++){let E=G/a*Math.PI*2,D=c*(a+1)+G;s[D*3]=p*Math.sin(E),s[D*3+1]=B,s[D*3+2]=-e+p*Math.cos(E),l[D*3]=w*Math.sin(E),l[D*3+1]=I,l[D*3+2]=w*Math.cos(E),d[D*4]=B>1.2?1:0}}let u=[];for(let c=0;c<r-1;c++)for(let p=0;p<a;p++){let B=c*(a+1)+p,v=B+1,Q=B+a+1,C=Q+1;u.push(B,v,Q,v,C,Q)}return{positions:s,normals:l,attrs:d,indices:new Uint32Array(u),count:i}}function l4(A){let[e,t]=A.grid,n=e*t,o=A.width,a=A.height/A.width,r=o/(e-1),i=new Float32Array(n),s=new Float32Array(n),l=new Float32Array(n*2);for(let N=0;N<t;N++)for(let Z=0;Z<e;Z++){let _=N*e+Z;i[_]=Z/(e-1)-.5,s[_]=(.5-N/(t-1))*a,l[_*2]=Z/(e-1),l[_*2+1]=N/(t-1)}let d=i4(e,t,0,0),u=new Float32Array(n*3),c=new Float32Array(n*3),p=new Float32Array(n*4),B=Array.from({length:A.stack?.sheets??0},()=>new Float32Array(n*3)),v=new Map,Q=(N,Z)=>{let _=`${N}:${Z.toFixed(3)}`,q=v.get(_);if(!q){let $=Y2(N,Z,a),vA=new Float32Array(n*3),fA=new Float32Array(n),X=[0,0,0];for(let sA=0;sA<n;sA++)tu($,i[sA],s[sA],X),vA[sA*3]=X[0],vA[sA*3+1]=X[1],vA[sA*3+2]=X[2],tu($,i[sA],s[sA],X,!0),fA[sA]=X[2];v.size>6&&v.clear(),q={creases:$,full:vA,fine:fA},v.set(_,q)}return q},C={positions:new Float32Array(n*3),normals:new Float32Array(n*3),uvs:new Float32Array(n*2),tuv:new Float32Array(n*2),attrs:new Float32Array(n*4),indices:new Uint32Array((e-1)*(t-1)*6),vertexCount:0,indexCount:0,indexVersion:0},y="",w=A.prop==="bottle"?WS(A.curveRadius-.0025,A.curveRadius):A.solid?{...A.solid,attrs:new Float32Array(A.solid.count*4)}:null,I=w?{positions:new Float32Array(w.count*3),normals:new Float32Array(w.count*3),attrs:w.attrs,indices:w.indices,vertexCount:w.count,ranges:A.solid?.ranges??[{start:0,count:w.indices.length,material:null}]}:null,F=!!(A.prop||A.solid),G=A.looseSheet?{positions:new Float32Array(12),normals:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1]),uvs:new Float32Array([0,0,1,0,0,1,1,1]),indices:new Uint32Array([0,2,1,1,2,3])}:null,E={d:Aa.deformation,t:0,motion:1,skew:0,crumpleA:0,shrink:1,bowl:0,wrinkleA:0,bends:[],roll:null,kappa:0,spin:0,rotA:0,rotB:0,rotC:0,shiftX:0,shiftY:0,creases:[]},D=(N,Z,_,q,$,vA,fA)=>{let X=N*o,sA=Z*o;fA[0]=X+E.skew*.35*sA,fA[1]=sA,fA[2]=0,A.shape?.(fA,N,Z,E.d,E.t,E.motion),E.wrinkleA&&(fA[2]+=vA*o*E.wrinkleA),E.crumpleA&&(fA[0]+=_*o*E.crumpleA,fA[1]+=q*o*E.crumpleA,fA[2]+=$*o*E.crumpleA,fA[0]*=E.shrink,fA[1]*=E.shrink,E.bowl&&(fA[2]+=E.bowl*o*((fA[0]/o)**2+(fA[1]/o)**2)));let DA=0;for(let xA of E.bends){let wA=F2(fA[0],fA[1],xA.b);DA+=xA.infl*Math.exp(-((wA/xA.zone)**2)),S2(fA,xA.b)}if(E.roll&&T2(fA,E.roll),E.kappa){if(k2(fA,E.kappa),A.radiusAt){let xA=1+(A.radiusAt(fA[1])/A.curveRadius-1)*E.d.curve,wA=1/E.kappa;fA[0]*=xA,fA[2]=(fA[2]+wA)*xA-wA}if(E.spin){let xA=A.curveRadius,wA=fA[2]+xA,AA=Math.cos(E.spin),mA=Math.sin(E.spin),UA=fA[0]*AA+wA*mA;fA[2]=-fA[0]*mA+wA*AA-xA,fA[0]=UA}}return DA},k=N=>{nu(N,E.rotA,E.rotB,E.rotC),N[0]+=E.shiftX,N[1]+=E.shiftY},U=(N,Z,_,q)=>{E.crumpleA?tu(E.creases,N,Z,_):(_[0]=0,_[1]=0,_[2]=0),E.wrinkleA?tu(E.creases,N,Z,q,!0):q[2]=0},O=(N,Z,_)=>{let q=[0,0,0],$=[0,0,0];return U(N,Z,q,$),D(N,Z,q[0],q[1],q[2],$[2],_),k(_),_},T=(N,Z,_,q)=>{let $=_==="near"?-1:1;return Z==="vertical"?{px:(N-.5)*o*q,py:0,dx:0,dy:$}:{px:0,py:(.5-N)*A.height*q,dx:$,dy:0}},R=(N,Z)=>{if(N.amount<=5e-4)return null;let _=N.angle*N.amount*_i*(N.direction==="over"?1:-1),q=Math.max(.002,N.width*o);return{b:{...T(N.position,N.orientation,N.side??"far",Z),theta:_,width:q},infl:N.influence*Math.min(1,N.amount*2.5),zone:q*.8+.004}},P=(N,Z)=>{if(N.amount<=5e-4)return null;let _=N.angle*N.amount*_i,q=_*(N.direction==="over"?1:-1);return{b:{...T(N.position,N.orientation,N.side??"far",Z),theta:q,width:Math.max(.002,_*N.radius*o)},infl:0,zone:1}},j=[0,0,0],K=(N,Z=!1)=>{if(!E.spin)return;let _=Z?0:A.curveRadius,q=N[2]+_,$=Math.cos(E.spin),vA=Math.sin(E.spin),fA=N[0]*$+q*vA;N[2]=-N[0]*vA+q*$-_,N[0]=fA};return{def:A,evaluate:(N,Z,_,q)=>{let $=N.deformation,vA=$.crumple.amount,fA=vA>0||$.wrinkle>0?Q(N.surface.seed,$.crumple.scale):null,X=1-.06*vA-.2*No(.55,1,vA),sA=[...my.map(lA=>R($[lA],X)),...yy.map(lA=>P($[lA],X))].filter(lA=>!!lA);for(let lA=1;lA<sA.length;lA++)for(let TA=0;TA<lA;TA++){let JA=sA[TA].b,LA=sA[lA].b;Math.sign(JA.theta)===Math.sign(LA.theta)?LA.core=(LA.core??0)+2*JA.width/Math.abs(JA.theta)*Math.min(1,Math.abs(JA.theta)/Math.PI):Math.abs(JA.theta)>Math.PI&&(LA.core=(LA.core??0)+JA.width/Math.abs(JA.theta)*2)}let DA=null;if($.roll.amount>5e-4){let lA=$.roll.edge,TA=lA==="bottom"||lA==="top",JA=(TA?A.height:o)*X,LA=lA==="bottom"||lA==="left"?-1:1,ce=$.roll.radius*o;DA={ox:TA?0:LA*o*X/2,oy:TA?LA*A.height*X/2:0,ex:TA?0:-LA,ey:TA?-LA:0,reach:$.roll.amount*JA,radius:ce,inner:ce*.45,length:JA,sign:$.roll.direction==="under"?-1:1}}let xA=A.curveMode==="cylinder"&&$.curve>5e-4?$.curve/A.curveRadius:0;E={d:$,t:Z,motion:N.view.motion,skew:$.skew,crumpleA:vA>0?vA*(.5+.5*No(.5,1,vA)):0,shrink:vA>0?X:1,bowl:.35*No(.55,1,vA),wrinkleA:$.wrinkle>0?$.wrinkle*A.wrinkleDepth*60:0,bends:sA,roll:DA,kappa:xA,spin:F?$.curve*N.view.motion*.5*Math.sin(2*Math.PI*Z/1e4):0,rotA:$.tiltX*.6,rotB:-$.tiltY*.6,rotC:N.view.roll*_i,shiftX:0,shiftY:0,creases:fA?.creases??[]};let wA=-1/0,AA=[1/0,1/0,1/0],mA=[-1/0,-1/0,-1/0];for(let lA=0;lA<n;lA++){let TA=i[lA],JA=s[lA],LA=D(TA,JA,fA?fA.full[lA*3]:0,fA?fA.full[lA*3+1]:0,fA?fA.full[lA*3+2]:0,fA?fA.fine[lA]:0,j);j[2]>wA&&(wA=j[2]);let ce=TA*o+E.skew*.35*JA*o;p[lA*4]=Math.min(1,LA),p[lA*4+2]=Math.hypot(j[0]-ce,j[1]-JA*o,j[2])/o,nu(j,E.rotA,E.rotB,E.rotC),u[lA*3]=j[0],u[lA*3+1]=j[1],u[lA*3+2]=j[2];for(let EA=0;EA<3;EA++){let pA=j[EA];pA<AA[EA]&&(AA[EA]=pA),pA>mA[EA]&&(mA[EA]=pA)}}if(I&&w)for(let lA=0;lA<w.count;lA++){j[0]=w.positions[lA*3],j[1]=w.positions[lA*3+1],j[2]=w.positions[lA*3+2],K(j),nu(j,E.rotA,E.rotB,E.rotC),I.positions.set(j,lA*3);for(let TA=0;TA<3;TA++){let JA=j[TA];JA<AA[TA]&&(AA[TA]=JA),JA>mA[TA]&&(mA[TA]=JA)}j[0]=w.normals[lA*3],j[1]=w.normals[lA*3+1],j[2]=w.normals[lA*3+2],K(j,!0),nu(j,E.rotA,E.rotB,E.rotC),I.normals.set(j,lA*3)}if(N.view.autoCenter){E.shiftX=-(AA[0]+mA[0])/2,E.shiftY=-(AA[1]+mA[1])/2;for(let lA=0;lA<n;lA++)u[lA*3]=u[lA*3]+E.shiftX,u[lA*3+1]=u[lA*3+1]+E.shiftY;if(I)for(let lA=0;lA<I.vertexCount;lA++)I.positions[lA*3]=I.positions[lA*3]+E.shiftX,I.positions[lA*3+1]=I.positions[lA*3+1]+E.shiftY;AA[0]+=E.shiftX,mA[0]+=E.shiftX,AA[1]+=E.shiftY,mA[1]+=E.shiftY}r4(u,c,e,t,p,4,1,r);let UA=A.stack;B.forEach((lA,TA)=>{let JA=(UA?.gap??.003)*(TA+1),LA=TA===0?[.004,.007,.003,.009]:[.009,.003,.006,.004];for(let ce=0;ce<t;ce++)for(let EA=0;EA<e;EA++){let pA=ce*e+EA,dA=u[pA*3]-c[pA*3]*JA,BA=u[pA*3+1]-c[pA*3+1]*JA,IA=u[pA*3+2]-c[pA*3+2]*JA,_A=(GA,Ae)=>{let ee=u[pA*3]-u[GA*3],tA=u[pA*3+1]-u[GA*3+1],hA=u[pA*3+2]-u[GA*3+2],MA=Math.hypot(ee,tA,hA)||1;dA+=ee/MA*Ae*o,BA+=tA/MA*Ae*o,IA+=hA/MA*Ae*o};EA===0&&_A(pA+1,LA[0]),EA===e-1&&_A(pA-1,LA[1]),ce===0&&_A(pA+e,LA[2]),ce===t-1&&_A(pA-e,LA[3]),lA[pA*3]=dA,lA[pA*3+1]=BA,lA[pA*3+2]=IA,IA<AA[2]&&(AA[2]=IA)}});let ye=AA[2]-.004*o;if(G){let lA=-7*_i,TA=.2*o+(N.view.autoCenter?E.shiftX:0),JA=-.12*o+(N.view.autoCenter?E.shiftY:0),LA=o/2,ce=A.height/2;[[-LA,ce],[LA,ce],[-LA,-ce],[LA,-ce]].forEach(([pA,dA],BA)=>{G.positions[BA*3]=TA+pA*Math.cos(lA)-dA*Math.sin(lA),G.positions[BA*3+1]=JA+pA*Math.sin(lA)+dA*Math.cos(lA),G.positions[BA*3+2]=ye+8e-4})}let Ye=null;if(_){let lA=N.placement,TA=_.fontSize,JA=Qf($.morph,_),LA=Math.max(1,..._.lines.map(MA=>MA.glyphs.length)),ce=JA*(LA-1)/2+TA*.1,EA=lA.rotation*_i,pA=[Math.cos(EA),-Math.sin(EA)],dA=[-Math.sin(EA),-Math.cos(EA)],BA=lA.x-.5,IA=(.5-lA.y)*a,_A=_.width,GA=_.height,Ae=e,ee=0,tA=t,hA=0;for(let[MA,WA]of[[-ce,0],[_A+ce,0],[-ce,GA],[_A+ce,GA]]){let pe=BA+(pA[0]*(MA-_A/2)+dA[0]*(WA-GA/2))/1e3,te=IA+(pA[1]*(MA-_A/2)+dA[1]*(WA-GA/2))/1e3,Ee=(pe+.5)*(e-1),kA=(.5-te/a)*(t-1);Ae=Math.min(Ae,Math.floor(Ee)-1),ee=Math.max(ee,Math.ceil(Ee)+1),tA=Math.min(tA,Math.floor(kA)-1),hA=Math.max(hA,Math.ceil(kA)+1)}if(Ae=Math.max(0,Ae),tA=Math.max(0,tA),ee=Math.min(e-1,ee),hA=Math.min(t-1,hA),ee>Ae&&hA>tA){let MA=ee-Ae+1,WA=hA-tA+1,pe=`${Ae},${tA},${MA},${WA}`;pe!==y&&(y=pe,i4(MA,WA,Ae,tA,C.indices),C.indexCount=(MA-1)*(WA-1)*6,C.indexVersion++),C.vertexCount=MA*WA;let te=N.material.lift*o,Ee=9e-4*o,kA=1.6,Yt=Math.max(1,_.glyphCount-1),be=C.positions,x=C.normals;for(let g=0;g<WA;g++)for(let m=0;m<MA;m++){let S=g*MA+m,L=(g+tA)*e+(m+Ae),V=i[L]-BA,iA=s[L]-IA,eA=(V*pA[0]+iA*pA[1])*1e3+_A/2,SA=(V*dA[0]+iA*dA[1])*1e3+GA/2,QA=eA/_A,VA=SA/GA;C.tuv[S*2]=QA,C.tuv[S*2+1]=VA,C.uvs[S*2]=l[L*2],C.uvs[S*2+1]=l[L*2+1];let ne=a4($.wrap*1.3-s4(QA)*.3),Re=0;if($.morph>0){let Rn=o4(_,eA,SA,JA),Vn=Rn?Math.min(1,Rn.glyph.order/Yt):0;Re=a4($.morph*(1+kA)-Vn*kA)}let dt=1-(1-ne)*(1-Re),nt=4*Re*(1-Re)*(1-ne);j[0]=i[L]*o+E.skew*.35*s[L]*o,j[1]=s[L]*o,j[2]=wA+te*(1+nt*.6),k(j);let Mt=u[L*3]+c[L*3]*Ee,Yn=u[L*3+1]+c[L*3+1]*Ee,zt=u[L*3+2]+c[L*3+2]*Ee;be[S*3]=j[0]+(Mt-j[0])*dt,be[S*3+1]=j[1]+(Yn-j[1])*dt,be[S*3+2]=j[2]+(zt-j[2])*dt,C.attrs[S*4]=dt,C.attrs[S*4+1]=p[L*4],C.attrs[S*4+2]=p[L*4+1],C.attrs[S*4+3]=nt}r4(be,x,MA,WA,null,0,0,r),Ye=C}}let tt=null;if(q?.guides){let lA=(BA,IA,_A=80)=>{let GA=new Float32Array((_A+1)*3),Ae=[0,0,0];for(let ee=0;ee<=_A;ee++){let tA=ee/_A;O(BA[0]+(IA[0]-BA[0])*tA,BA[1]+(IA[1]-BA[1])*tA,Ae),GA.set(Ae,ee*3)}return GA},TA=a/2,JA=[],LA=[],ce=[];for(let BA of[...my.map(IA=>$[IA]),...yy.map(IA=>({...$[IA],width:$[IA].angle*_i*$[IA].amount*$[IA].radius}))]){if(BA.amount<=5e-4)continue;let IA=BA.width*((BA.side??"far")==="near"?-1:1);if(BA.orientation==="vertical"){let GA=BA.position-.5;JA.push(lA([GA,-TA],[GA,TA])),LA.push(lA([GA+IA,-TA],[GA+IA,TA]))}else{let GA=(.5-BA.position)*a;JA.push(lA([-.5,GA],[.5,GA])),LA.push(lA([-.5,GA-IA],[.5,GA-IA]))}let _A=JA[JA.length-1];ce.push(_A[0],_A[1],_A[2],_A[_A.length-3],_A[_A.length-2],_A[_A.length-1])}let EA=null;if($.roll.amount>5e-4){let BA=$.roll.edge,IA=$.roll.amount;EA=BA==="bottom"?lA([-.5,-TA+IA*a],[.5,-TA+IA*a]):BA==="top"?lA([-.5,TA-IA*a],[.5,TA-IA*a]):BA==="left"?lA([-.5+IA,-TA],[-.5+IA,TA]):lA([.5-IA,-TA],[.5-IA,TA])}let pA=null,dA=[];if(_){let BA=N.placement,IA=BA.rotation*_i,_A=[Math.cos(IA),-Math.sin(IA)],GA=[-Math.sin(IA),-Math.cos(IA)],Ae=BA.x-.5,ee=(.5-BA.y)*a,tA=(be,x)=>[Ae+(_A[0]*(be-_.width/2)+GA[0]*(x-_.height/2))/1e3,ee+(_A[1]*(be-_.width/2)+GA[1]*(x-_.height/2))/1e3],hA=_.pad,MA=tA(hA,hA),WA=tA(_.width-hA,hA),pe=tA(_.width-hA,_.height-hA),te=tA(hA,_.height-hA),Ee=[lA(MA,WA,40),lA(WA,pe,20),lA(pe,te,40),lA(te,MA,20)];pA=new Float32Array(Ee.reduce((be,x)=>be+x.length,0));let kA=0;for(let be of Ee)pA.set(be,kA),kA+=be.length;for(let be of _.lines)dA.push(lA(tA(be.left,be.baseline),tA(be.left+be.width,be.baseline),40));let Yt=O(Ae,ee,[0,0,0]);ce.push(...Yt,...pA.subarray(0,3))}tt={folds:JA,foldZones:LA,roll:EA,textOutline:pA,baselines:dA,anchors:new Float32Array(ce)}}let qe=A.frameRadius??(A.prop==="bottle"?1.45:.5*Math.hypot(o,A.height)*1.04);return{def:A,nu:e,nv:t,uvs:l,indices:d,sheet:{positions:u,normals:c,attrs:p},stack:B,loose:G,text:Ye,prop:I,bounds:{min:AA,max:mA},tableZ:ye,target:[0,0,(AA[2]+mA[2])/2],radius:qe,guides:tt}},mapUv:(N,Z,_=[0,0,0])=>O(N-.5,(.5-Z)*a,_)}}var c4=`#version 300 es
|
|
229
|
+
precision highp float;
|
|
230
|
+
precision highp sampler2DShadow;
|
|
231
|
+
uniform vec3 uLightDir;
|
|
232
|
+
uniform vec3 uEye;
|
|
233
|
+
uniform mat4 uLightVP;
|
|
234
|
+
uniform sampler2DShadow uShadow;
|
|
235
|
+
uniform vec3 uKey;
|
|
236
|
+
uniform float uAmb;
|
|
237
|
+
uniform vec3 uBackdrop;
|
|
238
|
+
uniform vec3 uTarget;
|
|
239
|
+
uniform float uRadius;
|
|
240
|
+
|
|
241
|
+
vec3 toLin(vec3 c) { return pow(max(c, 0.0), vec3(2.2)); }
|
|
242
|
+
vec3 toSrgb(vec3 c) { return pow(max(c, 0.0), vec3(1.0 / 2.2)); }
|
|
243
|
+
vec3 tone(vec3 c) { c *= 0.92; return clamp((c * (2.51 * c + 0.03)) / (c * (2.43 * c + 0.59) + 0.14), 0.0, 1.0); }
|
|
244
|
+
|
|
245
|
+
float shadowAt(vec3 wp, vec3 n) {
|
|
246
|
+
vec4 lp = uLightVP * vec4(wp + n * 0.003, 1.0);
|
|
247
|
+
vec3 c = lp.xyz / lp.w * 0.5 + 0.5;
|
|
248
|
+
if (c.x < 0.0 || c.x > 1.0 || c.y < 0.0 || c.y > 1.0 || c.z > 1.0) return 1.0;
|
|
249
|
+
vec2 texel = 1.0 / vec2(textureSize(uShadow, 0));
|
|
250
|
+
float s = 0.0;
|
|
251
|
+
for (int x = -2; x <= 2; x++) for (int y = -2; y <= 2; y++) s += texture(uShadow, vec3(c.xy + vec2(x, y) * texel * 1.5, c.z - 0.0012));
|
|
252
|
+
return s / 25.0;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
vec3 shade(vec3 alb, vec3 n, vec3 wp, float cav, float spec, float rough, float translucency) {
|
|
256
|
+
float sh = shadowAt(wp, n);
|
|
257
|
+
float nl = dot(n, uLightDir);
|
|
258
|
+
float diff = max(nl, 0.0) * sh;
|
|
259
|
+
float back = max(-nl, 0.0) * translucency;
|
|
260
|
+
vec3 sky = vec3(0.66, 0.68, 0.74), gnd = vec3(0.3, 0.27, 0.23);
|
|
261
|
+
vec3 amb = mix(gnd, sky, n.z * 0.5 + 0.5) * (1.0 - max(cav, 0.0) * 0.6) * (0.75 + 0.25 * sh);
|
|
262
|
+
vec3 V = normalize(uEye - wp);
|
|
263
|
+
vec3 H = normalize(uLightDir + V);
|
|
264
|
+
float sp = pow(max(dot(n, H), 0.0), mix(6.0, 160.0, 1.0 - rough)) * spec * sh;
|
|
265
|
+
return alb * (uKey * (diff + back) + amb * uAmb) + uKey * sp;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/** A photo studio, as seen in a reflection: dim room, the key softbox toward the light, a long strip light opposite. */
|
|
269
|
+
vec3 envAt(vec3 r) {
|
|
270
|
+
vec3 base = mix(vec3(0.05, 0.05, 0.055), vec3(0.42, 0.43, 0.45), smoothstep(-0.3, 0.9, r.z));
|
|
271
|
+
float key = smoothstep(0.9, 0.965, dot(r, uLightDir));
|
|
272
|
+
vec3 sd = normalize(vec3(0.72, -0.25, 0.64));
|
|
273
|
+
vec3 ax = normalize(cross(sd, vec3(0.0, 0.0, 1.0)));
|
|
274
|
+
float along = dot(r, ax);
|
|
275
|
+
float strip = smoothstep(0.975, 0.992, dot(normalize(r - ax * along), sd)) * (1.0 - smoothstep(0.4, 0.62, abs(along)));
|
|
276
|
+
return base + vec3(1.0, 0.98, 0.95) * key * 3.2 + vec3(0.95, 0.97, 1.0) * strip * 2.4;
|
|
277
|
+
}
|
|
278
|
+
/** The same studio seen in a rough surface: the lights spread into a broad glow. */
|
|
279
|
+
vec3 envSoft(vec3 r) {
|
|
280
|
+
vec3 base = mix(vec3(0.07, 0.07, 0.075), vec3(0.36, 0.37, 0.39), smoothstep(-0.6, 1.0, r.z));
|
|
281
|
+
float key = smoothstep(0.3, 1.0, dot(r, uLightDir));
|
|
282
|
+
return base + vec3(1.0, 0.98, 0.95) * key * key * 0.9;
|
|
283
|
+
}
|
|
284
|
+
float fresnel(float ndv, float f0) { return f0 + (1.0 - f0) * pow(1.0 - ndv, 5.0); }
|
|
285
|
+
|
|
286
|
+
float hash12(vec2 p) { vec3 p3 = fract(vec3(p.xyx) * 0.1031); p3 += dot(p3, p3.yzx + 33.33); return fract((p3.x + p3.y) * p3.z); }
|
|
287
|
+
float vnoise(vec2 p) {
|
|
288
|
+
vec2 i = floor(p), f = fract(p); f = f * f * (3.0 - 2.0 * f);
|
|
289
|
+
return mix(mix(hash12(i), hash12(i + vec2(1, 0)), f.x), mix(hash12(i + vec2(0, 1)), hash12(i + vec2(1, 1)), f.x), f.y);
|
|
290
|
+
}
|
|
291
|
+
float fbm(vec2 p) { float s = 0.0, a = 0.5; for (int i = 0; i < 5; i++) { s += a * vnoise(p); p *= 2.03; a *= 0.5; } return s; }
|
|
292
|
+
`,u4=`#version 300 es
|
|
293
|
+
layout(location = 0) in vec3 aPos;
|
|
294
|
+
layout(location = 1) in vec3 aNrm;
|
|
295
|
+
layout(location = 2) in vec2 aUv;
|
|
296
|
+
layout(location = 3) in vec4 aAttr;
|
|
297
|
+
uniform mat4 uVP;
|
|
298
|
+
out vec3 vW; out vec3 vN; out vec2 vUv; out vec4 vAttr;
|
|
299
|
+
void main() { vW = aPos; vN = aNrm; vUv = aUv; vAttr = aAttr; gl_Position = uVP * vec4(aPos, 1.0); }
|
|
300
|
+
`,d4=c4+`
|
|
301
|
+
in vec3 vW; in vec3 vN; in vec2 vUv; in vec4 vAttr;
|
|
302
|
+
uniform int uMode; // 0 sheet, 1 table, 2 prop (the bottle, or a constructed part)
|
|
303
|
+
uniform int uPartOn; // 1: a constructed part, shaded by uPart; 0: the wine bottle
|
|
304
|
+
uniform vec4 uPart; // metalness, roughness, reflection, albedo gain
|
|
305
|
+
uniform int uShading; // 0 paper, 1 label, 2 film, 3 fabric
|
|
306
|
+
uniform vec3 uPropColor;
|
|
307
|
+
uniform vec3 uCapColor;
|
|
308
|
+
uniform int uTable; // 0 desk, 1 studio, 3 wood
|
|
309
|
+
uniform sampler2D uFront;
|
|
310
|
+
uniform sampler2D uBackTex;
|
|
311
|
+
uniform sampler2D uGrain;
|
|
312
|
+
uniform float uAspect;
|
|
313
|
+
uniform float uSpec;
|
|
314
|
+
uniform float uRough;
|
|
315
|
+
uniform float uTranslucent;
|
|
316
|
+
uniform int uDebug; // 1 deformation, 2 mapping
|
|
317
|
+
out vec4 outColor;
|
|
318
|
+
|
|
319
|
+
vec3 tableColor(vec2 p) {
|
|
320
|
+
if (uTable == 0) {
|
|
321
|
+
float g = fbm(vec2(p.x * 1.2, p.y * 14.0) + fbm(p * 3.0) * 1.5);
|
|
322
|
+
float rings = sin((p.y * 26.0 + g * 6.0)) * 0.5 + 0.5;
|
|
323
|
+
return toLin(mix(vec3(0.20, 0.12, 0.07), vec3(0.34, 0.21, 0.12), g * 0.7 + rings * 0.3));
|
|
324
|
+
}
|
|
325
|
+
if (uTable == 3) {
|
|
326
|
+
float g = fbm(vec2(p.x * 1.0, p.y * 10.0) + fbm(p * 2.0));
|
|
327
|
+
return toLin(mix(vec3(0.46, 0.33, 0.21), vec3(0.62, 0.47, 0.31), g));
|
|
328
|
+
}
|
|
329
|
+
return toLin(uBackdrop * (0.96 + 0.06 * fbm(p * 4.0)));
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
void main() {
|
|
333
|
+
vec3 n = normalize(vN);
|
|
334
|
+
vec3 col;
|
|
335
|
+
if (uMode == 1) {
|
|
336
|
+
vec3 alb = tableColor(vW.xy);
|
|
337
|
+
col = shade(alb, vec3(0, 0, 1), vW, 0.0, 0.05, 0.8, 0.0);
|
|
338
|
+
vec3 disp = toSrgb(tone(col));
|
|
339
|
+
float f = smoothstep(uRadius * 1.3, uRadius * 3.2, length(vW.xy - uTarget.xy));
|
|
340
|
+
outColor = vec4(mix(disp, uBackdrop, f), 1.0);
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
vec3 V = normalize(uEye - vW);
|
|
344
|
+
if (uMode == 2 && uPartOn == 1) {
|
|
345
|
+
if (!gl_FrontFacing) n = -n;
|
|
346
|
+
float ndv = max(dot(n, V), 0.0);
|
|
347
|
+
vec3 alb = toLin(uPropColor) * uPart.w;
|
|
348
|
+
float metal = uPart.x, rough = uPart.y;
|
|
349
|
+
vec3 body = shade(alb * (1.0 - metal), n, vW, 0.0, uPart.z * (1.0 - rough) * 1.2, rough, 0.0);
|
|
350
|
+
// A dielectric reflects the studio through its Fresnel term; a metal reflects it in its own colour.
|
|
351
|
+
vec3 F = mix(vec3(fresnel(ndv, 0.05)), alb + (1.0 - alb) * pow(1.0 - ndv, 5.0), metal);
|
|
352
|
+
vec3 R = reflect(-V, n);
|
|
353
|
+
vec3 env = mix(envAt(R), envSoft(R), smoothstep(0.08, 0.5, rough));
|
|
354
|
+
col = body + env * F * uPart.z;
|
|
355
|
+
outColor = vec4(toSrgb(tone(col)), 1.0);
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
if (uMode == 2) {
|
|
359
|
+
float ndv = max(dot(n, V), 0.0);
|
|
360
|
+
vec3 R = reflect(-V, n);
|
|
361
|
+
if (vAttr.x < 0.5) {
|
|
362
|
+
// Dark glass: almost black body, the room in its reflection.
|
|
363
|
+
vec3 body = shade(toLin(uPropColor) * 0.55, n, vW, 0.0, 1.4, 0.04, 0.0);
|
|
364
|
+
col = body + envAt(R) * fresnel(ndv, 0.06) * 1.1;
|
|
365
|
+
} else {
|
|
366
|
+
// Foil capsule: coloured metal, crinkled.
|
|
367
|
+
vec3 c = toLin(uCapColor);
|
|
368
|
+
float crink = fbm(vec2(atan(vW.x, vW.z + 0.36) * 9.0, vW.y * 30.0)) - 0.5;
|
|
369
|
+
vec3 nb = normalize(n + vec3(crink * 0.25, 0.0, crink * 0.2));
|
|
370
|
+
col = shade(c * 0.3, nb, vW, 0.0, 0.8, 0.3, 0.0) + c * envAt(reflect(-V, nb)) * 0.7;
|
|
371
|
+
}
|
|
372
|
+
outColor = vec4(toSrgb(tone(col)), 1.0);
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
bool front = gl_FrontFacing;
|
|
376
|
+
if (!front) n = -n;
|
|
377
|
+
vec2 uv = front ? vUv : vec2(1.0 - vUv.x, vUv.y);
|
|
378
|
+
vec4 tex = front ? texture(uFront, uv) : texture(uBackTex, uv);
|
|
379
|
+
if (tex.a < 0.5) discard; // punched holes
|
|
380
|
+
vec3 alb = toLin(tex.rgb);
|
|
381
|
+
if (uMode == 0) {
|
|
382
|
+
float gr = texture(uGrain, vUv * vec2(5.0, 5.0 * uAspect)).r - 0.5;
|
|
383
|
+
alb *= 1.0 + gr * 0.1;
|
|
384
|
+
alb *= 1.0 - vAttr.x * 0.1;
|
|
385
|
+
}
|
|
386
|
+
if (uDebug == 1) alb = mix(vec3(0.05, 0.1, 0.6), vec3(1.0, 0.25, 0.05), clamp(vAttr.z * 6.0, 0.0, 1.0));
|
|
387
|
+
if (uDebug == 2) { vec2 c = floor(vUv * vec2(20.0, 20.0 * uAspect)); alb = mix(alb, mod(c.x + c.y, 2.0) < 1.0 ? vec3(0.9, 0.3, 0.3) : vec3(0.3, 0.5, 0.9), 0.55); }
|
|
388
|
+
float ndv = max(dot(n, V), 0.0);
|
|
389
|
+
col = shade(alb, n, vW, vAttr.y, uSpec, uRough, uTranslucent);
|
|
390
|
+
if (uShading == 1) col += envAt(reflect(-V, n)) * fresnel(ndv, 0.02) * 0.35;
|
|
391
|
+
if (uShading == 2) col += envAt(reflect(-V, n)) * fresnel(ndv, 0.07) * 0.9;
|
|
392
|
+
if (uShading == 3) col += alb * uKey * pow(1.0 - ndv, 3.0) * 0.45;
|
|
393
|
+
col += uKey * alb * vAttr.x * 0.05;
|
|
394
|
+
outColor = vec4(toSrgb(tone(col)), 1.0);
|
|
395
|
+
}
|
|
396
|
+
`,g4=`#version 300 es
|
|
397
|
+
layout(location = 0) in vec3 aPos;
|
|
398
|
+
layout(location = 1) in vec3 aNrm;
|
|
399
|
+
layout(location = 2) in vec2 aUv;
|
|
400
|
+
layout(location = 3) in vec4 aAttr;
|
|
401
|
+
layout(location = 4) in vec2 aTuv;
|
|
402
|
+
uniform mat4 uVP;
|
|
403
|
+
out vec3 vW; out vec3 vN; out vec2 vUv; out vec4 vAttr; out vec2 vTuv;
|
|
404
|
+
void main() { vW = aPos; vN = aNrm; vUv = aUv; vAttr = aAttr; vTuv = aTuv; gl_Position = uVP * vec4(aPos, 1.0); }
|
|
405
|
+
`,f4=`
|
|
406
|
+
uniform sampler2D uText;
|
|
407
|
+
uniform vec2 uBlock;
|
|
408
|
+
uniform float uGap;
|
|
409
|
+
uniform vec4 uGlyphs[96]; // x0, x1, shift, _
|
|
410
|
+
uniform vec4 uLines[8]; // top, _, first glyph, count
|
|
411
|
+
uniform int uLineCount;
|
|
412
|
+
|
|
413
|
+
// Returns the source point, and z = 0 when it falls outside the chosen letter (a neighbour's ink).
|
|
414
|
+
vec3 remap(vec2 b) {
|
|
415
|
+
if (uGap <= 0.0) return vec3(b, 1.0);
|
|
416
|
+
int li = 0;
|
|
417
|
+
for (int k = 0; k < 8; k++) if (k < uLineCount && b.y >= uLines[k].x) li = k;
|
|
418
|
+
vec4 L = uLines[li];
|
|
419
|
+
int first = int(L.z), cnt = int(L.w);
|
|
420
|
+
float best = 1e9, shift = 0.0, x0 = 0.0, x1 = 0.0;
|
|
421
|
+
for (int i = 0; i < 96; i++) {
|
|
422
|
+
if (i >= cnt) break;
|
|
423
|
+
vec4 g = uGlyphs[first + i];
|
|
424
|
+
float d = abs(b.x - ((g.x + g.y) * 0.5 + g.z));
|
|
425
|
+
if (d < best) { best = d; shift = g.z; x0 = g.x; x1 = g.y; }
|
|
426
|
+
}
|
|
427
|
+
float sx = b.x - shift;
|
|
428
|
+
float m = (x1 - x0) * 0.06;
|
|
429
|
+
return vec3(sx, b.y, (sx >= x0 - m && sx <= x1 + m) ? 1.0 : 0.0);
|
|
430
|
+
}
|
|
431
|
+
float alphaAt(vec2 tc, float lod) {
|
|
432
|
+
if (tc.x < 0.0 || tc.y < 0.0 || tc.x > 1.0 || tc.y > 1.0) return 0.0;
|
|
433
|
+
return textureLod(uText, tc, lod).a;
|
|
434
|
+
}
|
|
435
|
+
`,h4=c4+f4+`
|
|
436
|
+
in vec3 vW; in vec3 vN; in vec2 vUv; in vec4 vAttr; in vec2 vTuv;
|
|
437
|
+
uniform sampler2D uPaper;
|
|
438
|
+
uniform sampler2D uGrain;
|
|
439
|
+
uniform float uAspect;
|
|
440
|
+
uniform vec3 uColor; uniform vec3 uColor2; uniform float uGradOn; uniform float uGradAngle;
|
|
441
|
+
uniform float uOpacity; uniform int uBlendMode; uniform int uMat;
|
|
442
|
+
uniform float uBlendAmt, uInkStrength, uSpread, uRough, uPaperInf, uGrainInf, uHalftone, uDisp, uContrast, uGloss, uEmboss;
|
|
443
|
+
uniform float uLod;
|
|
444
|
+
out vec4 outColor;
|
|
445
|
+
|
|
446
|
+
vec3 blendWith(vec3 b, vec3 s) {
|
|
447
|
+
if (uBlendMode == 1) return b * s;
|
|
448
|
+
if (uBlendMode == 2) return 1.0 - (1.0 - b) * (1.0 - s);
|
|
449
|
+
if (uBlendMode == 3) return mix(2.0 * b * s, 1.0 - 2.0 * (1.0 - b) * (1.0 - s), step(0.5, b));
|
|
450
|
+
if (uBlendMode == 4) return min(b, s);
|
|
451
|
+
if (uBlendMode == 5) return max(b, s);
|
|
452
|
+
if (uBlendMode == 6) return 1.0 - min(vec3(1.0), (1.0 - b) / max(s, vec3(0.001)));
|
|
453
|
+
if (uBlendMode == 7) return mix(2.0 * b * s + b * b * (1.0 - 2.0 * s), sqrt(b) * (2.0 * s - 1.0) + 2.0 * b * (1.0 - s), step(0.5, s));
|
|
454
|
+
return s;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
void main() {
|
|
458
|
+
if (!gl_FrontFacing) discard;
|
|
459
|
+
float lit = smoothstep(0.0, 0.35, uBlendAmt);
|
|
460
|
+
float prn = smoothstep(0.25, 0.7, uBlendAmt);
|
|
461
|
+
float emb = smoothstep(0.6, 1.0, uBlendAmt);
|
|
462
|
+
float gr = texture(uGrain, vUv * vec2(9.0, 9.0 * uAspect)).r;
|
|
463
|
+
float gr2 = texture(uGrain, vUv * vec2(2.1, 2.1 * uAspect) + 0.37).r;
|
|
464
|
+
vec3 rm = remap(vTuv * uBlock);
|
|
465
|
+
vec2 b = rm.xy + (vec2(gr2, gr) - 0.5) * uDisp * prn;
|
|
466
|
+
vec2 tc = b / uBlock;
|
|
467
|
+
float a = alphaAt(tc, 0.0) * rm.z;
|
|
468
|
+
float ab = alphaAt(tc, uLod + 1.0 + uSpread * 2.0);
|
|
469
|
+
a = max(a, smoothstep(0.1, 0.6, ab) * uSpread * prn * 0.85 * rm.z);
|
|
470
|
+
// Ragged edges: noise only where the letter is partly covered.
|
|
471
|
+
float edge = 1.0 - abs(a * 2.0 - 1.0);
|
|
472
|
+
a = clamp(a + (gr - 0.5) * 2.2 * uRough * prn * edge, 0.0, 1.0);
|
|
473
|
+
// Paper tooth breaks the ink up.
|
|
474
|
+
a *= 1.0 - uGrainInf * prn * smoothstep(0.45, 0.85, 1.0 - gr) * 0.75;
|
|
475
|
+
if (uHalftone > 0.0 && emb > 0.0) {
|
|
476
|
+
vec2 hp = mat2(0.7071, -0.7071, 0.7071, 0.7071) * (vUv * vec2(1000.0, 1000.0 * uAspect)) / 3.6;
|
|
477
|
+
float d = length(fract(hp) - 0.5);
|
|
478
|
+
float r = sqrt(clamp(a * uInkStrength, 0.0, 1.0)) * 0.64;
|
|
479
|
+
float dotm = 1.0 - smoothstep(r - 0.07, r + 0.07, d);
|
|
480
|
+
a = mix(a, dotm * step(0.03, a), uHalftone * emb);
|
|
481
|
+
}
|
|
482
|
+
vec2 dir = vec2(cos(radians(uGradAngle)), sin(radians(uGradAngle)));
|
|
483
|
+
float gt = clamp(dot(vTuv - 0.5, dir) + 0.5, 0.0, 1.0);
|
|
484
|
+
vec3 base = mix(uColor, uColor2, uGradOn * gt);
|
|
485
|
+
vec3 col = toLin(base);
|
|
486
|
+
vec4 paperTex = texture(uPaper, vUv);
|
|
487
|
+
if (paperTex.a < 0.5 && lit > 0.5) discard;
|
|
488
|
+
vec3 paper = toLin(paperTex.rgb);
|
|
489
|
+
vec3 printed = mix(paper, blendWith(paper, col), uInkStrength);
|
|
490
|
+
col = mix(col, printed, prn * uPaperInf);
|
|
491
|
+
vec3 n = normalize(vN);
|
|
492
|
+
if (uEmboss > 0.0) {
|
|
493
|
+
float e = 1.5 / (uBlock.x);
|
|
494
|
+
float gx = alphaAt(tc + vec2(e * 2.0, 0.0), uLod + 1.0) - alphaAt(tc - vec2(e * 2.0, 0.0), uLod + 1.0);
|
|
495
|
+
float gy = alphaAt(tc + vec2(0.0, e * 2.0 * uBlock.x / uBlock.y), uLod + 1.0) - alphaAt(tc - vec2(0.0, e * 2.0 * uBlock.x / uBlock.y), uLod + 1.0);
|
|
496
|
+
vec3 t = normalize(dFdx(vW)), bt = normalize(dFdy(vW));
|
|
497
|
+
n = normalize(n - (t * gx - bt * gy) * uEmboss * emb * 0.8);
|
|
498
|
+
}
|
|
499
|
+
vec3 lit3 = shade(col, n, vW, vAttr.z, 0.03 + uGloss * 0.6, 1.0 - uGloss * 0.75, 0.2);
|
|
500
|
+
lit3 *= 1.0 - vAttr.y * 0.12 * lit;
|
|
501
|
+
vec3 Vt = normalize(uEye - vW);
|
|
502
|
+
lit3 += envAt(reflect(-Vt, n)) * fresnel(max(dot(n, Vt), 0.0), 0.04) * uGloss * 0.8;
|
|
503
|
+
vec3 disp = mix(base, toSrgb(tone(lit3)), clamp(lit * uContrast, 0.0, 1.0));
|
|
504
|
+
outColor = vec4(disp, a * uOpacity);
|
|
505
|
+
}
|
|
506
|
+
`,p4=`#version 300 es
|
|
507
|
+
layout(location = 0) in vec3 aPos;
|
|
508
|
+
layout(location = 3) in vec4 aAttr;
|
|
509
|
+
layout(location = 4) in vec2 aTuv;
|
|
510
|
+
uniform mat4 uVP;
|
|
511
|
+
out vec2 vTuv; out float vConform;
|
|
512
|
+
void main() { vTuv = aTuv; vConform = aAttr.x; gl_Position = uVP * vec4(aPos, 1.0); }
|
|
513
|
+
`,m4=`#version 300 es
|
|
514
|
+
precision highp float;
|
|
515
|
+
`+f4+`
|
|
516
|
+
in vec2 vTuv; in float vConform;
|
|
517
|
+
uniform int uIsText;
|
|
518
|
+
uniform float uCast;
|
|
519
|
+
out vec4 outColor;
|
|
520
|
+
void main() {
|
|
521
|
+
if (uIsText == 1) {
|
|
522
|
+
if (vConform > 0.97) discard;
|
|
523
|
+
vec3 b = remap(vTuv * uBlock);
|
|
524
|
+
if (alphaAt(b.xy / uBlock, 0.0) * b.z * uCast < 0.4) discard;
|
|
525
|
+
}
|
|
526
|
+
outColor = vec4(1.0);
|
|
527
|
+
}
|
|
528
|
+
`;var nr=(A,e)=>`${A.fontStyle} ${A.fontWeight} ${e}px ${A.fontFamily}`,xf=null,Mf=(A,e)=>(xf??=document.createElement("canvas").getContext("2d"),xf?(xf.font=nr(e,100),xf.measureText(A).width/100*e.fontSize):A.length*e.fontSize*.55);function y4(A,e,t=2048){let n=Math.min(4,t/A.width,t/2/A.height),o=document.createElement("canvas");o.width=Math.max(4,Math.ceil(A.width*n)),o.height=Math.max(4,Math.ceil(A.height*n));let a=o.getContext("2d");a.fillStyle="white",a.font=nr(e,e.fontSize*n),a.textBaseline="alphabetic";for(let r of A.lines)for(let i of r.glyphs)i.ch!==" "&&a.fillText(i.ch,i.x0*n,r.baseline*n);return{canvas:o,ppu:n}}var su=()=>new Float32Array(16);function b4(A,e,t=su()){for(let n=0;n<4;n++)for(let o=0;o<4;o++){let a=0;for(let r=0;r<4;r++)a+=A[r*4+o]*e[n*4+r];t[n*4+o]=a}return t}function _S(A,e,t,n){let o=1/Math.tan(A/2),a=su();return a[0]=o/e,a[5]=o,a[10]=(n+t)/(t-n),a[11]=-1,a[14]=2*n*t/(t-n),a}function VS(A,e,t){let n=su();return n[0]=1/A,n[5]=1/A,n[10]=-2/(t-e),n[14]=-(t+e)/(t-e),n[15]=1,n}var XS=(A,e)=>[A[0]-e[0],A[1]-e[1],A[2]-e[2]],w4=(A,e)=>[A[1]*e[2]-A[2]*e[1],A[2]*e[0]-A[0]*e[2],A[0]*e[1]-A[1]*e[0]],vy=A=>{let e=Math.hypot(A[0],A[1],A[2])||1;return[A[0]/e,A[1]/e,A[2]/e]},Cy=(A,e)=>A[0]*e[0]+A[1]*e[1]+A[2]*e[2];function B4(A,e,t){let n=vy(XS(A,e)),o=vy(w4(t,n)),a=w4(n,o),r=su();return r[0]=o[0],r[4]=o[1],r[8]=o[2],r[1]=a[0],r[5]=a[1],r[9]=a[2],r[2]=n[0],r[6]=n[1],r[10]=n[2],r[12]=-Cy(o,A),r[13]=-Cy(a,A),r[14]=-Cy(n,A),r[15]=1,r}var Vi=A=>{let e=A.length===4?A.slice(1).split("").map(n=>n+n).join(""):A.slice(1),t=parseInt(e,16);return Number.isFinite(t)?[(t>>16&255)/255,(t>>8&255)/255,(t&255)/255]:[0,0,0]},$S={desk:0,studio:1,wood:3},ZS={newsprint:{spec:.035,rough:.92,translucent:.18,model:0},paper:{spec:.04,rough:.9,translucent:.2,model:0},label:{spec:.12,rough:.55,translucent:0,model:1},film:{spec:.9,rough:.1,translucent:0,model:2},fabric:{spec:.02,rough:.95,translucent:.08,model:3}};function qS(A,e,t,n){let o=A.deformation.perspective,a=Math.min(80,Math.max(0,e.camera.flat+(e.camera.deep-e.camera.flat)*o+A.view.pitch))*(Math.PI/180),r=A.view.yaw*(Math.PI/180),i=(10+18*o)*(Math.PI/180),s=n<1?1/n:1,l=t.radius/Math.sin(i/2)*.92*s/A.view.zoom,d=t.target,u=[Math.sin(a)*Math.sin(r),-Math.sin(a)*Math.cos(r),Math.cos(a)],c=[d[0]+u[0]*l,d[1]+u[1]*l,d[2]+u[2]*l],p=[-Math.cos(a)*Math.sin(r),Math.cos(a)*Math.cos(r),Math.sin(a)],B=t.radius*3;return{eye:c,target:d,up:p,fov:i,near:Math.max(l*.05,l-B),far:l+B*2}}var iu=class{constructor(e){this.canvas=e;let t=e.getContext("webgl2",{antialias:!0,preserveDrawingBuffer:!0,alpha:!1,depth:!0});if(!t){this.ok=!1,this.error="This browser has no WebGL2, which the surface lab needs.";return}this.gl=t;try{this.progSurf=this.program(u4,d4),this.progText=this.program(g4,h4),this.progDepth=this.program(p4,m4)}catch(n){this.ok=!1,this.error=n.message;return}this.grain=this.texture(D2(3),!0,!0),this.shadowTex=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.shadowTex),t.texStorage2D(t.TEXTURE_2D,1,t.DEPTH_COMPONENT24,this.shadowSize,this.shadowSize),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),this.shadowFbo=t.createFramebuffer(),t.bindFramebuffer(t.FRAMEBUFFER,this.shadowFbo),t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.TEXTURE_2D,this.shadowTex,0),t.bindFramebuffer(t.FRAMEBUFFER,null),document.fonts?.addEventListener?.("loadingdone",this.onFonts);for(let n of ay)document.fonts?.load?.(n).catch(()=>{});this.ok=!0}ok;error=null;gl;progSurf;progText;progDepth;engines=new Map;art=new Map;grain;textTex=null;textKey="";layout=null;layoutKey="";bufs=new Map;shadowFbo;shadowTex;shadowSize=2048;indexVersions=new Map;viewProj=su();fontsVersion=0;lastGeometry=null;propUv=null;geometryVersion=1;uvVersions=new Map;onFonts=()=>{this.fontsVersion++};dispose(){document.fonts?.removeEventListener?.("loadingdone",this.onFonts),this.gl?.getExtension("WEBGL_lose_context")?.loseContext()}program(e,t){let n=this.gl,o=(r,i)=>{let s=n.createShader(r);if(n.shaderSource(s,i),n.compileShader(s),!n.getShaderParameter(s,n.COMPILE_STATUS))throw new Error(`Shader: ${n.getShaderInfoLog(s)}`);return s},a=n.createProgram();if(n.attachShader(a,o(n.VERTEX_SHADER,e)),n.attachShader(a,o(n.FRAGMENT_SHADER,t)),n.linkProgram(a),!n.getProgramParameter(a,n.LINK_STATUS))throw new Error(`Link: ${n.getProgramInfoLog(a)}`);return{p:a,u:new Map}}loc(e,t){return e.u.has(t)||e.u.set(t,this.gl.getUniformLocation(e.p,t)),e.u.get(t)??null}texture(e,t,n=!1){let o=this.gl,a=o.createTexture();o.bindTexture(o.TEXTURE_2D,a),o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,e),t&&o.generateMipmap(o.TEXTURE_2D),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,t?o.LINEAR_MIPMAP_LINEAR:o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR);let r=n?o.REPEAT:o.CLAMP_TO_EDGE;o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,r),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,r);let i=o.getExtension("EXT_texture_filter_anisotropic");return i&&t&&o.texParameterf(o.TEXTURE_2D,i.TEXTURE_MAX_ANISOTROPY_EXT,8),a}buffer(e,t,n,o){let a=this.gl,r=this.bufs.get(e),i=(o??t.length)*4;return(!r||r.size<i)&&(r&&a.deleteBuffer(r.buf),r={buf:a.createBuffer(),size:t.byteLength},a.bindBuffer(n,r.buf),a.bufferData(n,t.byteLength,a.DYNAMIC_DRAW),this.bufs.set(e,r)),a.bindBuffer(n,r.buf),a.bufferSubData(n,0,t,0,o??t.length),r.buf}attr(e,t,n,o,a){let r=this.gl;this.buffer(t,n,r.ARRAY_BUFFER,a===void 0?void 0:a*o),r.enableVertexAttribArray(e),r.vertexAttribPointer(e,o,r.FLOAT,!1,0,0)}attrKeep(e,t,n){let o=this.gl,a=this.bufs.get(t);a&&(o.bindBuffer(o.ARRAY_BUFFER,a.buf),o.enableVertexAttribArray(e),o.vertexAttribPointer(e,n,o.FLOAT,!1,0,0))}elements(e,t,n,o){let a=this.gl;this.indexVersions.get(e)!==o||!this.bufs.has(e)?(this.buffer(e,t,a.ELEMENT_ARRAY_BUFFER,n),this.indexVersions.set(e,o)):a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.bufs.get(e).buf)}engine(e){let t=this.engines.get(e.id);if(!t||t.def!==e){if(e.solid)for(let[n,o]of this.engines)o.def.solid&&this.engines.delete(n);t=l4(e),this.engines.set(e.id,t),this.geometryVersion++}return t}artFor(e,t,n){let o=e.solid?"object":e.id,a=`${o}:${e.solid?`${e.width.toFixed(4)}:${e.height.toFixed(4)}:`:""}${t}:${n}:${this.fontsVersion}`,r=this.art.get(a);if(!r){let i=e.height/e.width,{front:s,back:l,inner:d}=I2(e.art,t,i,n);for(let[u,c]of this.art)u.startsWith(`${o}:`)&&(this.gl.deleteTexture(c.front),this.gl.deleteTexture(c.back),this.gl.deleteTexture(c.inner),this.art.delete(u));r={front:this.texture(s,!0),back:this.texture(l,!0),inner:this.texture(d,!0),aspect:i},this.art.set(a,r)}return r}layoutFor(e){let t=e.typography,n=`${e.text}|${nr(t,100)}|${t.letterSpacing}|${t.lineHeight}|${t.align}|${e.placement.maxWidth}|${this.fontsVersion}`;return n!==this.layoutKey&&(this.layoutKey=n,this.layout=e.text.trim()?Ef(e.text,t,e.placement.maxWidth,Mf):null,document.fonts?.load?.(nr(t,100),e.text).catch(()=>{})),this.layout}textTexture(e,t){return this.layoutKey!==this.textKey&&(this.textKey=this.layoutKey,this.textTex&&this.gl.deleteTexture(this.textTex),this.textTex=this.texture(y4(t,e.typography).canvas,!0)),this.textTex}project(e,t=0){let n=this.viewProj,o=e[t],a=e[t+1],r=e[t+2],i=n[0]*o+n[4]*a+n[8]*r+n[12],s=n[1]*o+n[5]*a+n[9]*r+n[13],l=n[3]*o+n[7]*a+n[11]*r+n[15],d=this.canvas.clientWidth,u=this.canvas.clientHeight;return[(i/l*.5+.5)*d,(1-(s/l*.5+.5))*u,l]}get geometry(){return this.lastGeometry}async whenReady(e,t=!0){let n=document.fonts;if(!n?.load)return;let o=nr(e.typography,100),a=()=>n.load(o,e.text||"A").catch(()=>[]),r=i=>i.sheet?Promise.resolve():new Promise(s=>{i.addEventListener("load",()=>s(),{once:!0}),i.addEventListener("error",()=>s(),{once:!0})});if((await a()).length===0&&(await Promise.all(Array.from(document.querySelectorAll('link[rel="stylesheet"]')).map(r)),(await a()).length===0&&t&&$r(e.typography.fontFamily.split(",")[0]))){let i=C2(),s=Array.from(document.querySelectorAll('link[rel="stylesheet"]')).find(l=>l.href===i);s||(s=document.createElement("link"),s.rel="stylesheet",s.href=i,document.head.appendChild(s)),await r(s),await a()}await Promise.all(ay.map(i=>n.load(i).catch(()=>{}))),await n.ready}render(e,t,n={}){if(!this.ok)return null;let o=this.gl,a=this.canvas,r=Math.min(2,window.devicePixelRatio||1),i=Math.max(2,Math.round(a.clientWidth*r)),s=Math.max(2,Math.round(a.clientHeight*r));(a.width!==i||a.height!==s)&&(a.width=i,a.height=s);let l=pf(e),d=l.solid?"object":l.id,u=this.layoutFor(e),c=this.engine(l).evaluate(e,t,u,{guides:!!(n.folds||n.bounds||n.baseline||n.controls)});this.lastGeometry=c;let p=this.geometryVersion,B=l.sheet!=="hidden",v=this.artFor(l,e.surface.seed,l.prop||l.solid?l.color:e.surface.color??l.color),Q=u&&c.text?this.textTexture(e,u):null,C=qS(e,l,c,i/s),y=B4(C.eye,C.target,C.up),w=_S(C.fov,i/s,C.near,C.far);b4(w,y,this.viewProj);let I=vy([-.55,.62,.56]),F=c.radius*1.9,G=[c.target[0]+I[0]*6,c.target[1]+I[1]*6,c.target[2]+I[2]*6],E=b4(VS(F,.1,14),B4(G,c.target,[0,1,0])),D=Vi(l.backdrop[1]),k=new Float32Array([-9,9,c.tableZ,9,9,c.tableZ,-9,-9,c.tableZ,9,-9,c.tableZ]),U=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1]),O=new Float32Array(8),T=new Float32Array(16),R=new Uint32Array([0,2,1,1,2,3]),P=u?Qf(e.deformation.morph,u):0,j=new Float32Array(96*4),K=new Float32Array(8*4),H=0;u&&u.lines.slice(0,8).forEach((AA,mA)=>{K[mA*4]=mA===0?-1e6:AA.top,K[mA*4+2]=H;let UA=0;AA.glyphs.forEach((ye,Ye)=>{H<96&&(j.set([ye.x0,ye.x1,vf(AA,Ye,P),0],H*4),H++,UA++)}),K[mA*4+3]=UA});let N=u&&H<96?P:0,Z=AA=>{o.uniform2f(this.loc(AA,"uBlock"),u.width,u.height),o.uniform1f(this.loc(AA,"uGap"),N),o.uniform4fv(this.loc(AA,"uGlyphs"),j),o.uniform4fv(this.loc(AA,"uLines"),K),o.uniform1i(this.loc(AA,"uLineCount"),Math.min(8,u.lines.length)),o.activeTexture(o.TEXTURE3),o.bindTexture(o.TEXTURE_2D,Q),o.uniform1i(this.loc(AA,"uText"),3)},_=(AA,mA)=>{this.attr(0,AA,mA,3),this.attrKeep(1,"sheet.n",3),this.attrKeep(2,`sheet.uv:${d}`,2),this.attrKeep(3,"sheet.a",4),o.disableVertexAttribArray(4),this.elements(`sheet.i:${d}`,c.indices,c.indices.length,p)};this.buffer("sheet.n",c.sheet.normals,o.ARRAY_BUFFER),this.buffer("sheet.a",c.sheet.attrs,o.ARRAY_BUFFER),this.uvVersions.get(d)!==p&&(this.buffer(`sheet.uv:${d}`,c.uvs,o.ARRAY_BUFFER),this.uvVersions.set(d,p));let q=()=>{let AA=c.prop;this.attr(0,"prop.p",AA.positions,3),this.attr(1,"prop.n",AA.normals,3),this.propUv=this.propUv?.length===AA.vertexCount*2?this.propUv:new Float32Array(AA.vertexCount*2),this.attr(2,"prop.uv",this.propUv,2),this.attr(3,"prop.a",AA.attrs,4),o.disableVertexAttribArray(4),this.elements(`prop.i:${d}`,AA.indices,AA.indices.length,p)},$=()=>o.drawElements(o.TRIANGLES,c.indices.length,o.UNSIGNED_INT,0),vA=()=>{let AA=c.text;this.attr(0,"text.p",AA.positions,3,AA.vertexCount),this.attr(1,"text.n",AA.normals,3,AA.vertexCount),this.attr(2,"text.uv",AA.uvs,2,AA.vertexCount),this.attr(3,"text.a",AA.attrs,4,AA.vertexCount),this.attr(4,"text.tuv",AA.tuv,2,AA.vertexCount),this.elements("text.i",AA.indices,AA.indexCount,`${l.id}:${p}:${AA.indexVersion}:${AA.indexCount}`)},fA=(AA,mA,UA)=>{this.attr(0,`${AA}.p`,mA,3),this.attr(1,"quad.n",U,3),this.attr(2,`${AA}.uv`,UA,2),this.attr(3,"quad.a",T,4),this.attr(4,"quad.tuv",O,2),this.elements("quad.i",R,6,1)};o.bindFramebuffer(o.FRAMEBUFFER,this.shadowFbo),o.viewport(0,0,this.shadowSize,this.shadowSize),o.clear(o.DEPTH_BUFFER_BIT),o.enable(o.DEPTH_TEST),o.disable(o.CULL_FACE),o.enable(o.POLYGON_OFFSET_FILL),o.polygonOffset(2,4);let X=this.progDepth;o.useProgram(X.p),o.uniformMatrix4fv(this.loc(X,"uVP"),!1,E),o.uniform1i(this.loc(X,"uIsText"),0),!n.noShadows&&B&&(_("sheet.p",c.sheet.positions),$()),n.noShadows||c.stack.forEach((AA,mA)=>{_(`stack${mA}.p`,AA),$()}),c.prop&&!n.noShadows&&(q(),o.drawElements(o.TRIANGLES,c.prop.indices.length,o.UNSIGNED_INT,0)),u&&c.text&&Q&&e.material.shadow>.02&&!n.noShadows&&(o.uniform1i(this.loc(X,"uIsText"),1),o.uniform1f(this.loc(X,"uCast"),.4+e.material.shadow),Z(X),vA(),o.drawElements(o.TRIANGLES,c.text.indexCount,o.UNSIGNED_INT,0)),o.disable(o.POLYGON_OFFSET_FILL),o.bindFramebuffer(o.FRAMEBUFFER,null),o.viewport(0,0,i,s),o.clearColor(D[0],D[1],D[2],1),o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT);let sA=this.progSurf;o.useProgram(sA.p);let DA=AA=>{o.uniformMatrix4fv(this.loc(AA,"uVP"),!1,this.viewProj),o.uniformMatrix4fv(this.loc(AA,"uLightVP"),!1,E),o.uniform3fv(this.loc(AA,"uLightDir"),I),o.uniform3fv(this.loc(AA,"uEye"),C.eye),o.uniform3f(this.loc(AA,"uKey"),1.28,1.23,1.13),o.uniform1f(this.loc(AA,"uAmb"),.55),o.uniform3fv(this.loc(AA,"uBackdrop"),D),o.uniform3fv(this.loc(AA,"uTarget"),c.target),o.uniform1f(this.loc(AA,"uRadius"),c.radius),o.uniform1f(this.loc(AA,"uAspect"),v.aspect),o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,this.shadowTex),o.uniform1i(this.loc(AA,"uShadow"),0),o.activeTexture(o.TEXTURE4),o.bindTexture(o.TEXTURE_2D,this.grain),o.uniform1i(this.loc(AA,"uGrain"),4)};DA(sA);let xA=(AA,mA)=>{o.activeTexture(o.TEXTURE1),o.bindTexture(o.TEXTURE_2D,AA),o.uniform1i(this.loc(sA,"uFront"),1),o.activeTexture(o.TEXTURE2),o.bindTexture(o.TEXTURE_2D,mA),o.uniform1i(this.loc(sA,"uBackTex"),2)},wA=ZS[l.shading];if(o.uniform1f(this.loc(sA,"uSpec"),wA.spec),o.uniform1f(this.loc(sA,"uRough"),wA.rough),o.uniform1f(this.loc(sA,"uTranslucent"),wA.translucent),o.uniform1i(this.loc(sA,"uShading"),wA.model),o.uniform3fv(this.loc(sA,"uPropColor"),Vi(e.surface.color??l.color)),o.uniform3fv(this.loc(sA,"uCapColor"),Vi("#E0431B")),o.uniform1i(this.loc(sA,"uDebug"),0),o.uniform1i(this.loc(sA,"uMode"),1),o.uniform1i(this.loc(sA,"uTable"),$S[l.table]),xA(v.inner,v.inner),fA("table",k,new Float32Array([0,0,1,0,0,1,1,1])),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_INT,0),o.uniform1i(this.loc(sA,"uMode"),0),c.loose&&(xA(v.inner,v.back),fA("loose",c.loose.positions,c.loose.uvs),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_INT,0)),xA(v.inner,v.back),c.stack.forEach((AA,mA)=>{_(`stack${mA}.p`,AA),$()}),o.uniform1i(this.loc(sA,"uDebug"),n.deformation?1:n.mapping?2:0),xA(v.front,v.back),B&&(_("sheet.p",c.sheet.positions),$()),c.prop){o.uniform1i(this.loc(sA,"uMode"),2),o.uniform1i(this.loc(sA,"uDebug"),0),q();for(let AA of c.prop.ranges){let mA=AA.material;o.uniform1i(this.loc(sA,"uPartOn"),mA?1:0),mA&&(o.uniform3fv(this.loc(sA,"uPropColor"),Vi(mA.color)),o.uniform4f(this.loc(sA,"uPart"),mA.metalness,mA.roughness,mA.reflection,mA.gain)),o.drawElements(o.TRIANGLES,AA.count,o.UNSIGNED_INT,AA.start*4)}o.uniform1i(this.loc(sA,"uPartOn"),0),o.uniform1i(this.loc(sA,"uMode"),0)}if(u&&c.text&&Q&&c.text.indexCount>0){let AA=this.progText;o.useProgram(AA.p),DA(AA),Z(AA),o.activeTexture(o.TEXTURE1),o.bindTexture(o.TEXTURE_2D,v.front),o.uniform1i(this.loc(AA,"uPaper"),1);let mA=e.typography,UA=e.material;o.uniform3fv(this.loc(AA,"uColor"),Vi(mA.color)),o.uniform3fv(this.loc(AA,"uColor2"),Vi(mA.gradient.to)),mA.gradient.enabled&&o.uniform3fv(this.loc(AA,"uColor"),Vi(mA.gradient.from)),o.uniform1f(this.loc(AA,"uGradOn"),mA.gradient.enabled?1:0),o.uniform1f(this.loc(AA,"uGradAngle"),mA.gradient.angle),o.uniform1f(this.loc(AA,"uOpacity"),mA.opacity),o.uniform1i(this.loc(AA,"uBlendMode"),Math.max(0,hy.indexOf(mA.blendMode))),o.uniform1i(this.loc(AA,"uMat"),0),o.uniform1f(this.loc(AA,"uBlendAmt"),UA.blend),o.uniform1f(this.loc(AA,"uInkStrength"),UA.inkStrength),o.uniform1f(this.loc(AA,"uSpread"),UA.inkSpread),o.uniform1f(this.loc(AA,"uRough"),UA.inkRoughness),o.uniform1f(this.loc(AA,"uPaperInf"),UA.paperInfluence),o.uniform1f(this.loc(AA,"uGrainInf"),UA.grainInfluence),o.uniform1f(this.loc(AA,"uHalftone"),UA.halftone),o.uniform1f(this.loc(AA,"uDisp"),UA.displacement),o.uniform1f(this.loc(AA,"uContrast"),UA.surfaceContrast),o.uniform1f(this.loc(AA,"uGloss"),UA.gloss),o.uniform1f(this.loc(AA,"uEmboss"),UA.type==="emboss"?UA.emboss:UA.emboss*.25),o.uniform1f(this.loc(AA,"uLod"),0),vA(),o.enable(o.BLEND),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA),o.enable(o.POLYGON_OFFSET_FILL),o.polygonOffset(-1,-2),o.depthMask(!1),o.drawElements(o.TRIANGLES,c.text.indexCount,o.UNSIGNED_INT,0),o.depthMask(!0),o.disable(o.POLYGON_OFFSET_FILL),o.disable(o.BLEND)}return c}pick(e,t){let n=this.lastGeometry;if(!n)return null;let o=1/0,a=-1,r=n.sheet.positions,i=2;for(let s=0;s<n.nu*n.nv;s+=i){let[l,d,u]=this.project(r,s*3);if(u<=0)continue;let c=(l-e)**2+(d-t)**2;c<o&&(o=c,a=s)}return a<0||o>40*40?null:{u:n.uvs[a*2],v:n.uvs[a*2+1]}}};var v4=A=>A<0?0:A>1?1:A,C4=(A,e,t)=>t<=e?A>=t?1:0:v4((A-e)/(t-e));function A6(A,e){let t=A.easing??"ease-in-out",n=zc(t,C4(e,A.start,A.end));return A.outStart===void 0||A.outEnd===void 0?n:n*(1-zc(t,C4(e,A.outStart,A.outEnd)))}function e6(A,e){let t={};for(let n of A)t[n.key]=Math.max(t[n.key]??0,A6(n,e));return t}function E4(A,e){let t=e6(A.animation.stages,v4(e)),n=A;for(let[o,a]of Object.entries(t)){let r=t4[o],i=Bf(A,r);typeof i=="number"&&(n=by(n,r,i*a))}return n}function Q4(A){return["flat",...[...A].sort((e,t)=>e.start-t.start).map(e=>e.label??e.key)]}var If=["png","jpg"],t6=["mp4","webm","gif"],yl=[...If,...t6],lu=A=>If.includes(A),x4=A=>Math.max(2,Math.round(A/2)*2),bl=A=>({format:{type:"string",enum:[...A.formats],description:`Default ${A.format}.${A.formats.some(lu)?" png and jpg are one still frame, drawn directly (not cut from a video).":""}`},...A.formats.some(lu)&&A.formats.some(e=>!lu(e))?{timeSeconds:{type:"number",description:"For png / jpg: the moment to capture, in seconds from the start."},frame:{type:"number",description:"For png / jpg: the frame to capture instead of timeSeconds (frame \xF7 fps seconds)."}}:{},...A.formats.some(e=>!lu(e))?{...A.fixedDuration?{}:{duration:{type:"number",description:`Seconds, 0.5\u202660. Default ${A.durationSeconds}.`}},fps:{type:"number",description:`Frames per second, 1\u202660. Default ${A.fps}.`}}:{},width:{type:"number",description:`Output width in pixels, 320\u20263840. Default ${A.width}.`},height:{type:"number",description:`Output height in pixels, 180\u20263840. Default ${A.height}.`}});function wl(A,e,t){let n=(l,d,u,c)=>{let p=A[l];return p===void 0?c:typeof p!="number"||!Number.isFinite(p)||p<d||p>u?(t.push({path:l,message:`Must be a number between ${d} and ${u}.`}),c):p},o=e.format;if(A.format!==void 0){let l=A.format==="jpeg"?"jpg":A.format;e.formats.includes(l)?o=l:t.push({path:"format",message:`Must be one of: ${e.formats.join(", ")}.`})}let a=lu(o),r=e.fixedDuration?e.durationSeconds:n("duration",.5,60,e.durationSeconds);e.fixedDuration&&A.duration!==void 0&&t.push({path:"duration",message:`The animation sets its own length (${e.durationSeconds}s); duration cannot be changed here.`});let i=Math.round(n("fps",1,60,e.fps)),s={format:o,still:a,durationSeconds:r,fps:i,width:x4(n("width",320,3840,e.width)),height:x4(n("height",180,3840,e.height)),frameCount:a?1:Math.max(1,Math.round(r*i))};if(!a){for(let l of["timeSeconds","frame"])A[l]!==void 0&&t.push({path:l,message:`Only for a still (png, jpg); ${o} renders every frame.`});return s}return A.timeSeconds!==void 0&&A.frame!==void 0?t.push({path:"frame",message:"Give timeSeconds or frame, not both."}):A.timeSeconds!==void 0?s.timestampSeconds=n("timeSeconds",0,3600,0):A.frame!==void 0&&(s.timestampSeconds=Math.round(n("frame",0,216e3,0)/i*1e3)/1e3),s}var I4=1920,D4={formats:yl,format:"mp4",width:0,height:0,durationSeconds:0,fps:30,fixedDuration:!0},{width:Q8,height:x8,fps:M8,timeSeconds:I8,...n6}=bl(D4),o6={type:"object",properties:{request:{type:"object",description:`The motion/1 request: { schema: "motion/1", template, content }, as check_animation_request accepts it. describe_animation gives each template's contract and an example.`},...n6,timeSeconds:{type:"number",description:"For png / jpg: the moment to capture, in seconds from the start. Default: the middle of the animation."},fps:{type:"number",description:"Frames per second of a video, 1\u202660. Default: the template's own. A lower rate samples the same motion; it never slows it."},width:{type:"number",description:`Output width in pixels, 320\u20263840; the height follows the template's shape. Default: the template's canvas, at most ${I4} on its long side.`}},required:["request"]},M4=Object.keys(o6.properties);function a6(A){let e=jg(A.template);if(e){let o=A.content.canvas??{},a=e.formats.find(r=>r.aspectRatio===o.aspectRatio)??e.formats[0];return{width:a.width,height:a.height,fps:Number(o.fps)||e.fps}}let t=jc(A.template),n=Al(t.motion,A.content);return{width:n.width,height:n.height,fps:t.motion.fps}}function S4(A){if(typeof A!="object"||A===null||Array.isArray(A))return{valid:!1,errors:[{path:"",message:"Must be an object with `request`."}]};let e=A,t=[],n={duration:"The animation sets its own length; it cannot be changed here.",height:"The height follows the template's shape; set width."};for(let c of Object.keys(e))M4.includes(c)||t.push({path:c,message:n[c]??`Unknown key. render_animation takes: ${M4.join(", ")}.`});let{duration:o,height:a,...r}=e,i=fE(e.request);if(!i.valid)return{valid:!1,errors:[...t,...i.errors.map(c=>({path:`request.${c.path?`content.${c.path}`:""}`.replace(/\.$/,""),message:c.message}))]};let s=a6(i.request),l=Math.min(1,I4/Math.max(s.width,s.height)),d=wl(r,{...D4,width:Math.round(s.width*l),height:Math.round(s.height*l),durationSeconds:i.seconds,fps:Math.min(60,s.fps)},t);if(d.height=Math.max(2,Math.round(d.width*s.height/s.width/2)*2),d.still&&(d.timestampSeconds===void 0?(d.timestampSeconds=Math.round(i.seconds*500)/1e3,d.timestampChosen=!0):d.timestampSeconds>i.seconds&&t.push({path:e.frame!==void 0?"frame":"timeSeconds",message:`The animation is ${i.seconds}s long.`})),t.length)return{valid:!1,errors:t};let u=i.request.template;return{valid:!0,errors:[],request:i.request,output:d,player:jg(u)?u:"slots"}}var r6=yl,O4={formats:r6,format:"mp4",width:1920,height:1080,durationSeconds:6,fps:30},F4=1600,i6="oswald",s6=7356951,P4=Object.keys(J0),U4=ba.map(A=>A.id),Ey=Object.keys(W0),Qy=Object.keys(_0),G4=Object.keys(Wr),xy=["sag","flicker","dip","failure","glitch","normal"],cu=A=>({type:"string",description:`${A} A hex colour (#FF4FB8) or a name: ${P4.join(", ")}.`}),T4={color:cu("The neon colour; core, tube, glow and bloom derive from it unless given."),tubeColor:cu("The lit glass."),coreColor:cu("The hot centre line."),glowColor:cu("The tight halo around the tube."),bloomColor:cu("The wide light thrown on the wall."),font:{type:"string",enum:U4,description:"A neon font by id."},fontSize:{type:"number",description:"Letter height in stage units (the stage is 1600 wide). Default 300. Signs wider than the stage are scaled to fit."},flicker:{type:"string",enum:Ey,description:"How much the tube flickers."},glitch:{type:"string",enum:Qy,description:"How often the sign glitches."}},My={type:"object",properties:{text:{type:"string",description:'The sign, when it is one piece in one colour ("OPEN"; "\\n" starts a new line). For several pieces or colours use `elements`.'},elements:{type:"array",description:'The pieces of the sign, in reading order. Each has its own colour, font and animation, so "EG in pink, LAB in green" is two text elements. Pieces without x/y are placed side by side (see `layout`, `gap`) and centred. The scene contains exactly these and nothing else.',items:{type:"object",properties:{type:{type:"string",enum:["text","emoji","artwork"],description:"Default: text, or emoji / artwork when that field is given."},text:{type:"string",description:"The letters of a text element."},emoji:{type:"string",description:"One emoji, drawn as a neon outline."},artwork:{type:"string",description:`A library shape (${G4.join(", ")}) or SVG markup.`},...T4,size:{type:"number",description:"Emoji or artwork size in stage units."},x:{type:"number",description:"Centre x in stage units (0\u20261600). Omit to place automatically."},y:{type:"number",description:"Centre y in stage units. Omit to place automatically."},scale:{type:"number"},rotation:{type:"number",description:"Degrees, clockwise."},opacity:{type:"number",description:"0\u20261."},id:{type:"string",description:"A name for `triggers[].target`."},neon:{type:"object",description:"Advanced material overrides: intensity (0\u20263), bloomIntensity, tubeBrightness, coreBrightness, glowRadius, bloomRadius, coreWidth, glassOpacity, shadow { enabled, color, opacity, offsetX, offsetY, blur }."},animation:{type:"object",description:"Advanced animation overrides: speed, seed, flickerEnabled, flickerIntensity (0\u20261), flickerFrequency (events per second), flickerSpeed, flickerRandomness, flickerRecovery, flickerMinBrightness, glitchEnabled, glitchIntensity (0\u20261), glitchFrequency, glitchDuration (ms), glitchDisplacement, glitchRgbSplit, glitchSlices, glitchGlowSeparation."},typography:{type:"object",description:"Advanced letter overrides: letterSpacing, lineHeight, strokeWidth, fontWeight, fontStyle (normal | italic), construction (outline | monoline), align (start | middle | end)."}}}},...T4,layout:{type:"string",enum:["row","column"],description:"How automatically placed elements are arranged. Default row."},gap:{type:"number",description:"Space between neighbouring elements in stage units. Default 0 in a row: adjacent text elements sit a letter apart and read as one word; about 0.3 \xD7 fontSize is a word space."},sync:{type:"boolean",description:"true (default): every element flickers together, as one sign on one circuit. false: each flickers on its own."},seed:{type:"number",description:"Same seed, same performance. Change it for a different, equally natural one."},background:{type:"object",description:"What is behind the sign. Default: a dark navy brick wall lit by the neon.",properties:{type:{type:"string",enum:["brick-wall","none"],description:"none: a flat `color` and no wall."},color:{type:"string",description:"Hex. The flat background when type is none. Default #000000."},brickColor:{type:"string",description:"Hex. Darker reads as a darker wall."},mortarColor:{type:"string",description:"Hex."},ambientColor:{type:"string",description:"Hex. The room's own light on the wall."},ambient:{type:"number",description:"0\u20261. Lower is a darker room."},lightSpill:{type:"number",description:"0\u20262. How strongly the neon lights the wall."},spillRadius:{type:"number",description:"How far that light reaches, stage units."},vignette:{type:"number",description:"0\u20261. Edge darkening."},texture:{type:"number",description:"0\u20261. Surface grain."},variation:{type:"number",description:"0\u20261. Brick-to-brick shade variation."},brickWidth:{type:"number"},brickHeight:{type:"number"},mortar:{type:"number"},seed:{type:"number"}}},triggers:{type:"array",description:"Scripted moments on top of the natural flicker.",items:{type:"object",properties:{kind:{type:"string",enum:xy},at:{type:"number",description:"Seconds from the start."},target:{type:"string",description:"An element id; omit for every element."}},required:["kind","at"]}},...bl(O4),timeSeconds:{type:"number",description:"For png / jpg: the moment to capture, in seconds from the start. Default: mid-glitch when the sign glitches, otherwise the fully lit sign at 0."}}},k4=Object.keys(My.properties),Y4=Object.keys(My.properties.elements.items.properties),R4=Object.keys(My.properties.background.properties),l6=["ambient","lightSpill","spillRadius","vignette","texture","variation","brickWidth","brickHeight","mortar","seed"],c6=["brickColor","mortarColor","ambientColor"],u6=["color","tubeColor","coreColor","glowColor","bloomColor"],Bl=A=>typeof A=="object"&&A!==null&&!Array.isArray(A),Df=A=>Math.round(A*1e3)/1e3;function d6(A,e,t,n,o,a,r){let i=r.length,s=(I,F)=>r.push({path:`${n}.${I}`,message:F});for(let I of Object.keys(A))Y4.includes(I)||s(I,`Unknown key. An element takes: ${Y4.join(", ")}.`);let l=A.type??(A.emoji!==void 0?"emoji":A.artwork!==void 0?"artwork":"text");if(!["text","emoji","artwork"].includes(l))return s("type","Must be text, emoji or artwork."),null;let d=A[l];(typeof d!="string"||!d.trim())&&s(l,l==="text"?"A text element needs its text.":l==="emoji"?"An emoji element needs its emoji.":`An artwork element needs a library shape (${G4.join(", ")}) or SVG markup.`);let u=I=>A[I]??e[I],c={};for(let I of u6){let F=u(I);if(F===void 0)continue;let G=typeof F=="string"?V0(F):void 0;G?c[I]=G:r.push({path:`${A[I]!==void 0?`${n}.`:""}${I}`,message:`Must be a hex colour like #FF4FB8 or one of: ${P4.join(", ")}.`})}let p=u("font")??i6,B=typeof p=="string"?ef(p):void 0;B||r.push({path:`${A.font!==void 0?`${n}.`:""}font`,message:`Must be one of: ${U4.join(", ")}.`});let v=u("flicker");v!==void 0&&!Ey.includes(v)&&r.push({path:`${A.flicker!==void 0?`${n}.`:""}flicker`,message:`Must be one of: ${Ey.join(", ")}.`});let Q=u("glitch");Q!==void 0&&!Qy.includes(Q)&&r.push({path:`${A.glitch!==void 0?`${n}.`:""}glitch`,message:`Must be one of: ${Qy.join(", ")}.`});for(let I of["size","x","y","scale","rotation","opacity"])A[I]!==void 0&&(typeof A[I]!="number"||!Number.isFinite(A[I]))&&s(I,"Must be a number.");let C=u("fontSize");C!==void 0&&(typeof C!="number"||!Number.isFinite(C))&&r.push({path:`${A.fontSize!==void 0?`${n}.`:""}fontSize`,message:"Must be a number."});for(let I of["neon","animation","typography"])A[I]!==void 0&&!Bl(A[I])&&s(I,"Must be an object.");if(A.id!==void 0&&(typeof A.id!="string"||!A.id)&&s("id","Must be a non-empty id."),r.length>i)return null;let y=ZE({type:l,[l]:d,id:A.id,font:B.id,flicker:v,glitch:Q,size:l==="text"?C:A.size},t),w={...y};w.neon={...c,...A.neon},w.animation={...y.animation,...o?{seed:a}:{},...A.animation},l==="text"&&(w.typography={...y.typography,...A.typography});for(let I of["x","y","scale","rotation","opacity"])A[I]!==void 0&&(w[I]=A[I]);return w}function g6(A,e,t,n,o){let a=A.elements.filter(w=>e.has(w.id));if(!a.length)return A;let{width:r,height:i}=A.stage,s=a.map(w=>of({...w,x:0,y:0},o).bounds),l=Math.max(...a.map(w=>(w.type==="text"?w.typography.fontSize:w.size)*w.scale)),d=n??(t?l*.12:0),u=w=>t?w.height:w.width,c=w=>t?w.width:w.height,p=s.reduce((w,I)=>w+u(I),0)+d*(s.length-1),B=t?i*.8:r*.86,v=t?r*.86:i*.72,Q=Math.min(1,B/Math.max(1,p),v/Math.max(1,...s.map(c))),C=((t?i:r)-p*Q)/2,y=new Map;return a.forEach((w,I)=>{let F=C+u(s[I])*Q/2;C+=(u(s[I])+d)*Q,y.set(w.id,t?{x:r/2,y:Df(F),scale:Df(w.scale*Q)}:{x:Df(F),y:i/2,scale:Df(w.scale*Q)})}),{...A,elements:A.elements.map(w=>y.has(w.id)?{...w,...y.get(w.id)}:w)}}function Iy(A,e=wa){if(!Bl(A))return{valid:!1,errors:[{path:"",message:"Must be an object with `text` or `elements`."}]};let t=[];for(let I of Object.keys(A))k4.includes(I)||t.push({path:I,message:`Unknown key. A neon sign takes: ${k4.join(", ")}.`});let n=[];A.text!==void 0&&typeof A.text!="string"?t.push({path:"text",message:"Must be text."}):typeof A.text=="string"&&A.text.trim()&&n.push({spec:{text:A.text},at:"text"}),A.elements!==void 0&&!Array.isArray(A.elements)?t.push({path:"elements",message:"Must be a list."}):A.elements?.forEach((I,F)=>n.push({spec:I,at:`elements.${F}`})),!n.length&&!t.length&&t.push({path:"elements",message:"Nothing to draw: give `text`, or `elements` with at least one piece."});let o=(I,F,G,E)=>{let D=A[I];return D===void 0?E:typeof D!="number"||!Number.isFinite(D)||D<F||D>G?(t.push({path:I,message:`Must be a number between ${F} and ${G}.`}),E):D},a=wl(A,O4,t),{durationSeconds:r,width:i,height:s}=a,l=o("seed",0,4294967295,s6),d=A.gap===void 0?void 0:o("gap",-2e3,4e3,0);A.layout!==void 0&&A.layout!=="row"&&A.layout!=="column"&&t.push({path:"layout",message:"Must be row or column."}),A.sync!==void 0&&typeof A.sync!="boolean"&&t.push({path:"sync",message:"Must be true or false."});let u={},c="#000000",p=A.background;if(p!==void 0&&!Bl(p))t.push({path:"background",message:"Must be an object."});else if(Bl(p)){for(let I of Object.keys(p))R4.includes(I)||t.push({path:`background.${I}`,message:`Unknown key. A background takes: ${R4.join(", ")}.`});p.type!==void 0&&p.type!=="brick-wall"&&p.type!=="none"&&t.push({path:"background.type",message:"Must be brick-wall or none."}),u.enabled=p.type!=="none",p.color!==void 0&&(kn(p.color)?c=p.color:t.push({path:"background.color",message:"Must be a hex colour."}));for(let I of[...c6,...l6])p[I]!==void 0&&(u[I]=p[I])}let B=[];A.triggers!==void 0&&!Array.isArray(A.triggers)?t.push({path:"triggers",message:"Must be a list."}):A.triggers?.forEach((I,F)=>{!Bl(I)||!xy.includes(I.kind)||typeof I.at!="number"||I.at<0||I.at>r?t.push({path:`triggers.${F}`,message:`Needs kind (${xy.join(", ")}) and at (seconds, within the duration).`}):B.push({kind:I.kind,at:Math.round(I.at*1e3),...typeof I.target=="string"?{target:I.target}:{}})});let v=new Set,Q=[];if(n.forEach(({spec:I,at:F},G)=>{if(!Bl(I)){t.push({path:F,message:"An element must be an object."});return}let E=d6(I,A,G,F,A.sync!==!1,l,t);E&&(I.x===void 0&&I.y===void 0&&v.add(String(E.id)),Q.push(E))}),t.length)return{valid:!1,errors:t};let C={width:F4,height:Math.round(F4*s/i)},y=K0({stage:C,elements:Q,wall:u,timeline:{duration:Math.round(r*1e3),loop:!1,triggers:B}});y=g6(y,v,A.layout==="column",d,e);let w=nf(y).map(I=>({path:I.path.replace(/^wall\./,"background."),message:I.message}));return w.length?{valid:!1,errors:w}:(a.still&&a.timestampSeconds===void 0&&(a.timestampSeconds=f6(y)??0),{valid:!0,errors:[],scene:y,backgroundColor:c,output:a})}function f6(A){let e=A.elements.filter(o=>o.visible&&o.animation.enabled&&(o.animation.glitchEnabled||A.timeline.triggers.some(a=>a.kind==="glitch")));if(!e.length)return;let t=o=>Math.max(0,...e.map(a=>{let r=Zg(a,o,Xc(A.timeline.triggers,a.id)).glitch;return r?Math.abs(r.shiftX)+r.slices.reduce((i,s)=>i+Math.abs(s.dx),0)+2*r.rgbSplit+Math.abs(r.glowShiftX):0})),n;for(let o of $E(A,0,6e4,A.timeline.triggers).filter(a=>a.kind==="glitch").slice(0,8))for(let a=Math.floor(o.at);a<o.at+600;a+=15){let r=t(a);r>(n?.strength??0)&&(n={ms:a,strength:r})}return n?n.ms/1e3:void 0}var N4=A=>A.elements.map(e=>({id:e.id,type:e.type,content:e.type==="text"?e.text:e.type==="emoji"?e.emoji:e.artwork.kind==="library"?e.artwork.id:"svg",color:e.neon.color,x:e.x,y:e.y,scale:e.scale}));var L4=A=>typeof A=="object"&&A!==null&&!Array.isArray(A);function Dy(A,e){if(!L4(A)||!L4(e))return e===void 0?A:e;let t={...A};for(let[n,o]of Object.entries(e))t[n]=Dy(A[n],o);return t}function Cl(A,e){let n=pf(A).states[e];if(!n)return A;let o=Dy(ml,n.deformation);return{...A,surface:{...A.surface,state:e},deformation:{...o,wrap:A.deformation.wrap,morph:A.deformation.morph},view:{...A.view,roll:0,...n.view}}}function Sy(A,e){let t=qr(e),n={...A,object:null,surface:{...A.surface,type:e,color:null},material:{...A.material,...t.material}};return Cl(n,t.defaultState)}var ze=(A,e,t,n,o)=>({key:A,start:e,end:t,easing:"ease-in-out",label:n??A,...o?{outStart:o[0],outEnd:o[1]}:{}}),Qa=(A,e)=>{let t=qr(A),n={...Aa,material:{...Aa.material,...t.material}};return wy({...e,surface:{type:A,state:t.defaultState,seed:7,color:null,...e.surface}},{...n,deformation:ml})};function j4(A,e){let t=Wi(e);return{...A,object:e,surface:{...A.surface,type:"object",state:t.defaultState,color:null},typography:{...A.typography,blendMode:"normal"},placement:{...A.placement,x:.5,y:.5,rotation:0},deformation:{...Dy(ml,t.states[t.defaultState].deformation),wrap:1},material:{...A.material,...t.material,blend:1,gloss:.2},view:{...A.view,roll:0}}}function Fy(A,e=By){if(!A.object||!A.text.trim())return A;let t=Wi(A.object),n=t.width/t.curveRadius*(180/Math.PI),o=1e3*Math.min(1,H2/n)*.95,a=1e3*(t.height/t.width)*.8,r=Ef(A.text,{...A.typography,fontSize:100},0,e),i=Math.max(12,Math.min(400,Math.floor(100*Math.min(o/r.width,a/r.height))));return{...A,typography:{...A.typography,fontSize:i},placement:{...A.placement,maxWidth:0}}}var h6=A=>{let e=A.length===4?A.slice(1).split("").map(n=>n+n).join(""):A.slice(1),t=parseInt(e,16);return .299*(t>>16&255)+.587*(t>>8&255)+.114*(t&255)>140?"#1B1D20":"#FFFFFF"},H4=(A,e)=>wy(e,j4({...Aa,deformation:ml},A)),uu="'Anton', Impact, sans-serif",z4="'Playfair Display', Georgia, serif",Sf=[{id:"newspaper-fold",name:"Newspaper \xB7 Fold",description:"The headline lands, then the page folds under through NEWS: the letters wrap round the crease and vanish beneath.",config:Qa("newspaper",{text:"BREAKING NEWS",typography:{fontFamily:uu,fontSize:132,color:"#E0271B"},deformation:{wrap:1,fold:{amount:1,position:.7,angle:180,width:.03,direction:"under",influence:.8}},material:{blend:.55},animation:{duration:9e3,stages:[ze("wrap",.03,.22),ze("blend",.12,.28,"print"),ze("fold",.32,.75)]}})},{id:"newspaper-fold-word",name:"Newspaper \xB7 Crease through a word",description:"The hard case: a crease runs through the middle of a word. Letters compress, turn, darken and pass behind.",config:Qa("newspaper",{text:"EXTRAORDINARY",typography:{fontFamily:"'Playfair Display', Georgia, serif",fontWeight:900,fontSize:118,letterSpacing:0,color:"#141210"},placement:{y:.3},deformation:{wrap:1,tiltX:-.12,fold:{amount:1,position:.5,angle:80,width:.018,direction:"over",influence:1}},material:{blend:.9},animation:{duration:7e3,stages:[ze("fold",.1,.7)]}})},{id:"newspaper-four-folds",name:"Newspaper \xB7 Four folds",description:"An accordion of four creases, the farthest folded first; the last crease runs through the headline, so the lower half of the letters tilts away.",config:Qa("newspaper",{text:"BREAKING NEWS",typography:{fontFamily:uu,fontSize:150,color:"#E0271B"},placement:{y:.3},deformation:{wrap:1,fold:{amount:1,position:.84,angle:100,direction:"under",orientation:"horizontal",width:.02},fold2:{amount:1,position:.68,angle:100,direction:"over",orientation:"horizontal",width:.02},fold3:{amount:1,position:.52,angle:100,direction:"under",orientation:"horizontal",width:.02},fold4:{amount:1,position:.31,angle:50,direction:"over",orientation:"horizontal",width:.02,influence:1}},material:{blend:.85},animation:{duration:1e4,stages:[ze("fold",.05,.28),ze("fold2",.28,.5),ze("fold3",.5,.72),ze("fold4",.72,.94)]}})},{id:"newspaper-wraps",name:"Newspaper \xB7 Wraps",description:"Both sides wrap round rods and the bottom rolls under a third: the headline stays on the flat middle, the columns curve away.",config:Qa("newspaper",{text:"BREAKING NEWS",typography:{fontFamily:uu,fontSize:120,color:"#E0271B"},placement:{y:.34},deformation:{wrap:1,wrap1:{amount:1,position:.9,radius:.05,angle:190,direction:"under",orientation:"vertical",side:"far"},wrap2:{amount:1,position:.1,radius:.05,angle:190,direction:"under",orientation:"vertical",side:"near"},wrap3:{amount:1,position:.72,radius:.07,angle:210,direction:"under",orientation:"horizontal",side:"far"},wrap4:{amount:.6,position:.12,radius:.04,angle:120,direction:"over",orientation:"horizontal",side:"near"}},material:{blend:.8},animation:{duration:1e4,stages:[ze("wrap1",.05,.3,"wrap 1"),ze("wrap2",.25,.5,"wrap 2"),ze("wrap3",.5,.75,"wrap 3"),ze("wrap4",.72,.95,"wrap 4")]}})},{id:"newspaper-crumple",name:"Newspaper \xB7 Crumple",description:"Printed headline \u2192 folded once \u2192 crushed. The letters break across facets like real newsprint.",config:Qa("newspaper",{text:"BREAKING NEWS",typography:{fontFamily:z4,fontWeight:900,fontSize:124,letterSpacing:-2,color:"#161412"},deformation:{wrap:1,fold:{amount:.55,position:.5,orientation:"horizontal",direction:"under",width:.05},crumple:{amount:.9,scale:1}},material:{blend:1,halftone:0},animation:{duration:9e3,stages:[ze("fold",.08,.3),ze("crumple",.32,.8,"crumple")]}})},{id:"newspaper-roll",name:"Newspaper \xB7 Roll",description:"The page rolls up from the bottom into a tube; the headline rides the outside of the roll.",config:Qa("newspaper",{text:"BREAKING NEWS",typography:{fontFamily:uu,fontSize:132,color:"#E0271B"},placement:{y:.3},deformation:{wrap:1,roll:{amount:.7,edge:"bottom",direction:"under",radius:.085}},material:{blend:.8},animation:{duration:8e3,stages:[ze("roll",.1,.8,"roll")]}})},{id:"bottle-wrap",name:"Bottle \xB7 Wrap",description:"Flat label \u2192 cylinder \u2192 the type wraps it \u2192 glass reflections \u2192 printed.",config:Qa("bottle",{text:`HELLO
|
|
529
|
+
WORLD`,typography:{fontFamily:"'Archivo Black', 'Arial Black', sans-serif",fontSize:150,lineHeight:.92,letterSpacing:-3,color:"#161616",align:"left"},placement:{x:.5,y:.47},deformation:{wrap:1,curve:1},material:{blend:1,gloss:.25},view:{roll:-28,motion:.8},animation:{duration:9e3,stages:[ze("curve",.05,.38,"cylinder"),ze("wrap",.3,.55),ze("blend",.55,.85,"print")]}})},{id:"wrapper-fold",name:"Wrapper \xB7 Fold",description:"Flat film \u2192 inflated pack \u2192 the end folds under \u2192 wrinkles \u2192 printed on the foil.",config:Qa("wrapper",{text:`SUMMER
|
|
530
|
+
SALE`,typography:{fontFamily:uu,fontSize:170,lineHeight:.9,color:"#C8102E",gradient:{enabled:!0,from:"#E3262B",to:"#8E0B1F",angle:90}},placement:{x:.46,y:.5,rotation:-6},deformation:{wrap:1,curve:1,wrinkle:.7,fold:{amount:.85,position:.82,angle:150,width:.05,direction:"under"}},material:{blend:1},animation:{duration:9e3,stages:[ze("curve",.05,.3,"inflate"),ze("wrap",.12,.36),ze("fold",.36,.58),ze("wrinkle",.55,.75),ze("blend",.7,.92,"print")]}})},{id:"fabric-fold",name:"Fabric \xB7 Fold",description:"Screen print on cotton: the cloth drifts into folds, then folds over; the ink moves with the weave.",config:Qa("fabric",{text:`WEEKEND
|
|
531
|
+
CLUB`,typography:{fontFamily:"'Oswald', 'Arial Narrow', sans-serif",fontWeight:700,fontSize:150,lineHeight:.95,letterSpacing:6,color:"#F2EBDD"},placement:{y:.46},deformation:{wrap:1,wave:.75,fold:{amount:1,position:.88,angle:170,width:.05,direction:"over"}},material:{blend:1},view:{motion:1},animation:{duration:9e3,stages:[ze("wrap",.03,.2),ze("wave",.15,.5,"folds"),ze("fold",.55,.85)]}})},{id:"paper-crumple",name:"Paper \xB7 Note",description:"A marker note on a plain sheet, crushed.",config:Qa("paper",{text:`Call me
|
|
532
|
+
back!`,typography:{fontFamily:"'Permanent Marker', cursive",fontSize:118,lineHeight:1.05,color:"#1F3FA8",letterSpacing:0},placement:{y:.42,rotation:-5},deformation:{wrap:1,crumple:{amount:.75,scale:.9}},material:{blend:1,inkRoughness:.2},animation:{duration:8e3,stages:[ze("crumple",.15,.7,"crush")]}})},{id:"object-tumbler",name:"Tumbler \xB7 Built from parts",description:"No tumbler exists in the library: a hollow tapered cylinder, a ring for the rim and a short cylinder for the foot. The name wraps the taper.",config:H4(hl("tumbler"),{text:"Shekhar",typography:{fontFamily:"'Archivo Black', 'Arial Black', sans-serif",fontSize:120,letterSpacing:0,color:"#F4F1EA"},view:{motion:.8},animation:{duration:8e3,stages:[ze("curve",.05,.45,"wrap round"),ze("blend",.45,.85,"print")]}})},{id:"object-mug",name:"Mug \xB7 Built from parts",description:"A hollow cylinder and a tube along a path for the handle, glazed black; the name is printed in white.",config:H4(hl("mug"),{text:"Tushar",typography:{fontFamily:z4,fontWeight:900,fontSize:150,letterSpacing:0,color:"#FFFFFF"},view:{motion:.8},animation:{duration:8e3,stages:[ze("curve",.05,.45,"wrap round"),ze("blend",.45,.85,"print")]}})}];function p6(A){return Sf.find(e=>e.id===A)}function K4(A={}){let e=p6(A.preset??"")?.config??Sf[0].config;A.surface&&A.surface!==e.surface.type&&(e=Sy(e,A.surface)),A.object&&(e=j4(e,typeof A.object=="string"?hl(A.object,{color:A.objectColor,material:A.objectMaterial}):A.object)),A.state&&(e=Cl(e,A.state)),A.text!==void 0&&(e={...e,text:A.text});let t=A.font?$r(A.font):void 0;return t&&(e={...e,typography:{...e.typography,fontFamily:t.family,fontWeight:t.weights.includes(e.typography.fontWeight)?e.typography.fontWeight:t.weights[t.weights.length-1]}}),A.color&&/^#[0-9a-f]{6}$/i.test(A.color)&&(e={...e,typography:{...e.typography,color:A.color.toUpperCase()}}),A.material&&(e={...e,material:{...e.material,type:A.material}}),e.object&&A.object&&(A.color||(e={...e,typography:{...e.typography,color:h6(Wi(e.object).color)}}),e=Fy(e)),e}var Ty=["wrapped","lying","turned","tipped"],ky=If,Ho={min:256,max:2400,default:1200},J4=["text","object","objectColor","objectMaterial","font","textColor","fontSize","pose","format","width","height"],W4=A=>typeof A=="object"&&A!==null&&!Array.isArray(A),$8={type:"object",properties:{text:{type:"string",maxLength:Ea,description:"The words on the object. \\n breaks a line. They wrap the part named in object.text.on (the recipe\u2019s body)."},object:{description:`What to build. Either a recipe name (${Object.keys(fl).join(", ")}) \u2014 a starting composition \u2014 or a whole spec { name, parts: [{ id, shape, params, ops, material: { type, color }, at, rotate }], text: { on, y, height, arc, label } } for anything else. Call describe_object_construction for every shape, manipulator, material and range; its \`recipeSpecs\` are specs to copy and edit (add a lid, a handle, a cap).`,anyOf:[{type:"string",enum:Object.keys(fl)},{type:"object"}]},objectColor:{type:"string",description:"With a recipe name: the main part\u2019s colour, hex (#C9CDD3)."},objectMaterial:{type:"string",enum:[...gl],description:"With a recipe name: the main part\u2019s material."},font:{type:"string",enum:qo.map(A=>A.id),description:"The typeface. Default anton."},textColor:{type:"string",description:"Hex. Default: near-white or near-black, whichever reads on the part."},fontSize:{type:"number",minimum:12,maximum:400,description:"Units where the text area is 1000 wide. Omit it: the text is then sized to fill the part\u2019s front face."},pose:{type:"string",enum:[...Ty],description:"wrapped: standing, front-on (default). lying: on the table, diagonal. turned: showing its side. tipped: tipped toward the camera to show the top."},format:{type:"string",enum:[...ky],description:"Default png. jpg is a smaller file; the picture is opaque either way."},width:{type:"integer",minimum:Ho.min,maximum:Ho.max,description:`Pixels. Default ${Ho.default}.`},height:{type:"integer",minimum:Ho.min,maximum:Ho.max,description:`Pixels. Default ${Ho.default}.`}},required:["text","object"],additionalProperties:!1};function Yy(A,e){if(!W4(A))return{valid:!1,errors:[{path:"",message:"The request must be an object: { text, object }."}]};let t=[];for(let c of Object.keys(A))J4.includes(c)||t.push({path:c,message:`Not part of the request. It takes: ${J4.join(", ")}.`});let{text:n,object:o}=A;typeof n!="string"||!n.trim()?t.push({path:"text",message:"The words to put on the object."}):n.length>Ea&&t.push({path:"text",message:`At most ${Ea} characters.`});let a=null;if(typeof o=="string")o in fl?a=o:t.push({path:"object",message:`No recipe called \u201C${o}\u201D. Recipes: ${Object.keys(fl).join(", ")}. For anything else send a spec of parts (describe_object_construction).`});else if(W4(o)){let c=j2(o);c.length?t.push(...c):a=o;for(let p of["objectColor","objectMaterial"])A[p]!==void 0&&t.push({path:p,message:"Only with a recipe name. In a spec, set the part\u2019s material."})}else t.push({path:"object",message:"A recipe name or a spec of parts."});let r=c=>{A[c]!==void 0&&!ru(A[c])&&t.push({path:c,message:"A hex colour like #C9CDD3."})};r("objectColor"),r("textColor"),A.objectMaterial!==void 0&&!gl.includes(A.objectMaterial)&&t.push({path:"objectMaterial",message:`One of: ${gl.join(", ")}.`}),A.font!==void 0&&!(typeof A.font=="string"&&$r(A.font))&&t.push({path:"font",message:`One of: ${qo.map(c=>c.id).join(", ")}.`}),A.pose!==void 0&&!Ty.includes(A.pose)&&t.push({path:"pose",message:`One of: ${Ty.join(", ")}.`});let i=(c,p,B,v)=>{let Q=A[c];Q!==void 0&&(typeof Q!="number"||!Number.isFinite(Q)||Q<p||Q>B||v&&!Number.isInteger(Q))&&t.push({path:c,message:`${v?"A whole number":"A number"} from ${p} to ${B}.`})};i("fontSize",12,400,!1),i("width",Ho.min,Ho.max,!0),i("height",Ho.min,Ho.max,!0);let s=A.format==="jpeg"?"jpg":A.format??"png";if(ky.includes(s)||t.push({path:"format",message:`One of: ${ky.join(", ")}. An object renders to a still.`}),t.length||a===null)return{valid:!1,errors:t};let l=K4({text:n,object:a,objectColor:A.objectColor,objectMaterial:A.objectMaterial,font:A.font??"anton",color:A.textColor?.toUpperCase()});A.pose&&(l=Cl(l,A.pose));let d=A.fontSize===void 0;l=d?Fy(l,e):{...l,typography:{...l.typography,fontSize:A.fontSize}},l={...l,view:{...l.view,motion:0}};let u=Cf(l);return u.length?{valid:!1,errors:u}:{valid:!0,errors:[],config:l,fit:d,output:{format:s,still:!0,width:A.width??Ho.default,height:A.height??Ho.default}}}function _4(A){let e=A.object;return{name:e.name,text:A.text,textOn:e.text.on,fontSize:A.typography.fontSize,textColor:A.typography.color,pose:A.surface.state,parts:e.parts.map(t=>({id:t.id,shape:t.shape,material:t.material.type,color:t.material.color,ops:t.ops.map(n=>n.op)})),composition:Wi(e).blurb}}var Ff=Sf.filter(A=>!A.config.object),du=Object.fromEntries(Ai.map(A=>[A,Object.keys(qr(A).states)])),X4={formats:yl,format:"png",width:1600,height:1200,durationSeconds:Aa.animation.duration/1e3,fps:30,fixedDuration:!0},{timeSeconds:aY,...m6}=bl(X4),y6={type:"object",properties:{text:{type:"string",maxLength:Ea,description:"The words printed on the surface. \\n breaks a line; long lines wrap."},surface:{type:"string",enum:[...Ai],description:`Default newspaper. ${Ai.map(A=>`${A}: ${qr(A).blurb}`).join(" ")}`},state:{type:"string",enum:[...new Set(Object.values(du).flat())],description:`How the surface lies. ${Ai.map(A=>`${A}: ${du[A].join(", ")} (default ${qr(A).defaultState}).`).join(" ")}`},motion:{type:"string",enum:Ff.map(A=>A.id),description:`A ready-made transformation, with its own surface, look and timeline; a video plays it and a still shows where it ends. ${Ff.map(A=>`${A.id}: ${A.description}`).join(" ")}`},font:{type:"string",enum:qo.map(A=>A.id),description:"The typeface. Default anton."},textColor:{type:"string",description:"Hex, like #E0271B."},fontSize:{type:"number",minimum:12,maximum:400,description:"Units where the surface is 1000 wide. Default 128; long text wraps onto more lines."},...m6,timeSeconds:{type:"number",description:"For png / jpg: the moment of the timeline to capture. Default: the end, with every transformation complete."}},required:["text"]},V4=Object.keys(y6.properties);function $4(A){if(typeof A!="object"||A===null||Array.isArray(A))return{valid:!1,errors:[{path:"",message:"The request must be an object: { text, surface }."}]};let e=A,t=[],n=(c,p)=>{t.push({path:c,message:p})};for(let c of Object.keys(e))V4.includes(c)||n(c,c==="duration"?"The timeline sets its own length; it cannot be changed here.":`Not part of the request. It takes: ${V4.join(", ")}.`);typeof e.text!="string"||!e.text.trim()?n("text","The words to print on the surface."):e.text.length>Ea&&n("text",`At most ${Ea} characters.`);let o=e.motion===void 0?void 0:Ff.find(c=>c.id===e.motion);e.motion!==void 0&&!o&&n("motion",`One of: ${Ff.map(c=>c.id).join(", ")}.`),e.surface!==void 0&&!Ai.includes(e.surface)?n("surface",`One of: ${Ai.join(", ")}. For a tumbler, mug, can or anything built from parts, use render_object.`):o&&e.surface!==void 0&&e.surface!==o.config.surface.type&&n("surface",`The motion ${o.id} is on ${o.config.surface.type}.`);let a=o?.config.surface.type??e.surface??"newspaper";e.state!==void 0&&du[a]&&!du[a].includes(e.state)&&n("state",`For ${a}, one of: ${du[a].join(", ")}.`);let r=typeof e.font=="string"?$r(e.font):void 0;e.font!==void 0&&!r&&n("font",`One of: ${qo.map(c=>c.id).join(", ")}.`),e.textColor!==void 0&&!ru(e.textColor)&&n("textColor","A hex colour like #E0271B."),e.fontSize!==void 0&&(typeof e.fontSize!="number"||!(e.fontSize>=12&&e.fontSize<=400))&&n("fontSize","A number from 12 to 400.");let i=o?.config??(a==="newspaper"?Aa:Sy(Aa,a)),{duration:s,...l}=e,d=wl(l,{...X4,durationSeconds:i.animation.duration/1e3},t);if(d.still&&d.timestampSeconds!==void 0&&d.timestampSeconds>d.durationSeconds&&n(e.frame!==void 0?"frame":"timeSeconds",`The timeline is ${d.durationSeconds}s long.`),t.length)return{valid:!1,errors:t};i={...i,text:e.text},e.state!==void 0&&(i=Cl(i,e.state)),r&&(i={...i,typography:{...i.typography,fontFamily:r.family,fontWeight:r.weights.includes(i.typography.fontWeight)?i.typography.fontWeight:r.weights[r.weights.length-1]}}),e.textColor!==void 0&&(i={...i,typography:{...i.typography,color:e.textColor.toUpperCase()}}),e.fontSize!==void 0&&(i={...i,typography:{...i.typography,fontSize:e.fontSize}});let u=Cf(i);return u.length?{valid:!1,errors:u}:(d.still&&d.timestampSeconds===void 0&&(d.timestampSeconds=d.durationSeconds),{valid:!0,errors:[],config:i,output:d,motion:o?.id??null})}function Z4(A,e){return{surface:A.surface.type,state:A.surface.state,text:A.text,motion:e,font:A.typography.fontFamily.split(",")[0].replace(/'/g,"").trim(),fontSize:A.typography.fontSize,textColor:A.typography.color,timeline:Q4(A.animation.stages)}}var vl=Ue(bt(),1),ei=JSON.parse(document.getElementById("comppack-render").textContent),Ry=(0,q4.createRoot)(document.getElementById("root")),ti=()=>new Promise(A=>requestAnimationFrame(()=>requestAnimationFrame(()=>A()))),Py={display:"block",width:"100%",height:"100%"},_n=()=>{};async function b6(){await Promise.all(Array.from(document.querySelectorAll('link[rel="stylesheet"]')).map(A=>A.sheet?void 0:new Promise(e=>{A.addEventListener("load",()=>e(),{once:!0}),A.addEventListener("error",()=>e(),{once:!0})}))),await ti(),await document.fonts.ready}async function w6(){let A=Iy(ei.content);if(!A.scene)return{errors:A.errors};let e=A.scene.elements.flatMap(i=>i.type==="text"?[{family:i.typography.fontFamily,font:ol(i.typography),text:i.text}]:i.type==="emoji"?[{family:i.fontFamily,font:ol({fontStyle:"normal",fontWeight:i.fontWeight,fontSize:i.size,fontFamily:i.fontFamily}),text:i.emoji}]:[]),t=[...ba,Wc].filter(i=>i.google&&e.some(s=>s.family===i.family));t.length&&await new Promise(i=>{let s=document.createElement("link");s.rel="stylesheet",s.href=jE(t),s.onload=s.onerror=()=>i(),document.head.appendChild(s)});let n=await Promise.all(e.map(async i=>({family:i.family.split(",")[0].replace(/'/g,"").trim(),loaded:!t.some(s=>s.family===i.family)||await document.fonts.load(i.font,i.text).then(s=>s.length>0,()=>!1)})));await document.fonts.ready;let o=e2(),a=Iy(ei.content,o);if(!a.scene)return{errors:a.errors};let r=a.scene;if(r.wall.enabled){let{wall:i,mask:s}=X0(r.wall,r.stage.width,r.stage.height);await Promise.all([i,s].map(l=>{let d=new Image;return d.src=l,d.decode().catch(()=>{})}))}return _n=i=>(0,Oy.flushSync)(()=>Ry.render((0,vl.jsx)(A2,{scene:r,timeMs:i,measure:o,preserveAspectRatio:"none",style:Py}))),_n(0),await ti(),{errors:[],summary:N4(r),fonts:n.filter((i,s)=>n.findIndex(l=>l.family===i.family)===s)}}async function B6(){let A=Yy(ei.content);if(!A.valid)return{errors:A.errors};let e=document.body.appendChild(Object.assign(document.createElement("canvas"),{id:"stage"}));Object.assign(e.style,{position:"fixed",inset:"0",...Py});let t=new iu(e);if(!t.ok)return{errors:[{path:"",message:t.error??"WebGL2 is not available in this browser."}]};await t.whenReady(A.config);let n=A.config.typography,o=n.fontFamily.split(",")[0].replace(/'/g,"").trim(),a=!qo.some(i=>i.name===o)||await document.fonts.load(nr(n,100),A.config.text).then(i=>i.length>0,()=>!1),r=Yy(ei.content,Mf);return r.valid?(_n=async()=>{t.render(r.config,0),await ti(),t.render(r.config,0)},await _n(0),await ti(),{errors:[],summary:_4(r.config),fonts:[{family:o,loaded:a}]}):{errors:r.errors}}async function C6(){let A=$4(ei.content);if(!A.valid)return{errors:A.errors};let{config:e}=A,t=document.body.appendChild(Object.assign(document.createElement("canvas"),{id:"stage"}));Object.assign(t.style,{position:"fixed",inset:"0",...Py});let n=new iu(t);if(!n.ok)return{errors:[{path:"",message:n.error??"WebGL2 is not available in this browser."}]};await n.whenReady(e);let o=e.typography,a=o.fontFamily.split(",")[0].replace(/'/g,"").trim(),r=!qo.some(i=>i.name===a)||await document.fonts.load(nr(o,100),e.text).then(i=>i.length>0,()=>!1);return _n=i=>{n.render(E4(e,i/e.animation.duration),i)},_n(0),await ti(),_n(0),await ti(),{errors:[],summary:Z4(e,A.motion),fonts:[{family:a,loaded:r}]}}async function v6(){let A=S4(ei.content);if(!A.request||!A.output)return{errors:A.errors};let{request:e,output:t}=A,n=e.content,o=ei.width,a=null,r=l=>{a=l.map(d=>({path:`request.content.${d.path}`,message:d.message}))},i=l=>l/1e3*Number(e.content.canvas?.fps??t.fps),s=l=>(0,Oy.flushSync)(()=>Ry.render(l));if(A.player==="slots"){let l=jc(e.template),d=await new Promise(u=>{Ry.render((0,vl.jsx)(wE,{template:l,content:e.content,autoPlay:!1,loop:!1,width:o,onReady:u,onInvalid:c=>{r(c),u(null)}}))});if(!d)return{errors:a??[{path:"request",message:"The template did not mount."}]};await d.ready,_n=u=>d.seek(Math.min(d.durationInFrames-1,Math.round(u/1e3*d.fps)))}else if(A.player==="promo-product-showcase")_n=l=>s((0,vl.jsx)(m2,{config:n,autoPlay:!1,width:o,frame:Qv(n,i(l)),onInvalid:r}));else if(A.player==="paper-fold-promo")_n=l=>s((0,vl.jsx)(d2,{config:n,autoPlay:!1,width:o,frame:qv(n,i(l)),onInvalid:r}));else{let l=null,d=-1;_n=u=>new Promise(c=>{if(u===d){c();return}d=u,l=c,s((0,vl.jsx)(B2,{config:n,autoPlay:!1,width:o,frame:sv(n,i(u)),onFrame:()=>{l?.(),l=null},onInvalid:r}))})}return await _n(0),await b6(),await _n(0),await ti(),a?{errors:a}:{errors:[],summary:{template:e.template}}}var E6={neon:w6,object:B6,surface:C6,animation:v6};window.__render={ready:E6[ei.kind]().catch(A=>({errors:[{path:"",message:A instanceof Error?A.message:String(A)}]})),frame:async A=>{await _n(A),await ti()}};
|
|
533
|
+
/*! Bundled license information:
|
|
534
|
+
|
|
535
|
+
react/cjs/react.production.js:
|
|
536
|
+
(**
|
|
537
|
+
* @license React
|
|
538
|
+
* react.production.js
|
|
539
|
+
*
|
|
540
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
541
|
+
*
|
|
542
|
+
* This source code is licensed under the MIT license found in the
|
|
543
|
+
* LICENSE file in the root directory of this source tree.
|
|
544
|
+
*)
|
|
545
|
+
|
|
546
|
+
react-dom/cjs/react-dom.production.js:
|
|
547
|
+
(**
|
|
548
|
+
* @license React
|
|
549
|
+
* react-dom.production.js
|
|
550
|
+
*
|
|
551
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
552
|
+
*
|
|
553
|
+
* This source code is licensed under the MIT license found in the
|
|
554
|
+
* LICENSE file in the root directory of this source tree.
|
|
555
|
+
*)
|
|
556
|
+
|
|
557
|
+
scheduler/cjs/scheduler.production.js:
|
|
558
|
+
(**
|
|
559
|
+
* @license React
|
|
560
|
+
* scheduler.production.js
|
|
561
|
+
*
|
|
562
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
563
|
+
*
|
|
564
|
+
* This source code is licensed under the MIT license found in the
|
|
565
|
+
* LICENSE file in the root directory of this source tree.
|
|
566
|
+
*)
|
|
567
|
+
|
|
568
|
+
react-dom/cjs/react-dom-client.production.js:
|
|
569
|
+
(**
|
|
570
|
+
* @license React
|
|
571
|
+
* react-dom-client.production.js
|
|
572
|
+
*
|
|
573
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
574
|
+
*
|
|
575
|
+
* This source code is licensed under the MIT license found in the
|
|
576
|
+
* LICENSE file in the root directory of this source tree.
|
|
577
|
+
*)
|
|
578
|
+
|
|
579
|
+
react/cjs/react-jsx-runtime.production.js:
|
|
580
|
+
(**
|
|
581
|
+
* @license React
|
|
582
|
+
* react-jsx-runtime.production.js
|
|
583
|
+
*
|
|
584
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
585
|
+
*
|
|
586
|
+
* This source code is licensed under the MIT license found in the
|
|
587
|
+
* LICENSE file in the root directory of this source tree.
|
|
588
|
+
*)
|
|
589
|
+
*/
|