@apps-in-toss/web-framework 1.11.1 → 1.12.0

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/cli/index.js CHANGED
@@ -52274,7 +52274,7 @@ var require_package = __commonJS({
52274
52274
  module.exports = {
52275
52275
  name: "@apps-in-toss/web-framework",
52276
52276
  type: "module",
52277
- version: "1.11.1",
52277
+ version: "1.12.0",
52278
52278
  description: "Web Framework for Apps In Toss",
52279
52279
  scripts: {
52280
52280
  typecheck: "tsc --noEmit",
@@ -156218,6 +156218,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
156218
156218
  showFullScreenAd: _showFullScreenAd,
156219
156219
  fetchTossAd: fetchTossAd,
156220
156220
  iapCreateOneTimePurchaseOrder: import_native_modules24.IAP.createOneTimePurchaseOrder,
156221
+ requestSubscriptionPurchase: import_native_modules24.IAP.createSubscriptionPurchaseOrder,
156221
156222
  requestOneTimePurchase: import_native_modules24.requestOneTimePurchase
156222
156223
  }),
156223
156224
  constantHandlerMap: Object.assign({}, appsInTossConstantBridges, {
@@ -159249,7 +159250,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159249
159250
  });
159250
159251
  return _getTossShareLinkV.apply(this, arguments);
159251
159252
  }
159252
- var import_es_toolkit2 = _$$_REQUIRE(_dependencyMap[11], "es-toolkit");
159253
+ var noop2 = function noop2() {};
159253
159254
  function _iapCreateOneTimePurchaseOrder(params) {
159254
159255
  var _params$sku;
159255
159256
  var sku = (_params$sku = params.sku) != null ? _params$sku : params.productId;
@@ -159297,7 +159298,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159297
159298
  ios: "5.219.0"
159298
159299
  });
159299
159300
  if (!isIAPSupported) {
159300
- return import_es_toolkit2.noop;
159301
+ return noop2;
159301
159302
  }
159302
159303
  var isProcessProductGrantSupported = _isMinVersionSupported({
159303
159304
  android: "5.231.1",
@@ -159325,7 +159326,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159325
159326
  }).catch(function (error) {
159326
159327
  _onError2(error);
159327
159328
  });
159328
- return import_es_toolkit2.noop;
159329
+ return noop2;
159329
159330
  };
159330
159331
  return v1();
159331
159332
  }
@@ -159423,14 +159424,58 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159423
159424
  });
159424
159425
  return _completeProductGrant.apply(this, arguments);
159425
159426
  }
159427
+ function createSubscriptionPurchaseOrder(params) {
159428
+ var isSupported = _isMinVersionSupported({
159429
+ android: "5.248.0",
159430
+ ios: "5.249.0"
159431
+ });
159432
+ if (!isSupported) {
159433
+ return noop2;
159434
+ }
159435
+ var options = params.options,
159436
+ onEvent = params.onEvent,
159437
+ _onError3 = params.onError;
159438
+ var sku = options.sku,
159439
+ offerId = options.offerId,
159440
+ processProductGrant2 = options.processProductGrant;
159441
+ var unregisterCallbacks = _INTERNAL__appBridgeHandler.invokeAppBridgeMethod("requestSubscriptionPurchase", {
159442
+ sku: sku,
159443
+ offerId: offerId != null ? offerId : null
159444
+ }, {
159445
+ onPurchased: function () {
159446
+ var _onPurchased2 = _asyncToGenerator(function* (purchasedParams) {
159447
+ var isProductGranted = yield processProductGrant2(purchasedParams);
159448
+ yield _AppsInTossModule.processProductGrant({
159449
+ orderId: purchasedParams.orderId,
159450
+ isProductGranted: isProductGranted
159451
+ });
159452
+ });
159453
+ function onPurchased(_x14) {
159454
+ return _onPurchased2.apply(this, arguments);
159455
+ }
159456
+ return onPurchased;
159457
+ }(),
159458
+ onSuccess: function onSuccess(result) {
159459
+ onEvent({
159460
+ type: "success",
159461
+ data: result
159462
+ });
159463
+ },
159464
+ onError: function onError(error) {
159465
+ _onError3(error);
159466
+ }
159467
+ });
159468
+ return unregisterCallbacks;
159469
+ }
159426
159470
  var _IAP = {
159427
159471
  createOneTimePurchaseOrder: createOneTimePurchaseOrder,
159472
+ createSubscriptionPurchaseOrder: createSubscriptionPurchaseOrder,
159428
159473
  getProductItemList: getProductItemList,
159429
159474
  getPendingOrders: getPendingOrders,
159430
159475
  getCompletedOrRefundedOrders: getCompletedOrRefundedOrders,
159431
159476
  completeProductGrant: completeProductGrant
159432
159477
  };
