@apps-in-toss/web-framework 2.4.1 → 2.4.2

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.
@@ -45465,7 +45465,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
45465
45465
  "../user-scripts/dist/index.mjs"() {
45466
45466
  "use strict";
45467
45467
  e62 = '"use strict";(()=>{var e=document.createElement("style");e.textContent=`\n*:not(input):not(textarea) {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n}\n`;document.head.appendChild(e);})();\n';
45468
- t53 = '"use strict";(()=>{var de=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},w=new de,O=()=>Math.random().toString(36).substring(2,15),B=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=O(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(w.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(w.on(`${e}/reject/${r}`,i=>{o(),a(B(i))})),w.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function R(e){return t=>{let r=O(),n=[w.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),w.on(`${e}/onError/${r}`,o=>{t.onError(B(o))})];return w.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{w.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function g(e){return()=>w.getConstant(e)}var ue=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=ue());var Xe=d("closeView"),Ye=d("generateHapticFeedback"),Ze=d("share"),Qe=d("setSecureScreen"),et=d("setScreenAwakeMode"),tt=d("getNetworkStatus"),rt=d("setIosSwipeGestureEnabled"),nt=d("openURL"),ot=d("openPermissionDialog"),st=d("getPermission"),at=d("requestPermission"),it=g("setClipboardText"),ct=g("getClipboardText"),dt=g("fetchContacts"),ut=g("fetchAlbumPhotos"),pt=g("getCurrentLocation"),mt=g("openCamera"),lt=d("appLogin"),gt=d("eventLog"),ft=d("getTossShareLink"),vt=d("setDeviceOrientation"),wt=d("checkoutPayment"),ht=d("saveBase64Data"),Et=d("appsInTossSignTossCert"),bt=d("getGameCenterGameProfile"),At=d("openGameCenterLeaderboard"),_t=d("submitGameCenterLeaderBoardScore"),St=d("getUserKeyForGame"),Ct=d("grantPromotionReward"),It=d("grantPromotionRewardForGame"),Tt=d("getIsTossLoginIntegratedService"),yt=d("getServerTime"),Lt=d("requestReview"),Rt=g("getLocale"),Pt=g("getSchemeUri"),xt=g("getPlatformOS"),Dt=g("getOperationalEnvironment"),Nt=g("getTossAppVersion"),Mt=g("getDeviceId"),Ft=g("getGroupId"),kt=R("contactsViral"),Gt=R("startUpdateLocation"),Ot=R("onVisibilityChangedByTransparentServiceWeb");var S=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},V=class extends S{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},H=class extends S{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},q=class extends S{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var k=class extends S{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},U=k,W=class extends S{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},z=class extends S{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var pe=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},h=new pe,te=()=>Math.random().toString(36).substring(2,15),re=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=te(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(h.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(h.on(`${e}/reject/${r}`,i=>{o(),a(re(i))})),h.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function E(e){return t=>{let r=te(),n=[h.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),h.on(`${e}/onError/${r}`,o=>{t.onError(re(o))})];return h.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{h.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>h.getConstant(e)}var Kt={getItem:c("getStorageItem"),setItem:c("setStorageItem"),removeItem:c("removeStorageItem"),clearItems:c("clearItems")},me=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,$=e=>["*","x","X"].includes(e),j=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},le=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],ge=(e,t)=>{if($(e)||$(t))return 0;let[r,n]=le(j(e),j(t));return r>n?1:r<n?-1:0},K=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(me);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},J=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=ge(o,s);if(a!==0)return a}return 0},fe=(e,t)=>{let r=K(e),n=K(t),o=r.pop(),s=n.pop(),a=J(r,n);return a!==0?a:o&&s?J(o.split("."),s.split(".")):o?-1:s?1:0};function G(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:fe(r,o)>=0}function X(e){return c("processProductGrant")(e)}var Jt={createOneTimePurchaseOrder:e=>{let t=G({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=G({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?E("requestOneTimePurchase")({options:{sku:i},onEvent:async l=>{if(l.type==="purchased"){let m=await o.processProductGrant({orderId:l.data.orderId});await X({orderId:l.data.orderId,isProductGranted:m}).catch(a)}else s(l)},onError:l=>{a(l)}}):(c("iapCreateOneTimePurchaseOrder")({productId:i}).then(m=>{Promise.resolve(o.processProductGrant({orderId:m.orderId})).then(()=>{s({type:"success",data:m})}).catch(f=>{a(f)})}).catch(m=>{a(m)}),r)},createSubscriptionPurchaseOrder:e=>{let t=G({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:u}=n;return E("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async m=>{if(m.type==="purchased"){let f=await u({orderId:m.data.orderId,subscriptionId:m.data.subscriptionId});await X({orderId:m.data.orderId,isProductGranted:f}).catch(s)}else o(m)},onError:m=>{s(m)}})},getProductItemList:c("iapGetProductItemList"),getPendingOrders:c("getPendingOrders"),getCompletedOrRefundedOrders:c("getCompletedOrRefundedOrders"),completeProductGrant:c("completeProductGrant"),getSubscriptionInfo:c("getSubscriptionInfo")},Xt=p("getSafeAreaInsets");var Yt=p("getSafeAreaInsets");var Zt={loadAppsInTossAdMob:Object.assign(E("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(E("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(c("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var Qt={getDeploymentId:p("getDeploymentId")},er=p("deploymentId"),tr=p("brandDisplayName"),rr=p("brandIcon"),nr=p("brandPrimaryColor");var or={addAccessoryButton:c("addAccessoryButton"),removeAccessoryButton:c("removeAccessoryButton")},ve=c("requestPermission"),we=c("getPermission"),he=c("openPermissionDialog");function C({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await ve(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>we(e),n.openPermissionDialog=()=>he(e),n}var ar=C({handler:e=>c("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:V}),cr=C({handler:e=>c("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:H}),ur=C({handler:e=>c("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:k}),mr=C({handler:e=>c("openCamera")(e),permission:{name:"camera",access:"access"},error:q}),gr=C({handler:e=>c("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:z}),vr=C({handler:()=>c("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:W}),Ee=c("getPermission"),be=c("openPermissionDialog"),ne=e=>E("updateLocationEvent")({...e,onError:t=>{let r=new U;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ne.getPermission=()=>Ee({name:"geolocation",access:"access"});ne.openPermissionDialog=()=>be({name:"geolocation",access:"access"});var hr=Object.assign(E("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),Er=Object.assign(E("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),Ae=c("openURL");function _e(e){let t=Se(e);return Ae(t)}function Se(e){return["http://","https://"].some(r=>e.startsWith(r))?Ce(e):e}function Ce(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var Y="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",Z=15e3,P=null;function _(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Ie(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=_();if(e)return Promise.resolve(e);if(P)return P;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(u),P=null},a=()=>{let l=_();if(l){s(),r(l);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${Y}.`))},u=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${Z}ms.`))},Z);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=Y,document.head.appendChild(o)});return P=t,t}var A=Object.assign(E("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Te=c("tossAdEventLog"),ye=new Set(["1","2"]);function Le(e){return new Promise((t,r)=>{if(!A.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}return A({options:e,onEvent:t,onError:r})})}function Q(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>ye.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function Re(e){return Pe(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:Q(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:xe(e)?{resultType:"SUCCESS",success:Q(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Pe(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function xe(e){return!!(e&&typeof e=="object"&&"ads"in e)}function De(){return async(e,t)=>{try{let r=await Le({adGroupId:t.spaceUnitId,sdkId:"108",availableStyleIds:["1","2"]});return Re(r)}catch(r){return{resultType:"FAIL",error:{reason:r instanceof Error?r.message:"Unknown fetchTossAd error"}}}}}var L=null;function Ne(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(_()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Ie().then(a=>{if(a.isInitialized())return;let u={environment:"live",customAdFetcher:De(),opener:_e};a.init(u)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function Me(e,t,r={}){let{callbacks:n}=r,o=s=>{let a=s instanceof Error?s:new Error(String(s));n?.onAdFailedToRender?.({slotId:"",adGroupId:e,adMetadata:{},error:{code:0,message:a.message}})};try{let s=e,a=_();if(!a)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!a.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let i=typeof t=="string"?document.querySelector(t):t;if(!i)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let u={spaceId:s,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:oe(e,r.callbacks)};a.banner.createSlot(i,u)}catch(s){o(s)}}var Fe="16px 20px",ke="20px",Ge="auto",Oe="blackAndWhite",Be="expanded",v="toss-ads-attach",ee="toss-ads-attach-style";function Ve(e){let t=e.ownerDocument;if(!t||t.getElementById(ee))return;let r=t.createElement("style");r.id=ee,r.textContent=`\n .${v} { background: #ffffff; }\n .${v}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${v} { background: #17171c; }\n .${v}.toss-ads-tone-grey { background: #101013; }\n }\n .${v}.toss-ads-theme-light { background: #ffffff; }\n .${v}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${v}.toss-ads-theme-dark { background: #17171c; }\n .${v}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function He(e,t,r={}){let{callbacks:n,theme:o=Ge,tone:s=Oe,variant:a=Be}=r,i=document.createElement("div");i.style.width="100%",i.style.height="100%",i.style.boxSizing="border-box",i.style.display="flex",i.style.flexDirection="column",i.style.justifyContent="center",i.style.overflow="hidden",a==="card"&&(i.style.padding="0 10px");let u=document.createElement("div");u.classList.add(v),s==="grey"&&u.classList.add("toss-ads-tone-grey"),o==="light"?u.classList.add("toss-ads-theme-light"):o==="dark"&&u.classList.add("toss-ads-theme-dark"),a==="card"&&(u.style.borderRadius="16px",u.style.overflow="hidden"),i.appendChild(u);let l=!1,m=null,f=b=>{let y=b instanceof Error?b:new Error(String(b));n?.onAdFailedToRender?.({slotId:"",adGroupId:e,adMetadata:{},error:{code:0,message:y.message}})},ae=oe(e,n);try{let b=e,y=_();if(!y)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!y.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let F=typeof t=="string"?document.querySelector(t):t;if(!F)throw new Error(`[toss-ad] Failed to find target element: ${t}`);Ve(F),F.appendChild(i),l=!0;let ie={spaceId:b,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:ce=>ce==="1"?Fe:ke,callbacks:ae};m=y.banner.createSlot(u,ie)}catch(b){l&&i.parentNode&&i.parentNode.removeChild(i),f(b)}return{destroy(){m?.destroy(),l&&i.parentNode&&i.parentNode.removeChild(i)}}}function qe(e){let t=_();t?.banner&&t.banner.destroy(e)}function Ue(){let e=_();e?.banner&&e.banner.destroyAll()}function oe(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Te({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var br={initialize:Object.assign(Ne,{isSupported:A.isSupported}),attach:Object.assign(Me,{isSupported:A.isSupported}),attachBanner:Object.assign(He,{isSupported:A.isSupported}),destroy:Object.assign(qe,{isSupported:A.isSupported}),destroyAll:Object.assign(Ue,{isSupported:A.isSupported})},Ar=Object.assign(c("getServerTime"),{isSupported:p("getServerTime_isSupported")}),_r=Object.assign(c("requestReview"),{isSupported:p("requestReview_isSupported")});var x=class{_log=c("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var D=class{callbacks={};on(t,r){return typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r),()=>{this.callbacks[t]=this.callbacks[t]?.filter(n=>n!==r)??[]}}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new D,debugLogger:new x};var I=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function N(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),N(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!I.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let l=i.headers.get("ETag"),m=i.headers.get("Last-Modified");l&&s.headers.set("If-None-Match",l),m&&s.headers.set("If-Modified-Since",m);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let u=await r.call(n,s);return a.put(s,u.clone()),u})})();N(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});HTMLCanvasElement.prototype.getContext=new Proxy(HTMLCanvasElement.prototype.getContext,{apply:(e,t,r)=>{let n=e.apply(t,r);return(n instanceof WebGL2RenderingContext||n instanceof WebGLRenderingContext)&&window.__appsInToss.eventEmitter.emit("webglGetContext",{canvas:t,context:n}),n}});var se=window.__appsInToss.debugLogger;se.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};se.log("load_complete",{isNavigationDebugSupported:r,...n})});function T(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:T(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:T(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:T(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.eventEmitter.on("webglGetContext",({canvas:t,context:r})=>{if(t.getAttribute("id")!=="unity-canvas")return;e();let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{I.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!I.test(n.url))return;let a=await s.clone().blob().then(u=>T(u.size/1024,2)).catch(u=>(r({request:n,requestAt:o,error:u}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{I.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var M=[];function We(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){M.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function ze(){if(M.length===0)return;let e=M;M=[];let t=$e(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function $e(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>We(),1e3);setInterval(()=>ze(),3e5);})();\n';
45468
+ t53 = '"use strict";(()=>{var fe=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},E=new fe,q=()=>Math.random().toString(36).substring(2,15),z=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=q(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(E.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(E.on(`${e}/reject/${r}`,i=>{o(),a(z(i))})),E.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function D(e){return t=>{let r=q(),n=[E.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),E.on(`${e}/onError/${r}`,o=>{t.onError(z(o))})];return E.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{E.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function v(e){return()=>E.getConstant(e)}var ve=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=ve());var at=c("closeView"),it=c("generateHapticFeedback"),dt=c("share"),ct=c("setSecureScreen"),ut=c("setScreenAwakeMode"),pt=c("getNetworkStatus"),mt=c("setIosSwipeGestureEnabled"),lt=c("openURL"),gt=c("openPermissionDialog"),ft=c("getPermission"),vt=c("requestPermission"),ht=v("setClipboardText"),wt=v("getClipboardText"),Et=v("fetchContacts"),bt=v("fetchAlbumPhotos"),At=v("getCurrentLocation"),_t=v("openCamera"),Ct=c("appLogin"),St=c("eventLog"),It=c("getTossShareLink"),Tt=c("setDeviceOrientation"),yt=c("checkoutPayment"),Rt=c("saveBase64Data"),Lt=c("appsInTossSignTossCert"),Pt=c("getGameCenterGameProfile"),xt=c("openGameCenterLeaderboard"),Dt=c("submitGameCenterLeaderBoardScore"),Nt=c("getUserKeyForGame"),Mt=c("grantPromotionReward"),Ft=c("grantPromotionRewardForGame"),Gt=c("getIsTossLoginIntegratedService"),Bt=c("getServerTime"),kt=c("requestReview"),Ot=v("getLocale"),Vt=v("getSchemeUri"),Ht=v("getPlatformOS"),Ut=v("getOperationalEnvironment"),Wt=v("getTossAppVersion"),qt=v("getDeviceId"),zt=v("getGroupId"),$t=D("contactsViral"),jt=D("startUpdateLocation"),Kt=D("onVisibilityChangedByTransparentServiceWeb");var S=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},$=class extends S{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},j=class extends S{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},K=class extends S{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var V=class extends S{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},J=V,X=class extends S{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},Y=class extends S{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var he=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},b=new he,ie=()=>Math.random().toString(36).substring(2,15),de=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=ie(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(b.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(b.on(`${e}/reject/${r}`,i=>{o(),a(de(i))})),b.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function A(e){return t=>{let r=ie(),n=[b.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),b.on(`${e}/onError/${r}`,o=>{t.onError(de(o))})];return b.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{b.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>b.getConstant(e)}var or={getItem:d("getStorageItem"),setItem:d("setStorageItem"),removeItem:d("removeStorageItem"),clearItems:d("clearItems")},we=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,Z=e=>["*","x","X"].includes(e),Q=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},Ee=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],be=(e,t)=>{if(Z(e)||Z(t))return 0;let[r,n]=Ee(Q(e),Q(t));return r>n?1:r<n?-1:0},ee=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(we);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},te=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=be(o,s);if(a!==0)return a}return 0},Ae=(e,t)=>{let r=ee(e),n=ee(t),o=r.pop(),s=n.pop(),a=te(r,n);return a!==0?a:o&&s?te(o.split("."),s.split(".")):o?-1:s?1:0};function H(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:Ae(r,o)>=0}function re(e){return d("processProductGrant")(e)}var sr={createOneTimePurchaseOrder:e=>{let t=H({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=H({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?A("requestOneTimePurchase")({options:{sku:i},onEvent:async l=>{if(l.type==="purchased"){let u=await o.processProductGrant({orderId:l.data.orderId});await re({orderId:l.data.orderId,isProductGranted:u}).catch(a)}else s(l)},onError:l=>{a(l)}}):(d("iapCreateOneTimePurchaseOrder")({productId:i}).then(u=>{Promise.resolve(o.processProductGrant({orderId:u.orderId})).then(()=>{s({type:"success",data:u})}).catch(f=>{a(f)})}).catch(u=>{a(u)}),r)},createSubscriptionPurchaseOrder:e=>{let t=H({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:m}=n;return A("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async u=>{if(u.type==="purchased"){let f=await m({orderId:u.data.orderId,subscriptionId:u.data.subscriptionId});await re({orderId:u.data.orderId,isProductGranted:f}).catch(s)}else o(u)},onError:u=>{s(u)}})},getProductItemList:d("iapGetProductItemList"),getPendingOrders:d("getPendingOrders"),getCompletedOrRefundedOrders:d("getCompletedOrRefundedOrders"),completeProductGrant:d("completeProductGrant"),getSubscriptionInfo:d("getSubscriptionInfo")},ar=p("getSafeAreaInsets");var ir=p("getSafeAreaInsets");var dr={loadAppsInTossAdMob:Object.assign(A("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(A("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(d("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var cr={getDeploymentId:p("getDeploymentId")},ur=p("deploymentId"),pr=p("brandDisplayName"),mr=p("brandIcon"),lr=p("brandPrimaryColor");var gr={addAccessoryButton:d("addAccessoryButton"),removeAccessoryButton:d("removeAccessoryButton")},_e=d("requestPermission"),Ce=d("getPermission"),Se=d("openPermissionDialog");function I({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await _e(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>Ce(e),n.openPermissionDialog=()=>Se(e),n}var vr=I({handler:e=>d("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:$}),wr=I({handler:e=>d("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:j}),br=I({handler:e=>d("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:V}),_r=I({handler:e=>d("openCamera")(e),permission:{name:"camera",access:"access"},error:K}),Sr=I({handler:e=>d("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:Y}),Tr=I({handler:()=>d("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:X}),Ie=d("getPermission"),Te=d("openPermissionDialog"),ce=e=>A("updateLocationEvent")({...e,onError:t=>{let r=new J;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ce.getPermission=()=>Ie({name:"geolocation",access:"access"});ce.openPermissionDialog=()=>Te({name:"geolocation",access:"access"});var Rr=Object.assign(A("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),Lr=Object.assign(A("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),P=new WeakMap;function ye(e,t){let r=P.get(e);if(r)return r;let n=t(),o=!1,s={destroy(){o||(o=!0,P.get(e)===s&&P.delete(e),n.destroy())}};return P.set(e,s),s}function Re(){P=new WeakMap}var Le=d("openURL");function Pe(e){let t=xe(e);return Le(t)}function xe(e){return["http://","https://"].some(r=>e.startsWith(r))?De(e):e}function De(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var ne="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",oe=15e3,N=null;function C(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Ne(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=C();if(e)return Promise.resolve(e);if(N)return N;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(m),N=null},a=()=>{let l=C();if(l){s(),r(l);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${ne}.`))},m=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${oe}ms.`))},oe);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=ne,document.head.appendChild(o)});return N=t,t}var _=Object.assign(A("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Me=d("tossAdEventLog"),Fe=new Set(["1","2"]),ue="\\uC798\\uBABB\\uB41C \\uC694\\uCCAD\\uC774\\uC5D0\\uC694. \\uD544\\uC694\\uD55C \\uAC12\\uC774 \\uBE44\\uC5B4 \\uC788\\uC5B4\\uC694.";function M(e){return e.trim()}function U(){return new Error(ue)}function Ge(){return{resultType:"FAIL",error:{reason:ue}}}function Be(e){return new Promise((t,r)=>{if(!_.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}let n=M(e.adGroupId);if(n.length===0){r(U());return}return _({options:{...e,adGroupId:n},onEvent:t,onError:r})})}function se(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>Fe.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function ke(e){return Oe(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:se(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:Ve(e)?{resultType:"SUCCESS",success:se(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Oe(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function Ve(e){return!!(e&&typeof e=="object"&&"ads"in e)}function He(){return async(e,t)=>{let r=M(t.spaceUnitId);if(r.length===0)return Ge();try{let n=await Be({adGroupId:r,sdkId:"108",availableStyleIds:["1","2"]});return ke(n)}catch(n){return{resultType:"FAIL",error:{reason:n instanceof Error?n.message:"Unknown fetchTossAd error"}}}}}var L=null;function Ue(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(C()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Ne().then(a=>{if(a.isInitialized())return;let m={environment:"live",customAdFetcher:He(),opener:Pe};a.init(m)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function We(e,t,r={}){let{callbacks:n}=r,o=M(e),s=a=>{let i=a instanceof Error?a:new Error(String(a));n?.onAdFailedToRender?.({slotId:"",adGroupId:o,adMetadata:{},error:{code:0,message:i.message}})};try{let a=o;if(a.length===0)throw U();let i=C();if(!i)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!i.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let m=typeof t=="string"?document.querySelector(t):t;if(!m)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let l={spaceId:a,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:me(o,r.callbacks)};i.banner.createSlot(m,l)}catch(a){s(a)}}var qe="16px 20px",ze="20px",$e="auto",je="blackAndWhite",Ke="expanded",h="toss-ads-attach",ae="toss-ads-attach-style",pe="data-toss-ads-attach-banner-wrapper";function Je(e){let t=e.ownerDocument;if(!t||t.getElementById(ae))return;let r=t.createElement("style");r.id=ae,r.textContent=`\n .${h} { background: #ffffff; }\n .${h}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${h} { background: #17171c; }\n .${h}.toss-ads-tone-grey { background: #101013; }\n }\n .${h}.toss-ads-theme-light { background: #ffffff; }\n .${h}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${h}.toss-ads-theme-dark { background: #17171c; }\n .${h}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function Xe(e){Array.from(e.children).forEach(t=>{t instanceof HTMLElement&&t.getAttribute(pe)==="true"&&e.removeChild(t)})}function Ye(e,t,r={}){let{callbacks:n,theme:o=$e,tone:s=je,variant:a=Ke}=r,i=M(e),m=u=>{let f=u instanceof Error?u:new Error(String(u));n?.onAdFailedToRender?.({slotId:"",adGroupId:i,adMetadata:{},error:{code:0,message:f.message}})},l=me(i,n);try{let u=i;if(u.length===0)throw U();let f=C();if(!f)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!f.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let R=typeof t=="string"?document.querySelector(t):t;if(!R)throw new Error(`[toss-ad] Failed to find target element: ${t}`);return ye(R,()=>{let g=document.createElement("div");g.style.width="100%",g.style.height="100%",g.style.boxSizing="border-box",g.style.display="flex",g.style.flexDirection="column",g.style.justifyContent="center",g.style.overflow="hidden",g.setAttribute(pe,"true"),a==="card"&&(g.style.padding="0 10px");let w=document.createElement("div");w.classList.add(h),s==="grey"&&w.classList.add("toss-ads-tone-grey"),o==="light"?w.classList.add("toss-ads-theme-light"):o==="dark"&&w.classList.add("toss-ads-theme-dark"),a==="card"&&(w.style.borderRadius="16px",w.style.overflow="hidden"),g.appendChild(w);let x=!1,W=null;try{Je(R),Xe(R),R.appendChild(g),x=!0;let O={spaceId:u,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:ge=>ge==="1"?qe:ze,callbacks:l};W=f.banner.createSlot(w,O)}catch(O){throw x&&g.parentNode&&g.parentNode.removeChild(g),O}return{destroy(){W?.destroy(),x&&g.parentNode&&g.parentNode.removeChild(g),x=!1}}})}catch(u){return m(u),{destroy(){}}}}function Ze(e){let t=C();t?.banner&&t.banner.destroy(e)}function Qe(){let e=C();e?.banner&&(e.banner.destroyAll(),Re())}function me(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Me({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var Pr={initialize:Object.assign(Ue,{isSupported:_.isSupported}),attach:Object.assign(We,{isSupported:_.isSupported}),attachBanner:Object.assign(Ye,{isSupported:_.isSupported}),destroy:Object.assign(Ze,{isSupported:_.isSupported}),destroyAll:Object.assign(Qe,{isSupported:_.isSupported})},xr=Object.assign(d("getServerTime"),{isSupported:p("getServerTime_isSupported")}),Dr=Object.assign(d("requestReview"),{isSupported:p("requestReview_isSupported")});var F=class{_log=d("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var G=class{callbacks={};on(t,r){return typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r),()=>{this.callbacks[t]=this.callbacks[t]?.filter(n=>n!==r)??[]}}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new G,debugLogger:new F};var T=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function B(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),B(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!T.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let l=i.headers.get("ETag"),u=i.headers.get("Last-Modified");l&&s.headers.set("If-None-Match",l),u&&s.headers.set("If-Modified-Since",u);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let m=await r.call(n,s);return a.put(s,m.clone()),m})})();B(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});HTMLCanvasElement.prototype.getContext=new Proxy(HTMLCanvasElement.prototype.getContext,{apply:(e,t,r)=>{let n=e.apply(t,r);return(n instanceof WebGL2RenderingContext||n instanceof WebGLRenderingContext)&&window.__appsInToss.eventEmitter.emit("webglGetContext",{canvas:t,context:n}),n}});var le=window.__appsInToss.debugLogger;le.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};le.log("load_complete",{isNavigationDebugSupported:r,...n})});function y(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:y(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:y(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:y(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.eventEmitter.on("webglGetContext",({canvas:t,context:r})=>{if(t.getAttribute("id")!=="unity-canvas")return;e();let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{T.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!T.test(n.url))return;let a=await s.clone().blob().then(m=>y(m.size/1024,2)).catch(m=>(r({request:n,requestAt:o,error:m}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{T.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var k=[];function et(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){k.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function tt(){if(k.length===0)return;let e=k;k=[];let t=rt(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function rt(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>et(),1e3);setInterval(()=>tt(),3e5);})();\n';
45469
45469
  }
