handler-playable-sdk 0.5.2 → 0.5.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-4EJGJBZO.js → chunk-CFNCYJKB.js} +115 -87
- package/dist/cli/brand-dna.mjs +1 -1
- package/dist/cli/canva-import.mjs +1 -1
- package/dist/cli/cleanup-assets.mjs +1 -1
- package/dist/cli/fix-scales.mjs +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/screen-helper.mjs +1 -1
- package/dist/cli/setup-library.mjs +1 -1
- package/dist/cli/student-helper.mjs +1 -1
- package/dist/cli/sync-screens.mjs +1 -1
- package/dist/cli/validate-assets.mjs +1 -1
- package/dist/cli/validate.mjs +1 -1
- package/dist/index.cjs +103 -75
- package/dist/index.js +1 -1
- package/dist/pixi/index.cjs +1 -1
- package/dist/pixi/index.js +1 -1
- package/dist/three/index.cjs +26 -26
- package/dist/three/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as F,F as G,G as H,H as I,I as J,J as K,K as L,L as M,M as N,N as O,O as P,P as Q,Q as R,R as S,S as T,T as U,U as V,a}from"./chunk-
|
|
1
|
+
import{E as F,F as G,G as H,H as I,I as J,J as K,K as L,L as M,M as N,N as O,O as P,P as Q,Q as R,R as S,S as T,T as U,U as V,a}from"./chunk-CFNCYJKB.js";import"./chunk-I5OOVR5U.js";import{a as q,b as r,c as s,d as t,e as u,f as v,g as w,h as x,i as y,j as z,k as A,l as B,m as C,n as D,o as E}from"./chunk-LV4HGC5G.js";import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m,m as n,n as o,o as p}from"./chunk-ZLL42OOV.js";import"./chunk-E6WJCS24.js";import"./chunk-JXBG6UFL.js";export{Q as COLORS,B as ConfigWatcher,K as DebugPanel,A as DefaultReloadStrategy,U as Handler,T as PlayableLoadingScreen,L as PreviewShell,R as STROKE_WIDTH,S as THEME,d as applyConfigOverride,e as applyConfigOverrides,n as applyConfigsToDisk,x as applyDefaults,a as baseLottie,P as bootstrap,f as clearConfigOverrides,g as clearConfigOverridesForObject,j as configOverrideManager,M as createPreviewShell,k as deepClone,V as default,H as defaultPreset,G as deviceGroups,F as devicePresets,C as diffConfigs,l as exportConfigsAsJSON,i as getConfigOverrides,m as getConfigStateSummary,b as getOverrideMode,I as getPresetById,J as getPresetsByCategory,s as loadAllObjectConfigs,q as loadComponentSchemas,t as loadEngineConfig,u as loadGamePromptConfig,y as loadObjectCentricConfig,r as loadObjectConfig,v as loadSceneConfig,D as rehydrateObject,h as removeConfigOverride,o as resetToApplied,p as resetToOriginal,O as setBootstrapDependencies,c as setOverrideMode,E as setupHotReload,N as setupLiveEditBridge,z as toLegacyFormat,w as validateObjectConfig};
|
package/dist/pixi/index.cjs
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
<button class="debug-btn primary" data-modal-apply>Apply</button>
|
|
44
44
|
</div>
|
|
45
45
|
</div>
|
|
46
|
-
`,this.modal=n}attachModalListeners(){if(!this.modal)return;this.modal.querySelectorAll("[data-modal-close]").forEach(o=>{o.addEventListener("click",()=>this.close())}),this.modal.querySelectorAll("[data-tab]").forEach(o=>{o.addEventListener("click",s=>{let c=s.target.dataset.tab;c&&this.switchTab(c)})});let n=this.modal.querySelector("[data-ai-generate]");n==null||n.addEventListener("click",()=>{this.openAiEditor("generate")});let a=this.modal.querySelector("[data-ai-edit]");a==null||a.addEventListener("click",()=>{this.openAiEditor("edit")});let r=this.modal.querySelector("[data-modal-apply]");r==null||r.addEventListener("click",()=>{this.apply()}),this.modal.addEventListener("click",o=>{o.target===this.modal&&this.close()})}switchTab(e){if(!this.modal)return;this.modal.querySelectorAll("[data-tab]").forEach(a=>{a.classList.toggle("active",a.getAttribute("data-tab")===e)}),this.modal.querySelectorAll("[data-tab-panel]").forEach(a=>{a.classList.toggle("active",a.getAttribute("data-tab-panel")===e)})}openAiEditor(e){let t=window.__openAiEditor;if(typeof t!="function"){alert("AI Editor not available. Please check your setup.");return}let n="";e==="edit"&&this.currentAsset?n=`Edit this image: ${this.currentObjectId}`:n=`Create an image for: ${this.currentObjectId}`,t(this.currentObjectId||"unknown",n,this.currentAsset,{path:this.currentPath,onApply:a=>{this.onApplyCallback&&this.onApplyCallback(a),this.close()}})}apply(){this.onApplyCallback&&this.onApplyCallback("library/placeholder.png"),this.close()}close(){this.modal&&this.modal.parentNode&&this.modal.parentNode.removeChild(this.modal),this.modal=null,this.currentObjectId=null,this.currentPath=null,this.onApplyCallback=null}}});var Hr={};Vi(Hr,{AssetCache:()=>Q,AssetLoader:()=>he,AssetSystem:()=>It,AssetTextures:()=>fe,Assets:()=>pa,BaseSystem:()=>He,GameEngine:()=>Ot,GameObject:()=>st,GameObjectManager:()=>De,ObjectFactory:()=>me,Renderer:()=>ot,RuntimeObjectRegistry:()=>Ne,Transform:()=>rt,applyScreenAnchor:()=>zt,basePixi:()=>sa,clearResponsiveElements:()=>ga,createPixiBase:()=>_t,getRegisteredFontIds:()=>na,globalResponsiveMultipliers:()=>ct,initAssetTextures:()=>St,initAssets:()=>ua,layout:()=>fa,playLottieOverlay:()=>ra,registerFont:()=>ia,registerType:()=>xt,resolveAnchorVec2:()=>Ce,resolveFont:()=>ea,resolveFontWeight:()=>ta,resolveScreenAnchorPoint:()=>Fe,resolveScreenRatioPoint:()=>Be,runInitSequence:()=>ma,setLottieInstance:()=>At,spawnSceneFromConfig:()=>ca,updateScreenState:()=>Rt});module.exports=Ea(Hr);var Qn=require("pixi.js");var pe={};function mt(i,e,t=!1){pe[i]||(pe[i]=[]),pe[i].push({fn:e,once:t})}function Gt(i,e){if(pe[i]){if(!e){delete pe[i];return}pe[i]=pe[i].filter(t=>t.fn!==e)}}function bt(i,...e){let t=pe[i];if(t)for(let n of[...t])n.fn(...e),n.once&&Gt(i,n.fn)}function q(i,e){mt(i,e,!0)}var z=null,Y=[],Te=null;function Xi(i){z=i,Y=[],Te!==null&&(clearTimeout(Te),Te=null)}function Ji(){var i,e,t;return{endpoint:(z==null?void 0:z.endpoint)||"",transport:(z==null?void 0:z.transport)||"beacon",batchSize:(i=z==null?void 0:z.batchSize)!=null?i:10,flushIntervalMs:(e=z==null?void 0:z.flushIntervalMs)!=null?e:300,maxQueue:(t=z==null?void 0:z.maxQueue)!=null?t:200,debug:!!(z!=null&&z.debug)}}async function Yi(i,e,t,n){let a=JSON.stringify(e);if(t==="beacon"&&typeof navigator!="undefined"&&typeof navigator.sendBeacon=="function")try{let r=navigator.sendBeacon(i,new Blob([a],{type:"application/json"}));n&&console.log("[handler.telemetry] beacon",r,e);return}catch(r){n&&console.warn("[handler.telemetry] beacon failed, fallback to fetch",r)}try{await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:a,keepalive:!0}),n&&console.log("[handler.telemetry] fetch",e)}catch(r){n&&console.warn("[handler.telemetry] fetch failed",r)}}function qt(i,e){let t=Ji();if(e&&t.endpoint){if(Y.push(i),Y.length>t.maxQueue&&(Y=Y.slice(Y.length-t.maxQueue)),Y.length>=t.batchSize){Ki();return}Te===null&&(Te=window.setTimeout(()=>{Te=null,Ki()},t.flushIntervalMs))}}async function Ki(){let i=Ji();if(!i.endpoint||Y.length===0)return;let e=Y.splice(0,i.batchSize);await Yi(i.endpoint,{events:e},i.transport,i.debug),Y.length>0&&await Yi(i.endpoint,{events:Y.splice(0,i.batchSize)},i.transport,i.debug)}function Zi(i){return Math.max(0,Math.min(1,i))}function Sa(i){let e=String(i!=null?i:"power2.out");if(e==="linear")return t=>t;if(e==="sine.inOut")return t=>.5-Math.cos(Math.PI*t)/2;if(e==="power2.out"||e==="easeOutQuad")return t=>1-(1-t)*(1-t);if(e.startsWith("back.out")){let t=e.match(/back\.out\(([\d.]+)\)/),n=t?Number(t[1]):1.8;return a=>1+(n+1)*Math.pow(a-1,3)+n*Math.pow(a-1,2)}return t=>1-(1-t)*(1-t)}function Ke(){return typeof performance!="undefined"&&performance.now?performance.now():Date.now()}function Aa(i,e){let t=i==null?void 0:i[e];return typeof t=="number"?t:0}function Qi(i,e,t){try{i[e]=t}catch{}}function Ca(i){let e=i==null?void 0:i.scale;if(!e)return null;let t=typeof e.x=="number"?e.x:1,n=typeof e.y=="number"?e.y:1;return{x:t,y:n}}function en(i,e){let t=i==null?void 0:i.scale;if(t)try{typeof t.set=="function"?t.set(e.x,e.y):(typeof t.x=="number"&&(t.x=e.x),typeof t.y=="number"&&(t.y=e.y))}catch{}}function tn(i,e){let t=Ca(i);if(!t)return{from:null,to:null};let n=null,a=null;return typeof e.scale=="number"?(n=e.scale,a=e.scale):e.scale&&typeof e.scale=="object"&&(typeof e.scale.x=="number"&&(n=e.scale.x),typeof e.scale.y=="number"&&(a=e.scale.y)),typeof e.scaleX=="number"&&(n=e.scaleX),typeof e.scaleY=="number"&&(a=e.scaleY),n===null&&a===null?{from:null,to:null}:{from:{x:t.x,y:t.y},to:{x:n!=null?n:t.x,y:a!=null?a:t.y}}}function nn(){let i=new Set,e=new WeakMap,t=null,n=()=>{if(t!=null)return;t=requestAnimationFrame(()=>{t=null,s(),i.size>0&&n()})},a=u=>{var p;i.add(u);let l=(p=e.get(u.target))!=null?p:new Set;l.add(u),e.set(u.target,l),n()},r=u=>{i.delete(u);let l=e.get(u.target);l&&(l.delete(u),l.size===0&&e.delete(u.target))},o=u=>{u.killed||(u.killed=!0,r(u))},s=()=>{var l,p;let u=Ke();for(let g of Array.from(i)){if(g.killed||g.paused)continue;let m=u-g.startMs-g.delayMs;if(m<0)continue;let f=g.durationMs>0?m/g.durationMs:1,S=Zi(f),b=g.repeat>=0?g.repeat+1:1,h=g.repeat>0?Math.min(Math.floor(f),b-1):0;if(g.repeat>0&&f>=1){let y=f-h;S=Zi(y)}let w=g.ease(S);g.yoyo&&h%2===1&&(w=1-w);for(let y of g.props)Qi(g.target,y.key,y.from+(y.to-y.from)*w);g.scaleFrom&&g.scaleTo&&en(g.target,{x:g.scaleFrom.x+(g.scaleTo.x-g.scaleFrom.x)*w,y:g.scaleFrom.y+(g.scaleTo.y-g.scaleFrom.y)*w});try{(l=g.onUpdate)==null||l.call(g)}catch{}if(f>=b){o(g);try{(p=g.onComplete)==null||p.call(g)}catch{}}}},d=(u,l,p)=>{var y;let g=Math.max(0,(typeof l.duration=="number"?l.duration:.5)*1e3),m=Math.max(0,(typeof l.delay=="number"?l.delay:0)*1e3+((y=p==null?void 0:p.delayMsOverride)!=null?y:0)),f=Sa(l.ease),S=typeof l.repeat=="number"?Math.max(0,l.repeat|0):0,b=l.yoyo===!0,h=new Set(["duration","delay","ease","repeat","yoyo","onUpdate","onComplete","scale","scaleX","scaleY"]),w=[];for(let I of Object.keys(l)){if(h.has(I))continue;let R=l[I];typeof R=="number"&&w.push({key:I,from:Aa(u,I),to:R})}let x=tn(u,l);return{target:u,startMs:Ke(),delayMs:m,durationMs:g,ease:f,props:w,scaleFrom:x.from,scaleTo:x.to,repeat:S,yoyo:b,onUpdate:typeof l.onUpdate=="function"?l.onUpdate:void 0,onComplete:typeof l.onComplete=="function"?l.onComplete:void 0,killed:!1,paused:!1,pauseAtMs:null}},c={to(u,l){let p=d(u,l);return a(p),{kill:()=>o(p),pause:()=>{p.paused||(p.paused=!0,p.pauseAtMs=Ke())},resume:()=>{var f;if(!p.paused)return;let g=(f=p.pauseAtMs)!=null?f:Ke(),m=Ke()-g;p.startMs+=m,p.paused=!1,p.pauseAtMs=null},isActive:()=>!p.killed&&!p.paused}},fromTo(u,l,p){return c.set(u,l),c.to(u,p)},set(u,l){if(!u||!l)return;for(let g of Object.keys(l)){let m=l[g];g==="scale"||g==="scaleX"||g==="scaleY"||typeof m=="number"&&Qi(u,g,m)}let p=tn(u,l);p.to&&en(u,p.to)},killTweensOf(u){let l=e.get(u);if(l)for(let p of Array.from(l))o(p)},timeline(u={}){let l=[],p=0,g=!1,m=[],f=h=>{if(typeof h=="number")return Math.max(0,h*1e3);let w=typeof h=="string"?h.trim():"";return w.startsWith("+=")?p+Math.max(0,Number(w.slice(2))*1e3||0):w?Math.max(0,Number(w)*1e3||0):p},S=h=>{l.push(h);let w=Math.max(0,(typeof h.vars.duration=="number"?h.vars.duration:.5)*1e3);p=Math.max(p,h.atMs+w)},b={to(h,w,x){return S({kind:"to",target:h,vars:w,atMs:f(x)}),b},fromTo(h,w,x,y){return S({kind:"fromTo",target:h,vars:x,from:w,atMs:f(y)}),b},play(){var h,w;if(g)return b;g=!0,m=[];for(let x of l)x.kind==="fromTo"&&c.set(x.target,(h=x.from)!=null?h:{}),m.push(c.to(x.target,{...x.vars,delay:x.atMs/1e3+((w=x.vars.delay)!=null?w:0)}));return b},pause(){for(let h of m)h.pause();return b},kill(){for(let h of m)h.kill();m=[],g=!1}};return u.paused||b.play(),b}};return c}function an(){if(typeof window=="undefined")return;let i=window;if(!i.gsap)try{i.gsap=nn()}catch{}}var rn={name:"handler-playable-sdk",version:"0.5.2",type:"module",description:"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).",main:"dist/index.cjs",module:"dist/index.js",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./pixi":{types:"./dist/pixi/index.d.ts",import:"./dist/pixi/index.js",require:"./dist/pixi/index.cjs"},"./pixi/index.css":{import:"./dist/pixi/index.css",require:"./dist/pixi/index.css"},"./three":{types:"./dist/three/index.d.ts",import:"./dist/three/index.js",require:"./dist/three/index.cjs"},"./cli":{types:"./dist/cli/index.d.ts",import:"./dist/cli/index.js",require:"./dist/cli/index.cjs"}},bin:{"handler-student-helper":"./bin/student-helper.mjs","handler-validate":"./bin/validate.mjs","handler-sync-screens":"./bin/sync-screens.mjs","handler-brand-dna":"./bin/brand-dna.mjs","handler-setup-library":"./bin/setup-library.mjs","handler-screen-helper":"./bin/screen-helper.mjs"},scripts:{prebuild:"python3 src/preview/build-css.py",build:"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild",postbuild:"python3 src/preview/copy-css-to-dist.py","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli",obfuscate:"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","obfuscate-cli":'for file in dist/cli/*.mjs; do javascript-obfuscator "$file" --output "$file" --config obfuscator.config.json; done',lint:"eslint 'src/**/*.{ts,tsx}'",typecheck:"tsc --noEmit",prepublishOnly:"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","publish:update:minor":"node scripts/publish-and-update.cjs minor","publish:update:major":"node scripts/publish-and-update.cjs major"},author:"Handler",license:"MIT",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/HandlerAIGames/handler-playable-sdk.git"},files:["dist","bin","LICENSE","README.md"],peerDependencies:{"lottie-web":"^5.0.0","pixi.js":"^8.0.0",three:"^0.182.0"},peerDependenciesMeta:{"pixi.js":{optional:!0},three:{optional:!0},"lottie-web":{optional:!0}},devDependencies:{"@types/three":"^0.182.0",eslint:"^9.39.2","javascript-obfuscator":"^5.1.0","pixi.js":"8.8.1",three:"^0.182.0","ts-node":"^10.9.2",tsup:"^8.4.0",typescript:"^5.7.2","typescript-eslint":"^8.53.0"},dependencies:{"@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1",jszip:"^3.10.1",sharp:"^0.34.5"}};var V=0,La=V++,on=V++,sn=V++,ln=V++,cn=V++,dn=V++,pn=V++,un=V++,gn=V++,hn=V++,fn=V++,mn=V++,M=La;function bn(){return M===on}function yn(){return M===sn}function vn(){return M===ln}function wn(){return M===cn}function Le(){return M===dn}function ke(){return M===pn}function xn(){return M===un}function En(){return M===gn}function Sn(){return M===hn}function Vt(){return M===fn}function Wt(){return M===mn}function An(){let i=typeof AD_PROTOCOL!="undefined"?AD_PROTOCOL:"none",e=typeof AD_NETWORK!="undefined"?AD_NETWORK:"web_embed";if(i==="mraid")try{mraid.getState(),M=on;return}catch{}else if(i==="dapi")try{dapi.isReady(),M=sn;return}catch{}if(e==="facebook")try{typeof FbPlayableAd!="undefined"&&(M=ln)}catch{}else if(e==="google")try{typeof ExitApi!="undefined"&&(M=cn)}catch{}else if(e==="mintegral")window.gameReady&&(M=dn);else if(e==="tapjoy")window.TJ_API&&(M=pn);else if(e==="tiktok")window.openAppStore&&(M=un);else if(e==="smadex")try{window.smxTracking&&(M=gn)}catch{}else if(e==="snapchat")try{window.ScPlayableAd&&(M=hn)}catch{}else e==="vungle"?M=fn:(i==="nucleo"||e==="nucleo")&&(M=mn)}var yt=ft(require("lottie-web"),1),Cn=yt.default;typeof window!="undefined"&&(window.lottie=yt.default,window.__baseLottie=yt.default);Xt();function D(i,e){let t=(a,r)=>r===0?a:t(r,a%r),n=t(i,e);return`${i/n}:${e/n}`}var vo=[{id:"iphone-15-pro-max",label:"iPhone 15 Pro Max",width:430,height:932,category:"iphone",ratio:D(430,932)},{id:"iphone-15-pro",label:"iPhone 15 Pro",width:393,height:852,category:"iphone",ratio:D(393,852)},{id:"iphone-15",label:"iPhone 15",width:393,height:852,category:"iphone",ratio:D(393,852)},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"iphone",ratio:D(390,844)},{id:"iphone-se",label:"iPhone SE",width:375,height:667,category:"iphone",ratio:D(375,667)},{id:"iphone-12-mini",label:"iPhone 12 Mini",width:360,height:780,category:"iphone",ratio:D(360,780)}],wo=[{id:"pixel-8-pro",label:"Pixel 8 Pro",width:448,height:998,category:"android",ratio:D(448,998)},{id:"pixel-8",label:"Pixel 8",width:412,height:915,category:"android",ratio:D(412,915)},{id:"samsung-s24-ultra",label:"Samsung S24 Ultra",width:412,height:915,category:"android",ratio:D(412,915)},{id:"samsung-s24",label:"Samsung S24",width:360,height:780,category:"android",ratio:D(360,780)},{id:"samsung-a54",label:"Samsung A54",width:412,height:915,category:"android",ratio:D(412,915)},{id:"oneplus-12",label:"OnePlus 12",width:412,height:915,category:"android",ratio:D(412,915)}],xo=[{id:"ipad-pro-12",label:'iPad Pro 12.9"',width:1024,height:1366,category:"tablet",ratio:D(1024,1366)},{id:"ipad-pro-11",label:'iPad Pro 11"',width:834,height:1194,category:"tablet",ratio:D(834,1194)},{id:"ipad-air",label:"iPad Air",width:820,height:1180,category:"tablet",ratio:D(820,1180)},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"tablet",ratio:D(768,1024)},{id:"samsung-tab-s9",label:"Samsung Tab S9",width:800,height:1280,category:"tablet",ratio:D(800,1280)}],Pn=[{id:"playable-portrait",label:"Playable Portrait",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"mraid-320x480",label:"MRAID 320\xD7480",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"playable",ratio:D(390,844),mraidScale:.7},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"playable",ratio:D(768,1024),mraidScale:.7}];var Eo=[...Pn];var Ra=Pn[0];ue();var Fa=ft(require("jszip"),1);function $a(i){return new Promise((e,t)=>{let n=new FileReader;n.onerror=()=>t(new Error("FileReader failed")),n.onload=()=>e(String(n.result||"")),n.readAsDataURL(i)})}function Ha(i){var a;let[e,t]=i.split(","),n=e==null?void 0:e.match(/data:(.*?);base64/);return{base64:t!=null?t:"",mimeType:(a=n==null?void 0:n[1])!=null?a:"image/png"}}async function Na(i){return await new Promise(e=>{let t=new Image;t.onload=()=>e({width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}),t.onerror=()=>e(null),t.src=i})}async function Jt(i){var e,t;try{console.log("[ImageUtils] Fetching image data from URL:",i);let n=await fetch(i);if(!n.ok)return console.warn("[ImageUtils] Fetch failed with status:",n.status,i),null;let a=await n.blob();console.log("[ImageUtils] Blob received, size:",a.size,"type:",a.type);let r=await $a(a),o=await Na(r),s=Ha(r);return console.log("[ImageUtils] Success resolution:",o==null?void 0:o.width,"x",o==null?void 0:o.height,"mime:",s.mimeType),{base64:s.base64,mimeType:s.mimeType,dataUrl:r,width:(e=o==null?void 0:o.width)!=null?e:0,height:(t=o==null?void 0:o.height)!=null?t:0}}catch(n){return console.error("[ImageUtils] Error fetching image data:",n),null}}async function vt(i,e=30){try{console.log("[ImageUtils] Removing background color...");let t=await new Promise((l,p)=>{let g=new Image;g.onload=()=>l(g),g.onerror=()=>p(new Error("Failed to load image")),g.src=i}),n=document.createElement("canvas");n.width=t.width,n.height=t.height;let a=n.getContext("2d");if(!a)return console.error("[ImageUtils] Failed to get canvas context"),i;a.drawImage(t,0,0);let r=a.getImageData(0,0,n.width,n.height),o=r.data,d=[{name:"top-left",offset:0},{name:"top-right",offset:(n.width-1)*4},{name:"bottom-left",offset:(n.height-1)*n.width*4},{name:"bottom-right",offset:((n.height-1)*n.width+(n.width-1))*4}].map(l=>({r:o[l.offset],g:o[l.offset+1],b:o[l.offset+2]})),c=0;for(let l=0;l<o.length;l+=4){let p=o[l],g=o[l+1],m=o[l+2],f=!1;for(let S of d)if(Math.sqrt(Math.pow(p-S.r,2)+Math.pow(g-S.g,2)+Math.pow(m-S.b,2))<e){f=!0;break}f&&(o[l+3]=0,c++)}return console.log(`[ImageUtils] Removed background from ${c} pixels (4-corner sampling, tolerance: ${e})`),a.putImageData(r,0,0),n.toDataURL("image/png")}catch(t){return console.error("[ImageUtils] Error removing background:",t),i}}var _n=require("@google/genai");async function Zt(i,e,t=[],n={}){var a,r,o,s,d,c,u;try{if(!(i!=null&&i.trim()))throw new Error("Gemini API key is required");if(!(e!=null&&e.trim()))throw new Error("Prompt is required");for(let b=0;b<t.length;b++){let h=t[b];if(!h.base64||!h.mimeType)throw new Error(`Image ${b+1} is missing required data`);if(h.base64.length<1e3&&console.warn(`Image ${b+1} data appears very small, may be corrupted`),!h.mimeType.startsWith("image/"))throw new Error(`Image ${b+1} has invalid MIME type: ${h.mimeType}`)}let l=new _n.GoogleGenAI({apiKey:i}),p="gemini-2.5-flash",g=[e];t.length>0&&t.forEach((b,h)=>{g.push({inlineData:{data:b.base64,mimeType:b.mimeType}}),console.log(`[Gemini] Added image ${h+1}: ${b.mimeType}, size: ${Math.round(b.base64.length/1024)}KB`)}),console.log(`[Gemini] Making request with ${t.length} images and prompt length: ${e.length}`);let m=await l.models.generateContent({model:p,contents:g}),f="",S=(o=(r=(a=m.candidates)==null?void 0:a[0])==null?void 0:r.content)==null?void 0:o.parts;if(S)for(let b of S)b.text&&(f+=b.text);if(!f.trim())throw new Error("Empty response from Gemini API");return console.log(`[Gemini] Response received, length: ${f.length}`),f}catch(l){throw console.error("[Gemini] API error:",l),(s=l.message)!=null&&s.includes("Unable to process input image")?new Error("Unable to process the uploaded image. Please ensure it's a valid PNG, JPG, or JPEG file under 10MB and not corrupted."):(d=l.message)!=null&&d.includes("API_KEY_INVALID")?new Error("Invalid Gemini API key. Please check your API key configuration."):(c=l.message)!=null&&c.includes("QUOTA_EXCEEDED")?new Error("Gemini API quota exceeded. Please try again later or check your billing."):(u=l.message)!=null&&u.includes("SAFETY")?new Error("Content was flagged by Gemini safety filters. Please try with different images."):l}}var Mn=require("@google/genai");async function wt(i,e,t=[],n={}){try{console.info("[GEMINI-REAL-SDK] Initializing GoogleGenAI...");let a=new Mn.GoogleGenAI({apiKey:i}),r=[{text:e}];t.length>0&&t.forEach((s,d)=>{console.info(`[GEMINI-REAL-SDK] Adding image part ${d}`),r.push({inlineData:{mimeType:s.mimeType,data:s.base64}})}),console.info("[GEMINI-REAL-SDK] Calling generateContent with model: gemini-2.5-flash-image");let o=await a.models.generateContent({model:"gemini-2.5-flash-image",contents:r});if(console.info("[GEMINI-REAL-SDK] Received response from model"),!o.candidates||!o.candidates[0]||!o.candidates[0].content||!o.candidates[0].content.parts)throw new Error("Gemini 2.5 Flash Image returned invalid response structure.");for(let s of o.candidates[0].content.parts)if(s.text)console.log(s.text);else if(s.inlineData){let d=s.inlineData.data,c=s.inlineData.mimeType||"image/png";return console.info("[GEMINI-REAL-SDK] Found inline image data in response"),`data:${c};base64,${d}`}throw new Error("Gemini 2.5 Flash Image returned no image data.")}catch(a){throw console.error("[GEMINI-REAL-SDK] Error in generateImageWithGemini25Flash:",JSON.stringify(a,Object.getOwnPropertyNames(a),2)),a}}var Wa=require("pixi.js");Xe();ue();var Dn=require("pixi.js");var Ya=require("pixi.js");ue();function tr(i){return new Promise((e,t)=>{let n=new FileReader;n.onerror=()=>t(new Error("FileReader failed")),n.onload=()=>e(String(n.result||"")),n.readAsDataURL(i)})}function ir(i){var a;let[e,t]=i.split(","),n=e==null?void 0:e.match(/data:(.*?);base64/);return{base64:t!=null?t:"",mimeType:(a=n==null?void 0:n[1])!=null?a:"image/png"}}function nr(i){return`
|
|
46
|
+
`,this.modal=n}attachModalListeners(){if(!this.modal)return;this.modal.querySelectorAll("[data-modal-close]").forEach(o=>{o.addEventListener("click",()=>this.close())}),this.modal.querySelectorAll("[data-tab]").forEach(o=>{o.addEventListener("click",s=>{let c=s.target.dataset.tab;c&&this.switchTab(c)})});let n=this.modal.querySelector("[data-ai-generate]");n==null||n.addEventListener("click",()=>{this.openAiEditor("generate")});let a=this.modal.querySelector("[data-ai-edit]");a==null||a.addEventListener("click",()=>{this.openAiEditor("edit")});let r=this.modal.querySelector("[data-modal-apply]");r==null||r.addEventListener("click",()=>{this.apply()}),this.modal.addEventListener("click",o=>{o.target===this.modal&&this.close()})}switchTab(e){if(!this.modal)return;this.modal.querySelectorAll("[data-tab]").forEach(a=>{a.classList.toggle("active",a.getAttribute("data-tab")===e)}),this.modal.querySelectorAll("[data-tab-panel]").forEach(a=>{a.classList.toggle("active",a.getAttribute("data-tab-panel")===e)})}openAiEditor(e){let t=window.__openAiEditor;if(typeof t!="function"){alert("AI Editor not available. Please check your setup.");return}let n="";e==="edit"&&this.currentAsset?n=`Edit this image: ${this.currentObjectId}`:n=`Create an image for: ${this.currentObjectId}`,t(this.currentObjectId||"unknown",n,this.currentAsset,{path:this.currentPath,onApply:a=>{this.onApplyCallback&&this.onApplyCallback(a),this.close()}})}apply(){this.onApplyCallback&&this.onApplyCallback("library/placeholder.png"),this.close()}close(){this.modal&&this.modal.parentNode&&this.modal.parentNode.removeChild(this.modal),this.modal=null,this.currentObjectId=null,this.currentPath=null,this.onApplyCallback=null}}});var Hr={};Vi(Hr,{AssetCache:()=>Q,AssetLoader:()=>he,AssetSystem:()=>It,AssetTextures:()=>fe,Assets:()=>pa,BaseSystem:()=>He,GameEngine:()=>Ot,GameObject:()=>st,GameObjectManager:()=>De,ObjectFactory:()=>me,Renderer:()=>ot,RuntimeObjectRegistry:()=>Ne,Transform:()=>rt,applyScreenAnchor:()=>zt,basePixi:()=>sa,clearResponsiveElements:()=>ga,createPixiBase:()=>_t,getRegisteredFontIds:()=>na,globalResponsiveMultipliers:()=>ct,initAssetTextures:()=>St,initAssets:()=>ua,layout:()=>fa,playLottieOverlay:()=>ra,registerFont:()=>ia,registerType:()=>xt,resolveAnchorVec2:()=>Ce,resolveFont:()=>ea,resolveFontWeight:()=>ta,resolveScreenAnchorPoint:()=>Fe,resolveScreenRatioPoint:()=>Be,runInitSequence:()=>ma,setLottieInstance:()=>At,spawnSceneFromConfig:()=>ca,updateScreenState:()=>Rt});module.exports=Ea(Hr);var Qn=require("pixi.js");var pe={};function mt(i,e,t=!1){pe[i]||(pe[i]=[]),pe[i].push({fn:e,once:t})}function Gt(i,e){if(pe[i]){if(!e){delete pe[i];return}pe[i]=pe[i].filter(t=>t.fn!==e)}}function bt(i,...e){let t=pe[i];if(t)for(let n of[...t])n.fn(...e),n.once&&Gt(i,n.fn)}function q(i,e){mt(i,e,!0)}var z=null,Y=[],Te=null;function Xi(i){z=i,Y=[],Te!==null&&(clearTimeout(Te),Te=null)}function Ji(){var i,e,t;return{endpoint:(z==null?void 0:z.endpoint)||"",transport:(z==null?void 0:z.transport)||"beacon",batchSize:(i=z==null?void 0:z.batchSize)!=null?i:10,flushIntervalMs:(e=z==null?void 0:z.flushIntervalMs)!=null?e:300,maxQueue:(t=z==null?void 0:z.maxQueue)!=null?t:200,debug:!!(z!=null&&z.debug)}}async function Yi(i,e,t,n){let a=JSON.stringify(e);if(t==="beacon"&&typeof navigator!="undefined"&&typeof navigator.sendBeacon=="function")try{let r=navigator.sendBeacon(i,new Blob([a],{type:"application/json"}));n&&console.log("[handler.telemetry] beacon",r,e);return}catch(r){n&&console.warn("[handler.telemetry] beacon failed, fallback to fetch",r)}try{await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:a,keepalive:!0}),n&&console.log("[handler.telemetry] fetch",e)}catch(r){n&&console.warn("[handler.telemetry] fetch failed",r)}}function qt(i,e){let t=Ji();if(e&&t.endpoint){if(Y.push(i),Y.length>t.maxQueue&&(Y=Y.slice(Y.length-t.maxQueue)),Y.length>=t.batchSize){Ki();return}Te===null&&(Te=window.setTimeout(()=>{Te=null,Ki()},t.flushIntervalMs))}}async function Ki(){let i=Ji();if(!i.endpoint||Y.length===0)return;let e=Y.splice(0,i.batchSize);await Yi(i.endpoint,{events:e},i.transport,i.debug),Y.length>0&&await Yi(i.endpoint,{events:Y.splice(0,i.batchSize)},i.transport,i.debug)}function Zi(i){return Math.max(0,Math.min(1,i))}function Sa(i){let e=String(i!=null?i:"power2.out");if(e==="linear")return t=>t;if(e==="sine.inOut")return t=>.5-Math.cos(Math.PI*t)/2;if(e==="power2.out"||e==="easeOutQuad")return t=>1-(1-t)*(1-t);if(e.startsWith("back.out")){let t=e.match(/back\.out\(([\d.]+)\)/),n=t?Number(t[1]):1.8;return a=>1+(n+1)*Math.pow(a-1,3)+n*Math.pow(a-1,2)}return t=>1-(1-t)*(1-t)}function Ke(){return typeof performance!="undefined"&&performance.now?performance.now():Date.now()}function Aa(i,e){let t=i==null?void 0:i[e];return typeof t=="number"?t:0}function Qi(i,e,t){try{i[e]=t}catch{}}function Ca(i){let e=i==null?void 0:i.scale;if(!e)return null;let t=typeof e.x=="number"?e.x:1,n=typeof e.y=="number"?e.y:1;return{x:t,y:n}}function en(i,e){let t=i==null?void 0:i.scale;if(t)try{typeof t.set=="function"?t.set(e.x,e.y):(typeof t.x=="number"&&(t.x=e.x),typeof t.y=="number"&&(t.y=e.y))}catch{}}function tn(i,e){let t=Ca(i);if(!t)return{from:null,to:null};let n=null,a=null;return typeof e.scale=="number"?(n=e.scale,a=e.scale):e.scale&&typeof e.scale=="object"&&(typeof e.scale.x=="number"&&(n=e.scale.x),typeof e.scale.y=="number"&&(a=e.scale.y)),typeof e.scaleX=="number"&&(n=e.scaleX),typeof e.scaleY=="number"&&(a=e.scaleY),n===null&&a===null?{from:null,to:null}:{from:{x:t.x,y:t.y},to:{x:n!=null?n:t.x,y:a!=null?a:t.y}}}function nn(){let i=new Set,e=new WeakMap,t=null,n=()=>{if(t!=null)return;t=requestAnimationFrame(()=>{t=null,s(),i.size>0&&n()})},a=u=>{var p;i.add(u);let l=(p=e.get(u.target))!=null?p:new Set;l.add(u),e.set(u.target,l),n()},r=u=>{i.delete(u);let l=e.get(u.target);l&&(l.delete(u),l.size===0&&e.delete(u.target))},o=u=>{u.killed||(u.killed=!0,r(u))},s=()=>{var l,p;let u=Ke();for(let g of Array.from(i)){if(g.killed||g.paused)continue;let m=u-g.startMs-g.delayMs;if(m<0)continue;let f=g.durationMs>0?m/g.durationMs:1,S=Zi(f),b=g.repeat>=0?g.repeat+1:1,h=g.repeat>0?Math.min(Math.floor(f),b-1):0;if(g.repeat>0&&f>=1){let y=f-h;S=Zi(y)}let w=g.ease(S);g.yoyo&&h%2===1&&(w=1-w);for(let y of g.props)Qi(g.target,y.key,y.from+(y.to-y.from)*w);g.scaleFrom&&g.scaleTo&&en(g.target,{x:g.scaleFrom.x+(g.scaleTo.x-g.scaleFrom.x)*w,y:g.scaleFrom.y+(g.scaleTo.y-g.scaleFrom.y)*w});try{(l=g.onUpdate)==null||l.call(g)}catch{}if(f>=b){o(g);try{(p=g.onComplete)==null||p.call(g)}catch{}}}},d=(u,l,p)=>{var y;let g=Math.max(0,(typeof l.duration=="number"?l.duration:.5)*1e3),m=Math.max(0,(typeof l.delay=="number"?l.delay:0)*1e3+((y=p==null?void 0:p.delayMsOverride)!=null?y:0)),f=Sa(l.ease),S=typeof l.repeat=="number"?Math.max(0,l.repeat|0):0,b=l.yoyo===!0,h=new Set(["duration","delay","ease","repeat","yoyo","onUpdate","onComplete","scale","scaleX","scaleY"]),w=[];for(let I of Object.keys(l)){if(h.has(I))continue;let R=l[I];typeof R=="number"&&w.push({key:I,from:Aa(u,I),to:R})}let x=tn(u,l);return{target:u,startMs:Ke(),delayMs:m,durationMs:g,ease:f,props:w,scaleFrom:x.from,scaleTo:x.to,repeat:S,yoyo:b,onUpdate:typeof l.onUpdate=="function"?l.onUpdate:void 0,onComplete:typeof l.onComplete=="function"?l.onComplete:void 0,killed:!1,paused:!1,pauseAtMs:null}},c={to(u,l){let p=d(u,l);return a(p),{kill:()=>o(p),pause:()=>{p.paused||(p.paused=!0,p.pauseAtMs=Ke())},resume:()=>{var f;if(!p.paused)return;let g=(f=p.pauseAtMs)!=null?f:Ke(),m=Ke()-g;p.startMs+=m,p.paused=!1,p.pauseAtMs=null},isActive:()=>!p.killed&&!p.paused}},fromTo(u,l,p){return c.set(u,l),c.to(u,p)},set(u,l){if(!u||!l)return;for(let g of Object.keys(l)){let m=l[g];g==="scale"||g==="scaleX"||g==="scaleY"||typeof m=="number"&&Qi(u,g,m)}let p=tn(u,l);p.to&&en(u,p.to)},killTweensOf(u){let l=e.get(u);if(l)for(let p of Array.from(l))o(p)},timeline(u={}){let l=[],p=0,g=!1,m=[],f=h=>{if(typeof h=="number")return Math.max(0,h*1e3);let w=typeof h=="string"?h.trim():"";return w.startsWith("+=")?p+Math.max(0,Number(w.slice(2))*1e3||0):w?Math.max(0,Number(w)*1e3||0):p},S=h=>{l.push(h);let w=Math.max(0,(typeof h.vars.duration=="number"?h.vars.duration:.5)*1e3);p=Math.max(p,h.atMs+w)},b={to(h,w,x){return S({kind:"to",target:h,vars:w,atMs:f(x)}),b},fromTo(h,w,x,y){return S({kind:"fromTo",target:h,vars:x,from:w,atMs:f(y)}),b},play(){var h,w;if(g)return b;g=!0,m=[];for(let x of l)x.kind==="fromTo"&&c.set(x.target,(h=x.from)!=null?h:{}),m.push(c.to(x.target,{...x.vars,delay:x.atMs/1e3+((w=x.vars.delay)!=null?w:0)}));return b},pause(){for(let h of m)h.pause();return b},kill(){for(let h of m)h.kill();m=[],g=!1}};return u.paused||b.play(),b}};return c}function an(){if(typeof window=="undefined")return;let i=window;if(!i.gsap)try{i.gsap=nn()}catch{}}var rn={name:"handler-playable-sdk",version:"0.5.26",type:"module",description:"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).",main:"dist/index.cjs",module:"dist/index.js",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./pixi":{types:"./dist/pixi/index.d.ts",import:"./dist/pixi/index.js",require:"./dist/pixi/index.cjs"},"./pixi/index.css":{import:"./dist/pixi/index.css",require:"./dist/pixi/index.css"},"./three":{types:"./dist/three/index.d.ts",import:"./dist/three/index.js",require:"./dist/three/index.cjs"},"./cli":{types:"./dist/cli/index.d.ts",import:"./dist/cli/index.js",require:"./dist/cli/index.cjs"}},bin:{"handler-student-helper":"./bin/student-helper.mjs","handler-validate":"./bin/validate.mjs","handler-sync-screens":"./bin/sync-screens.mjs","handler-brand-dna":"./bin/brand-dna.mjs","handler-setup-library":"./bin/setup-library.mjs","handler-screen-helper":"./bin/screen-helper.mjs"},scripts:{prebuild:"python3 src/preview/build-css.py",build:"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild",postbuild:"python3 src/preview/copy-css-to-dist.py","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli",obfuscate:"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","obfuscate-cli":'for file in dist/cli/*.mjs; do javascript-obfuscator "$file" --output "$file" --config obfuscator.config.json; done',lint:"eslint 'src/**/*.{ts,tsx}'",typecheck:"tsc --noEmit",prepublishOnly:"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","publish:update:minor":"node scripts/publish-and-update.cjs minor","publish:update:major":"node scripts/publish-and-update.cjs major"},author:"Handler",license:"MIT",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/HandlerAIGames/handler-playable-sdk.git"},files:["dist","bin","LICENSE","README.md"],peerDependencies:{"lottie-web":"^5.0.0","pixi.js":"^8.0.0",three:"^0.182.0"},peerDependenciesMeta:{"pixi.js":{optional:!0},three:{optional:!0},"lottie-web":{optional:!0}},devDependencies:{"@types/three":"^0.182.0",eslint:"^9.39.2","javascript-obfuscator":"^5.1.0","pixi.js":"8.8.1",three:"^0.182.0","ts-node":"^10.9.2",tsup:"^8.4.0",typescript:"^5.7.2","typescript-eslint":"^8.53.0"},dependencies:{"@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1",jszip:"^3.10.1",sharp:"^0.34.5"}};var V=0,La=V++,on=V++,sn=V++,ln=V++,cn=V++,dn=V++,pn=V++,un=V++,gn=V++,hn=V++,fn=V++,mn=V++,M=La;function bn(){return M===on}function yn(){return M===sn}function vn(){return M===ln}function wn(){return M===cn}function Le(){return M===dn}function ke(){return M===pn}function xn(){return M===un}function En(){return M===gn}function Sn(){return M===hn}function Vt(){return M===fn}function Wt(){return M===mn}function An(){let i=typeof AD_PROTOCOL!="undefined"?AD_PROTOCOL:"none",e=typeof AD_NETWORK!="undefined"?AD_NETWORK:"web_embed";if(i==="mraid")try{mraid.getState(),M=on;return}catch{}else if(i==="dapi")try{dapi.isReady(),M=sn;return}catch{}if(e==="facebook")try{typeof FbPlayableAd!="undefined"&&(M=ln)}catch{}else if(e==="google")try{typeof ExitApi!="undefined"&&(M=cn)}catch{}else if(e==="mintegral")window.gameReady&&(M=dn);else if(e==="tapjoy")window.TJ_API&&(M=pn);else if(e==="tiktok")window.openAppStore&&(M=un);else if(e==="smadex")try{window.smxTracking&&(M=gn)}catch{}else if(e==="snapchat")try{window.ScPlayableAd&&(M=hn)}catch{}else e==="vungle"?M=fn:(i==="nucleo"||e==="nucleo")&&(M=mn)}var yt=ft(require("lottie-web"),1),Cn=yt.default;typeof window!="undefined"&&(window.lottie=yt.default,window.__baseLottie=yt.default);Xt();function D(i,e){let t=(a,r)=>r===0?a:t(r,a%r),n=t(i,e);return`${i/n}:${e/n}`}var vo=[{id:"iphone-15-pro-max",label:"iPhone 15 Pro Max",width:430,height:932,category:"iphone",ratio:D(430,932)},{id:"iphone-15-pro",label:"iPhone 15 Pro",width:393,height:852,category:"iphone",ratio:D(393,852)},{id:"iphone-15",label:"iPhone 15",width:393,height:852,category:"iphone",ratio:D(393,852)},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"iphone",ratio:D(390,844)},{id:"iphone-se",label:"iPhone SE",width:375,height:667,category:"iphone",ratio:D(375,667)},{id:"iphone-12-mini",label:"iPhone 12 Mini",width:360,height:780,category:"iphone",ratio:D(360,780)}],wo=[{id:"pixel-8-pro",label:"Pixel 8 Pro",width:448,height:998,category:"android",ratio:D(448,998)},{id:"pixel-8",label:"Pixel 8",width:412,height:915,category:"android",ratio:D(412,915)},{id:"samsung-s24-ultra",label:"Samsung S24 Ultra",width:412,height:915,category:"android",ratio:D(412,915)},{id:"samsung-s24",label:"Samsung S24",width:360,height:780,category:"android",ratio:D(360,780)},{id:"samsung-a54",label:"Samsung A54",width:412,height:915,category:"android",ratio:D(412,915)},{id:"oneplus-12",label:"OnePlus 12",width:412,height:915,category:"android",ratio:D(412,915)}],xo=[{id:"ipad-pro-12",label:'iPad Pro 12.9"',width:1024,height:1366,category:"tablet",ratio:D(1024,1366)},{id:"ipad-pro-11",label:'iPad Pro 11"',width:834,height:1194,category:"tablet",ratio:D(834,1194)},{id:"ipad-air",label:"iPad Air",width:820,height:1180,category:"tablet",ratio:D(820,1180)},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"tablet",ratio:D(768,1024)},{id:"samsung-tab-s9",label:"Samsung Tab S9",width:800,height:1280,category:"tablet",ratio:D(800,1280)}],Pn=[{id:"playable-portrait",label:"Playable Portrait",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"mraid-320x480",label:"MRAID 320\xD7480",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"playable",ratio:D(390,844),mraidScale:.7},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"playable",ratio:D(768,1024),mraidScale:.7}];var Eo=[...Pn];var Ra=Pn[0];ue();var Fa=ft(require("jszip"),1);function $a(i){return new Promise((e,t)=>{let n=new FileReader;n.onerror=()=>t(new Error("FileReader failed")),n.onload=()=>e(String(n.result||"")),n.readAsDataURL(i)})}function Ha(i){var a;let[e,t]=i.split(","),n=e==null?void 0:e.match(/data:(.*?);base64/);return{base64:t!=null?t:"",mimeType:(a=n==null?void 0:n[1])!=null?a:"image/png"}}async function Na(i){return await new Promise(e=>{let t=new Image;t.onload=()=>e({width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}),t.onerror=()=>e(null),t.src=i})}async function Jt(i){var e,t;try{console.log("[ImageUtils] Fetching image data from URL:",i);let n=await fetch(i);if(!n.ok)return console.warn("[ImageUtils] Fetch failed with status:",n.status,i),null;let a=await n.blob();console.log("[ImageUtils] Blob received, size:",a.size,"type:",a.type);let r=await $a(a),o=await Na(r),s=Ha(r);return console.log("[ImageUtils] Success resolution:",o==null?void 0:o.width,"x",o==null?void 0:o.height,"mime:",s.mimeType),{base64:s.base64,mimeType:s.mimeType,dataUrl:r,width:(e=o==null?void 0:o.width)!=null?e:0,height:(t=o==null?void 0:o.height)!=null?t:0}}catch(n){return console.error("[ImageUtils] Error fetching image data:",n),null}}async function vt(i,e=30){try{console.log("[ImageUtils] Removing background color...");let t=await new Promise((l,p)=>{let g=new Image;g.onload=()=>l(g),g.onerror=()=>p(new Error("Failed to load image")),g.src=i}),n=document.createElement("canvas");n.width=t.width,n.height=t.height;let a=n.getContext("2d");if(!a)return console.error("[ImageUtils] Failed to get canvas context"),i;a.drawImage(t,0,0);let r=a.getImageData(0,0,n.width,n.height),o=r.data,d=[{name:"top-left",offset:0},{name:"top-right",offset:(n.width-1)*4},{name:"bottom-left",offset:(n.height-1)*n.width*4},{name:"bottom-right",offset:((n.height-1)*n.width+(n.width-1))*4}].map(l=>({r:o[l.offset],g:o[l.offset+1],b:o[l.offset+2]})),c=0;for(let l=0;l<o.length;l+=4){let p=o[l],g=o[l+1],m=o[l+2],f=!1;for(let S of d)if(Math.sqrt(Math.pow(p-S.r,2)+Math.pow(g-S.g,2)+Math.pow(m-S.b,2))<e){f=!0;break}f&&(o[l+3]=0,c++)}return console.log(`[ImageUtils] Removed background from ${c} pixels (4-corner sampling, tolerance: ${e})`),a.putImageData(r,0,0),n.toDataURL("image/png")}catch(t){return console.error("[ImageUtils] Error removing background:",t),i}}var _n=require("@google/genai");async function Zt(i,e,t=[],n={}){var a,r,o,s,d,c,u;try{if(!(i!=null&&i.trim()))throw new Error("Gemini API key is required");if(!(e!=null&&e.trim()))throw new Error("Prompt is required");for(let b=0;b<t.length;b++){let h=t[b];if(!h.base64||!h.mimeType)throw new Error(`Image ${b+1} is missing required data`);if(h.base64.length<1e3&&console.warn(`Image ${b+1} data appears very small, may be corrupted`),!h.mimeType.startsWith("image/"))throw new Error(`Image ${b+1} has invalid MIME type: ${h.mimeType}`)}let l=new _n.GoogleGenAI({apiKey:i}),p="gemini-2.5-flash",g=[e];t.length>0&&t.forEach((b,h)=>{g.push({inlineData:{data:b.base64,mimeType:b.mimeType}}),console.log(`[Gemini] Added image ${h+1}: ${b.mimeType}, size: ${Math.round(b.base64.length/1024)}KB`)}),console.log(`[Gemini] Making request with ${t.length} images and prompt length: ${e.length}`);let m=await l.models.generateContent({model:p,contents:g}),f="",S=(o=(r=(a=m.candidates)==null?void 0:a[0])==null?void 0:r.content)==null?void 0:o.parts;if(S)for(let b of S)b.text&&(f+=b.text);if(!f.trim())throw new Error("Empty response from Gemini API");return console.log(`[Gemini] Response received, length: ${f.length}`),f}catch(l){throw console.error("[Gemini] API error:",l),(s=l.message)!=null&&s.includes("Unable to process input image")?new Error("Unable to process the uploaded image. Please ensure it's a valid PNG, JPG, or JPEG file under 10MB and not corrupted."):(d=l.message)!=null&&d.includes("API_KEY_INVALID")?new Error("Invalid Gemini API key. Please check your API key configuration."):(c=l.message)!=null&&c.includes("QUOTA_EXCEEDED")?new Error("Gemini API quota exceeded. Please try again later or check your billing."):(u=l.message)!=null&&u.includes("SAFETY")?new Error("Content was flagged by Gemini safety filters. Please try with different images."):l}}var Mn=require("@google/genai");async function wt(i,e,t=[],n={}){try{console.info("[GEMINI-REAL-SDK] Initializing GoogleGenAI...");let a=new Mn.GoogleGenAI({apiKey:i}),r=[{text:e}];t.length>0&&t.forEach((s,d)=>{console.info(`[GEMINI-REAL-SDK] Adding image part ${d}`),r.push({inlineData:{mimeType:s.mimeType,data:s.base64}})}),console.info("[GEMINI-REAL-SDK] Calling generateContent with model: gemini-2.5-flash-image");let o=await a.models.generateContent({model:"gemini-2.5-flash-image",contents:r});if(console.info("[GEMINI-REAL-SDK] Received response from model"),!o.candidates||!o.candidates[0]||!o.candidates[0].content||!o.candidates[0].content.parts)throw new Error("Gemini 2.5 Flash Image returned invalid response structure.");for(let s of o.candidates[0].content.parts)if(s.text)console.log(s.text);else if(s.inlineData){let d=s.inlineData.data,c=s.inlineData.mimeType||"image/png";return console.info("[GEMINI-REAL-SDK] Found inline image data in response"),`data:${c};base64,${d}`}throw new Error("Gemini 2.5 Flash Image returned no image data.")}catch(a){throw console.error("[GEMINI-REAL-SDK] Error in generateImageWithGemini25Flash:",JSON.stringify(a,Object.getOwnPropertyNames(a),2)),a}}var Wa=require("pixi.js");Xe();ue();var Dn=require("pixi.js");var Ya=require("pixi.js");ue();function tr(i){return new Promise((e,t)=>{let n=new FileReader;n.onerror=()=>t(new Error("FileReader failed")),n.onload=()=>e(String(n.result||"")),n.readAsDataURL(i)})}function ir(i){var a;let[e,t]=i.split(","),n=e==null?void 0:e.match(/data:(.*?);base64/);return{base64:t!=null?t:"",mimeType:(a=n==null?void 0:n[1])!=null?a:"image/png"}}function nr(i){return`
|
|
47
47
|
Analyze these screenshots of a brand or game and extract its "Brand DNA".
|
|
48
48
|
|
|
49
49
|
Provide a concise summary (2-3 sentences) covering:
|
package/dist/pixi/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x2b725c,_0x2b0546){var a0_0x308668={_0xe0c4dd:0x1e,_0x211ac0:'bgg4',_0x2a15fd:0x1f,_0x201d21:0x1e,_0x53c062:0x26,_0x27456d:0x54,_0x336665:0x4d,_0x150ec7:0x53,_0x48f731:0x43,_0x21b7f8:0x52,_0x2683e4:0x45,_0x2dbf6b:0x4e,_0x17f96d:0x40,_0x529bda:0x1b,_0x3d3f85:'QOFb',_0x3cfa57:0x1e,_0x4c2891:0x28,_0x5dc528:0x26,_0x10df34:'Ovtd',_0x3301bd:0x15,_0x2ec0e9:0x22,_0x1dc904:0x39,_0x2759af:'hSAX',_0x517abc:0x4a,_0x5753bf:0x2c,_0x28cd47:0x29,_0x991d1d:'S#OD',_0x19968a:0x33,_0x7aa51d:0x2a,_0x3f3b08:0x21,_0x4d94bc:0x28},a0_0x5da525={_0x1e3e74:0x11f},a0_0x4d503c={_0x17bd0b:0x86},a0_0xfaa1a7={_0x318888:0xa8};function _0x359425(_0x3b266a,_0x5231ff,_0xeb4422,_0x1329fa,_0x55a24f){return a0_0x1c81(_0x55a24f- -a0_0xfaa1a7._0x318888,_0x5231ff);}function _0x384715(_0x5eabb0,_0x137df9,_0x29f468,_0x2b5c7c,_0x25f8d4){return a0_0x1c81(_0x29f468- -a0_0x4d503c._0x17bd0b,_0x137df9);}var _0x4fcf07=_0x2b725c();function _0x17b38c(_0x480e06,_0xbb1b02,_0x40ee0a,_0x50cd60,_0x33feaf){return a0_0x1c81(_0xbb1b02- -a0_0x5da525._0x1e3e74,_0x40ee0a);}while(!![]){try{var _0x270a5c=-parseInt(_0x359425(a0_0x308668._0xe0c4dd,a0_0x308668._0x211ac0,a0_0x308668._0x2a15fd,a0_0x308668._0x201d21,a0_0x308668._0x53c062))/(0x8+0x2482*-0x1+0x247b)*(-parseInt(_0x384715(a0_0x308668._0x27456d,']#q(',a0_0x308668._0x336665,a0_0x308668._0x150ec7,a0_0x308668._0x48f731))/(0x117c+-0xc9*-0xb+0x539*-0x5))+parseInt(_0x384715(a0_0x308668._0x21b7f8,'e)S!',a0_0x308668._0x2683e4,a0_0x308668._0x2dbf6b,a0_0x308668._0x17f96d))/(-0x25b7+0x39c+-0x1*-0x221e)*(parseInt(_0x359425(a0_0x308668._0x529bda,a0_0x308668._0x3d3f85,a0_0x308668._0x3cfa57,a0_0x308668._0x4c2891,0x20))/(0x20db+0x17*0x70+0x3*-0xe4d))+-parseInt(_0x359425(a0_0x308668._0x5dc528,a0_0x308668._0x10df34,0x1b,a0_0x308668._0x3301bd,a0_0x308668._0x2ec0e9))/(0x161e+-0x903+-0xd16)+-parseInt(_0x384715(a0_0x308668._0x1dc904,a0_0x308668._0x2759af,0x43,a0_0x308668._0x517abc,a0_0x308668._0x517abc))/(-0x4bf+-0x9*0x277+0x1af4)+parseInt(_0x359425(a0_0x308668._0x2a15fd,'Yk$1',0x23,a0_0x308668._0x5753bf,a0_0x308668._0x28cd47))/(0x1f3f+-0x147*-0x13+0xb19*-0x5)+-parseInt(_0x359425(0x2a,a0_0x308668._0x991d1d,0x2a,a0_0x308668._0x19968a,a0_0x308668._0x7aa51d))/(0x1205+0x17fb+-0x29f8)+parseInt(_0x359425(0x33,'C1&6',a0_0x308668._0x28cd47,a0_0x308668._0x3f3b08,a0_0x308668._0x4d94bc))/(-0x1c8*0x1+0x11b7+0x32e*-0x5);if(_0x270a5c===_0x2b0546)break;else _0x4fcf07['push'](_0x4fcf07['shift']());}catch(_0x584f77){_0x4fcf07['push'](_0x4fcf07['shift']());}}}(a0_0x8bed,0x3*-0x5bbc1+-0x60b4b*-0x2+-0xe6011*-0x1));var a0_0x3f93ca=(function(){var a0_0x3d1995={_0x3c5c1b:0x1e8,_0x426b9b:0x1f5,_0x4cb143:'NhZ%',_0x58335a:0x1f2},_0x44d104=!![];return function(_0xfebbd9,_0x178e12){var _0x409e36=_0x44d104?function(){function _0x1e7c55(_0x285a10,_0x388a55,_0x2b4357,_0x5a2134,_0x242a0d){return a0_0x1c81(_0x5a2134-0x10f,_0x2b4357);}if(_0x178e12){var _0x2f134d=_0x178e12[_0x1e7c55(a0_0x3d1995._0x3c5c1b,a0_0x3d1995._0x426b9b,a0_0x3d1995._0x4cb143,0x1eb,a0_0x3d1995._0x58335a)](_0xfebbd9,arguments);return _0x178e12=null,_0x2f134d;}}:function(){};return _0x44d104=![],_0x409e36;};}()),a0_0x54c1a5=a0_0x3f93ca(this,function(){var a0_0x409373={_0x94b23b:'G&63',_0xd76cf2:0x2b5,_0x12ea35:0x2ab,_0x3f3c29:'!KWz',_0x2acce4:0x2ca,_0xecddf2:0x2c3,_0x57117c:0x2b1,_0x41350c:0x2be,_0x4b604e:0x96,_0x5f2499:'n80v',_0x55dd11:0xa3,_0x5609b0:0x76,_0x5ef83b:0x71,_0x232d23:0x77,_0x43d3f5:'b*0k',_0x2c1dca:0x69,_0x3634c8:0xa3,_0x5569d1:0xb6,_0x30c9d7:'S#OD',_0x479bcc:0x2c8,_0x3d218a:0xb0,_0x3937cc:'tiH(',_0x394191:0x6f,_0x52c7d9:0x6d,_0x2118ac:0x83,_0x3093d7:0x7b,_0x5801dd:'YoCe',_0x5a1e1f:0x78},a0_0x2a9983={_0x213a1a:0x17c},a0_0xc0fa03={_0x2d270a:0x55},_0x3a0580={};_0x3a0580[_0x5b2564(a0_0x409373._0x94b23b,-a0_0x409373._0xd76cf2,-a0_0x409373._0x12ea35,-0x2ad,-0x2b5)]=_0x5b2564(a0_0x409373._0x3f3c29,-a0_0x409373._0x2acce4,-a0_0x409373._0xecddf2,-a0_0x409373._0x57117c,-a0_0x409373._0x41350c)+_0x33bc73(-a0_0x409373._0x4b604e,a0_0x409373._0x5f2499,-0x9f,-a0_0x409373._0x55dd11,-0xa0)+'+$';function _0x4a508f(_0x366c27,_0x5b147a,_0x474bb8,_0x3a78bc,_0x1324c0){return a0_0x1c81(_0x5b147a- -a0_0xc0fa03._0x2d270a,_0x3a78bc);}function _0x5b2564(_0x2beaf3,_0xc59862,_0x50cf63,_0xc90dea,_0x591066){return a0_0x1c81(_0x591066- -0x38a,_0x2beaf3);}function _0x33bc73(_0x2f91de,_0x571a13,_0x269bd3,_0x30b862,_0x371cd1){return a0_0x1c81(_0x30b862- -a0_0x2a9983._0x213a1a,_0x571a13);}var _0x23ba60=_0x3a0580;return a0_0x54c1a5['toStr'+_0x4a508f(a0_0x409373._0x5609b0,a0_0x409373._0x5ef83b,a0_0x409373._0x232d23,a0_0x409373._0x43d3f5,a0_0x409373._0x2c1dca)]()['searc'+'h'](_0x23ba60['OnLAq'])[_0x33bc73(-a0_0x409373._0x3634c8,'C1&6',-a0_0x409373._0x5569d1,-0xaf,-0xb0)+'ing']()[_0x5b2564(a0_0x409373._0x30c9d7,-0x2c0,-a0_0x409373._0x479bcc,-0x2c7,-0x2bb)+_0x33bc73(-a0_0x409373._0x3d218a,a0_0x409373._0x3937cc,-0x9d,-0xa8,-0xb3)+'r'](a0_0x54c1a5)[_0x4a508f(0x65,a0_0x409373._0x394191,a0_0x409373._0x52c7d9,a0_0x409373._0x3f3c29,a0_0x409373._0x5ef83b)+'h'](_0x23ba60[_0x4a508f(0x81,a0_0x409373._0x2118ac,a0_0x409373._0x3093d7,a0_0x409373._0x5801dd,a0_0x409373._0x5a1e1f)]);});a0_0x54c1a5();import{A as a0_0xd3aedc,B as a0_0x5eeb68,C as a0_0x3c1d47,D as a0_0x39fb7f,b as a0_0x349c76,c as a0_0x4af675,d as a0_0x282d8c,e as a0_0x20721e,f as a0_0x17f21e,g as a0_0x5bcb59,h as a0_0x39b927,i as a0_0x1fc9b9,j as a0_0x3bce47,k as a0_0x4055b5,l as a0_0x2f7683,m as a0_0x573c54,n as a0_0x2c39f3,o as a0_0x2a087a,p as a0_0x4a30c7,q as a0_0x3c1e79,r as a0_0x54f4ce,s as a0_0x11eaca,t as a0_0x2b2971,u as a0_0x342c27,v as a0_0x4159e2,w as a0_0xfad4ac,x as a0_0xff5e8f,y as a0_0x2b1fbc,z as a0_0x545d52}from'../chunk-4EJGJBZO.js';function a0_0x1c81(_0x29bd03,_0x1711ad){_0x29bd03=_0x29bd03-(0x1915+0x10*0x74+-0x1f91);var _0x29e503=a0_0x8bed();var _0x149c90=_0x29e503[_0x29bd03];if(a0_0x1c81['SWjsur']===undefined){var _0xcd7ad3=function(_0x4d4f3e){var _0x1126bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x48cad1='',_0xcdee8b='',_0x55dc0c=_0x48cad1+_0xcd7ad3;for(var _0x505461=-0xfb7+0x106*-0x1c+0x2c5f,_0x45aedc,_0x4cf47d,_0x63e84=0x2*-0xd51+-0x21a3+0x3c45;_0x4cf47d=_0x4d4f3e['charAt'](_0x63e84++);~_0x4cf47d&&(_0x45aedc=_0x505461%(0xe23+0x419*-0x3+-0xd*0x24)?_0x45aedc*(0x14b6+0x1c*-0x14b+0xfbe)+_0x4cf47d:_0x4cf47d,_0x505461++%(0x595*0x1+-0x432+-0x15f))?_0x48cad1+=_0x55dc0c['charCodeAt'](_0x63e84+(0x353+0x6*0x11a+-0x11*0x95))-(-0x1*-0x1525+-0x5a+-0x2f7*0x7)!==0xcd2*-0x2+-0x1*-0x10d+0x1897*0x1?String['fromCharCode'](0x1353+0x1*-0x1039+-0x21b&_0x45aedc>>(-(0x1*0x1a0f+-0xfbe+0xd*-0xcb)*_0x505461&-0x3*-0x695+0x477*-0x3+0x21c*-0x3)):_0x505461:-0x15*-0x149+-0x111d*0x1+-0x9e0){_0x4cf47d=_0x1126bd['indexOf'](_0x4cf47d);}for(var _0x240e1f=0x1aac+0x606*-0x2+-0xea0,_0xaaabf4=_0x48cad1['length'];_0x240e1f<_0xaaabf4;_0x240e1f++){_0xcdee8b+='%'+('00'+_0x48cad1['charCodeAt'](_0x240e1f)['toString'](-0x27*-0x2c+0x1*-0xb55+0x4b1))['slice'](-(0x92+-0x2bb*0x4+0xa5c));}return decodeURIComponent(_0xcdee8b);};var _0x55d3a8=function(_0x2d8356,_0x454f9a){var _0x3852c7=[],_0x82f0f=0x517*0x2+0x86f+-0x129d,_0x193293,_0x46116b='';_0x2d8356=_0xcd7ad3(_0x2d8356);var _0x587b96;for(_0x587b96=-0xf*0x14c+0x1d*0x13f+-0x10af;_0x587b96<0x2067+-0x2d6+0x1c91*-0x1;_0x587b96++){_0x3852c7[_0x587b96]=_0x587b96;}for(_0x587b96=0xe*-0x1be+-0x3b5+0x1c19;_0x587b96<0x1*-0x3bd+0x1e0d+-0x1950;_0x587b96++){_0x82f0f=(_0x82f0f+_0x3852c7[_0x587b96]+_0x454f9a['charCodeAt'](_0x587b96%_0x454f9a['length']))%(-0x975+0x1150+-0x1*0x6db),_0x193293=_0x3852c7[_0x587b96],_0x3852c7[_0x587b96]=_0x3852c7[_0x82f0f],_0x3852c7[_0x82f0f]=_0x193293;}_0x587b96=0x2*-0x120d+-0xc1*0xd+0x2de7,_0x82f0f=-0x2b*-0x79+0x49*-0x4+-0x132f;for(var _0x36c38d=-0xbb7+-0x1df8+-0x1*-0x29af;_0x36c38d<_0x2d8356['length'];_0x36c38d++){_0x587b96=(_0x587b96+(0x2482+-0x1*-0x259c+-0x4a1d*0x1))%(0x161*0x5+-0x1cf3+-0x2*-0xb87),_0x82f0f=(_0x82f0f+_0x3852c7[_0x587b96])%(-0x1*0xb13+0xebe+-0x1*0x2ab),_0x193293=_0x3852c7[_0x587b96],_0x3852c7[_0x587b96]=_0x3852c7[_0x82f0f],_0x3852c7[_0x82f0f]=_0x193293,_0x46116b+=String['fromCharCode'](_0x2d8356['charCodeAt'](_0x36c38d)^_0x3852c7[(_0x3852c7[_0x587b96]+_0x3852c7[_0x82f0f])%(0x2232+-0x8c5+0xa9*-0x25)]);}return _0x46116b;};a0_0x1c81['JTERxI']=_0x55d3a8,a0_0x1c81['dvPVlK']={},a0_0x1c81['SWjsur']=!![];}var _0x494284=_0x29e503[0x2109+-0x1cda+-0x77*0x9],_0x1dc7ca=_0x29bd03+_0x494284,_0x2a964b=a0_0x1c81['dvPVlK'][_0x1dc7ca];if(!_0x2a964b){if(a0_0x1c81['LvQcMm']===undefined){var _0x4ecc55=function(_0x38dfbc){this['yiIoDJ']=_0x38dfbc,this['OPPrdF']=[-0x2034+-0x3*-0x136+0x1*0x1c93,0x1e52+0x2f*-0x2f+0x15b1*-0x1,-0xad9*-0x1+0x1e2a+-0x2903*0x1],this['TnrrLz']=function(){return'newState';},this['oPetnJ']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ptWTmE']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x4ecc55['prototype']['xSzZPj']=function(){var _0x3b4783=new RegExp(this['oPetnJ']+this['ptWTmE']),_0x4f500c=_0x3b4783['test'](this['TnrrLz']['toString']())?--this['OPPrdF'][-0x16ba*0x1+0x2*0x10b9+-0xab7]:--this['OPPrdF'][0xc29*0x2+-0x1afe+-0x24*-0x13];return this['OSBImn'](_0x4f500c);},_0x4ecc55['prototype']['OSBImn']=function(_0x179329){if(!Boolean(~_0x179329))return _0x179329;return this['bAXFAr'](this['yiIoDJ']);},_0x4ecc55['prototype']['bAXFAr']=function(_0x53a05f){for(var _0x964e3c=-0x200+0xe*0x111+-0xcee,_0x2b725c=this['OPPrdF']['length'];_0x964e3c<_0x2b725c;_0x964e3c++){this['OPPrdF']['push'](Math['round'](Math['random']())),_0x2b725c=this['OPPrdF']['length'];}return _0x53a05f(this['OPPrdF'][0x1*0x1b5+-0x3*-0x4cc+-0x1019]);},new _0x4ecc55(a0_0x1c81)['xSzZPj'](),a0_0x1c81['LvQcMm']=!![];}_0x149c90=a0_0x1c81['JTERxI'](_0x149c90,_0x1711ad),a0_0x1c81['dvPVlK'][_0x1dc7ca]=_0x149c90;}else _0x149c90=_0x2a964b;return _0x149c90;}import{a as a0_0x3bccc8,b as a0_0x3356b0,c as a0_0x260600,d as a0_0x258f50,e as a0_0x242568}from'../chunk-I5OOVR5U.js';function a0_0x8bed(){var _0x28ca8c=['WOBcLSkvh8kD','zCkpzrFcSW','WPyeWRFdSZLkWP7dVG','WReDW7L/da','jSoqavRdTSk1ratdQtWSua','bJddNZtdMbxdHwmLW6bbAmo/','W6bkWQq1qCoZlmk/WQX+g8kP','dNpdL8olwCoWvmk0FSommq','WOWfwtLV','AmkBnmkLWOO','WQNdN8oQvIJcJ0yIgSkmWRxdKmog','WPylW4NcTIHQWOVdPsTW','zSodb8oZWRi','W4tdGSoXxcO','W7tcVmkyW5FcHupdGHpcTXOrACoT','gg13DcNcKSodcSk8jcC4','tmkUW4SPWOC','cxtdKSocpmoSu8kSsmoH','W53dM8oCq8ov','W7xcQ8oXWRZdJSk2yMxcUmojW6NcKG','nmkaBa','pKhcOrnapCoDWO7dOCodW5y','omkkWRDAWOyXWOijW6/dMG','emkOW57cUCkaWQKGnCoWkdJcJmom','nCowimoCju5kW6VdI3ZcMtRcPq','qCk/WRNdOaDOWQa7WRZcHa'];a0_0x8bed=function(){return _0x28ca8c;};return a0_0x8bed();}import'../chunk-LV4HGC5G.js';import'../chunk-ZLL42OOV.js';import'../chunk-E6WJCS24.js';import'../chunk-JXBG6UFL.js';export{a0_0x3bccc8 as AssetCache,a0_0x260600 as AssetLoader,a0_0x342c27 as AssetSystem,a0_0x258f50 as AssetTextures,a0_0x11eaca as Assets,a0_0x2a087a as BaseSystem,a0_0x2c39f3 as GameEngine,a0_0x20721e as GameObject,a0_0x17f21e as GameObjectManager,a0_0x573c54 as ObjectFactory,a0_0x282d8c as Renderer,a0_0x4a30c7 as RuntimeObjectRegistry,a0_0x4af675 as Transform,a0_0x5eeb68 as applyScreenAnchor,a0_0x3c1e79 as basePixi,a0_0xfad4ac as clearResponsiveElements,a0_0x349c76 as createPixiBase,a0_0x3bce47 as getRegisteredFontIds,a0_0x4159e2 as globalResponsiveMultipliers,a0_0x242568 as initAssetTextures,a0_0x2b2971 as initAssets,a0_0x3c1d47 as layout,a0_0x2f7683 as playLottieOverlay,a0_0x1fc9b9 as registerFont,a0_0x3356b0 as registerType,a0_0x2b1fbc as resolveAnchorVec2,a0_0x5bcb59 as resolveFont,a0_0x39b927 as resolveFontWeight,a0_0x545d52 as resolveScreenAnchorPoint,a0_0xd3aedc as resolveScreenRatioPoint,a0_0x39fb7f as runInitSequence,a0_0x4055b5 as setLottieInstance,a0_0x54f4ce as spawnSceneFromConfig,a0_0xff5e8f as updateScreenState};
|
|
1
|
+
(function(_0xc3fb87,_0x3c4059){var a0_0x5f2964={_0x2afcde:0x1bb,_0x34a4aa:'[TSz',_0x3f2955:0x1ca,_0x54745a:0x1bb,_0xf8df5a:0x10d,_0x228fc6:0x1ce,_0x536e4c:'gpXT',_0x34c0b1:0x1d2,_0x4787d7:0x1d1,_0x21235a:'OD6%',_0x25cac3:0x1c9,_0x59f90c:0x1d4,_0xd9a46b:0x1c3,_0x3dd1ff:0x1c9,_0x4dc199:'Zt03',_0x2dca1a:0x1c5,_0xdb31a:0x1ba,_0x2ad3ee:0x1cc,_0x5bb914:0x47,_0x11c7a3:0x5e,_0x9fc3d5:'QO2Z',_0xc47097:0x50,_0x25655b:0x110,_0x3b8002:0x103,_0x554169:0xfe,_0x2f8710:0x1b6,_0x2c1484:'KGId',_0x362789:0x1bc,_0x2359e8:0x1bd,_0x2ab1a6:0x1ac,_0x1e5a9a:0x10e,_0x3801fa:'&9NV',_0x1ed4d9:0x10a,_0x5dc63f:0x1cd,_0x147bfe:0x1dd,_0x157bfe:0x1be},a0_0x3de583={_0x363a82:0x7d},a0_0x4d1c37={_0x449eb9:0x132},a0_0x1a405e={_0x4370b0:0x44},_0x455231=_0xc3fb87();function _0x4055d1(_0x1e1d92,_0x549c1c,_0x5243dc,_0xdaa002,_0x234cf0){return a0_0x5b5c(_0xdaa002- -a0_0x1a405e._0x4370b0,_0x5243dc);}function _0x16d264(_0x375d22,_0x4a7532,_0x1780fc,_0x3f7677,_0x5a1ae4){return a0_0x5b5c(_0x375d22-a0_0x4d1c37._0x449eb9,_0x4a7532);}function _0x283148(_0x129095,_0x4745f0,_0x1222cc,_0x5b13f9,_0x58c61d){return a0_0x5b5c(_0x4745f0-a0_0x3de583._0x363a82,_0x1222cc);}while(!![]){try{var _0xd47754=parseInt(_0x16d264(a0_0x5f2964._0x2afcde,a0_0x5f2964._0x34a4aa,0x1be,a0_0x5f2964._0x3f2955,a0_0x5f2964._0x54745a))/(-0x3e*-0x5d+0x1d8a+0x1*-0x340f)*(-parseInt(_0x283148(a0_0x5f2964._0xf8df5a,0x10f,'y2Mv',0x11b,0x104))/(0x1*-0x1479+-0x21*-0x47+0xb54))+parseInt(_0x16d264(a0_0x5f2964._0x228fc6,a0_0x5f2964._0x536e4c,0x1cc,a0_0x5f2964._0x34c0b1,0x1c1))/(-0x4*0x697+0x8da*-0x4+-0x1*-0x3dc7)+parseInt(_0x16d264(a0_0x5f2964._0x4787d7,a0_0x5f2964._0x21235a,a0_0x5f2964._0x25cac3,a0_0x5f2964._0x59f90c,a0_0x5f2964._0xd9a46b))/(-0x1eae+-0x1*0x45f+0x2311*0x1)+-parseInt(_0x16d264(a0_0x5f2964._0x3dd1ff,a0_0x5f2964._0x4dc199,a0_0x5f2964._0x2dca1a,a0_0x5f2964._0xdb31a,a0_0x5f2964._0x2ad3ee))/(-0x6*0x1e3+0xb37+0x20)*(parseInt(_0x4055d1(a0_0x5f2964._0x5bb914,a0_0x5f2964._0x11c7a3,a0_0x5f2964._0x9fc3d5,a0_0x5f2964._0xc47097,a0_0x5f2964._0x5bb914))/(0x1104+0x160e+-0x15*0x1dc))+-parseInt(_0x283148(a0_0x5f2964._0x25655b,a0_0x5f2964._0x3b8002,'TVmg',a0_0x5f2964._0x554169,a0_0x5f2964._0xf8df5a))/(-0x1a1c+0x2e*-0x11+0x1d31)+-parseInt(_0x16d264(a0_0x5f2964._0x2f8710,a0_0x5f2964._0x2c1484,a0_0x5f2964._0x362789,a0_0x5f2964._0x2359e8,a0_0x5f2964._0x2ab1a6))/(0x45*-0x23+0x21c4+-0x184d*0x1)*(parseInt(_0x283148(0x11a,a0_0x5f2964._0x1e5a9a,a0_0x5f2964._0x3801fa,a0_0x5f2964._0x25655b,a0_0x5f2964._0x1ed4d9))/(-0xa6*0x9+-0x1bec+0x21cb))+parseInt(_0x16d264(a0_0x5f2964._0x5dc63f,a0_0x5f2964._0x3801fa,a0_0x5f2964._0x147bfe,a0_0x5f2964._0x157bfe,0x1d6))/(0x177c+0x16bb+-0x2e2d);if(_0xd47754===_0x3c4059)break;else _0x455231['push'](_0x455231['shift']());}catch(_0x2201e9){_0x455231['push'](_0x455231['shift']());}}}(a0_0x160b,0x3a11e+0x10ab1f+-0xbd276));var a0_0x3099d3=(function(){var _0x1d4eed=!![];return function(_0x1acacb,_0x58d87a){var a0_0x27c395={_0x1eb041:0x2d0,_0x512a07:0x2d5,_0x1faebd:'xMjk'},_0x48fbbe=_0x1d4eed?function(){var a0_0x1cfd7b={_0x548885:0x23b};function _0x429aa3(_0x52dacb,_0x4ec152,_0x38091b,_0x312b4d,_0x34b8d1){return a0_0x5b5c(_0x38091b-a0_0x1cfd7b._0x548885,_0x34b8d1);}if(_0x58d87a){var _0x1d274c=_0x58d87a[_0x429aa3(0x2df,a0_0x27c395._0x1eb041,a0_0x27c395._0x512a07,0x2e1,a0_0x27c395._0x1faebd)](_0x1acacb,arguments);return _0x58d87a=null,_0x1d274c;}}:function(){};return _0x1d4eed=![],_0x48fbbe;};}()),a0_0x30ce5a=a0_0x3099d3(this,function(){var a0_0x783dcf={_0x1dcd9e:0x3b8,_0x4f94cb:'xK^!',_0x280484:0x3c1,_0x17156d:0x3c7,_0x18db2b:0x2e8,_0x5788bd:0x2e3,_0x93dc3d:0x2f3,_0x1d6b94:'OD6%',_0x28f062:0x289,_0x504b5d:0x27d,_0x308a00:0x285,_0x3331ef:0x27f,_0xd464f8:0x3bc,_0x5f1cea:0x3ca,_0x41e1d1:0x3bd,_0x34b8a0:0x2ed,_0x59df2f:0x2f4,_0x19c86f:'Vu4c',_0x37b526:0x307,_0x25b89d:0x306,_0x305b70:0x2fc,_0x1cba3d:0x302,_0x5063c1:'NL5A',_0x160e11:0x27f,_0x58e65a:0x28d,_0x56d772:0x28b,_0x3d0602:0x27e,_0x143ab9:'LT2u',_0x1086c4:0x273,_0x42e964:0x27f,_0x5c2e31:0x272,_0x49076a:0x271,_0x1e1d67:0x268,_0x47e84b:0x283,_0x337ab6:0x284,_0x2493df:0x277,_0x49cf46:0x2e4,_0x41bd9d:0x2fb,_0x2ace81:0x2eb,_0xd20144:'y2Mv'},a0_0x173fa9={_0x2c040e:0x306},a0_0x4e7081={_0x228a22:0x269},a0_0x3592d9={_0x5285a0:0x33e};function _0x5bc752(_0x561760,_0x44923c,_0x579971,_0x7f6291,_0x4f49cd){return a0_0x5b5c(_0x7f6291-a0_0x3592d9._0x5285a0,_0x44923c);}var _0x5d6d0c={};function _0x5c303b(_0x548129,_0xfd69ad,_0x9c712e,_0x2b9841,_0x382a4e){return a0_0x5b5c(_0x2b9841-a0_0x4e7081._0x228a22,_0x382a4e);}_0x5d6d0c['NpvtR']=_0x5bc752(a0_0x783dcf._0x1dcd9e,a0_0x783dcf._0x4f94cb,0x3b3,a0_0x783dcf._0x280484,a0_0x783dcf._0x17156d)+_0x5c303b(0x2f8,a0_0x783dcf._0x18db2b,a0_0x783dcf._0x5788bd,a0_0x783dcf._0x93dc3d,'Zt03')+'+$';var _0x31bbb6=_0x5d6d0c;function _0x24cc7b(_0x3d4edf,_0x14a49,_0x333388,_0x503223,_0x3b0afb){return a0_0x5b5c(_0x3b0afb- -a0_0x173fa9._0x2c040e,_0x3d4edf);}return a0_0x30ce5a[_0x24cc7b(a0_0x783dcf._0x1d6b94,-a0_0x783dcf._0x28f062,-a0_0x783dcf._0x504b5d,-a0_0x783dcf._0x308a00,-a0_0x783dcf._0x3331ef)+'ing']()[_0x5bc752(a0_0x783dcf._0xd464f8,'KGId',0x3c5,a0_0x783dcf._0x5f1cea,a0_0x783dcf._0x41e1d1)+'h'](_0x31bbb6['NpvtR'])['toStr'+_0x5c303b(a0_0x783dcf._0x34b8a0,0x2e7,0x2f0,a0_0x783dcf._0x59df2f,a0_0x783dcf._0x19c86f)]()[_0x5c303b(a0_0x783dcf._0x37b526,a0_0x783dcf._0x25b89d,a0_0x783dcf._0x305b70,a0_0x783dcf._0x1cba3d,a0_0x783dcf._0x5063c1)+_0x24cc7b('9kGP',-a0_0x783dcf._0x160e11,-a0_0x783dcf._0x58e65a,-a0_0x783dcf._0x56d772,-a0_0x783dcf._0x3d0602)+'r'](a0_0x30ce5a)[_0x24cc7b(a0_0x783dcf._0x143ab9,-a0_0x783dcf._0x1086c4,-a0_0x783dcf._0x42e964,-a0_0x783dcf._0x5c2e31,-a0_0x783dcf._0x49076a)+'h'](_0x24cc7b('fHfQ',-a0_0x783dcf._0x1e1d67,-a0_0x783dcf._0x47e84b,-a0_0x783dcf._0x337ab6,-a0_0x783dcf._0x2493df)+_0x5c303b(a0_0x783dcf._0x49cf46,0x2fa,a0_0x783dcf._0x41bd9d,a0_0x783dcf._0x2ace81,a0_0x783dcf._0xd20144)+'+$');});a0_0x30ce5a();function a0_0x5b5c(_0x43430d,_0x584487){_0x43430d=_0x43430d-(0x7d+0x1*-0x1926+0x192a);var _0x441054=a0_0x160b();var _0x23ef5b=_0x441054[_0x43430d];if(a0_0x5b5c['eDWJux']===undefined){var _0xa3ddbe=function(_0x46d84f){var _0x5747b3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x21df3c='',_0x3d6028='',_0x56c583=_0x21df3c+_0xa3ddbe;for(var _0x2947ef=0x2*0x11e4+0xb76+-0x2*0x179f,_0xc03ab6,_0x2bd43a,_0x4474ae=0xa72+-0x1*-0xcc4+-0x1736;_0x2bd43a=_0x46d84f['charAt'](_0x4474ae++);~_0x2bd43a&&(_0xc03ab6=_0x2947ef%(0x1c05+0x2456+-0x4057)?_0xc03ab6*(-0x11f5*0x2+0xfe5+0x1445)+_0x2bd43a:_0x2bd43a,_0x2947ef++%(-0x1*-0xc86+0x25b8+-0x323a))?_0x21df3c+=_0x56c583['charCodeAt'](_0x4474ae+(-0xbc3+-0x1*0x1ca5+0x2872))-(-0x188f+-0x4d0*0x7+0x3a49)!==-0x1be3+-0x1d9+0x1dbc?String['fromCharCode'](-0x62f*-0x1+0x7bd+0xced*-0x1&_0xc03ab6>>(-(-0x1*-0x1e77+-0x10a2+0x1*-0xdd3)*_0x2947ef&-0x1*-0xe83+0x1*0x217d+-0x2ffa)):_0x2947ef:-0x1b72+0x11c7*0x1+0x9ab){_0x2bd43a=_0x5747b3['indexOf'](_0x2bd43a);}for(var _0x4a9b29=0x3b*0xb+-0x11*0x55+0x31c,_0xff6d1a=_0x21df3c['length'];_0x4a9b29<_0xff6d1a;_0x4a9b29++){_0x3d6028+='%'+('00'+_0x21df3c['charCodeAt'](_0x4a9b29)['toString'](-0xd*-0x139+-0x5a5+-0xa30))['slice'](-(0x1990+0x25ae+0x26*-0x1aa));}return decodeURIComponent(_0x3d6028);};var _0x2a74b2=function(_0x1aa40d,_0x58e97a){var _0x23a17b=[],_0xfd2df0=-0xb7+0x1d*-0x12b+0x2296,_0x2bf5d2,_0x625777='';_0x1aa40d=_0xa3ddbe(_0x1aa40d);var _0x333bf1;for(_0x333bf1=0xf58+-0x1452+0x4fa;_0x333bf1<0x198d+0x20e5*-0x1+0x164*0x6;_0x333bf1++){_0x23a17b[_0x333bf1]=_0x333bf1;}for(_0x333bf1=0x22c8+0x1e*0x144+-0x48c0;_0x333bf1<-0x1ff8+0x32*-0x6e+0x3674;_0x333bf1++){_0xfd2df0=(_0xfd2df0+_0x23a17b[_0x333bf1]+_0x58e97a['charCodeAt'](_0x333bf1%_0x58e97a['length']))%(0x257a+0xe5*-0x2a+0x118),_0x2bf5d2=_0x23a17b[_0x333bf1],_0x23a17b[_0x333bf1]=_0x23a17b[_0xfd2df0],_0x23a17b[_0xfd2df0]=_0x2bf5d2;}_0x333bf1=-0x1*-0x2579+0x8f*0x3+-0x2726,_0xfd2df0=0xe3*-0x21+-0x21b7+0x3efa;for(var _0x501acb=0x9cf+-0x8a1*0x2+0x773;_0x501acb<_0x1aa40d['length'];_0x501acb++){_0x333bf1=(_0x333bf1+(-0x3ed*0x6+-0x15d4+0x2d63))%(0x6b1*0x1+0x1b*0x85+0x9dc*-0x2),_0xfd2df0=(_0xfd2df0+_0x23a17b[_0x333bf1])%(-0x2112+0x177a+0xa98),_0x2bf5d2=_0x23a17b[_0x333bf1],_0x23a17b[_0x333bf1]=_0x23a17b[_0xfd2df0],_0x23a17b[_0xfd2df0]=_0x2bf5d2,_0x625777+=String['fromCharCode'](_0x1aa40d['charCodeAt'](_0x501acb)^_0x23a17b[(_0x23a17b[_0x333bf1]+_0x23a17b[_0xfd2df0])%(-0x14f8+0x27d*0x5+0x987)]);}return _0x625777;};a0_0x5b5c['XQjWxu']=_0x2a74b2,a0_0x5b5c['RCiRWe']={},a0_0x5b5c['eDWJux']=!![];}var _0x2a5af2=_0x441054[0x142c+0x2*0xd43+-0x2eb2],_0xfad950=_0x43430d+_0x2a5af2,_0x4e64a8=a0_0x5b5c['RCiRWe'][_0xfad950];if(!_0x4e64a8){if(a0_0x5b5c['IcSPig']===undefined){var _0x109583=function(_0x242ca6){this['llAeBu']=_0x242ca6,this['JOGgDk']=[0x17c9+0x1*-0x26df+0x1*0xf17,-0x1d9*0x15+-0x1cf2+0x171*0x2f,0x36*-0x1e+-0x59d+0x3fb*0x3],this['IfkJKk']=function(){return'newState';},this['Bqzowx']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['vrTEhi']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x109583['prototype']['QqGcUh']=function(){var _0x58e5f9=new RegExp(this['Bqzowx']+this['vrTEhi']),_0x5b4de3=_0x58e5f9['test'](this['IfkJKk']['toString']())?--this['JOGgDk'][-0x1*-0x18a0+0x1*0x22c3+-0x3b62]:--this['JOGgDk'][0x1e2f*-0x1+0x1686+0x7a9];return this['QYGpis'](_0x5b4de3);},_0x109583['prototype']['QYGpis']=function(_0x49d278){if(!Boolean(~_0x49d278))return _0x49d278;return this['qTmcVt'](this['llAeBu']);},_0x109583['prototype']['qTmcVt']=function(_0x22a2e5){for(var _0x50872e=0x3e5+0x1*0xabd+0xea2*-0x1,_0x119ad5=this['JOGgDk']['length'];_0x50872e<_0x119ad5;_0x50872e++){this['JOGgDk']['push'](Math['round'](Math['random']())),_0x119ad5=this['JOGgDk']['length'];}return _0x22a2e5(this['JOGgDk'][-0xfd8+-0x891+-0x1*-0x1869]);},new _0x109583(a0_0x5b5c)['QqGcUh'](),a0_0x5b5c['IcSPig']=!![];}_0x23ef5b=a0_0x5b5c['XQjWxu'](_0x23ef5b,_0x584487),a0_0x5b5c['RCiRWe'][_0xfad950]=_0x23ef5b;}else _0x23ef5b=_0x4e64a8;return _0x23ef5b;}import{A as a0_0x497f59,B as a0_0x35c5f4,C as a0_0x3e9cca,D as a0_0x2ed161,b as a0_0x6598e4,c as a0_0x252185,d as a0_0x3f9eac,e as a0_0x452705,f as a0_0xeb73f5,g as a0_0x426a20,h as a0_0x16e3af,i as a0_0x1196cd,j as a0_0x21ae0d,k as a0_0x2ce370,l as a0_0x4edf9b,m as a0_0x78a5b1,n as a0_0x1395b6,o as a0_0x3bfa5c,p as a0_0x59e989,q as a0_0x497d1c,r as a0_0x5139d9,s as a0_0x5a2425,t as a0_0x5e07c1,u as a0_0x2d6855,v as a0_0x3d907c,w as a0_0x3f547c,x as a0_0x17bae5,y as a0_0x8ab676,z as a0_0x1577fb}from'../chunk-CFNCYJKB.js';import{a as a0_0x2291b1,b as a0_0x492e1b,c as a0_0x44d169,d as a0_0x2d0d7e,e as a0_0x5d6dea}from'../chunk-I5OOVR5U.js';import'../chunk-LV4HGC5G.js';import'../chunk-ZLL42OOV.js';import'../chunk-E6WJCS24.js';import'../chunk-JXBG6UFL.js';export{a0_0x2291b1 as AssetCache,a0_0x44d169 as AssetLoader,a0_0x2d6855 as AssetSystem,a0_0x2d0d7e as AssetTextures,a0_0x5a2425 as Assets,a0_0x3bfa5c as BaseSystem,a0_0x1395b6 as GameEngine,a0_0x452705 as GameObject,a0_0xeb73f5 as GameObjectManager,a0_0x78a5b1 as ObjectFactory,a0_0x3f9eac as Renderer,a0_0x59e989 as RuntimeObjectRegistry,a0_0x252185 as Transform,a0_0x35c5f4 as applyScreenAnchor,a0_0x497d1c as basePixi,a0_0x3f547c as clearResponsiveElements,a0_0x6598e4 as createPixiBase,a0_0x21ae0d as getRegisteredFontIds,a0_0x3d907c as globalResponsiveMultipliers,a0_0x5d6dea as initAssetTextures,a0_0x5e07c1 as initAssets,a0_0x3e9cca as layout,a0_0x4edf9b as playLottieOverlay,a0_0x1196cd as registerFont,a0_0x492e1b as registerType,a0_0x8ab676 as resolveAnchorVec2,a0_0x426a20 as resolveFont,a0_0x16e3af as resolveFontWeight,a0_0x1577fb as resolveScreenAnchorPoint,a0_0x497f59 as resolveScreenRatioPoint,a0_0x2ed161 as runInitSequence,a0_0x2ce370 as setLottieInstance,a0_0x5139d9 as spawnSceneFromConfig,a0_0x17bae5 as updateScreenState};function a0_0x160b(){var _0x38391b=['E8oKdKNdUmo1W7hcIMFcI3iYzG','WRVdQWNdT8oi','ymk9WRJcVHO','BqXtkmkEAdbnW5fV','WQldPCkdWOZcGa','WRhcKIK','sv9bhmo2','dSoGEmknDHVcUGRcHXdcUCog','Dh8iW4L7WPpcUmonoSoiWQRdPMK','AmozWPRcPSoY','WOxdRmoxW5RdTu5t','amoMamoFd3RcNqa','WRBcMdRdHmoFeHe','dmoNDSkllhNcRsJcKYq','W4FcG1NdLGaNbt/dNCkJ','ASoeWR86AW','W5tcOCoax0O3W77dOG','WRRdTSkEWPFdJ8k3W7tcNq0N','WQreW4SiW7FdHqLsqH8','W57dHSoZW6ZdMa','zgvXW7/dOa','cmoLFSkpDX3dVgJcLr/cGmolWR1W','WR/dT1LuWOFcT8o1W4xdOSkos0RdLW','W4pcGvhdKLTdvh/dM8kyaLRcHmkf','WOO3W5zvWOL0WRrDWQFdNSk1fHe','W7ZcSMZcTmkdW7/cISk7WQvUWO/dIgW','cqWwwCkSw8kRcXBdSZWxWQS','WQFdTLNcQSkV','iuSfuGO','dqWxxSkMw8oLmcVdJdSE','tM50WPFdPeSJW4L8Eq'];a0_0x160b=function(){return _0x38391b;};return a0_0x160b();}
|