159433
- function _saveBase64Data(_x14) {
159478
+ function _saveBase64Data(_x15) {
159434
159479
  return _saveBase64Data2.apply(this, arguments);
159435
159480
  }
159436
159481
  function _saveBase64Data2() {
@@ -159447,7 +159492,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159447
159492
  });
159448
159493
  return _saveBase64Data2.apply(this, arguments);
159449
159494
  }
159450
- function _setDeviceOrientation(_x15) {
159495
+ function _setDeviceOrientation(_x16) {
159451
159496
  return _setDeviceOrientation2.apply(this, arguments);
159452
159497
  }
159453
159498
  function _setDeviceOrientation2() {
@@ -159542,7 +159587,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159542
159587
  });
159543
159588
  return _getGameCenterGameProfile2.apply(this, arguments);
159544
159589
  }
159545
- function _submitGameCenterLeaderBoardScore(_x16) {
159590
+ function _submitGameCenterLeaderBoardScore(_x17) {
159546
159591
  return _submitGameCenterLeaderBoardScore2.apply(this, arguments);
159547
159592
  }
159548
159593
  function _submitGameCenterLeaderBoardScore2() {
@@ -159582,7 +159627,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159582
159627
  function isGrantPromotionRewardForGameError(error) {
159583
159628
  return typeof error === "object" && error !== null && "code" in error && typeof error.code === "string" && "message" in error && typeof error.message === "string";
159584
159629
  }
159585
- function _grantPromotionRewardForGame(_x17) {
159630
+ function _grantPromotionRewardForGame(_x18) {
159586
159631
  return _grantPromotionRewardForGame2.apply(this, arguments);
159587
159632
  }
159588
159633
  function _grantPromotionRewardForGame2() {
@@ -159664,7 +159709,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159664
159709
  ios: "5.236.0"
159665
159710
  }
159666
159711
  };
159667
- function _appsInTossSignTossCert(_x18) {
159712
+ function _appsInTossSignTossCert(_x19) {
159668
159713
  return _appsInTossSignTossCert2.apply(this, arguments);
159669
159714
  }
159670
159715
  function _appsInTossSignTossCert2() {
@@ -159743,7 +159788,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159743
159788
  function _generateHapticFeedback(options) {
159744
159789
  return _BedrockModule.generateHapticFeedback(options);
159745
159790
  }
159746
- function _share(_x19) {
159791
+ function _share(_x20) {
159747
159792
  return _share2.apply(this, arguments);
159748
159793
  }
159749
159794
  function _share2() {
@@ -159755,7 +159800,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159755
159800
  function _setSecureScreen(options) {
159756
159801
  return _BedrockModule.setSecureScreen(options);
159757
159802
  }
159758
- function _setScreenAwakeMode(_x20) {
159803
+ function _setScreenAwakeMode(_x21) {
159759
159804
  return _setScreenAwakeMode2.apply(this, arguments);
159760
159805
  }
159761
159806
  function _setScreenAwakeMode2() {
@@ -159767,7 +159812,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
159767
159812
  function _getNetworkStatus() {
159768
159813
  return _BedrockModule.getNetworkStatus();
159769
159814
  }
159770
- function _setIosSwipeGestureEnabled(_x21) {
159815
+ function _setIosSwipeGestureEnabled(_x22) {
159771
159816
  return _setIosSwipeGestureEnabled2.apply(this, arguments);
159772
159817
  }
159773
159818
  function _setIosSwipeGestureEnabled2() {
@@ -235694,10 +235739,10 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
235694
235739
  exports.processProductGrant = processProductGrant;
235695
235740
  exports.requestOneTimePurchase = requestOneTimePurchase;
235696
235741
  var _asyncToGenerator2 = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "@babel/runtime/helpers/asyncToGenerator"));
235697
- var _esToolkit = _$$_REQUIRE(_dependencyMap[2], "es-toolkit");
235698
- var _AppsInTossModule = _$$_REQUIRE(_dependencyMap[3], "./AppsInTossModule");
235699
- var _isMinVersionSupported = _$$_REQUIRE(_dependencyMap[4], "./isMinVersionSupported");
235700
- var _appBridge = _$$_REQUIRE(_dependencyMap[5], "../native-event-emitter/internal/appBridge");
235742
+ var _AppsInTossModule = _$$_REQUIRE(_dependencyMap[2], "./AppsInTossModule");
235743
+ var _isMinVersionSupported = _$$_REQUIRE(_dependencyMap[3], "./isMinVersionSupported");
235744
+ var _appBridge = _$$_REQUIRE(_dependencyMap[4], "../native-event-emitter/internal/appBridge");
235745
+ var noop = function noop() {};
235701
235746
  function iapCreateOneTimePurchaseOrder(params) {
235702
235747
  var _params$sku;
235703
235748
  var sku = (_params$sku = params.sku) != null ? _params$sku : params.productId;
@@ -235745,7 +235790,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
235745
235790
  ios: '5.219.0'
235746
235791
  });
235747
235792
  if (!isIAPSupported) {
235748
- return _esToolkit.noop;
235793
+ return noop;
235749
235794
  }
235750
235795
  var isProcessProductGrantSupported = (0, _isMinVersionSupported.isMinVersionSupported)({
235751
235796
  android: '5.231.1',
@@ -235773,7 +235818,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
235773
235818
  }).catch(function (error) {
235774
235819
  _onError2(error);
235775
235820
  });
235776
- return _esToolkit.noop;
235821
+ return noop;
235777
235822
  };
235778
235823
  return v1();
235779
235824
  }
@@ -235871,14 +235916,58 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
235871
235916
  });
235872
235917
  return _completeProductGrant.apply(this, arguments);
235873
235918
  }
235919
+ function createSubscriptionPurchaseOrder(params) {
235920
+ var isSupported = (0, _isMinVersionSupported.isMinVersionSupported)({
235921
+ android: '5.248.0',
235922
+ ios: '5.249.0'
235923
+ });
235924
+ if (!isSupported) {
235925
+ return noop;
235926
+ }
235927
+ var options = params.options,
235928
+ onEvent = params.onEvent,
235929
+ _onError3 = params.onError;
235930
+ var sku = options.sku,
235931
+ offerId = options.offerId,
235932
+ processProductGrant = options.processProductGrant;
235933
+ var unregisterCallbacks = _appBridge.INTERNAL__appBridgeHandler.invokeAppBridgeMethod('requestSubscriptionPurchase', {
235934
+ sku: sku,
235935
+ offerId: offerId != null ? offerId : null
235936
+ }, {
235937
+ onPurchased: function () {
235938
+ var _onPurchased2 = (0, _asyncToGenerator2.default)(function* (purchasedParams) {
235939
+ var isProductGranted = yield processProductGrant(purchasedParams);
235940
+ yield _AppsInTossModule.AppsInTossModule.processProductGrant({
235941
+ orderId: purchasedParams.orderId,
235942
+ isProductGranted: isProductGranted
235943
+ });
235944
+ });
235945
+ function onPurchased(_x4) {
235946
+ return _onPurchased2.apply(this, arguments);
235947
+ }
235948
+ return onPurchased;
235949
+ }(),
235950
+ onSuccess: function onSuccess(result) {
235951
+ onEvent({
235952
+ type: 'success',
235953
+ data: result
235954
+ });
235955
+ },
235956
+ onError: function onError(error) {
235957
+ _onError3(error);
235958
+ }
235959
+ });
235960
+ return unregisterCallbacks;
235961
+ }
235874
235962
  var IAP = exports.IAP = {
235875
235963
  createOneTimePurchaseOrder: createOneTimePurchaseOrder,
235964
+ createSubscriptionPurchaseOrder: createSubscriptionPurchaseOrder,
235876
235965
  getProductItemList: getProductItemList,
235877
235966
  getPendingOrders: getPendingOrders,
235878
235967
  getCompletedOrRefundedOrders: getCompletedOrRefundedOrders,
235879
235968
  completeProductGrant: completeProductGrant
235880
235969
  };
235881
- },2626,[1,16,1261,2580,2592,2620],"../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/AppsInTossModule/native-modules/iap.ts");
235970
+ },2626,[1,16,2580,2592,2620],"../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/AppsInTossModule/native-modules/iap.ts");
235882
235971
  __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