45470
45470
  });
45471
45471
 
@@ -46641,6 +46641,12 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46641
46641
  }
46642
46642
  function noop4() {
46643
46643
  }
46644
+ function normalizeAdGroupId(adGroupId) {
46645
+ return adGroupId.trim();
46646
+ }
46647
+ function createInvalidAdGroupIdError() {
46648
+ return new Error(INVALID_AD_GROUP_ID_ERROR_MESSAGE);
46649
+ }
46644
46650
  function generateSessionId() {
46645
46651
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c41) {
46646
46652
  var r50 = Math.random() * 16 | 0;
@@ -46654,7 +46660,11 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46654
46660
  return noop4;
46655
46661
  }
46656
46662
  var onEvent = params.onEvent, onError = params.onError, options = params.options;
46657
- var adGroupId = options.adGroupId;
46663
+ var adGroupId = normalizeAdGroupId(options.adGroupId);
46664
+ if (adGroupId.length === 0) {
46665
+ params.onError(createInvalidAdGroupIdError());
46666
+ return noop4;
46667
+ }
46658
46668
  var unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("fetchTossAd", {
46659
46669
  spaceUnitId: adGroupId,
46660
46670
  sessionId,
@@ -46724,17 +46734,27 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46724
46734
  params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE22));
46725
46735
  return noop4;
46726
46736
  }
46737
+ var normalizedAdGroupId = normalizeAdGroupId(params.options.adGroupId);
46738
+ if (normalizedAdGroupId.length === 0) {
46739
+ params.onError(createInvalidAdGroupIdError());
46740
+ return noop4;
46741
+ }
46742
+ var normalizedParams = _object_spread_props(_object_spread({}, params), {
46743
+ options: _object_spread_props(_object_spread({}, params.options), {
46744
+ adGroupId: normalizedAdGroupId
46745
+ })
46746
+ });
46727
46747
  if (!integratedAdIsSupported()) {
46728
- return GoogleAdMob.loadAppsInTossAdMob(_object_spread_props(_object_spread({}, params), {
46748
+ return GoogleAdMob.loadAppsInTossAdMob(_object_spread_props(_object_spread({}, normalizedParams), {
46729
46749
  onEvent: function(event) {
46730
46750
  if (event.type === "loaded") {
46731
46751
  var _ref;
46732
46752
  var _event_data_responseInfo_loadedAdNetworkInfo;
46733
46753
  var requestId = generateRequestId();
46734
- INTG_AD_ADM_FALLBACK_RID_MAP[params.options.adGroupId] = requestId;
46754
+ INTG_AD_ADM_FALLBACK_RID_MAP[normalizedAdGroupId] = requestId;
46735
46755
  postEventTracking({
46736
46756
  eventName: "LOAD",
46737
- spaceUnitId: params.options.adGroupId,
46757
+ spaceUnitId: normalizedAdGroupId,
46738
46758
  requestId,
46739
46759
  responseId: event.data.responseInfo.responseId,
46740
46760
  mediationType: "ADMOB",
@@ -46743,14 +46763,14 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46743
46763
  sdkVer: INTEGRATED_AD_SDK_VERSION
46744
46764
  });
46745
46765
  }
46746
- return params.onEvent(event);
46766
+ return normalizedParams.onEvent(event);
46747
46767
  },
46748
46768
  onError: function(error) {
46749
- var _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId;
46750
- var requestId = (_INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId = INTG_AD_ADM_FALLBACK_RID_MAP[params.options.adGroupId]) !== null && _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId !== void 0 ? _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId : "";
46769
+ var _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId;
46770
+ var requestId = (_INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId = INTG_AD_ADM_FALLBACK_RID_MAP[normalizedAdGroupId]) !== null && _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId !== void 0 ? _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId : "";
46751
46771
  postEventTracking({
46752
46772
  eventName: "FAILED_TO_LOAD",
46753
- spaceUnitId: params.options.adGroupId,
46773
+ spaceUnitId: normalizedAdGroupId,
46754
46774
  requestId,
46755
46775
  responseId: "",
46756
46776
  mediationType: "ADMOB",
@@ -46758,11 +46778,11 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46758
46778
  adSourceName: "",
46759
46779
  sdkVer: INTEGRATED_AD_SDK_VERSION
46760
46780
  });
46761
- return params.onError(error);
46781
+ return normalizedParams.onError(error);
46762
46782
  }
46763
46783
  }));
46764
46784
  }
46765
- var onEvent = params.onEvent, onError = params.onError, options = params.options;
46785
+ var onEvent = normalizedParams.onEvent, onError = normalizedParams.onError, options = normalizedParams.options;
46766
46786
  var adGroupId = options.adGroupId;
46767
46787
  var referrer2 = getReferrer3();
46768
46788
  var unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("loadTossAdOrAdmob", {
@@ -46790,16 +46810,26 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46790
46810
  params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE22));
46791
46811
  return noop4;
46792
46812
  }
46813
+ var normalizedAdGroupId = normalizeAdGroupId(params.options.adGroupId);
46814
+ if (normalizedAdGroupId.length === 0) {
46815
+ params.onError(createInvalidAdGroupIdError());
46816
+ return noop4;
46817
+ }
46818
+ var normalizedParams = _object_spread_props(_object_spread({}, params), {
46819
+ options: _object_spread_props(_object_spread({}, params.options), {
46820
+ adGroupId: normalizedAdGroupId
46821
+ })
46822
+ });
46793
46823
  if (!integratedAdIsSupported()) {
46794
- return GoogleAdMob.showAppsInTossAdMob(_object_spread_props(_object_spread({}, params), {
46824
+ return GoogleAdMob.showAppsInTossAdMob(_object_spread_props(_object_spread({}, normalizedParams), {
46795
46825
  onEvent: function(event) {
46796
- var _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId;
46797
- var requestId = (_INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId = INTG_AD_ADM_FALLBACK_RID_MAP[params.options.adGroupId]) !== null && _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId !== void 0 ? _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId : "";
46826
+ var _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId;
46827
+ var requestId = (_INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId = INTG_AD_ADM_FALLBACK_RID_MAP[normalizedAdGroupId]) !== null && _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId !== void 0 ? _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId : "";
46798
46828
  switch (event.type) {
46799
46829
  case "show":
46800
46830
  postEventTracking({
46801
46831
  eventName: "SHOW",
46802
- spaceUnitId: params.options.adGroupId,
46832
+ spaceUnitId: normalizedAdGroupId,
46803
46833
  requestId,
46804
46834
  responseId: "",
46805
46835
  mediationType: "ADMOB",
@@ -46811,7 +46841,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46811
46841
  case "failedToShow":
46812
46842
  postEventTracking({
46813
46843
  eventName: "FAILED_TO_SHOW",
46814
- spaceUnitId: params.options.adGroupId,
46844
+ spaceUnitId: normalizedAdGroupId,
46815
46845
  requestId,
46816
46846
  responseId: "",
46817
46847
  mediationType: "ADMOB",
@@ -46823,7 +46853,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46823
46853
  case "impression":
46824
46854
  postEventTracking({
46825
46855
  eventName: "IMP",
46826
- spaceUnitId: params.options.adGroupId,
46856
+ spaceUnitId: normalizedAdGroupId,
46827
46857
  requestId,
46828
46858
  responseId: "",
46829
46859
  mediationType: "ADMOB",
@@ -46835,7 +46865,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46835
46865
  case "clicked":
46836
46866
  postEventTracking({
46837
46867
  eventName: "CLICK",
46838
- spaceUnitId: params.options.adGroupId,
46868
+ spaceUnitId: normalizedAdGroupId,
46839
46869
  requestId,
46840
46870
  responseId: "",
46841
46871
  mediationType: "ADMOB",
@@ -46847,7 +46877,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46847
46877
  case "dismissed":
46848
46878
  postEventTracking({
46849
46879
  eventName: "DISMISS",
46850
- spaceUnitId: params.options.adGroupId,
46880
+ spaceUnitId: normalizedAdGroupId,
46851
46881
  requestId,
46852
46882
  responseId: "",
46853
46883
  mediationType: "ADMOB",
@@ -46859,7 +46889,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46859
46889
  case "userEarnedReward":
46860
46890
  postEventTracking({
46861
46891
  eventName: "USER_EARNED_REWARD",
46862
- spaceUnitId: params.options.adGroupId,
46892
+ spaceUnitId: normalizedAdGroupId,
46863
46893
  requestId,
46864
46894
  responseId: "",
46865
46895
  mediationType: "ADMOB",
@@ -46869,14 +46899,14 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46869
46899
  });
46870
46900
  break;
46871
46901
  }
46872
- return params.onEvent(event);
46902
+ return normalizedParams.onEvent(event);
46873
46903
  },
46874
46904
  onError: function(error) {
46875
- var _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId;
46876
- var requestId = (_INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId = INTG_AD_ADM_FALLBACK_RID_MAP[params.options.adGroupId]) !== null && _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId !== void 0 ? _INTG_AD_ADM_FALLBACK_RID_MAP_params_options_adGroupId : "";
46905
+ var _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId;
46906
+ var requestId = (_INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId = INTG_AD_ADM_FALLBACK_RID_MAP[normalizedAdGroupId]) !== null && _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId !== void 0 ? _INTG_AD_ADM_FALLBACK_RID_MAP_normalizedAdGroupId : "";
46877
46907
  postEventTracking({
46878
46908
  eventName: "FAILED_TO_SHOW",
46879
- spaceUnitId: params.options.adGroupId,
46909
+ spaceUnitId: normalizedAdGroupId,
46880
46910
  requestId,
46881
46911
  responseId: "",
46882
46912
  mediationType: "ADMOB",
@@ -46884,11 +46914,11 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
46884
46914
  adSourceName: "",
46885
46915
  sdkVer: INTEGRATED_AD_SDK_VERSION
46886
46916
  });
46887
- return params.onError(error);
46917
+ return normalizedParams.onError(error);
46888
46918
  }
46889
46919
  }));
46890
46920
  }
46891
- var onEvent = params.onEvent, onError = params.onError, options = params.options;
46921
+ var onEvent = normalizedParams.onEvent, onError = normalizedParams.onError, options = normalizedParams.options;
46892
46922
  var adGroupId = options.adGroupId;
46893
46923
  var referrer2 = getReferrer3();
46894
46924
  var unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("showTossAdOrAdmob", {
@@ -47862,7 +47892,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
47862
47892
  onRenderProcessGone: handleWebViewProcessDidTerminate
47863
47893
  }));
47864
47894
  }
47865
- var import_react_native184, import_react179, import_react180, import_react181, import_react182, import_jsx_runtime216, import_react183, import_jsx_runtime217, import_react184, import_react_native190, import_react185, import_react_native192, import_react186, import_react_native194, import_react187, import_react188, import_react189, import_react190, import_jsx_runtime218, import_jsx_runtime219, import_react191, import_react_native197, import_react192, import_react193, import_react194, import_react_native202, import_jsx_runtime220, import_jsx_runtime221, import_jsx_runtime222, import_jsx_runtime223, import_jsx_runtime224, import_react195, import_jsx_runtime225, import_jsx_runtime226, import_react_native205, import_jsx_runtime227, import_jsx_runtime228, import_jsx_runtime229, import_react196, import_react_native207, import_react197, import_react_native208, import_react198, import_react_native210, import_jsx_runtime230, import_jsx_runtime231, import_react199, import_react200, import_jsx_runtime232, import_jsx_runtime233, import_react201, import_react202, import_react203, import_react204, import_react_native216, import_react205, import_react206, import_jsx_runtime234, import_react207, import_react_native219, import_react208, import_react_native220, import_jsx_runtime235, import_react209, import_react_native221, import_jsx_runtime236, import_jsx_runtime237, __GlobalEventDeduplicator, __defProp2, __getOwnPropDesc2, __getOwnPropNames2, __hasOwnProp2, __copyProps2, __reExport2, env, EXIT_IMPRESSION_LOG_NAME, EXIT_IMPRESSION_SCHEMA_ID, ENTRY_APP_EVENT_SCHEMA_ID, AppEvent, UPDATE_SCHEME, NavigationBarContext, GAME_PROFILE_WEBVIEW_URL, GAME_MIN_VERSION, PLAYSTORE_LINK, APPSTORE_LINK, getMarketLink, UPDATE_DIALOG_SCHEMA_ID, UPDATE_DIALOG_LOG_NAME, UPDATE_DIALOG_CTA_CLICK_SCHEMA_ID, UPDATE_DIALOG_CTA_CLICK_LOG_NAME, DEFAULT_ERROR, useErrorAlert, INTERNAL__onVisibilityChangedByTransparentServiceWeb, openTransparentWebView, useTransparentWebview, useGameProfileToast, useGameCenterProfile, Z_INDEX, GameInitializer, overlayStyle, EventEmitter, eventEmitter, homeEvent, safeAreaInsetsChange, NAVI_BAR_IMPRESSION_SCHEMA_ID, NAVI_BAR_IMPRESSION_LOG_NAME, CLOSE_POPUP_SHOW_SCHEMA_ID, CLOSE_POPUP_SHOW_LOG_NAME, CLOSE_BUTTON_CLICK_SCHEMA_ID, CLOSE_BUTTON_CLICK_LOG_NAME, CLOSE_POPUP_CTA_CLICK_SCHEMA_ID, CLOSE_POPUP_CTA_CLICK_LOG_NAME, HOME_BUTTON_CLICK_SCHEMA_ID, HOME_BUTTON_CLICK_LOG_NAME, BOTTOM_SHEET_SCHEMA_ID, BOTTOM_SHEET_LOG_NAME, BOTTOM_SHEET_OPEN_SCHEMA_ID, BOTTOM_SHEET_OPEN_LOG_NAME, BOTTOM_SHEET_CLOSE_CLICK_SCHEMA_ID, BOTTOM_SHEET_CLOSE_CLICK_LOG_NAME, BOTTOM_SHEET_MENU_CLICK_SCHEMA_ID, BOTTOM_SHEET_MENU_CLICK_LOG_NAME, iconNameRegExp, iconURLRegExp, SHARE_SCHEME_REFERRER, APP_SHARE_MENU_INFO, APP_BRIDGE_METHOD_NAME, MIN_VERSION3, RNNavigationBar, bridge_entry_exports, AppsInToss, GameWebView, PartnerWebView, sessionId, ANDROID_FETCH_TOSS_AD_SUPPORTED_VERSION, IOS_FETCH_TOSS_AD_SUPPORTED_VERSION, UNSUPPORTED_ERROR_MESSAGE3, ENVIRONMENT3, OPERATIONAL_ENVIRONMENT, OS, APP_VER, ALPHA_EVENT_TRACKER_HTTP_ENDPOINT, LIVE_EVENT_TRACKER_HTTP_ENDPOINT, INTEGRATED_AD_SDK_VERSION, ANDROID_INTEGRATED_AD_SUPPORTED_VERSION, IOS_INTEGRATED_AD_SUPPORTED_VERSION, UNSUPPORTED_ERROR_MESSAGE22, INTG_AD_ADM_FALLBACK_RID_MAP, loadFullScreenAd, loadFullScreenAdForWeb, globalEventListenerMap, INITIAL_STATE, FontA11yCategory, androidFontScaleMap, iosScaleToAndroidScale, extractDateFromUUIDv7, getGroupId2, getReferrer22, trackScreen, operationalEnvironment, TYPES, WEBVIEW_TYPES, ERROR_CODES, _obj6, ERROR_MESSAGES, API_RESULT_ERROR_MAP, AD_STATUS_ERROR_MAP, GlobalEventDeduplicator, globalEventDeduplicator, styles3, styles22, styles32, Analytics2;
47895
+ var import_react_native184, import_react179, import_react180, import_react181, import_react182, import_jsx_runtime216, import_react183, import_jsx_runtime217, import_react184, import_react_native190, import_react185, import_react_native192, import_react186, import_react_native194, import_react187, import_react188, import_react189, import_react190, import_jsx_runtime218, import_jsx_runtime219, import_react191, import_react_native197, import_react192, import_react193, import_react194, import_react_native202, import_jsx_runtime220, import_jsx_runtime221, import_jsx_runtime222, import_jsx_runtime223, import_jsx_runtime224, import_react195, import_jsx_runtime225, import_jsx_runtime226, import_react_native205, import_jsx_runtime227, import_jsx_runtime228, import_jsx_runtime229, import_react196, import_react_native207, import_react197, import_react_native208, import_react198, import_react_native210, import_jsx_runtime230, import_jsx_runtime231, import_react199, import_react200, import_jsx_runtime232, import_jsx_runtime233, import_react201, import_react202, import_react203, import_react204, import_react_native216, import_react205, import_react206, import_jsx_runtime234, import_react207, import_react_native219, import_react208, import_react_native220, import_jsx_runtime235, import_react209, import_react_native221, import_jsx_runtime236, import_jsx_runtime237, __GlobalEventDeduplicator, __defProp2, __getOwnPropDesc2, __getOwnPropNames2, __hasOwnProp2, __copyProps2, __reExport2, env, EXIT_IMPRESSION_LOG_NAME, EXIT_IMPRESSION_SCHEMA_ID, ENTRY_APP_EVENT_SCHEMA_ID, AppEvent, UPDATE_SCHEME, NavigationBarContext, GAME_PROFILE_WEBVIEW_URL, GAME_MIN_VERSION, PLAYSTORE_LINK, APPSTORE_LINK, getMarketLink, UPDATE_DIALOG_SCHEMA_ID, UPDATE_DIALOG_LOG_NAME, UPDATE_DIALOG_CTA_CLICK_SCHEMA_ID, UPDATE_DIALOG_CTA_CLICK_LOG_NAME, DEFAULT_ERROR, useErrorAlert, INTERNAL__onVisibilityChangedByTransparentServiceWeb, openTransparentWebView, useTransparentWebview, useGameProfileToast, useGameCenterProfile, Z_INDEX, GameInitializer, overlayStyle, EventEmitter, eventEmitter, homeEvent, safeAreaInsetsChange, NAVI_BAR_IMPRESSION_SCHEMA_ID, NAVI_BAR_IMPRESSION_LOG_NAME, CLOSE_POPUP_SHOW_SCHEMA_ID, CLOSE_POPUP_SHOW_LOG_NAME, CLOSE_BUTTON_CLICK_SCHEMA_ID, CLOSE_BUTTON_CLICK_LOG_NAME, CLOSE_POPUP_CTA_CLICK_SCHEMA_ID, CLOSE_POPUP_CTA_CLICK_LOG_NAME, HOME_BUTTON_CLICK_SCHEMA_ID, HOME_BUTTON_CLICK_LOG_NAME, BOTTOM_SHEET_SCHEMA_ID, BOTTOM_SHEET_LOG_NAME, BOTTOM_SHEET_OPEN_SCHEMA_ID, BOTTOM_SHEET_OPEN_LOG_NAME, BOTTOM_SHEET_CLOSE_CLICK_SCHEMA_ID, BOTTOM_SHEET_CLOSE_CLICK_LOG_NAME, BOTTOM_SHEET_MENU_CLICK_SCHEMA_ID, BOTTOM_SHEET_MENU_CLICK_LOG_NAME, iconNameRegExp, iconURLRegExp, SHARE_SCHEME_REFERRER, APP_SHARE_MENU_INFO, APP_BRIDGE_METHOD_NAME, MIN_VERSION3, RNNavigationBar, bridge_entry_exports, AppsInToss, GameWebView, PartnerWebView, INVALID_AD_GROUP_ID_ERROR_MESSAGE, sessionId, ANDROID_FETCH_TOSS_AD_SUPPORTED_VERSION, IOS_FETCH_TOSS_AD_SUPPORTED_VERSION, UNSUPPORTED_ERROR_MESSAGE3, ENVIRONMENT3, OPERATIONAL_ENVIRONMENT, OS, APP_VER, ALPHA_EVENT_TRACKER_HTTP_ENDPOINT, LIVE_EVENT_TRACKER_HTTP_ENDPOINT, INTEGRATED_AD_SDK_VERSION, ANDROID_INTEGRATED_AD_SUPPORTED_VERSION, IOS_INTEGRATED_AD_SUPPORTED_VERSION, UNSUPPORTED_ERROR_MESSAGE22, INTG_AD_ADM_FALLBACK_RID_MAP, loadFullScreenAd, loadFullScreenAdForWeb, globalEventListenerMap, INITIAL_STATE, FontA11yCategory, androidFontScaleMap, iosScaleToAndroidScale, extractDateFromUUIDv7, getGroupId2, getReferrer22, trackScreen, operationalEnvironment, TYPES, WEBVIEW_TYPES, ERROR_CODES, _obj6, ERROR_MESSAGES, API_RESULT_ERROR_MAP, AD_STATUS_ERROR_MAP, GlobalEventDeduplicator, globalEventDeduplicator, styles3, styles22, styles32, Analytics2;
47866
47896
  var init_dist8 = __esm({
47867
47897
  "../../../.yarn/__virtual__/@apps-in-toss-framework-virtual-afbad361af/1/packages/apps-in-toss/framework/dist/index.js"() {
47868
47898
  "use strict";
@@ -48700,6 +48730,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
48700
48730
  ]
48701
48731
  });
48702
48732
  });
48733
+ INVALID_AD_GROUP_ID_ERROR_MESSAGE = "\uC798\uBABB\uB41C \uC694\uCCAD\uC774\uC5D0\uC694. \uD544\uC694\uD55C \uAC12\uC774 \uBE44\uC5B4 \uC788\uC5B4\uC694.";
48703
48734
  sessionId = generateSessionId();
48704
48735
  ANDROID_FETCH_TOSS_AD_SUPPORTED_VERSION = "5.241.0";
48705
48736
  IOS_FETCH_TOSS_AD_SUPPORTED_VERSION = "5.241.0";
@@ -48720,8 +48751,8 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
48720
48751
  ALPHA_EVENT_TRACKER_HTTP_ENDPOINT = "https://alpha-trillion.toss.im/trk/sdk-mediation/event";
48721
48752
  LIVE_EVENT_TRACKER_HTTP_ENDPOINT = "https://trillion.toss.im/trk/sdk-mediation/event";
48722
48753
  INTEGRATED_AD_SDK_VERSION = "0.0.0";
48723
- ANDROID_INTEGRATED_AD_SUPPORTED_VERSION = "5.244.1";
48724
- IOS_INTEGRATED_AD_SUPPORTED_VERSION = "5.244.1";
48754
+ ANDROID_INTEGRATED_AD_SUPPORTED_VERSION = "5.247.0";
48755
+ IOS_INTEGRATED_AD_SUPPORTED_VERSION = "5.247.0";
48725
48756
  UNSUPPORTED_ERROR_MESSAGE22 = "This feature is not supported in the current environment";
48726
48757
  INTG_AD_ADM_FALLBACK_RID_MAP = {};
48727
48758
  loadFullScreenAd = generateLoadFullScreenAd("107");