235883
235972
  Object.defineProperty(exports, "__esModule", {
235884
235973
  value: true
@@ -236011,7 +236100,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
236011
236100
  }
236012
236101
  \`;document.head.appendChild(e);})();
236013
236102
  `,
236014
- m = "\"use strict\";(()=>{var ie=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 ie,O=()=>Math.random().toString(36).substring(2,15),k=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(h.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(h.on(`${e}/reject/${r}`,i=>{o(),a(k(i))})),h.postMessage({type:\"method\",functionName:e,eventId:r,args:t})})}}function x(e){return t=>{let r=O(),n=[h.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),h.on(`${e}/onError/${r}`,o=>{t.onError(k(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 l(e){return()=>h.getConstant(e)}var ce=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=ce());var qe=d(\"closeView\"),je=d(\"generateHapticFeedback\"),Ke=d(\"share\"),Je=d(\"setSecureScreen\"),Xe=d(\"setScreenAwakeMode\"),Ye=d(\"getNetworkStatus\"),Ze=d(\"setIosSwipeGestureEnabled\"),Qe=d(\"openURL\"),et=d(\"openPermissionDialog\"),tt=d(\"getPermission\"),rt=d(\"requestPermission\"),nt=l(\"setClipboardText\"),ot=l(\"getClipboardText\"),st=l(\"fetchContacts\"),at=l(\"fetchAlbumPhotos\"),it=l(\"getCurrentLocation\"),ct=l(\"openCamera\"),dt=d(\"appLogin\"),ut=d(\"eventLog\"),pt=d(\"getTossShareLink\"),mt=d(\"setDeviceOrientation\"),lt=d(\"checkoutPayment\"),gt=d(\"saveBase64Data\"),ft=d(\"appsInTossSignTossCert\"),vt=d(\"getGameCenterGameProfile\"),ht=d(\"openGameCenterLeaderboard\"),wt=d(\"submitGameCenterLeaderBoardScore\"),Et=d(\"getUserKeyForGame\"),bt=d(\"getIsTossLoginIntegratedService\"),At=d(\"grantPromotionRewardForGame\"),St=d(\"getServerTime\"),_t=l(\"getLocale\"),Ct=l(\"getSchemeUri\"),Tt=l(\"getPlatformOS\"),yt=l(\"getOperationalEnvironment\"),It=l(\"getTossAppVersion\"),Lt=l(\"getDeviceId\"),xt=x(\"contactsViral\"),Pt=x(\"startUpdateLocation\"),Rt=x(\"onVisibilityChangedByTransparentServiceWeb\");var _=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},B=class extends _{constructor(){super({methodName:\"fetchAlbumPhotos\",message:\"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},G=class extends _{constructor(){super({methodName:\"fetchContacts\",message:\"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},V=class extends _{constructor(){super({methodName:\"openCamera\",message:\"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}};var F=class extends _{constructor(){super({methodName:\"getCurrentLocation\",message:\"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},H=F,U=class extends _{constructor(){super({methodName:\"getClipboardText\",message:\"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},z=class extends _{constructor(){super({methodName:\"setClipboardText\",message:\"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}};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,Q=()=>Math.random().toString(36).substring(2,15),ee=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(w.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(w.on(`${e}/reject/${r}`,i=>{o(),a(ee(i))})),w.postMessage({type:\"method\",functionName:e,eventId:r,args:t})})}}function A(e){return t=>{let r=Q(),n=[w.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),w.on(`${e}/onError/${r}`,o=>{t.onError(ee(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 u(e){return()=>w.getConstant(e)}var Ht={getItem:c(\"getStorageItem\"),setItem:c(\"setStorageItem\"),removeItem:c(\"removeStorageItem\"),clearItems:c(\"clearItems\")},ue=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,$=e=>[\"*\",\"x\",\"X\"].includes(e),W=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},pe=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],me=(e,t)=>{if($(e)||$(t))return 0;let[r,n]=pe(W(e),W(t));return r>n?1:r<n?-1:0},q=e=>{if(typeof e!=\"string\")throw new TypeError(\"Invalid argument: expected a string\");let t=e.match(ue);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=me(o,s);if(a!==0)return a}return 0},le=(e,t)=>{let r=q(e),n=q(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 K(e){if(u(\"getOperationalEnvironment\")()===\"sandbox\")return!0;let r=u(\"getTossAppVersion\")(),o=u(\"getPlatformOS\")()===\"ios\"?e.ios:e.android;return o===void 0?!1:o===\"always\"?!0:o===\"never\"?!1:le(r,o)>=0}function ge(e){return c(\"processProductGrant\")(e)}var Ut={createOneTimePurchaseOrder:e=>{let t=K({android:\"5.219.0\",ios:\"5.219.0\"}),r=()=>{};if(!t)return r;let n=K({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 m=>{if(m.type===\"purchased\"){let g=await o.processProductGrant({orderId:m.data.orderId});await ge({orderId:m.data.orderId,isProductGranted:g}).catch(a)}else s(m)},onError:m=>{a(m)}}):(c(\"iapCreateOneTimePurchaseOrder\")({productId:i}).then(g=>{Promise.resolve(o.processProductGrant({orderId:g.orderId})).then(()=>{s({type:\"success\",data:g})}).catch(v=>{a(v)})}).catch(g=>{a(g)}),r)},getProductItemList:c(\"iapGetProductItemList\"),getPendingOrders:c(\"getPendingOrders\"),getCompletedOrRefundedOrders:c(\"getCompletedOrRefundedOrders\"),completeProductGrant:c(\"completeProductGrant\")},zt=u(\"getSafeAreaInsets\");var $t=u(\"getSafeAreaInsets\");var Wt={loadAppsInTossAdMob:Object.assign(A(\"loadAppsInTossAdMob\"),{isSupported:u(\"loadAppsInTossAdMob_isSupported\")}),showAppsInTossAdMob:Object.assign(A(\"showAppsInTossAdMob\"),{isSupported:u(\"showAppsInTossAdMob_isSupported\")}),isAppsInTossAdMobLoaded:Object.assign(c(\"isAppsInTossAdMobLoaded\"),{isSupported:u(\"isAppsInTossAdMobLoaded_isSupported\")})};var qt={getDeploymentId:u(\"getDeploymentId\")},jt=u(\"deploymentId\"),Kt=u(\"brandDisplayName\"),Jt=u(\"brandIcon\"),Xt=u(\"brandPrimaryColor\");var Yt={addAccessoryButton:c(\"addAccessoryButton\"),removeAccessoryButton:c(\"removeAccessoryButton\")},fe=c(\"requestPermission\"),ve=c(\"getPermission\"),he=c(\"openPermissionDialog\");function C({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await fe(e)===\"denied\")throw new r;return t(...o)};return n.getPermission=()=>ve(e),n.openPermissionDialog=()=>he(e),n}var Qt=C({handler:e=>c(\"fetchAlbumPhotos\")(e),permission:{name:\"photos\",access:\"read\"},error:B}),tr=C({handler:e=>c(\"fetchContacts\")(e),permission:{name:\"contacts\",access:\"read\"},error:G}),nr=C({handler:e=>c(\"getCurrentLocation\")(e),permission:{name:\"geolocation\",access:\"access\"},error:F}),sr=C({handler:e=>c(\"openCamera\")(e),permission:{name:\"camera\",access:\"access\"},error:V}),ir=C({handler:e=>c(\"setClipboardText\")(e),permission:{name:\"clipboard\",access:\"write\"},error:z}),dr=C({handler:()=>c(\"getClipboardText\")(),permission:{name:\"clipboard\",access:\"read\"},error:U}),we=c(\"getPermission\"),Ee=c(\"openPermissionDialog\"),te=e=>A(\"updateLocationEvent\")({...e,onError:t=>{let r=new H;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});te.getPermission=()=>we({name:\"geolocation\",access:\"access\"});te.openPermissionDialog=()=>Ee({name:\"geolocation\",access:\"access\"});var pr=Object.assign(A(\"loadFullScreenAd\"),{isSupported:u(\"loadFullScreenAd_isSupported\")}),mr=Object.assign(A(\"showFullScreenAd\"),{isSupported:u(\"showFullScreenAd_isSupported\")}),be=c(\"openURL\");function Ae(e){let t=Se(e);return be(t)}function Se(e){return[\"http://\",\"https://\"].some(r=>e.startsWith(r))?_e(e):e}function _e(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var J=\"https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js\",X=15e3,P=null;function S(){if(!(typeof window>\"u\"))return window.TossAdsSpaceKit}function Ce(){if(typeof window>\"u\"||typeof document>\"u\")return Promise.reject(new Error(\"Ads SDK can only be loaded in a browser environment.\"));let e=S();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(p),P=null},a=()=>{let m=S();if(m){s(),r(m);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 ${J}.`))},p=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${X}ms.`))},X);o.addEventListener(\"load\",a),o.addEventListener(\"error\",i),o.async=!0,o.src=J,document.head.appendChild(o)});return P=t,t}var b=Object.assign(A(\"fetchTossAd\"),{isSupported:u(\"fetchTossAd_isSupported\")}),Te=c(\"tossAdEventLog\"),ye=new Set([\"1\",\"2\"]);function Ie(e){return new Promise((t,r)=>{if(!b.isSupported()){r(new Error(\"fetchTossAd is not supported in this environment.\"));return}return b({options:e,onEvent:t,onError:r})})}function Y(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 Le(e){return xe(e)?e.resultType!==\"SUCCESS\"?e:e.success?{...e,success:Y(e.success)}:{resultType:\"FAIL\",error:{reason:\"fetchTossAd returned SUCCESS without payload\"}}:Pe(e)?{resultType:\"SUCCESS\",success:Y(e)}:{resultType:\"FAIL\",error:{reason:\"Invalid response from fetchTossAd\"}}}function xe(e){return!!(e&&typeof e==\"object\"&&\"resultType\"in e)}function Pe(e){return!!(e&&typeof e==\"object\"&&\"ads\"in e)}function Re(){return async(e,t)=>{try{let r=await Ie({adGroupId:t.spaceUnitId,sdkId:\"108\",availableStyleIds:[\"1\",\"2\"]});return Le(r)}catch(r){return{resultType:\"FAIL\",error:{reason:r instanceof Error?r.message:\"Unknown fetchTossAd error\"}}}}}var I=null;function De(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(S()?.isInitialized()){r();return}if(I!=null){I.then(r).catch(n);return}let s=Ce().then(a=>{if(a.isInitialized())return;let p={environment:\"live\",customAdFetcher:Re(),opener:Ae};a.init(p)});I=s,s.then(r).catch(n).finally(()=>{I===s&&(I=null)})}function Ne(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=S();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 p={spaceId:s,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:re(e,r.callbacks)};a.banner.createSlot(i,p)}catch(s){o(s)}}var Me=\"16px 20px\",Fe=\"20px\",Oe=\"auto\",ke=\"blackAndWhite\",Be=\"expanded\",f=\"toss-ads-attach\",Z=\"toss-ads-attach-style\";function Ge(e){let t=e.ownerDocument;if(!t||t.getElementById(Z))return;let r=t.createElement(\"style\");r.id=Z,r.textContent=`\n .${f} { background: #ffffff; }\n .${f}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${f} { background: #17171c; }\n .${f}.toss-ads-tone-grey { background: #101013; }\n }\n .${f}.toss-ads-theme-light { background: #ffffff; }\n .${f}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${f}.toss-ads-theme-dark { background: #17171c; }\n .${f}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function Ve(e,t,r={}){let{callbacks:n,theme:o=Oe,tone:s=ke,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 p=document.createElement(\"div\");p.classList.add(f),s===\"grey\"&&p.classList.add(\"toss-ads-tone-grey\"),o===\"light\"?p.classList.add(\"toss-ads-theme-light\"):o===\"dark\"&&p.classList.add(\"toss-ads-theme-dark\"),a===\"card\"&&(p.style.borderRadius=\"16px\",p.style.overflow=\"hidden\"),i.appendChild(p);let m=!1,g=null,v=E=>{let y=E instanceof Error?E:new Error(String(E));n?.onAdFailedToRender?.({slotId:\"\",adGroupId:e,adMetadata:{},error:{code:0,message:y.message}})},oe=re(e,n);try{let E=e,y=S();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 M=typeof t==\"string\"?document.querySelector(t):t;if(!M)throw new Error(`[toss-ad] Failed to find target element: ${t}`);Ge(M),M.appendChild(i),m=!0;let se={spaceId:E,autoLoad:!0,theme:o===\"auto\"?void 0:o,renderPadding:ae=>ae===\"1\"?Me:Fe,callbacks:oe};g=y.banner.createSlot(p,se)}catch(E){m&&i.parentNode&&i.parentNode.removeChild(i),v(E)}return{destroy(){g?.destroy(),m&&i.parentNode&&i.parentNode.removeChild(i)}}}function He(e){let t=S();t?.banner&&t.banner.destroy(e)}function Ue(){let e=S();e?.banner&&e.banner.destroyAll()}function re(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 lr={initialize:Object.assign(De,{isSupported:b.isSupported}),attach:Object.assign(Ne,{isSupported:b.isSupported}),attachBanner:Object.assign(Ve,{isSupported:b.isSupported}),destroy:Object.assign(He,{isSupported:b.isSupported}),destroyAll:Object.assign(Ue,{isSupported:b.isSupported})},gr=Object.assign(c(\"getServerTime\"),{isSupported:u(\"getServerTime_isSupported\")});var R=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){typeof this.callbacks[t]>\"u\"&&(this.callbacks[t]=[]),this.callbacks[t].push(r)}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:u(\"getAppName\")(),deploymentId:u(\"getDeploymentId\")(),webViewType:u(\"getWebViewType\")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new D,debugLogger:new R};var L=/\\.(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(!L.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let m=i.headers.get(\"ETag\"),g=i.headers.get(\"Last-Modified\");m&&s.headers.set(\"If-None-Match\",m),g&&s.headers.set(\"If-Modified-Since\",g);let v=await r.call(n,s);return v.status===304?(i.__revalidateResponse=v,i):(a.put(s,v.clone()),v)}let p=await r.call(n,s);return a.put(s,p.clone()),p})})();N(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit(\"fetchRequest\",{request:n});let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit(\"fetchResponse\",{request:n,response:s,requestAt:o}),s});var ne=window.__appsInToss.debugLogger;ne.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}:{};ne.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;function e(t){let r=t.getContext(\"webgl2\")??t.getContext(\"webgl\");if(r==null)return;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})}window.addEventListener(\"load\",()=>{let t=document.querySelector(\"#unity-canvas\");if(t!=null){e(t);return}new MutationObserver((n,o)=>{for(let s of n)s.type===\"childList\"&&s.addedNodes.forEach(a=>{if(a instanceof HTMLCanvasElement&&a.getAttribute(\"id\")===\"unity-canvas\"&&(e(a),o.disconnect()),a instanceof HTMLElement){let i=a.querySelector(\"#unity-canvas\");i!=null&&(e(i),o.disconnect())}})}).observe(document.body,{childList:!0,subtree:!0})})})();(()=>{if(window.__appsInToss.webViewType!==\"game\")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on(\"fetchRequest\",({request:r})=>{L.test(r.url)&&e.log(\"game_resource_download_start\",{gameResourceRequestURL:r.url})}),t.on(\"fetchResponse\",async({request:r,requestAt:n,response:o})=>{if(!L.test(r.url))return;let s=T((await o.clone().blob()).size/1024,2),a=Date.now();e.log(\"game_resource_download_end\",{gameResourceRequestURL:r.url,gameResourceRequestAtMs:n,gameResourceResponseAtMs:a,gameResourceResponseSize:s,gameResourceResponseStatus:o.__revalidateResponse?.status??o.status,gameResourceDownloadDurationMs:a-n})})})();})();\n";
236103
+ m = "\"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`)}},h=new de,B=()=>Math.random().toString(36).substring(2,15),G=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=B(),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(G(i))})),h.postMessage({type:\"method\",functionName:e,eventId:r,args:t})})}}function R(e){return t=>{let r=B(),n=[h.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),h.on(`${e}/onError/${r}`,o=>{t.onError(G(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 g(e){return()=>h.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\"),ht=d(\"checkoutPayment\"),wt=d(\"saveBase64Data\"),Et=d(\"appsInTossSignTossCert\"),bt=d(\"getGameCenterGameProfile\"),At=d(\"openGameCenterLeaderboard\"),St=d(\"submitGameCenterLeaderBoardScore\"),_t=d(\"getUserKeyForGame\"),Ct=d(\"getIsTossLoginIntegratedService\"),Tt=d(\"grantPromotionRewardForGame\"),It=d(\"getServerTime\"),yt=g(\"getLocale\"),Lt=g(\"getSchemeUri\"),Rt=g(\"getPlatformOS\"),xt=g(\"getOperationalEnvironment\"),Pt=g(\"getTossAppVersion\"),Dt=g(\"getDeviceId\"),Nt=R(\"contactsViral\"),Mt=R(\"startUpdateLocation\"),Ft=R(\"onVisibilityChangedByTransparentServiceWeb\");var _=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},V=class extends _{constructor(){super({methodName:\"fetchAlbumPhotos\",message:\"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},H=class extends _{constructor(){super({methodName:\"fetchContacts\",message:\"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},U=class extends _{constructor(){super({methodName:\"openCamera\",message:\"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}};var k=class extends _{constructor(){super({methodName:\"getCurrentLocation\",message:\"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},q=k,z=class extends _{constructor(){super({methodName:\"getClipboardText\",message:\"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694.\"})}},$=class extends _{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`)}},w=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(w.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(w.on(`${e}/reject/${r}`,i=>{o(),a(re(i))})),w.postMessage({type:\"method\",functionName:e,eventId:r,args:t})})}}function E(e){return t=>{let r=te(),n=[w.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),w.on(`${e}/onError/${r}`,o=>{t.onError(re(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 p(e){return()=>w.getConstant(e)}var $t={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,W=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(W(e)||W(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 O(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 Wt={createOneTimePurchaseOrder:e=>{let t=O({android:\"5.219.0\",ios:\"5.219.0\"}),r=()=>{};if(!t)return r;let n=O({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=O({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\")},jt=p(\"getSafeAreaInsets\");var Kt=p(\"getSafeAreaInsets\");var Jt={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 Xt={getDeploymentId:p(\"getDeploymentId\")},Yt=p(\"deploymentId\"),Zt=p(\"brandDisplayName\"),Qt=p(\"brandIcon\"),er=p(\"brandPrimaryColor\");var tr={addAccessoryButton:c(\"addAccessoryButton\"),removeAccessoryButton:c(\"removeAccessoryButton\")},ve=c(\"requestPermission\"),he=c(\"getPermission\"),we=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=()=>he(e),n.openPermissionDialog=()=>we(e),n}var nr=C({handler:e=>c(\"fetchAlbumPhotos\")(e),permission:{name:\"photos\",access:\"read\"},error:V}),sr=C({handler:e=>c(\"fetchContacts\")(e),permission:{name:\"contacts\",access:\"read\"},error:H}),ir=C({handler:e=>c(\"getCurrentLocation\")(e),permission:{name:\"geolocation\",access:\"access\"},error:k}),dr=C({handler:e=>c(\"openCamera\")(e),permission:{name:\"camera\",access:\"access\"},error:U}),pr=C({handler:e=>c(\"setClipboardText\")(e),permission:{name:\"clipboard\",access:\"write\"},error:$}),lr=C({handler:()=>c(\"getClipboardText\")(),permission:{name:\"clipboard\",access:\"read\"},error:z}),Ee=c(\"getPermission\"),be=c(\"openPermissionDialog\"),ne=e=>E(\"updateLocationEvent\")({...e,onError:t=>{let r=new q;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 fr=Object.assign(E(\"loadFullScreenAd\"),{isSupported:p(\"loadFullScreenAd_isSupported\")}),vr=Object.assign(E(\"showFullScreenAd\"),{isSupported:p(\"showFullScreenAd_isSupported\")}),Ae=c(\"openURL\");function Se(e){let t=_e(e);return Ae(t)}function _e(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,x=null;function S(){if(!(typeof window>\"u\"))return window.TossAdsSpaceKit}function Te(){if(typeof window>\"u\"||typeof document>\"u\")return Promise.reject(new Error(\"Ads SDK can only be loaded in a browser environment.\"));let e=S();if(e)return Promise.resolve(e);if(x)return x;let t=new Promise((r,n)=>{let o=document.createElement(\"script\"),s=()=>{o.removeEventListener(\"load\",a),o.removeEventListener(\"error\",i),window.clearTimeout(u),x=null},a=()=>{let l=S();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 x=t,t}var A=Object.assign(E(\"fetchTossAd\"),{isSupported:p(\"fetchTossAd_isSupported\")}),Ie=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 xe(e)?e.resultType!==\"SUCCESS\"?e:e.success?{...e,success:Q(e.success)}:{resultType:\"FAIL\",error:{reason:\"fetchTossAd returned SUCCESS without payload\"}}:Pe(e)?{resultType:\"SUCCESS\",success:Q(e)}:{resultType:\"FAIL\",error:{reason:\"Invalid response from fetchTossAd\"}}}function xe(e){return!!(e&&typeof e==\"object\"&&\"resultType\"in e)}function Pe(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(S()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Te().then(a=>{if(a.isInitialized())return;let u={environment:\"live\",customAdFetcher:De(),opener:Se};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=S();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\",Oe=\"auto\",Be=\"blackAndWhite\",Ge=\"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=Oe,tone:s=Be,variant:a=Ge}=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=S();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 Ue(e){let t=S();t?.banner&&t.banner.destroy(e)}function qe(){let e=S();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=>{Ie({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 hr={initialize:Object.assign(Ne,{isSupported:A.isSupported}),attach:Object.assign(Me,{isSupported:A.isSupported}),attachBanner:Object.assign(He,{isSupported:A.isSupported}),destroy:Object.assign(Ue,{isSupported:A.isSupported}),destroyAll:Object.assign(qe,{isSupported:A.isSupported})},wr=Object.assign(c(\"getServerTime\"),{isSupported:p(\"getServerTime_isSupported\")});var P=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){typeof this.callbacks[t]>\"u\"&&(this.callbacks[t]=[]),this.callbacks[t].push(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 P};var T=/\\.(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(!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\"),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}});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 I(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:I(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:I(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:I(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;function e(t){let r=t.getContext(\"webgl2\")??t.getContext(\"webgl\");if(r==null)return;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})}window.addEventListener(\"load\",()=>{let t=document.querySelector(\"#unity-canvas\");if(t!=null){e(t);return}new MutationObserver((n,o)=>{for(let s of n)s.type===\"childList\"&&s.addedNodes.forEach(a=>{if(a instanceof HTMLCanvasElement&&a.getAttribute(\"id\")===\"unity-canvas\"&&(e(a),o.disconnect()),a instanceof HTMLElement){let i=a.querySelector(\"#unity-canvas\");i!=null&&(e(i),o.disconnect())}})}).observe(document.body,{childList:!0,subtree:!0})})})();(()=>{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(u=>I(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})=>{T.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var M=[];function ze(){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 $e(){if(M.length===0)return;let e=M;M=[];let t=We(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 We(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>ze(),1e3);setInterval(()=>$e(),3e5);})();\n";
236015
236104
  0 && (module.exports = {
236016
236105
  afterDocumentLoad: afterDocumentLoad,
236017
236106
  beforeDocumentLoad: beforeDocumentLoad